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.
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.
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.
19 * Please use spaces instead of tabs in this file.
26 ///////////////////////////////////////////////////////////////////////////
27 // GOS - One of these must be defined, preferably in your Makefile //
28 ///////////////////////////////////////////////////////////////////////////
29 //#define GFX_USE_OS_CHIBIOS TRUE
30 //#define GFX_USE_OS_FREERTOS FALSE
31 // #define GFX_FREERTOS_USE_TRACE FALSE
32 //#define GFX_USE_OS_WIN32 FALSE
33 //#define GFX_USE_OS_LINUX FALSE
34 //#define GFX_USE_OS_OSX FALSE
35 //#define GFX_USE_OS_ECOS FALSE
36 //#define GFX_USE_OS_RAWRTOS FALSE
37 //#define GFX_USE_OS_ARDUINO FALSE
38 //#define GFX_USE_OS_KEIL FALSE
39 //#define GFX_USE_OS_CMSIS FALSE
40 //#define GFX_USE_OS_RAW32 FALSE
41 // #define INTERRUPTS_OFF() optional_code
42 // #define INTERRUPTS_ON() optional_code
43 // These are not defined by default for some reason
44 #define GOS_NEED_X_THREADS FALSE
45 #define GOS_NEED_X_HEAP FALSE
47 // Options that (should where relevant) apply to all operating systems
48 #define GFX_NO_INLINE FALSE
49 // #define GFX_COMPILER GFX_COMPILER_UNKNOWN
50 // #define GFX_CPU GFX_CPU_UNKNOWN
51 // #define GFX_OS_HEAP_SIZE 0
52 // #define GFX_OS_NO_INIT FALSE
53 // #define GFX_OS_INIT_NO_WARNING FALSE
54 // #define GFX_OS_PRE_INIT_FUNCTION myHardwareInitRoutine
55 // #define GFX_OS_EXTRA_INIT_FUNCTION myOSInitRoutine
56 // #define GFX_OS_EXTRA_DEINIT_FUNCTION myOSDeInitRoutine
59 ///////////////////////////////////////////////////////////////////////////
61 ///////////////////////////////////////////////////////////////////////////
62 #define GFX_USE_GDISP TRUE
64 //#define GDISP_NEED_AUTOFLUSH FALSE
65 //#define GDISP_NEED_TIMERFLUSH FALSE
66 //#define GDISP_NEED_VALIDATION TRUE
67 //#define GDISP_NEED_CLIP TRUE
68 #define GDISP_NEED_CIRCLE TRUE
69 #define GDISP_NEED_ELLIPSE TRUE
70 #define GDISP_NEED_ARC TRUE
71 #define GDISP_NEED_ARCSECTORS TRUE
72 #define GDISP_NEED_CONVEX_POLYGON TRUE
73 //#define GDISP_NEED_SCROLL FALSE
74 #define GDISP_NEED_PIXELREAD TRUE
75 #define GDISP_NEED_CONTROL TRUE
76 //#define GDISP_NEED_QUERY FALSE
77 //#define GDISP_NEED_MULTITHREAD FALSE
78 //#define GDISP_NEED_STREAMING FALSE
79 #define GDISP_NEED_TEXT TRUE
80 // #define GDISP_NEED_TEXT_WORDWRAP FALSE
81 // #define GDISP_NEED_ANTIALIAS FALSE
82 // #define GDISP_NEED_UTF8 FALSE
83 #define GDISP_NEED_TEXT_KERNING TRUE
84 // #define GDISP_INCLUDE_FONT_UI1 FALSE
85 // #define GDISP_INCLUDE_FONT_UI2 FALSE // The smallest preferred font.
86 // #define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE
87 // #define GDISP_INCLUDE_FONT_DEJAVUSANS10 FALSE
88 // #define GDISP_INCLUDE_FONT_DEJAVUSANS12 FALSE
89 // #define GDISP_INCLUDE_FONT_DEJAVUSANS16 FALSE
90 // #define GDISP_INCLUDE_FONT_DEJAVUSANS20 FALSE
91 // #define GDISP_INCLUDE_FONT_DEJAVUSANS24 FALSE
92 // #define GDISP_INCLUDE_FONT_DEJAVUSANS32 FALSE
93 #define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 TRUE
94 // #define GDISP_INCLUDE_FONT_FIXED_10X20 FALSE
95 // #define GDISP_INCLUDE_FONT_FIXED_7X14 FALSE
96 #define GDISP_INCLUDE_FONT_FIXED_5X8 TRUE
97 // #define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA FALSE
98 // #define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA FALSE
99 // #define GDISP_INCLUDE_FONT_DEJAVUSANS20_AA FALSE
100 // #define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA FALSE
101 // #define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA FALSE
102 // #define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA FALSE
103 // #define GDISP_INCLUDE_USER_FONTS FALSE
105 //#define GDISP_NEED_IMAGE FALSE
106 // #define GDISP_NEED_IMAGE_NATIVE FALSE
107 // #define GDISP_NEED_IMAGE_GIF FALSE
108 // #define GDISP_NEED_IMAGE_BMP FALSE
109 // #define GDISP_NEED_IMAGE_BMP_1 FALSE
110 // #define GDISP_NEED_IMAGE_BMP_4 FALSE
111 // #define GDISP_NEED_IMAGE_BMP_4_RLE FALSE
112 // #define GDISP_NEED_IMAGE_BMP_8 FALSE
113 // #define GDISP_NEED_IMAGE_BMP_8_RLE FALSE
114 // #define GDISP_NEED_IMAGE_BMP_16 FALSE
115 // #define GDISP_NEED_IMAGE_BMP_24 FALSE
116 // #define GDISP_NEED_IMAGE_BMP_32 FALSE
117 // #define GDISP_NEED_IMAGE_JPG FALSE
118 // #define GDISP_NEED_IMAGE_PNG FALSE
119 // #define GDISP_NEED_IMAGE_ACCOUNTING FALSE
121 #define GDISP_NEED_PIXMAP TRUE
123 // #define GDISP_NEED_PIXMAP_IMAGE FALSE
125 //#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_LANDSCAPE // If not defined the native hardware orientation is used.
126 //#define GDISP_LINEBUF_SIZE 128
127 //#define GDISP_STARTUP_COLOR Black
128 #define GDISP_NEED_STARTUP_LOGO FALSE
130 //#define GDISP_TOTAL_DISPLAYS 2
133 #define GDISP_DRIVER_LIST GDISPVMT_ST7565_ERGODOX, GDISPVMT_IS31FL3731C_ERGODOX
135 #define GDISP_DRIVER_LIST GDISPVMT_EMULATOR_LCD_ERGODOX, GDISPVMT_EMULATOR_LED_ERGODOX
138 #ifdef GDISP_DRIVER_LIST
139 // For code and speed optimization define as TRUE or FALSE if all controllers have the same capability
140 #define GDISP_HARDWARE_STREAM_WRITE FALSE
141 #define GDISP_HARDWARE_STREAM_READ FALSE
142 #define GDISP_HARDWARE_STREAM_POS FALSE
143 #define GDISP_HARDWARE_DRAWPIXEL TRUE
144 #define GDISP_HARDWARE_CLEARS FALSE
145 #define GDISP_HARDWARE_FILLS FALSE
146 //#define GDISP_HARDWARE_BITFILLS FALSE
147 #define GDISP_HARDWARE_SCROLL FALSE
148 #define GDISP_HARDWARE_PIXELREAD TRUE
149 #define GDISP_HARDWARE_CONTROL TRUE
150 #define GDISP_HARDWARE_QUERY FALSE
151 #define GDISP_HARDWARE_CLIP FALSE
153 #define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_RGB888
156 // The custom format is not defined for some reason, so define it as error
157 // so we don't get compiler warnings
158 #define GDISP_PIXELFORMAT_CUSTOM GDISP_PIXELFORMAT_ERROR
160 #define GDISP_USE_GFXNET FALSE
161 // #define GDISP_GFXNET_PORT 13001
162 // #define GDISP_GFXNET_CUSTOM_LWIP_STARTUP FALSE
163 // #define GDISP_DONT_WAIT_FOR_NET_DISPLAY FALSE
164 // #define GDISP_GFXNET_UNSAFE_SOCKETS FALSE
167 ///////////////////////////////////////////////////////////////////////////
169 ///////////////////////////////////////////////////////////////////////////
170 #define GFX_USE_GWIN FALSE
172 //#define GWIN_NEED_WINDOWMANAGER FALSE
173 // #define GWIN_REDRAW_IMMEDIATE FALSE
174 // #define GWIN_REDRAW_SINGLEOP FALSE
175 // #define GWIN_NEED_FLASHING FALSE
176 // #define GWIN_FLASHING_PERIOD 250
178 //#define GWIN_NEED_CONSOLE FALSE
179 // #define GWIN_CONSOLE_USE_HISTORY FALSE
180 // #define GWIN_CONSOLE_HISTORY_AVERAGING FALSE
181 // #define GWIN_CONSOLE_HISTORY_ATCREATE FALSE
182 // #define GWIN_CONSOLE_ESCSEQ FALSE
183 // #define GWIN_CONSOLE_USE_BASESTREAM FALSE
184 // #define GWIN_CONSOLE_USE_FLOAT FALSE
185 //#define GWIN_NEED_GRAPH FALSE
186 //#define GWIN_NEED_GL3D FALSE
188 //#define GWIN_NEED_WIDGET FALSE
189 //#define GWIN_FOCUS_HIGHLIGHT_WIDTH 1
190 // #define GWIN_NEED_LABEL FALSE
191 // #define GWIN_LABEL_ATTRIBUTE FALSE
192 // #define GWIN_NEED_BUTTON FALSE
193 // #define GWIN_BUTTON_LAZY_RELEASE FALSE
194 // #define GWIN_NEED_SLIDER FALSE
195 // #define GWIN_SLIDER_NOSNAP FALSE
196 // #define GWIN_SLIDER_DEAD_BAND 5
197 // #define GWIN_SLIDER_TOGGLE_INC 20
198 // #define GWIN_NEED_CHECKBOX FALSE
199 // #define GWIN_NEED_IMAGE FALSE
200 // #define GWIN_NEED_IMAGE_ANIMATION FALSE
201 // #define GWIN_NEED_RADIO FALSE
202 // #define GWIN_NEED_LIST FALSE
203 // #define GWIN_NEED_LIST_IMAGES FALSE
204 // #define GWIN_NEED_PROGRESSBAR FALSE
205 // #define GWIN_PROGRESSBAR_AUTO FALSE
206 // #define GWIN_NEED_KEYBOARD FALSE
207 // #define GWIN_KEYBOARD_DEFAULT_LAYOUT VirtualKeyboard_English1
208 // #define GWIN_NEED_KEYBOARD_ENGLISH1 TRUE
209 // #define GWIN_NEED_TEXTEDIT FALSE
210 // #define GWIN_FLAT_STYLING FALSE
211 // #define GWIN_WIDGET_TAGS FALSE
213 //#define GWIN_NEED_CONTAINERS FALSE
214 // #define GWIN_NEED_CONTAINER FALSE
215 // #define GWIN_NEED_FRAME FALSE
216 // #define GWIN_NEED_TABSET FALSE
217 // #define GWIN_TABSET_TABHEIGHT 18
220 ///////////////////////////////////////////////////////////////////////////
222 ///////////////////////////////////////////////////////////////////////////
223 #define GFX_USE_GEVENT TRUE
225 //#define GEVENT_ASSERT_NO_RESOURCE FALSE
226 //#define GEVENT_MAXIMUM_SIZE 32
227 //#define GEVENT_MAX_SOURCE_LISTENERS 32
230 ///////////////////////////////////////////////////////////////////////////
232 ///////////////////////////////////////////////////////////////////////////
233 #define GFX_USE_GTIMER FALSE
235 //#define GTIMER_THREAD_PRIORITY HIGH_PRIORITY
236 //#define GTIMER_THREAD_WORKAREA_SIZE 2048
239 ///////////////////////////////////////////////////////////////////////////
241 ///////////////////////////////////////////////////////////////////////////
242 #define GFX_USE_GQUEUE FALSE
244 //#define GQUEUE_NEED_ASYNC FALSE
245 //#define GQUEUE_NEED_GSYNC FALSE
246 //#define GQUEUE_NEED_FSYNC FALSE
247 //#define GQUEUE_NEED_BUFFERS FALSE
249 ///////////////////////////////////////////////////////////////////////////
251 ///////////////////////////////////////////////////////////////////////////
252 #define GFX_USE_GINPUT FALSE
254 //#define GINPUT_NEED_MOUSE FALSE
255 // #define GINPUT_TOUCH_STARTRAW FALSE
256 // #define GINPUT_TOUCH_NOTOUCH FALSE
257 // #define GINPUT_TOUCH_NOCALIBRATE FALSE
258 // #define GINPUT_TOUCH_NOCALIBRATE_GUI FALSE
259 // #define GINPUT_MOUSE_POLL_PERIOD 25
260 // #define GINPUT_MOUSE_CLICK_TIME 300
261 // #define GINPUT_TOUCH_CXTCLICK_TIME 700
262 // #define GINPUT_TOUCH_USER_CALIBRATION_LOAD FALSE
263 // #define GINPUT_TOUCH_USER_CALIBRATION_SAVE FALSE
264 // #define GMOUSE_DRIVER_LIST GMOUSEVMT_Win32, GMOUSEVMT_Win32
265 //#define GINPUT_NEED_KEYBOARD FALSE
266 // #define GINPUT_KEYBOARD_POLL_PERIOD 200
267 // #define GKEYBOARD_DRIVER_LIST GKEYBOARDVMT_Win32, GKEYBOARDVMT_Win32
268 // #define GKEYBOARD_LAYOUT_OFF FALSE
269 // #define GKEYBOARD_LAYOUT_SCANCODE2_US FALSE
270 //#define GINPUT_NEED_TOGGLE FALSE
271 //#define GINPUT_NEED_DIAL FALSE
274 ///////////////////////////////////////////////////////////////////////////
276 ///////////////////////////////////////////////////////////////////////////
277 #define GFX_USE_GFILE FALSE
279 //#define GFILE_NEED_PRINTG FALSE
280 //#define GFILE_NEED_SCANG FALSE
281 //#define GFILE_NEED_STRINGS FALSE
282 //#define GFILE_NEED_FILELISTS FALSE
283 //#define GFILE_NEED_STDIO FALSE
284 //#define GFILE_NEED_NOAUTOMOUNT FALSE
285 //#define GFILE_NEED_NOAUTOSYNC FALSE
287 //#define GFILE_NEED_MEMFS FALSE
288 //#define GFILE_NEED_ROMFS FALSE
289 //#define GFILE_NEED_RAMFS FALSE
290 //#define GFILE_NEED_FATFS FALSE
291 //#define GFILE_NEED_NATIVEFS FALSE
292 //#define GFILE_NEED_CHBIOSFS FALSE
294 //#define GFILE_ALLOW_FLOATS FALSE
295 //#define GFILE_ALLOW_DEVICESPECIFIC FALSE
296 //#define GFILE_MAX_GFILES 3
298 ///////////////////////////////////////////////////////////////////////////
300 ///////////////////////////////////////////////////////////////////////////
301 #define GFX_USE_GADC FALSE
303 //#define GADC_MAX_LOWSPEED_DEVICES 4
306 ///////////////////////////////////////////////////////////////////////////
308 ///////////////////////////////////////////////////////////////////////////
309 #define GFX_USE_GAUDIO FALSE
310 // There seems to be a bug in the ugfx code, the wrong define is used
311 // So define it in order to avoid warnings
312 #define GFX_USE_GAUDIN GFX_USE_GAUDIO
313 // #define GAUDIO_NEED_PLAY FALSE
314 // #define GAUDIO_NEED_RECORD FALSE
317 ///////////////////////////////////////////////////////////////////////////
319 ///////////////////////////////////////////////////////////////////////////
320 #define GFX_USE_GMISC TRUE
322 //#define GMISC_NEED_ARRAYOPS FALSE
323 //#define GMISC_NEED_FASTTRIG FALSE
324 //#define GMISC_NEED_FIXEDTRIG FALSE
325 //#define GMISC_NEED_INVSQRT FALSE
326 // #define GMISC_INVSQRT_MIXED_ENDIAN FALSE
327 // #define GMISC_INVSQRT_REAL_SLOW FALSE
328 #define GMISC_NEED_MATRIXFLOAT2D TRUE
329 #define GMISC_NEED_MATRIXFIXED2D FALSE
331 #endif /* _GFXCONF_H */