disable debug
[AROS.git] / workbench / hidds / vmwaresvga / vmwaresvga_bitmap.h
blobd10f83407dc42840b1454d5cabc487ba51575c7d
1 /*
2 Copyright © 1995-2019, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef _VMWARESVGA_BITMAP_H
7 #define _VMWARESVGA_BITMAP_H
9 #include <hidd/gfx.h>
11 #include "vmwaresvga_mouse.h"
13 /* This attribute interface is common for both vga onscreen and offscreen bitmap
14 classes, although they don't have a common superclass */
16 #define IID_Hidd_VMWareSVGABitMap "hidd.bitmap.vmwaresvga"
18 #define HiddVMWareSVGABitMapAttrBase __abHidd_VMWareGfxBitMap
19 /* extern OOP_AttrBase HiddVMWareSVGABitMapAttrBase; */
21 enum {
22 aoHidd_VMWareSVGABitMap_Drawable,
23 num_Hidd_VMWareSVGABitMap_Attrs
26 #define aHidd_VMWareSVGABitMap_Drawable (HiddVMWareSVGABitMapAttrBase + aoHidd_VMWareSVGABitMap_Drawable)
28 /* This structure is used for both onscreen and offscreen VGA bitmaps !! */
30 #define IS_BM_ATTR(attr, idx) ( ( (idx) = (attr) - HiddBitMapAttrBase) < num_Hidd_BitMap_Attrs)
31 #define IS_VMWareSVGABM_ATTR(attr, idx) ( ( (idx) = (attr) - HiddVMWareSVGABitMapAttrBase) < num_Hidd_VMWareSVGABitMap_Attrs)
33 /* This structure is used as instance data for both the
34 onbitmap and offbitmap classes. */
36 struct Box
38 int x1, y1;
39 int x2, y2;
42 struct HWRegs {
43 UBYTE clt[768];
46 struct BitmapData {
47 struct HWRegs regs;
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 cmap[16]; /* ColorMap */
54 BYTE bpp; /* 8 -> chunky; planar otherwise */
55 BYTE disp; /* !=0 - displayable */
56 struct MouseData *mouse;
59 /* Only include vmwaresvgahardware.h now so that struct Box is known */
61 #include "vmwaresvga_hardware.h"
63 #endif /* _VMWARESVGA_BITMAP_H */