43 lines
961 B
C
43 lines
961 B
C
#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
|