common_gfxconf.h 17 KB

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