aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/wasabicfg/wa5/wasabicfg.h
blob: c2188d2710a1afd68fbebaf2cf806e7005e8c4d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
#ifndef __WASABI_CFG_H
#define __WASABI_CFG_H

#define _WASABIRUNTIME

// Uncomment this to have an old-style global api pointer
#define WA3COMPATIBILITY

#define WASABINOMAINAPI

#ifndef _WASABIRUNTIME

#ifndef WA3COMPATIBILITY
#define WASABINOMAINAPI
#endif

/* 

Comment or uncomment the following directives according to the needs of your application :

*/

/* note to the team:

  the WANT_WASABI_API_* directives will go away once we're done splitting the api, their only purpose
  is to split the api one bit at a time while the rest remains working. when it's done, all that will remain
  will be the WASABI_COMPILE_* directives

*/


// This allows component (external plugins)
//#define WASABI_COMPILE_COMPONENTS

// This enables the layered UI
#define WASABI_COMPILE_WND

// This enables multiplexed timers
#define WASABI_COMPILE_TIMERS

// This enables xml group loading within the window api
#define WASABI_COMPILE_SKIN

// This enables internationalizaiton
// #define WASABI_COMPILE_UTF

// This enables action handling in UI objects (clicks and keypresses)
//#define WASABI_COMPILE_ACTIONS

// This enables UI scripting
#define WASABI_COMPILE_SCRIPT

// This enables keyboard locales in UI
//#define WASABI_COMPILE_LOCALES

// This enables bitmap and truetype font rendering
//#define WASABI_COMPILE_FONTS

// 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"
//#define WASABI_FONT_RENDERER "" // "" is Win32

// 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. 
// 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)"
//#define WASABI_FONT_TTFOVERRIDE 0 // 1 does all rendering with TTF
                        
// This enables loading for pngs, jpgs (you need to add the necessary image loader services)
//#define WASABI_COMPILE_IMGLDR
//#define WASABI_COMPILE_IMGLDR_PNGREAD

// This enables metadb support
//#define WASABI_COMPILE_METADB

// This enables config file support
#define WASABI_COMPILE_CONFIG

// This enables the filereader pipeline
#define WASABI_COMPILE_FILEREADER

// This enables the xml parser for config and group loading
#define WASABI_COMPILE_XMLPARSER

// This enables system callback management
#define WASABI_COMPILE_SYSCB

// This enables centralized memory allocation/deallocation
//#define WASABI_COMPILE_MEMMGR

//#define WASABI_SKINS_SUBDIRECTORY "skins"

//#define WASABI_COMPILE_MEDIACORE

#define WASABI_COMPILE_MAKIDEBUG

#else // not _WASABIRUNTIME

// this section should define the entire set of wasabi parts since this is a full runtime build

//#define WASABI_COMPILE_COMPONENTS // not done !
#define WASABI_COMPILE_SKIN
#define WASABI_COMPILE_ACTIONS
#define WASABI_COMPILE_SCRIPT
#define WASABI_COMPILE_FONTS
#define WASABI_COMPILE_LOCALES
#define WASABI_COMPILE_IMGLDR
#define WASABI_COMPILE_IMGLDR_PNGREAD
//#define WASABI_COMPILE_METADB // not done !
#define WASABI_COMPILE_CONFIG
#define WASABI_COMPILE_FILEREADER
#define WASABI_COMPILE_XMLPARSER
#define WASABI_COMPILE_SYSCB
#define WASABI_COMPILE_MEMMGR
#define WASABI_COMPILE_SKIN_WA2
#define WASABI_COMPILE_PAINTSETS
#define WASABI_COMPILE_WNDMGR
#define WASABI_SKINS_SUBDIRECTORY "skins"
#define WASABI_RESOURCES_SUBDIRECTORY "wacs"
#define WASABI_FONT_RENDERER "" // "" is Win32
//#define WASABI_COMPILE_MEDIACORE
#define WASABI_COMPILE_TIMERS
#define WASABI_COMPILE_WND
#define WASABI_COMPILE_UTF   
#define WASABI_WNDMGR_ALLCONTAINERSDYNAMIC 0
//#define WASABI_COMPILE_MAKIDEBUG

