54 lines
1.2 KiB
C
54 lines
1.2 KiB
C
/*
|
|
* 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
|