add place-holder directory for the a3000 wd533c93 scsi controller implementation.
[AROS.git] / workbench / hidds / vmwaresvga / vmwaresvga_bitmap.h
blobfa97542a456cea598056869fa07f91dfe3acacfe
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 struct SignalSemaphore bmsem;
51 UBYTE *VideoData; /* Pointing to video data */
52 ULONG width; /* Width of bitmap */
53 ULONG height; /* Height of bitmap */
54 UBYTE bytesperpix;
55 ULONG cmap[16]; /* ColorMap */
56 BYTE bpp; /* 8 -> chunky; planar otherwise */
57 BYTE disp; /* !=0 - displayable */
58 struct MouseData *mouse;
61 #define LOCK_BITMAP { ObtainSemaphore(&data->bmsem); }
62 #define UNLOCK_BITMAP { ReleaseSemaphore(&data->bmsem); }
64 /* Only include vmwaresvgahardware.h now so that struct Box is known */
66 #include "vmwaresvga_hardware.h"
68 #endif /* _VMWARESVGA_BITMAP_H */