summaryrefslogtreecommitdiffstats
path: root/quantum/visualizer/common_gfxconf.h
blob: e0735b37d0471753989c90789595f9d021dca21b (plain)
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
/**
 * 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.
 */

#pragma once

///////////////////////////////////////////////////////////////////////////
// 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                           GFXOFF
//#define GFX_USE_OS_FREERTOS                          GFXOFF
//    #define GFX_FREERTOS_USE_TRACE                   GFXOFF
//#define GFX_USE_OS_WIN32                             GFXOFF
//#define GFX_USE_OS_LINUX                             GFXOFF
//#define GFX_USE_OS_OSX                               GFXOFF
//#define GFX_USE_OS_ECOS                              GFXOFF
//#define GFX_USE_OS_RAWRTOS                           GFXOFF
//#define GFX_USE_OS_ARDUINO                           GFXOFF
//#define GFX_USE_OS_KEIL                              GFXOFF
//#define GFX_USE_OS_RTX5                              GFXOFF
//#define GFX_USE_OS_CMSIS                             GFXOFF
//#define GFX_USE_OS_CMSIS2                            GFXOFF
//#define GFX_USE_OS_RAW32                             GFXOFF
//#define GFX_USE_OS_ZEPHYR                            GFXOFF
//#define GFX_USE_OS_NIOS                              GFXOFF
//#define GFX_USE_OS_QT                                GFXOFF
//    #define INTERRUPTS_OFF()                         optional_code
//    #define INTERRUPTS_ON()                          optional_code

// Options that (should where relevant) apply to all operating systems
#define GFX_NO_INLINE GFXON
//    #define GFX_COMPILER                             GFX_COMPILER_UNKNOWN
//    #define GFX_SHOW_COMPILER                        GFXOFF
//    #define GFX_CPU                                  GFX_CPU_UNKNOWN
//    #define GFX_CPU_NO_ALIGNMENT_FAULTS              GFXOFF
//    #define GFX_CPU_ENDIAN                           GFX_CPU_ENDIAN_UNKNOWN
//    #define GFX_OS_HEAP_SIZE                         0
//    #define GFX_OS_NO_INIT                           GFXOFF
//    #define GFX_OS_INIT_NO_WARNING                   GFXOFF
//    #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                     GFXOFF
//    #define GFX_OS_UGFXMAIN_STACKSIZE                0
//    #define GFX_EMULATE_MALLOC                       GFXOFF
//    #define GFX_MEM_LT64K                            GFXOFF

///////////////////////////////////////////////////////////////////////////
// GDISP                                                                 //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GDISP GFXON

//#define GDISP_NEED_AUTOFLUSH                         GFXOFF
//#define GDISP_NEED_TIMERFLUSH                        GFXOFF
//#define GDISP_NEED_VALIDATION                        GFXON
//#define GDISP_NEED_CLIP                              GFXON
#define GDISP_NEED_CIRCLE GFXON
//#define GDISP_NEED_DUALCIRCLE                        GFXOFF
#define GDISP_NEED_ELLIPSE GFXON
#define GDISP_NEED_ARC GFXON
#define GDISP_NEED_ARCSECTORS GFXON
#define GDISP_NEED_CONVEX_POLYGON GFXON
//#define GDISP_NEED_SCROLL                            GFXOFF
#define GDISP_NEED_PIXELREAD GFXON
#define GDISP_NEED_CONTROL GFXON
//#define GDISP_NEED_QUERY                             GFXOFF
//#define GDISP_NEED_MULTITHREAD                       GFXOFF
//#define GDISP_NEED_STREAMING                         GFXOFF
#define GDISP_NEED_TEXT GFXON
//    #define GDISP_NEED_TEXT_WORDWRAP                 GFXOFF
//    #define GDISP_NEED_TEXT_BOXPADLR                 1
//    #define GDISP_NEED_TEXT_BOXPADTB                 1
//    #define GDISP_NEED_ANTIALIAS                     GFXOFF
//    #define GDISP_NEED_UTF8                          GFXOFF
#define GDISP_NEED_TEXT_KERNING GFXON
//    #define GDISP_INCLUDE_FONT_UI1                   GFXOFF
//    #define GDISP_INCLUDE_FONT_UI2                   GFXOFF		// The smallest preferred font.
//    #define GDISP_INCLUDE_FONT_LARGENUMBERS          GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS10          GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS12          GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS16          GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS20          GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS24          GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS32          GFXOFF
#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 GFXON
//    #define GDISP_INCLUDE_FONT_FIXED_10X20           GFXOFF
//    #define GDISP_INCLUDE_FONT_FIXED_7X14            GFXOFF
#define GDISP_INCLUDE_FONT_FIXED_5X8 GFXON
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA       GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA       GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS20_AA       GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA       GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA       GFXOFF
//    #define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA   GFXOFF
//    #define GDISP_INCLUDE_USER_FONTS                 GFXOFF

