From 58f41971b1e801ad2fbcea08e5152afa2b18ca73 Mon Sep 17 00:00:00 2001 From: Uros Majstorovic Date: Mon, 28 Jul 2025 23:27:12 +0200 Subject: sys logging added; power management reimplemented; bugfixes; --- fw/fe310/eos/eve/screen/form.c | 70 +++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 46 deletions(-) (limited to 'fw/fe310/eos/eve/screen/form.c') diff --git a/fw/fe310/eos/eve/screen/form.c b/fw/fe310/eos/eve/screen/form.c index 3e5b97c..de03bfd 100644 --- a/fw/fe310/eos/eve/screen/form.c +++ b/fw/fe310/eos/eve/screen/form.c @@ -12,7 +12,8 @@ #define MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) #define MAX(X, Y) (((X) > (Y)) ? (X) : (Y)) -static void widgets_destroy(EVEWidget *widget, uint16_t widget_size) { +static void widgets_destroy(EVEWidget *widgets, uint16_t widget_size) { + EVEWidget *widget = widgets; int i; for (i=0; ig.w == 0) widget->g.w = window->g.w - (widget->label ? widget->label->g.w : 0); + if ((widget->g.w == 0) && widget->label) widget->g.w = window->g.w - widget->label->g.w; + if (widget->g.w == 0) widget->g.w = window->g.w; widget = eve_widget_next(widget); } eve_form_set_widget(page, widgets, spec_size); - return page; + return EVE_OK; } -void eve_form_init(EVEPage *page, EVEWindow *window, EVEViewStack *stack, EVEWidget *widget, uint16_t widget_size, eve_page_uievt_t uievt, eve_page_destructor_t destructor) { - eve_page_init(page, window, stack, NULL, 0, EVE_PAGE_OPT_SCROLL_Y | EVE_PAGE_OPT_SCROLL_BACK | EVE_PAGE_OPT_TRACK_EXT_Y, eve_page_draw, eve_page_touch, uievt, destructor); - if (widget) eve_form_set_widget(page, widget, widget_size); +void eve_form_init(EVEPage *page, EVEWindow *window, EVEVStack *stack, EVEWidget *widget, uint16_t widget_size, eve_page_uievt_t uievt, eve_page_destructor_t destructor) { + eve_page_init(page, window, stack, widget, widget_size, EVE_PAGE_OPT_SCROLL_Y | EVE_PAGE_OPT_SCROLL_BACK | EVE_PAGE_OPT_TRACK_EXT_Y, eve_page_draw, eve_page_touch, uievt, destructor); + if (widget) eve_form_update_g(page, NULL); } void eve_form_set_widget(EVEPage *page, EVEWidget *widget, uint16_t widget_size) { @@ -88,42 +84,24 @@ void eve_form_set_widget(EVEPage *page, EVEWidget *widget, uint16_t widget_size) void eve_form_destroy(EVEPage *page) { widgets_destroy(page->widget, page->widget_size); - eve_free(page->widget); - eve_free(page); } -int eve_form_uievt(EVEPage *page, uint16_t evt, void *param) { +void eve_form_uievt(EVEPage *page, uint16_t evt, void *param) { switch (evt) { case EVE_UIEVT_WIDGET_UPDATE_G: eve_form_update_g(page, (EVEWidget *)param); break; - case EVE_UIEVT_WIDGET_FOCUS_IN: - break; - - case EVE_UIEVT_WIDGET_FOCUS_OUT: - break; - - case EVE_UIEVT_GEST_SCROLL_START: - break; - - case EVE_UIEVT_GEST_SCROLL_STOP: - break; - - case EVE_UIEVT_GEST_TRACK_START: - break; - case EVE_UIEVT_GEST_TRACK_STOP: { EVEUIEvtTouch *touch_p = (EVEUIEvtTouch *)param; if (touch_p->touch->eevt & EVE_TOUCH_EETYPE_TRACK_RIGHT) { eve_page_close(page); - return 1; + return; } break; } } - return 0; } void eve_form_update_g(EVEPage *page, EVEWidget *_widget) { -- cgit v1.2.3