blob: 6adb5263d67661440d9cdc272727b599f12d57ac [file] [log] [blame]
#ifndef WIDGET_H_INCLUDED
#define WIDGET_H_INCLUDED
#include <panel.h>
#define WIDGET_BORDER 0x1
#define WIDGET_SUBWINDOW 0x2
#define WIDGET_CURSOR_VISIBLE 0x4
#define SCREEN_CENTER -1
struct widget {
WINDOW *window;
WINDOW *subwindow; /* optional: contents without border */
PANEL *panel;
int cursor_visibility;
void (*handle_key)(int key);
void (*window_size_changed)(void);
void (*close)(void);
};
extern int screen_lines;
extern int screen_cols;
void widget_init(struct widget *widget,
int lines_, int cols, int y, int x,
chtype bkgd, unsigned int flags);
void widget_free(struct widget *widget);
struct widget *get_active_widget(void);
void window_size_changed(void);
#endif