//#define GDISP_NEED_IMAGE                             GFXOFF
//    #define GDISP_NEED_IMAGE_NATIVE                  GFXOFF
//    #define GDISP_NEED_IMAGE_GIF                     GFXOFF
//        #define GDISP_IMAGE_GIF_BLIT_BUFFER_SIZE     32
//    #define GDISP_NEED_IMAGE_BMP                     GFXOFF
//        #define GDISP_NEED_IMAGE_BMP_1               GFXON
//        #define GDISP_NEED_IMAGE_BMP_4               GFXON
//        #define GDISP_NEED_IMAGE_BMP_4_RLE           GFXON
//        #define GDISP_NEED_IMAGE_BMP_8               GFXON
//        #define GDISP_NEED_IMAGE_BMP_8_RLE           GFXON
//        #define GDISP_NEED_IMAGE_BMP_16              GFXON
//        #define GDISP_NEED_IMAGE_BMP_24              GFXON
//        #define GDISP_NEED_IMAGE_BMP_32              GFXON
//        #define GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE     32
//    #define GDISP_NEED_IMAGE_JPG                     GFXOFF
//    #define GDISP_NEED_IMAGE_PNG                     GFXOFF
//        #define GDISP_NEED_IMAGE_PNG_INTERLACED      GFXOFF
//        #define GDISP_NEED_IMAGE_PNG_TRANSPARENCY    GFXON
//        #define GDISP_NEED_IMAGE_PNG_BACKGROUND      GFXON
//        #define GDISP_NEED_IMAGE_PNG_ALPHACLIFF      32
//        #define GDISP_NEED_IMAGE_PNG_PALETTE_124     GFXON
//        #define GDISP_NEED_IMAGE_PNG_PALETTE_8       GFXON
//        #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_124   GFXON
//        #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_8     GFXON
//        #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_16    GFXON
//        #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_8     GFXON
//        #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_16    GFXON
//        #define GDISP_NEED_IMAGE_PNG_RGB_8           GFXON
//        #define GDISP_NEED_IMAGE_PNG_RGB_16          GFXON
//        #define GDISP_NEED_IMAGE_PNG_RGBALPHA_8      GFXON
//        #define GDISP_NEED_IMAGE_PNG_RGBALPHA_16     GFXON
//        #define GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE     32
//        #define GDISP_IMAGE_PNG_FILE_BUFFER_SIZE     8
//        #define GDISP_IMAGE_PNG_Z_BUFFER_SIZE        32768
//    #define GDISP_NEED_IMAGE_ACCOUNTING              GFXOFF

//#define GDISP_NEED_PIXMAP                            GFXOFF
//    #define GDISP_NEED_PIXMAP_IMAGE                  GFXOFF

//#define GDISP_DEFAULT_ORIENTATION                    gOrientationLandscape    // If not defined the native hardware orientation is used.
//#define GDISP_LINEBUF_SIZE                           128
//#define GDISP_STARTUP_COLOR                          GFX_BLACK
#define GDISP_NEED_STARTUP_LOGO GFXOFF

//#define GDISP_TOTAL_DISPLAYS                         1

//#define GDISP_DRIVER_LIST                            GDISPVMT_Win32, GDISPVMT_Win32
#ifdef GDISP_DRIVER_LIST
//        // For code and speed optimization define as GFXON or GFXOFF if all controllers have the same capability
#    define GDISP_HARDWARE_STREAM_WRITE GFXOFF
#    define GDISP_HARDWARE_STREAM_READ GFXOFF
#    define GDISP_HARDWARE_STREAM_POS GFXOFF
#    define GDISP_HARDWARE_DRAWPIXEL GFXON
#    define GDISP_HARDWARE_CLEARS GFXOFF
#    define GDISP_HARDWARE_FILLS GFXOFF
//#define GDISP_HARDWARE_BITFILLS              GFXOFF
#    define GDISP_HARDWARE_SCROLL GFXOFF
#    define GDISP_HARDWARE_PIXELREAD GFXON
#    define GDISP_HARDWARE_CONTROL GFXON
#    define GDISP_HARDWARE_QUERY GFXOFF
#    define GDISP_HARDWARE_CLIP GFXOFF

