annotate src/libharu-1-fixes.patch @ 3725:2acaa9943159

qscintilla: update 2.8.4 * src/qscintilla.mk: update to version and checksum for 2.8.4
author John Donoghue
date Mon, 20 Oct 2014 11:01:00 -0400
parents 99516e73b368
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2333
f653602a0500 Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents: 2281
diff changeset
1 # This file is part of MXE.
2353
99516e73b368 Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents: 2333
diff changeset
2 # See index.html for further information.
2235
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
3
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
4 From 531d2a9af8c51ad8badc32bc9ba43bb3b87b0e9f Mon Sep 17 00:00:00 2001
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
5 From: Antony Dovgal <tony@daylessday.org>
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
6 Date: Mon, 10 Jan 2011 01:22:14 +0300
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
7 Subject: [PATCH] fix build with libpng 1.5.0 (reported by Tamas Tevesz)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
8 (cherry picked from commit
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
9 e5bf8b01f6c3d5e3fe0e26ac5345e0da10c03934)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
10
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
11 Conflicts:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
12
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
13 CHANGES
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
14 ---
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
15 src/hpdf_image_png.c | 109 +++++++++++++++++++++++++++-----------------------
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
16 1 files changed, 59 insertions(+), 50 deletions(-)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
17
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
18 diff --git a/src/hpdf_image_png.c b/src/hpdf_image_png.c
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
19 index b8f831e..6057424 100644
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
20 --- a/src/hpdf_image_png.c
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
21 +++ b/src/hpdf_image_png.c
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
22 @@ -109,14 +109,15 @@ ReadPngData_Interlaced (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
23 png_infop info_ptr)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
24 {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
25 png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
26 + png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
27 png_bytep* row_pointers = HPDF_GetMem (image->mmgr,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
28 - info_ptr->height * sizeof (png_bytep));
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
29 + height * sizeof (png_bytep));
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
30
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
31 if (row_pointers) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
32 HPDF_UINT i;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
33
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
34 - HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep));
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
35 - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
36 + HPDF_MemSet (row_pointers, 0, height * sizeof (png_bytep));
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
37 + for (i = 0; i < (HPDF_UINT)height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
38 row_pointers[i] = HPDF_GetMem (image->mmgr, len);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
39
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
40 if (image->error->error_no != HPDF_OK)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
41 @@ -126,7 +127,7 @@ ReadPngData_Interlaced (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
42 if (image->error->error_no == HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
43 png_read_image(png_ptr, row_pointers);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
44 if (image->error->error_no == HPDF_OK) { /* add this line */
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
45 - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
46 + for (i = 0; i < (HPDF_UINT)height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
47 if (HPDF_Stream_Write (image->stream, row_pointers[i], len) !=
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
48 HPDF_OK)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
49 break;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
50 @@ -135,7 +136,7 @@ ReadPngData_Interlaced (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
51 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
52
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
53 /* clean up */
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
54 - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
55 + for (i = 0; i < (HPDF_UINT)height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
56 HPDF_FreeMem (image->mmgr, row_pointers[i]);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
57 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
58
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
59 @@ -151,12 +152,13 @@ ReadPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
60 png_infop info_ptr)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
61 {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
62 png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
63 + png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
64 png_bytep buf_ptr = HPDF_GetMem (image->mmgr, len);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
65
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
66 if (buf_ptr) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
67 HPDF_UINT i;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
68
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
69 - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
70 + for (i = 0; i < (HPDF_UINT)height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
71 png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
72 if (image->error->error_no != HPDF_OK)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
73 break;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
74 @@ -182,14 +184,16 @@ ReadTransparentPaletteData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
75 HPDF_STATUS ret = HPDF_OK;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
76 HPDF_UINT i, j;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
77 png_bytep *row_ptr;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
78 + png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
79 + png_uint_32 width = png_get_image_width(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
80
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
81 - row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
82 + row_ptr = HPDF_GetMem (image->mmgr, height * sizeof(png_bytep));
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
83 if (!row_ptr) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
84 return HPDF_FAILD_TO_ALLOC_MEM;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
85 } else {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
86 png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
87
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
88 - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
89 + for (i = 0; i < (HPDF_UINT)height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
90 row_ptr[i] = HPDF_GetMem(image->mmgr, len);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
91 if (!row_ptr[i]) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
92 for (; i >= 0; i--) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
93 @@ -207,19 +211,19 @@ ReadTransparentPaletteData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
94 goto Error;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
95 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
96
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
97 - for (j = 0; j < info_ptr->height; j++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
98 - for (i = 0; i < info_ptr->width; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
99 - smask_data[info_ptr->width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
100 + for (j = 0; j < height; j++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
101 + for (i = 0; i < width; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
102 + smask_data[width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
103 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
104
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
105 - if (HPDF_Stream_Write (image->stream, row_ptr[j], info_ptr->width) != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
106 + if (HPDF_Stream_Write (image->stream, row_ptr[j], width) != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
107 ret = HPDF_FILE_IO_ERROR;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
108 goto Error;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
109 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
110 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
111
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
112 Error:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
113 - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
114 + for (i = 0; i < (HPDF_UINT)height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
115 HPDF_FreeMem (image->mmgr, row_ptr[i]);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
116 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
117
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
118 @@ -238,6 +242,8 @@ ReadTransparentPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
119 HPDF_UINT i, j;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
120 png_bytep *row_ptr, row;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
121 png_byte color_type;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
122 + png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
123 + png_uint_32 width = png_get_image_width(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
124
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
125 color_type = png_get_color_type(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
126
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
127 @@ -245,13 +251,13 @@ ReadTransparentPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
128 return HPDF_INVALID_PNG_IMAGE;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
129 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
130
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
131 - row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
132 + row_ptr = HPDF_GetMem (image->mmgr, height * sizeof(png_bytep));
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
133 if (!row_ptr) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
134 return HPDF_FAILD_TO_ALLOC_MEM;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
135 } else {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
136 png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
137
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
138 - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
139 + for (i = 0; i < (HPDF_UINT)height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
140 row_ptr[i] = HPDF_GetMem(image->mmgr, len);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
141 if (!row_ptr[i]) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
142 for (; i >= 0; i--) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
143 @@ -271,12 +277,12 @@ ReadTransparentPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
144
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
145 switch (color_type) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
146 case PNG_COLOR_TYPE_RGB_ALPHA:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
147 - row_len = 3 * info_ptr->width * sizeof(png_byte);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
148 - for (j = 0; j < info_ptr->height; j++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
149 - for (i = 0; i < info_ptr->width; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
150 + row_len = 3 * width * sizeof(png_byte);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
151 + for (j = 0; j < height; j++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
152 + for (i = 0; i < width; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
153 row = row_ptr[j];
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
154 memmove(row + (3 * i), row + (4*i), 3);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
155 - smask_data[info_ptr->width * j + i] = row[4 * i + 3];
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
156 + smask_data[width * j + i] = row[4 * i + 3];
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
157 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
158
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
159 if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
160 @@ -286,12 +292,12 @@ ReadTransparentPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
161 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
162 break;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
163 case PNG_COLOR_TYPE_GRAY_ALPHA:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
164 - row_len = info_ptr->width * sizeof(png_byte);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
165 - for (j = 0; j < info_ptr->height; j++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
166 - for (i = 0; i < info_ptr->width; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
167 + row_len = width * sizeof(png_byte);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
168 + for (j = 0; j < height; j++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
169 + for (i = 0; i < width; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
170 row = row_ptr[j];
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
171 row[i] = row[2 * i];
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
172 - smask_data[info_ptr->width * j + i] = row[2 * i + 1];
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
173 + smask_data[width * j + i] = row[2 * i + 1];
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
174 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
175
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
176 if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
177 @@ -306,7 +312,7 @@ ReadTransparentPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
178 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
179
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
180 Error:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
181 - for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
182 + for (i = 0; i < (HPDF_UINT)height; i++) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
183 HPDF_FreeMem (image->mmgr, row_ptr[i]);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
184 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
185
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
186 @@ -415,7 +421,8 @@ LoadPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
187
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
188 {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
189 HPDF_STATUS ret = HPDF_OK;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
190 -
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
191 + png_uint_32 width, height;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
192 + int bit_depth, color_type;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
193 png_structp png_ptr = NULL;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
194 png_infop info_ptr = NULL;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
195
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
196 @@ -447,8 +454,10 @@ LoadPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
197 goto Exit;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
198 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
199
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
200 + png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, NULL, NULL, NULL);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
201 +
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
202 /* 16bit images are not supported. */
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
203 - if (info_ptr->bit_depth == 16) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
204 + if (bit_depth == 16) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
205 png_set_strip_16(png_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
206 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
207
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
208 @@ -458,7 +467,7 @@ LoadPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
209 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
210
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
211 /* check palette-based images for transparent areas and load them immediately if found */
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
212 - if (xref && PNG_COLOR_TYPE_PALETTE & info_ptr->color_type) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
213 + if (xref && PNG_COLOR_TYPE_PALETTE & color_type) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
214 png_bytep trans;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
215 int num_trans;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
216 HPDF_Dict smask;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
217 @@ -478,10 +487,10 @@ LoadPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
218 smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
219 ret = HPDF_Dict_AddName (smask, "Type", "XObject");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
220 ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
221 - ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
222 - ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
223 + ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)width);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
224 + ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
225 ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
226 - ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
227 + ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)bit_depth);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
228
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
229 if (ret != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
230 HPDF_Dict_Free(smask);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
231 @@ -489,7 +498,7 @@ LoadPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
232 goto Exit;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
233 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
234
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
235 - smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
236 + smask_data = HPDF_GetMem(image->mmgr, width * height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
237 if (!smask_data) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
238 HPDF_Dict_Free(smask);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
239 ret = HPDF_FAILD_TO_ALLOC_MEM;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
240 @@ -503,7 +512,7 @@ LoadPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
241 goto Exit;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
242 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
243
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
244 - if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
245 + if (HPDF_Stream_Write(smask->stream, smask_data, width * height) != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
246 HPDF_FreeMem(image->mmgr, smask_data);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
247 HPDF_Dict_Free(smask);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
248 ret = HPDF_FILE_IO_ERROR;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
249 @@ -513,9 +522,9 @@ LoadPngData (HPDF_Dict image,
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
250
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
251
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
252 ret += CreatePallet(image, png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
253 - ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
254 - ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
255 - ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
256 + ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
257 + ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
258 + ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)bit_depth);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
259 ret += HPDF_Dict_Add (image, "SMask", smask);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
260
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
261 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
262 @@ -526,7 +535,7 @@ no_transparent_color_in_palette:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
263
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
264 /* read images with alpha channel right away
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
265 we have to do this because image transparent mask must be added to the Xref */
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
266 - if (xref && PNG_COLOR_MASK_ALPHA & info_ptr->color_type) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
267 + if (xref && PNG_COLOR_MASK_ALPHA & color_type) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
268 HPDF_Dict smask;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
269 png_bytep smask_data;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
270
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
271 @@ -539,10 +548,10 @@ no_transparent_color_in_palette:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
272 smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
273 ret = HPDF_Dict_AddName (smask, "Type", "XObject");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
274 ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
275 - ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
276 - ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
277 + ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)width);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
278 + ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
279 ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
280 - ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
281 + ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)bit_depth);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
282
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
283 if (ret != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
284 HPDF_Dict_Free(smask);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
285 @@ -550,7 +559,7 @@ no_transparent_color_in_palette:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
286 goto Exit;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
287 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
288
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
289 - smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
290 + smask_data = HPDF_GetMem(image->mmgr, width * height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
291 if (!smask_data) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
292 HPDF_Dict_Free(smask);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
293 ret = HPDF_FAILD_TO_ALLOC_MEM;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
294 @@ -564,7 +573,7 @@ no_transparent_color_in_palette:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
295 goto Exit;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
296 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
297
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
298 - if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
299 + if (HPDF_Stream_Write(smask->stream, smask_data, width * height) != HPDF_OK) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
300 HPDF_FreeMem(image->mmgr, smask_data);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
301 HPDF_Dict_Free(smask);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
302 ret = HPDF_FILE_IO_ERROR;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
303 @@ -572,14 +581,14 @@ no_transparent_color_in_palette:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
304 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
305 HPDF_FreeMem(image->mmgr, smask_data);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
306
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
307 - if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
308 + if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
309 ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
310 } else {
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
311 ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
312 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
313 - ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
314 - ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
315 - ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
316 + ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
317 + ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
318 + ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)bit_depth);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
319 ret += HPDF_Dict_Add (image, "SMask", smask);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
320
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
321 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
322 @@ -589,9 +598,9 @@ no_transparent_color_in_palette:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
323 /* if the image has color palette, copy the pallet of the image to
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
324 * create color map.
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
325 */
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
326 - if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
327 + if (color_type == PNG_COLOR_TYPE_PALETTE)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
328 ret = CreatePallet(image, png_ptr, info_ptr);
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
329 - else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
330 + else if (color_type == PNG_COLOR_TYPE_GRAY)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
331 ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
332 else
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
333 ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
334 @@ -617,16 +626,16 @@ no_transparent_color_in_palette:
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
335 }
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
336
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
337 /* setting the info of the image. */
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
338 - if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
339 + if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
340 != HPDF_OK)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
341 goto Exit;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
342
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
343 - if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
344 + if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
345 != HPDF_OK)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
346 goto Exit;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
347
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
348 if (HPDF_Dict_AddNumber (image, "BitsPerComponent",
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
349 - (HPDF_UINT)info_ptr->bit_depth) != HPDF_OK)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
350 + (HPDF_UINT)bit_depth) != HPDF_OK)
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
351 goto Exit;
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
352
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
353 /* clean up */
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
354 --
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
355 1.7.8.3
29d81342a180 package libharu: libpng 1.5 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
diff changeset
356
2281
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
357 Wt requires the following patch for libHaru to render arcs correctly.
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
358 This patch has been tested against libhar 2.1.0 and 2.2.0.
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
359 (see http://redmine.webtoolkit.eu/projects/wt/wiki/LibHaru)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
360
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
361 diff -ur a/src/hpdf_page_operator.c b/src/hpdf_page_operator.c
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
362 --- a/src/hpdf_page_operator.c 2010-02-01 07:26:13.000000000 -0300
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
363 +++ b/src/hpdf_page_operator.c 2012-03-10 18:12:41.347028623 -0300
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
364 @@ -2192,7 +2192,7 @@
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
365
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
366 HPDF_PTRACE ((" HPDF_Page_Arc\n"));
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
367
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
368 - if (ang1 >= ang2 || (ang2 - ang1) >= 360)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
369 + if (fabs(ang2 - ang1) >= 360)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
370 HPDF_RaiseError (page->error, HPDF_PAGE_OUT_OF_RANGE, 0);
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
371
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
372 if (ret != HPDF_OK)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
373 @@ -2205,10 +2205,10 @@
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
374
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
375
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
376 for (;;) {
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
377 - if (ang2 - ang1 <= 90)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
378 + if (fabs(ang2 - ang1) <= 90)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
379 return InternalArc (page, x, y, ray, ang1, ang2, cont_flg);
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
380 else {
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
381 - HPDF_REAL tmp_ang = ang1 + 90;
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
382 + HPDF_REAL tmp_ang = (ang2 > ang1 ? ang1 + 90 : ang1 - 90);
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
383
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
384 if ((ret = InternalArc (page, x, y, ray, ang1, tmp_ang, cont_flg))
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
385 != HPDF_OK)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
386 @@ -2217,7 +2217,7 @@
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
387 ang1 = tmp_ang;
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
388 }
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
389
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
390 - if (ang1 >= ang2)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
391 + if (fabs(ang1 - ang2) < 0.1)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
392 break;
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
393
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
394 cont_flg = HPDF_TRUE;
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
395 @@ -2280,7 +2280,11 @@
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
396 pbuf = HPDF_FToA (pbuf, (HPDF_REAL)x0, eptr);
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
397 *pbuf++ = ' ';
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
398 pbuf = HPDF_FToA (pbuf, (HPDF_REAL)y0, eptr);
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
399 - pbuf = (char *)HPDF_StrCpy (pbuf, " m\012", eptr);
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
400 +
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
401 + if (attr->gmode == HPDF_GMODE_PATH_OBJECT)
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
402 + pbuf = (char *)HPDF_StrCpy (pbuf, " l\012", eptr);
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
403 + else
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
404 + pbuf = (char *)HPDF_StrCpy (pbuf, " m\012", eptr);
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
405 }
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
406
158396fb40ff Some fixes in wt library:
Luis Saavedra <luis94855510@gmail.com>
parents: 2235
diff changeset
407 pbuf = HPDF_FToA (pbuf, (HPDF_REAL)x1, eptr);