[arch-commits] Commit in libharu/repos (6 files)

Sergej Pupykin spupykin at nymeria.archlinux.org
Mon Apr 29 14:37:25 UTC 2013


    Date: Monday, April 29, 2013 @ 16:37:24
  Author: spupykin
Revision: 89486

archrelease: copy trunk to community-staging-i686, community-staging-x86_64

Added:
  libharu/repos/community-staging-i686/
  libharu/repos/community-staging-i686/PKGBUILD
    (from rev 89485, libharu/trunk/PKGBUILD)
  libharu/repos/community-staging-i686/libpng15.patch
    (from rev 89485, libharu/trunk/libpng15.patch)
  libharu/repos/community-staging-x86_64/
  libharu/repos/community-staging-x86_64/PKGBUILD
    (from rev 89485, libharu/trunk/PKGBUILD)
  libharu/repos/community-staging-x86_64/libpng15.patch
    (from rev 89485, libharu/trunk/libpng15.patch)

-----------------------------------------+
 community-staging-i686/PKGBUILD         |   34 +++
 community-staging-i686/libpng15.patch   |  302 ++++++++++++++++++++++++++++++
 community-staging-x86_64/PKGBUILD       |   34 +++
 community-staging-x86_64/libpng15.patch |  302 ++++++++++++++++++++++++++++++
 4 files changed, 672 insertions(+)

Copied: libharu/repos/community-staging-i686/PKGBUILD (from rev 89485, libharu/trunk/PKGBUILD)
===================================================================
--- community-staging-i686/PKGBUILD	                        (rev 0)
+++ community-staging-i686/PKGBUILD	2013-04-29 14:37:24 UTC (rev 89486)
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Maintainer : SpepS <dreamspepser at yahoo dot it>
+# Contributor: Auguste <auguste at gmail.com>
+# Contributor: Jose Negron <josenj.arch at mailnull.com>
+
+pkgname=libharu
+pkgver=2.2.1
+pkgrel=4
+pkgdesc="C/C++ library for generating PDF documents"
+url="http://libharu.org/wiki/Main_Page"
+arch=('i686' 'x86_64')
+license=('custom:ZLIB')
+depends=('libpng' 'gcc-libs')
+options=(!libtool)
+source=("http://libharu.org/files/$pkgname-$pkgver.tar.gz"
+	libpng15.patch)
+md5sums=('63da8e087744f1d6cf16f9501b1cb766'
+         '01ead345fba55e6374fe2dbf9be0db3e')
+
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
+  patch -p1 <$srcdir/libpng15.patch
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "$srcdir/$pkgname-$pkgver"
+  make DESTDIR="$pkgdir/" install
+  # license
+  install -d "$pkgdir/usr/share/licenses/$pkgname"
+  sed -n '102,120p' README > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}

