summaryrefslogtreecommitdiff
path: root/src/cairo-xlib-surface-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2007-05-01 18:34:47 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2007-05-04 14:19:57 +0100
commit52472b740e821dee444ede1fff041a99d344daab (patch)
treedc4ad5725444af5f097b7a2547ee2810178d586d /src/cairo-xlib-surface-private.h
parenta81823cdf9a147d02bb2365558ba667ab52fb3c9 (diff)
downloadcairo-52472b740e821dee444ede1fff041a99d344daab.tar.gz
[cairo-xlib-surface] Defer application of clip mask until required.
By deferring the issuing of the X requests to set the clip mask we can theoretically avoid some redundant requests, but primarily we remove another path where X requests are emitted.
Diffstat (limited to 'src/cairo-xlib-surface-private.h')
-rw-r--r--src/cairo-xlib-surface-private.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/cairo-xlib-surface-private.h b/src/cairo-xlib-surface-private.h
index 15724d347..3bbf43e23 100644
--- a/src/cairo-xlib-surface-private.h
+++ b/src/cairo-xlib-surface-private.h
@@ -79,6 +79,7 @@ struct _cairo_xlib_surface {
Picture dst_picture, src_picture;
+ unsigned int clip_dirty;
cairo_bool_t have_clip_rects;
XRectangle embedded_clip_rects[4];
XRectangle *clip_rects;
@@ -90,4 +91,10 @@ struct _cairo_xlib_surface {
XTransform xtransform;
};
+enum {
+ CAIRO_XLIB_SURFACE_CLIP_DIRTY_GC = 0x01,
+ CAIRO_XLIB_SURFACE_CLIP_DIRTY_PICTURE = 0x02,
+ CAIRO_XLIB_SURFACE_CLIP_DIRTY_ALL = 0x03
+};
+
#endif /* CAIRO_XLIB_SURFACE_PRIVATE_H */