summaryrefslogtreecommitdiff
path: root/src/cairo-xlib-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-01-13 17:20:24 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-01-13 18:37:08 +0000
commit7012334ebb424b619312e1fa397cc3b8a3ffd770 (patch)
tree8cbf002161b16ca186651734b4e188aab9b6d97a /src/cairo-xlib-private.h
parent503b6b9e2ea65805a77d527c00cf242ec86d479b (diff)
downloadcairo-7012334ebb424b619312e1fa397cc3b8a3ffd770.tar.gz
xlib: Handle lack of XRenderFillRectangles
Remember to check for a supported render version before making a FillRectangle request, and fallback to the core protocol where possible instead. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-xlib-private.h')
-rw-r--r--src/cairo-xlib-private.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/cairo-xlib-private.h b/src/cairo-xlib-private.h
index 000798a6d..4fd725f93 100644
--- a/src/cairo-xlib-private.h
+++ b/src/cairo-xlib-private.h
@@ -171,6 +171,7 @@ struct _cairo_xlib_surface {
cairo_surface_t base;
Picture picture;
+ Drawable drawable;
const cairo_compositor_t *compositor;
cairo_surface_t *shm;
@@ -181,7 +182,6 @@ struct _cairo_xlib_surface {
cairo_list_t link;
Display *dpy; /* only valid between acquire/release */
- Drawable drawable;
cairo_bool_t owns_pixmap;
Visual *visual;
@@ -203,6 +203,7 @@ struct _cairo_xlib_surface {
cairo_surface_t base;
Picture picture;
+ Pixmap pixmap;
Display *dpy;
unsigned int filter:3;
@@ -395,6 +396,17 @@ _cairo_xlib_surface_same_screen (cairo_xlib_surface_t *dst,
return dst->screen == src->screen;
}
+cairo_private cairo_int_status_t
+_cairo_xlib_core_fill_boxes (cairo_xlib_surface_t *dst,
+ const cairo_color_t *color,
+ cairo_boxes_t *boxes);
+
+cairo_private cairo_int_status_t
+_cairo_xlib_core_fill_rectangles (cairo_xlib_surface_t *dst,
+ const cairo_color_t *color,
+ int num_rects,
+ cairo_rectangle_int_t *rects);
+
static inline void
_cairo_xlib_surface_put_gc (cairo_xlib_display_t *display,
cairo_xlib_surface_t *surface,
@@ -453,5 +465,4 @@ _cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t *surface);
cairo_private pixman_format_code_t
_pixman_format_for_xlib_surface (cairo_xlib_surface_t *surface);
-
#endif /* CAIRO_XLIB_PRIVATE_H */