Copied: libharu/repos/community-staging-i686/libpng15.patch (from rev 89485, libharu/trunk/libpng15.patch)
===================================================================
--- community-staging-i686/libpng15.patch	                        (rev 0)
+++ community-staging-i686/libpng15.patch	2013-04-29 14:37:24 UTC (rev 89486)
@@ -0,0 +1,302 @@
+diff -wbBur libharu-2.2.1/src/hpdf_image_png.c libharu-2.2.1.my/src/hpdf_image_png.c
+--- libharu-2.2.1/src/hpdf_image_png.c	2010-02-08 12:27:51.000000000 +0300
++++ libharu-2.2.1.my/src/hpdf_image_png.c	2012-01-23 12:53:05.000000000 +0400
+@@ -110,13 +110,13 @@
+ {
+     png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+     png_bytep* row_pointers = HPDF_GetMem (image->mmgr,
+-                info_ptr->height * sizeof (png_bytep));
++                png_get_image_height(png_ptr, info_ptr) * sizeof (png_bytep));
+ 
+     if (row_pointers) {
+         HPDF_UINT i;
+ 
+-        HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep));
+-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++        HPDF_MemSet (row_pointers, 0, png_get_image_height(png_ptr, info_ptr) * sizeof (png_bytep));
++        for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+             row_pointers[i] = HPDF_GetMem (image->mmgr, len);
+ 
+             if (image->error->error_no != HPDF_OK)
+@@ -126,7 +126,7 @@
+         if (image->error->error_no == HPDF_OK) {
+             png_read_image(png_ptr, row_pointers);
+             if (image->error->error_no == HPDF_OK) {       /* add this line */
+-                for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++                for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+                     if (HPDF_Stream_Write (image->stream, row_pointers[i], len) !=
+                             HPDF_OK)
+                         break;
+@@ -135,7 +135,7 @@
+         }
+ 
+         /* clean up */
+-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++        for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+             HPDF_FreeMem (image->mmgr, row_pointers[i]);
+         }
+ 
+@@ -156,7 +156,7 @@
+     if (buf_ptr) {
+         HPDF_UINT i;
+ 
+-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++        for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+             png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1);
+             if (image->error->error_no != HPDF_OK)
+                 break;
+@@ -183,13 +183,13 @@
+ 	HPDF_UINT i, j;
+ 	png_bytep *row_ptr;
+ 
+-	row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
++	row_ptr = HPDF_GetMem (image->mmgr, png_get_image_height(png_ptr, info_ptr) * sizeof(png_bytep));
+ 	if (!row_ptr) {
+ 		return HPDF_FAILD_TO_ALLOC_MEM;
+ 	} else {
+ 		png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+ 
+-		for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++		for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ 			row_ptr[i] = HPDF_GetMem(image->mmgr, len);
+ 			if (!row_ptr[i]) {
+ 				for (; i >= 0; i--) {
+@@ -207,19 +207,19 @@
+ 		goto Error;
+ 	}
+ 
+-	for (j = 0; j < info_ptr->height; j++) {
+-		for (i = 0; i < info_ptr->width; i++) {
+-			smask_data[info_ptr->width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
++	for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++		for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
++			smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
+ 		}
+ 
+-		if (HPDF_Stream_Write (image->stream, row_ptr[j], info_ptr->width) != HPDF_OK) {
++		if (HPDF_Stream_Write (image->stream, row_ptr[j], png_get_image_width(png_ptr, info_ptr)) != HPDF_OK) {
+ 			ret = HPDF_FILE_IO_ERROR;
+ 			goto Error;
+ 		}
+ 	}
+ 
+ Error:
+-	for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++	for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ 		HPDF_FreeMem (image->mmgr, row_ptr[i]);
+ 	}
+ 
+@@ -245,13 +245,13 @@
+ 		return HPDF_INVALID_PNG_IMAGE;
+ 	}
+ 
+-	row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
++	row_ptr = HPDF_GetMem (image->mmgr, png_get_image_height(png_ptr, info_ptr) * sizeof(png_bytep));
+ 	if (!row_ptr) {
+ 		return HPDF_FAILD_TO_ALLOC_MEM;
+ 	} else {
+ 		png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+ 
+-		for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++		for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ 			row_ptr[i] = HPDF_GetMem(image->mmgr, len);
+ 			if (!row_ptr[i]) {
+ 				for (; i >= 0; i--) {
+@@ -271,12 +271,12 @@
+ 
+ 	switch (color_type) {
+ 		case PNG_COLOR_TYPE_RGB_ALPHA:
+-			row_len = 3 * info_ptr->width * sizeof(png_byte);
+-			for (j = 0; j < info_ptr->height; j++) {
+-				for (i = 0; i < info_ptr->width; i++) {
++			row_len = 3 * png_get_image_width(png_ptr, info_ptr) * sizeof(png_byte);
++			for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++				for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
+ 					row = row_ptr[j];
+ 					memmove(row + (3 * i), row + (4*i), 3);
+-					smask_data[info_ptr->width * j + i] = row[4 * i + 3];
++					smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = row[4 * i + 3];
+ 				}
+ 
+ 				if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
+@@ -286,12 +286,12 @@
+ 			}
+ 			break;
+ 		case PNG_COLOR_TYPE_GRAY_ALPHA:
+-			row_len = info_ptr->width * sizeof(png_byte);
+-			for (j = 0; j < info_ptr->height; j++) {
+-				for (i = 0; i < info_ptr->width; i++) {
++			row_len = png_get_image_width(png_ptr, info_ptr) * sizeof(png_byte);
++			for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++				for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
+ 					row = row_ptr[j];
+ 					row[i] = row[2 * i];
+-					smask_data[info_ptr->width * j + i] = row[2 * i + 1];
++					smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = row[2 * i + 1];
+ 				}
+ 
+ 				if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
+@@ -306,7 +306,7 @@
+ 	}
+ 
+ Error:
+-	for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++	for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ 		HPDF_FreeMem (image->mmgr, row_ptr[i]);
+ 	}
+ 
+@@ -448,7 +448,7 @@
+ 	}
+ 
+ 	/* 16bit images are not supported. */
+-	if (info_ptr->bit_depth == 16) {
++	if (png_get_bit_depth(png_ptr, info_ptr) == 16) {
+ 		png_set_strip_16(png_ptr);
+ 	}
+ 
+@@ -458,7 +458,7 @@
+ 	}
+ 
+ 	/* check palette-based images for transparent areas and load them immediately if found */
+-	if (xref && PNG_COLOR_TYPE_PALETTE & info_ptr->color_type) {
++	if (xref && PNG_COLOR_TYPE_PALETTE & png_get_color_type(png_ptr, info_ptr)) {
+ 		png_bytep trans;
+ 		int num_trans;
+ 		HPDF_Dict smask;
+@@ -478,10 +478,10 @@
+ 		smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
+ 		ret = HPDF_Dict_AddName (smask, "Type", "XObject");
+ 		ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
+-		ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
+-		ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
++		ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
+ 		ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
+-		ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++		ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ 
+ 		if (ret != HPDF_OK) {
+ 			HPDF_Dict_Free(smask);
+@@ -489,7 +489,7 @@
+ 			goto Exit;
+ 		}
+ 
+-		smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
++		smask_data = HPDF_GetMem(image->mmgr, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr));
+ 		if (!smask_data) {
+ 			HPDF_Dict_Free(smask);
+ 			ret = HPDF_FAILD_TO_ALLOC_MEM;
+@@ -503,7 +503,7 @@
+ 			goto Exit;
+ 		}
+ 
+-		if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
++		if (HPDF_Stream_Write(smask->stream, smask_data, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr)) != HPDF_OK) {
+ 			HPDF_FreeMem(image->mmgr, smask_data);
+ 			HPDF_Dict_Free(smask);
+ 			ret = HPDF_FILE_IO_ERROR;
+@@ -513,9 +513,9 @@
+ 
+ 
+ 		ret += CreatePallet(image, png_ptr, info_ptr);
+-		ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
+-		ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
+-		ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",	(HPDF_UINT)info_ptr->bit_depth);
++		ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",	(HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ 		ret += HPDF_Dict_Add (image, "SMask", smask);
+ 
+ 		png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+@@ -526,7 +526,7 @@
+ 
+ 	/* read images with alpha channel right away 
+ 	   we have to do this because image transparent mask must be added to the Xref */
+-	if (xref && PNG_COLOR_MASK_ALPHA & info_ptr->color_type) {
++	if (xref && PNG_COLOR_MASK_ALPHA & png_get_color_type(png_ptr, info_ptr)) {
+ 		HPDF_Dict smask;
+ 		png_bytep smask_data;
+ 
+@@ -539,10 +539,10 @@
+ 		smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
+ 		ret = HPDF_Dict_AddName (smask, "Type", "XObject");
+ 		ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
+-		ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
+-		ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
++		ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
+ 		ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
+-		ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++		ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ 
+ 		if (ret != HPDF_OK) {
+ 			HPDF_Dict_Free(smask);
+@@ -550,7 +550,7 @@
+ 			goto Exit;
+ 		}
+ 
+-		smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
++		smask_data = HPDF_GetMem(image->mmgr, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr));
+ 		if (!smask_data) {
+ 			HPDF_Dict_Free(smask);
+ 			ret = HPDF_FAILD_TO_ALLOC_MEM;
+@@ -564,7 +564,7 @@
+ 			goto Exit;
+ 		}
+ 
+-		if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
++		if (HPDF_Stream_Write(smask->stream, smask_data, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr)) != HPDF_OK) {
+ 			HPDF_FreeMem(image->mmgr, smask_data);
+ 			HPDF_Dict_Free(smask);
+ 			ret = HPDF_FILE_IO_ERROR;
+@@ -572,14 +572,14 @@
+ 		}
+ 		HPDF_FreeMem(image->mmgr, smask_data);
+ 
+-		if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
++		if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) {
+ 			ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
+ 		} else {
+ 			ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
+ 		}
+-		ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
+-		ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
+-		ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",	(HPDF_UINT)info_ptr->bit_depth);
++		ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",	(HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ 		ret += HPDF_Dict_Add (image, "SMask", smask);
+ 
+ 		png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+@@ -589,9 +589,9 @@
+ 	/* if the image has color palette, copy the pallet of the image to
+ 	 * create color map.
+ 	 */
+-	if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
++	if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
+ 		ret = CreatePallet(image, png_ptr, info_ptr);
+-	else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++	else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
+ 		ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
+ 	else
+ 		ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
+@@ -617,16 +617,16 @@
+ 	}
+ 
+ 	/* setting the info of the image. */
+-	if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width)
++	if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr))
+ 			!= HPDF_OK)
+ 		goto Exit;
+ 
+-	if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height)
++	if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr))
+ 			!= HPDF_OK)
+ 		goto Exit;
+ 
+ 	if (HPDF_Dict_AddNumber (image, "BitsPerComponent",
+-				(HPDF_UINT)info_ptr->bit_depth) != HPDF_OK)
++				(HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)) != HPDF_OK)
+ 		goto Exit;
+ 
+ 	/* clean up */

