use consistent hidd naming
[AROS.git] / rom / hidds / vesa / vesagfxclass.h
blob50aac3e1eb7721d7908cba4dd7e5df90c680f315
1 #ifndef HIDD_VESAGFXCLASS_H
2 #define HIDD_VESAGFXCLASS_H
4 /*
5 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Some VesaGfx useful data.
9 Lang: English.
12 #include <exec/interrupts.h>
13 #include <exec/semaphores.h>
14 #include <exec/memory.h>
15 #include <exec/nodes.h>
16 #include <exec/types.h>
18 #include "bitmap.h"
19 #include "hardware.h"
21 #define IID_Hidd_Gfx_Vesa "hidd.gfx.vesa"
22 #define CLID_Hidd_Gfx_Vesa "hidd.gfx.vesa"
24 #define CLID_Hidd_BitMap_Vesa "hidd.bitmap.vesa"
25 #define IID_Hidd_BitMap_Vesa "hidd.bitmap.vesa"
27 struct VesaGfx_data
29 struct Interrupt ResetInterrupt;
32 #define ATTRBASES_NUM 6
34 struct VesaGfx_staticdata
36 OOP_Class *vesagfxclass;
37 OOP_Class *bmclass;
38 OOP_Object *vesagfxhidd;
39 OOP_Object *visible; /* Currently visible bitmap */
40 struct HWData data;
41 struct SignalSemaphore framebufferlock;
42 struct SignalSemaphore HW_acc;
43 OOP_AttrBase attrBases[ATTRBASES_NUM];
46 struct VesaGfxBase
48 struct Library library;
49 struct VesaGfx_staticdata vsd;
52 #define LOCK_FRAMEBUFFER(xsd) ObtainSemaphore(&xsd->framebufferlock)
53 #define UNLOCK_FRAMEBUFFER(xsd) ReleaseSemaphore(&xsd->framebufferlock)
55 #define XSD(cl) (&((struct VesaGfxBase *)cl->UserData)->vsd)
57 #undef HiddChunkyBMAttrBase
58 #undef HiddBitMapAttrBase
59 #undef HiddGfxAttrBase
60 #undef HiddPixFmtAttrBase
61 #undef HiddSyncAttrBase
62 #undef HiddAttrBase
64 /* These must stay in the same order as interfaces[] array in vesagfx_init.c */
65 #define HiddChunkyBMAttrBase XSD(cl)->attrBases[0]
66 #define HiddBitMapAttrBase XSD(cl)->attrBases[1]
67 #define HiddGfxAttrBase XSD(cl)->attrBases[2]
68 #define HiddPixFmtAttrBase XSD(cl)->attrBases[3]
69 #define HiddSyncAttrBase XSD(cl)->attrBases[4]
70 #define HiddAttrBase XSD(cl)->attrBases[5]
72 #endif /* HIDD_VESAGFXCLASS_H */