rename the directory
[AROS.git] / workbench / devs / monitors / IntelGMA / compositing_intern.h
blob0b767bd1765980e3279b70de95dc6a4ec1d22d75
1 #ifndef _COMPOSITING_INTERN_H
2 #define _COMPOSITING_INTERN_H
3 /*
4 Copyright © 2010, The AROS Development Team. All rights reserved.
5 $Id$
6 */
8 #include "compositing.h"
10 #include <exec/lists.h>
12 struct _Rectangle
14 WORD MinX;
15 WORD MinY;
16 WORD MaxX;
17 WORD MaxY;
20 struct StackBitMapNode
22 struct Node n;
23 OOP_Object * bm;
24 struct _Rectangle screenvisiblerect;
25 BOOL isscreenvisible;
26 LONG displayedwidth;
27 LONG displayedheight;
30 struct HIDDCompositingData
32 OOP_Object *screenbitmap;
33 OOP_Object *directbitmap;
34 HIDDT_ModeID screenmodeid;
35 struct _Rectangle screenrect;
37 struct List bitmapstack;
39 struct SignalSemaphore semaphore;
41 OOP_Object *gfx; /* GFX driver object */
42 OOP_Object *gc; /* GC object used for drawing operations */
45 extern const struct OOP_InterfaceDescr Compositing_ifdescr[];
47 #define METHOD(base, id, name) \
48 base ## __ ## id ## __ ## name (OOP_Class *cl, OOP_Object *o, struct p ## id ## _ ## name *msg)
50 //#define SD(cl) (&BASE(cl->UserData)->sd)
52 #define LOCK_COMPOSITING_READ { ObtainSemaphoreShared(&compdata->semaphore); }
53 #define LOCK_COMPOSITING_WRITE { ObtainSemaphore(&compdata->semaphore); }
54 #define UNLOCK_COMPOSITING { ReleaseSemaphore(&compdata->semaphore); }
56 #endif /* _COMPOSITING_INTERN_H */