diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2012-10-06 19:50:35 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2013-05-27 09:19:21 -0400 |
commit | 3f7069c6e1cd65b7a0cf99cb11732ef3325b045b (patch) | |
tree | 8369d71401feeaafc84de24a59bb18ceba600395 | |
parent | a6ba2838676ca77d54426bdbb4406e0cef9bc270 (diff) |
Pass clip on to state_apply
-rw-r--r-- | src/fragment.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/fragment.c b/src/fragment.c index 7307766b..99cdb3e1 100644 --- a/src/fragment.c +++ b/src/fragment.c @@ -411,7 +411,7 @@ static const pixman_color_t white = }; static void -state_apply (state_t *state, pixman_image_t *image) +state_apply (state_t *state, pixman_image_t *image, pixman_region32_t *clip) { int width = pixman_image_get_width (image); int height = pixman_image_get_height (image); @@ -479,13 +479,15 @@ state_apply (state_t *state, pixman_image_t *image) if (!temp) break; /* FIXME: status */ + + pixman_image_set_clip_region32 (temp, clip); - state_apply (state->composite.dest, image); + state_apply (state->composite.dest, image, clip); /* FIXME: check if source can be expressed as - * (s IN m), (s IN glyphs), (s IN traps) + * (s IN m), (s IN glyphs), (s IN traps) or just s */ - state_apply (state->composite.source, temp); + state_apply (state->composite.source, temp, clip); pixman_image_composite32 ( state->composite.op, temp, NULL, image, @@ -569,7 +571,7 @@ fragment_apply (fragment_t *fragment, pixman_image_t *image) pixman_image_set_clip_region32 (image, &fragment->region); - state_apply (fragment->state, image); + state_apply (fragment->state, image, &fragment->region); pixman_image_set_clip_region32 (image, NULL); |