summaryrefslogtreecommitdiff
path: root/src/cairo-tee-surface.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cairo-tee-surface.c')
-rw-r--r--src/cairo-tee-surface.c65
1 files changed, 14 insertions, 51 deletions
diff --git a/src/cairo-tee-surface.c b/src/cairo-tee-surface.c
index 7a94c9bca..1d075a29c 100644
--- a/src/cairo-tee-surface.c
+++ b/src/cairo-tee-surface.c
@@ -44,7 +44,6 @@
#include "cairo-default-context-private.h"
#include "cairo-error-private.h"
-#include "cairo-tee-surface-private.h"
#include "cairo-recording-surface-inline.h"
#include "cairo-surface-wrapper-private.h"
#include "cairo-array-private.h"
@@ -220,12 +219,12 @@ _cairo_tee_surface_paint (void *abstract_surface,
num_slaves = _cairo_array_num_elements (&surface->slaves);
slaves = _cairo_array_index (&surface->slaves, 0);
for (n = 0; n < num_slaves; n++) {
- status = _cairo_surface_wrapper_paint (&slaves[n], op, source, clip);
+ status = _cairo_surface_wrapper_paint (&slaves[n], op, source, 0, clip);
if (unlikely (status))
return status;
}
- return _cairo_surface_wrapper_paint (&surface->master, op, source, clip);
+ return _cairo_surface_wrapper_paint (&surface->master, op, source, 0, clip);
}
static cairo_int_status_t
@@ -244,13 +243,17 @@ _cairo_tee_surface_mask (void *abstract_surface,
slaves = _cairo_array_index (&surface->slaves, 0);
for (n = 0; n < num_slaves; n++) {
status = _cairo_surface_wrapper_mask (&slaves[n],
- op, source, mask, clip);
+ op, source, 0,
+ mask, 0,
+ clip);
if (unlikely (status))
return status;
}
return _cairo_surface_wrapper_mask (&surface->master,
- op, source, mask, clip);
+ op, source, 0,
+ mask, 0,
+ clip);
}
static cairo_int_status_t
@@ -274,7 +277,7 @@ _cairo_tee_surface_stroke (void *abstract_surface,
slaves = _cairo_array_index (&surface->slaves, 0);
for (n = 0; n < num_slaves; n++) {
status = _cairo_surface_wrapper_stroke (&slaves[n],
- op, source,
+ op, source, 0,
path, style,
ctm, ctm_inverse,
tolerance, antialias,
@@ -284,7 +287,7 @@ _cairo_tee_surface_stroke (void *abstract_surface,
}
return _cairo_surface_wrapper_stroke (&surface->master,
- op, source,
+ op, source, 0,
path, style,
ctm, ctm_inverse,
tolerance, antialias,
@@ -310,7 +313,7 @@ _cairo_tee_surface_fill (void *abstract_surface,
slaves = _cairo_array_index (&surface->slaves, 0);
for (n = 0; n < num_slaves; n++) {
status = _cairo_surface_wrapper_fill (&slaves[n],
- op, source,
+ op, source, 0,
path, fill_rule,
tolerance, antialias,
clip);
@@ -319,7 +322,7 @@ _cairo_tee_surface_fill (void *abstract_surface,
}
return _cairo_surface_wrapper_fill (&surface->master,
- op, source,
+ op, source, 0,
path, fill_rule,
tolerance, antialias,
clip);
@@ -361,7 +364,7 @@ _cairo_tee_surface_show_text_glyphs (void *abstract_surface,
for (n = 0; n < num_slaves; n++) {
memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
status = _cairo_surface_wrapper_show_text_glyphs (&slaves[n], op,
- source,
+ source, 0,
utf8, utf8_len,
glyphs_copy, num_glyphs,
clusters, num_clusters,
@@ -374,7 +377,7 @@ _cairo_tee_surface_show_text_glyphs (void *abstract_surface,
memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
status = _cairo_surface_wrapper_show_text_glyphs (&surface->master, op,
- source,
+ source, 0,
utf8, utf8_len,
glyphs_copy, num_glyphs,
clusters, num_clusters,
@@ -561,43 +564,3 @@ cairo_tee_surface_index (cairo_surface_t *abstract_surface,
return slave->target;
}
}
-
-cairo_surface_t *
-_cairo_tee_surface_find_match (void *abstract_surface,
- const cairo_surface_backend_t *backend,
- cairo_content_t content)
-{
- cairo_tee_surface_t *surface = abstract_surface;
- cairo_surface_wrapper_t *slaves;
- int num_slaves, n;
-
- /* exact match first */
- if (surface->master.target->backend == backend &&
- surface->master.target->content == content)
- {
- return surface->master.target;
- }
-
- num_slaves = _cairo_array_num_elements (&surface->slaves);
- slaves = _cairo_array_index (&surface->slaves, 0);
- for (n = 0; n < num_slaves; n++) {
- if (slaves[n].target->backend == backend &&
- slaves[n].target->content == content)
- {
- return slaves[n].target;
- }
- }
-
- /* matching backend? */
- if (surface->master.target->backend == backend)
- return surface->master.target;
-
- num_slaves = _cairo_array_num_elements (&surface->slaves);
- slaves = _cairo_array_index (&surface->slaves, 0);
- for (n = 0; n < num_slaves; n++) {
- if (slaves[n].target->backend == backend)
- return slaves[n].target;
- }
-
- return NULL;
-}