5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
8 Desc: Include for the vga gfx HIDD.
13 #ifndef EXEC_LIBRARIES_H
14 # include <exec/libraries.h>
21 #ifndef EXEC_SEMAPHORES_H
22 # include <exec/semaphores.h>
27 /***** Display gfx HIDD *******************/
30 #define IID_Hidd_Displaygfx "hidd.gfx.display"
31 #define CLID_Hidd_Displaygfx "hidd.gfx.display"
35 struct display_staticdata
37 struct SignalSemaphore sema
; /* Protecting this whole struct */
38 struct SignalSemaphore HW_acc
; /* Exclusive hardware use */
39 struct Library
*oopbase
;
40 struct Library
*utilitybase
;
41 struct ExecBase
*sysbase
;
42 struct displaybase
*displaybase
;
43 struct List modelist
; /* List of modes supported */
44 struct bitmap_data
*visible
; /* Point to visible bitmap */
46 OOP_Class
*displayclass
;
48 OOP_Class
*offbmclass
;
49 OOP_Object
*displayhidd
;
51 VOID (*activecallback
)(APTR
, OOP_Object
*, BOOL
);
54 OOP_AttrBase hiddPixFmtAttrBase
;
55 OOP_AttrBase hiddBitMapAttrBase
;
56 OOP_AttrBase hiddDisplayBitMapAB
;
57 OOP_AttrBase hiddDisplayAB
;
58 OOP_AttrBase hiddSyncAttrBase
;
59 OOP_AttrBase hiddGfxAttrBase
;
62 #define __IHidd_PixFmt (xsd->hiddPixFmtAttrBase)
63 #define __IHidd_BitMap (xsd->hiddBitMapAttrBase)
64 #define __IHidd_DisplayBitMap (xsd->hiddDisplayBitMapAB)
65 #define __IHidd_DisplayGfx (xsd->hiddDisplayAB)
66 #define __IHidd_Sync (xsd->hiddSyncAttrBase)
67 #define __IHidd_Gfx (xsd->hiddGfxAttrBase)
69 #define HiddDisplayBitMapAB (xsd->hiddDisplayBitMapAB)
71 OOP_Class
*init_displayclass ( struct display_staticdata
* );
72 OOP_Class
*init_onbmclass ( struct display_staticdata
* );
73 OOP_Class
*init_offbmclass ( struct display_staticdata
* );
75 VOID
free_displayclass ( struct display_staticdata
* );
76 VOID
free_onbmclass ( struct display_staticdata
* );
77 VOID
free_offbmclass ( struct display_staticdata
* );
79 #define XSD(cl) ((struct display_staticdata *)cl->UserData)
81 #define OOPBase ((struct Library *)XSD(cl)->oopbase)
82 #define UtilityBase ((struct Library *)XSD(cl)->utilitybase)
83 #define SysBase (XSD(cl)->sysbase)
85 #endif /* HIDD_DISPLAY_H */