Skip to content

Commit 85a7c14

Browse files
committed
Reduce ROM by define helper functions
1 parent 4179365 commit 85a7c14

8 files changed

Lines changed: 36 additions & 21 deletions

File tree

src/gui/gui.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,18 @@ void GUI_SelectionNotify(void (*notify_cb)(guiObject_t *obj))
830830
{
831831
select_notify = notify_cb;
832832
}
833+
834+
guiObject_t *GUI_CreateLabel(guiLabel_t *obj, u16 x, u16 y,
835+
const char *(*cb)(guiObject_t *, const void *),
836+
const struct LabelDesc *desc,
837+
const void *data) {
838+
return GUI_CreateLabelBox(obj, x, y, 0, 0, desc, cb, NULL, data);
839+
}
840+
841+
guiObject_t *GUI_CreateImage(guiImage_t *obj, u16 x, u16 y, u16 w, u16 h, const char *file) {
842+
return GUI_CreateImageOffset(obj, x, y, w, h, 0, 0, file, NULL, NULL);
843+
}
844+
833845
#if HAS_TOUCH
834846
void GUI_ChangeSelectionOnTouch(int enable)
835847
{

src/gui/gui.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,10 @@ guiObject_t *GUI_CreateDialog(guiDialog_t *,u16 x, u16 y, u16 width, u16 height,
336336
const char *(*string_cb)(guiObject_t *obj, void *data),
337337
void (*CallBack)(u8 state, void *data),
338338
enum DialogType dgType, void *data);
339-
#define GUI_CreateLabel(obj, x, y, cb, desc, data) GUI_CreateLabelBox(obj, x, y, 0, 0, &desc, cb, NULL, data)
339+
guiObject_t *GUI_CreateLabel(guiLabel_t *, u16 x, u16 y,
340+
const char *(*strCallback)(guiObject_t *, const void *),
341+
const struct LabelDesc *desc,
342+
const void *data);
340343
guiObject_t *GUI_CreateLabelBox(guiLabel_t *,u16 x, u16 y, u16 width, u16 height, const struct LabelDesc *desc,
341344
const char *(*strCallback)(guiObject_t *, const void *),
342345
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,
345348
const char *str, const struct LabelDesc *desc, u8 is_selected);
346349
void GUI_SetLabelDesc(guiLabel_t *obj, struct LabelDesc *desc);
347350

348-
#define GUI_CreateImage(obj, x, y, w,h, file) GUI_CreateImageOffset(obj, x, y, w, h, 0, 0, file, NULL, NULL)
351+
guiObject_t *GUI_CreateImage(guiImage_t *obj, u16 x, u16 y, u16 w, u16 h, const char *file);
349352
guiObject_t *GUI_CreateImageOffset(guiImage_t *, u16 x, u16 y, u16 width, u16 height, u16 x_off, u16 y_off, const char *file,
350353
void (*CallBack)(guiObject_t *obj, s8 press_type, const void *data), const void *cb_data);
351354

src/pages/128x64x1/main_layout.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,9 @@ void PAGE_LayoutEditInit(int page)
8080
rect.outline_color = 0x0000;
8181
GUI_CreateRect(&gui->editelem, 41, 1, 9, 5, &rect);
8282
gui->editelem.CallBack = move_cb;
83-
GUI_CreateLabel(&gui->xlbl, 0, 1, NULL, micro, "X:");
83+
GUI_CreateLabel(&gui->xlbl, 0, 1, NULL, &micro, "X:");
8484
GUI_CreateLabelBox(&gui->x, 8, 1, 13, 6, &micro, pos_cb, NULL, (void *) 0L);
85-
GUI_CreateLabel(&gui->ylbl, 22, 1, NULL, micro, "Y:");
85+
GUI_CreateLabel(&gui->ylbl, 22, 1, NULL, &micro, "Y:");
8686
GUI_CreateLabelBox(&gui->y, 30, 1, 10, 6, &micro, pos_cb, NULL, (void *) 1L);
8787
//gui->y must be the last element!
8888
GUI_SelectionNotify(notify_cb);

src/pages/320x240x16/main_layout.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ void PAGE_MainLayoutInit(int page)
105105
GUI_CreateIcon(&gui->editelem, 64, 0, &icons[ICON_LAYOUT_CFG], cfg_cb, NULL);
106106
GUI_SetHidden((guiObject_t *)&gui->editelem, 1);
107107
//GUI_CreateTextSelect(&gui->newelem, 36, 12, TEXTSELECT_96, newelem_press_cb, newelem_cb, NULL);
108-
GUI_CreateLabel(&gui->xlbl, 80+18, 9, NULL, TITLE_FONT, "X");
108+
GUI_CreateLabel(&gui->xlbl, 80+18, 9, NULL, &TITLE_FONT, "X");
109109
GUI_CreateTextSelect(&gui->x, 88+18, 8, TEXTSELECT_64, NULL, xpos_cb, NULL);
110110
GUI_SetSelectable((guiObject_t *)&gui->x, 0);
111-
GUI_CreateLabel(&gui->ylbl, 164+16, 9, NULL, TITLE_FONT, "Y");
111+
GUI_CreateLabel(&gui->ylbl, 164+16, 9, NULL, &TITLE_FONT, "Y");
112112
GUI_CreateTextSelect(&gui->y, 172+16, 8, TEXTSELECT_64, NULL, ypos_cb, NULL);
113113
GUI_SetSelectable((guiObject_t *)&gui->y, 0);
114114

src/pages/320x240x16/rtc_config.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,31 +216,31 @@ const char *rtc_select_format_cb(guiObject_t *obj, int dir, void *data)
216216

217217
void _show_page()
218218
{
219-
GUI_CreateLabel(&gui->datelbl, XL(128), 40, rtc_text_cb, DEFAULT_FONT, (void *)DATELABEL);
220-
GUI_CreateLabel(&gui->timelbl, XR(128), 40, rtc_text_cb, DEFAULT_FONT, (void *)TIMELABEL);
219+
GUI_CreateLabel(&gui->datelbl, XL(128), 40, rtc_text_cb, &DEFAULT_FONT, (void *)DATELABEL);
220+
GUI_CreateLabel(&gui->timelbl, XR(128), 40, rtc_text_cb, &DEFAULT_FONT, (void *)TIMELABEL);
221221
GUI_CreateTextSelect(&gui->dateformat, XL(128), 56, TEXTSELECT_128, NULL, rtc_select_format_cb, (void *)ACTDATE);
222222
GUI_CreateTextSelect(&gui->timeformat, XR(128), 56, TEXTSELECT_128, NULL, rtc_select_format_cb, (void *)ACTTIME);
223223

224224
RTC_GetDateFormattedOrder((Transmitter.rtcflags & DATEFMT) >> 4, &order[0], &order[1], &order[2]); // initial ordering
225225

226226
for (long i=0; i<6; i++) {
227-
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);
227+
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);
228228
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);
229229
}
230230

