Skip to content

Commit b3865a6

Browse files
author
philmoz
committed
Seperate LCD orientation from scaling factor.
1 parent d53f7a8 commit b3865a6

File tree

105 files changed

+589
-731
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+589
-731
lines changed

radio/src/gui/colorlcd/controls/channel_bar.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ class ChannelBar : public Window
3030
std::function<int16_t()> getValue, LcdColorIndex barColorIndex,
3131
LcdColorIndex textColorIndex = COLOR_THEME_SECONDARY1_INDEX);
3232

33-
static LAYOUT_VAL(BAR_HEIGHT, 13, 13, 9)
33+
static LAYOUT_VAL(BAR_HEIGHT, 13, 13)
3434

35-
static LAYOUT_VAL(VAL_W, 45, 45, LS(45))
36-
static LAYOUT_VAL(VAL_H, 14, 14, LS(14))
37-
static LAYOUT_VAL(VAL_XO, 5, 5, LS(5))
38-
static LAYOUT_VAL(VAL_XT, -54, -54, LS(-54))
35+
static LAYOUT_VAL(VAL_W, 45, 45)
36+
static LAYOUT_VAL(VAL_H, 14, 14)
37+
static LAYOUT_VAL(VAL_XO, 5, 5)
38+
static LAYOUT_VAL(VAL_XT, -54, -54)
3939

4040
protected:
4141
uint8_t channel = 0;

radio/src/gui/colorlcd/controls/color_editor.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ class ColorEditor : public Window
4747

4848
void setColorEditorType(COLOR_EDITOR_TYPE colorType);
4949

50-
static LAYOUT_VAL(BAR_MARGIN, 5, 5, 4)
51-
static LAYOUT_VAL(BAR_HEIGHT_OFFSET, 25, 25, 16)
52-
static LAYOUT_VAL(LBL_YO, 9, 9, 5)
53-
static LAYOUT_VAL(VAL_XO, 10, 10, 6)
54-
static LAYOUT_VAL(CRSR_SZ, 10, 10, 8)
50+
static LAYOUT_VAL(BAR_MARGIN, 5, 5)
51+
static LAYOUT_VAL(BAR_HEIGHT_OFFSET, 25, 25)
52+
static LAYOUT_VAL(LBL_YO, 9, 9)
53+
static LAYOUT_VAL(VAL_XO, 10, 10)
54+
static LAYOUT_VAL_EVEN(CRSR_SZ, 10, 10)
5555

5656
protected:
5757
ColorType* _colorType = nullptr;

radio/src/gui/colorlcd/controls/color_picker.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,14 @@
2424
#include "color_list.h"
2525
#include "etx_lv_theme.h"
2626

27-
#if !PORTRAIT_LCD
28-
// Landscape
27+
#if !NARROW_LAYOUT
2928
static const lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1),
3029
LV_GRID_TEMPLATE_LAST};
3130
static const lv_coord_t row_dsc[] = {LV_GRID_CONTENT, LV_GRID_TEMPLATE_LAST};
32-
3331
#else
34-
// Portrait
3532
static const lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
3633
static const lv_coord_t row_dsc[] = {LV_GRID_CONTENT, LV_GRID_CONTENT,
3734
LV_GRID_TEMPLATE_LAST};
38-
3935
#endif
4036

4137
class ColorEditorPopup : public BaseDialog
@@ -166,11 +162,11 @@ class ColorEditorPopup : public BaseDialog
166162
});
167163
}
168164

169-
static LAYOUT_VAL(CE_SZ, 182, 182, LS(182))
165+
static LAYOUT_VAL(CE_SZ, 182, 182)
170166
static LAYOUT_VAL2(COLOR_EDIT_WIDTH, LCD_W * 0.8, LCD_W * 0.7)
171-
static LAYOUT_VAL(COLOR_PAD_WIDTH, 52, 52, LS(52))
172-
static LAYOUT_VAL(BTN_W, 80, 80, LS(80))
173-
static LAYOUT_VAL(BTN_PAD_TOP, 60, 60, LS(60))
167+
static LAYOUT_VAL(COLOR_PAD_WIDTH, 52, 52)
168+
static LAYOUT_VAL(BTN_W, 80, 80)
169+
static LAYOUT_VAL(BTN_PAD_TOP, 60, 60)
174170
};
175171

