#include #include #include "main.h" #include "interface.h" #include "font.h" #include "widget_label.h" #include "widget.h" widget_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->bind = bind; getTextSize(text, &(new->w), &(new->h)); return newWidget(WIDGET_TYPE_LABEL, x, y, new->w, new->h, new); } void drawWidgetLabel(widget_t *widget) { widget_label_t *p; assert( widget != NULL ); assert( widget->type == WIDGET_TYPE_LABEL ); p = (widget_label_t *) widget->private_data; switch( p->bind ) { case WIDGET_LABEL_RIGHT : drawFont(p->text, widget->x+p->w, widget->y + p->h/2, COLOR_WHITE); break; case WIDGET_LABEL_LEFT : drawFont(p->text, widget->x, widget->y + widget->h/2, COLOR_WHITE); break; case WIDGET_LABEL_CENTER : drawFont(p->text, widget->x-p->w/2, widget->y + p->h/2, COLOR_WHITE); break; } } void eventWidgetLabel(widget_t *widget) { assert( widget != NULL ); assert( widget->type == WIDGET_TYPE_LABEL ); } void destroyWidgetLabel(widget_t *widget) { widget_label_t *p; assert( widget != NULL ); assert( widget->type == WIDGET_TYPE_LABEL ); p = (widget_label_t *) widget->private_data; free(p->text); free(p); destroyWidget(widget); }