231231
const int DATEBOXWIDTH = 180;
232232
u16 w, h;
233233
LCD_SetFont(DEFAULT_FONT.font);
234234
LCD_GetStringDimensions((u8 *)rtc_text_cb(NULL, (void *)SETLABEL), &w, &h);
235-
GUI_CreateLabel(&gui->newlbl, XM(w), 168 - h / 2 , rtc_text_cb, DEFAULT_FONT, (void *)SETLABEL);
235+
GUI_CreateLabel(&gui->newlbl, XM(w), 168 - h / 2 , rtc_text_cb, &DEFAULT_FONT, (void *)SETLABEL);
236236
GUI_CreateLabelBox(&gui->newdate, XL(DATEBOXWIDTH), 150, DATEBOXWIDTH, 32, &BIGBOX_FONT, rtc_text_cb, NULL, (void *)NEWDATE);
237237
GUI_CreateLabelBox(&gui->newtime, XR(DATEBOXWIDTH), 150, DATEBOXWIDTH, 32, &BIGBOX_FONT, rtc_text_cb, NULL, (void *)NEWTIME);
238238

239239
GUI_CreateButton(&gui->setdate, XL(96), 184, BUTTON_96, rtc_text_cb, rtc_set_cb, (void *)DATEBUTTON);
240240
GUI_CreateButton(&gui->settime, XR(96), 184, BUTTON_96, rtc_text_cb, rtc_set_cb, (void *)TIMEBUTTON);
241241

