#include #include #include "eve.h" #include "eve_kbd.h" #include "eve_font.h" #include "screen/window.h" #include "screen/page.h" #include "label.h" void eve_label_init(EVELabel *label, EVERect *g, EVEFont *font, char *title) { memset(label, 0, sizeof(EVELabel)); if (g) label->g = *g; label->font = font; label->title = title; if (label->g.h == 0) label->g.h = eve_font_h(font); if (label->g.w == 0) label->g.w = eve_font_str_w(font, label->title) + EVE_LABEL_MARGIN; } void eve_label_create(EVELabel *label, EVELabelSpec *spec, EVEPage *page) { EVEFont *font = spec->font ? spec->font : eve_window_font(page->v.window); eve_label_init(label, &spec->g, font, spec->title); } void eve_label_draw(EVELabel *label) { eve_cmd(CMD_TEXT, "hhhhs", label->g.x, label->g.y, label->font->id, 0, label->title); }