gfxconf.h 17 KB

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