revert between 56095 -> 55830 in arch
[AROS.git] / workbench / devs / monitors / Compositor / include / compositor.h
blob3e3e17a2ce49a48c10154c51c0bc56415e1acd28
1 #ifndef HIDD_COMPOSITOR_H
2 #define HIDD_COMPOSITOR_H
3 /*
4 Copyright © 2010-2017, The AROS Development Team. All rights reserved.
5 $Id$
6 */
8 #ifndef EXEC_TYPES_H
9 # include <exec/types.h>
10 #endif
12 #ifndef HIDD_HIDD_H
13 # include <hidd/hidd.h>
14 #endif
16 #ifndef OOP_OOP_H
17 # include <oop/oop.h>
18 #endif
20 #ifndef HIDD_GRAPHICS
21 # include <hidd/gfx.h>
22 #endif
25 * Things described here are actually system-internal.
26 * This class has no other use except inside graphics.library.
27 * This include file is even not a part of AROS SDK.
31 * Compositor interface.
32 * Changing this breaks binary compatibility. graphics.library recognizes
33 * this class by its name.
35 #define CLID_Hidd_Compositor "hidd.gfx.compositor"
36 #define IID_Hidd_Compositor "hidd.gfx.compositor"
38 /* Compositor class methods */
40 enum
42 moHidd_Compositor_BitMapStackChanged = 0,
43 moHidd_Compositor_BitMapRectChanged,
44 moHidd_Compositor_BitMapPositionChange,
45 moHidd_Compositor_DisplayRectChanged,
46 moHidd_Compositor_BitMapValidate,
47 moHidd_Compositor_BitMapEnable,
48 NUM_COMPOSITOR_METHODS
51 enum
53 aoHidd_Compositor_GfxHidd = 0, /* [I..] Gfx driver object connected with this compositor object */
54 aoHidd_Compositor_DisplayID, /* [I.G] Card ID part of Display mode ID */
55 aoHidd_Compositor_Capabilities, /* [..G] Composition capabilities of this implementation */
56 aoHidd_Compositor_State, /* [ISG] Currently used capabilities */
57 aoHidd_Compositor_BackFillHook, /* [ISG] Rendering hook for void space */
58 aoHidd_Compositor_FrameBuffer, /* [I..] Driver's framebuffer bitmap */
60 num_Hidd_Compositor_Attrs
63 #define aHidd_Compositor_GfxHidd (HiddCompositorAttrBase + aoHidd_Compositor_GfxHidd)
64 #define aHidd_Compositor_DisplayID (HiddCompositorAttrBase + aoHidd_Compositor_DisplayID)
65 #define aHidd_Compositor_Capabilities (HiddCompositorAttrBase + aoHidd_Compositor_Capabilities)
66 #define aHidd_Compositor_State (HiddCompositorAttrBase + aoHidd_Compositor_State)
67 #define aHidd_Compositor_BackFillHook (HiddCompositorAttrBase + aoHidd_Compositor_BackFillHook)
68 #define aHidd_Compositor_FrameBuffer (HiddCompositorAttrBase + aoHidd_Compositor_FrameBuffer)
70 #define IS_COMPOSITOR_ATTR(attr, idx) \
71 (((idx) = (attr) - HiddCompositorAttrBase) < num_Hidd_Compositor_Attrs)
73 struct pHidd_Compositor_BitMapStackChanged
75 OOP_MethodID mID;
76 struct HIDD_ViewPortData *data;
77 BOOL *active;
80 struct pHidd_Compositor_BitMapRectChanged
82 OOP_MethodID mID;
83 OOP_Object *bm;
84 WORD x;
85 WORD y;
86 WORD width;
87 WORD height;
90 struct pHidd_Compositor_BitMapPositionChange
92 OOP_MethodID mID;
93 OOP_Object *bm;
94 SIPTR *newxoffset;
95 SIPTR *newyoffset;
98 struct pHidd_Compositor_BitMapValidate
100 OOP_MethodID mID;
101 struct BitMap *bm;
104 struct pHidd_Compositor_BitMapEnable
106 OOP_MethodID mID;
107 struct BitMap *bm;
110 struct HIDD_BackFillHookMsg
112 void *dummy;
113 struct Rectangle *bounds;
114 LONG offsetx;
115 LONG offsety;
118 #endif /* HIDD_COMPOSITOR_H */