176172
ColorPicker::ColorPicker(Window* parent, const rect_t& rect,

radio/src/gui/colorlcd/controls/curve.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ class Curve : public Window
8686

8787
void checkEvents() override;
8888

89-
static LAYOUT_VAL(POS_LBL_X, 10, 10, LS(10))
90-
static LAYOUT_VAL(POS_LBL_Y, 10, 10, LS(10))
91-
static LAYOUT_VAL(POS_LBL_H, 17, 17, LS(17))
92-
static LAYOUT_VAL3(POS_PT_SZ, 9, 9, 7, 13)
89+
static LAYOUT_VAL(POS_LBL_X, 10, 10)
90+
static LAYOUT_VAL(POS_LBL_Y, 10, 10)
91+
static LAYOUT_VAL(POS_LBL_H, 17, 17)
92+
static LAYOUT_VAL_ODD(POS_PT_SZ, 9, 9)
9393
};

radio/src/gui/colorlcd/controls/fm_matrix.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ struct FMMatrix : public ButtonMatrix {
3434
bool isActive(uint8_t btn_id);
3535
void setTextAndState(uint8_t btn_id);
3636

37-
static LAYOUT_VAL(FM_BTN_W, 48, 48, LS(48))
37+
static LAYOUT_VAL(FM_BTN_W, 48, 48)
3838
static LAYOUT_VAL2(FM_COLS, 5, 3)
3939
static LAYOUT_VAL2(FM_ROWS, 2, 3)
4040
};

radio/src/gui/colorlcd/controls/gvar_numberedit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class GVarNumberEdit : public Window
4343
void setAccelFactor(int value) { num_field->setAccelFactor(value); }
4444
void setDisplayHandler(std::function<std::string(int value)> function);
4545

46-
static LAYOUT_VAL(GV_BTN_W, 40, 40, LS(40))
46+
static LAYOUT_VAL(GV_BTN_W, 40, 40)
4747

4848
protected:
4949
Choice* gvar_field = nullptr;

radio/src/gui/colorlcd/controls/source_numberedit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class SourceNumberEdit : public Window
4545

4646
void update();
4747

48-
static LAYOUT_VAL(SRC_BTN_W, 38, 38, LS(38))
48+
static LAYOUT_VAL(SRC_BTN_W, 38, 38)
4949

5050
protected:
5151
Choice* source_field = nullptr;

radio/src/gui/colorlcd/libui/choice.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class ChoiceBase : public FormField
5252

5353
const char* getTitle() const { return menuTitle; }
5454

55-
static LAYOUT_VAL(ICON_W, 18, 18, LS(18))
55+
static LAYOUT_VAL(ICON_W, 18, 18)
5656

5757
protected:
5858
lv_obj_t *label;

radio/src/gui/colorlcd/libui/etx_lv_theme.h

Lines changed: 38 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -33,107 +33,49 @@
3333
* Layout
3434
*********************/
3535

