1 #ifndef _VMWARESVGA_CLASS_H
2 #define _VMWARESVGA_CLASS_H
5 Copyright © 1995-2019, The AROS Development Team. All rights reserved.
8 Desc: Some VMWareSVGA useful data.
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
{
26 struct Library
*VMWareSVGACyberGfxBase
;
28 /* Base classes for CreateObject */
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
;
43 OOP_AttrBase hiddGalliumAB
;
45 struct BitmapData
*visible
;
46 VOID (*activecallback
)(APTR
, OOP_Object
*, BOOL
);
48 struct MouseData mouse
;
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 */