#    define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_RGB888
#endif

#define GDISP_USE_GFXNET GFXOFF
//    #define GDISP_GFXNET_PORT                        13001
//    #define GDISP_GFXNET_CUSTOM_LWIP_STARTUP         GFXOFF
//    #define GDISP_DONT_WAIT_FOR_NET_DISPLAY          GFXOFF
//    #define GDISP_GFXNET_UNSAFE_SOCKETS              GFXOFF

///////////////////////////////////////////////////////////////////////////
// GWIN                                                                  //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GWIN GFXOFF

//#define GWIN_NEED_WINDOWMANAGER                      GFXOFF
//    #define GWIN_REDRAW_IMMEDIATE                    GFXOFF
//    #define GWIN_REDRAW_SINGLEOP                     GFXOFF
//    #define GWIN_NEED_FLASHING                       GFXOFF
//        #define GWIN_FLASHING_PERIOD                 250

//#define GWIN_NEED_CONSOLE                            GFXOFF
//    #define GWIN_CONSOLE_USE_HISTORY                 GFXOFF
//        #define GWIN_CONSOLE_HISTORY_AVERAGING       GFXOFF
//        #define GWIN_CONSOLE_HISTORY_ATCREATE        GFXOFF
//    #define GWIN_CONSOLE_ESCSEQ                      GFXOFF
//    #define GWIN_CONSOLE_USE_BASESTREAM              GFXOFF
//    #define GWIN_CONSOLE_USE_FLOAT                   GFXOFF
//#define GWIN_NEED_GRAPH                              GFXOFF
//#define GWIN_NEED_GL3D                               GFXOFF

//#define GWIN_NEED_WIDGET                             GFXOFF
//#define GWIN_FOCUS_HIGHLIGHT_WIDTH                   1
//    #define GWIN_NEED_LABEL                          GFXOFF
//        #define GWIN_LABEL_ATTRIBUTE                 GFXOFF
//    #define GWIN_NEED_BUTTON                         GFXOFF
//        #define GWIN_BUTTON_LAZY_RELEASE             GFXOFF
//    #define GWIN_NEED_SLIDER                         GFXOFF
//        #define GWIN_SLIDER_NOSNAP                   GFXOFF
//        #define GWIN_SLIDER_DEAD_BAND                5
//        #define GWIN_SLIDER_TOGGLE_INC               20
//    #define GWIN_NEED_CHECKBOX                       GFXOFF
//    #define GWIN_NEED_IMAGE                          GFXOFF
//        #define GWIN_NEED_IMAGE_ANIMATION            GFXOFF
//    #define GWIN_NEED_RADIO                          GFXOFF
//    #define GWIN_NEED_LIST                           GFXOFF
//        #define GWIN_NEED_LIST_IMAGES                GFXOFF
//    #define GWIN_NEED_PROGRESSBAR                    GFXOFF
//        #define GWIN_PROGRESSBAR_AUTO                GFXOFF
//    #define GWIN_NEED_KEYBOARD                       GFXOFF
//        #define GWIN_KEYBOARD_DEFAULT_LAYOUT         VirtualKeyboard_English1
//        #define GWIN_NEED_KEYBOARD_ENGLISH1          GFXON
//    #define GWIN_NEED_TEXTEDIT                       GFXOFF
//    #define GWIN_FLAT_STYLING                        GFXOFF
//    #define GWIN_WIDGET_TAGS                         GFXOFF

//#define GWIN_NEED_CONTAINERS                         GFXOFF
//    #define GWIN_NEED_CONTAINER                      GFXOFF
//    #define GWIN_NEED_FRAME                          GFXOFF
//    #define GWIN_NEED_TABSET                         GFXOFF
//        #define GWIN_TABSET_TABHEIGHT                18

///////////////////////////////////////////////////////////////////////////
// GTRANS                                                                //
///////////////////////////////////////////////////////////////////////////
//#define GFX_USE_GTRANS                               GFXOFF

///////////////////////////////////////////////////////////////////////////
// GEVENT                                                                //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GEVENT GFXON

//#define GEVENT_ASSERT_NO_RESOURCE                    GFXOFF
//#define GEVENT_MAXIMUM_SIZE                          32
//#define GEVENT_MAX_SOURCE_LISTENERS                  32

///////////////////////////////////////////////////////////////////////////
// GTIMER                                                                //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GTIMER GFXOFF

