diff options
author | Vladimir Vukicevic <vladimir@pobox.com> | 2008-02-25 21:06:21 -0500 |
---|---|---|
committer | Vladimir Vukicevic <vladimir@sleet.local> | 2008-02-25 21:06:21 -0500 |
commit | 63711b1d4a61f21db070f30b9c153d0923cc24bb (patch) | |
tree | de394864ab9e30c4ad12abc8671aaf52628e5b66 /src/cairo-quartz-private.h | |
parent | ecb54b96967ae0d1b5ec3a4d0955f46dd68f2b8b (diff) |
[quartz] Add quartz-image-surface type
Diffstat (limited to 'src/cairo-quartz-private.h')
-rw-r--r-- | src/cairo-quartz-private.h | 31 |
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 |