Fixed binary search: no more infinite loops when vendor is unknown.
[tangerine.git] / workbench / libs / muimaster / muimaster_intern.h
blob06f3fc413071f395c4bd98066f3cb20869df0d24
1 /*
2 Copyright © 2002-2007, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef MUIMASTER_INTERN_H
7 #define MUIMASTER_INTERN_H
9 #ifndef EXEC_TYPES_H
10 # include <exec/types.h>
11 #endif
12 #ifndef EXEC_LIBRARIES_H
13 # include <exec/libraries.h>
14 #endif
15 #ifndef EXEC_MEMORY_H
16 # include <exec/memory.h>
17 #endif
18 #ifndef INTUITION_CLASSES_H
19 # include <intuition/classes.h>
20 #endif
21 #ifndef INTUITION_INTUITIONBASE_H
22 # include <intuition/intuitionbase.h>
23 #endif
24 #ifndef GRAPHICS_GFXBASE_H
25 # include <graphics/gfxbase.h>
26 #endif
27 #ifndef DOS_DOS_H
28 # include <dos/dos.h>
29 #endif
30 #ifndef UTILITY_UTILITY_H
31 # include <utility/utility.h>
32 #endif
33 #ifndef EXEC_SEMAPHORES_H
34 # include <exec/semaphores.h>
35 #endif
37 #ifdef __AROS__
38 # ifndef AROS_ASMCALL_H
39 # include <aros/asmcall.h>
40 # endif
41 #else
42 # include "support_amigaos.h"
43 #endif
45 #include "mui.h"
46 #include "textengine.h"
47 #include "prefs.h"
48 #include "penspec.h"
50 /****************************************************************************************/
52 struct MUIMasterBase_intern
54 struct Library library;
55 #ifndef __AROS__
56 /* On AROS these fields are handled by the system */
57 struct ExecBase *sysbase;
58 BPTR seglist;
60 /* On AROS autoopened libraries are used */
61 struct DosLibrary *dosbase;
62 struct UtilityBase *utilitybase;
63 struct Library *aslbase;
64 struct GfxBase *gfxbase;
65 struct Library *layersbase;
66 struct IntuitionBase *intuibase;
67 struct Library *cxbase;
68 struct Library *keymapbase;
69 struct Library *gadtoolsbase;
70 struct Library *iffparsebase;
71 struct Library *diskfontbase;
72 struct Library *iconbase;
73 struct Library *cybergfxbase;
74 #ifdef HAVE_COOLIMAGES
75 struct Library *coolimagesbase;
76 #endif
78 /* struct Library *datatypesbase; */
79 #endif /* __AROS__ */
81 struct TextFont *topaz8font;
82 struct SignalSemaphore ZuneSemaphore; /* Used when accessing global data */
84 struct MinList BuiltinClasses;
85 struct MinList Applications;
88 /****************************************************************************************/
90 #undef MUIMB
91 #define MUIMB(b) ((struct MUIMasterBase_intern *)b)
93 #ifndef __AROS__
95 #undef SysBase
96 #define SysBase (MUIMB(MUIMasterBase)->sysbase)
98 #undef DOSBase
99 #define DOSBase (MUIMB(MUIMasterBase)->dosbase)
101 #undef UtilityBase
102 #define UtilityBase (MUIMB(MUIMasterBase)->utilitybase)
104 #undef AslBase
105 #define AslBase (MUIMB(MUIMasterBase)->aslbase)
107 #undef GfxBase
108 #define GfxBase (MUIMB(MUIMasterBase)->gfxbase)
110 #undef LayersBase
111 #define LayersBase (MUIMB(MUIMasterBase)->layersbase)
113 #undef IntuitionBase
114 #define IntuitionBase (MUIMB(MUIMasterBase)->intuibase)
116 #undef CxBase
117 #define CxBase (MUIMB(MUIMasterBase)->cxbase)
119 #undef KeymapBase
120 #define KeymapBase (MUIMB(MUIMasterBase)->keymapbase)
122 #undef GadToolsBase
123 #define GadToolsBase (MUIMB(MUIMasterBase)->gadtoolsbase)
125 #undef IFFParseBase
126 #define IFFParseBase (MUIMB(MUIMasterBase)->iffparsebase)
128 #undef DiskfontBase
129 #define DiskfontBase (MUIMB(MUIMasterBase)->diskfontbase)
131 #undef IconBase
132 #define IconBase (MUIMB(MUIMasterBase)->iconbase)
134 #undef CyberGfxBase
135 #define CyberGfxBase (MUIMB(MUIMasterBase)->cybergfxbase)
137 #undef CoolImagesBase
138 #define CoolImagesBase (MUIMB(MUIMasterBase)->coolimagesbase)
140 #endif /* __AROS__ */
142 #endif /* MUIMASTER_INTERN_H */