1# Copyright (c) 2018-2019 Jan Van Winkel <jan.van_winkel@dxplore.eu>
2# SPDX-License-Identifier: Apache-2.0
3
4menu "Objects"
5
6config LVGL_USE_OBJ_REALIGN
7	bool "Object realign support"
8	help
9	  Enable object realign support
10
11choice
12	prompt "Extend objects clickable area"
13	default LVGL_EXT_CLICK_AREA_OFF
14
15	config LVGL_EXT_CLICK_AREA_OFF
16		bool "Disabled"
17
18	config LVGL_EXT_CLICK_AREA_TINY
19		bool "Only horizontally and vertical"
20
21	config LVGL_EXT_CLICK_AREA_FULL
22		bool "Full flexibility"
23endchoice
24
25config LVGL_USE_ARC
26	bool "Arc Object"
27	help
28	  Enable arc object support
29
30config LVGL_USE_BAR
31	bool "Bar object"
32	help
33	  Enable bar object support
34
35config LVGL_USE_BTN
36	bool "Button object"
37	depends on LVGL_USE_CONT
38	help
39	  Enable button object support
40
41config LVGL_USE_BTNMATRIX
42	bool "Button Matrix object"
43	help
44	  Enable button matrix object support
45
46config LVGL_USE_CALENDAR
47	bool "Calendar object"
48	help
49	  Enable calendar object support
50
51config LVGL_CALENDAR_WEEK_STARTS_MONDAY
52	bool "Calendar week starts on Monday"
53	depends on LVGL_USE_CALENDAR
54	help
55	  Start a calendar week on Monday
56
57config LVGL_USE_CANVAS
58	bool "Canvas object"
59	depends on LVGL_USE_IMG
60	help
61	  Enabled canvas object support
62
63config LVGL_USE_CHART
64	bool "Chart object"
65	help
66	  Enable chart object support
67
68config LVGL_CHART_AXIS_TICK_LABEL_MAX_LEN
69	int "Maximum length of axis label"
70	default 256
71	depends on LVGL_USE_CHART
72	help
73	  Maximum length of axis label
74
75config LVGL_USE_CHECKBOX
76	bool "Check box object"
77	depends on LVGL_USE_BTN && LVGL_USE_LABEL
78	help
79	  Enable check box object support
80
81config LVGL_USE_CONT
82	bool "Container Object"
83	help
84	  Enable container object support
85
86config LVGL_USE_CPICKER
87	bool "Color picker object"
88	help
89	  Enable color picker object support
90
91config LVGL_USE_DROPDOWN
92	bool "Drop Down List object"
93	depends on LVGL_USE_LABEL && LVGL_USE_PAGE
94	help
95	  Enable drop down list object support
96
97config LVGL_DROPDOWN_DEF_ANIM_TIME
98	int "Drop Down list animation time"
99	default 200
100	depends on LVGL_USE_DROPDOWN
101	help
102	  Drop down list animation time in milliseconds
103
104config LVGL_USE_GAUGE
105	bool "Gauge object"
106	depends on LVGL_USE_BAR && LVGL_USE_LINEMETER
107	help
108	  Enable gauge object support
109
110config LVGL_USE_IMG
111	bool "Image Object"
112	depends on LVGL_USE_LABEL
113	help
114	  Enable image object support
115
116config LVGL_USE_IMGBTN
117	bool "Image Button"
118	depends on LVGL_USE_BTN
119	help
120	  Enable image button object support
121
122config LVGL_IMGBTN_TILED
123	bool "Image button tile support"
124	depends on LVGL_USE_IMGBTN
125	help
126	  Enable tile support for image button
127
128config LVGL_USE_KEYBOARD
129	bool "Keyboard object"
130	depends on LVGL_USE_BTNMATRIX
131	help
132	  Enable keyboard object support
133
134config LVGL_USE_LABEL
135	bool "Label Object"
136	help
137	  Enable label support
138
139if LVGL_USE_LABEL
140
141config LVGL_LABEL_DEF_SCROLL_SPEED
142	int "Label scroll speed"
143	default 25
144	help
145	  Scroll speed in pixels per second if scroll mode is enabled for a label
146
147config LVGL_LABEL_TEXT_SEL
148	bool "Enable label text selection"
149	help
150	  Enable label text selection
151
152config LVGL_LABEL_WAIT_CHAR_COUNT
153	int "Waiting period for label animation"
154	default 3
155	help
156	  Waiting period at beginning/end of the label animation cycle
157
158config LVGL_LABEL_LONG_TXT_HINT
159	bool "Enable long text hint for labels"
160	help
161	  Enable support for long text hints
162
163endif # LVGL_USE_LABEL
164
165config LVGL_USE_LED
166	bool "LED object"
167	help
168	  Enable LED object support
169
170if LVGL_USE_LED
171
172config LVGL_LED_BRIGHT_MIN
173	int "LED minimum brightness"
174	default 120
175	help
176	  LED minimum brightness
177
178config LVGL_LED_BRIGHT_MAX
179	int "LED maximum brightness"
180	default 255
181	help
182	  LED maximum brightness
183
184endif # LVGL_USE_LED
185
186config LVGL_USE_LINE
187	bool "Line Object"
188	help
189	  Enable line object support
190
191config LVGL_USE_LINEMETER
192	bool "Line meter object"
193	help
194	  Enable line meter object support
195
196if LVGL_USE_LINEMETER
197
198choice
199	prompt "Line meter drawing precision"
200	default LVGL_LINEMETER_PRECISE_NO_EXTRA
201
202	config LVGL_LINEMETER_PRECISE_NO_EXTRA
203		bool "No extra precision"
204
205	config LVGL_LINEMETER_PRECISE_SOME_EXTRA
206		bool "Some extra precision"
207
208	config LVGL_LINEMETER_PRECISE_BEST
209		bool "Best precision"
210endchoice
211
212endif # LVGL_USE_LINEMETER
213
214config LVGL_USE_LIST
215	bool "List object"
216	depends on LVGL_USE_BTN && LVGL_USE_LABEL && LVGL_USE_PAGE
217	help
218	  Enable list object support
219
220config LVGL_LIST_DEF_ANIM_TIME
221	int "List focus default animation time"
222	default 100
223	depends on LVGL_USE_LIST
224	help
225	  List focus default animation time in milliseconds
226
227config LVGL_USE_MSGBOX
228	bool "Message box object"
229	depends on LVGL_USE_BTNMATRIX && LVGL_USE_LABEL
230	help
231	  Enable message box object support
232
233config LVGL_USE_OBJMASK
234	bool "Mask object"
235	help
236	  Enable object mask support
237
238config LVGL_USE_PAGE
239	bool "Page object"
240	depends on LVGL_USE_CONT
241	help
242	  Enable page object support
243
244config LVGL_PAGE_DEF_ANIM_TIME
245	int "Default page focus animation time"
246	default 400
247	depends on LVGL_USE_PAGE
248	help
249	  Default page focus animation time in milliseconds
250
251config LVGL_USE_ROLLER
252	bool "Roller object"
253	depends on LVGL_USE_DROPDOWN
254	help
255	  Enable roller object support
256
257if LVGL_USE_ROLLER
258
259config LVGL_ROLLER_DEF_ANIM_TIME
260	int "Roller animation time"
261	default 200
262	help
263	  Roller animation time in milliseconds
264
265config LVGL_ROLLER_INF_PAGES
266	int "Number of pages for infinite roller"
267	default 7
268	help
269	  Number of extra pages in case the roller is infinite
270
271endif # LVGL_USE_ROLLER
272
273config LVGL_USE_SLIDER
274	bool "Slider object"
275	depends on LVGL_USE_BAR
276	help
277	  Enable slider object support
278
279config LVGL_USE_SPINBOX
280	bool "Spinbox object"
281	depends on LVGL_USE_TEXTAREA
282	help
283	  Enable spinbox object support
284
285config LVGL_USE_SPINNER
286	bool "Spinner object"
287	depends on LVGL_USE_ARC
288	help
289	  Enable spinner object support
290
291if LVGL_USE_SPINNER
292
293config LVGL_SPINNER_DEF_ARC_LENGTH
294	int "Default arc length"
295	range 1 360
296	default 60
297	help
298	  Default arc length for spinner in degrees
299
300config LVGL_SPINNER_DEF_SPIN_TIME
301	int "Default spin time"
302	default 1000
303	help
304	  Default spin time for spinner in ms
305
306choice
307	prompt "Default spinner animation type"
308	default LVGL_SPINNER_DEF_ANIM_SPINNING_ARC
309	help
310	  Default spinner animation type
311
312	config LVGL_SPINNER_DEF_ANIM_SPINNING_ARC
313		bool "Spinning arc"
314
315	config LVGL_SPINNER_DEF_ANIM_FILLSPIN_ARC
316		bool "Fill spin arc"
317
318	config LVGL_SPINNER_DEF_ANIM_CONSTANT_ARC
319		bool "Constant arc"
320endchoice
321
322endif # LVGL_USE_SPINNER
323
324config LVGL_USE_SWITCH
325	bool "Switch object"
326	depends on LVGL_USE_SLIDER
327	help
328	  Enable switch object support
329
330config LVGL_USE_TABLE
331	bool "Table object"
332	depends on LVGL_USE_LABEL
333	help
334	  Enable table object support
335
336config LVGL_TABLE_COL_MAX
337	int "Maximum number of table columns"
338	default 12
339	depends on LVGL_USE_TABLE
340	help
341	  Maximum number of columns to support in a table
342
343config LVGL_USE_TABVIEW
344	bool "Tab view object"
345	depends on LVGL_USE_PAGE && LVGL_USE_BTNMATRIX
346	help
347	  Enable tab view object support
348
349config LVGL_TABVIEW_DEF_ANIM_TIME
350	int "Tab view animation time"
351	default 300
352	depends on LVGL_USE_TABVIEW
353	help
354	  Tab view animation time in milliseconds
355
356config LVGL_USE_TEXTAREA
357	bool "Text area object"
358	depends on LVGL_USE_LABEL && LVGL_USE_PAGE
359	help
360	  Enable text area object support
361
362if LVGL_USE_TEXTAREA
363
364config LVGL_TA_DEF_CURSOR_BLINK_TIME
365	int "Cursor Blink Time"
366	default 400
367	help
368	  Text area cursor blink time in milliseconds
369
370config LVGL_TA_DEF_PWD_SHOW_TIME
371	int "Label scroll speed"
372	default 1500
373	help
374	  Password character show time in milliseconds
375
376endif # LVGL_USE_TEXTAREA
377
378config LVGL_USE_TILEVIEW
379	bool "Tile view object"
380	depends on LVGL_USE_PAGE
381	help
382	  Enable tile view object support
383
384config LVGL_TILEVIEW_DEF_ANIM_TIME
385	int "Tile view animation time"
386	default 300
387	depends on LVGL_USE_TILEVIEW
388	help
389	  Tile view animation time in milliseconds
390
391config LVGL_USE_WIN
392	bool "Window object"
393	depends on LVGL_USE_CONT && LVGL_USE_BTN && LVGL_USE_LABEL && LVGL_USE_IMG && LVGL_USE_PAGE
394	help
395	  Enable window object support
396
397endmenu
398