242242
LCD_GetStringDimensions((u8 *)rtc_text_cb(NULL, (void *)RESULTLABEL), &w, &h);
243-
GUI_CreateLabel(&gui->actlbl, XM(w), 243 - h / 2 , rtc_text_cb, DEFAULT_FONT, (void *)RESULTLABEL);
243+
GUI_CreateLabel(&gui->actlbl, XM(w), 243 - h / 2 , rtc_text_cb, &DEFAULT_FONT, (void *)RESULTLABEL);
244244
GUI_CreateLabelBox(&gui->actdate, XL(DATEBOXWIDTH), 225, DATEBOXWIDTH, 32, &BIGBOX_FONT, rtc_text_cb, NULL, (void *)ACTDATE);
245245
GUI_CreateLabelBox(&gui->acttime, XR(DATEBOXWIDTH), 225, DATEBOXWIDTH, 32, &BIGBOX_FONT, rtc_text_cb, NULL, (void *)ACTTIME);
246246
}

src/pages/320x240x16/set_timer_page.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,26 +83,26 @@ static void _show_settimer_page(u8 index)
8383
};
8484

8585
// actual value
86-
firstObj = GUI_CreateLabel(&guiset->oldlbl, XLEFT, YOLD, NULL, DEFAULT_FONT, (void *)_tr("actual value"));
86+
firstObj = GUI_CreateLabel(&guiset->oldlbl, XLEFT, YOLD, NULL, &DEFAULT_FONT, (void *)_tr("actual value"));
8787
GUI_CreateLabelBox(&guiset->oldvalue, XLEFT, YOLD + 16, 128, 30, &BIGBOX_FONT, timer_value_str_cb, NULL, (void *)OLD_TIMER);
8888

8989
// value to add or set
90-
GUI_CreateLabel(&guiset->addlbl, XLEFT, YNEW, NULL, DEFAULT_FONT, (void *)_tr("value to add or set"));
90+
GUI_CreateLabel(&guiset->addlbl, XLEFT, YNEW, NULL, &DEFAULT_FONT, (void *)_tr("value to add or set"));
9191
GUI_CreateLabelBox(&guiset->addvalue, XLEFT, YNEW + 16, 128, 30, &BIGBOX_FONT, timer_value_str_cb, NULL, (void *)ADD_TIMER);
9292

9393
// select boxes
94-
GUI_CreateLabel(&guiset->hourlbl, XUNIT, YUNIT + 1, NULL, DEFAULT_FONT, (void *)_tr("Hour"));
94+
GUI_CreateLabel(&guiset->hourlbl, XUNIT, YUNIT + 1, NULL, &DEFAULT_FONT, (void *)_tr("Hour"));
9595
GUI_CreateTextSelect(&guiset->hoursel, XVAL, YUNIT, TEXTSELECT_64, NULL, _timer_new_str_cb, (void *)TIMER_HOURS);
96-
GUI_CreateLabel(&guiset->minutelbl, XUNIT, YUNIT + YDIFF + 1, NULL, DEFAULT_FONT, (void *)_tr("Minute"));
96+
GUI_CreateLabel(&guiset->minutelbl, XUNIT, YUNIT + YDIFF + 1, NULL, &DEFAULT_FONT, (void *)_tr("Minute"));
9797
GUI_CreateTextSelect(&guiset->minutesel, XVAL, YUNIT + YDIFF, TEXTSELECT_64, NULL, _timer_new_str_cb, (void *)TIMER_MINUTES);
98-
GUI_CreateLabel(&guiset->secondlbl, XUNIT, YUNIT + YDIFF + YDIFF + 1, NULL, DEFAULT_FONT, (void *)_tr("Second"));
98+
GUI_CreateLabel(&guiset->secondlbl, XUNIT, YUNIT + YDIFF + YDIFF + 1, NULL, &DEFAULT_FONT, (void *)_tr("Second"));
9999
GUI_CreateTextSelect(&guiset->secondsel, XVAL, YUNIT + YDIFF + YDIFF, TEXTSELECT_64, NULL, _timer_new_str_cb, (void *)TIMER_SECONDS);
100100

