void PAGE_TrimEditInit(int page) { struct Trim *trim = MIXER_GetAllTrims(); tp->index = page; tp->trim = trim[tp->index]; PAGE_ShowHeader(_tr("Trim")); PAGE_CreateOkButton(LCD_WIDTH-56, 4, okcancel_cb); enum { COL1 = (64 + ((LCD_WIDTH - 320) / 2)), COL2 = (160 + ((LCD_WIDTH - 320) / 2)), ROW1 = (80 + ((LCD_HEIGHT - 240) / 2)), ROW2 = (ROW1 + 24), ROW3 = (ROW1 + 48), ROW4 = (ROW1 + 72), ROW5 = (ROW1 + 96), }; //Row 1 GUI_CreateLabel(&gui_ed->srclbl, COL1, ROW1, NULL, DEFAULT_FONT, _tr("Input")); GUI_CreateTextSource(&gui_ed->src, COL2, ROW1, TEXTSELECT_96, NULL, set_source_cb, set_input_source_cb, &tp->trim.src); //Row 2 GUI_CreateLabel(&gui_ed->steplbl, COL1, ROW2, NULL, DEFAULT_FONT, _tr("Trim Step")); GUI_CreateTextSelect(&gui_ed->step, COL2, ROW2, TEXTSELECT_96, NULL, set_trimstep_cb, (void *)(long)(tp->index + 0x100)); //0x100: Use tp->trim //Row 3 GUI_CreateLabelBox(&gui_ed->neglbl, COL1, ROW3, COL2-COL1, ROW4-ROW3, &DEFAULT_FONT, NULL, NULL, _tr("Trim -")); GUI_CreateTextSelect(&gui_ed->neg, COL2, ROW3, TEXTSELECT_96, NULL, set_trim_cb, &tp->trim.neg); //Row 4 GUI_CreateLabel(&gui_ed->poslbl, COL1, ROW4, NULL, DEFAULT_FONT, _tr("Trim +")); GUI_CreateTextSelect(&gui_ed->pos, COL2, ROW4, TEXTSELECT_96, NULL, set_trim_cb, &tp->trim.pos); //Row 5 GUI_CreateLabelBox(&gui_ed->swlbl, COL1, ROW5, COL2-COL1, ROW5-ROW4, &DEFAULT_FONT, NULL, NULL, _tr("Switch")); GUI_CreateTextSource(&gui_ed->sw, COL2, ROW5, TEXTSELECT_96, NULL, set_switch_cb, set_input_switch_cb, &tp->trim.sw); }
static void _edit_cb(guiObject_t *obj, const void *data) { (void)obj; struct Trim *trim = MIXER_GetAllTrims(); PAGE_SetModal(1); tp->index = (long)data; tp->trim = trim[tp->index]; PAGE_RemoveAllObjects(); PAGE_CreateCancelButton(LCD_WIDTH-160, 4, okcancel_cb); PAGE_CreateOkButton(LCD_WIDTH-56, 4, okcancel_cb); enum { COL1 = (64 + ((LCD_WIDTH - 320) / 2)), COL2 = (160 + ((LCD_WIDTH - 320) / 2)), ROW1 = (80 + ((LCD_HEIGHT - 240) / 2)), ROW2 = (ROW1 + 24), ROW3 = (ROW1 + 48), ROW4 = (ROW1 + 72), ROW5 = (ROW1 + 96), }; //Row 1 GUI_CreateLabel(&gui_ed->srclbl, COL1, ROW1, NULL, DEFAULT_FONT, _tr("Input")); GUI_CreateTextSelect(&gui_ed->src, COL2, ROW1, TEXTSELECT_96, NULL, set_source_cb, &tp->trim.src); //Row 2 GUI_CreateLabel(&gui_ed->steplbl, COL1, ROW2, NULL, DEFAULT_FONT, _tr("Trim Step")); GUI_CreateTextSelect(&gui_ed->step, COL2, ROW2, TEXTSELECT_96, NULL, set_trimstep_cb, (void *)(long)(tp->index + 0x100)); //0x100: Use tp->trim //Row 3 GUI_CreateLabelBox(&gui_ed->neglbl, COL1, ROW3, COL2-COL1, ROW4-ROW3, &DEFAULT_FONT, NULL, NULL, _tr("Trim -")); GUI_CreateTextSelect(&gui_ed->neg, COL2, ROW3, TEXTSELECT_96, NULL, set_trim_cb, &tp->trim.neg); //Row 4 GUI_CreateLabel(&gui_ed->poslbl, COL1, ROW4, NULL, DEFAULT_FONT, _tr("Trim +")); GUI_CreateTextSelect(&gui_ed->pos, COL2, ROW4, TEXTSELECT_96, NULL, set_trim_cb, &tp->trim.pos); //Row 5 GUI_CreateLabelBox(&gui_ed->swlbl, COL1, ROW5, COL2-COL1, ROW5-ROW4, &DEFAULT_FONT, NULL, NULL, _tr("Switch")); GUI_CreateTextSelect(&gui_ed->sw, COL2, ROW5, TEXTSELECT_96, NULL, set_switch_cb, &tp->trim.sw); }
void MIXPAGE_EditCurves(struct Curve *curve, void *data) { u8 type = CURVE_TYPE(curve); if (type <= CURVE_FIXED) return; PAGE_RemoveAllObjects(); edit->parent = (void (*)(void))data; edit->pointnum = 0; if ((type == CURVE_EXPO || type == CURVE_DEADBAND) && curve->points[0] == curve->points[1]) { edit->pointnum = -1; } edit->curve = *curve; edit->curveptr = curve; GUI_CreateTextSelect(&gui->name, 8, 8, TEXTSELECT_96, NULL, set_curvename_cb, NULL); PAGE_CreateCancelButton(LCD_WIDTH-160, 4, okcancel_cb); PAGE_CreateOkButton(LCD_WIDTH-56, 4, okcancel_cb); int y = 40; if (type >= CURVE_3POINT) { GUI_CreateLabel(&gui->smoothlbl, 8, y, NULL, DEFAULT_FONT, _tr("Smooth")); GUI_CreateTextSelect(&gui->smooth, 8, y+16, TEXTSELECT_96, NULL, set_smooth_cb, NULL); y += 40; GUI_CreateLabel(&gui->pointlbl, 8, y, NULL, DEFAULT_FONT, _tr("Point")); GUI_CreateTextSelect(&gui->point, 8, y+16, TEXTSELECT_96, NULL, set_pointnum_cb, NULL); } else if(type == CURVE_DEADBAND || type == CURVE_EXPO) { GUI_CreateLabel(&gui->pointlbl, 8, y, NULL, DEFAULT_FONT, _tr("Pos/Neg")); GUI_CreateTextSelect(&gui->point, 8, y+16, TEXTSELECT_96, NULL, set_expopoint_cb, NULL); } y += 40; GUI_CreateLabel(&gui->valuelbl, 8, y, NULL, DEFAULT_FONT, _tr("Value")); GUI_CreateTextSelect(&gui->value, 8, y+16, TEXTSELECT_96, NULL, set_value_cb, NULL); GUI_CreateXYGraph(&gui->graph, LCD_WIDTH-208-ADDITIONAL_H, 36, 200+ADDITIONAL_H, 200+ADDITIONAL_H, CHAN_MIN_VALUE, CHAN_MIN_VALUE, CHAN_MAX_VALUE, CHAN_MAX_VALUE, CHAN_MAX_VALUE / 4, CHAN_MAX_VALUE / 4, show_curve_cb, NULL, touch_cb, &edit->curve); }
static void _show_titlerow() { GUI_CreateLabel(&gui->title, 8, 10, MIXPAGE_ChanNameProtoCB, TITLE_FONT, (void *)(long)mp->channel); PAGE_CreateCancelButton(LCD_WIDTH-160, 4, okcancel_cb); PAGE_CreateOkButton(LCD_WIDTH-56, 4, okcancel_cb); }
static void show_titlerow(const char *header) { GUI_CreateLabel(&gui->title, 8, 10, NULL, TITLE_FONT, (void *)header); PAGE_CreateOkButton(LCD_WIDTH-56, 4, okcancel_cb); }