diff options
Diffstat (limited to 'src/widget/widget_label.c')
| -rw-r--r-- | src/widget/widget_label.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/widget/widget_label.c b/src/widget/widget_label.c new file mode 100644 index 0000000..a472784 --- /dev/null +++ b/src/widget/widget_label.c @@ -0,0 +1,47 @@ + +#include <stdlib.h> + +#include "base/main.h" +#include "client/interface.h" +#include "client/font.h" +#include "widget_label.h" + +widget_label_t* newWidgetLabel(char *text, int x, int y, int bind) +{ + widget_label_t *new; + + new = malloc( sizeof(widget_label_t) ); + new->text = strdup(text); + new->x = x; + new->y = y; + new->bind = bind; + getTextSize(text, &new->w, &new->h); + + return new; +} + +void drawWidgetLabel(widget_label_t *p) +{ + switch( p->bind ) + { + case WIDGET_LABEL_RIGHT : + drawFont(p->text, p->x+p->w, p->y + p->h/2, COLOR_WHITE); + break; + case WIDGET_LABEL_LEFT : + drawFont(p->text, p->x, p->y + p->h/2, COLOR_WHITE); + break; + case WIDGET_LABEL_CENTER : + drawFont(p->text, p->x-p->w/2, p->y + p->h/2, COLOR_WHITE); + break; + } +} + +void eventWidgetLabel(widget_label_t *p) +{ +} + +void destroyWidgetLabel(widget_label_t *p) +{ + free(p->text); + free(p); +} |