aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/include/windowstr.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2009-07-25 20:12:58 +0000
committermarha <marha@users.sourceforge.net>2009-07-25 20:12:58 +0000
commit2553bdd7c359cd87525d367761c86932cec5adff (patch)
treeae71245933c98474a699d3e392de5820879b2018 /xorg-server/include/windowstr.h
parente2c51f2ee7b0a3ea1a052fc49324057b4a4bbc78 (diff)
parent4a3dbb926ae3f5410198d7cc4f4ebe4f62eebf05 (diff)
downloadvcxsrv-2553bdd7c359cd87525d367761c86932cec5adff.tar.gz
vcxsrv-2553bdd7c359cd87525d367761c86932cec5adff.tar.bz2
vcxsrv-2553bdd7c359cd87525d367761c86932cec5adff.zip
svn merge file:///D:/svnrepos/vcxsrv/branches/released .
Diffstat (limited to 'xorg-server/include/windowstr.h')
-rw-r--r--xorg-server/include/windowstr.h69
1 files changed, 32 insertions, 37 deletions
diff --git a/xorg-server/include/windowstr.h b/xorg-server/include/windowstr.h
index f370a25d2..e7f4691d9 100644
--- a/xorg-server/include/windowstr.h
+++ b/xorg-server/include/windowstr.h
@@ -59,6 +59,7 @@ SOFTWARE.
#include "miscstruct.h"
#include <X11/Xprotostr.h>
#include "opaque.h"
+#include "inputstr.h"
#define GuaranteeNothing 0
#define GuaranteeVisBack 1
@@ -71,6 +72,31 @@ SOFTWARE.
#define SameBorder(as, a, bs, b) \
EqualPixUnion(as, a, bs, b)
+/* used as NULL-terminated list */
+typedef struct _DevCursorNode {
+ CursorPtr cursor;
+ DeviceIntPtr dev;
+ struct _DevCursorNode* next;
+} DevCursNodeRec, *DevCursNodePtr, *DevCursorList;
+
+/* Mask structure for GE extension as stored on the window.
+ * Allows one mask per extension.
+ * .eventMask - Summary mask for all clients, used for quick checking.
+ * .geClients - list of clients with their specific mask.
+ */
+typedef struct _GenericClientMasks {
+ Mask eventMasks[MAXEXTENSIONS];
+ GenericMaskPtr geClients;
+} GenericClientMasksRec, *GenericClientMasksPtr;
+
+typedef struct _WindowAccessRec {
+ int defaultRule; /* WindowAccessDenyAll */
+ DeviceIntPtr* perm;
+ int nperm;
+ DeviceIntPtr* deny;
+ int ndeny;
+} WindowAccessRec, *WindowAccessPtr;
+
typedef struct _WindowOpt {
VisualID visual; /* default: same as parent */
CursorPtr cursor; /* default: window.cursorNone */
@@ -82,14 +108,13 @@ typedef struct _WindowOpt {
PropertyPtr userProps; /* default: NULL */
unsigned long backingBitPlanes; /* default: ~0L */
unsigned long backingPixel; /* default: 0 */
-#ifdef SHAPE
RegionPtr boundingShape; /* default: NULL */
RegionPtr clipShape; /* default: NULL */
RegionPtr inputShape; /* default: NULL */
-#endif
-#ifdef XINPUT
struct _OtherInputMasks *inputMasks; /* default: NULL */
-#endif
+ DevCursorList deviceCursors; /* default: NULL */
+ struct _GenericClientMasks *geMasks; /* default: NULL */
+ WindowAccessRec access;
} WindowOptRec, *WindowOptPtr;
#define BackgroundPixel 2L
@@ -160,6 +185,9 @@ typedef struct _Window {
unsigned forcedBS:1; /* system-supplied backingStore */
unsigned redirectDraw:2; /* COMPOSITE rendering redirect */
unsigned forcedBG:1; /* must have an opaque background */
+#ifdef ROOTLESS
+ unsigned rootlessUnhittable:1; /* doesn't hit-test */
+#endif
} WindowRec;
/*
@@ -182,30 +210,20 @@ extern Mask DontPropagateMasks[];
#define wDontPropagateMask(w) wUseDefault(w, dontPropagateMask, DontPropagateMasks[(w)->dontPropagate])
#define wOtherEventMasks(w) wUseDefault(w, otherEventMasks, 0)
#define wOtherClients(w) wUseDefault(w, otherClients, NULL)
-#ifdef XINPUT
#define wOtherInputMasks(w) wUseDefault(w, inputMasks, NULL)
-#else
-#define wOtherInputMasks(w) NULL
-#endif
#define wPassiveGrabs(w) wUseDefault(w, passiveGrabs, NULL)
#define wUserProps(w) wUseDefault(w, userProps, NULL)
#define wBackingBitPlanes(w) wUseDefault(w, backingBitPlanes, ~0L)
#define wBackingPixel(w) wUseDefault(w, backingPixel, 0)
-#ifdef SHAPE
#define wBoundingShape(w) wUseDefault(w, boundingShape, NULL)
#define wClipShape(w) wUseDefault(w, clipShape, NULL)
#define wInputShape(w) wUseDefault(w, inputShape, NULL)
-#endif
#define wClient(w) (clients[CLIENT_ID((w)->drawable.id)])
#define wBorderWidth(w) ((int) (w)->borderWidth)
/* true when w needs a border drawn. */
-#ifdef SHAPE
#define HasBorder(w) ((w)->borderWidth || wClipShape(w))
-#else
-#define HasBorder(w) ((w)->borderWidth)
-#endif
typedef struct _ScreenSaverStuff {
WindowPtr pWindow;
@@ -227,27 +245,4 @@ typedef struct _ScreenSaverStuff {
extern int screenIsSaved;
extern ScreenSaverStuffRec savedScreenInfo[MAXSCREENS];
-/*
- * this is the configuration parameter "NO_BACK_SAVE"
- * it means that any existant backing store should not
- * be used to implement save unders.
- */
-
-#ifndef NO_BACK_SAVE
-#define DO_SAVE_UNDERS(pWin) ((pWin)->drawable.pScreen->saveUnderSupport ==\
- USE_DIX_SAVE_UNDERS)
-/*
- * saveUnderSupport is set to this magic value when using DIXsaveUnders
- */
-
-#define USE_DIX_SAVE_UNDERS 0x40
-#endif
-
-extern int numSaveUndersViewable;
-extern int deltaSaveUndersViewable;
-
-#ifdef XEVIE
-extern WindowPtr xeviewin;
-#endif
-
#endif /* WINDOWSTRUCT_H */