diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-04-23 19:45:26 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-15 11:05:19 +0100 |
commit | 83bfd85a1378e61b8bdc3f554f5e07900311f61f (patch) | |
tree | 380f96e0021d420799db02f4abe3e364745ec476 /src/cairo-clip.c | |
parent | 2055732ffcd6316c3feb05ac330fbaf8698df5c4 (diff) | |
download | cairo-83bfd85a1378e61b8bdc3f554f5e07900311f61f.tar.gz |
Implement cairo_backend_t
Allow a backend to completely reimplement the Cairo API as it wants. The
goal is to pass operations to the native backends such as Quartz,
Direct2D, Qt, Skia, OpenVG with no overhead. And to permit complete
logging contexts, and whatever else the imagination holds. Perhaps to
experiment with double-paths?
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-clip.c')
-rw-r--r-- | src/cairo-clip.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/cairo-clip.c b/src/cairo-clip.c index d78a17c22..929c10734 100644 --- a/src/cairo-clip.c +++ b/src/cairo-clip.c @@ -513,10 +513,13 @@ static cairo_status_t _cairo_clip_apply_clip_path (cairo_clip_t *clip, const cairo_clip_path_t *path) { - cairo_status_t status; + if (path->prev != NULL) { + cairo_status_t status; - if (path->prev != NULL) status = _cairo_clip_apply_clip_path (clip, path->prev); + if (unlikely (status)) + return status; + } return _cairo_clip_intersect_path (clip, &path->path, |