cvs: gd /libgd/src gd.c /libgd/tests CMakeLists.txt Makefile.am /libgd/tests/gdimagesetpixel CMakeLists.txt Makefile.am bug00186.c

From: Date: Tue, 17 Mar 2009 17:29:29 +0000
Subject: cvs: gd /libgd/src gd.c /libgd/tests CMakeLists.txt Makefile.am /libgd/tests/gdimagesetpixel CMakeLists.txt Makefile.am bug00186.c
Groups: php.gd.cvs 
Request: Send a blank email to php-gd-cvs+get-588@lists.php.net to get a copy of this message
tabe Tue Mar 17 17:29:29 2009 UTC Added files: /gd/libgd/tests/gdimagesetpixel CMakeLists.txt Makefile.am bug00186.c Modified files: /gd/libgd/src gd.c /gd/libgd/tests CMakeLists.txt Makefile.am Log: fixed FS#186 http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd.c?r1=1.82&r2=1.83&diff_format=u Index: gd/libgd/src/gd.c diff -u gd/libgd/src/gd.c:1.82 gd/libgd/src/gd.c:1.83 --- gd/libgd/src/gd.c:1.82 Mon Mar 9 15:10:53 2009 +++ gd/libgd/src/gd.c Tue Mar 17 17:29:28 2009 @@ -1,4 +1,4 @@ -/* $Id: gd.c,v 1.82 2009/03/09 15:10:53 tabe Exp $ */ +/* $Id: gd.c,v 1.83 2009/03/17 17:29:28 tabe Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -1098,28 +1098,32 @@ static void gdImageTileApply (gdImagePtr im, int x, int y) { + gdImagePtr tile = im->tile; int srcx, srcy; int p; - if (!im->tile) + if (!tile) { return; } - srcx = x % gdImageSX (im->tile); - srcy = y % gdImageSY (im->tile); + srcx = x % gdImageSX (tile); + srcy = y % gdImageSY (tile); if (im->trueColor) { - p = gdImageGetTrueColorPixel (im->tile, srcx, srcy); - if (p != gdImageGetTransparent (im->tile)) { - gdImageSetPixel (im, x, y, p); - } + p = gdImageGetPixel (tile, srcx, srcy); + if (p != gdImageGetTransparent (tile)) { + if (!tile->trueColor) { + p = gdTrueColorAlpha(tile->red[p], tile->green[p], tile->blue[p], tile->alpha[p]); + } + gdImageSetPixel (im, x, y, p); + } } else { - p = gdImageGetPixel (im->tile, srcx, srcy); + p = gdImageGetPixel (tile, srcx, srcy); /* Allow for transparency */ - if (p != gdImageGetTransparent (im->tile)) + if (p != gdImageGetTransparent (tile)) { - if (im->tile->trueColor) + if (tile->trueColor) { /* Truecolor tile. Very slow on a palette destination. */ http://cvs.php.net/viewvc.cgi/gd/libgd/tests/CMakeLists.txt?r1=1.10&r2=1.11&diff_format=u Index: gd/libgd/tests/CMakeLists.txt diff -u gd/libgd/tests/CMakeLists.txt:1.10 gd/libgd/tests/CMakeLists.txt:1.11 --- gd/libgd/tests/CMakeLists.txt:1.10 Sun Dec 21 09:08:11 2008 +++ gd/libgd/tests/CMakeLists.txt Tue Mar 17 17:29:28 2009 @@ -36,6 +36,7 @@ gdimagecopyrotated gdtiled gdimagerectangle + gdimagesetpixel gdimagefilledrectangle gd2 gif http://cvs.php.net/viewvc.cgi/gd/libgd/tests/Makefile.am?r1=1.4&r2=1.5&diff_format=u Index: gd/libgd/tests/Makefile.am diff -u gd/libgd/tests/Makefile.am:1.4 gd/libgd/tests/Makefile.am:1.5 --- gd/libgd/tests/Makefile.am:1.4 Sun Dec 21 09:08:11 2008 +++ gd/libgd/tests/Makefile.am Tue Mar 17 17:29:28 2009 @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- AUTOMAKE_OPTIONS = foreign 1.7 -SUBDIRS = gd2 gdimagecolordeallocate gdimagecolortransparent gdimagefill gdimagefilltoborder gdtest jpeg gdimagearc gdimagecolorexact gdimagecopy gdimagefilledellipse gdimageline gdimagepixelate gdtiled freetype gdimagecolorclosest gdimagecolorreplace gdimagecolorresolve gdimagecopyrotated gdimagefilledrectangle gdimagerectangle gif png xpm +SUBDIRS = gd2 gdimagecolordeallocate gdimagecolortransparent gdimagefill gdimagefilltoborder gdtest jpeg gdimagearc gdimagecolorexact gdimagecopy gdimagefilledellipse gdimageline gdimagepixelate gdtiled freetype gdimagecolorclosest gdimagecolorreplace gdimagecolorresolve gdimagecopyrotated gdimagefilledrectangle gdimagerectangle gdimagesetpixel gif png xpm EXTRA_DIST = CMakeLists.txt http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gdimagesetpixel/CMakeLists.txt?view=markup&rev=1.1 Index: gd/libgd/tests/gdimagesetpixel/CMakeLists.txt +++ gd/libgd/tests/gdimagesetpixel/CMakeLists.txt SET(TESTS_FILES bug00186 ) FOREACH(test_name ${TESTS_FILES}) add_executable(${test_name} "${test_name}.c") target_link_libraries (${test_name} ${GDTESTS_TARGET_LINK}) get_target_property(test_path ${test_name} LOCATION) ADD_TEST(${test_name} ${test_path}) ENDFOREACH(test_name) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gdimagesetpixel/Makefile.am?view=markup&rev=1.1 Index: gd/libgd/tests/gdimagesetpixel/Makefile.am +++ gd/libgd/tests/gdimagesetpixel/Makefile.am ## Process this file with automake to produce Makefile.in -*-Makefile-*- EXTRA_DIST = CMakeLists.txt bug00186.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gdimagesetpixel/bug00186.c?view=markup&rev=1.1 Index: gd/libgd/tests/gdimagesetpixel/bug00186.c +++ gd/libgd/tests/gdimagesetpixel/bug00186.c #include "gd.h" #include "gdtest.h" int main() { gdImagePtr im; gdImagePtr tile; int red, green, blue, other; int i, r = 0; im = gdImageCreateTrueColor(100, 100); tile = gdImageCreate(10, 10); red = gdImageColorAllocate(tile, 0xFF, 0, 0); green = gdImageColorAllocate(tile, 0, 0xFF, 0); blue = gdImageColorAllocate(tile, 0, 0, 0xFF); other = gdImageColorAllocate(tile, 0, 0, 0x2); gdImageFilledRectangle(tile, 0, 0, 2, 10, red); gdImageFilledRectangle(tile, 3, 0, 4, 10, green); gdImageFilledRectangle(tile, 5, 0, 7, 10, blue); gdImageFilledRectangle(tile, 8, 0, 9, 10, other); gdImageColorTransparent(tile, blue); gdImageSetTile(im, tile); for (i=0; i<100; i++) { gdImageSetPixel(im, i, i, gdTiled); } if (gdTrueColorGetBlue(gdImageGetPixel(im, 9, 9)) != 0x2) { r = 1; } gdImageDestroy(tile); gdImageDestroy(im); return r; }

« previous php.gd.cvs (#588) next »