From 260a030ebaf0669165ba43a6d748431b6c1ce1d4 Mon Sep 17 00:00:00 2001 From: jylam Date: Sun, 19 Oct 2008 10:57:18 +0000 Subject: [PATCH] * Added free callback to CoreImage codec git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3019 92316355-f0b4-4df1-b90c-862c8a59935f --- pipi/codec/coreimage.h | 6 ++++++ pipi/codec/coreimage.m | 21 +++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/pipi/codec/coreimage.h b/pipi/codec/coreimage.h index d5f6c10..e37d1c6 100644 --- a/pipi/codec/coreimage.h +++ b/pipi/codec/coreimage.h @@ -29,4 +29,10 @@ #include "pipi.h" #include "pipi_internals.h" +struct pipi_codec_coreimage +{ + NSBitmapFormat format; +}; + + #endif diff --git a/pipi/codec/coreimage.m b/pipi/codec/coreimage.m index 84cb8d2..22d2d1c 100644 --- a/pipi/codec/coreimage.m +++ b/pipi/codec/coreimage.m @@ -20,9 +20,11 @@ #import "coreimage.h" #ifdef USE_COCOA - #import + +static int pipi_free_coreimage(pipi_image_t *img); + pipi_image_t *pipi_load_coreimage(const char *name) { NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init]; @@ -48,11 +50,14 @@ pipi_image_t *pipi_load_coreimage(const char *name) img->p[PIPI_PIXELS_RGBA_C].bytes = ([myImage bitsPerPixel]/8) * img->w * img->h; img->last_modified = PIPI_PIXELS_RGBA_C; - img->codec_priv = (void*)[myImage bitmapFormat]; - + img->codec_priv = (struct pipi_codec_coreimage *) malloc(sizeof(struct pipi_codec_coreimage *)); + struct pipi_codec_coreimage *infos = (struct pipi_codec_coreimage *) img->codec_priv; + infos->format = [myImage bitmapFormat]; pipi_pixels_t *p = pipi_getpixels(img, PIPI_PIXELS_RGBA_C); - + + img->codec_free = pipi_free_coreimage; + [autoreleasepool release]; return img; } @@ -87,5 +92,13 @@ int pipi_save_coreimage(pipi_image_t *img, const char *name) return 1; } +/* + * XXX: The following functions are local. + */ + +static int pipi_free_coreimage(pipi_image_t *img) +{ + return 0; +} #endif