$darkmode
Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
app_ui_layout.h
Go to the documentation of this file.
1 
10 #ifndef APP_UI_LAYOUT_H
11 #define APP_UI_LAYOUT_H
12 
13 #include "app_settings.h" /* DEFAULT_FONT_SIZE */
14 #include <GLFW/glfw3.h> /* GLFW_KEY_*, GLFW_GAMEPAD_* */
15 #include <cglm/types.h> /* vec3 */
16 
17 /* ================================================================
18  * UI Scaling and Layout Defaults
19  * ================================================================ */
20 static const float DEFAULT_BASE_RESOLUTION_HEIGHT = 1080.0F;
21 static const float DEFAULT_KBD_KEY_SIZE = 60.0F;
22 static const float DEFAULT_KBD_KEY_PADDING = 10.0F;
23 static const float DEFAULT_KBD_KEY_RADIUS = 10.0F;
24 static const float DEFAULT_KBD_LABEL_SCALE = 0.75F;
25 static const float DEFAULT_KBD_TITLE_Y_OFFSET = 140.0F;
26 static const float DEFAULT_KBD_DETAIL_Y_OFFSET = 100.0F;
27 
28 /* Layout and Framing */
29 static const float LUMINANCE_EPSILON = 0.0001F;
30 static const float UI_CENTER_FACTOR = 0.5F;
31 static const float GRAPH_TEXT_PADDING = 20.0F;
32 static const float DEBUG_TEXT_Y_OFFSET = DEFAULT_FONT_SIZE * 4.0F;
33 
34 /* Legend Layout Factors */
35 static const float LEGEND_Y_FACTOR = 0.6F;
36 static const float LEGEND_X_START_FACTOR = 0.25F;
37 static const float LEGEND_STEP_FACTOR = 0.18F;
38 static const float LEGEND_COMBO_STEP_MULT = 1.9F;
39 
40 /* Histogram and Graph Limits */
41 static const float GRAPH_POS_X = 20.0F;
42 static const float GRAPH_POS_Y_OFF = 200.0F;
43 static const float GRAPH_DIM_W = 300.0F;
44 static const float GRAPH_DIM_H = 100.0F;
45 
46 /* ================================================================
47  * Cyberpunk overlay visual tweaks
48  * ================================================================ */
49 static const float DEFAULT_KBD_BLOOM_SCALE = 1.3F;
50 static const float DEFAULT_KBD_UNBOUND_ALPHA = 0.22F;
51 static const float DEFAULT_KBD_BOUND_ALPHA = 0.88F;
52 static const float PANEL_FRAME_ALPHA = 0.72F;
53 static const float BLOOM_MAX_INTENSITY = 0.5F;
54 static const float GLOW_HOVER_ALPHA = 0.6F;
55 static const float BLOOM_PRESS_MAX_ALPHA = 0.9F;
56 static const float HELP_BG_ALPHA = 0.88F;
57 static const float KEY_PRESSED_ALPHA = 0.95F;
58 static const float KEY_DEFAULT_ALPHA = 0.4F;
59 static const float KEY_PRESS_BRIGHTEN_MIN = 0.6F;
60 static const float HELP_TEXT_ALPHA = 0.8F;
61 static const float HELP_EXIT_HINT_X_OFF = 300.0F;
62 static const float HELP_EXIT_HINT_Y_OFF = 50.0F;
63 
64 /* ================================================================
65  * UI Colors
66  * ================================================================ */
67 static const vec3 KEY_COLOR_DEFAULT = {0.15F, 0.15F, 0.20F};
68 static const vec3 KEY_COLOR_TOGGLE = {0.0F, 0.82F, 0.92F};
69 static const vec3 KEY_COLOR_CYCLE = {0.12F, 0.90F, 0.12F};
70 static const vec3 KEY_COLOR_COMBINATION = {1.0F, 0.56F, 0.05F};
71 static const vec3 HELP_BG_COLOR = {0.05F, 0.05F, 0.07F};
72 static const vec3 CYBER_TITLE_COLOR = {0.0F, 0.90F, 0.95F};
73 static const vec3 ENV_TEXT_COLOR = {0.7F, 0.7F, 0.7F};
74 static const vec3 GRAPH_TEXT_COLOR = {0.8F, 0.8F, 0.8F};
75 static const vec3 DEBUG_ORANGE_COLOR = {1.0F, 0.5F, 0.0F};
76 static const vec3 NBODY_INFO_COLOR = {0.4F, 0.8F, 1.0F};
77 static const vec3 NBODY_STABLE_COLOR = {0.2F, 1.0F, 0.4F};
78 static const vec3 NBODY_DAMPING_COLOR = {1.0F, 0.8F, 0.2F};
79 static const vec3 NBODY_DIVERGE_COLOR = {1.0F, 0.3F, 0.2F};
80 static const float NBODY_STABILITY_THRESHOLD = 0.05F;
81 static const vec3 HISTO_BAR_COLOR_GREEN = {0.0F, 0.7F, 0.0F};
82 static const vec3 HISTO_BAR_COLOR_BLUE = {0.0F, 0.5F, 0.8F};
83 static const vec3 HISTO_BAR_COLOR_RED = {0.8F, 0.5F, 0.0F};
84 
85 /* ================================================================
86  * Animation and Timing
87  * ================================================================ */
88 static const float GLOBAL_DIM_MAX_FALLOFF = 0.7F;
89 static const float GLOBAL_DIM_SMOOTH_FACTOR = 15.0F;
90 static const double HOVER_DECAY_DURATION = 0.15;
91 
92 /* ================================================================
93  * Loading Indicator and Spinner
94  * ================================================================ */
95 static const double UI_SPINNER_SPEED = 10.0;
96 static const float UI_LOADING_TEXT_WIDTH_FACTOR = 20.0F;
97 static const float UI_SPINNER_SIZE = 64.0F;
98 static const float UI_TEXT_OFFSET_FACTOR = 0.8F;
99 static const vec3 UI_SPINNER_COLOR = {90.0F / 255.0F, 111.0F / 255.0F,
100  185.0F / 255.0F};
101 
102 enum { UI_LOADING_TEXT_SIZE = 64 };
103 
104 /* ================================================================
105  * UI Buffers and Limits
106  * ================================================================ */
107 enum {
115 };
116 
117 /* ================================================================
118  * Keyboard layout data
119  * ================================================================ */
120 
121 enum {
125  ROW_ASDF = 3,
126  ROW_ZXCV = 4,
127  ROW_BOTTOM = 5
128 };
129 
130 typedef struct {
131  int key;
132  int row;
133  float x_off; /* In units of KEY_SIZE + KEY_PADDING */
134  float width; /* In units of KEY_SIZE */
135  const char* label;
136 } KeyPos;
137 
138 static const KeyPos KEY_LAYOUT_QWERTY[] = {
139  /* Row 0: Esc + Func */
140  {GLFW_KEY_ESCAPE, ROW_SYSTEM, 0.0F, 1.0F, "Esc"},
141  {GLFW_KEY_F1, ROW_SYSTEM, 2.0F, 1.0F, "F1"},
142  {GLFW_KEY_F2, ROW_SYSTEM, 3.0F, 1.0F, "F2"},
143  {GLFW_KEY_F3, ROW_SYSTEM, 4.0F, 1.0F, "F3"},
144  {GLFW_KEY_F4, ROW_SYSTEM, 5.0F, 1.0F, "F4"},
145  {GLFW_KEY_F5, ROW_SYSTEM, 6.5F, 1.0F, "F5"},
146  {GLFW_KEY_F6, ROW_SYSTEM, 7.5F, 1.0F, "F6"},
147  {GLFW_KEY_F7, ROW_SYSTEM, 8.5F, 1.0F, "F7"},
148  {GLFW_KEY_F8, ROW_SYSTEM, 9.5F, 1.0F, "F8"},
149  {GLFW_KEY_F9, ROW_SYSTEM, 11.5F, 1.0F, "F9"},
150  {GLFW_KEY_F10, ROW_SYSTEM, 12.5F, 1.0F, "F10"},
151  {GLFW_KEY_F11, ROW_SYSTEM, 13.5F, 1.0F, "F11"},
152  {GLFW_KEY_F12, ROW_SYSTEM, 14.5F, 1.2F, "F12"},
153 
154  /* Row 1: Numbers/Symbols */
155  {GLFW_KEY_GRAVE_ACCENT, ROW_NUMBERS, 0.0F, 1.0F, "~"},
156  {GLFW_KEY_1, ROW_NUMBERS, 1.0F, 1.0F, "1"},
157  {GLFW_KEY_2, ROW_NUMBERS, 2.0F, 1.0F, "2"},
158  {GLFW_KEY_3, ROW_NUMBERS, 3.0F, 1.0F, "3"},
159  {GLFW_KEY_4, ROW_NUMBERS, 4.0F, 1.0F, "4"},
160  {GLFW_KEY_5, ROW_NUMBERS, 5.0F, 1.0F, "5"},
161  {GLFW_KEY_6, ROW_NUMBERS, 6.0F, 1.0F, "6"},
162  {GLFW_KEY_7, ROW_NUMBERS, 7.0F, 1.0F, "7"},
163  {GLFW_KEY_8, ROW_NUMBERS, 8.0F, 1.0F, "8"},
164  {GLFW_KEY_9, ROW_NUMBERS, 9.0F, 1.0F, "9"},
165  {GLFW_KEY_0, ROW_NUMBERS, 10.0F, 1.0F, "0"},
166 
167  /* Row 2: QWERTY */
168  {GLFW_KEY_TAB, ROW_QWERTY, 0.0F, 1.5F, "Tab"},
169  {GLFW_KEY_Q, ROW_QWERTY, 1.5F, 1.0F, "Q"},
170  {GLFW_KEY_W, ROW_QWERTY, 2.5F, 1.0F, "W"},
171  {GLFW_KEY_E, ROW_QWERTY, 3.5F, 1.0F, "E"},
172  {GLFW_KEY_R, ROW_QWERTY, 4.5F, 1.0F, "R"},
173  {GLFW_KEY_T, ROW_QWERTY, 5.5F, 1.0F, "T"},
174  {GLFW_KEY_Y, ROW_QWERTY, 6.5F, 1.0F, "Y"},
175  {GLFW_KEY_U, ROW_QWERTY, 7.5F, 1.0F, "U"},
176  {GLFW_KEY_I, ROW_QWERTY, 8.5F, 1.0F, "I"},
177  {GLFW_KEY_O, ROW_QWERTY, 9.5F, 1.0F, "O"},
178  {GLFW_KEY_P, ROW_QWERTY, 10.5F, 1.0F, "P"},
179 
180  /* Row 3: ASDF */
181  {GLFW_KEY_CAPS_LOCK, ROW_ASDF, 0.0F, 1.8F, "Caps"},
182  {GLFW_KEY_A, ROW_ASDF, 1.8F, 1.0F, "A"},
183  {GLFW_KEY_S, ROW_ASDF, 2.8F, 1.0F, "S"},
184  {GLFW_KEY_D, ROW_ASDF, 3.8F, 1.0F, "D"},
185  {GLFW_KEY_F, ROW_ASDF, 4.8F, 1.0F, "F"},
186  {GLFW_KEY_G, ROW_ASDF, 5.8F, 1.0F, "G"},
187  {GLFW_KEY_H, ROW_ASDF, 6.8F, 1.0F, "H"},
188  {GLFW_KEY_J, ROW_ASDF, 7.8F, 1.0F, "J"},
189  {GLFW_KEY_K, ROW_ASDF, 8.8F, 1.0F, "K"},
190  {GLFW_KEY_L, ROW_ASDF, 9.8F, 1.0F, "L"},
191 
192  /* Row 4: ZXCV */
193  {GLFW_KEY_LEFT_SHIFT, ROW_ZXCV, 0.0F, 2.3F, "Shift"},
194  {GLFW_KEY_Z, ROW_ZXCV, 2.3F, 1.0F, "Z"},
195  {GLFW_KEY_X, ROW_ZXCV, 3.3F, 1.0F, "X"},
196  {GLFW_KEY_C, ROW_ZXCV, 4.3F, 1.0F, "C"},
197  {GLFW_KEY_V, ROW_ZXCV, 5.3F, 1.0F, "V"},
198  {GLFW_KEY_B, ROW_ZXCV, 6.3F, 1.0F, "B"},
199  {GLFW_KEY_N, ROW_ZXCV, 7.3F, 1.0F, "N"},
200  {GLFW_KEY_M, ROW_ZXCV, 8.3F, 1.0F, "M"},
201  {GLFW_KEY_COMMA, ROW_ZXCV, 9.3F, 1.0F, ","},
202  {GLFW_KEY_PERIOD, ROW_ZXCV, 10.3F, 1.0F, "."},
203 
204  /* Row 5: Space/System */
205  {GLFW_KEY_LEFT_CONTROL, ROW_BOTTOM, 0.0F, 1.5F, "Ctrl"},
206  {GLFW_KEY_SPACE, ROW_BOTTOM, 3.8F, 6.0F, "Space"},
207  {GLFW_KEY_PAGE_UP, ROW_ZXCV, 13.5F, 1.3F, "PgUp"},
208  {GLFW_KEY_PAGE_DOWN, ROW_BOTTOM, 13.5F, 1.3F, "PgDn"},
209  {GLFW_KEY_UP, ROW_ZXCV, 15.0F, 1.0F, "Up"},
210  {GLFW_KEY_DOWN, ROW_BOTTOM, 15.0F, 1.0F, "Dn"}};
211 
212 /* ================================================================
213  * Gamepad overlay layout
214  * ================================================================ */
215 
216 typedef struct {
217  float x_off;
218  float y_off;
219  float width;
220  float height;
221  int is_bound;
223  int gp_btn;
224  int gp_axis;
225  int gp_axis2;
226  const char* label;
227  const char* action;
228  const char* desc;
230 
231 enum {
236  GP_ROW_SYSTEM = 4
237 };
238 
240  /* L2 / R2 (triggers — wide, top) */
241  {0.5F, 0.0F, 2.5F, 0.8F, 1, 0, -1, GLFW_GAMEPAD_AXIS_LEFT_TRIGGER, -1, "L2",
242  "Move Down", "Left trigger: moves the camera downward (proportional)."},
243  {9.0F, 0.0F, 2.5F, 0.8F, 1, 0, -1, GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER, -1,
244  "R2", "Move Up", "Right trigger: moves the camera upward (proportional)."},
245 
246  /* L1 / R1 (bumpers — narrower, below triggers) */
247  {0.5F, 1.1F, 2.5F, 0.6F, 1, 2, GLFW_GAMEPAD_BUTTON_LEFT_BUMPER, -1, -1,
248  "L1", "Prev Env", "Left bumper: cycles to the previous environment map."},
249  {9.0F, 1.1F, 2.5F, 0.6F, 1, 2, GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER, -1, -1,
250  "R1", "Next Env", "Right bumper: cycles to the next environment map."},
251 
252  /* D-pad (left side, unbound) */
253  {1.5F, 2.8F, 0.7F, 0.7F, 0, 0, GLFW_GAMEPAD_BUTTON_DPAD_UP, -1, -1,
254  "\xE2\x96\xB2", "", ""},
255  {0.8F, 3.5F, 0.7F, 0.7F, 0, 0, GLFW_GAMEPAD_BUTTON_DPAD_LEFT, -1, -1,
256  "\xE2\x97\x80", "", ""},
257  {2.2F, 3.5F, 0.7F, 0.7F, 0, 0, GLFW_GAMEPAD_BUTTON_DPAD_RIGHT, -1, -1,
258  "\xE2\x96\xB6", "", ""},
259  {1.5F, 4.2F, 0.7F, 0.7F, 0, 0, GLFW_GAMEPAD_BUTTON_DPAD_DOWN, -1, -1,
260  "\xE2\x96\xBC", "", ""},
261 
262  /* Face buttons (right side, unbound) */
263  {10.0F, 2.8F, 0.7F, 0.7F, 0, 0, GLFW_GAMEPAD_BUTTON_Y, -1, -1, "Y", "", ""},
264  {9.3F, 3.5F, 0.7F, 0.7F, 0, 0, GLFW_GAMEPAD_BUTTON_X, -1, -1, "X", "", ""},
265  {10.7F, 3.5F, 0.7F, 0.7F, 0, 0, GLFW_GAMEPAD_BUTTON_B, -1, -1, "B", "", ""},
266  {10.0F, 4.2F, 0.7F, 0.7F, 0, 0, GLFW_GAMEPAD_BUTTON_A, -1, -1, "A", "", ""},
267 
268  /* Left Stick (active — camera movement) */
269  {1.0F, 5.5F, 1.8F, 1.2F, 1, 0, -1, GLFW_GAMEPAD_AXIS_LEFT_X,
270  GLFW_GAMEPAD_AXIS_LEFT_Y, "L Stick", "Camera Move",
271  "Left analog stick: proportional camera movement (forward/back/strafe)."},
272 
273  /* Right Stick (active — camera look) */
274  {9.2F, 5.5F, 1.8F, 1.2F, 1, 0, -1, GLFW_GAMEPAD_AXIS_RIGHT_X,
275  GLFW_GAMEPAD_AXIS_RIGHT_Y, "R Stick", "Camera Look",
276  "Right analog stick: proportional camera look (yaw/pitch)."},
277 
278  /* Center buttons */
279  {4.5F, 3.5F, 1.2F, 0.6F, 1, 1, GLFW_GAMEPAD_BUTTON_BACK, -1, -1, "Share",
280  "Camera Reset", "Reset camera position, orientation and LOD to defaults."},
281  {6.3F, 3.5F, 1.2F, 0.6F, 0, 0, GLFW_GAMEPAD_BUTTON_START, -1, -1, "Options",
282  "", ""},
283 };
284 
285 enum {
287  sizeof(GAMEPAD_LAYOUT) / sizeof(GAMEPAD_LAYOUT[0])
288 };
289 
290 #endif /* APP_UI_LAYOUT_H */
Global application constants, configuration macros, and default values.
static const vec3 NBODY_INFO_COLOR
Definition: app_ui_layout.h:76
static const vec3 HISTO_BAR_COLOR_BLUE
Definition: app_ui_layout.h:82
@ ROW_NUMBERS
Definition: app_ui_layout.h:123
@ ROW_QWERTY
Definition: app_ui_layout.h:124
@ ROW_ZXCV
Definition: app_ui_layout.h:126
@ ROW_ASDF
Definition: app_ui_layout.h:125
@ ROW_SYSTEM
Definition: app_ui_layout.h:122
@ ROW_BOTTOM
Definition: app_ui_layout.h:127
static const float DEFAULT_KBD_KEY_RADIUS
Definition: app_ui_layout.h:23
static const vec3 KEY_COLOR_CYCLE
Definition: app_ui_layout.h:69
static const float KEY_PRESS_BRIGHTEN_MIN
Definition: app_ui_layout.h:59
static const float UI_TEXT_OFFSET_FACTOR
Definition: app_ui_layout.h:98
static const float LEGEND_Y_FACTOR
Definition: app_ui_layout.h:35
static const float DEFAULT_KBD_DETAIL_Y_OFFSET
Definition: app_ui_layout.h:26
static const float BLOOM_PRESS_MAX_ALPHA
Definition: app_ui_layout.h:55
static const float HELP_EXIT_HINT_Y_OFF
Definition: app_ui_layout.h:62
static const float UI_LOADING_TEXT_WIDTH_FACTOR
Definition: app_ui_layout.h:96
static const float LUMINANCE_EPSILON
Definition: app_ui_layout.h:29
static const double HOVER_DECAY_DURATION
Definition: app_ui_layout.h:90
static const float GLOBAL_DIM_MAX_FALLOFF
Definition: app_ui_layout.h:88
static const float HELP_BG_ALPHA
Definition: app_ui_layout.h:56
static const vec3 KEY_COLOR_DEFAULT
Definition: app_ui_layout.h:67
static const float GRAPH_POS_X
Definition: app_ui_layout.h:41
static const vec3 HELP_BG_COLOR
Definition: app_ui_layout.h:71
static const vec3 HISTO_BAR_COLOR_RED
Definition: app_ui_layout.h:83
static const vec3 NBODY_DAMPING_COLOR
Definition: app_ui_layout.h:78
static const KeyPos KEY_LAYOUT_QWERTY[]
Definition: app_ui_layout.h:138
static const float GRAPH_TEXT_PADDING
Definition: app_ui_layout.h:31
static const vec3 NBODY_STABLE_COLOR
Definition: app_ui_layout.h:77
static const vec3 HISTO_BAR_COLOR_GREEN
Definition: app_ui_layout.h:81
static const float HELP_TEXT_ALPHA
Definition: app_ui_layout.h:60
static const vec3 KEY_COLOR_COMBINATION
Definition: app_ui_layout.h:70
@ UI_LOADING_TEXT_SIZE
Definition: app_ui_layout.h:102
static const vec3 KEY_COLOR_TOGGLE
Definition: app_ui_layout.h:68
static const float KEY_DEFAULT_ALPHA
Definition: app_ui_layout.h:58
static const float DEFAULT_KBD_BLOOM_SCALE
Definition: app_ui_layout.h:49
static const float GRAPH_DIM_W
Definition: app_ui_layout.h:43
@ MODIFIER_BUFFER_SIZE
Definition: app_ui_layout.h:113
@ KEYBOARD_BUFFER_SIZE
Definition: app_ui_layout.h:114
@ EXPOSURE_TEXT_BUFFER_SIZE
Definition: app_ui_layout.h:111
@ ENV_TEXT_BUFFER_SIZE
Definition: app_ui_layout.h:110
@ NBODY_TEXT_BUFFER_SIZE
Definition: app_ui_layout.h:112
@ DEBUG_TEXT_BUFFER_SIZE
Definition: app_ui_layout.h:108
@ RANGE_TEXT_BUFFER_SIZE
Definition: app_ui_layout.h:109
static const float GLOW_HOVER_ALPHA
Definition: app_ui_layout.h:54
static const GamepadControlPos GAMEPAD_LAYOUT[]
Definition: app_ui_layout.h:239
static const float KEY_PRESSED_ALPHA
Definition: app_ui_layout.h:57
static const vec3 NBODY_DIVERGE_COLOR
Definition: app_ui_layout.h:79
static const float UI_SPINNER_SIZE
Definition: app_ui_layout.h:97
static const float BLOOM_MAX_INTENSITY
Definition: app_ui_layout.h:53
static const float LEGEND_COMBO_STEP_MULT
Definition: app_ui_layout.h:38
static const float HELP_EXIT_HINT_X_OFF
Definition: app_ui_layout.h:61
static const float DEFAULT_KBD_UNBOUND_ALPHA
Definition: app_ui_layout.h:50
static const double UI_SPINNER_SPEED
Definition: app_ui_layout.h:95
static const float DEFAULT_KBD_LABEL_SCALE
Definition: app_ui_layout.h:24
static const float DEFAULT_KBD_TITLE_Y_OFFSET
Definition: app_ui_layout.h:25
static const float UI_CENTER_FACTOR
Definition: app_ui_layout.h:30
static const vec3 GRAPH_TEXT_COLOR
Definition: app_ui_layout.h:74
@ GAMEPAD_LAYOUT_COUNT
Definition: app_ui_layout.h:286
static const float NBODY_STABILITY_THRESHOLD
Definition: app_ui_layout.h:80
static const float GRAPH_DIM_H
Definition: app_ui_layout.h:44
@ GP_ROW_FACE
Definition: app_ui_layout.h:234
@ GP_ROW_STICKS
Definition: app_ui_layout.h:235
@ GP_ROW_BUMPERS
Definition: app_ui_layout.h:233
@ GP_ROW_TRIGGERS
Definition: app_ui_layout.h:232
@ GP_ROW_SYSTEM
Definition: app_ui_layout.h:236
static const float DEFAULT_KBD_KEY_PADDING
Definition: app_ui_layout.h:22
static const vec3 UI_SPINNER_COLOR
Definition: app_ui_layout.h:99
static const float DEFAULT_BASE_RESOLUTION_HEIGHT
Definition: app_ui_layout.h:20
static const vec3 DEBUG_ORANGE_COLOR
Definition: app_ui_layout.h:75
static const float DEFAULT_KBD_KEY_SIZE
Definition: app_ui_layout.h:21
static const float DEBUG_TEXT_Y_OFFSET
Definition: app_ui_layout.h:32
static const float DEFAULT_KBD_BOUND_ALPHA
Definition: app_ui_layout.h:51
static const float PANEL_FRAME_ALPHA
Definition: app_ui_layout.h:52
static const vec3 CYBER_TITLE_COLOR
Definition: app_ui_layout.h:72
static const float GRAPH_POS_Y_OFF
Definition: app_ui_layout.h:42
static const float LEGEND_STEP_FACTOR
Definition: app_ui_layout.h:37
static const vec3 ENV_TEXT_COLOR
Definition: app_ui_layout.h:73
static const float LEGEND_X_START_FACTOR
Definition: app_ui_layout.h:36
static const float GLOBAL_DIM_SMOOTH_FACTOR
Definition: app_ui_layout.h:89
static const float DEFAULT_FONT_SIZE
Definition: app_settings.h:215
Definition: app_ui_layout.h:216
const char * action
Definition: app_ui_layout.h:227
const char * desc
Definition: app_ui_layout.h:228
float height
Definition: app_ui_layout.h:220
int gp_axis
Definition: app_ui_layout.h:224
float width
Definition: app_ui_layout.h:219
int gp_btn
Definition: app_ui_layout.h:223
float x_off
Definition: app_ui_layout.h:217
int gp_axis2
Definition: app_ui_layout.h:225
int is_bound
Definition: app_ui_layout.h:221
int bind_type
Definition: app_ui_layout.h:222
float y_off
Definition: app_ui_layout.h:218
const char * label
Definition: app_ui_layout.h:226
Definition: app_ui_layout.h:130
int key
Definition: app_ui_layout.h:131
const char * label
Definition: app_ui_layout.h:135
float width
Definition: app_ui_layout.h:134
float x_off
Definition: app_ui_layout.h:133
int row
Definition: app_ui_layout.h:132