adapt all gfx drivers to use the new gfx.hidd CreateObject API.
[AROS.git] / arch / m68k-amiga / hidd / uaegfx / uaegfx.h
blobafdcd21a55dea1053e59e8ae3c8993203e9bfcab
1 #ifndef HIDD_UAEGFX_H
2 #define HIDD_UAEGFX_H
4 #include <exec/libraries.h>
5 #include <oop/oop.h>
6 #include <exec/semaphores.h>
8 #include "uaegfxclass.h"
10 #define __IHidd_BitMap (csd->hiddBitMapAttrBase)
11 #define __IHidd_UAEGFXBitmap (csd->hiddUAEGFXBitMapAttrBase)
12 #define __IHidd_GC (csd->hiddGCAttrBase)
13 #define __IHidd_Sync (csd->hiddSyncAttrBase)
14 #define __IHidd_PixFmt (csd->hiddPixFmtAttrBase)
15 #define __IHidd_Gfx (csd->hiddGfxAttrBase)
16 #define __IHidd_Attr (csd->hiddAttrBase)
17 #define __IHidd_ColorMap (csd->hiddColorMapAttrBase)
19 #define HiddBitMapBase (csd->hiddBitMapBase)
20 #define HiddColorMapBase (csd->hiddColorMapBase)
21 #define HiddGfxBase (csd->hiddGfxBase)
23 #include <hidd/graphics.h>
25 #define UtilityBase ((csd)->cs_UtilityBase)
27 struct RTGMode
29 struct Node node;
30 ULONG modeid;
31 UWORD width, height;
32 OOP_Object *pf;
33 OOP_Object *sync;
36 struct uaegfx_staticdata
38 OOP_Class *basebm; /* baseclass for CreateObject */
39 OOP_Class *gfxclass;
40 OOP_Class *bmclass;
42 OOP_AttrBase hiddBitMapAttrBase;
43 OOP_AttrBase hiddUAEGFXBitMapAttrBase;
44 OOP_AttrBase hiddGCAttrBase;
45 OOP_AttrBase hiddSyncAttrBase;
46 OOP_AttrBase hiddPixFmtAttrBase;
47 OOP_AttrBase hiddGfxAttrBase;
48 OOP_AttrBase hiddAttrBase;
49 OOP_AttrBase hiddColorMapAttrBase;
51 OOP_MethodID hiddBitMapBase;
52 OOP_MethodID hiddColorMapBase;
53 OOP_MethodID hiddGfxBase;
55 struct List rtglist;
56 struct List bitmaplist;
57 struct Library *CardBase;
58 struct ExecBase *cs_SysBase;
59 struct Library *cs_IntuitionBase;
60 struct Library *cs_UtilityBase;
61 struct Library *cs_OOPBase;
62 struct bm_data *disp;
63 APTR uaeromvector;
64 ULONG rgbformat;
65 struct ModeInfo *modeinfo;
66 struct ModeInfo *fakemodeinfo;
67 UBYTE *boardinfo;
68 UBYTE *bitmapextra;
69 UBYTE *vram_start;
70 ULONG vram_size;
71 ULONG vram_used, fram_used;
72 struct MemHeader *vmem;
74 WORD sprite_width, sprite_height;
75 BOOL hardwaresprite;
76 WORD spritecolors;
78 BOOL initialized;
79 BOOL superforward;
81 UWORD dwidth, dheight;
82 ULONG dmodeid;
84 UWORD maxwidth[5];
85 UWORD maxheight[5];
87 struct ViewPort *viewport;
88 void (*acb)(void *data, void *bm);
89 APTR acbdata;
92 struct UAEGFXclbase
94 struct Library library;
96 struct uaegfx_staticdata csd;
97 IPTR cs_SegList;
100 #undef CSD
101 #define CSD(cl) (&((struct UAEGFXclbase *)cl->UserData)->csd)
103 #define SysBase (csd->cs_SysBase)
104 #define OOPBase (csd->cs_OOPBase)
106 /* Private instance data for Gfx hidd class */
107 struct gfx_data
109 struct MinList bitmaps; /* Currently shown bitmap objects */
112 #endif