/* * widget.h * This file is part of LCDd, the lcdproc server. * * This file is released under the GNU General Public License. Refer to the * COPYING file distributed with this package. * * Copyright (c) 1999, William Ferrell, Scott Scriven * */ #ifndef WIDGET_H #define WIDGET_H #include "screen.h" typedef struct widget { char *id; int type; /* some sort of data here...*/ int x, y; /* Position*/ int wid, hgt; /* Size*/ int left, top, right, bottom; /* bounding rectangle*/ int length; /* size or direction*/ int speed; /* For scroller...*/ char *text; /* text or binary data*/ LinkedList *kids; /* Frames can contain more widgets...*/ } widget; /* These correspond to the index into the "types" array...*/ #define WID_NONE 0 #define WID_STRING 1 #define WID_HBAR 2 #define WID_VBAR 3 #define WID_ICON 4 #define WID_TITLE 5 #define WID_SCROLLER 6 #define WID_FRAME 7 #define WID_NUM 8 #define WID_MAX_DIR 4 extern char *types[]; widget *widget_create (); int widget_destroy (widget * w); widget *widget_find (screen * s, char *id); int widget_add (screen * s, char *id, char *type, char *in, int sock); int widget_remove (screen * s, char *id, int sock); #endif