diff options
Diffstat (limited to 'Imaging/libImaging/Access.c')
-rw-r--r-- | Imaging/libImaging/Access.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Imaging/libImaging/Access.c b/Imaging/libImaging/Access.c new file mode 100644 index 0000000..6b2fcbd --- /dev/null +++ b/Imaging/libImaging/Access.c @@ -0,0 +1,63 @@ +/* + * The Python Imaging Library + * $Id: Access.c 2134 2004-10-06 08:55:20Z fredrik $ + * + * imaging access objects + * + * an access object can convert image data on the fly + * + * history: + * 98-12-29 fl Created + * + * Copyright (c) Secret Labs AB 1998. + * + * See the README file for information on usage and redistribution. + */ + + +#include "Imaging.h" + + +static void +access_destroy(ImagingAccess access) +{ + /* nop */ +} + +static int +access_getline(ImagingAccess access, char* buffer, int y) +{ + memcpy(buffer, access->im->image[y], access->im->linesize); + return 1; +} + +ImagingAccess +ImagingAccessNew(Imaging im) +{ + /* Create a standard access object */ + + ImagingAccess access; + + access = calloc(1, sizeof(struct ImagingAccessInstance)); + if (!access) + return (ImagingAccess) ImagingError_MemoryError(); + + access->im = im; + + access->getline = access_getline; + access->destroy = access_destroy; + + return access; +} + +void +ImagingAccessDelete(ImagingAccess access) +{ + if (!access) + return; + + if (access->destroy) + access->destroy(access); + + free(access); +} |