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 OOP_Class
*basebm
; /* baseclass for CreateObject */
30 OOP_Class
*galliumclass
;
31 OOP_Class
*vmwaresvgaclass
;
32 OOP_Class
*vmwaresvgaonbmclass
;
33 OOP_Class
*vmwaresvgaoffbmclass
;
35 OOP_Object
*vmwaresvgahidd
;
39 OOP_AttrBase hiddGalliumAB
;
41 struct BitmapData
*visible
;
42 VOID (*activecallback
)(APTR
, OOP_Object
*, BOOL
);
44 struct MouseData mouse
;
50 struct Library library
;
52 struct VMWareSVGA_staticdata vsd
;
55 #define XSD(cl) (&((struct VMWareSVGABase *)cl->UserData)->vsd)
57 #define CyberGfxBase (XSD(cl)->VMWareSVGACyberGfxBase)
59 #undef HiddGalliumAttrBase
60 #define HiddGalliumAttrBase (XSD(cl)->hiddGalliumAB)
62 #define METHOD(base, id, name) \
63 base ## __ ## id ## __ ## name (OOP_Class *cl, OOP_Object *o, struct p ## id ## _ ## name *msg)
65 #endif /* _VMWARESVGA_CLASS_H */