Go to the documentation of this file.
38#include "../vsf_ui_cfg.h"
40#ifndef __VSF_TINY_GUI_CFG_H__
41#define __VSF_TINY_GUI_CFG_H__
43#if VSF_USE_TINY_GUI == ENABLED
47#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L
48# error tGUI requires ANSI-C99 and above
56#define VSF_TGUI_V_TEMPLATE_EXAMPLE 1
57#define VSF_TGUI_V_TEMPLATE_SIMPLE_VIEW 2
58#define VSF_TGUI_V_TEMPLATE_SCGUI_VIEW 3
60#ifndef VSF_TGUI_CFG_RENDERING_TEMPLATE_SEL
61# define VSF_TGUI_CFG_RENDERING_TEMPLATE_SEL VSF_TGUI_V_TEMPLATE_EXAMPLE
68#define VSF_TGUI_COLOR_RGB_565 0
69#define VSF_TGUI_COLOR_BGR_565 1
70#define VSF_TGUI_COLOR_ARGB_8888 2
71#define VSF_TGUI_COLOR_RGB8_USER_TEMPLATE 3
73#ifndef VSF_TGUI_CFG_COLOR_MODE
74# define VSF_TGUI_CFG_COLOR_MODE VSF_TGUI_COLOR_ARGB_8888
77#undef __VSF_TGUI_IS_COLOR_SUPPORT_ALPHA__
78#if VSF_TGUI_CFG_COLOR_MODE == VSF_TGUI_COLOR_ARGB_8888
79# define __VSF_TGUI_IS_COLOR_SUPPORT_ALPHA__ 1
81# define __VSF_TGUI_IS_COLOR_SUPPORT_ALPHA__ 0
88#ifndef VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_PADDING
89# define VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_PADDING ENABLED
92#ifndef VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_MARGIN
93# define VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_MARGIN ENABLED
97#ifndef VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_ANCHOR
98# define VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_ANCHOR DISABLED
101#ifndef VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_DOCK
102# define VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_DOCK DISABLED
105#ifndef VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_ALIGN
106# define VSF_TGUI_CFG_SUPPORT_CONTROL_LAYOUT_ALIGN DISABLED
112#define VSF_TGUI_TEXT_ASCII 0
113#define VSF_TGUI_TEXT_UTF8 1
115#ifndef VSF_TGUI_CFG_TEXT_MODE
116# define VSF_TGUI_CFG_TEXT_MODE VSF_TGUI_TEXT_UTF8
119#ifndef VSF_TGUI_CFG_SUPPORT_NAME_STRING
120# define VSF_TGUI_CFG_SUPPORT_NAME_STRING ENABLED
122#if VSF_TGUI_CFG_SUPPORT_NAME_STRING == ENABLED
123# if VSF_MSG_TREE_CFG_SUPPORT_NAME_STRING != ENABLED
124# warning "VSF_TGUI_CFG_SUPPORT_NAME_STRING is ENABLED and depends \
125on VSF_MSG_TREE_CFG_SUPPORT_NAME_STRING, but it is set to DISABLED. \
126In order to continue the compilation process, this macro \
127VSF_MSG_TREE_CFG_SUPPORT_NAME_STRING is forced to be ENABLED. Please \
128enable it in vsf_usr_cfg.h or top vsf_tgui_cfg.h to suppress this \
130# undef VSF_MSG_TREE_CFG_SUPPORT_NAME_STRING
131# define VSF_MSG_TREE_CFG_SUPPORT_NAME_STRING ENABLED
135#ifndef VSF_TGUI_CFG_TEXT_SIZE_INFO_CACHING
136# define VSF_TGUI_CFG_TEXT_SIZE_INFO_CACHING ENABLED
139#ifndef VSF_TGUI_CFG_SAFE_STRING_MODE
140# define VSF_TGUI_CFG_SAFE_STRING_MODE ENABLED
146#define VSF_TGUI_REFRESH_SCHEME_NONE 0
147#define VSF_TGUI_REFRESH_SCHEME_Z_ORDER 1
148#define VSF_TGUI_REFRESH_SCHEME_PRE_ORDER_TRAVERSAL 1
149#define VSF_TGUI_REFRESH_SCHEME_LAYER_BY_LAYER 2
150#define VSF_TGUI_REFRESH_SCHEME_BREADTH_FIRST_TRAVERSAL 2
152#ifndef VSF_TGUI_CFG_REFRESH_SCHEME
153# define VSF_TGUI_CFG_REFRESH_SCHEME VSF_TGUI_REFRESH_SCHEME_Z_ORDER
156#ifndef VSF_TGUI_CFG_SUPPORT_TRANSPARENT_CONTROL
157# define VSF_TGUI_CFG_SUPPORT_TRANSPARENT_CONTROL ENABLED
160#ifndef VSF_TGUI_CFG_SUPPORT_DIRTY_REGION
161# define VSF_TGUI_CFG_SUPPORT_DIRTY_REGION ENABLED
167#ifndef VSF_TGUI_CFG_SUPPORT_DESTRUCTOR_SCHEME
168# define VSF_TGUI_CFG_SUPPORT_DESTRUCTOR_SCHEME ENABLED
171#ifndef VSF_TGUI_CFG_SUPPORT_CONSTRUCTOR_SCHEME
172# define VSF_TGUI_CFG_SUPPORT_CONSTRUCTOR_SCHEME ENABLED
175#ifndef VSF_TGUI_CFG_SUPPORT_MOUSE_LIKE_EVENTS
176# define VSF_TGUI_CFG_SUPPORT_MOUSE_LIKE_EVENTS ENABLED
178#ifndef VSF_TGUI_CFG_SUPPORT_MOUSE_MOVE_HANDLING
179# define VSF_TGUI_CFG_SUPPORT_MOUSE_MOVE_HANDLING DISABLED
182#ifndef VSF_TGUI_CFG_SUPPORT_KEY_EVENTS
183# define VSF_TGUI_CFG_SUPPORT_KEY_EVENTS ENABLED
190#ifndef VSF_TGUI_CFG_DYNAMIC
191# define VSF_TGUI_CFG_DYNAMIC VSF_USE_HEAP
194#ifndef VSF_TGUI_CFG_SUPPORT_TIMER
195# define VSF_TGUI_CFG_SUPPORT_TIMER ENABLED
198#ifndef VSF_TGUI_CFG_SUPPORT_STREAM_CONTAINER
199# define VSF_TGUI_CFG_SUPPORT_STREAM_CONTAINER ENABLED
202#ifndef VSF_TGUI_CFG_SUPPORT_LINE_STREAM_CONTAINER
203# define VSF_TGUI_CFG_SUPPORT_LINE_STREAM_CONTAINER ENABLED
206#ifndef VSF_TGUI_CFG_SUPPORT_SLIDER
207# define VSF_TGUI_CFG_SUPPORT_SLIDER ENABLED
210#ifndef VSF_TGUI_CFG_SUPPORT_TEXT_LIST
211# define VSF_TGUI_CFG_SUPPORT_TEXT_LIST ENABLED
214#if VSF_TGUI_CFG_SUPPORT_TEXT_LIST == ENABLED
215# ifndef VSF_TGUI_CFG_TEXT_LIST_SUPPORT_SLIDE
216# define VSF_TGUI_CFG_TEXT_LIST_SUPPORT_SLIDE ENABLED
220#ifndef VSF_TGUI_CFG_SUPPORT_LIST
221# define VSF_TGUI_CFG_SUPPORT_LIST ENABLED
224#if VSF_TGUI_CFG_SUPPORT_LIST == ENABLED
225# ifndef VSF_TGUI_CFG_LIST_SUPPORT_SLIDE
226# define VSF_TGUI_CFG_LIST_SUPPORT_SLIDE ENABLED
230#ifndef VSF_TGUI_CFG_REFRESH_CONTROL_ON_ACTIVE_STATE_CHANGE
231# define VSF_TGUI_CFG_REFRESH_CONTROL_ON_ACTIVE_STATE_CHANGE DISABLED
234#ifndef VSF_TGUI_CFG_LIST_SUPPORT_SCROOLBAR
235# define VSF_TGUI_CFG_LIST_SUPPORT_SCROOLBAR ENABLED
238#ifndef VSF_TGUI_CFG_PANEL_HAS_LABEL
239# define VSF_TGUI_CFG_PANEL_HAS_LABEL ENABLED
245#ifndef VSF_TGUI_ASSERT
246# define VSF_TGUI_ASSERT VSF_ASSERT
249#ifndef VSF_TGUI_CFG_SHOW_REFRESH_EVT_LOG
250# define VSF_TGUI_CFG_SHOW_REFRESH_EVT_LOG DISABLED
253#ifndef VSF_TGUI_CFG_SHOW_ON_LOAD_EVT_LOG
254# define VSF_TGUI_CFG_SHOW_ON_LOAD_EVT_LOG ENABLED
257#ifndef VSF_TGUI_CFG_SHOW_UPDATE_EVT_LOG
258# define VSF_TGUI_CFG_SHOW_UPDATE_EVT_LOG ENABLED
261#ifndef VSF_TGUI_CFG_SHOW_ON_DEPOSE_EVT_LOG
262# define VSF_TGUI_CFG_SHOW_ON_DEPOSE_EVT_LOG ENABLED
265#ifndef VSF_TGUI_CFG_SHOW_ON_TIME_EVT_LOG
266# define VSF_TGUI_CFG_SHOW_ON_TIME_EVT_LOG DISABLED
269#ifndef VSF_TGUI_CFG_SHOW_GET_ACTIVE_EVT_LOG
270# define VSF_TGUI_CFG_SHOW_GET_ACTIVE_EVT_LOG ENABLED
273#ifndef VSF_TGUI_CFG_SHOW_LOST_ACTIVE_EVT_LOG
274# define VSF_TGUI_CFG_SHOW_LOST_ACTIVE_EVT_LOG ENABLED
277#ifndef VSF_TGUI_CFG_SHOW_POINTER_EVT_LOG
278# define VSF_TGUI_CFG_SHOW_POINTER_EVT_LOG ENABLED
281#ifndef VSF_TGUI_CFG_SHOW_KEY_EVT_LOG
282# define VSF_TGUI_CFG_SHOW_KEY_EVT_LOG ENABLED
285#ifndef VSF_TGUI_CFG_SHOW_GESTURE_EVT_LOG
286# define VSF_TGUI_CFG_SHOW_GESTURE_EVT_LOG ENABLED
289#ifndef VSF_TGUI_CFG_SHOW_CONTROL_SPECIFIC_EVT_LOG
290# define VSF_TGUI_CFG_SHOW_CONTROL_SPECIFIC_EVT_LOG ENABLED
293#ifndef VSF_TGUI_CFG_SHOW_SYSTEM_LOG
294# define VSF_TGUI_CFG_SHOW_SYSTEM_LOG ENABLED
296#if VSF_TGUI_CFG_SHOW_SYSTEM_LOG != ENABLED
297# undef VSF_TGUI_CFG_SHOW_REFRESH_EVT_LOG
298# undef VSF_TGUI_CFG_SHOW_ON_LOAD_EVT_LOG
299# undef VSF_TGUI_CFG_SHOW_UPDATE_EVT_LOG
300# undef VSF_TGUI_CFG_SHOW_ON_DEPOSE_EVT_LOG
301# undef VSF_TGUI_CFG_SHOW_ON_TIME_EVT_LOG
302# undef VSF_TGUI_CFG_SHOW_CONTROL_SPECIFIC_EVT_LOG
303# undef VSF_TGUI_CFG_SHOW_GET_ACTIVE_EVT_LOG
304# undef VSF_TGUI_CFG_SHOW_LOST_ACTIVE_EVT_LOG
306# define VSF_TGUI_CFG_SHOW_REFRESH_EVT_LOG DISABLED
307# define VSF_TGUI_CFG_SHOW_ON_LOAD_EVT_LOG DISABLED
308# define VSF_TGUI_CFG_SHOW_UPDATE_EVT_LOG DISABLED
309# define VSF_TGUI_CFG_SHOW_ON_DEPOSE_EVT_LOG DISABLED
310# define VSF_TGUI_CFG_SHOW_ON_TIME_EVT_LOG DISABLED
311# define VSF_TGUI_CFG_SHOW_CONTROL_SPECIFIC_EVT_LOG DISABLED
312# define VSF_TGUI_CFG_SHOW_GET_ACTIVE_EVT_LOG DISABLED
313# define VSF_TGUI_CFG_SHOW_LOST_ACTIVE_EVT_LOG DISABLED
316#ifndef VSF_TGUI_CFG_SHOW_USER_INPUT_LOG
317# define VSF_TGUI_CFG_SHOW_USER_INPUT_LOG ENABLED
319#if VSF_TGUI_CFG_SHOW_USER_INPUT_LOG != ENABLED
320# undef VSF_TGUI_CFG_SHOW_POINTER_EVT_LOG
321# undef VSF_TGUI_CFG_SHOW_KEY_EVT_LOG
322# undef VSF_TGUI_CFG_SHOW_GESTURE_EVT_LOG
323# define VSF_TGUI_CFG_SHOW_POINTER_EVT_LOG DISABLED
324# define VSF_TGUI_CFG_SHOW_KEY_EVT_LOG DISABLED
325# define VSF_TGUI_CFG_SHOW_GESTURE_EVT_LOG DISABLED
331# if VSF_USE_TRACE == ENABLED
333# warning 'macro VSF_TGUI_LOG() is not defined. Use vsf_trace() by default \
334as VSF_USE_TRACE is ENABLED. You can remove the log output by putting following\
335 code in vsf_usr_cfg.h: #define VSF_TGUI_LOG'
337# define VSF_TGUI_LOG vsf_trace
338# elif defined(__STDC_VERSION__) && __STDC_VERSION__ > 199901L
340# warning 'macro VSF_TGUI_LOG() is not defined. Use printf() by default \
341as VSF_USE_TRACE is DISABLED.You can remove the log output by putting following\
342code in vsf_usr_cfg.h: #define VSF_TGUI_LOG'
344# define VSF_TGUI_LOG(__LEVEL, __STRING, ...) printf(__STRING, ##__VA_ARGS__)