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