//#define GTIMER_THREAD_PRIORITY                       gThreadpriorityHigh
//#define GTIMER_THREAD_WORKAREA_SIZE                  2048

///////////////////////////////////////////////////////////////////////////
// GQUEUE                                                                //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GQUEUE GFXOFF

//#define GQUEUE_NEED_ASYNC                            GFXOFF
//#define GQUEUE_NEED_GSYNC                            GFXOFF
//#define GQUEUE_NEED_FSYNC                            GFXOFF
//#define GQUEUE_NEED_BUFFERS                          GFXOFF

///////////////////////////////////////////////////////////////////////////
// GINPUT                                                                //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GINPUT GFXOFF

//#define GINPUT_NEED_MOUSE                            GFXOFF
//    #define GINPUT_TOUCH_STARTRAW                    GFXOFF
//    #define GINPUT_TOUCH_NOTOUCH                     GFXOFF
//    #define GINPUT_TOUCH_NOCALIBRATE                 GFXOFF
//    #define GINPUT_TOUCH_NOCALIBRATE_GUI             GFXOFF
//    #define GINPUT_MOUSE_POLL_PERIOD                 25
//    #define GINPUT_MOUSE_CLICK_TIME                  300
//    #define GINPUT_TOUCH_CXTCLICK_TIME               700
//    #define GINPUT_TOUCH_USER_CALIBRATION_LOAD       GFXOFF
//    #define GINPUT_TOUCH_USER_CALIBRATION_SAVE       GFXOFF
//    #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                         GFXOFF
//    #define GINPUT_KEYBOARD_POLL_PERIOD              200
//    #define GKEYBOARD_DRIVER_LIST                    GKEYBOARDVMT_Win32, GKEYBOARDVMT_Win32
//    #define GKEYBOARD_LAYOUT_OFF                     GFXOFF
//        #define GKEYBOARD_LAYOUT_SCANCODE2_US        GFXOFF
//#define GINPUT_NEED_TOGGLE                           GFXOFF
//#define GINPUT_NEED_DIAL                             GFXOFF

///////////////////////////////////////////////////////////////////////////
// GFILE                                                                 //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GFILE GFXOFF

//#define GFILE_NEED_PRINTG                            GFXOFF
//#define GFILE_NEED_SCANG                             GFXOFF
//#define GFILE_NEED_STRINGS                           GFXOFF
//#define GFILE_NEED_FILELISTS                         GFXOFF
//#define GFILE_NEED_STDIO                             GFXOFF
//#define GFILE_NEED_NOAUTOMOUNT                       GFXOFF
//#define GFILE_NEED_NOAUTOSYNC                        GFXOFF

//#define GFILE_NEED_MEMFS                             GFXOFF
//#define GFILE_NEED_ROMFS                             GFXOFF
//#define GFILE_NEED_RAMFS                             GFXOFF
//#define GFILE_NEED_FATFS                             GFXOFF
//#define GFILE_NEED_NATIVEFS                          GFXOFF
//#define GFILE_NEED_CHBIOSFS                          GFXOFF
//#define GFILE_NEED_USERFS                            GFXOFF

//#define GFILE_ALLOW_FLOATS                           GFXOFF
//#define GFILE_ALLOW_DEVICESPECIFIC                   GFXOFF
//#define GFILE_MAX_GFILES                             3

///////////////////////////////////////////////////////////////////////////
// GADC                                                                  //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GADC GFXOFF
//    #define GADC_MAX_LOWSPEED_DEVICES                4

///////////////////////////////////////////////////////////////////////////
// GAUDIO                                                                //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GAUDIO GFXOFF
//    #define GAUDIO_NEED_PLAY                         GFXOFF
//    #define GAUDIO_NEED_RECORD                       GFXOFF

///////////////////////////////////////////////////////////////////////////
// GMISC                                                                 //
///////////////////////////////////////////////////////////////////////////
#define GFX_USE_GMISC GFXON

//#define GMISC_NEED_ARRAYOPS                          GFXOFF
//#define GMISC_NEED_FASTTRIG                          GFXOFF
//#define GMISC_NEED_FIXEDTRIG                         GFXOFF
//#define GMISC_NEED_INVSQRT                           GFXOFF
//    #define GMISC_INVSQRT_MIXED_ENDIAN               GFXOFF
//    #define GMISC_INVSQRT_REAL_SLOW                  GFXOFF
#define GMISC_NEED_MATRIXFLOAT2D GFXON
#define GMISC_NEED_MATRIXFIXED2D GFXOFF
//#define GMISC_NEED_HITTEST_POLY                      GFXOFF