5 Copyright © 1995-2015, The AROS Development Team. All rights reserved.
8 Desc: Linux framebuffer hidd for AROS
12 #include <exec/interrupts.h>
13 #include <exec/libraries.h>
14 #include <exec/semaphores.h>
16 #include <hidd/graphics.h>
18 /* hack: prevent linux include header <bits/time.h> to re-define timeval struct */
19 # define _STRUCT_TIMEVAL 1
24 /* Private Attrs and methods for the LinuxFB Hidd */
26 #define CLID_Hidd_LinuxFB "hidd.gfx.linuxfb"
27 #define IID_Hidd_LinuxFB "hidd.gfx.linuxfb"
29 #define HiddLinuxFBAttrBase __abHidd_LinuxFB
30 extern OOP_AttrBase HiddLinuxFBAttrBase
;
35 num_Hidd_LinuxFB_Attrs
38 #define aHidd_LinuxFB_File HiddLinuxFBAttrBase + aoHidd_LinuxFB_File
40 #define IID_Hidd_LinuxFBBitmap "hidd.bitmap.linuxfb"
42 #define HiddLinuxFBBitmapAttrBase __abHidd_LinuxFBBitmap
43 extern OOP_AttrBase HiddLinuxFBBitmapAttrBase
;
47 aoHidd_LinuxFBBitmap_FBDevInfo
,
48 num_Hidd_LinuxFBBitmap_Attrs
51 #define aHidd_LinuxFBBitmap_FBDevInfo HiddLinuxFBBitmapAttrBase + aoHidd_LinuxFBBitmap_FBDevInfo
66 unsigned long mem_len
;
79 struct FBDevInfo fbdevinfo
;
80 struct Interrupt resetHandler
;
82 /* baseclass for CreateObject */
87 struct LinuxFB_staticdata
89 struct SignalSemaphore sema
;
95 OOP_AttrBase gfxAttrBase
;
96 OOP_AttrBase bmAttrBase
;
97 OOP_AttrBase syncAttrBase
;
98 OOP_AttrBase pfAttrBase
;
99 OOP_AttrBase cmAttrBase
;
100 OOP_AttrBase chunkyAttrBase
;
101 OOP_AttrBase linuxFBAttrBase
;
102 OOP_AttrBase linuxBMAttrBase
;
107 struct Library library
;
108 struct LinuxFB_staticdata lsd
;
113 #define LSD(cl) (&((struct LinuxFB_base *)cl->UserData)->lsd)
115 #undef HiddGfxAttrBase
116 #undef HiddBitMapAttrBase
117 #undef HiddSyncAttrBase
118 #undef HiddPixFmtAttrBase
119 #undef HiddColorMapAttrBase
120 #undef HiddChunkyBMAttrBase
121 #undef HiddLinuxFBAttrBase
122 #undef HiddLinuxFBBitmapAttrBase
123 #define HiddGfxAttrBase LSD(cl)->gfxAttrBase
124 #define HiddBitMapAttrBase LSD(cl)->bmAttrBase
125 #define HiddSyncAttrBase LSD(cl)->syncAttrBase
126 #define HiddPixFmtAttrBase LSD(cl)->pfAttrBase
127 #define HiddColorMapAttrBase LSD(cl)->cmAttrBase
128 #define HiddChunkyBMAttrBase LSD(cl)->chunkyAttrBase
129 #define HiddLinuxFBAttrBase LSD(cl)->linuxFBAttrBase
130 #define HiddLinuxFBBitmapAttrBase LSD(cl)->linuxBMAttrBase
131 #define METHOD(base, id, name) \
132 base ## __ ## id ## __ ## name (OOP_Class *cl, OOP_Object *o, struct p ## id ## _ ## name *msg)
134 #endif /* LINUX_INTERN_H */