diff options
Diffstat (limited to 'src/ui/window.c')
-rw-r--r-- | src/ui/window.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/ui/window.c b/src/ui/window.c new file mode 100644 index 00000000..2a597127 --- /dev/null +++ b/src/ui/window.c @@ -0,0 +1,67 @@ +/* + * window.c + * + * Copyright (C) 2012, 2013 James Booth <boothj5@gmail.com> + * + * This file is part of Profanity. + * + * Profanity is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Profanity is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Profanity. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#include "config.h" + +#include <stdlib.h> +#include <string.h> + +#include <glib.h> + +#ifdef HAVE_NCURSESW_NCURSES_H +#include <ncursesw/ncurses.h> +#elif HAVE_NCURSES_H +#include <ncurses.h> +#endif + +#include "theme.h" +#include "window.h" + +#define CONS_WIN_TITLE "_cons" + +ProfWin* +window_create(const char * const title, int cols, win_type_t type) +{ + ProfWin *new_win = malloc(sizeof(struct prof_win_t)); + new_win->from = strdup(title); + new_win->win = newpad(PAD_SIZE, cols); + wbkgd(new_win->win, COLOUR_TEXT); + new_win->y_pos = 0; + new_win->paged = 0; + new_win->unread = 0; + new_win->history_shown = 0; + new_win->type = type; + scrollok(new_win->win, TRUE); + + return new_win; +} + +void +window_free(ProfWin* window) +{ + delwin(window->win); + free(window->from); + window->from = NULL; + window->win = NULL; + free(window); + window = NULL; +} |