2020 February 29 Breaking Changes Update (#8064)
[jackhill/qmk/firmware.git] / quantum / visualizer / common_gfxconf.h
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
25 ///////////////////////////////////////////////////////////////////////////
26 // GFX - Compatibility options //
27 ///////////////////////////////////////////////////////////////////////////
28 //#define GFX_COMPAT_V2 GFXON
29 //#define GFX_COMPAT_OLDCOLORS GFXON
30
31 ///////////////////////////////////////////////////////////////////////////
32 // GOS - One of these must be defined, preferably in your Makefile //
33 ///////////////////////////////////////////////////////////////////////////
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
51 // #define INTERRUPTS_OFF() optional_code
52 // #define INTERRUPTS_ON() optional_code
53
54 // Options that (should where relevant) apply to all operating systems
55 #define GFX_NO_INLINE GFXON
56 // #define GFX_COMPILER GFX_COMPILER_UNKNOWN
57 // #define GFX_SHOW_COMPILER GFXOFF
58 // #define GFX_CPU GFX_CPU_UNKNOWN
59 // #define GFX_CPU_NO_ALIGNMENT_FAULTS GFXOFF
60 // #define GFX_CPU_ENDIAN GFX_CPU_ENDIAN_UNKNOWN
61 // #define GFX_OS_HEAP_SIZE 0
62 // #define GFX_OS_NO_INIT GFXOFF
63 // #define GFX_OS_INIT_NO_WARNING GFXOFF
64 // #define GFX_OS_PRE_INIT_FUNCTION myHardwareInitRoutine
65 // #define GFX_OS_EXTRA_INIT_FUNCTION myOSInitRoutine
66 // #define GFX_OS_EXTRA_DEINIT_FUNCTION myOSDeInitRoutine
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
71
72 ///////////////////////////////////////////////////////////////////////////
73 // GDISP //
74 ///////////////////////////////////////////////////////////////////////////
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.
161 //#define GDISP_LINEBUF_SIZE 128
162 //#define GDISP_STARTUP_COLOR GFX_BLACK
163 #define GDISP_NEED_STARTUP_LOGO GFXOFF
164
165 //#define GDISP_TOTAL_DISPLAYS 1
166
167 //#define GDISP_DRIVER_LIST GDISPVMT_Win32, GDISPVMT_Win32
168 #ifdef GDISP_DRIVER_LIST
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
182
183 # define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_RGB888
184 #endif
185
186 #define GDISP_USE_GFXNET GFXOFF
187 // #define GDISP_GFXNET_PORT 13001
188 // #define GDISP_GFXNET_CUSTOM_LWIP_STARTUP GFXOFF
189 // #define GDISP_DONT_WAIT_FOR_NET_DISPLAY GFXOFF
190 // #define GDISP_GFXNET_UNSAFE_SOCKETS GFXOFF
191
192 ///////////////////////////////////////////////////////////////////////////
193 // GWIN //
194 ///////////////////////////////////////////////////////////////////////////
195 #define GFX_USE_GWIN GFXOFF
196
197 //#define GWIN_NEED_WINDOWMANAGER GFXOFF
198 // #define GWIN_REDRAW_IMMEDIATE GFXOFF
199 // #define GWIN_REDRAW_SINGLEOP GFXOFF
200 // #define GWIN_NEED_FLASHING GFXOFF
201 // #define GWIN_FLASHING_PERIOD 250
202
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
214 //#define GWIN_FOCUS_HIGHLIGHT_WIDTH 1
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
221 // #define GWIN_SLIDER_DEAD_BAND 5
222 // #define GWIN_SLIDER_TOGGLE_INC 20
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
232 // #define GWIN_KEYBOARD_DEFAULT_LAYOUT VirtualKeyboard_English1
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
242 // #define GWIN_TABSET_TABHEIGHT 18
243
244 ///////////////////////////////////////////////////////////////////////////
245 // GTRANS //
246 ///////////////////////////////////////////////////////////////////////////
247 //#define GFX_USE_GTRANS GFXOFF
248
249 ///////////////////////////////////////////////////////////////////////////
250 // GEVENT //
251 ///////////////////////////////////////////////////////////////////////////
252 #define GFX_USE_GEVENT GFXON
253
254 //#define GEVENT_ASSERT_NO_RESOURCE GFXOFF
255 //#define GEVENT_MAXIMUM_SIZE 32
256 //#define GEVENT_MAX_SOURCE_LISTENERS 32
257
258 ///////////////////////////////////////////////////////////////////////////
259 // GTIMER //
260 ///////////////////////////////////////////////////////////////////////////
261 #define GFX_USE_GTIMER GFXOFF
262
263 //#define GTIMER_THREAD_PRIORITY gThreadpriorityHigh
264 //#define GTIMER_THREAD_WORKAREA_SIZE 2048
265
266 ///////////////////////////////////////////////////////////////////////////
267 // GQUEUE //
268 ///////////////////////////////////////////////////////////////////////////
269 #define GFX_USE_GQUEUE GFXOFF
270
271 //#define GQUEUE_NEED_ASYNC GFXOFF
272 //#define GQUEUE_NEED_GSYNC GFXOFF
273 //#define GQUEUE_NEED_FSYNC GFXOFF
274 //#define GQUEUE_NEED_BUFFERS GFXOFF
275
276 ///////////////////////////////////////////////////////////////////////////
277 // GINPUT //
278 ///////////////////////////////////////////////////////////////////////////
279 #define GFX_USE_GINPUT GFXOFF
280
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
286 // #define GINPUT_MOUSE_POLL_PERIOD 25
287 // #define GINPUT_MOUSE_CLICK_TIME 300
288 // #define GINPUT_TOUCH_CXTCLICK_TIME 700
289 // #define GINPUT_TOUCH_USER_CALIBRATION_LOAD GFXOFF
290 // #define GINPUT_TOUCH_USER_CALIBRATION_SAVE GFXOFF
291 // #define GMOUSE_DRIVER_LIST GMOUSEVMT_Win32, GMOUSEVMT_Win32
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
297 // #define GINPUT_KEYBOARD_POLL_PERIOD 200
298 // #define GKEYBOARD_DRIVER_LIST GKEYBOARDVMT_Win32, GKEYBOARDVMT_Win32
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
303
304 ///////////////////////////////////////////////////////////////////////////
305 // GFILE //
306 ///////////////////////////////////////////////////////////////////////////
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
327 //#define GFILE_MAX_GFILES 3
328
329 ///////////////////////////////////////////////////////////////////////////
330 // GADC //
331 ///////////////////////////////////////////////////////////////////////////
332 #define GFX_USE_GADC GFXOFF
333 // #define GADC_MAX_LOWSPEED_DEVICES 4
334
335 ///////////////////////////////////////////////////////////////////////////
336 // GAUDIO //
337 ///////////////////////////////////////////////////////////////////////////
338 #define GFX_USE_GAUDIO GFXOFF
339 // #define GAUDIO_NEED_PLAY GFXOFF
340 // #define GAUDIO_NEED_RECORD GFXOFF
341
342 ///////////////////////////////////////////////////////////////////////////
343 // GMISC //
344 ///////////////////////////////////////////////////////////////////////////
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
356
357 #endif /* COMMON_GFXCONF_H */