55 lines
977 B
C
55 lines
977 B
C
/****** elements.h, defines various UI elements
|
|
|
|
******/
|
|
#ifndef ELEMENTS_H
|
|
#define ELEMENTS_H
|
|
|
|
#define STATE_NORMAL 0
|
|
#define STATE_PRESSED 1
|
|
#define STATE_HELD 2
|
|
#define STATE_DRAG 3
|
|
|
|
struct Element {
|
|
int x;
|
|
int y;
|
|
int state;
|
|
int type;
|
|
struct Element *next;
|
|
void *data;
|
|
void (*callback)();
|
|
void *user;
|
|
};
|
|
|
|
struct Element *newElement(int type);
|
|
|
|
/* element type structs and such */
|
|
#define TYPE_TEXT 0
|
|
#define TYPE_BUTTON 1
|
|
#define TYPE_TEXT_INPUT 2
|
|
|
|
struct ButtonElement {
|
|
int length;
|
|
char *string;
|
|
};
|
|
|
|
struct TextElement {
|
|
int length;
|
|
char *string;
|
|
};
|
|
|
|
struct TextInputElement {
|
|
int size;
|
|
int cursor;
|
|
int length;
|
|
char *string;
|
|
};
|
|
|
|
int setElementText(struct Element *element, const char *string);
|
|
int setElementPosition(struct Element *element, int x, int y);
|
|
int setElementCallback(struct Element *element, void(*callback));
|
|
int setElementSize(struct Element *element, int size);
|
|
|
|
const char *getElementText(struct Element *element);
|
|
|
|
#endif
|