move Drivers -> drivers
[AROS.git] / arch / i386-pc / drivers / vesa.hidd / vesagfxclass.h
blob211d4ef59fecfc2ba251e08e4fe14e27e5985b05
1 #ifndef HIDD_VESAGFXCLASS_H
2 #define HIDD_VESAGFXCLASS_H
4 /*
5 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Some VesaGfx useful data.
9 Lang: English.
12 #define BUFFERED_VRAM 1
14 #include <exec/semaphores.h>
15 #include <exec/memory.h>
16 #include <exec/nodes.h>
17 #include <exec/types.h>
19 #include "bitmap.h"
20 #include "hardware.h"
21 #include "mouse.h"
23 #define IID_Hidd_VesaGfx "hidd.gfx.vesa"
24 #define CLID_Hidd_VesaGfx "hidd.gfx.vesa"
26 struct VesaGfx_staticdata
28 struct MemHeader mh;
29 OOP_Class *vesagfxclass;
30 OOP_Class *onbmclass;
31 OOP_Class *offbmclass;
32 OOP_Object *vesagfxhidd;
33 struct BitmapData *visible;
34 VOID (*activecallback)(APTR, OOP_Object *, BOOL);
35 APTR callbackdata;
36 struct MouseData mouse;
37 struct HWData data;
38 #if BUFFERED_VRAM
39 struct SignalSemaphore framebufferlock;
40 #endif
41 struct SignalSemaphore HW_acc;
44 struct VesaGfxBase
46 struct Library library;
48 struct VesaGfx_staticdata vsd;
51 #if BUFFERED_VRAM
52 #define LOCK_FRAMEBUFFER(xsd) ObtainSemaphore(&xsd->framebufferlock)
53 #define UNLOCK_FRAMEBUFFER(xsd) ReleaseSemaphore(&xsd->framebufferlock)
54 #endif
56 #define XSD(cl) (&((struct VesaGfxBase *)cl->UserData)->vsd)
58 #endif /* HIDD_VESAGFXCLASS_H */