cvs: gd /libgd/src gd_wbmp.c
[email protected] ("Mattias Bengtsson") Fri, 21 Dec 2007 22:38:39 -0000
| Newsgroups | php.gd.cvs |
|---|---|
| Message-ID | <cvsmattias1198276719@cvsserver> |
mattias Fri Dec 21 22:38:39 2007 UTC
Modified files:
/gd/libgd/src gd_wbmp.c
Log:
- ws + cs
mattias-20071221223839.txt
(text/plain, 10.9 KB)
http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_wbmp.c?r1=1.12&r2=1.13&diff_format=u Index: gd/libgd/src/gd_wbmp.c diff -u gd/libgd/src/gd_wbmp.c:1.12 gd/libgd/src/gd_wbmp.c:1.13 --- gd/libgd/src/gd_wbmp.c:1.12 Wed Oct 24 13:46:56 2007 +++ gd/libgd/src/gd_wbmp.c Fri Dec 21 22:38:39 2007 @@ -1,60 +1,58 @@ - - /* - WBMP: Wireless Bitmap Type 0: B/W, Uncompressed Bitmap - Specification of the WBMP format can be found in the file: - SPEC-WAESpec-19990524.pdf - You can download the WAP specification on: http://www.wapforum.com/ - - gd_wbmp.c - - Copyright (C) Johan Van den Brande ([email protected]) - - Fixed: gdImageWBMPPtr, gdImageWBMP - - Recoded: gdImageWBMPCtx for use with my wbmp library - (wbmp library included, but you can find the latest distribution - at http://www.vandenbrande.com/wbmp) - - Implemented: gdImageCreateFromWBMPCtx, gdImageCreateFromWBMP - - --------------------------------------------------------------------------- - - Parts of this code are from Maurice Smurlo. - - - ** Copyright (C) Maurice Szmurlo --- T-SIT --- January 2000 - ** ([email protected]) - - ** Permission to use, copy, modify, and distribute this software and its - ** documentation for any purpose and without fee is hereby granted, provided - ** that the above copyright notice appear in all copies and that both that - ** copyright notice and this permission notice appear in supporting - ** documentation. This software is provided "as is" without express or - ** implied warranty. - - --------------------------------------------------------------------------- - Parts od this code are inspired by 'pbmtowbmp.c' and 'wbmptopbm.c' by - Terje Sannum <[email protected]>. - ** - ** Permission to use, copy, modify, and distribute this software and its - ** documentation for any purpose and without fee is hereby granted, provided - ** that the above copyright notice appear in all copies and that both that - ** copyright notice and this permission notice appear in supporting - ** documentation. This software is provided "as is" without express or - ** implied warranty. - ** - --------------------------------------------------------------------------- - - Todo: - - gdCreateFromWBMP function for reading WBMP files - - ---------------------------------------------------------------------------- + * WBMP: Wireless Bitmap Type 0: B/W, Uncompressed Bitmap + * Specification of the WBMP format can be found in the file: + * SPEC-WAESpec-19990524.pdf + * You can download the WAP specification on: http://www.wapforum.com/ + * + * gd_wbmp.c + * + * Copyright (C) Johan Van den Brande ([email protected]) + * + * Fixed: gdImageWBMPPtr, gdImageWBMP + * + * Recoded: gdImageWBMPCtx for use with my wbmp library + * (wbmp library included, but you can find the latest distribution + * at http://www.vandenbrande.com/wbmp) + * + * Implemented: gdImageCreateFromWBMPCtx, gdImageCreateFromWBMP + * + *-------------------------------------------------------------------------- + * + * Parts of this code are from Maurice Smurlo. + * + ** Copyright (C) Maurice Szmurlo --- T-SIT --- January 2000 + ** ([email protected]) + ** + ** Permission to use, copy, modify, and distribute this software and its + ** documentation for any purpose and without fee is hereby granted, provided + ** that the above copyright notice appear in all copies and that both that + ** copyright notice and this permission notice appear in supporting + ** documentation. This software is provided "as is" without express or + ** implied warranty. + * + *-------------------------------------------------------------------------- + * + * Parts od this code are inspired by 'pbmtowbmp.c' and 'wbmptopbm.c' by + * Terje Sannum <[email protected]>. + * + ** Permission to use, copy, modify, and distribute this software and its + ** documentation for any purpose and without fee is hereby granted, provided + ** that the above copyright notice appear in all copies and that both that + ** copyright notice and this permission notice appear in supporting + ** documentation. This software is provided "as is" without express or + ** implied warranty. + * + *-------------------------------------------------------------------------- + * + * Todo: + * + * gdCreateFromWBMP function for reading WBMP files + * + *-------------------------------------------------------------------------- */ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #endif #include <gd.h> @@ -65,170 +63,147 @@ #include "wbmp.h" - /* gd_putout - ** --------- - ** Wrapper around gdPutC for use with writewbmp - ** + * --------- + * Wrapper around gdPutC for use with writewbmp */ -void -gd_putout (int i, void *out) +void gd_putout(int i, void *out) { - gdPutC (i, (gdIOCtx *) out); + gdPutC(i, (gdIOCtx *)out); } - /* gd_getin - ** -------- - ** Wrapper around gdGetC for use with readwbmp - ** - */ -int -gd_getin (void *in) -{ - return (gdGetC ((gdIOCtx *) in)); + * -------- + * Wrapper around gdGetC for use with readwbmp + */ +int gd_getin(void *in) +{ + return (gdGetC((gdIOCtx *)in)); } +/* gdImageWBMPCtx + * -------------- + * Write the image as a wbmp file + * Parameters are: + * image: gd image structure; + * fg: the index of the foreground color. any other value will be + * considered as background and will not be written + * out: the stream where to write + */ +BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) +{ + int x, y, pos; + Wbmp *wbmp; -/* gdImageWBMPCtx - ** -------------- - ** Write the image as a wbmp file - ** Parameters are: - ** image: gd image structure; - ** fg: the index of the foreground color. any other value will be - ** considered as background and will not be written - ** out: the stream where to write - */ -BGD_DECLARE(void) gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out) -{ - - int x, y, pos; - Wbmp *wbmp; - - - /* create the WBMP */ - if ((wbmp = createwbmp (gdImageSX (image), gdImageSY (image), WBMP_WHITE)) == NULL) - { - fprintf (stderr, "Could not create WBMP\n"); - return; - } - - /* fill up the WBMP structure */ - pos = 0; - for (y = 0; y < gdImageSY (image); y++) - { - for (x = 0; x < gdImageSX (image); x++) - { - if (gdImageGetPixel (image, x, y) == fg) - { - wbmp->bitmap[pos] = WBMP_BLACK; - } - pos++; - } - } - - /* write the WBMP to a gd file descriptor */ - if (writewbmp (wbmp, &gd_putout, out)) - fprintf (stderr, "Could not save WBMP\n"); - /* des submitted this bugfix: gdFree the memory. */ - freewbmp (wbmp); -} + /* create the WBMP */ + if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) { + fprintf(stderr, "Could not create WBMP\n"); + return; + } + + /* fill up the WBMP structure */ + pos = 0; + for(y = 0; y < gdImageSY(image); y++) { + for(x = 0; x < gdImageSX(image); x++) { + if(gdImageGetPixel(image, x, y) == fg) { + wbmp->bitmap[pos] = WBMP_BLACK; + } + pos++; + } + } + /* write the WBMP to a gd file descriptor */ + if(writewbmp(wbmp, &gd_putout, out)) { + fprintf(stderr, "Could not save WBMP\n"); + } + + /* des submitted this bugfix: gdFree the memory. */ + freewbmp(wbmp); +} /* gdImageCreateFromWBMPCtx - ** ------------------------ - ** Create a gdImage from a WBMP file input from an gdIOCtx + * ------------------------ + * Create a gdImage from a WBMP file input from an gdIOCtx */ -BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMPCtx (gdIOCtx * infile) +BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMPCtx(gdIOCtx *infile) { - /* FILE *wbmp_file; */ - Wbmp *wbmp; - gdImagePtr im = NULL; - int black, white; - int col, row, pos; - - if (readwbmp (&gd_getin, infile, &wbmp)) - return (NULL); - - if (!(im = gdImageCreate (wbmp->width, wbmp->height))) - { - freewbmp (wbmp); - return (NULL); - } - - /* create the background color */ - white = gdImageColorAllocate (im, 255, 255, 255); - /* create foreground color */ - black = gdImageColorAllocate (im, 0, 0, 0); - - /* fill in image (in a wbmp 1 = white/ 0 = black) */ - pos = 0; - for (row = 0; row < wbmp->height; row++) - { - for (col = 0; col < wbmp->width; col++) - { - if (wbmp->bitmap[pos++] == WBMP_WHITE) - { - gdImageSetPixel (im, col, row, white); - } - else - { - gdImageSetPixel (im, col, row, black); - } + Wbmp *wbmp; + gdImagePtr im = NULL; + int black, white; + int col, row, pos; + + if(readwbmp(&gd_getin, infile, &wbmp)) { + return (NULL); } - } - freewbmp (wbmp); + if(!(im = gdImageCreate(wbmp->width, wbmp->height))) { + freewbmp(wbmp); + return NULL; + } + + /* create the background color */ + white = gdImageColorAllocate(im, 255, 255, 255); + /* create foreground color */ + black = gdImageColorAllocate(im, 0, 0, 0); + + /* fill in image (in a wbmp 1 = white/ 0 = black) */ + pos = 0; + for(row = 0; row < wbmp->height; row++) { + for(col = 0; col < wbmp->width; col++) { + if(wbmp->bitmap[pos++] == WBMP_WHITE) { + gdImageSetPixel(im, col, row, white); + } else { + gdImageSetPixel(im, col, row, black); + } + } + } - return (im); + freewbmp(wbmp); + + return im; } /* gdImageCreateFromWBMP - ** --------------------- */ -BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMP (FILE * inFile) +BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMP(FILE *inFile) +{ + gdImagePtr im; + gdIOCtx *in = gdNewFileCtx(inFile); + im = gdImageCreateFromWBMPCtx(in); + in->gd_free(in); + return im; +} + +BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMPPtr(int size, void *data) { - gdImagePtr im; - gdIOCtx *in = gdNewFileCtx (inFile); - im = gdImageCreateFromWBMPCtx (in); - in->gd_free (in); - return (im); -} - -BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMPPtr (int size, void *data) -{ - gdImagePtr im; - gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0); - if(!in) - return 0; - im = gdImageCreateFromWBMPCtx (in); - in->gd_free (in); - return im; + gdImagePtr im; + gdIOCtx *in = gdNewDynamicCtxEx(size, data, 0); + if(!in) { + return 0; + } + im = gdImageCreateFromWBMPCtx(in); + in->gd_free(in); + return im; } /* gdImageWBMP - ** ----------- */ -BGD_DECLARE(void) gdImageWBMP (gdImagePtr im, int fg, FILE * outFile) +BGD_DECLARE(void) gdImageWBMP(gdImagePtr im, int fg, FILE *outFile) { - gdIOCtx *out = gdNewFileCtx (outFile); - gdImageWBMPCtx (im, fg, out); - out->gd_free (out); + gdIOCtx *out = gdNewFileCtx(outFile); + gdImageWBMPCtx(im, fg, out); + out->gd_free(out); } /* gdImageWBMPPtr - ** -------------- */ -BGD_DECLARE(void *) -gdImageWBMPPtr (gdImagePtr im, int *size, int fg) +BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg) { - void *rv; - gdIOCtx *out = gdNewDynamicCtx (2048, NULL); - gdImageWBMPCtx (im, fg, out); - rv = gdDPExtractData (out, size); - out->gd_free (out); - return rv; + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + gdImageWBMPCtx(im, fg, out); + rv = gdDPExtractData(out, size); + out->gd_free(out); + return rv; } - -