Reworked software screen compositing. Uses graphics library region primitives instead...
[AROS.git] / workbench / devs / monitors / Compositor / include / compositing.h
blobb6851d3e4457acf0072b05eb5435ad80045ebbd6
1 #ifndef HIDD_COMPOSITING_H
2 #define HIDD_COMPOSITING_H
3 /*
4 Copyright © 2010-2011, The AROS Development Team. All rights reserved.
5 $Id: compositing.h 35441 2010-11-13 22:17:39Z deadwood $
6 */
8 #include <oop/oop.h>
9 #include <hidd/graphics.h>
12 * Things described here are actually system-internal.
13 * This class has no other use except inside graphics.library.
14 * This include file is even not a part of AROS SDK.
18 * Compositing interface.
19 * Changing this breaks binary compatibility. graphics.library recognizes
20 * this class by its name.
22 #define CLID_Hidd_Compositing "hidd.graphics.compositing"
23 #define IID_Hidd_Compositing "hidd.graphics.compositing"
25 /* Compositing class methods */
27 enum
29 moHidd_Compositing_BitMapStackChanged = 0,
30 moHidd_Compositing_BitMapRectChanged,
31 moHidd_Compositing_BitMapPositionChange,
32 moHidd_Compositing_DisplayRectChanged,
34 NUM_COMPOSITING_METHODS
37 enum
39 aoHidd_Compositing_GfxHidd = 0, /* [I..] Gfx driver object connected with this compositing object */
40 aoHidd_Compositing_Capabilities, /* [ISG] Composition capabilities of this implementation */
41 aoHidd_Compositing_BackFillHook, /* [ISG] Rendering hook for void space */
42 aoHidd_Compositing_FrameBuffer, /* [I..] Driver's framebuffer bitmap */
44 num_Hidd_Compositing_Attrs
47 #define aHidd_Compositing_GfxHidd (HiddCompositingAttrBase + aoHidd_Compositing_GfxHidd)
48 #define aHidd_Compositing_Capabilities (HiddCompositingAttrBase + aoHidd_Compositing_Capabilities)
49 #define aHidd_Compositing_BackFillHook (HiddCompositingAttrBase + aoHidd_Compositing_BackFillHook)
50 #define aHidd_Compositing_FrameBuffer (HiddCompositingAttrBase + aoHidd_Compositing_FrameBuffer)
52 #define IS_COMPOSITING_ATTR(attr, idx) \
53 (((idx) = (attr) - HiddCompositingAttrBase) < num_Hidd_Compositing_Attrs)
55 struct pHidd_Compositing_BitMapStackChanged
57 OOP_MethodID mID;
58 struct HIDD_ViewPortData *data;
59 BOOL *active;
62 struct pHidd_Compositing_BitMapRectChanged
64 OOP_MethodID mID;
65 OOP_Object *bm;
66 WORD x;
67 WORD y;
68 WORD width;
69 WORD height;
72 struct pHidd_Compositing_BitMapPositionChange
74 OOP_MethodID mID;
75 OOP_Object *bm;
76 SIPTR *newxoffset;
77 SIPTR *newyoffset;
80 struct HIDD_BackFillHookMsg
82 void *dummy;
83 struct Rectangle *bounds;
84 LONG offsetx;
85 LONG offsety;
88 #endif /* HIDD_COMPOSITING_H */