36-
#if LANDSCAPE_LCD_SML
37-
enum PaddingSize {
38-
PAD_ZERO = 0,
39-
PAD_TINY = 1,
40-
PAD_SMALL = 3,
41-
PAD_MEDIUM = 4,
42-
PAD_LARGE = 6,
43-
PAD_SCROLL = 2,
44-
PAD_THREE = PAD_SCROLL,
45-
PAD_TABLE_V = 3,
46-
PAD_TABLE_H = 2,
47-
PAD_OUTLINE = 1,
48-
PAD_BORDER = 2,
49-
};
50-
#elif LANDSCAPE_LCD_LRG
51-
enum PaddingSize {
52-
PAD_ZERO = 0,
53-
PAD_TINY = 3,
54-
PAD_SMALL = 6,
55-
PAD_MEDIUM = 9,
56-
PAD_LARGE = 12,
57-
PAD_SCROLL = 4,
58-
PAD_THREE = PAD_SCROLL,
59-
PAD_TABLE_V = 10,
60-
PAD_TABLE_H = 6,
61-
PAD_OUTLINE = 2,
62-
PAD_BORDER = 2,
63-
};
64-
#else
65-
enum PaddingSize {
66-
PAD_ZERO = 0,
67-
PAD_TINY = 2,
68-
PAD_SMALL = 4,
69-
PAD_MEDIUM = 6,
70-
PAD_LARGE = 8,
71-
PAD_SCROLL = 3,
72-
PAD_THREE = PAD_SCROLL,
73-
PAD_TABLE_V = 7,
74-
PAD_TABLE_H = 4,
75-
PAD_OUTLINE = 2,
76-
PAD_BORDER = 2,
77-
};
78-
#endif
79-
80-
#if !defined(LANDSCAPE_LCD_STD)
81-
# error "LANDSCAPE_LCD_STD must be defined"
82-
#endif
83-
84-
#if !defined(LANDSCAPE_LCD_SML)
85-
# error "LANDSCAPE_LCD_SML must be defined"
86-
#endif
87-
88-
#if !defined(LANDSCAPE_LCD_LRG)
89-
# error "LANDSCAPE_LCD_LRG must be defined"
36+
#if !defined(LAYOUT_SCALE)
37+
#define LAYOUT_SCALE(x) (x)
9038
#endif
9139

92-
#if !defined(PORTRAIT_LCD)
93-
# error "PORTRAIT_LCD must be defined"
40+
#if !defined(NARROW_LAYOUT)
41+
# error "NARROW_LAYOUT must be defined"
9442
#endif
9543

9644
// Macros for setting up layout values
97-
// LS - scaling factor to convert 480 wide landscape to 320 wide landscape
98-
// LAYOUT_VAL - 3 values - landscape, portrait, landscape small
99-
// - 800x480 size is calculated
100-
#define LS(val) ((val * 4 + 3) / 6)
101-
#if LANDSCAPE_LCD_STD
102-
#define LAYOUT_VAL(name, landscape, portrait, landscape_small) \
103-
constexpr coord_t name = landscape;
104-
#elif LANDSCAPE_LCD_SML
105-
#define LAYOUT_VAL(name, landscape, portrait, landscape_small) \
106-
constexpr coord_t name = landscape_small;
107-
#elif LANDSCAPE_LCD_LRG
108-
#define LAYOUT_VAL(name, landscape, portrait, landscape_small) \
109-
constexpr coord_t name = (((landscape) * 3 + 1) / 2);
45+
#if NARROW_LAYOUT
46+
#define LV(standard, narrow) LAYOUT_SCALE(narrow)
11047
#else
111-
#define LAYOUT_VAL(name, landscape, portrait, landscape_small) \
112-
constexpr coord_t name = portrait;
48+
#define LV(standard, narrow) LAYOUT_SCALE(standard)
11349
#endif
11450

115-
// Macro for value which only differ by orientation
116-
#if PORTRAIT_LCD
117-
#define LAYOUT_VAL2(name, landscape, portrait) \
118-
constexpr int name = portrait;
119-
#else
120-
#define LAYOUT_VAL2(name, landscape, portrait) \
121-
constexpr int name = landscape;
122-
#endif
51+
enum PaddingSize {
52+
PAD_ZERO = 0,
53+
PAD_TINY = LAYOUT_SCALE(2),
54+
PAD_SMALL = LAYOUT_SCALE(4),
55+
PAD_MEDIUM = LAYOUT_SCALE(6),
56+
PAD_LARGE = LAYOUT_SCALE(8),
57+
PAD_SCROLL = LAYOUT_SCALE(3),
58+
PAD_THREE = PAD_SCROLL,
59+
PAD_TABLE_V = LAYOUT_SCALE(7),
60+
PAD_TABLE_H = PAD_SMALL,
61+
PAD_OUTLINE = PAD_TINY,
62+
PAD_BORDER = 2,
63+
};
12364

