added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / arch / i386-pc / Drivers / vesa.hidd / bitmap.h
blobacc4c6ad4288ec87f62e937f20eebe4ed8f7ac8a
1 /*
2 Copyright © 1995-2002, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef _BITMAP_H
7 #define _BITMAP_H
9 #include <hidd/graphics.h>
10 #include "mouse.h"
11 #include "hardware.h"
13 This attribute interface is common for both vga onscreen and offscreen bitmap
14 classes, although they don't have a common superclass
17 #define IID_Hidd_VesaGfxBitMap "hidd.bitmap.vesabitmap"
19 #define HiddVesaGfxBitMapAttrBase __abHidd_VesaGfxBitMap
21 /* extern OOP_AttrBase HiddVesaGfxBitMapAttrBase; */
23 enum
25 aoHidd_VesaGfxBitMap_Drawable,
26 num_Hidd_VesaGfxBitMap_Attrs
29 #define aHidd_VesaGfxBitMap_Drawable (HiddVesaGfxBitMapAttrBase + aoHidd_VesaGfxBitMap_Drawable)
33 /* This structure is used for both onscreen and offscreen VGA bitmaps !! */
35 #define IS_BM_ATTR(attr, idx) ( ( (idx) = (attr) - HiddBitMapAttrBase) < num_Hidd_BitMap_Attrs)
36 #define IS_VesaGfxBM_ATTR(attr, idx) ( ( (idx) = (attr) - HiddVesaGfxBitMapAttrBase) < num_Hidd_VesaGfxBitMap_Attrs)
40 This structure is used as instance data for both the
41 onbitmap and offbitmap classes.
44 struct HWData;
46 struct BitmapData
48 struct HWData *data;
49 UBYTE *VideoData; /* Pointing to video data */
50 ULONG width; /* Width of bitmap */
51 ULONG height; /* Height of bitmap */
52 UBYTE bytesperpix;
53 ULONG bytesperline;
54 ULONG cmap[256]; /* ColorMap */
55 BYTE bpp; /* 8 -> chunky; planar otherwise */
56 BYTE disp; /* !=0 - displayable */
57 struct MouseData *mouse;
58 OOP_Object *pixfmtobj;
59 OOP_Object *gfxhidd;
62 struct Box
64 int x1, y1;
65 int x2, y2;
68 #endif /* _BITMAP_H */