revert between 56095 -> 55830 in arch
[AROS.git] / workbench / hidds / vmwaresvga / vmwaresvgabitmap.h
blob1418eba2aa1e6b3fddb744d247c24f3e3a0b13e9
1 /*
2 Copyright � 1995-2017, 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>
10 #include "vmwaresvgamouse.h"
12 /* This attribute interface is common for both vga onscreen and offscreen bitmap
13 classes, although they don't have a common superclass */
15 #define IID_Hidd_VMWareSVGABitMap "hidd.bitmap.vmwaresvga"
17 #define HiddVMWareSVGABitMapAttrBase __abHidd_VMWareGfxBitMap
18 /* extern OOP_AttrBase HiddVMWareSVGABitMapAttrBase; */
20 enum {
21 aoHidd_VMWareSVGABitMap_Drawable,
22 num_Hidd_VMWareSVGABitMap_Attrs
25 #define aHidd_VMWareSVGABitMap_Drawable (HiddVMWareSVGABitMapAttrBase + aoHidd_VMWareSVGABitMap_Drawable)
27 /* This structure is used for both onscreen and offscreen VGA bitmaps !! */
29 #define IS_BM_ATTR(attr, idx) ( ( (idx) = (attr) - HiddBitMapAttrBase) < num_Hidd_BitMap_Attrs)
30 #define IS_VMWareSVGABM_ATTR(attr, idx) ( ( (idx) = (attr) - HiddVMWareSVGABitMapAttrBase) < num_Hidd_VMWareSVGABitMap_Attrs)
32 /* This structure is used as instance data for both the
33 onbitmap and offbitmap classes. */
35 struct Box
37 int x1, y1;
38 int x2, y2;
41 struct HWRegs {
42 UBYTE clt[768];
45 struct BitmapData {
46 struct HWRegs regs;
47 struct HWData *data;
48 UBYTE *VideoData; /* Pointing to video data */
49 ULONG width; /* Width of bitmap */
50 ULONG height; /* Height of bitmap */
51 UBYTE bytesperpix;
52 ULONG cmap[16]; /* ColorMap */
53 BYTE bpp; /* 8 -> chunky; planar otherwise */
54 BYTE disp; /* !=0 - displayable */
55 struct MouseData *mouse;
58 /* Only include vmwaresvgahardware.h now so that struct Box is known */
60 #include "vmwaresvgahardware.h"
62 #endif /* _VMWARESVGA_BITMAP_H */