124-
// Macro for all values specified directly
125-
#if LANDSCAPE_LCD_STD
126-
#define LAYOUT_VAL3(name, landscape, portrait, landscape_small, landscape_big) \
127-
constexpr coord_t name = landscape;
128-
#elif LANDSCAPE_LCD_SML
129-
#define LAYOUT_VAL3(name, landscape, portrait, landscape_small, landscape_big) \
130-
constexpr coord_t name = landscape_small;
131-
#elif LANDSCAPE_LCD_LRG
132-
#define LAYOUT_VAL3(name, landscape, portrait, landscape_small, landscape_big) \
133-
constexpr coord_t name = landscape_big;
65+
#define LAYOUT_VAL(name, standard, narrow) \
66+
constexpr coord_t name = LV(standard, narrow);
67+
#define LAYOUT_VAL_EVEN(name, standard, narrow) \
68+
constexpr coord_t name = (LV(standard, narrow) + 1) & 0xFFFE;
69+
#define LAYOUT_VAL_ODD(name, standard, narrow) \
70+
constexpr coord_t name = (LV(standard, narrow) & 0xFFFE) + 1;
71+
72+
// Macro for value which only differ by whether layout is normal or narrow (no scaling)
73+
#if NARROW_LAYOUT
74+
#define LAYOUT_VAL2(name, standard, narrow) \
75+
constexpr int name = narrow;
13476
#else
135-
#define LAYOUT_VAL3(name, landscape, portrait, landscape_small, landscape_big) \
136-
constexpr coord_t name = portrait;
77+
#define LAYOUT_VAL2(name, standard, narrow) \
78+
constexpr int name = standard;
13779
#endif
13880

