summaryrefslogtreecommitdiff
path: root/src/cairo-quartz-private.h
diff options
context:
space:
mode:
authorVladimir Vukicevic <vladimir@pobox.com>2008-02-25 21:06:21 -0500
committerVladimir Vukicevic <vladimir@sleet.local>2008-02-25 21:06:21 -0500
commit63711b1d4a61f21db070f30b9c153d0923cc24bb (patch)
treede394864ab9e30c4ad12abc8671aaf52628e5b66 /src/cairo-quartz-private.h
parentecb54b96967ae0d1b5ec3a4d0955f46dd68f2b8b (diff)
[quartz] Add quartz-image-surface type
Diffstat (limited to 'src/cairo-quartz-private.h')
-rw-r--r--src/cairo-quartz-private.h31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/cairo-quartz-private.h b/src/cairo-quartz-private.h
index 52a3d7fb6..cf26f4fbb 100644
--- a/src/cairo-quartz-private.h
+++ b/src/cairo-quartz-private.h
@@ -46,11 +46,12 @@
typedef struct cairo_quartz_surface {
cairo_surface_t base;
- void *imageData;
-
CGContextRef cgContext;
CGAffineTransform cgContextBaseCTM;
+ void *imageData;
+ cairo_surface_t *imageSurfaceEquiv;
+
cairo_rectangle_int_t extents;
/* These are stored while drawing operations are in place, set up
@@ -63,7 +64,33 @@ typedef struct cairo_quartz_surface {
CGShadingRef sourceShading;
CGPatternRef sourcePattern;
+
+ CGInterpolationQuality oldInterpolationQuality;
} cairo_quartz_surface_t;
+
+typedef struct cairo_quartz_image_surface {
+ cairo_surface_t base;
+
+ cairo_rectangle_int_t extents;
+
+ CGImageRef image;
+ cairo_image_surface_t *imageSurface;
+} cairo_quartz_image_surface_t;
+
+cairo_bool_t
+_cairo_quartz_verify_surface_size(int width, int height);
+
+CGImageRef
+_cairo_quartz_create_cgimage (cairo_format_t format,
+ unsigned int width,
+ unsigned int height,
+ unsigned int stride,
+ void *data,
+ cairo_bool_t interpolate,
+ CGColorSpaceRef colorSpaceOverride,
+ CGDataProviderReleaseDataCallback releaseCallback,
+ void *releaseInfo);
+
#endif /* CAIRO_HAS_QUARTZ_SURFACE */
#if CAIRO_HAS_ATSUI_FONT