You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

354 lines
19 KiB

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