summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2003-11-22 00:44:32 +0000
committerKeith Packard <keithp@keithp.com>2003-11-22 00:44:32 +0000
commitf92db7128c857b3925846a9c8519e9554a1c67e2 (patch)
tree326da04318110b283f8f038daa461dbc47031e0b
parent804a9fda12f70e66feac5e45bc8293a7e436689b (diff)
downloadxorg-proto-fixesproto-f92db7128c857b3925846a9c8519e9554a1c67e2.tar.gz
Eliminate offset arguments in combining operators, create separate CopyRegion and TranslateRegion requests.
-rw-r--r--ChangeLog8
-rw-r--r--protocol39
-rw-r--r--xfixesproto.h27
-rw-r--r--xfixeswire.h30
4 files changed, 70 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index a1be791..7004b3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2003-11-21 Keith Packard <keithp@keithp.com>
+
+ * protocol:
+ * xfixesproto.h:
+ * xfixeswire.h:
+ Eliminate offset arguments in combining operators,
+ create separate CopyRegion and TranslateRegion requests.
+
2003-11-02 Keith Packard <keithp@keithp.com>
* configure.ac:
diff --git a/protocol b/protocol
index 3b6b234..cdea081 100644
--- a/protocol
+++ b/protocol
@@ -1,6 +1,7 @@
- The XFIXES Extension
+ The XFIXES Extension
Version 2.0
- 2003-10-15
+ Document Revision 1
+ 2003-11-20
Keith Packard
keithp@keithp.com
@@ -303,38 +304,46 @@ SetRegion
This replaces the current contents of region with the region formed
by the union of rects.
+CopyRegion
+ source: Region
+ destination: Region
+
+ This replaces the contents of destination with the contents of
+ source.
+
UnionRegion
IntersectRegion
SubtractRegion
- source1: Region or None
- xOff1, yOff1: INT16
- source2: Region or None
- xOff2, yOff2: INT16
+ source1: Region
+ source2: Region
destination: Region
Combines source1 and source2, placing the result in destination.
- Destination may be the same as either source1 or source2. If
- source1 or source2 are None, the operation behaves as if an empty
- region was specified. xOff1, yOff1 are added to the coordinates of
- source1 while xOff2 and yOff2 are added to the coordinates of
- source2.
+ Destination may be the same as either source1 or source2.
Errors: Region, Value
InvertRegion
source: Region
- xOff, yOff: INT16
bounds: RECTANGLE
destination: Region
- The source region is offset by xOff, yOff and subtracted from the
- region specified by bounds. The result is placed in destination,
- replacing its contents.
+ The source region is subtracted from the region specified by
+ bounds. The result is placed in destination, replacing its contents.
Errors: Region
+TranslateRegion
+
+ region: Region
+ dx, dy: INT16
+
+ The region is translated by dx, dy in place.
+
+ Errors: Region
+
RegionExtents
source: Region
diff --git a/xfixesproto.h b/xfixesproto.h
index 8bdae6f..e6b2a7f 100644
--- a/xfixesproto.h
+++ b/xfixesproto.h
@@ -247,17 +247,25 @@ typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
+ Region source B32;
+ Region destination B32;
+} xXFixesCopyRegionReq;
+
+#define sz_xXFixesCopyRegionReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
Region source1 B32;
- INT16 xOff1 B16, yOff1 B16;
Region source2 B32;
- INT16 xOff2 B16, yOff2 B16;
Region destination B32;
} xXFixesCombineRegionReq,
xXFixesUnionRegionReq,
xXFixesIntersectRegionReq,
xXFixesSubtractRegionReq;
-#define sz_xXFixesCombineRegionReq 24
+#define sz_xXFixesCombineRegionReq 16
#define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq
#define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq
#define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq
@@ -267,14 +275,23 @@ typedef struct {
CARD8 xfixesReqType;
CARD16 length B16;
Region source B32;
- INT16 xOff B16, yOff B16;
INT16 x B16, y B16;
CARD16 width B16, height B16;
Region destination B32;
} xXFixesInvertRegionReq;
-#define sz_xXFixesInvertRegionReq 24
+#define sz_xXFixesInvertRegionReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ INT16 dx B16, dy B16;
+} xXFixesTranslateRegionReq;
+#define sz_xXFixesTranslateRegionReq 12
+
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
diff --git a/xfixeswire.h b/xfixeswire.h
index b0c8e19..3cb2730 100644
--- a/xfixeswire.h
+++ b/xfixeswire.h
@@ -44,20 +44,22 @@
#define X_XFixesCreateRegionFromPicture 9
#define X_XFixesDestroyRegion 10
#define X_XFixesSetRegion 11
-#define X_XFixesUnionRegion 12
-#define X_XFixesIntersectRegion 13
-#define X_XFixesSubtractRegion 14
-#define X_XFixesInvertRegion 15
-#define X_XFixesRegionExtents 16
-#define X_XFixesFetchRegion 17
-#define X_XFixesSetGCClipRegion 18
-#define X_XFixesSetWindowShapeRegion 19
-#define X_XFixesSetPictureClipRegion 20
-#define X_XFixesSetCursorName 21
-#define X_XFixesGetCursorName 22
-#define X_XFixesGetCursorImageAndName 23
-#define X_XFixesChangeCursor 24
-#define X_XFixesChangeCursorByName 25
+#define X_XFixesCopyRegion 12
+#define X_XFixesUnionRegion 13
+#define X_XFixesIntersectRegion 14
+#define X_XFixesSubtractRegion 15
+#define X_XFixesInvertRegion 16
+#define X_XFixesTranslateRegion 17
+#define X_XFixesRegionExtents 18
+#define X_XFixesFetchRegion 19
+#define X_XFixesSetGCClipRegion 20
+#define X_XFixesSetWindowShapeRegion 21
+#define X_XFixesSetPictureClipRegion 22
+#define X_XFixesSetCursorName 23
+#define X_XFixesGetCursorName 24
+#define X_XFixesGetCursorImageAndName 25
+#define X_XFixesChangeCursor 26
+#define X_XFixesChangeCursorByName 27
#define XFixesNumberRequests (X_XFixesChangeCursorByName+1)