diff options
author | Moonchild <moonchild@palemoon.org> | 2019-11-08 10:54:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-08 10:54:27 +0100 |
commit | 0f3635dc8fac240b5e6d2a74d8894d83176bc357 (patch) | |
tree | 91f42e5b7b611e259ae8fb63f84e201032e56382 /gfx/cairo/quartz-fix-PAD.patch | |
parent | 8bb208397d2574ffcad436d23d3e8b87b3413141 (diff) | |
parent | 5f80c286cf845cbc1dde8b7d6ea177ddd4f8f39b (diff) | |
download | UXP-0f3635dc8fac240b5e6d2a74d8894d83176bc357.tar UXP-0f3635dc8fac240b5e6d2a74d8894d83176bc357.tar.gz UXP-0f3635dc8fac240b5e6d2a74d8894d83176bc357.tar.lz UXP-0f3635dc8fac240b5e6d2a74d8894d83176bc357.tar.xz UXP-0f3635dc8fac240b5e6d2a74d8894d83176bc357.zip |
Merge pull request #1276 from MoonchildProductions/cairo-work
Update the in-tree cairo code.
Diffstat (limited to 'gfx/cairo/quartz-fix-PAD.patch')
-rw-r--r-- | gfx/cairo/quartz-fix-PAD.patch | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/gfx/cairo/quartz-fix-PAD.patch b/gfx/cairo/quartz-fix-PAD.patch deleted file mode 100644 index 0e5ed3107..000000000 --- a/gfx/cairo/quartz-fix-PAD.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: Robert O'Callahan <robert@ocallahan.org> -Bug 593270. Part 2: Treat EXTEND_PAD like EXTEND_NONE when painting. r=jrmuizel,a=joe - -diff --git a/gfx/cairo/cairo/src/cairo-quartz-surface.c b/gfx/cairo/cairo/src/cairo-quartz-surface.c ---- a/gfx/cairo/cairo/src/cairo-quartz-surface.c -+++ b/gfx/cairo/cairo/src/cairo-quartz-surface.c -@@ -1464,35 +1464,35 @@ static void - _cairo_quartz_setup_surface_source (cairo_quartz_surface_t *surface, - const cairo_surface_pattern_t *spat, - cairo_rectangle_int_t *extents, - cairo_quartz_drawing_state_t *state) - { - const cairo_pattern_t *source = &spat->base; - CGContextRef context = state->context; - -- if (source->extend == CAIRO_EXTEND_NONE || -+ if (source->extend == CAIRO_EXTEND_NONE || source->extend == CAIRO_EXTEND_PAD || - (CGContextDrawTiledImagePtr && source->extend == CAIRO_EXTEND_REPEAT)) - { - cairo_surface_t *pat_surf = spat->surface; - CGImageRef img; - cairo_matrix_t m = spat->base.matrix; - cairo_rectangle_int_t extents; - CGAffineTransform xform; - CGRect srcRect; - cairo_fixed_t fw, fh; - cairo_bool_t is_bounded; -+ cairo_bool_t repeat = source->extend == CAIRO_EXTEND_REPEAT; - cairo_status_t status; - - cairo_matrix_invert(&m); - _cairo_quartz_cairo_matrix_to_quartz (&m, &state->transform); - - /* Draw nonrepeating CGLayer surface using DO_LAYER */ -- if (source->extend == CAIRO_EXTEND_NONE || -- (CGContextDrawTiledImagePtr && source->extend == CAIRO_EXTEND_REPEAT)) -+ if (!repeat && cairo_surface_get_type (pat_surf) == CAIRO_SURFACE_TYPE_QUARTZ) { - cairo_quartz_surface_t *quartz_surf = (cairo_quartz_surface_t *) pat_surf; - if (quartz_surf->cgLayer) { - state->imageRect = CGRectMake (0, 0, quartz_surf->extents.width, quartz_surf->extents.height); - state->layer = quartz_surf->cgLayer; - state->action = DO_LAYER; - return; - } - } -@@ -1510,17 +1510,17 @@ _cairo_quartz_setup_surface_source (cair - /* XXXroc what is this for? */ - CGContextSetRGBFillColor (surface->cgContext, 0, 0, 0, 1); - - state->image = img; - - is_bounded = _cairo_surface_get_extents (pat_surf, &extents); - assert (is_bounded); - -- if (source->extend == CAIRO_EXTEND_NONE) { -+ if (!repeat) { - state->imageRect = CGRectMake (0, 0, extents.width, extents.height); - state->action = DO_IMAGE; - return; - } - - /* Quartz seems to tile images at pixel-aligned regions only -- this - * leads to seams if the image doesn't end up scaling to fill the - * space exactly. The CGPattern tiling approach doesn't have this |