head 1.2; access; symbols pkgsrc-2026Q1:1.2.0.122 pkgsrc-2026Q1-base:1.2 pkgsrc-2025Q4:1.2.0.120 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.2.0.118 pkgsrc-2025Q3-base:1.2 pkgsrc-2025Q2:1.2.0.116 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.2.0.114 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.112 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.110 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.108 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.106 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.104 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.102 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.100 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.98 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.96 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.94 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.92 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.90 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.88 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.86 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.84 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.82 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.80 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.78 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.74 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.54 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.76 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.72 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.70 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.68 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.66 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.64 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.62 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.60 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.58 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.56 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.52 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.50 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.48 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.46 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.44 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.42 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.40 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.38 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.36 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.34 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.32 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.30 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.28 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.26 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.24 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.22 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.20 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.18 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.16 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.14 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.12 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.10 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.8 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.6 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.4 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.2 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.1.0.70 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.68 pkgsrc-2010Q3-base:1.1 pkgsrc-2010Q2:1.1.0.66 pkgsrc-2010Q2-base:1.1 pkgsrc-2010Q1:1.1.0.64 pkgsrc-2010Q1-base:1.1 pkgsrc-2009Q4:1.1.0.62 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.60 pkgsrc-2009Q3-base:1.1 pkgsrc-2009Q2:1.1.0.58 pkgsrc-2009Q2-base:1.1 pkgsrc-2009Q1:1.1.0.56 pkgsrc-2009Q1-base:1.1 pkgsrc-2008Q4:1.1.0.54 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.52 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.50 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.48 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.46 pkgsrc-2008Q1:1.1.0.44 pkgsrc-2008Q1-base:1.1 pkgsrc-2007Q4:1.1.0.42 pkgsrc-2007Q4-base:1.1 pkgsrc-2007Q3:1.1.0.40 pkgsrc-2007Q3-base:1.1 pkgsrc-2007Q2:1.1.0.38 pkgsrc-2007Q2-base:1.1 pkgsrc-2007Q1:1.1.0.36 pkgsrc-2007Q1-base:1.1 pkgsrc-2006Q4:1.1.0.34 pkgsrc-2006Q4-base:1.1 pkgsrc-2006Q3:1.1.0.32 pkgsrc-2006Q3-base:1.1 pkgsrc-2006Q2:1.1.0.30 pkgsrc-2006Q2-base:1.1 pkgsrc-2006Q1:1.1.0.28 pkgsrc-2006Q1-base:1.1 pkgsrc-2005Q4:1.1.0.26 pkgsrc-2005Q4-base:1.1 pkgsrc-2005Q3:1.1.0.24 pkgsrc-2005Q3-base:1.1 pkgsrc-2005Q2:1.1.0.22 pkgsrc-2005Q2-base:1.1 pkgsrc-2005Q1:1.1.0.20 pkgsrc-2005Q1-base:1.1 pkgsrc-2004Q4:1.1.0.18 pkgsrc-2004Q4-base:1.1 pkgsrc-2004Q3:1.1.0.16 pkgsrc-2004Q3-base:1.1 pkgsrc-2004Q2:1.1.0.14 pkgsrc-2004Q2-base:1.1 pkgsrc-2004Q1:1.1.0.12 pkgsrc-2004Q1-base:1.1 pkgsrc-2003Q4:1.1.0.10 pkgsrc-2003Q4-base:1.1 netbsd-1-6-1:1.1.0.6 netbsd-1-6-1-base:1.1 netbsd-1-6:1.1.0.8 netbsd-1-6-RELEASE-base:1.1 pkgviews:1.1.0.4 pkgviews-base:1.1 buildlink2:1.1.0.2 buildlink2-base:1.1 netbsd-1-5-PATCH003:1.1; locks; strict; comment @# @; 1.2 date 2011.02.07.21.28.56; author wiz; state Exp; branches; next 1.1; 1.1 date 2001.08.03.09.43.18; author wiz; state Exp; branches; next ; desc @@ 1.2 log @Fix build with png-1.5. @ text @$NetBSD: patch-ag,v 1.1 2001/08/03 09:43:18 wiz Exp $ Fix build with png-1.5. --- rw/writePNG.c.orig 1996-08-29 05:24:57.000000000 +0000 +++ rw/writePNG.c @@@@ -31,6 +31,9 @@@@ WritePNG(char *file, Image *image, int i png_structp png_ptr; png_infop info_ptr; png_textp software; + int bit_depth; + int color_type; + png_timep mod_time; Trace((stderr, "\nGRR WritePNG: %d x %d, scale = %d\n", @@@@ -38,47 +41,41 @@@@ WritePNG(char *file, Image *image, int i if (!fp) return 1; - png_ptr = (png_structp)malloc(sizeof (png_struct)); + png_ptr = (png_structp)png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, + NULL, NULL); if (!png_ptr) return 1; - info_ptr = (png_infop)malloc(sizeof (png_info)); + info_ptr = (png_infop)png_create_info_struct(png_ptr); if (!info_ptr) { - free(png_ptr); + png_destroy_write_struct(&png_ptr, NULL); return 1; } - if (setjmp(png_ptr->jmpbuf)) { - png_write_destroy(png_ptr); - free(info_ptr); - free(png_ptr); + if (setjmp(png_jmpbuf(png_ptr))) { + png_destroy_write_struct(&png_ptr, &info_ptr); fclose(fp); return 1; } - png_info_init(info_ptr); - png_write_init(png_ptr); png_init_io(png_ptr, fp); - info_ptr->width = image->width; - info_ptr->height = image->height; - if (image->isBW) { if (image->maskData) { - info_ptr->color_type = PNG_COLOR_TYPE_GRAY_ALPHA; - info_ptr->bit_depth = 8; /* promote to full grayscale */ + color_type = PNG_COLOR_TYPE_GRAY_ALPHA; + bit_depth = 8; /* promote to full grayscale */ } else { - info_ptr->color_type = PNG_COLOR_TYPE_GRAY; - info_ptr->bit_depth = 1; + color_type = PNG_COLOR_TYPE_GRAY; + bit_depth = 1; } Trace((stderr, "GRR WritePNG: B/W, bit_depth = %d\n", - info_ptr->bit_depth)); + bit_depth)); } else if (image->isGrey) { - info_ptr->color_type = image->maskData? PNG_COLOR_TYPE_GRAY_ALPHA : + color_type = image->maskData? PNG_COLOR_TYPE_GRAY_ALPHA : PNG_COLOR_TYPE_GRAY; if (image->cmapPacked) - info_ptr->bit_depth = 8; + bit_depth = 8; else { Trace((stderr, "GRR WritePNG: isGrey: cmapSize = %d (before compressing), ", @@@@ -86,15 +83,15 @@@@ WritePNG(char *file, Image *image, int i compressColormap(image); Trace((stderr, "%d (after)\n", image->cmapSize)); if (image->cmapSize > 16) - info_ptr->bit_depth = 8; + bit_depth = 8; else if (image->cmapSize > 4) - info_ptr->bit_depth = 4; + bit_depth = 4; else if (image->cmapSize > 2) - info_ptr->bit_depth = 2; + bit_depth = 2; else - info_ptr->bit_depth = 1; + bit_depth = 1; Trace((stderr, "GRR WritePNG: isGrey: picked bit_depth = %d\n", - info_ptr->bit_depth)); + bit_depth)); } } else if (image->scale == 3) { @@@@ -107,9 +104,9 @@@@ WritePNG(char *file, Image *image, int i if (cmapImage) { image = cmapImage; /* original was deleted in ImageCompress() */ } else { - info_ptr->color_type = image->maskData? PNG_COLOR_TYPE_RGB_ALPHA : + color_type = image->maskData? PNG_COLOR_TYPE_RGB_ALPHA : PNG_COLOR_TYPE_RGB; - info_ptr->bit_depth = 8; + bit_depth = 8; Trace((stderr, "GRR WritePNG: RGB, bit_depth = 8\n")); } } @@@@ -129,7 +126,7 @@@@ WritePNG(char *file, Image *image, int i * ImageCompress() worked */ if (image->scale == 1) { - info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; + color_type = PNG_COLOR_TYPE_PALETTE; if (image->maskData) { fprintf(stderr, "WritePNG: can't use alpha mask with colormapped image\n"); @@@@ -139,18 +136,17 @@@@ WritePNG(char *file, Image *image, int i if (!image->cmapPacked) compressColormap(image); if (image->cmapSize > 16) - info_ptr->bit_depth = 8; + bit_depth = 8; else if (image->cmapSize > 4) - info_ptr->bit_depth = 4; + bit_depth = 4; else if (image->cmapSize > 2) - info_ptr->bit_depth = 2; + bit_depth = 2; else - info_ptr->bit_depth = 1; - info_ptr->valid |= PNG_INFO_PLTE; - info_ptr->num_palette = image->cmapSize; - info_ptr->palette = (png_colorp)image->cmapData; /* seems to work... */ - Trace((stderr, "%d, num_palette = %d\n", info_ptr->bit_depth, - info_ptr->num_palette)); + bit_depth = 1; + png_set_PLTE(png_ptr, info_ptr, (png_colorp)image->cmapData, + image->cmapSize); /* seems to work... */ + Trace((stderr, "%d, num_palette = %d\n", bit_depth, + image->cmapSize)); #if 0 for (i = 0; i < image->cmapSize; ++i) { info_ptr->palette[i].red = @@@@ -160,14 +156,15 @@@@ WritePNG(char *file, Image *image, int i #endif } - info_ptr->interlace_type = interlace_type; + png_set_IHDR(png_ptr, info_ptr, image->width, image->height, + bit_depth, color_type, interlace_type, PNG_COMPRESSION_TYPE_BASE, + PNG_FILTER_TYPE_BASE); /* set the file gamma */ - info_ptr->valid |= PNG_INFO_gAMA; #ifdef DISPLAY_GAMMA - info_ptr->gamma = 1.0 / DISPLAY_GAMMA; + png_set_gAMA(png_ptr, info_ptr, 1.0 / DISPLAY_GAMMA); #else - info_ptr->gamma = 0.45; /* default: assume PC-like system */ + png_set_gAMA(png_ptr, info_ptr, 0.45); /* default: assume PC-like system */ #endif /* info_ptr->valid |= PNG_INFO_tEXt; DOES NOT EXIST */ @@@@ -180,16 +177,14 @@@@ WritePNG(char *file, Image *image, int i software->key = "Software"; software->text = software_text; software->text_length = strlen(software->text); - info_ptr->num_text = 1; - info_ptr->text = software; + png_set_text(png_ptr, info_ptr, software, 1); } else { /* couldn't malloc: oh well */ - info_ptr->num_text = 0; - info_ptr->text = NULL; + png_set_text(png_ptr, info_ptr, NULL, 0); } - info_ptr->valid |= PNG_INFO_tIME; - png_convert_from_time_t(&info_ptr->mod_time, time(NULL)); + png_convert_from_time_t(mod_time, time(NULL)); + png_set_tIME(png_ptr, info_ptr, mod_time); png_write_flush(png_ptr); png_write_info(png_ptr, info_ptr); @@@@ -200,9 +195,7 @@@@ WritePNG(char *file, Image *image, int i /* alpha channel version */ fprintf(stderr, "WritePNG: sorry, can't write alpha images yet\n"); fflush(stderr); - png_write_destroy(png_ptr); - free(info_ptr); - free(png_ptr); + png_destroy_write_struct(&png_ptr, &info_ptr); fclose(fp); return 1; } else { @@@@ -222,13 +215,11 @@@@ WritePNG(char *file, Image *image, int i } png_write_end(png_ptr, NULL); - png_write_destroy(png_ptr); + png_destroy_write_struct(&png_ptr, &info_ptr); if (software) free(software); /* we LOVE free software!! */ - free(info_ptr); - free(png_ptr); /* necessary?? */ fclose(fp); return 0; @ 1.1 log @Adapt png handling to latest spec. Requested in pkg/13597. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 1 --- rw/writePNG.c.orig Thu Aug 29 07:24:57 1996 d7 11 a17 1 @@@@ -38,26 +38,23 @@@@ d49 140 a188 2 info_ptr->width = image->width; @@@@ -200,9 +197,7 @@@@ d199 1 a199 1 @@@@ -222,13 +217,11 @@@@ @