diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-13 17:20:24 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-13 18:37:08 +0000 |
commit | 7012334ebb424b619312e1fa397cc3b8a3ffd770 (patch) | |
tree | 8cbf002161b16ca186651734b4e188aab9b6d97a /src/cairo-xlib-private.h | |
parent | 503b6b9e2ea65805a77d527c00cf242ec86d479b (diff) | |
download | cairo-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.h | 15 |
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 */ |