forked from espressif/esp-iot-solution
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgfxconf.h
387 lines (338 loc) · 21.1 KB
/
gfxconf.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
/**
* This file has a different license to the rest of the uGFX system.
* You can copy, modify and distribute this file as you see fit.
* You do not need to publish your source modifications to this file.
* The only thing you are not permitted to do is to relicense it
* under a different license.
*/
/**
* Copy this file into your project directory and rename it as gfxconf.h
* Edit your copy to turn on the uGFX features you want to use.
* The values below are the defaults.
*
* Only remove the comments from lines where you want to change the
* default value. This allows definitions to be included from
* driver makefiles when required and provides the best future
* compatibility for your project.
*
* Please use spaces instead of tabs in this file.
*/
#ifndef _GFXCONF_H
#define _GFXCONF_H
/* uGFX Config Includes */
#include "sdkconfig.h"
/* FreeRTOS Includes */
#include "freertos/FreeRTOS.h"
///////////////////////////////////////////////////////////////////////////
// GFX - Compatibility options //
///////////////////////////////////////////////////////////////////////////
//#define GFX_COMPAT_V2 GFXON
//#define GFX_COMPAT_OLDCOLORS GFXON
///////////////////////////////////////////////////////////////////////////
// GOS - One of these must be defined, preferably in your Makefile //
///////////////////////////////////////////////////////////////////////////
// #define GFX_USE_OS_CHIBIOS FALSE
#define GFX_USE_OS_FREERTOS TRUE
// #define GFX_FREERTOS_USE_TRACE FALSE
// #define GFX_USE_OS_WIN32 FALSE
// #define GFX_USE_OS_LINUX FALSE
// #define GFX_USE_OS_OSX FALSE
// #define GFX_USE_OS_ECOS FALSE
// #define GFX_USE_OS_RAWRTOS FALSE
// #define GFX_USE_OS_ARDUINO FALSE
// #define GFX_USE_OS_KEIL FALSE
// #define GFX_USE_OS_RTX5 FALSE
// #define GFX_USE_OS_CMSIS FALSE
// #define GFX_USE_OS_CMSIS2 FALSE
// #define GFX_USE_OS_RAW32 FALSE
// #define GFX_USE_OS_ZEPHYR FALSE
// #define GFX_USE_OS_NIOS FALSE
// #define GFX_USE_OS_QT FALSE
// #define INTERRUPTS_OFF() optional_code
// #define INTERRUPTS_ON() optional_code
// Options that (should where relevant) apply to all operating systems
// #define GFX_NO_INLINE FALSE
// #define GFX_COMPILER GFX_COMPILER_UNKNOWN
// #define GFX_SHOW_COMPILER FALSE
// #define GFX_CPU GFX_CPU_UNKNOWN
// #define GFX_CPU_NO_ALIGNMENT_FAULTS FALSE
// #define GFX_CPU_ENDIAN GFX_CPU_ENDIAN_UNKNOWN
// #define GFX_OS_HEAP_SIZE 0
#define GFX_OS_NO_INIT TRUE
// #define GFX_OS_INIT_NO_WARNING TRUE
// #define GFX_OS_PRE_INIT_FUNCTION myHardwareInitRoutine
// #define GFX_OS_EXTRA_INIT_FUNCTION myOSInitRoutine
// #define GFX_OS_EXTRA_DEINIT_FUNCTION myOSDeInitRoutine
// #define GFX_OS_CALL_UGFXMAIN FALSE
// #define GFX_OS_UGFXMAIN_STACKSIZE 0
// #define GFX_EMULATE_MALLOC FALSE
// #define GFX_MEM_LT64K FALSE
///////////////////////////////////////////////////////////////////////////
// GDISP //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GDISP TRUE
#define GDISP_NEED_AUTOFLUSH CONFIG_UGFX_DRIVER_AUTO_FLUSH_ENABLE
#ifndef CONFIG_UGFX_DRIVER_AUTO_FLUSH_ENABLE
#define GDISP_NEED_TIMERFLUSH CONFIG_UGFX_DRIVER_AUTO_FLUSH_INTERVAL
#endif
#define GDISP_NEED_VALIDATION TRUE
#define GDISP_NEED_CLIP TRUE
#define GDISP_NEED_CIRCLE TRUE
// #define GDISP_NEED_DUALCIRCLE FALSE
#define GDISP_NEED_ELLIPSE TRUE
#define GDISP_NEED_ARC TRUE
#define GDISP_NEED_ARCSECTORS TRUE
#define GDISP_NEED_CONVEX_POLYGON TRUE
// #define GDISP_NEED_SCROLL FALSE
// #define GDISP_NEED_PIXELREAD FALSE
#define GDISP_NEED_CONTROL TRUE
// #define GDISP_NEED_QUERY FALSE
#define GDISP_NEED_MULTITHREAD TRUE
#define GDISP_NEED_STREAMING TRUE
#define GDISP_NEED_TEXT TRUE
// #define GDISP_NEED_TEXT_WORDWRAP FALSE
// #define GDISP_NEED_TEXT_BOXPADLR 1
// #define GDISP_NEED_TEXT_BOXPADTB 1
#define GDISP_NEED_ANTIALIAS TRUE
// #define GDISP_NEED_UTF8 FALSE
// #define GDISP_NEED_TEXT_KERNING FALSE
// #define GDISP_INCLUDE_FONT_UI1 FALSE
#define GDISP_INCLUDE_FONT_UI2 TRUE // The smallest preferred font.
// #define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS10 FALSE
#define GDISP_INCLUDE_FONT_DEJAVUSANS12 TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS16 TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS20 TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS24 TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS32 TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 FALSE
#define GDISP_INCLUDE_FONT_FIXED_10X20 TRUE
// #define GDISP_INCLUDE_FONT_FIXED_7X14 FALSE
// #define GDISP_INCLUDE_FONT_FIXED_5X8 TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS20_AA FALSE
#define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA TRUE
// #define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA FALSE
// #define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA FALSE
// #define GDISP_INCLUDE_USER_FONTS TRUE
#define GDISP_NEED_IMAGE TRUE
// #define GDISP_NEED_IMAGE_NATIVE FALSE
#define GDISP_NEED_IMAGE_GIF TRUE
#define GDISP_IMAGE_GIF_BLIT_BUFFER_SIZE CONFIG_UGFX_DRIVER_SCREEN_WIDTH * 2 * 20
#define GDISP_NEED_IMAGE_BMP TRUE
// #define GDISP_NEED_IMAGE_BMP_1 TRUE
// #define GDISP_NEED_IMAGE_BMP_4 TRUE
// #define GDISP_NEED_IMAGE_BMP_4_RLE TRUE
// #define GDISP_NEED_IMAGE_BMP_8 TRUE
// #define GDISP_NEED_IMAGE_BMP_8_RLE TRUE
// #define GDISP_NEED_IMAGE_BMP_16 TRUE
// #define GDISP_NEED_IMAGE_BMP_24 TRUE
// #define GDISP_NEED_IMAGE_BMP_32 TRUE
#define GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE CONFIG_UGFX_DRIVER_SCREEN_WIDTH * 2 * 20
#define GDISP_NEED_IMAGE_JPG TRUE
#define GDISP_NEED_IMAGE_PNG TRUE
// #define GDISP_NEED_IMAGE_PNG_INTERLACED FALSE
// #define GDISP_NEED_IMAGE_PNG_TRANSPARENCY TRUE
// #define GDISP_NEED_IMAGE_PNG_BACKGROUND TRUE
// #define GDISP_NEED_IMAGE_PNG_ALPHACLIFF 32
// #define GDISP_NEED_IMAGE_PNG_PALETTE_124 TRUE
// #define GDISP_NEED_IMAGE_PNG_PALETTE_8 TRUE
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_124 TRUE
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_8 TRUE
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_16 TRUE
// #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_8 TRUE
// #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_16 TRUE
// #define GDISP_NEED_IMAGE_PNG_RGB_8 TRUE
// #define GDISP_NEED_IMAGE_PNG_RGB_16 TRUE
// #define GDISP_NEED_IMAGE_PNG_RGBALPHA_8 TRUE
// #define GDISP_NEED_IMAGE_PNG_RGBALPHA_16 TRUE
#define GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE CONFIG_UGFX_DRIVER_SCREEN_WIDTH * 2 * 20
#define GDISP_IMAGE_PNG_FILE_BUFFER_SIZE 8
// #define GDISP_IMAGE_PNG_Z_BUFFER_SIZE 32768
// #define GDISP_NEED_IMAGE_ACCOUNTING FALSE
// #define GDISP_NEED_PIXMAP TRUE
// #define GDISP_NEED_PIXMAP_IMAGE FALSE
#if CONFIG_UGFX_DISP_ROTATE_0
#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_0 // If not defined the native hardware orientation is used.
#elif CONFIG_UGFX_DISP_ROTATE_90
#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_90 /**< Rotate by 90 degrees absolute to the native rotation. */
#elif CONFIG_UGFX_DISP_ROTATE_180
#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_180 /**< Rotate by 180 degrees absolute to the native rotation. */
#elif CONFIG_UGFX_DISP_ROTATE_270
#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_270 /**< Rotate by 270 degrees absolute to the native rotation. */
#elif CONFIG_UGFX_DISP_ROTATE_PORTRAIT
#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_PORTRAIT /**< Put the display into portrait mode. */
#elif CONFIG_UGFX_DISP_ROTATE_LANDSCAPE
#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_LANDSCAPE /**< Put the display into landscape mode. */
#endif
#define GDISP_LINEBUF_SIZE CONFIG_UGFX_DRIVER_SCREEN_WIDTH * 4
// #define GDISP_STARTUP_COLOR Red
#define GDISP_NEED_STARTUP_LOGO FALSE
// #define GDISP_TOTAL_DISPLAYS 1
// #define GDISP_DRIVER_LIST GDISPVMT_Win32, GDISPVMT_Win32
// #ifdef GDISP_DRIVER_LIST
// For code and speed optimization define as TRUE or FALSE if all controllers have the same capability
// #define GDISP_HARDWARE_STREAM_WRITE FALSE
// #define GDISP_HARDWARE_STREAM_READ FALSE
// #define GDISP_HARDWARE_STREAM_POS FALSE
// #define GDISP_HARDWARE_DRAWPIXEL FALSE
// #define GDISP_HARDWARE_CLEARS FALSE
// #define GDISP_HARDWARE_FILLS FALSE
// #define GDISP_HARDWARE_BITFILLS FALSE
// #define GDISP_HARDWARE_SCROLL FALSE
// #define GDISP_HARDWARE_PIXELREAD FALSE
// #define GDISP_HARDWARE_CONTROL FALSE
// #define GDISP_HARDWARE_QUERY FALSE
// #define GDISP_HARDWARE_CLIP FALSE
// #define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_RGB565
// #endif
// #define GDISP_USE_GFXNET FALSE
// #define GDISP_GFXNET_PORT 13001
// #define GDISP_GFXNET_CUSTOM_LWIP_STARTUP FALSE
// #define GDISP_DONT_WAIT_FOR_NET_DISPLAY FALSE
// #define GDISP_GFXNET_UNSAFE_SOCKETS FALSE
///////////////////////////////////////////////////////////////////////////
// GWIN //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GWIN TRUE
#define GWIN_NEED_WINDOWMANAGER TRUE
// #define GWIN_REDRAW_IMMEDIATE FALSE
// #define GWIN_REDRAW_SINGLEOP FALSE
#define GWIN_NEED_FLASHING TRUE
// #define GWIN_FLASHING_PERIOD 250
#define GWIN_NEED_CONSOLE TRUE
#define GWIN_CONSOLE_USE_HISTORY TRUE
#define GWIN_CONSOLE_HISTORY_AVERAGING TRUE
#define GWIN_CONSOLE_HISTORY_ATCREATE TRUE
#define GWIN_CONSOLE_ESCSEQ TRUE
// #define GWIN_CONSOLE_USE_BASESTREAM FALSE
// #define GWIN_CONSOLE_USE_FLOAT FALSE
#define GWIN_NEED_GRAPH TRUE
// #define GWIN_NEED_GL3D TRUE
#define GWIN_NEED_WIDGET TRUE
// #define GWIN_FOCUS_HIGHLIGHT_WIDTH 1
#define GWIN_NEED_LABEL TRUE
#define GWIN_LABEL_ATTRIBUTE TRUE
#define GWIN_NEED_BUTTON TRUE
#define GWIN_BUTTON_LAZY_RELEASE TRUE
#define GWIN_NEED_SLIDER TRUE
// #define GWIN_SLIDER_NOSNAP FALSE
// #define GWIN_SLIDER_DEAD_BAND 5
// #define GWIN_SLIDER_TOGGLE_INC 20
#define GWIN_NEED_CHECKBOX TRUE
#define GWIN_NEED_IMAGE TRUE
// #define GWIN_NEED_IMAGE_ANIMATION FALSE
#define GWIN_NEED_RADIO TRUE
#define GWIN_NEED_LIST TRUE
#define GWIN_NEED_LIST_IMAGES TRUE
#define GWIN_NEED_PROGRESSBAR TRUE
#define GWIN_PROGRESSBAR_AUTO TRUE
#define GWIN_NEED_KEYBOARD TRUE
// #define GWIN_KEYBOARD_DEFAULT_LAYOUT VirtualKeyboard_English1
// #define GWIN_NEED_KEYBOARD_ENGLISH1 TRUE
#define GWIN_NEED_TEXTEDIT TRUE
// #define GWIN_FLAT_STYLING FALSE
// #define GWIN_WIDGET_TAGS FALSE
#define GWIN_NEED_CONTAINERS TRUE
#define GWIN_NEED_CONTAINER TRUE
#define GWIN_NEED_FRAME TRUE
// #define GWIN_NEED_TABSET TRUE
// #define GWIN_TABSET_TABHEIGHT 25
///////////////////////////////////////////////////////////////////////////
// GTRANS //
///////////////////////////////////////////////////////////////////////////
// #define GFX_USE_GTRANS FALSE
///////////////////////////////////////////////////////////////////////////
// GEVENT //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GEVENT TRUE
// #define GEVENT_ASSERT_NO_RESOURCE FALSE
#define GEVENT_MAXIMUM_SIZE 32
#define GEVENT_MAX_SOURCE_LISTENERS 32
///////////////////////////////////////////////////////////////////////////
// GTIMER //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GTIMER TRUE
#define GTIMER_THREAD_PRIORITY HIGH_PRIORITY
// #define GTIMER_THREAD_WORKAREA_SIZE 2048
///////////////////////////////////////////////////////////////////////////
// GQUEUE //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GQUEUE TRUE
#define GQUEUE_NEED_ASYNC TRUE
#define GQUEUE_NEED_GSYNC TRUE
// #define GQUEUE_NEED_FSYNC FALSE
// #define GQUEUE_NEED_BUFFERS FALSE
///////////////////////////////////////////////////////////////////////////
// GINPUT //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GINPUT CONFIG_UGFX_DRIVER_TOUCH_SCREEN_ENABLE
#define GINPUT_NEED_MOUSE CONFIG_UGFX_DRIVER_TOUCH_SCREEN_ENABLE
// #define GINPUT_TOUCH_STARTRAW TRUE
// #define GINPUT_TOUCH_NOTOUCH TRUE
// #define GINPUT_TOUCH_NOCALIBRATE TRUE
// #define GINPUT_TOUCH_NOCALIBRATE_GUI TRUE
// #define GINPUT_MOUSE_POLL_PERIOD 25
// #define GINPUT_MOUSE_CLICK_TIME 300
// #define GINPUT_TOUCH_CXTCLICK_TIME 700
// #define GINPUT_TOUCH_USER_CALIBRATION_LOAD TRUE
// #define GINPUT_TOUCH_USER_CALIBRATION_SAVE TRUE
// #define GMOUSE_DRIVER_LIST GMOUSEVMT_Win32, GMOUSEVMT_Win32
// #define GINPUT_TOUCH_CALIBRATION_FONT1 "* Double"
// #define GINPUT_TOUCH_CALIBRATION_FONT2 "* Narrow"
// #define GINPUT_TOUCH_CALIBRATION_TITLE "Calibration"
// #define GINPUT_TOUCH_CALIBRATION_ERROR "Calibration Failed!"
// #define GINPUT_NEED_KEYBOARD TRUE
// #define GINPUT_KEYBOARD_POLL_PERIOD 200
// #define GKEYBOARD_DRIVER_LIST GKEYBOARDVMT_Win32, GKEYBOARDVMT_Win32
// #define GKEYBOARD_LAYOUT_OFF FALSE
// #define GKEYBOARD_LAYOUT_SCANCODE2_US FALSE
#define GINPUT_NEED_TOGGLE CONFIG_UGFX_DRIVER_TOGGLE_ENABLE
// #define GINPUT_NEED_DIAL FALSE
///////////////////////////////////////////////////////////////////////////
// GFILE //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GFILE TRUE
#define GFILE_NEED_PRINTG TRUE
// #define GFILE_NEED_SCANG FALSE
#define GFILE_NEED_STRINGS TRUE
// #define GFILE_NEED_FILELISTS FALSE
// #define GFILE_NEED_STDIO FALSE
// #define GFILE_NEED_NOAUTOMOUNT FALSE
// #define GFILE_NEED_NOAUTOSYNC FALSE
// #define GFILE_NEED_MEMFS FALSE
#define GFILE_NEED_ROMFS TRUE
// #define GFILE_NEED_RAMFS FALSE
// #define GFILE_NEED_FATFS FALSE
// #define GFILE_NEED_NATIVEFS FALSE
// #define GFILE_NEED_CHBIOSFS FALSE
// #define GFILE_NEED_USERFS FALSE
// #define GFILE_ALLOW_FLOATS FALSE
// #define GFILE_ALLOW_DEVICESPECIFIC FALSE
#define GFILE_MAX_GFILES 40
///////////////////////////////////////////////////////////////////////////
// GADC //
///////////////////////////////////////////////////////////////////////////
// #define GFX_USE_GADC FALSE
// #define GADC_MAX_LOWSPEED_DEVICES 4
///////////////////////////////////////////////////////////////////////////
// GAUDIO //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GAUDIO CONFIG_UGFX_DRIVER_AUDIO_ENABLE
#define GAUDIO_NEED_PLAY CONFIG_UGFX_DRIVER_AUDIO_ENABLE
// #define GAUDIO_NEED_RECORD FALSE
///////////////////////////////////////////////////////////////////////////
// GMISC //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GMISC TRUE
// #define GMISC_NEED_ARRAYOPS FALSE
#define GMISC_NEED_FASTTRIG TRUE
#define GMISC_NEED_FIXEDTRIG TRUE
#define GMISC_NEED_INVSQRT TRUE
// #define GMISC_INVSQRT_MIXED_ENDIAN FALSE
// #define GMISC_INVSQRT_REAL_SLOW FALSE
// #define GMISC_NEED_MATRIXFLOAT2D FALSE
#define GMISC_NEED_MATRIXFIXED2D TRUE
// #define GMISC_NEED_HITTEST_POLY FALSE
#endif /* _GFXCONF_H */