101101
// add / set buttons
102102
GUI_CreateButton(&guiset->addbtn, XADD, YBTN, BUTTON_64x16, timer_value_str_cb, add_set_button_cb, (void *)ADD_BUTTON);
103103
GUI_CreateButton(&guiset->setbtn, XSET, YBTN, BUTTON_64x16, timer_value_str_cb, add_set_button_cb, (void *)SET_BUTTON);
104104

105105
// resulting value
106-
GUI_CreateLabel(&guiset->newlbl, XLEFT, YRES, NULL, DEFAULT_FONT, (void *)_tr("resulting value"));
106+
GUI_CreateLabel(&guiset->newlbl, XLEFT, YRES, NULL, &DEFAULT_FONT, (void *)_tr("resulting value"));
107107
GUI_CreateLabelBox(&guiset->newvalue, XLEFT, YRES + 16, 128, 30, &BIGBOX_FONT, timer_value_str_cb, NULL, (void *)NEW_TIMER);
108108
}

src/pages/320x240x16/trim_page.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ static int row_cb(int absrow, int relrow, int y, void *data)
5454
struct Trim *trim = MIXER_GetAllTrims();
5555
GUI_CreateButton(&gui->src[relrow], PCOL1, y, BUTTON_64x16,
5656
trimsource_name_cb, edit_trim_cb, (void *)((long)absrow));
57-
GUI_CreateLabel(&gui->neg[relrow], PCOL2 + 6, y, negtrim_str, DEFAULT_FONT, (void *)(long)absrow);
58-
GUI_CreateLabel(&gui->pos[relrow], PCOL3 + 6, y, NULL, DEFAULT_FONT, (void *)INPUT_ButtonName(trim[absrow].pos));
57+
GUI_CreateLabel(&gui->neg[relrow], PCOL2 + 6, y, negtrim_str, &DEFAULT_FONT, (void *)absrow);
58+
GUI_CreateLabel(&gui->pos[relrow], PCOL3 + 6, y, NULL, &DEFAULT_FONT, (void *)INPUT_ButtonName(trim[absrow].pos));
5959
GUI_CreateTextSelect(&gui->step[relrow], PCOL4 + 6, y, TEXTSELECT_96, NULL,
6060
set_trimstep_cb, (void *)(long)(absrow + 0x000)); //0x000: Use Model.trims
6161
return 2;

src/pages/text/main_layout.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ void PAGE_LayoutEditInit(int page)
7979
rect.outline_color = 0x0000;
8080
GUI_CreateRect(&gui->editelem, 41, 1, 9, 5, &rect);
8181
gui->editelem.CallBack = move_cb;
82-
GUI_CreateLabel(&gui->xlbl, 0, 1, NULL, micro, "X:");
82+
GUI_CreateLabel(&gui->xlbl, 0, 1, NULL, &micro, "X:");
8383
GUI_CreateLabelBox(&gui->x, 8, 1, 13, 6, &micro, pos_cb, NULL, (void *) 0L);
84-
GUI_CreateLabel(&gui->ylbl, 22, 1, NULL, micro, "Y:");
84+
GUI_CreateLabel(&gui->ylbl, 22, 1, NULL, &micro, "Y:");
8585
GUI_CreateLabelBox(&gui->y, 30, 1, 9, 6, &micro, pos_cb, NULL, (void *) 1L);
8686
//gui->y must be the last element!
8787
GUI_SelectionNotify(notify_cb);

0 commit comments

Comments
 (0)