13981
/**********************
@@ -281,11 +223,11 @@ class EdgeTxStyles
281223
void init();
282224
void applyColors();
283225

284-
static LAYOUT_VAL(STD_FONT_HEIGHT, 21, 21, 14)
285-
static LAYOUT_VAL(UI_ELEMENT_HEIGHT, 32, 32, 24)
286-
static LAYOUT_VAL(MENU_HEADER_HEIGHT, 45, 45, LS(45))
287-
static LAYOUT_VAL(EDIT_FLD_WIDTH_NARROW, 70, 70, LS(70))
288-
static LAYOUT_VAL(EDIT_FLD_WIDTH, 100, 100, LS(100))
226+
static LAYOUT_VAL(STD_FONT_HEIGHT, 21, 21)
227+
static LAYOUT_VAL(UI_ELEMENT_HEIGHT, 32, 32)
228+
static LAYOUT_VAL(MENU_HEADER_HEIGHT, 45, 45)
229+
static LAYOUT_VAL(EDIT_FLD_WIDTH_NARROW, 70, 70)
230+
static LAYOUT_VAL(EDIT_FLD_WIDTH, 100, 100)
289231

290232
protected:
291233
bool initDone = false;

radio/src/gui/colorlcd/libui/fullscreen_dialog.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,22 @@ class FullScreenDialog : public Window
5858

5959
void closeDialog();
6060

61-
static LAYOUT_VAL(ALERT_FRAME_TOP, 50, 70, LS(50))
62-
static LAYOUT_VAL(ALERT_FRAME_HO, 120, 2 * ALERT_FRAME_TOP, LS(120))
61+
static LAYOUT_VAL(ALERT_FRAME_TOP, 50, 70)
62+
static LAYOUT_VAL(ALERT_FRAME_HO, 120, 2 * ALERT_FRAME_TOP)
6363
static constexpr coord_t ALERT_FRAME_HEIGHT = LCD_H - ALERT_FRAME_HO;
64-
static LAYOUT_VAL(ALERT_BMO, 25, 15, LS(25))
64+
static LAYOUT_VAL(ALERT_BMO, 25, 15)
6565
static constexpr coord_t ALERT_BITMAP_TOP = ALERT_FRAME_TOP + ALERT_BMO;
66-
static LAYOUT_VAL(ALERT_BITMAP_LEFT, 20, 15, LS(20))
67-
static LAYOUT_VAL(ALERT_TO, 5, 10, LS(5))
66+
static LAYOUT_VAL(ALERT_BITMAP_LEFT, 20, 15)
67+
static LAYOUT_VAL(ALERT_TO, 5, 10)
6868
static constexpr coord_t ALERT_TITLE_TOP = ALERT_FRAME_TOP + ALERT_TO;
69-
static LAYOUT_VAL(ALERT_TITLE_LEFT, 146, 140, LS(146))
70-
static LAYOUT_VAL(ALERT_MO, 85, 130, LS(85))
69+
static LAYOUT_VAL(ALERT_TITLE_LEFT, 146, 140)
70+
static LAYOUT_VAL(ALERT_MO, 85, 130)
7171
static constexpr coord_t ALERT_MESSAGE_TOP = ALERT_TITLE_TOP + ALERT_MO;
7272
static LAYOUT_VAL2(ALERT_MESSAGE_LEFT, ALERT_TITLE_LEFT, 15)
73-
static LAYOUT_VAL(ONEBTN_W, 280, 280, LS(280))
74-
static LAYOUT_VAL(ONEBTN_H, 40, 40, LS(40))
75-
static LAYOUT_VAL(TWOBTN_W, 100, 100, LS(100))
76-
static LAYOUT_VAL(TWOBTN_H, 40, 40, LS(40))
73+
static LAYOUT_VAL(ONEBTN_W, 280, 280)
74+
static LAYOUT_VAL(ONEBTN_H, 40, 40)
75+
static LAYOUT_VAL(TWOBTN_W, 100, 100)
76+
static LAYOUT_VAL(TWOBTN_H, 40, 40)
7777

7878
protected:
7979
uint8_t type;

radio/src/gui/colorlcd/libui/list_line_button.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ void InputMixButtonBase::setFlightModes(uint16_t modes)
134134
free(fm_buffer);
135135
fm_canvas = nullptr;
136136
fm_buffer = nullptr;
137-
#if PORTRAIT_LCD
137+
#if NARROW_LAYOUT
138138
setHeight(ListLineButton::BTN_H);
139139
#endif
140140
return;
@@ -146,7 +146,7 @@ void InputMixButtonBase::setFlightModes(uint16_t modes)
146146
lv_canvas_set_buffer(fm_canvas, fm_buffer, FM_CANVAS_WIDTH,
147147
FM_CANVAS_HEIGHT, LV_IMG_CF_ALPHA_8BIT);
148148
lv_obj_set_pos(fm_canvas, FM_X, FM_Y);
149-
#if PORTRAIT_LCD
149+
#if NARROW_LAYOUT
150150
setHeight(ListLineButton::BTN_H + FM_CANVAS_HEIGHT + 2);
151151
#endif
152152

radio/src/gui/colorlcd/libui/list_line_button.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,26 +61,26 @@ class InputMixButtonBase : public ListLineButton
6161
virtual void swapLvglGroup(InputMixButtonBase* line2) = 0;
6262

6363
// total: 90 x 17
64-
static LAYOUT_VAL(FM_CANVAS_HEIGHT, 17, 17, LS(17))
65-
static LAYOUT_VAL(FM_CANVAS_WIDTH, 90, 90, 57)
64+
static LAYOUT_VAL(FM_CANVAS_HEIGHT, 17, 17)
65+
static LAYOUT_VAL(FM_CANVAS_WIDTH, 90, 90)
6666

67-
static LAYOUT_VAL(LN_X, 73, 73, LS(73))
67+
static LAYOUT_VAL(LN_X, 73, 73)
6868
static constexpr coord_t BTN_W = ListLineButton::GRP_W - LN_X - PAD_BORDER * 2 - PAD_OUTLINE;
6969
static constexpr coord_t WGT_X = PAD_TINY;
7070
static constexpr coord_t WGT_Y = PAD_TINY;
71-
static LAYOUT_VAL(WGT_W, 50, 50, LS(50))
72-
static LAYOUT_VAL(WGT_H, 21, 21, LS(21))
71+
static LAYOUT_VAL(WGT_W, 50, 50)
72+
static LAYOUT_VAL(WGT_H, 21, 21)
7373
static constexpr coord_t SRC_X = WGT_X + WGT_W + PAD_TINY;
7474
static constexpr coord_t SRC_Y = WGT_Y;
75-
static LAYOUT_VAL(SRC_W, 70, 69, LS(70))
75+
static LAYOUT_VAL(SRC_W, 70, 69)
7676
static constexpr coord_t SRC_H = WGT_H;
7777
static constexpr coord_t OPT_X = SRC_X + SRC_W + PAD_TINY;
7878
static constexpr coord_t OPT_Y = WGT_Y;
7979
static LAYOUT_VAL2(OPT_W, BTN_W - PAD_BORDER * 2 - WGT_W - SRC_W - FM_CANVAS_WIDTH - PAD_TINY * 5, 99)
8080
static constexpr coord_t OPT_H = WGT_H;
8181
static LAYOUT_VAL2(FM_X, BTN_W - PAD_BORDER * 2 - PAD_TINY - FM_CANVAS_WIDTH, 12)
8282
static LAYOUT_VAL2(FM_Y, (WGT_Y + PAD_TINY), (WGT_Y + WGT_H + PAD_TINY))
83-
static LAYOUT_VAL(FM_W, 8, 8, 5)
83+
static LAYOUT_VAL(FM_W, 8, 8)
8484

8585
protected:
8686

radio/src/gui/colorlcd/libui/listbox.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ class ListBox : public TableField
7676
std::string getName() const override { return "ListBox"; }
7777
#endif
7878

79-
static LAYOUT_VAL(MENUS_LINE_HEIGHT, 35, 35, LS(35))
79+
static LAYOUT_VAL(MENUS_LINE_HEIGHT, 35, 35)
8080

8181
protected:
8282
static void event_cb(lv_event_t* e);

radio/src/gui/colorlcd/libui/menutoolbar.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ MenuToolbarButton::MenuToolbarButton(Window* parent, const rect_t& rect,
6262
}
6363

6464
MenuToolbar::MenuToolbar(Choice* choice, Menu* menu, const int columns) :
65-
Window(menu, {0, 0, 0, MENUS_MAX_HEIGHT}),
65+
Window(menu, {0, 0, 0, 0}),
6666
choice(choice),
6767
menu(menu),
6868
filterColumns(columns),

radio/src/gui/colorlcd/libui/menutoolbar.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ class MenuToolbar : public Window
4545

4646
virtual void longPress() {}
4747

48-
static LAYOUT_VAL(MENUS_TOOLBAR_BUTTON_WIDTH, 36, 36, LS(36))
49-
static LAYOUT_VAL3(MENUS_MAX_HEIGHT, ListBox::MENUS_LINE_HEIGHT * 7 + PAD_LARGE, ListBox::MENUS_LINE_HEIGHT * 10, ListBox::MENUS_LINE_HEIGHT * 8 + PAD_LARGE, ListBox::MENUS_LINE_HEIGHT * 8 + PAD_LARGE)
48+
static LAYOUT_VAL(MENUS_TOOLBAR_BUTTON_WIDTH, 36, 36)
5049

5150
protected:
5251
Choice* choice;

0 commit comments

Comments
 (0)