summaryrefslogtreecommitdiff
path: root/community/qpxtool/libpng15.patch
blob: 05e6f49d27d3f0eb5f401fa67fb31fff764eef27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
diff -wbBur qpxtool-0.7.1_002/console/f1tattoo/f1tattoo.cpp qpxtool-0.7.1_002.my/console/f1tattoo/f1tattoo.cpp
--- qpxtool-0.7.1_002/console/f1tattoo/f1tattoo.cpp	2009-11-25 10:55:44.000000000 +0300
+++ qpxtool-0.7.1_002.my/console/f1tattoo/f1tattoo.cpp	2012-01-23 13:53:37.000000000 +0400
@@ -129,28 +129,28 @@
 
 	png_read_info(png_ptr, info_ptr);
 
-	printf("Image size: %ld x %ld\n", info_ptr->width, info_ptr->height);
+	printf("Image size: %u x %u\n", png_get_image_width(png_ptr, info_ptr), png_get_image_height(png_ptr, info_ptr));
 
-	if (info_ptr->width != 3744U || info_ptr->height != rows ) {
+	if (png_get_image_width(png_ptr, info_ptr) != 3744U || png_get_image_height(png_ptr, info_ptr) != rows ) {
 		printf("Image should be 3744 x %d", rows);
 		return 1;
 	}
 
-//	width = info_ptr->width;
-//	height = info_ptr->height;
-//	bit_depth = info_ptr->bit_depth;
+//	width = png_get_image_width(png_ptr, info_ptr);
+//	height = png_get_image_height(png_ptr, info_ptr);
+//	bit_depth = png_get_bit_depth(png_ptr, info_ptr);
 
 	number_of_passes = png_set_interlace_handling(png_ptr);
 	png_read_update_info(png_ptr, info_ptr);
 
-	printf("Color type: [%d] ", info_ptr->color_type);
-	switch (info_ptr->color_type) {
+	printf("Color type: [%d] ", png_get_color_type(png_ptr, info_ptr));
+	switch (png_get_color_type(png_ptr, info_ptr)) {
 	    case PNG_COLOR_TYPE_GRAY:
 			printf("PNG_COLOR_TYPE_GRAY\n");
 			break;
 	    case PNG_COLOR_TYPE_PALETTE:
 			printf("PNG_COLOR_TYPE_PALETTE\n");
-			if (!(info_ptr->valid & PNG_INFO_PLTE)) {
+			if (!(png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE))) {
 				printf("PNG color type is indexed, but no palette found!");
 				goto err_read_png;
 			}
@@ -168,49 +168,53 @@
 			printf("unlnown PNG color type!\n");
 			goto err_read_png;
 	}
-	printf("Bit depth : %d\n", info_ptr->bit_depth);
-	if (info_ptr->bit_depth != 8) {
+	printf("Bit depth : %d\n", png_get_bit_depth(png_ptr, info_ptr));
+	if (png_get_bit_depth(png_ptr, info_ptr) != 8) {
 		printf("Unsupported bit depth!\n");
 		goto err_read_png;
 	}
-	if (info_ptr->valid & PNG_INFO_PLTE) {
-		printf("Palette   : %d colors\n", info_ptr->num_palette);
+
+	int num_palette;
+	png_colorp plte;
+	png_get_PLTE(png_ptr, info_ptr, &plte, &num_palette);
+
+	if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) {
+		printf("Palette   : %d colors\n", num_palette);
 	} else {
 		printf("Palette   : NO\n");
 	}
-	printf("ROW bytes : %ld\n", info_ptr->rowbytes);
-
+	printf("ROW bytes : %d\n", png_get_rowbytes(png_ptr, info_ptr));
 
 	raw_row_pointer = buf;
-	png_row_pointer = (png_byte*) malloc(info_ptr->rowbytes);
+	png_row_pointer = (png_byte*) malloc(png_get_rowbytes(png_ptr, info_ptr));
 	for (row=0; row<rows; row++) {
 		if (setjmp(png_jmpbuf(png_ptr))) {
 			printf("png_jmpbuf failed!\n");
 			goto err_read_png;
 		}
 		png_read_row(png_ptr, png_row_pointer, NULL);
-		if (info_ptr->width < 3744U)
+		if (png_get_image_width(png_ptr, info_ptr) < 3744U)
 			memset(raw_row_pointer, 0, 3744);
 
-		switch (info_ptr->color_type) {
+		switch (png_get_color_type(png_ptr, info_ptr)) {
 		    case PNG_COLOR_TYPE_GRAY:
-				for (col=0; col<info_ptr->width; col++) {
+				for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
 					raw_row_pointer[col] = png_row_pointer[col] ^ 0xFF;
 //					memcpy(raw_row_pointer, png_row_pointer, 3744);
 				}
 				break;
 		    case PNG_COLOR_TYPE_PALETTE:
-				for (col=0; col<info_ptr->width; col++) {
+				for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
 					c = png_row_pointer[col];
-					r = info_ptr->palette[c].red;
-					g = info_ptr->palette[c].green;
-					b = info_ptr->palette[c].blue;
+					r = plte[c].red;
+					g = plte[c].green;
+					b = plte[c].blue;
 					c = (r*11 + g*16 + b*5) / 32;
 					raw_row_pointer[col] = c ^ 0xFF;
 				}
 				break;
 		    case PNG_COLOR_TYPE_RGB:
-				for (col=0; col<info_ptr->width; col++) {
+				for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
 					r = png_row_pointer[col*3];
 					g = png_row_pointer[col*3+1];
 					b = png_row_pointer[col*3+2];
@@ -219,7 +223,7 @@
 				}
 				break;
 		    case PNG_COLOR_TYPE_RGB_ALPHA:
-				for (col=0; col<info_ptr->width; col++) {
+				for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
 					r = png_row_pointer[col*4];
 					g = png_row_pointer[col*4+1];
 					b = png_row_pointer[col*4+2];
@@ -228,7 +232,7 @@
 				}
 				break;
 		    case PNG_COLOR_TYPE_GRAY_ALPHA:
-				for (col=0; col<info_ptr->width; col++) {
+				for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
 					raw_row_pointer[col] = png_row_pointer[col*2] ^ 0xFF;
 				}
 				break;