Fixed compatibility of output.
[AROS.git] / arch / .unmaintained / m68k-pp-native / Drivers / display.hidd / bitmap.h
blob8c5463eacfe20ec56e5af9090aaf1af0cfe83d73
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef _BITMAP_H
7 #define _BITMAP_H
9 #include "displayhw.h"
10 #include <hidd/graphics.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_DisplayBitMap "hidd.bitmap.displaybitmap"
19 //#define HiddDisplayBitMapAB __abHidd_DisplayBitMap
20 //extern OOP_AttrBase HiddDisplayBitMapAB;
22 enum {
23 aoHidd_DisplayBitMap_Drawable,
25 num_Hidd_DisplayBitMap_Attrs
28 #define aHidd_DisplayBitMap_Drawable (HiddDisplayBitMapAB + aoHidd_DisplayBitMap_Drawable)
32 /* This structure is used for both onscreen and offscreen Display bitmaps !! */
34 #define IS_BM_ATTR(attr, idx) ( ( (idx) = (attr) - HiddBitMapAttrBase) < num_Hidd_BitMap_Attrs)
35 #define IS_DisplayBM_ATTR(attr, idx) ( ( (idx) = (attr) - HiddDisplayBitMapAB) < num_Hidd_DisplayBitMap_Attrs)
39 This structure is used as instance data for both the
40 onbitmap and offbitmap classes.
43 struct bitmap_data
45 struct displayHWRec *Regs; /* Registers */
46 unsigned char *VideoData; /* Pointing to video data */
47 unsigned long width; /* Width of bitmap */
48 unsigned long height; /* Height of bitmap */
49 unsigned long cmap[16]; /* ColorMap */
50 char bpp; /* 8 -> chunky; planar otherwise */
51 char disp; /* !=0 - displayable */
54 struct Box
56 int x1, y1;
57 int x2, y2;
60 VOID bitmap_clear(OOP_Class *, OOP_Object *, struct pHidd_BitMap_Clear *);
61 BOOL bitmap_setcolors(OOP_Class *, OOP_Object *, struct pHidd_BitMap_SetColors *);
62 VOID bitmap_putpixel(OOP_Class *, OOP_Object *, struct pHidd_BitMap_PutPixel *);
63 HIDDT_Pixel bitmap_getpixel(OOP_Class *, OOP_Object *, struct pHidd_BitMap_GetPixel *);
64 ULONG bitmap_drawpixel(OOP_Class *, OOP_Object *, struct pHidd_BitMap_DrawPixel *);
66 void DisplayRefreshArea(struct bitmap_data *, int , struct Box *);
68 #endif /* _BITMAP_H */