expose the gfx drivers memory attributes via the gfx hidd attributes.
[AROS.git] / workbench / hidds / vmwaresvga / vmwaresvga_intern.h
blob20fd5a7673b53b94d36d0c43c3d9d78ce7d1a777
1 #ifndef _VMWARESVGA_CLASS_H
2 #define _VMWARESVGA_CLASS_H
4 /*
5 Copyright © 1995-2019, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Some VMWareSVGA useful data.
9 Lang: English.
12 #include <exec/memory.h>
13 #include <exec/nodes.h>
14 #include <exec/types.h>
15 #include <exec/semaphores.h>
17 #include "vmwaresvga_hardware.h"
18 #include "vmwaresvga_bitmap.h"
19 #include "vmwaresvga_gallium.h"
21 #define IID_Hidd_VMWareSVGA "hidd.gfx.vmwaresvga"
22 #define CLID_Hidd_VMWareSVGA "hidd.gfx.vmwaresvga"
24 struct VMWareSVGA_staticdata {
25 struct MemHeader mh;
26 struct Library *VMWareSVGACyberGfxBase;
28 /* Base classes for CreateObject */
29 OOP_Class *basebm;
30 OOP_Class *basegallium;
32 /* VMWareSVGA classes */
33 OOP_Class *vmwaresvgaclass;
34 OOP_Class *vmwaresvgaonbmclass;
35 OOP_Class *vmwaresvgaoffbmclass;
36 OOP_Class *galliumclass;
38 /* Private object refrences */
39 OOP_Object *vmwaresvgahidd;
40 OOP_Object *card;
41 OOP_Object *pcihidd;
43 OOP_AttrBase hiddGalliumAB;
45 struct BitmapData *visible;
46 VOID (*activecallback)(APTR, OOP_Object *, BOOL);
47 APTR callbackdata;
48 struct MouseData mouse;
49 struct HWData data;
52 struct VMWareSVGABase
54 struct Library library;
56 struct VMWareSVGA_staticdata vsd;
59 #define XSD(cl) (&((struct VMWareSVGABase *)cl->UserData)->vsd)
61 #define CyberGfxBase (XSD(cl)->VMWareSVGACyberGfxBase)
63 #undef HiddGalliumAttrBase
64 #define HiddGalliumAttrBase (XSD(cl)->hiddGalliumAB)
66 #define METHOD(base, id, name) \
67 base ## __ ## id ## __ ## name (OOP_Class *cl, OOP_Object *o, struct p ## id ## _ ## name *msg)
69 #endif /* _VMWARESVGA_CLASS_H */