wasabicfg.h 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. #ifndef __WASABI_CFG_H
  2. #define __WASABI_CFG_H
  3. #define _WASABIRUNTIME
  4. // Uncomment this to have an old-style global api pointer
  5. #define WA3COMPATIBILITY
  6. #define WASABINOMAINAPI
  7. #ifndef _WASABIRUNTIME
  8. #ifndef WA3COMPATIBILITY
  9. #define WASABINOMAINAPI
  10. #endif
  11. /*
  12. Comment or uncomment the following directives according to the needs of your application :
  13. */
  14. /* note to the team:
  15. the WANT_WASABI_API_* directives will go away once we're done splitting the api, their only purpose
  16. is to split the api one bit at a time while the rest remains working. when it's done, all that will remain
  17. will be the WASABI_COMPILE_* directives
  18. */
  19. // This allows component (external plugins)
  20. //#define WASABI_COMPILE_COMPONENTS
  21. // This enables the layered UI
  22. #define WASABI_COMPILE_WND
  23. // This enables multiplexed timers
  24. #define WASABI_COMPILE_TIMERS
  25. // This enables xml group loading within the window api
  26. #define WASABI_COMPILE_SKIN
  27. // This enables internationalizaiton
  28. // #define WASABI_COMPILE_UTF
  29. // This enables action handling in UI objects (clicks and keypresses)
  30. //#define WASABI_COMPILE_ACTIONS
  31. // This enables UI scripting
  32. #define WASABI_COMPILE_SCRIPT
  33. // This enables keyboard locales in UI
  34. //#define WASABI_COMPILE_LOCALES
  35. // This enables bitmap and truetype font rendering
  36. //#define WASABI_COMPILE_FONTS
  37. // This sets the static font renderer. If you are compiling with api_config, the attribute to set is { 0x280876cf, 0x48c0, 0x40bc, { 0x8e, 0x86, 0x73, 0xce, 0x6b, 0xb4, 0x62, 0xe5 } }, "Font Renderer"
  38. //#define WASABI_FONT_RENDERER "" // "" is Win32
  39. // This lets you override all bitmapfonts using TTF fonts (for internationalization). define to a function call or a global value to change this value dynamically.
  40. // If you are compiling with api_config, the attribute to set is { 0x280876cf, 0x48c0, 0x40bc, { 0x8e, 0x86, 0x73, 0xce, 0x6b, 0xb4, 0x62, 0xe5 } }, "Use bitmap fonts (no international support)"
  41. //#define WASABI_FONT_TTFOVERRIDE 0 // 1 does all rendering with TTF
  42. // This enables loading for pngs, jpgs (you need to add the necessary image loader services)
  43. //#define WASABI_COMPILE_IMGLDR
  44. //#define WASABI_COMPILE_IMGLDR_PNGREAD
  45. // This enables metadb support
  46. //#define WASABI_COMPILE_METADB
  47. // This enables config file support
  48. #define WASABI_COMPILE_CONFIG
  49. // This enables the filereader pipeline
  50. #define WASABI_COMPILE_FILEREADER
  51. // This enables the xml parser for config and group loading
  52. #define WASABI_COMPILE_XMLPARSER
  53. // This enables system callback management
  54. #define WASABI_COMPILE_SYSCB
  55. // This enables centralized memory allocation/deallocation
  56. //#define WASABI_COMPILE_MEMMGR
  57. //#define WASABI_SKINS_SUBDIRECTORY "skins"
  58. //#define WASABI_COMPILE_MEDIACORE
  59. #define WASABI_COMPILE_MAKIDEBUG
  60. #else // not _WASABIRUNTIME
  61. // this section should define the entire set of wasabi parts since this is a full runtime build
  62. //#define WASABI_COMPILE_COMPONENTS // not done !
  63. #define WASABI_COMPILE_SKIN
  64. #define WASABI_COMPILE_ACTIONS
  65. #define WASABI_COMPILE_SCRIPT
  66. #define WASABI_COMPILE_FONTS
  67. #define WASABI_COMPILE_LOCALES
  68. #define WASABI_COMPILE_IMGLDR
  69. #define WASABI_COMPILE_IMGLDR_PNGREAD
  70. //#define WASABI_COMPILE_METADB // not done !
  71. #define WASABI_COMPILE_CONFIG
  72. #define WASABI_COMPILE_FILEREADER
  73. #define WASABI_COMPILE_XMLPARSER
  74. #define WASABI_COMPILE_SYSCB
  75. #define WASABI_COMPILE_MEMMGR
  76. #define WASABI_COMPILE_SKIN_WA2
  77. #define WASABI_COMPILE_PAINTSETS
  78. #define WASABI_COMPILE_WNDMGR
  79. #define WASABI_SKINS_SUBDIRECTORY "skins"
  80. #define WASABI_RESOURCES_SUBDIRECTORY "wacs"
  81. #define WASABI_FONT_RENDERER "" // "" is Win32
  82. //#define WASABI_COMPILE_MEDIACORE
  83. #define WASABI_COMPILE_TIMERS
  84. #define WASABI_COMPILE_WND
  85. #define WASABI_COMPILE_UTF
  86. #define WASABI_WNDMGR_ALLCONTAINERSDYNAMIC 0
  87. //#define WASABI_COMPILE_MAKIDEBUG
  88. #endif // not _WASABIRUNTIME
  89. #ifndef WASABINOMAINAPI
  90. #define WASABI_API_SYSTEM api
  91. #define WASABI_API_APP api
  92. #define WASABI_API_COMPONENT api
  93. #define WASABI_API_SVC api
  94. #define WASABI_API_SYSCB api
  95. #define WASABI_API_MAKI api
  96. #define WASABI_API_UTF api
  97. #define WASABI_API_WND api
  98. #define WASABI_API_IMGLDR api
  99. #define WASABI_API_FILE api
  100. #define WASABI_API_TIMER api
  101. #define WASABI_API_WNDMGR api
  102. #define WASABI_API_SKIN api
  103. #define WASABI_API_METADB api
  104. #define WASABI_API_LOCALE api
  105. #define WASABI_API_CONFIG api
  106. #define WASABI_API_FONT api
  107. #define WASABI_API_MEMMGR api
  108. #define WASABI_API_MEDIACORE api
  109. #define WASABI_API_MAKIDEBUG debugApi
  110. #define EXPERIMENTAL_INDEPENDENT_AOT
  111. #else // WASABINOMAINAPI
  112. #define WASABI_API_SYSTEM systemApi
  113. #define WASABI_API_APP applicationApi
  114. #define WASABI_API_SVC serviceApi
  115. #define WASABI_API_SYSCB sysCallbackApi
  116. #ifdef WASABI_COMPILE_COMPONENTS
  117. #define WASABI_API_COMPONENT componentApi
  118. #endif
  119. #ifdef WASABI_COMPILE_SCRIPT
  120. #define WASABI_API_MAKI makiApi
  121. #endif
  122. #ifdef WASABI_COMPILE_UTF
  123. #define WASABI_API_UTF utfApi
  124. #endif
  125. #ifdef WASABI_COMPILE_WND
  126. #define WASABI_API_WND wndApi
  127. #endif
  128. #ifdef WASABI_COMPILE_IMGLDR
  129. #define WASABI_API_IMGLDR imgLoaderApi
  130. #endif
  131. #ifdef WASABI_COMPILE_FILEREADER
  132. #define WASABI_API_FILE fileApi
  133. #endif
  134. #ifdef WASABI_COMPILE_TIMERS
  135. #define WASABI_API_TIMER timerApi
  136. #endif
  137. #ifdef WASABI_COMPILE_WNDMGR
  138. #define WASABI_API_WNDMGR wndManagerApi
  139. #endif
  140. #ifdef WASABI_COMPILE_SKIN
  141. #define WASABI_API_SKIN skinApi
  142. #endif
  143. #ifdef WASABI_COMPILE_METADB
  144. #define WASABI_API_METADB metadbApi
  145. #endif
  146. #ifdef WASABI_COMPILE_LOCALES
  147. #define WASABI_API_LOCALE localesApi
  148. #endif
  149. #ifdef WASABI_COMPILE_CONFIG
  150. #define WASABI_API_CONFIG configApi
  151. #endif
  152. #ifdef WASABI_COMPILE_FONTS
  153. #define WASABI_API_FONT fontApi
  154. #endif
  155. #ifdef WASABI_COMPILE_MEMMGR
  156. #define WASABI_API_MEMMGR memmgrApi
  157. #endif
  158. #ifdef WASABI_COMPILE_MEDIACORE
  159. #define WASABI_API_MEDIACORE coreApi
  160. #endif
  161. #ifdef WASABI_COMPILE_MAKIDEBUG
  162. #define WASABI_API_MAKIDEBUG debugApi
  163. #endif
  164. #endif // WASABINOMAINAPI
  165. #define WASABI_EXTERNAL_GUIOBJECTS
  166. #define WASABI_WIDGETS_GUIOBJECT
  167. #define WASABI_WIDGETS_LAYER
  168. #define WASABI_WIDGETS_TEXT
  169. #define WASABI_WIDGETS_BUTTON
  170. #define WASABI_WIDGETS_TGBUTTON
  171. #define WASABI_WIDGETS_ANIMLAYER
  172. #define WASABI_WIDGETS_GROUPLIST
  173. #define WASABI_WIDGETS_MOUSEREDIR
  174. #define WASABI_WIDGETS_SLIDER
  175. #define WASABI_WIDGETS_MEDIASLIDERS
  176. #define WASABI_WIDGETS_MEDIAVIS
  177. #define WASABI_WIDGETS_MEDIAEQCURVE
  178. #define WASABI_WIDGETS_MEDIASTATUS
  179. #define WASABI_WIDGETS_SVCWND
  180. #define WASABI_WIDGETS_EDIT
  181. #define WASABI_WIDGETS_TITLEBAR
  182. #define WASABI_WIDGETS_COMPBUCK
  183. //#define WASABI_WANT_FF_POPUP
  184. #ifndef WASABI_EXTERNAL_GUIOBJECTS
  185. #define WASABI_WIDGETS_BROWSER
  186. #define WASABI_WIDGETS_FRAME
  187. #define WASABI_WIDGETS_GRID
  188. #define WASABI_WIDGETS_QUERYDRAG
  189. #define WASABI_WIDGETS_QUERYLIST
  190. #define WASABI_WIDGETS_FILTERLIST
  191. #define WASABI_WIDGETS_QUERYLINE
  192. #define WASABI_WIDGETS_WNDHOLDER
  193. #define WASABI_WIDGETS_LAYOUTSTATUS
  194. #define WASABI_WIDGETS_TABSHEET
  195. #define WASABI_WIDGETS_CHECKBOX
  196. #define WASABI_WIDGETS_TITLEBOX
  197. #define WASABI_WIDGETS_CUSTOMOBJECT
  198. #define WASABI_WIDGETS_RADIOGROUP
  199. #define WASABI_WIDGETS_LIST
  200. #define WASABI_WIDGETS_TREE
  201. #define WASABI_WIDGETS_DROPDOWNLIST
  202. #define WASABI_WIDGETS_COMBOBOX
  203. #define WASABI_WIDGETS_HISTORYEDITBOX
  204. #define WASABI_WIDGETS_OBJECTDIRECTORY
  205. #define WASABI_WIDGETS_RECTANGLE
  206. #define WASABI_WIDGETS_PATHPICKER
  207. #define WASABI_WIDGETS_GRADIENT
  208. #define WASABI_WIDGETS_MENUBUTTON
  209. #define WASABI_TOOLOBJECT_HIDEOBJECT
  210. #define WASABI_TOOLOBJECT_SENDPARAMS
  211. #define WASABI_TOOLOBJECT_ADDPARAMS
  212. #endif // WASABI_EXTERNAL_GUIOBJECTS
  213. #define WASABI_SCRIPTOBJECTS_POPUP
  214. #define WASABI_SCRIPTOBJECTS_LIST
  215. #define WASABI_SCRIPTOBJECTS_BITLIST
  216. #define WASABI_SCRIPTOBJECTS_REGION
  217. #define WASABI_SCRIPTOBJECTS_TIMER
  218. #define WASABI_SCRIPTOBJECTS_MAP
  219. #ifndef WASABI_EXTERNAL_GUIOBJECTS
  220. #define WASABI_SCRIPTOBJECTS_WAC
  221. #endif // WASABI_EXTERNAL_GUIOBJECTS
  222. #define WASABI_DEFAULT_STDCONTAINER "resizable_status"
  223. #include <api/application/api_application.h>
  224. #include <api/service/api_service.h>
  225. #include <api/syscb/api_syscb.h>
  226. #ifdef WASABI_COMPILE_MEMMGR
  227. # include <api/memmgr/api_memmgr.h>
  228. #endif
  229. #ifdef WASABI_COMPILE_SCRIPT
  230. # include <api/script/api_maki.h>
  231. #endif
  232. #ifdef WASABI_COMPILE_FONTS
  233. # include <api/font/api_font.h>
  234. #endif
  235. #ifdef WASABI_COMPILE_WND
  236. # include <api/wnd/api_wnd.h>
  237. #endif
  238. #ifdef WASABI_COMPILE_IMGLDR
  239. # include <api/imgldr/api_imgldr.h>
  240. #endif
  241. #ifdef WASABI_COMPILE_FILEREADER
  242. # include <api/filereader/api_filereader.h>
  243. #endif
  244. #ifdef WASABI_COMPILE_TIMERS
  245. # include <api/timer/api_timer.h>
  246. #endif
  247. #ifdef WASABI_COMPILE_WNDMGR
  248. # include <api/wndmgr/api_wndmgr.h>
  249. #endif
  250. #ifdef WASABI_COMPILE_LOCALES
  251. # include <api/locales/api_locales.h>
  252. #endif
  253. #ifdef WASABI_COMPILE_CONFIG
  254. # include <api/config/api_config.h>
  255. #endif
  256. #ifdef WASABI_COMPILE_SKIN
  257. # include <api/skin/api_skin.h>
  258. #endif
  259. #ifdef WASABI_COMPILE_MAKIDEBUG
  260. # include <api/script/debugger/api_makidebug.h>
  261. #endif
  262. #endif