enable the new framebuffer resizing code.
[AROS.git] / workbench / hidds / vmwaresvga / vmwaresvga_intern.h
blobba9be72da6a33ab96a6f8d9661c3245ebb4973c3
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 /***************** build options for debuggins and testing features ****************************/
18 //#define VMWARESVGA_USEMULTIMON
19 //#define VMWARESVGA_USE8BIT
20 //#define VMWAREGFX_IMMEDIATEDRAW
21 #define VMWAREGFX_UPDATEFBONSHOWVP
22 /***********************************************************************************************/
24 #if defined(VMWAREGFX_UPDATEFBONSHOWVP)
25 #define VPVISFLAG (XSD(cl)->data.shown)
26 #else
27 #define VPVISFLAG (TRUE)
28 #endif
30 #include "vmwaresvga_hardware.h"
31 #include "vmwaresvga_gallium.h"
33 #define IID_Hidd_VMWareSVGA "hidd.gfx.vmwaresvga"
34 #define CLID_Hidd_VMWareSVGA "hidd.gfx.vmwaresvga"
36 #define SYNC_DESCNAME_LEN 32
38 #define VMWFIFO_CMD_SIZESHIFT 2
39 #define VMWFIFO_CMD_SIZE (1 << VMWFIFO_CMD_SIZESHIFT)
41 #define VMWCURSOR_ID 1
43 #if (AROS_BIG_ENDIAN == 1)
44 #define AROS_PIXFMT RECTFMT_RAW /* Big Endian Archs. */
45 #else
46 #define AROS_PIXFMT RECTFMT_BGRA32 /* Little Endian Archs. */
47 #endif
49 struct VMWareSVGA_staticdata {
50 struct MemHeader mh;
51 struct Library *VMWareSVGACyberGfxBase;
52 APTR VMWareSVGAKernelBase;
54 /* Base classes for CreateObject */
55 OOP_Class *basebm;
56 OOP_Class *basegallium;
58 /* VMWareSVGA classes */
59 OOP_Class *vmwaresvgaclass;
60 OOP_Class *vmwaresvgaonbmclass;
61 OOP_Class *vmwaresvgaoffbmclass;
62 OOP_Class *galliumclass;
64 /* Private object refrences */
65 OOP_Object *vmwaresvgahidd;
66 OOP_Object *card;
67 OOP_Object *pcihidd;
69 OOP_Object *visible;
71 OOP_AttrBase hiddGalliumAB;
73 VOID (*activecallback)(APTR, OOP_Object *, BOOL);
74 APTR callbackdata;
75 struct MouseData mouse;
76 struct HWData data;
77 ULONG prefWidth, prefHeight;
80 struct VMWareSVGABase
82 struct Library library;
84 struct VMWareSVGA_staticdata vsd;
87 #define XSD(cl) (&((struct VMWareSVGABase *)cl->UserData)->vsd)
89 #define CyberGfxBase (XSD(cl)->VMWareSVGACyberGfxBase)
90 #define KernelBase (XSD(cl)->VMWareSVGAKernelBase)
92 #undef HiddGalliumAttrBase
93 #define HiddGalliumAttrBase (XSD(cl)->hiddGalliumAB)
95 #define METHOD(base, id, name) \
96 base ## __ ## id ## __ ## name (OOP_Class *cl, OOP_Object *o, struct p ## id ## _ ## name *msg)
98 #endif /* _VMWARESVGA_CLASS_H */