diff --git a/src/gui/gui.c b/src/gui/gui.c index 136fd9de8c..19dc15359a 100644 --- a/src/gui/gui.c +++ b/src/gui/gui.c @@ -831,6 +831,17 @@ void GUI_SelectionNotify(void (*notify_cb)(guiObject_t *obj)) select_notify = notify_cb; } +guiObject_t *GUI_CreateLabel(guiLabel_t *obj, u16 x, u16 y, + const char *(*cb)(guiObject_t *, const void *), + const struct LabelDesc *desc, + const void *data) { + return GUI_CreateLabelBox(obj, x, y, 0, 0, desc, cb, NULL, data); +} + +guiObject_t *GUI_CreateImage(guiImage_t *obj, u16 x, u16 y, u16 w, u16 h, const char *file) { + return GUI_CreateImageOffset(obj, x, y, w, h, 0, 0, file, NULL, NULL); +} + const char* _GUI_Localize(struct guiObject *obj, const void* str) { (void)obj; diff --git a/src/gui/gui.h b/src/gui/gui.h index b03aa939e2..d0f63c878a 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -336,7 +336,10 @@ guiObject_t *GUI_CreateDialog(guiDialog_t *,u16 x, u16 y, u16 width, u16 height, const char *(*string_cb)(guiObject_t *obj, void *data), void (*CallBack)(u8 state, void *data), enum DialogType dgType, void *data); -#define GUI_CreateLabel(obj, x, y, cb, desc, data) GUI_CreateLabelBox(obj, x, y, 0, 0, &desc, cb, NULL, data) +guiObject_t *GUI_CreateLabel(guiLabel_t *, u16 x, u16 y, + const char *(*strCallback)(guiObject_t *, const void *), + const struct LabelDesc *desc, + const void *data); guiObject_t *GUI_CreateLabelBox(guiLabel_t *,u16 x, u16 y, u16 width, u16 height, const struct LabelDesc *desc, const char *(*strCallback)(guiObject_t *, const void *), void (*pressCallback)(guiObject_t *obj, s8 press_type, const void *data), @@ -345,7 +348,7 @@ void GUI_DrawLabelHelper(u16 obj_x, u16 obj_y, u16 obj_width, u16 obj_height, const char *str, const struct LabelDesc *desc, u8 is_selected); void GUI_SetLabelDesc(guiLabel_t *obj, struct LabelDesc *desc); -#define GUI_CreateImage(obj, x, y, w,h, file) GUI_CreateImageOffset(obj, x, y, w, h, 0, 0, file, NULL, NULL) +guiObject_t *GUI_CreateImage(guiImage_t *obj, u16 x, u16 y, u16 w, u16 h, const char *file); guiObject_t *GUI_CreateImageOffset(guiImage_t *, u16 x, u16 y, u16 width, u16 height, u16 x_off, u16 y_off, const char *file, void (*CallBack)(guiObject_t *obj, s8 press_type, const void *data), const void *cb_data); diff --git a/src/pages/128x64x1/main_layout.c b/src/pages/128x64x1/main_layout.c index 699eb053f9..3f3bf33a38 100644 --- a/src/pages/128x64x1/main_layout.c +++ b/src/pages/128x64x1/main_layout.c @@ -80,9 +80,9 @@ void PAGE_LayoutEditInit(int page) rect.outline_color = 0x0000; GUI_CreateRect(&gui->editelem, 41, 1, 9, 5, &rect); gui->editelem.CallBack = move_cb; - GUI_CreateLabel(&gui->xlbl, 0, 1, NULL, micro, "X:"); + GUI_CreateLabel(&gui->xlbl, 0, 1, NULL, µ, "X:"); GUI_CreateLabelBox(&gui->x, 8, 1, 13, 6, µ, pos_cb, NULL, (void *) 0L); - GUI_CreateLabel(&gui->ylbl, 22, 1, NULL, micro, "Y:"); + GUI_CreateLabel(&gui->ylbl, 22, 1, NULL, µ, "Y:"); GUI_CreateLabelBox(&gui->y, 30, 1, 10, 6, µ, pos_cb, NULL, (void *) 1L); //gui->y must be the last element! GUI_SelectionNotify(notify_cb); diff --git a/src/pages/320x240x16/main_layout.c b/src/pages/320x240x16/main_layout.c index 1aa0bb459f..ba0e9046b7 100644 --- a/src/pages/320x240x16/main_layout.c +++ b/src/pages/320x240x16/main_layout.c @@ -105,10 +105,10 @@ void PAGE_MainLayoutInit(int page) GUI_CreateIcon(&gui->editelem, 64, 0, &icons[ICON_LAYOUT_CFG], cfg_cb, NULL); GUI_SetHidden((guiObject_t *)&gui->editelem, 1); //GUI_CreateTextSelect(&gui->newelem, 36, 12, TEXTSELECT_96, newelem_press_cb, newelem_cb, NULL); - GUI_CreateLabel(&gui->xlbl, 80+18, 9, NULL, TITLE_FONT, "X"); + GUI_CreateLabel(&gui->xlbl, 80+18, 9, NULL, &TITLE_FONT, "X"); GUI_CreateTextSelect(&gui->x, 88+18, 8, TEXTSELECT_64, NULL, xpos_cb, NULL); GUI_SetSelectable((guiObject_t *)&gui->x, 0); - GUI_CreateLabel(&gui->ylbl, 164+16, 9, NULL, TITLE_FONT, "Y"); + GUI_CreateLabel(&gui->ylbl, 164+16, 9, NULL, &TITLE_FONT, "Y"); GUI_CreateTextSelect(&gui->y, 172+16, 8, TEXTSELECT_64, NULL, ypos_cb, NULL); GUI_SetSelectable((guiObject_t *)&gui->y, 0); diff --git a/src/pages/320x240x16/rtc_config.c b/src/pages/320x240x16/rtc_config.c index 82d7d28bb6..d295fcc3a0 100644 --- a/src/pages/320x240x16/rtc_config.c +++ b/src/pages/320x240x16/rtc_config.c @@ -216,15 +216,15 @@ const char *rtc_select_format_cb(guiObject_t *obj, int dir, void *data) void _show_page() { - GUI_CreateLabel(&gui->datelbl, XL(128), 40, rtc_text_cb, DEFAULT_FONT, (void *)DATELABEL); - GUI_CreateLabel(&gui->timelbl, XR(128), 40, rtc_text_cb, DEFAULT_FONT, (void *)TIMELABEL); + GUI_CreateLabel(&gui->datelbl, XL(128), 40, rtc_text_cb, &DEFAULT_FONT, (void *)DATELABEL); + GUI_CreateLabel(&gui->timelbl, XR(128), 40, rtc_text_cb, &DEFAULT_FONT, (void *)TIMELABEL); GUI_CreateTextSelect(&gui->dateformat, XL(128), 56, TEXTSELECT_128, NULL, rtc_select_format_cb, (void *)ACTDATE); GUI_CreateTextSelect(&gui->timeformat, XR(128), 56, TEXTSELECT_128, NULL, rtc_select_format_cb, (void *)ACTTIME); RTC_GetDateFormattedOrder((Transmitter.rtcflags & DATEFMT) >> 4, &order[0], &order[1], &order[2]); // initial ordering for (long i=0; i<6; i++) { - GUI_CreateLabel(&gui->label[i], X(i/3, 32) + ((i%3 == 2) ? 67 : 0) - ((i%3 == 0) ? 67 : 0), 84, rtc_text_cb, DEFAULT_FONT, (void *)i); + GUI_CreateLabel(&gui->label[i], X(i/3, 32) + ((i%3 == 2) ? 67 : 0) - ((i%3 == 0) ? 67 : 0), 84, rtc_text_cb, &DEFAULT_FONT, (void *)i); GUI_CreateTextSelect(&gui->select[i], X(i/3, 32) + ((i%3 == 2) ? 67 : 0) - ((i%3 == 0) ? 67 : 0), 100, TEXTSELECT_VERT_64, NULL, rtc_val_cb, (void *)i); } @@ -232,7 +232,7 @@ void _show_page() u16 w, h; LCD_SetFont(DEFAULT_FONT.font); LCD_GetStringDimensions((u8 *)rtc_text_cb(NULL, (void *)SETLABEL), &w, &h); - GUI_CreateLabel(&gui->newlbl, XM(w), 168 - h / 2 , rtc_text_cb, DEFAULT_FONT, (void *)SETLABEL); + GUI_CreateLabel(&gui->newlbl, XM(w), 168 - h / 2 , rtc_text_cb, &DEFAULT_FONT, (void *)SETLABEL); GUI_CreateLabelBox(&gui->newdate, XL(DATEBOXWIDTH), 150, DATEBOXWIDTH, 32, &BIGBOX_FONT, rtc_text_cb, NULL, (void *)NEWDATE); GUI_CreateLabelBox(&gui->newtime, XR(DATEBOXWIDTH), 150, DATEBOXWIDTH, 32, &BIGBOX_FONT, rtc_text_cb, NULL, (void *)NEWTIME); @@ -240,7 +240,7 @@ void _show_page() GUI_CreateButton(&gui->settime, XR(96), 184, BUTTON_96, rtc_text_cb, rtc_set_cb, (void *)TIMEBUTTON); LCD_GetStringDimensions((u8 *)rtc_text_cb(NULL, (void *)RESULTLABEL), &w, &h); - GUI_CreateLabel(&gui->actlbl, XM(w), 243 - h / 2 , rtc_text_cb, DEFAULT_FONT, (void *)RESULTLABEL); + GUI_CreateLabel(&gui->actlbl, XM(w), 243 - h / 2 , rtc_text_cb, &DEFAULT_FONT, (void *)RESULTLABEL); GUI_CreateLabelBox(&gui->actdate, XL(DATEBOXWIDTH), 225, DATEBOXWIDTH, 32, &BIGBOX_FONT, rtc_text_cb, NULL, (void *)ACTDATE); GUI_CreateLabelBox(&gui->acttime, XR(DATEBOXWIDTH), 225, DATEBOXWIDTH, 32, &BIGBOX_FONT, rtc_text_cb, NULL, (void *)ACTTIME); } diff --git a/src/pages/320x240x16/set_timer_page.c b/src/pages/320x240x16/set_timer_page.c index cf8066634a..194571300a 100644 --- a/src/pages/320x240x16/set_timer_page.c +++ b/src/pages/320x240x16/set_timer_page.c @@ -83,19 +83,19 @@ static void _show_settimer_page(u8 index) }; // actual value - firstObj = GUI_CreateLabel(&guiset->oldlbl, XLEFT, YOLD, GUI_Localize, DEFAULT_FONT, _tr_noop("actual value")); + firstObj = GUI_CreateLabel(&guiset->oldlbl, XLEFT, YOLD, GUI_Localize, &DEFAULT_FONT, _tr_noop("actual value")); GUI_CreateLabelBox(&guiset->oldvalue, XLEFT, YOLD + 16, 128, 30, &BIGBOX_FONT, timer_value_str_cb, NULL, (void *)OLD_TIMER); // value to add or set - GUI_CreateLabel(&guiset->addlbl, XLEFT, YNEW, GUI_Localize, DEFAULT_FONT, _tr_noop("value to add or set")); + GUI_CreateLabel(&guiset->addlbl, XLEFT, YNEW, GUI_Localize, &DEFAULT_FONT, _tr_noop("value to add or set")); GUI_CreateLabelBox(&guiset->addvalue, XLEFT, YNEW + 16, 128, 30, &BIGBOX_FONT, timer_value_str_cb, NULL, (void *)ADD_TIMER); // select boxes - GUI_CreateLabel(&guiset->hourlbl, XUNIT, YUNIT + 1, GUI_Localize, DEFAULT_FONT, _tr_noop("Hour")); + GUI_CreateLabel(&guiset->hourlbl, XUNIT, YUNIT + 1, GUI_Localize, &DEFAULT_FONT, _tr_noop("Hour")); GUI_CreateTextSelect(&guiset->hoursel, XVAL, YUNIT, TEXTSELECT_64, NULL, _timer_new_str_cb, (void *)TIMER_HOURS); - GUI_CreateLabel(&guiset->minutelbl, XUNIT, YUNIT + YDIFF + 1, GUI_Localize, DEFAULT_FONT, _tr_noop("Minute")); + GUI_CreateLabel(&guiset->minutelbl, XUNIT, YUNIT + YDIFF + 1, GUI_Localize, &DEFAULT_FONT, _tr_noop("Minute")); GUI_CreateTextSelect(&guiset->minutesel, XVAL, YUNIT + YDIFF, TEXTSELECT_64, NULL, _timer_new_str_cb, (void *)TIMER_MINUTES); - GUI_CreateLabel(&guiset->secondlbl, XUNIT, YUNIT + YDIFF + YDIFF + 1, GUI_Localize, DEFAULT_FONT, _tr_noop("Second")); + GUI_CreateLabel(&guiset->secondlbl, XUNIT, YUNIT + YDIFF + YDIFF + 1, GUI_Localize, &DEFAULT_FONT, _tr_noop("Second")); GUI_CreateTextSelect(&guiset->secondsel, XVAL, YUNIT + YDIFF + YDIFF, TEXTSELECT_64, NULL, _timer_new_str_cb, (void *)TIMER_SECONDS); // add / set buttons @@ -103,6 +103,6 @@ static void _show_settimer_page(u8 index) GUI_CreateButton(&guiset->setbtn, XSET, YBTN, BUTTON_64x16, timer_value_str_cb, add_set_button_cb, (void *)SET_BUTTON); // resulting value - GUI_CreateLabel(&guiset->newlbl, XLEFT, YRES, GUI_Localize, DEFAULT_FONT, _tr_noop("resulting value")); + GUI_CreateLabel(&guiset->newlbl, XLEFT, YRES, GUI_Localize, &DEFAULT_FONT, _tr_noop("resulting value")); GUI_CreateLabelBox(&guiset->newvalue, XLEFT, YRES + 16, 128, 30, &BIGBOX_FONT, timer_value_str_cb, NULL, (void *)NEW_TIMER); } diff --git a/src/pages/320x240x16/trim_page.c b/src/pages/320x240x16/trim_page.c index b33f761e99..88c1a8795d 100644 --- a/src/pages/320x240x16/trim_page.c +++ b/src/pages/320x240x16/trim_page.c @@ -54,8 +54,8 @@ static int row_cb(int absrow, int relrow, int y, void *data) struct Trim *trim = MIXER_GetAllTrims(); GUI_CreateButton(&gui->src[relrow], PCOL1, y, BUTTON_64x16, trimsource_name_cb, edit_trim_cb, (void *)((long)absrow)); - GUI_CreateLabel(&gui->neg[relrow], PCOL2 + 6, y, negtrim_str, DEFAULT_FONT, (void *)(long)absrow); - GUI_CreateLabel(&gui->pos[relrow], PCOL3 + 6, y, NULL, DEFAULT_FONT, (void *)INPUT_ButtonName(trim[absrow].pos)); + GUI_CreateLabel(&gui->neg[relrow], PCOL2 + 6, y, negtrim_str, &DEFAULT_FONT, (void *)absrow); + GUI_CreateLabel(&gui->pos[relrow], PCOL3 + 6, y, NULL, &DEFAULT_FONT, (void *)INPUT_ButtonName(trim[absrow].pos)); GUI_CreateTextSelect(&gui->step[relrow], PCOL4 + 6, y, TEXTSELECT_96, NULL, set_trimstep_cb, (void *)(long)(absrow + 0x000)); //0x000: Use Model.trims return 2; diff --git a/src/pages/text/main_layout.c b/src/pages/text/main_layout.c index 383a957324..f21bdf98b9 100644 --- a/src/pages/text/main_layout.c +++ b/src/pages/text/main_layout.c @@ -79,9 +79,9 @@ void PAGE_LayoutEditInit(int page) rect.outline_color = 0x0000; GUI_CreateRect(&gui->editelem, 41, 1, 9, 5, &rect); gui->editelem.CallBack = move_cb; - GUI_CreateLabel(&gui->xlbl, 0, 1, NULL, micro, "X:"); + GUI_CreateLabel(&gui->xlbl, 0, 1, NULL, µ, "X:"); GUI_CreateLabelBox(&gui->x, 8, 1, 13, 6, µ, pos_cb, NULL, (void *) 0L); - GUI_CreateLabel(&gui->ylbl, 22, 1, NULL, micro, "Y:"); + GUI_CreateLabel(&gui->ylbl, 22, 1, NULL, µ, "Y:"); GUI_CreateLabelBox(&gui->y, 30, 1, 9, 6, µ, pos_cb, NULL, (void *) 1L); //gui->y must be the last element! GUI_SelectionNotify(notify_cb);