summaryrefslogtreecommitdiff
path: root/src/cairo-xcb-private.h
diff options
context:
space:
mode:
authorUli Schlachter <psychon@znc.in>2011-07-21 15:41:25 +0200
committerUli Schlachter <psychon@znc.in>2011-07-21 16:51:26 +0200
commit7c2ccef3eb636661ee45c501c8345b6bde9a827c (patch)
treee05e281d92a309a75f8522abf80d062550f1339a /src/cairo-xcb-private.h
parent83df0ab2b6ccaf623303b606a99303b5d054b145 (diff)
downloadcairo-7c2ccef3eb636661ee45c501c8345b6bde9a827c.tar.gz
xcb: Make it possible to undo _cairo_xcb_device_debug_cap_*
We now remember the original flags before any call to cairo_xcb_device_debug_cap_xshm_version() or cairo_xcb_device_debug_cap_xrender_version() was done and re-set these flags on any new call to these functions. This makes it possible to raise e.g. the used RENDER version again. Signed-off-by: Uli Schlachter <psychon@znc.in>
Diffstat (limited to 'src/cairo-xcb-private.h')
-rw-r--r--src/cairo-xcb-private.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/cairo-xcb-private.h b/src/cairo-xcb-private.h
index f2e9516d5..2897b07a8 100644
--- a/src/cairo-xcb-private.h
+++ b/src/cairo-xcb-private.h
@@ -202,6 +202,7 @@ struct _cairo_xcb_connection {
unsigned int maximum_request_length;
unsigned int flags;
+ unsigned int original_flags;
int force_precision;
@@ -237,7 +238,19 @@ enum {
CAIRO_XCB_RENDER_HAS_EXTENDED_REPEAT = 0x0100,
CAIRO_XCB_RENDER_HAS_GRADIENTS = 0x0200,
- CAIRO_XCB_HAS_SHM = 0x80000000
+ CAIRO_XCB_HAS_SHM = 0x80000000,
+
+ CAIRO_XCB_RENDER_MASK = CAIRO_XCB_HAS_RENDER |
+ CAIRO_XCB_RENDER_HAS_FILL_RECTANGLES |
+ CAIRO_XCB_RENDER_HAS_COMPOSITE |
+ CAIRO_XCB_RENDER_HAS_COMPOSITE_TRAPEZOIDS |
+ CAIRO_XCB_RENDER_HAS_COMPOSITE_GLYPHS |
+ CAIRO_XCB_RENDER_HAS_PICTURE_TRANSFORM |
+ CAIRO_XCB_RENDER_HAS_FILTERS |
+ CAIRO_XCB_RENDER_HAS_PDF_OPERATORS |
+ CAIRO_XCB_RENDER_HAS_EXTENDED_REPEAT |
+ CAIRO_XCB_RENDER_HAS_GRADIENTS,
+ CAIRO_XCB_SHM_MASK = CAIRO_XCB_HAS_SHM
};
#define CAIRO_XCB_SHM_SMALL_IMAGE 8192