summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/eve/widget/label.c
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2025-07-28 23:27:12 +0200
committerUros Majstorovic <majstor@majstor.org>2025-07-28 23:27:12 +0200
commit58f41971b1e801ad2fbcea08e5152afa2b18ca73 (patch)
tree51793b55b350f7807d5d1b7e1401b50f402ccc48 /fw/fe310/eos/eve/widget/label.c
parentdab5a1fbd188f8f9436df1b3dff6e344c444fc23 (diff)
sys logging added; power management reimplemented; bugfixes;
Diffstat (limited to 'fw/fe310/eos/eve/widget/label.c')
-rw-r--r--fw/fe310/eos/eve/widget/label.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/fw/fe310/eos/eve/widget/label.c b/fw/fe310/eos/eve/widget/label.c
index 43c710c..d596677 100644
--- a/fw/fe310/eos/eve/widget/label.c
+++ b/fw/fe310/eos/eve/widget/label.c
@@ -10,26 +10,31 @@
#include "label.h"
-void eve_label_init(EVELabel *label, EVERect *g, EVEFont *font, char *title) {
+int eve_label_init(EVELabel *label, EVERect *g, EVEFont *font, char *title) {
size_t title_len;
int title_w, rv;
- memset(label, 0, sizeof(EVELabel));
- if (g) label->g = *g;
+ if (font == NULL) return EVE_ERR;
- rv = eve_font_verify(font, label->title, &title_w, &title_len);
- if (rv) title[title_len] = '\0';
+ rv = eve_font_verify(font, title, 0, &title_w, &title_len);
+ if (rv) return rv;
+ 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 = title_w + EVE_LABEL_MARGIN;
+
+ return EVE_OK;
}
-void eve_label_create(EVELabel *label, EVELabelSpec *spec, EVEPage *page) {
+int eve_label_create(EVELabel *label, EVELabelSpec *spec, EVEPage *page) {
EVEFont *font = spec->font ? spec->font : eve_window_font(page->v.window);
+ int rv;
- eve_label_init(label, &spec->g, font, spec->title);
+ rv = eve_label_init(label, &spec->g, font, spec->title);
+ return rv;
}
void eve_label_draw(EVELabel *label) {