#endif // not _WASABIRUNTIME

#ifndef WASABINOMAINAPI 
  #define WASABI_API_SYSTEM      api
  #define WASABI_API_APP         api
  #define WASABI_API_COMPONENT   api
  #define WASABI_API_SVC         api
  #define WASABI_API_SYSCB       api
  #define WASABI_API_MAKI        api
  #define WASABI_API_UTF         api
  #define WASABI_API_WND         api
  #define WASABI_API_IMGLDR      api
  #define WASABI_API_FILE        api
  #define WASABI_API_TIMER       api
  #define WASABI_API_WNDMGR      api
  #define WASABI_API_SKIN        api
  #define WASABI_API_METADB      api
  #define WASABI_API_LOCALE      api
  #define WASABI_API_CONFIG      api
  #define WASABI_API_FONT        api
  #define WASABI_API_MEMMGR      api
  #define WASABI_API_MEDIACORE   api
  #define WASABI_API_MAKIDEBUG   debugApi

  #define EXPERIMENTAL_INDEPENDENT_AOT

#else // WASABINOMAINAPI

  #define WASABI_API_SYSTEM      systemApi
  
  #define WASABI_API_APP         applicationApi
  #define WASABI_API_SVC         serviceApi
  #define WASABI_API_SYSCB       sysCallbackApi

  #ifdef WASABI_COMPILE_COMPONENTS
  #define WASABI_API_COMPONENT   componentApi
  #endif

  #ifdef WASABI_COMPILE_SCRIPT
  #define WASABI_API_MAKI        makiApi
  #endif

  #ifdef WASABI_COMPILE_UTF
  #define WASABI_API_UTF         utfApi
  #endif

  #ifdef WASABI_COMPILE_WND
  #define WASABI_API_WND         wndApi
  #endif

  #ifdef WASABI_COMPILE_IMGLDR
  #define WASABI_API_IMGLDR      imgLoaderApi
  #endif

  #ifdef WASABI_COMPILE_FILEREADER
  #define WASABI_API_FILE        fileApi
  #endif

  #ifdef WASABI_COMPILE_TIMERS
  #define WASABI_API_TIMER       timerApi
  #endif

  #ifdef WASABI_COMPILE_WNDMGR
  #define WASABI_API_WNDMGR      wndManagerApi
  #endif

  #ifdef WASABI_COMPILE_SKIN
  #define WASABI_API_SKIN        skinApi
  #endif

  #ifdef WASABI_COMPILE_METADB
  #define WASABI_API_METADB      metadbApi
  #endif

  #ifdef WASABI_COMPILE_LOCALES
  #define WASABI_API_LOCALE      localesApi
  #endif

  #ifdef WASABI_COMPILE_CONFIG
  #define WASABI_API_CONFIG      configApi
  #endif

  #ifdef WASABI_COMPILE_FONTS
  #define WASABI_API_FONT        fontApi
  #endif

  #ifdef WASABI_COMPILE_MEMMGR
  #define WASABI_API_MEMMGR      memmgrApi
  #endif

  #ifdef WASABI_COMPILE_MEDIACORE
  #define WASABI_API_MEDIACORE   coreApi
  #endif

  #ifdef WASABI_COMPILE_MAKIDEBUG
  #define WASABI_API_MAKIDEBUG   debugApi
  #endif

#endif // WASABINOMAINAPI

#define WASABI_EXTERNAL_GUIOBJECTS

#define WASABI_WIDGETS_GUIOBJECT
#define WASABI_WIDGETS_LAYER
#define WASABI_WIDGETS_TEXT
#define WASABI_WIDGETS_BUTTON
#define WASABI_WIDGETS_TGBUTTON
#define WASABI_WIDGETS_ANIMLAYER
#define WASABI_WIDGETS_GROUPLIST
#define WASABI_WIDGETS_MOUSEREDIR
#define WASABI_WIDGETS_SLIDER
#define WASABI_WIDGETS_MEDIASLIDERS
#define WASABI_WIDGETS_MEDIAVIS
#define WASABI_WIDGETS_MEDIAEQCURVE
#define WASABI_WIDGETS_MEDIASTATUS
#define WASABI_WIDGETS_SVCWND
#define WASABI_WIDGETS_EDIT
#define WASABI_WIDGETS_TITLEBAR
#define WASABI_WIDGETS_COMPBUCK

