diff options
Diffstat (limited to 'dev-dotnet/libgdiplus/files/libgdiplus-2.10.1-libpng15.patch')
-rw-r--r-- | dev-dotnet/libgdiplus/files/libgdiplus-2.10.1-libpng15.patch | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/dev-dotnet/libgdiplus/files/libgdiplus-2.10.1-libpng15.patch b/dev-dotnet/libgdiplus/files/libgdiplus-2.10.1-libpng15.patch deleted file mode 100644 index 31a1c01629d8..000000000000 --- a/dev-dotnet/libgdiplus/files/libgdiplus-2.10.1-libpng15.patch +++ /dev/null @@ -1,164 +0,0 @@ -$NetBSD: patch-aa,v 1.8 2011/01/21 10:21:51 wiz Exp $ - -Fix build with png-1.5. - ---- src/pngcodec.c.orig 2010-11-03 16:52:54.000000000 +0000 -+++ src/pngcodec.c -@@ -116,10 +116,15 @@ gdip_load_png_properties (png_structp pn - bitmap_data->dpi_horz = png_get_x_pixels_per_inch(png_ptr, info_ptr); - bitmap_data->dpi_vert = png_get_y_pixels_per_inch(png_ptr, info_ptr); - #elif defined(PNG_pHYs_SUPPORTED) -- if ((info_ptr->valid & PNG_INFO_pHYs) && (info_ptr->phys_unit_type == PNG_RESOLUTION_METER)) { -- bitmap_data->image_flags |= ImageFlagsHasRealDPI; -- bitmap_data->dpi_horz = info_ptr->x_pixels_per_unit * 0.0254; -- bitmap_data->dpi_vert = info_ptr->y_pixels_per_unit * 0.0254; -+ if (png_get_valid (png_ptr, info_ptr, PNG_INFO_pHYs)) { -+ png_uint_32 res_x, res_y; -+ int unit_type; -+ png_get_pHYs (png_ptr, info_ptr, &res_x, &res_y, &unit_type); -+ if (unit_type == PNG_RESOLUTION_METER) { -+ bitmap_data->image_flags |= ImageFlagsHasRealDPI; -+ bitmap_data->dpi_horz = res_x * 0.0254; -+ bitmap_data->dpi_vert = res_y * 0.0254; -+ } - } - #endif - /* default to screen resolution (if nothing was provided or available) */ -@@ -130,7 +135,7 @@ gdip_load_png_properties (png_structp pn - #if defined(PNG_iCCP_SUPPORTED) - { - png_charp name; -- png_charp profile; -+ png_bytep profile; - png_uint_32 proflen; - int compression_type; - -@@ -292,6 +297,11 @@ gdip_load_png_image_from_file_or_stream - ImageFlags colourspace_flag; - int i; - int j; -+ png_colorp png_palette; -+ int png_num_palette; -+ png_bytep trans_alpha; -+ int num_trans; -+ png_color_16p trans_color; - - width = png_get_image_width (png_ptr, info_ptr); - height = png_get_image_height (png_ptr, info_ptr); -@@ -309,6 +319,8 @@ gdip_load_png_image_from_file_or_stream - } - - /* Copy palette. */ -+ png_get_PLTE (png_ptr, info_ptr, &png_palette, &png_num_palette); -+ - num_colours = 1 << bit_depth; - - if (png_get_color_type (png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY) { -@@ -321,8 +333,8 @@ gdip_load_png_image_from_file_or_stream - colourspace_flag = ImageFlagsColorSpaceRGB; - - palette_entries = num_colours; -- if (palette_entries > info_ptr->num_palette) { -- palette_entries = info_ptr->num_palette; -+ if (palette_entries > png_num_palette) { -+ palette_entries = png_num_palette; - } - - palette = GdipAlloc (sizeof(ColorPalette) + (num_colours - 1) * sizeof(ARGB)); -@@ -331,29 +343,30 @@ gdip_load_png_image_from_file_or_stream - - for (i=0; i < palette_entries; i++) { - set_pixel_bgra (&palette->Entries[i], 0, -- info_ptr->palette[i].blue, -- info_ptr->palette[i].green, -- info_ptr->palette[i].red, -+ png_palette[i].blue, -+ png_palette[i].green, -+ png_palette[i].red, - 0xFF); /* alpha */ - } - } - -+ png_get_tRNS (png_ptr, info_ptr, &trans_alpha, &num_trans, &trans_color); - /* Make sure transparency is respected. */ -- if (info_ptr->num_trans > 0) { -+ if (num_trans > 0) { - palette->Flags |= PaletteFlagsHasAlpha; - colourspace_flag |= ImageFlagsHasAlpha; - -- if (info_ptr->num_trans > info_ptr->num_palette) { -- info_ptr->num_trans = info_ptr->num_palette; -+ if (num_trans > png_num_palette) { -+ num_trans = png_num_palette; - } - -- for (i=0; i < info_ptr->num_trans; i++) { -+ for (i=0; i < num_trans; i++) { - set_pixel_bgra(&palette->Entries[i], 0, -- info_ptr->palette[i].blue, -- info_ptr->palette[i].green, -- info_ptr->palette[i].red, -+ png_palette[i].blue, -+ png_palette[i].green, -+ png_palette[i].red, - #if PNG_LIBPNG_VER > 10399 -- info_ptr->trans_alpha [i]); /* alpha */ -+ trans_alpha [i]); /* alpha */ - #else - info_ptr->trans[i]); /* alpha */ - #endif -@@ -398,6 +411,8 @@ gdip_load_png_image_from_file_or_stream - BYTE bit_depth; - int stride; - int interlace; -+ png_colorp png_palette; -+ int png_num_palette; - png_bytep *row_pointers; - BYTE *rawptr; - int i, j; -@@ -490,32 +505,33 @@ gdip_load_png_image_from_file_or_stream - png_byte palette = 0; - png_byte pix = *rowp++; - -+ png_get_PLTE (png_ptr, info_ptr, &png_palette, &png_num_palette); - palette = (pix >> 6) & 0x03; - set_pixel_bgra (rawptr, 0, -- info_ptr->palette[palette].blue, -- info_ptr->palette[palette].green, -- info_ptr->palette[palette].red, -+ png_palette[palette].blue, -+ png_palette[palette].green, -+ png_palette[palette].red, - 0xFF); /* alpha */ - - palette = (pix >> 4) & 0x03; - set_pixel_bgra (rawptr, 4, -- info_ptr->palette[palette].blue, -- info_ptr->palette[palette].green, -- info_ptr->palette[palette].red, -+ png_palette[palette].blue, -+ png_palette[palette].green, -+ png_palette[palette].red, - 0xFF); /* alpha */ - - palette = (pix >> 2) & 0x03; - set_pixel_bgra (rawptr, 8, -- info_ptr->palette[palette].blue, -- info_ptr->palette[palette].green, -- info_ptr->palette[palette].red, -+ png_palette[palette].blue, -+ png_palette[palette].green, -+ png_palette[palette].red, - 0xFF); /* alpha */ - - palette = pix & 0x03; - set_pixel_bgra (rawptr, 12, -- info_ptr->palette[palette].blue, -- info_ptr->palette[palette].green, -- info_ptr->palette[palette].red, -+ png_palette[palette].blue, -+ png_palette[palette].green, -+ png_palette[palette].red, - 0xFF); /* alpha */ - rawptr += 16; - } |