Subversion Repositories Kolibri OS

Rev

Rev 1892 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1892 Rev 3959
Line 36... Line 36...
36
#include "cairo-xlib.h"
36
#include "cairo-xlib.h"
37
#include "cairo-xlib-private.h"
37
#include "cairo-xlib-private.h"
38
#include "cairo-xlib-xrender-private.h"
38
#include "cairo-xlib-xrender-private.h"
Line 39... Line 39...
39
 
39
 
-
 
40
#include "cairo-surface-private.h"
Line 40... Line -...
40
#include "cairo-surface-private.h"
-
 
41
 
-
 
42
typedef struct _cairo_xlib_surface cairo_xlib_surface_t;
-
 
43
 
-
 
44
struct _cairo_xlib_surface {
-
 
45
    cairo_surface_t base;
-
 
46
 
-
 
47
    cairo_xlib_screen_t *screen;
-
 
48
    cairo_xlib_hook_t close_display_hook;
-
 
49
 
-
 
50
    Drawable drawable;
-
 
51
    cairo_bool_t owns_pixmap;
-
 
52
    Visual *visual;
-
 
53
 
-
 
54
    int use_pixmap;
-
 
55
 
-
 
56
    int render_major;
-
 
57
    int render_minor;
-
 
58
 
-
 
59
    /* TRUE if the server has a bug with repeating pictures
-
 
60
     *
-
 
61
     *  https://bugs.freedesktop.org/show_bug.cgi?id=3566
-
 
62
     *
-
 
63
     * We can't test for this because it depends on whether the
-
 
64
     * picture is in video memory or not.
-
 
65
     *
-
 
66
     * We also use this variable as a guard against a second
-
 
67
     * independent bug with transformed repeating pictures:
-
 
68
     *
-
 
69
     * http://lists.freedesktop.org/archives/cairo/2004-September/001839.html
-
 
70
     *
-
 
71
     * Both are fixed in xorg >= 6.9 and hopefully in > 6.8.2, so
-
 
72
     * we can reuse the test for now.
-
 
73
     */
-
 
74
    unsigned int buggy_gradients : 1;
-
 
75
    unsigned int buggy_pad_reflect : 1;
-
 
76
    unsigned int buggy_repeat : 1;
-
 
77
#define CAIRO_XLIB_SURFACE_HAS_BUGGY_GRADIENTS 1
-
 
78
#define CAIRO_XLIB_SURFACE_HAS_BUGGY_PAD_REFLECT 1
-
 
79
#define CAIRO_XLIB_SURFACE_HAS_BUGGY_REPEAT 1
-
 
80
 
-
 
81
    int width;
-
 
82
    int height;
-
 
83
    int depth;
-
 
84
 
-
 
85
    Picture dst_picture, src_picture;
-
 
86
 
-
 
87
    unsigned int clip_dirty;
-
 
88
    XRectangle embedded_clip_rects[8];
-
 
89
    XRectangle *clip_rects;
-
 
90
    int num_clip_rects;
-
 
91
    cairo_region_t *clip_region;
-
 
92
 
-
 
93
    XRenderPictFormat *xrender_format;
-
 
94
    cairo_filter_t filter;
-
 
95
    cairo_extend_t extend;
-
 
96
    cairo_bool_t has_component_alpha;
-
 
97
    int precision;
-
 
98
    XTransform xtransform;
-
 
99
 
-
 
100
    uint32_t a_mask;
-
 
101
    uint32_t r_mask;
-
 
102
    uint32_t g_mask;
-
 
103
    uint32_t b_mask;
-
 
104
};
-
 
105
 
-
 
106
enum {
-
 
107
    CAIRO_XLIB_SURFACE_CLIP_DIRTY_GC      = 0x01,
-
 
108
    CAIRO_XLIB_SURFACE_CLIP_DIRTY_PICTURE = 0x02,
-
 
Line 109... Line 41...
109
    CAIRO_XLIB_SURFACE_CLIP_DIRTY_ALL     = 0x03
41
#include "cairo-surface-backend-private.h"