summaryrefslogtreecommitdiff
path: root/gfx/cairo/quartz-get-image.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/cairo/quartz-get-image.patch')
-rw-r--r--gfx/cairo/quartz-get-image.patch127
1 files changed, 0 insertions, 127 deletions
diff --git a/gfx/cairo/quartz-get-image.patch b/gfx/cairo/quartz-get-image.patch
deleted file mode 100644
index e95d82d545..0000000000
--- a/gfx/cairo/quartz-get-image.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/gfx/cairo/README b/gfx/cairo/README
---- a/gfx/cairo/README
-+++ b/gfx/cairo/README
-@@ -69,16 +69,18 @@ quartz-state.patch: bug 522859; refactor
- quartz-cache-CGImageRef.patch: cache CGImageRef for a CGBitmapContext; when we reuse it, Quartz will cache stuff, improving performance
-
- quartz-remove-snapshot.patch: remove broken implementation of backend snapshot
-
- quartz-cglayers.patch: add support for cairo surfaces backed by CGLayers
-
- quartz-cglayers-fix-fallback.patch: Bug 572912; fix bug in fallback code in previous patch
-
-+quartz-get-image.patch: Bug 575521; add a way to get the image surface associated with a surface
-+
- premultiply-alpha-solid-gradients.patch: bug 539165; multiply the solid color by the alpha component before using it for a solid surface
-
- xlib-initialize-members.path: bug 548793; initialize XRender version if the server doesn't have the extension
-
- remove-comma: remove a comma from enum
-
- d2d.patch: add d2d support
-
-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
-@@ -1880,24 +1880,24 @@ _cairo_quartz_surface_finish (void *abst
- surface->cgContext = NULL;
-
- if (surface->bitmapContextImage) {
- CGImageRelease (surface->bitmapContextImage);
- surface->bitmapContextImage = NULL;
- }
-
- if (surface->imageSurfaceEquiv) {
-+ _cairo_image_surface_assume_ownership_of_data (surface->imageSurfaceEquiv);
- cairo_surface_destroy (surface->imageSurfaceEquiv);
- surface->imageSurfaceEquiv = NULL;
-+ } else if (surface->imageData) {
-+ free (surface->imageData);
- }
-
-- if (surface->imageData) {
-- free (surface->imageData);
-- surface->imageData = NULL;
-- }
-+ surface->imageData = NULL;
-
- if (surface->cgLayer) {
- CGLayerRelease (surface->cgLayer);
- }
-
- return CAIRO_STATUS_SUCCESS;
- }
-
-@@ -3200,16 +3200,28 @@ cairo_quartz_finish_cg_context_with_clip
- cairo_quartz_surface_t *quartz = (cairo_quartz_surface_t*)surface;
-
- if (cairo_surface_get_type(surface) != CAIRO_SURFACE_TYPE_QUARTZ)
- return;
-
- CGContextRestoreGState (quartz->cgContext);
- }
-
-+cairo_surface_t *
-+cairo_quartz_surface_get_image (cairo_surface_t *surface)
-+{
-+ cairo_quartz_surface_t *quartz = (cairo_quartz_surface_t *)surface;
-+ cairo_image_surface_t *image;
-+
-+ if (_cairo_quartz_get_image(quartz, &image))
-+ return NULL;
-+
-+ return (cairo_surface_t *)image;
-+}
-+
- /* Debug stuff */
-
- #ifdef QUARTZ_DEBUG
-
- #include <Movies.h>
-
- void ExportCGImageToPNGFile(CGImageRef inImageRef, char* dest)
- {
-diff --git a/gfx/cairo/cairo/src/cairo-quartz.h b/gfx/cairo/cairo/src/cairo-quartz.h
---- a/gfx/cairo/cairo/src/cairo-quartz.h
-+++ b/gfx/cairo/cairo/src/cairo-quartz.h
-@@ -63,16 +63,19 @@ cairo_public CGContextRef
- cairo_quartz_surface_get_cg_context (cairo_surface_t *surface);
-
- cairo_public CGContextRef
- cairo_quartz_get_cg_context_with_clip (cairo_t *cr);
-
- cairo_public void
- cairo_quartz_finish_cg_context_with_clip (cairo_t *cr);
-
-+cairo_public cairo_surface_t *
-+cairo_quartz_surface_get_image (cairo_surface_t *surface);
-+
- #if CAIRO_HAS_QUARTZ_FONT
-
- /*
- * Quartz font support
- */
-
- cairo_public cairo_font_face_t *
- cairo_quartz_font_face_create_for_cgfont (CGFontRef font);
-diff --git a/gfx/cairo/cairo/src/cairo-rename.h b/gfx/cairo/cairo/src/cairo-rename.h
---- a/gfx/cairo/cairo/src/cairo-rename.h
-+++ b/gfx/cairo/cairo/src/cairo-rename.h
-@@ -178,16 +178,17 @@
- #define cairo_qpainter_surface_get_qpainter _moz_cairo_qpainter_surface_get_qpainter
- #define cairo_quartz_font_face_create_for_atsu_font_id _moz_cairo_quartz_font_face_create_for_atsu_font_id
- #define cairo_quartz_font_face_create_for_cgfont _moz_cairo_quartz_font_face_create_for_cgfont
- #define cairo_quartz_image_surface_create _moz_cairo_quartz_image_surface_create
- #define cairo_quartz_image_surface_get_image _moz_cairo_quartz_image_surface_get_image
- #define cairo_quartz_surface_create _moz_cairo_quartz_surface_create
- #define cairo_quartz_surface_create_for_cg_context _moz_cairo_quartz_surface_create_for_cg_context
- #define cairo_quartz_surface_get_cg_context _moz_cairo_quartz_surface_get_cg_context
-+#define cairo_quartz_surface_get_image _moz_cairo_quartz_surface_get_image
- #define cairo_rectangle _moz_cairo_rectangle
- #define cairo_rectangle_list_destroy _moz_cairo_rectangle_list_destroy
- #define cairo_reference _moz_cairo_reference
- #define cairo_rel_curve_to _moz_cairo_rel_curve_to
- #define cairo_rel_line_to _moz_cairo_rel_line_to
- #define cairo_rel_move_to _moz_cairo_rel_move_to
- #define cairo_reset_clip _moz_cairo_reset_clip
- #define cairo_restore _moz_cairo_restore