//#define WASABI_WANT_FF_POPUP

#ifndef WASABI_EXTERNAL_GUIOBJECTS

#define WASABI_WIDGETS_BROWSER
#define WASABI_WIDGETS_FRAME
#define WASABI_WIDGETS_GRID
#define WASABI_WIDGETS_QUERYDRAG
#define WASABI_WIDGETS_QUERYLIST
#define WASABI_WIDGETS_FILTERLIST
#define WASABI_WIDGETS_QUERYLINE
#define WASABI_WIDGETS_WNDHOLDER
#define WASABI_WIDGETS_LAYOUTSTATUS
#define WASABI_WIDGETS_TABSHEET
#define WASABI_WIDGETS_CHECKBOX
#define WASABI_WIDGETS_TITLEBOX
#define WASABI_WIDGETS_CUSTOMOBJECT
#define WASABI_WIDGETS_RADIOGROUP
#define WASABI_WIDGETS_LIST
#define WASABI_WIDGETS_TREE
#define WASABI_WIDGETS_DROPDOWNLIST
#define WASABI_WIDGETS_COMBOBOX
#define WASABI_WIDGETS_HISTORYEDITBOX
#define WASABI_WIDGETS_OBJECTDIRECTORY
#define WASABI_WIDGETS_RECTANGLE
#define WASABI_WIDGETS_PATHPICKER
#define WASABI_WIDGETS_GRADIENT
#define WASABI_WIDGETS_MENUBUTTON

#define WASABI_TOOLOBJECT_HIDEOBJECT
#define WASABI_TOOLOBJECT_SENDPARAMS
#define WASABI_TOOLOBJECT_ADDPARAMS

#endif // WASABI_EXTERNAL_GUIOBJECTS

#define WASABI_SCRIPTOBJECTS_POPUP
#define WASABI_SCRIPTOBJECTS_LIST
#define WASABI_SCRIPTOBJECTS_BITLIST
#define WASABI_SCRIPTOBJECTS_REGION
#define WASABI_SCRIPTOBJECTS_TIMER
#define WASABI_SCRIPTOBJECTS_MAP

#ifndef WASABI_EXTERNAL_GUIOBJECTS
#define WASABI_SCRIPTOBJECTS_WAC
#endif // WASABI_EXTERNAL_GUIOBJECTS

#define WASABI_DEFAULT_STDCONTAINER "resizable_status"

#include <api/application/api_application.h>
#include <api/service/api_service.h>
#include <api/syscb/api_syscb.h>

#ifdef WASABI_COMPILE_MEMMGR
# include <api/memmgr/api_memmgr.h>
#endif

#ifdef WASABI_COMPILE_SCRIPT
# include <api/script/api_maki.h>
#endif

#ifdef WASABI_COMPILE_FONTS
# include <api/font/api_font.h>
#endif

#ifdef WASABI_COMPILE_WND
# include <api/wnd/api_wnd.h>
#endif

#ifdef WASABI_COMPILE_IMGLDR
# include <api/imgldr/api_imgldr.h>
#endif

#ifdef WASABI_COMPILE_FILEREADER
# include <api/filereader/api_filereader.h>
#endif

#ifdef WASABI_COMPILE_TIMERS
# include <api/timer/api_timer.h>
#endif

#ifdef WASABI_COMPILE_WNDMGR
# include <api/wndmgr/api_wndmgr.h>
#endif

#ifdef WASABI_COMPILE_LOCALES
# include <api/locales/api_locales.h>
#endif

#ifdef WASABI_COMPILE_CONFIG
# include <api/config/api_config.h>
#endif

#ifdef WASABI_COMPILE_SKIN
# include <api/skin/api_skin.h>
#endif

#ifdef WASABI_COMPILE_MAKIDEBUG
# include <api/script/debugger/api_makidebug.h>
#endif

#endif