Copied: libharu/repos/community-staging-x86_64/PKGBUILD (from rev 89485, libharu/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2013-04-29 14:37:24 UTC (rev 89486)
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Maintainer : SpepS <dreamspepser at yahoo dot it>
+# Contributor: Auguste <auguste at gmail.com>
+# Contributor: Jose Negron <josenj.arch at mailnull.com>
+
+pkgname=libharu
+pkgver=2.2.1
+pkgrel=4
+pkgdesc="C/C++ library for generating PDF documents"
+url="http://libharu.org/wiki/Main_Page"
+arch=('i686' 'x86_64')
+license=('custom:ZLIB')
+depends=('libpng' 'gcc-libs')
+options=(!libtool)
+source=("http://libharu.org/files/$pkgname-$pkgver.tar.gz"
+	libpng15.patch)
+md5sums=('63da8e087744f1d6cf16f9501b1cb766'
+         '01ead345fba55e6374fe2dbf9be0db3e')
+
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
+  patch -p1 <$srcdir/libpng15.patch
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "$srcdir/$pkgname-$pkgver"
+  make DESTDIR="$pkgdir/" install
+  # license
+  install -d "$pkgdir/usr/share/licenses/$pkgname"
+  sed -n '102,120p' README > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}

Copied: libharu/repos/community-staging-x86_64/libpng15.patch (from rev 89485, libharu/trunk/libpng15.patch)
===================================================================
--- community-staging-x86_64/libpng15.patch	                        (rev 0)
+++ community-staging-x86_64/libpng15.patch	2013-04-29 14:37:24 UTC (rev 89486)
@@ -0,0 +1,302 @@
+diff -wbBur libharu-2.2.1/src/hpdf_image_png.c libharu-2.2.1.my/src/hpdf_image_png.c
+--- libharu-2.2.1/src/hpdf_image_png.c	2010-02-08 12:27:51.000000000 +0300
++++ libharu-2.2.1.my/src/hpdf_image_png.c	2012-01-23 12:53:05.000000000 +0400
+@@ -110,13 +110,13 @@
+ {
+     png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+     png_bytep* row_pointers = HPDF_GetMem (image->mmgr,
+-                info_ptr->height * sizeof (png_bytep));
++                png_get_image_height(png_ptr, info_ptr) * sizeof (png_bytep));
+ 
+     if (row_pointers) {
+         HPDF_UINT i;
+ 
+-        HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep));
+-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++        HPDF_MemSet (row_pointers, 0, png_get_image_height(png_ptr, info_ptr) * sizeof (png_bytep));
++        for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+             row_pointers[i] = HPDF_GetMem (image->mmgr, len);
+ 
+             if (image->error->error_no != HPDF_OK)
+@@ -126,7 +126,7 @@
+         if (image->error->error_no == HPDF_OK) {
+             png_read_image(png_ptr, row_pointers);
+             if (image->error->error_no == HPDF_OK) {       /* add this line */
+-                for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++                for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+                     if (HPDF_Stream_Write (image->stream, row_pointers[i], len) !=
+                             HPDF_OK)
+                         break;
+@@ -135,7 +135,7 @@
+         }
+ 
+         /* clean up */
+-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++        for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+             HPDF_FreeMem (image->mmgr, row_pointers[i]);
+         }
+ 
+@@ -156,7 +156,7 @@
+     if (buf_ptr) {
+         HPDF_UINT i;
+ 
+-        for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++        for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+             png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1);
+             if (image->error->error_no != HPDF_OK)
+                 break;
+@@ -183,13 +183,13 @@
+ 	HPDF_UINT i, j;
+ 	png_bytep *row_ptr;
+ 
+-	row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
++	row_ptr = HPDF_GetMem (image->mmgr, png_get_image_height(png_ptr, info_ptr) * sizeof(png_bytep));
+ 	if (!row_ptr) {
+ 		return HPDF_FAILD_TO_ALLOC_MEM;
+ 	} else {
+ 		png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+ 
+-		for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++		for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ 			row_ptr[i] = HPDF_GetMem(image->mmgr, len);
+ 			if (!row_ptr[i]) {
+ 				for (; i >= 0; i--) {
+@@ -207,19 +207,19 @@
+ 		goto Error;
+ 	}
+ 
+-	for (j = 0; j < info_ptr->height; j++) {
+-		for (i = 0; i < info_ptr->width; i++) {
+-			smask_data[info_ptr->width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
++	for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++		for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
++			smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
+ 		}
+ 
+-		if (HPDF_Stream_Write (image->stream, row_ptr[j], info_ptr->width) != HPDF_OK) {
++		if (HPDF_Stream_Write (image->stream, row_ptr[j], png_get_image_width(png_ptr, info_ptr)) != HPDF_OK) {
+ 			ret = HPDF_FILE_IO_ERROR;
+ 			goto Error;
+ 		}
+ 	}
+ 
+ Error:
+-	for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++	for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ 		HPDF_FreeMem (image->mmgr, row_ptr[i]);
+ 	}
+ 
+@@ -245,13 +245,13 @@
+ 		return HPDF_INVALID_PNG_IMAGE;
+ 	}
+ 
+-	row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
++	row_ptr = HPDF_GetMem (image->mmgr, png_get_image_height(png_ptr, info_ptr) * sizeof(png_bytep));
+ 	if (!row_ptr) {
+ 		return HPDF_FAILD_TO_ALLOC_MEM;
+ 	} else {
+ 		png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+ 
+-		for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++		for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ 			row_ptr[i] = HPDF_GetMem(image->mmgr, len);
+ 			if (!row_ptr[i]) {
+ 				for (; i >= 0; i--) {
+@@ -271,12 +271,12 @@
+ 
+ 	switch (color_type) {
+ 		case PNG_COLOR_TYPE_RGB_ALPHA:
+-			row_len = 3 * info_ptr->width * sizeof(png_byte);
+-			for (j = 0; j < info_ptr->height; j++) {
+-				for (i = 0; i < info_ptr->width; i++) {
++			row_len = 3 * png_get_image_width(png_ptr, info_ptr) * sizeof(png_byte);
++			for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++				for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
+ 					row = row_ptr[j];
+ 					memmove(row + (3 * i), row + (4*i), 3);
+-					smask_data[info_ptr->width * j + i] = row[4 * i + 3];
++					smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = row[4 * i + 3];
+ 				}
+ 
+ 				if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
+@@ -286,12 +286,12 @@
+ 			}
+ 			break;
+ 		case PNG_COLOR_TYPE_GRAY_ALPHA:
+-			row_len = info_ptr->width * sizeof(png_byte);
+-			for (j = 0; j < info_ptr->height; j++) {
+-				for (i = 0; i < info_ptr->width; i++) {
++			row_len = png_get_image_width(png_ptr, info_ptr) * sizeof(png_byte);
++			for (j = 0; j < png_get_image_height(png_ptr, info_ptr); j++) {
++				for (i = 0; i < png_get_image_width(png_ptr, info_ptr); i++) {
+ 					row = row_ptr[j];
+ 					row[i] = row[2 * i];
+-					smask_data[info_ptr->width * j + i] = row[2 * i + 1];
++					smask_data[png_get_image_width(png_ptr, info_ptr) * j + i] = row[2 * i + 1];
+ 				}
+ 
+ 				if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
+@@ -306,7 +306,7 @@
+ 	}
+ 
+ Error:
+-	for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++	for (i = 0; i < (HPDF_UINT)png_get_image_height(png_ptr, info_ptr); i++) {
+ 		HPDF_FreeMem (image->mmgr, row_ptr[i]);
+ 	}
+ 
+@@ -448,7 +448,7 @@
+ 	}
+ 
+ 	/* 16bit images are not supported. */
+-	if (info_ptr->bit_depth == 16) {
++	if (png_get_bit_depth(png_ptr, info_ptr) == 16) {
+ 		png_set_strip_16(png_ptr);
+ 	}
+ 
+@@ -458,7 +458,7 @@
+ 	}
+ 
+ 	/* check palette-based images for transparent areas and load them immediately if found */
+-	if (xref && PNG_COLOR_TYPE_PALETTE & info_ptr->color_type) {
++	if (xref && PNG_COLOR_TYPE_PALETTE & png_get_color_type(png_ptr, info_ptr)) {
+ 		png_bytep trans;
+ 		int num_trans;
+ 		HPDF_Dict smask;
+@@ -478,10 +478,10 @@
+ 		smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
+ 		ret = HPDF_Dict_AddName (smask, "Type", "XObject");
+ 		ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
+-		ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
+-		ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
++		ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
+ 		ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
+-		ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++		ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ 
+ 		if (ret != HPDF_OK) {
+ 			HPDF_Dict_Free(smask);
+@@ -489,7 +489,7 @@
+ 			goto Exit;
+ 		}
+ 
+-		smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
++		smask_data = HPDF_GetMem(image->mmgr, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr));
+ 		if (!smask_data) {
+ 			HPDF_Dict_Free(smask);
+ 			ret = HPDF_FAILD_TO_ALLOC_MEM;
+@@ -503,7 +503,7 @@
+ 			goto Exit;
+ 		}
+ 
+-		if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
++		if (HPDF_Stream_Write(smask->stream, smask_data, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr)) != HPDF_OK) {
+ 			HPDF_FreeMem(image->mmgr, smask_data);
+ 			HPDF_Dict_Free(smask);
+ 			ret = HPDF_FILE_IO_ERROR;
+@@ -513,9 +513,9 @@
+ 
+ 
+ 		ret += CreatePallet(image, png_ptr, info_ptr);
+-		ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
+-		ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
+-		ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",	(HPDF_UINT)info_ptr->bit_depth);
++		ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",	(HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ 		ret += HPDF_Dict_Add (image, "SMask", smask);
+ 
+ 		png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+@@ -526,7 +526,7 @@
+ 
+ 	/* read images with alpha channel right away 
+ 	   we have to do this because image transparent mask must be added to the Xref */
+-	if (xref && PNG_COLOR_MASK_ALPHA & info_ptr->color_type) {
++	if (xref && PNG_COLOR_MASK_ALPHA & png_get_color_type(png_ptr, info_ptr)) {
+ 		HPDF_Dict smask;
+ 		png_bytep smask_data;
+ 
+@@ -539,10 +539,10 @@
+ 		smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
+ 		ret = HPDF_Dict_AddName (smask, "Type", "XObject");
+ 		ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
+-		ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
+-		ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
++		ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
+ 		ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
+-		ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++		ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ 
+ 		if (ret != HPDF_OK) {
+ 			HPDF_Dict_Free(smask);
+@@ -550,7 +550,7 @@
+ 			goto Exit;
+ 		}
+ 
+-		smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
++		smask_data = HPDF_GetMem(image->mmgr, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr));
+ 		if (!smask_data) {
+ 			HPDF_Dict_Free(smask);
+ 			ret = HPDF_FAILD_TO_ALLOC_MEM;
+@@ -564,7 +564,7 @@
+ 			goto Exit;
+ 		}
+ 
+-		if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
++		if (HPDF_Stream_Write(smask->stream, smask_data, png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr)) != HPDF_OK) {
+ 			HPDF_FreeMem(image->mmgr, smask_data);
+ 			HPDF_Dict_Free(smask);
+ 			ret = HPDF_FILE_IO_ERROR;
+@@ -572,14 +572,14 @@
+ 		}
+ 		HPDF_FreeMem(image->mmgr, smask_data);
+ 
+-		if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
++		if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) {
+ 			ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
+ 		} else {
+ 			ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
+ 		}
+-		ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
+-		ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
+-		ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",	(HPDF_UINT)info_ptr->bit_depth);
++		ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr));
++		ret += HPDF_Dict_AddNumber (image, "BitsPerComponent",	(HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ 		ret += HPDF_Dict_Add (image, "SMask", smask);
+ 
+ 		png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+@@ -589,9 +589,9 @@
+ 	/* if the image has color palette, copy the pallet of the image to
+ 	 * create color map.
+ 	 */
+-	if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
++	if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
+ 		ret = CreatePallet(image, png_ptr, info_ptr);
+-	else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++	else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
+ 		ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
+ 	else
+ 		ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
+@@ -617,16 +617,16 @@
+ 	}
+ 
+ 	/* setting the info of the image. */
+-	if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width)
++	if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_get_image_width(png_ptr, info_ptr))
+ 			!= HPDF_OK)
+ 		goto Exit;
+ 
+-	if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height)
++	if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_get_image_height(png_ptr, info_ptr))
+ 			!= HPDF_OK)
+ 		goto Exit;
+ 
+ 	if (HPDF_Dict_AddNumber (image, "BitsPerComponent",
+-				(HPDF_UINT)info_ptr->bit_depth) != HPDF_OK)
++				(HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)) != HPDF_OK)
+ 		goto Exit;
+ 
+ 	/* clean up */




More information about the arch-commits mailing list