summaryrefslogblamecommitdiffstats
path: root/source/t/tetex/tetex.png16.diff
blob: f2465233d613a6e241abb0c4e62e571a882bf623 (plain) (tree)






































































































































































                                                                                                                          
--- ./texk/web2c/pdftexdir/writeimg.c.orig	2015-03-23 13:18:35.471056383 -0500
+++ ./texk/web2c/pdftexdir/writeimg.c	2015-03-23 13:30:32.157115740 -0500
@@ -126,7 +126,7 @@
 {
     switch (img_type(img)) {
     case IMAGE_TYPE_PNG:
-        return png_info(img)->bit_depth;
+        return png_get_bit_depth(png_ptr(img), png_info(img));
     case IMAGE_TYPE_JPG:
         return jpg_ptr(img)->bits_per_component;
     case IMAGE_TYPE_PDF:
@@ -346,7 +346,7 @@
         epdf_delete();
         break;
     case IMAGE_TYPE_PNG:
-        xfclose(png_ptr(img)->io_ptr, cur_file_name);
+        xfclose(png_get_io_ptr(png_ptr(img)), cur_file_name);
         png_destroy_read_struct(&(png_ptr(img)), &(png_info(img)), NULL);
         break;
     case IMAGE_TYPE_JPG:
--- ./texk/web2c/pdftexdir/writepng.c.orig	2015-03-23 13:18:35.471056383 -0500
+++ ./texk/web2c/pdftexdir/writepng.c	2015-03-23 13:27:58.053102977 -0500
@@ -34,24 +34,24 @@
         pdftex_fail("libpng: png_create_read_struct() failed");
     if ((png_info(img) = png_create_info_struct(png_ptr(img))) == NULL)
         pdftex_fail("libpng: png_create_info_struct() failed");
-    if (setjmp(png_ptr(img)->jmpbuf))
+    if (setjmp(png_jmpbuf(png_ptr(img))))
         pdftex_fail("libpng: internal error");
     png_init_io(png_ptr(img), png_file);
     png_read_info(png_ptr(img), png_info(img));
-    if (png_info(img)->color_type & PNG_COLOR_MASK_ALPHA)
+    if (png_get_color_type(png_ptr(img), png_info(img)) & PNG_COLOR_MASK_ALPHA)
         png_set_strip_alpha(png_ptr(img));
-    if (png_info(img)->bit_depth == 16)
+    if (png_get_bit_depth(png_ptr(img), png_info(img)) == 16)
         png_set_strip_16(png_ptr(img));
     png_read_update_info(png_ptr(img), png_info(img));
-    img_width(img) =  png_info(img)->width;
-    img_height(img) =  png_info(img)->height;
-    if (png_info(img)->valid & PNG_INFO_pHYs) {
+    img_width(img) =  png_get_image_width(png_ptr(img), png_info(img));
+    img_height(img) =  png_get_image_height(png_ptr(img), png_info(img));
+    if (png_get_valid(png_ptr(img), png_info(img), PNG_INFO_pHYs)) {
         img_xres(img) = 
             round(0.0254*png_get_x_pixels_per_meter(png_ptr(img), png_info(img)));
         img_yres(img) =
             round(0.0254*png_get_y_pixels_per_meter(png_ptr(img), png_info(img)));
     }
-    switch (png_info(img)->color_type) {
+    switch (png_get_color_type(png_ptr(img), png_info(img))) {
     case PNG_COLOR_TYPE_PALETTE:
         img_color(img) = IMAGE_COLOR_C | IMAGE_COLOR_I;
         break;
@@ -64,7 +64,7 @@
         img_color(img) = IMAGE_COLOR_C;
         break;
     default:
-        pdftex_fail("unsupported type of color_type <%i>", png_info(img)->color_type);
+        pdftex_fail("unsupported type of color_type <%i>", png_get_color_type(png_ptr(img), png_info(img)));
     }
 }
 
@@ -73,23 +73,26 @@
     int i, j, k, l;
     integer palette_objnum = 0;
     png_bytep row, r, *rows;
+    png_colorp png_palette;
+    int num_palette;
+    png_get_PLTE(png_ptr(img), png_info(img), &png_palette, &num_palette);
     pdf_puts("/Type /XObject\n/Subtype /Image\n");
     pdf_printf("/Width %i\n/Height %i\n/BitsPerComponent %i\n",
-               (int)png_info(img)->width,
-               (int)png_info(img)->height,
-               (int)png_info(img)->bit_depth);
+               (int)png_get_image_width(png_ptr(img), png_info(img)),
+               (int)png_get_image_height(png_ptr(img), png_info(img)),
+               (int)png_get_bit_depth(png_ptr(img), png_info(img)));
     pdf_puts("/ColorSpace ");
     if (img_colorspace_ref(img) != 0) {
         pdf_printf("%i 0 R\n", (int)img_colorspace_ref(img));
     }
     else {
-        switch (png_info(img)->color_type) {
+        switch (png_get_color_type(png_ptr(img), png_info(img))) {
             case PNG_COLOR_TYPE_PALETTE:
                 pdfcreateobj(0, 0);
                 palette_objnum = objptr;
                 pdf_printf("[/Indexed /DeviceRGB %i %i 0 R]\n",
-                        (int)(png_info(img)->num_palette - 1),
-                        (int)palette_objnum);
+                        num_palette - 1),
+                        (int)palette_objnum;
                 break;
             case PNG_COLOR_TYPE_GRAY:
             case PNG_COLOR_TYPE_GRAY_ALPHA:
@@ -100,20 +103,20 @@
                 pdf_puts("/DeviceRGB\n");
                 break;
             default:
-                pdftex_fail("unsupported type of color_type <%i>", png_info(img)->color_type);
+                pdftex_fail("unsupported type of color_type <%i>", png_get_color_type(png_ptr(img), png_info(img)));
         }
     }
     pdfbeginstream();
-    if (png_info(img)->interlace_type == PNG_INTERLACE_NONE) {
-        row = xtalloc(png_info(img)->rowbytes, png_byte);
-        for (i = 0; i < (int)png_info(img)->height; i++) {
+    if (png_get_interlace_type(png_ptr(img), png_info(img)) == PNG_INTERLACE_NONE) {
+        row = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+        for (i = 0; i < (int)png_get_image_height(png_ptr(img), png_info(img)); i++) {
             png_read_row(png_ptr(img), row, NULL);
 	    r = row;
-	    k = png_info(img)->rowbytes;
+	    k = png_get_rowbytes(png_ptr(img), png_info(img));
 	    while(k > 0) {
 		l = (k > pdfbufsize)? pdfbufsize : k;
 		pdfroom(l);
-		for (j = 0; j < l; j++)
+                for (j = 0; j < (int)png_get_rowbytes(png_ptr(img), png_info(img)); j++)
 		    pdfbuf[pdfptr++] = *r++;
 		k -= l;
 	    }
@@ -121,19 +124,19 @@
         xfree(row);
     }
     else {
-        if (png_info(img)->height*png_info(img)->rowbytes >= 10240000L)
+        if (png_get_image_height(png_ptr(img), png_info(img))*png_get_rowbytes(png_ptr(img), png_info(img)) >= 10240000L)
             pdftex_warn("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
-        rows = xtalloc(png_info(img)->height, png_bytep);
-        for (i = 0; i < png_info(img)->height; i++)
-            rows[i] = xtalloc(png_info(img)->rowbytes, png_byte);
+        rows = xtalloc(png_get_image_height(png_ptr(img), png_info(img)), png_bytep);
+        for (i = 0; i < png_get_image_height(png_ptr(img), png_info(img)); i++)
+            rows[i] = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
         png_read_image(png_ptr(img), rows);
-        for (i = 0; i < (int)png_info(img)->height; i++) {
+        for (i = 0; i < (int)png_get_image_height(png_ptr(img), png_info(img)); i++) {
             row = rows[i];
-	    k = png_info(img)->rowbytes;
+	    k = png_get_rowbytes(png_ptr(img), png_info(img));
 	    while(k > 0) {
 		l = (k > pdfbufsize)? pdfbufsize : k;
-		pdfroom(l);
-		for (j = 0; j < l; j++)
+                pdfroom(png_get_rowbytes(png_ptr(img), png_info(img)));
+                for (j = 0; j < (int)png_get_rowbytes(png_ptr(img), png_info(img)); j++)
 		    pdfbuf[pdfptr++] = *row++;
 		k -= l;
 	    }
@@ -145,11 +148,11 @@
     if (palette_objnum > 0) {
         pdfbegindict(palette_objnum);
         pdfbeginstream();
-        for (i = 0; i < png_info(img)->num_palette; i++) {
+        for (i = 0; i < num_palette; i++) {
             pdfroom(3);
-            pdfbuf[pdfptr++] = png_info(img)->palette[i].red;
-            pdfbuf[pdfptr++] = png_info(img)->palette[i].green;
-            pdfbuf[pdfptr++] = png_info(img)->palette[i].blue;
+            pdfbuf[pdfptr++] = png_palette[i].red;
+            pdfbuf[pdfptr++] = png_palette[i].green;
+            pdfbuf[pdfptr++] = png_palette[i].blue;
         }
         pdfendstream();
     }