pkgsrc/graphics/ploticus/patches/patch-src_gd__png.c
ryoon 65230d0246 Update to 2.42
* Update MASTER_SITES.
* Hardcode PLOTICUS_PREFABS environment values.

Changelog:

Ploticus 2.42 - May 2013
Maintenance release with these bug fixes:

    various code updates to reduce warnings arising from newer gcc versions / lint in strict mode.

    chron prefab - fixes to the error bars; data point symbols

    heatmap prefab - wasn't obeying the legend=no parameter... fixed.

    proc boxplot - incorrect error message on number of statfields supplied, and likely other erratic behavior, when doing median-based bars plus a mean symbol.

    the 'legendlabel' attribute was only accepting first whitespace-delimited token... should accept entire line. Affected these procs: bars, curvefit, lineplot, scatterplot, and vector.


Version 2.41 (May 2009) -  new features:
New proc: proc pvalue for computing pvalues associated with t-test.

proc scatterplot - new attribute colorfield allows you to control data point color directly from a data field (not involving the legend-driven technique).

proc areadef - new attributes clickmapadjust for tweaking the overall position of grid clickmap, and catbinsadjust useful in setting up a plotting area with categories that are slid -0.5.

proc print - new variable that is set called FOUNDROW, which lets you determine which data row contains a given value, then pass the row number to the $datarow() function

proc catlines - column bars

category names having embedded whitespace can now be used for positioning (use underscores in the location spec)

prefabs - new parameters xgridskip, ygridskip, xgridblocks, ygridblocks, firststub, laststub

2.41 bug fixes
Thanks to all those who reported and/or supplied fixes for these bugs...

    C coding issue - string pointer comparisons, was ok on gcc but failed on sun C compiler and others
    clickmap - double url encoding bug
    tokncpy() fix affecting win32 builds
    proc processdata action: breaks not setting NRECORDS to 0 on eof
    proc processdata - result field names are set later, allowing current field names to be used in select statements
    on clickmap tags, alt= attribute added so that output passes xml validation
    numgroup() function - contributed bugfix installed
    datetime stubs - seconds were incorrect
    clickmap urlencoding - spaces are now urlencoded to %20 (previously was +)
    direct pixel data points are now influenced by -scale
    proc catlines able to function with just one subcat (use to require at least two)
    instability related to field name headers, getfname()
    memory leak in grgd.c, Gptlist
    date stubs dislaying garbage when given unrecognized date format string
    lineplot XFINAL was incorrect


Version 2.40 (Jan 2008) New features:

    A revision pass was done affecting all script and attribute parsing, with the goal of eliminating attribute length restrictions where possible, and reducing string copy operations.

    proc catlines

    proc tree

    proc getdata ... data sets using the bar character (|) as field delimiter are now supported. Also, there's now delim: auto which tries to automatically determine data field delimitation.

    proc processdata ... new actions: summary, summaryplus, raccum ... new attributes binsize, binmod

    proc boxplot (formerly proc rangebar) ... functionality change.. it now produces a set of boxplots in a similar way to how other procs (such as proc bars) operate. Any existing scripts using proc rangebar will require attention.

    new pl(1) command line options -pixsize (to set exact size of result image in pixels), and -cputime (to set cputime resource limit). As usual these have equivalent settings in proc page and/or proc settings

    axis autorange now supports the following: nearest=Nminute nearest=second nearest=Nsecond

    proc image (formerly called proc import)... gifs can be imported. Images can now be incorporated into SVG plot results. Clickmap support.

    symboldetails ... imgfile, imgwidth, imgheight

    color ... color specifications using notation such as xFEDCBA now supported

    Slanted axis stubs are now supported. See proc axis stubvert parameter

    A number of other new attributes that are specialized or of minor interest



2.40 Bug fixes

    bug related to legend-driven bar graphing
    direct pixel data points inherit current line dashing .. symboldetails needs to set linetype to plain
    segfault occuring after error 12040 "DISPLAY=" ?
    svg compile and swf segfault bugs
    proc getdata - recent fix related to #field names and #data fields needs to take filters into account
    proc categories - when cats specified literally, trailing whitespace is taken as part of category
    proc image segfaults with -x11
    proc lineplot - gapmissing autozero not working right
    segfault when -csmap is used with long urls
    proc processdata MIN, MAX - not affected by 'resultformat' but should be
    First x stub is a little higher than the others
    gd color bug when degenerate data row encountered [color change bug - lineplot gapmissing and fill options]
    prefab chunk_title - align= was giving backward results
    proc bars - segments - code bug demonstrated by gallery/timeline2.htm
    proc bars - instability related to color change optimization (wild draw location)
    prefab cumufrac - no curve produced for certain input data (see msg 1974)
    clickmap - the clickmap entries for plot elements sitting on top of a clickmap grid are written too late in the map and mouse doesn't respond. For gif/png/jpg imagemaps, need to write map entires in this order: 1) plot element regions 2) xy grid regions 3) single-dimention grid regions. (svg uses the opposite order)
    scripts having embedded CSV data (w rows > 255) can break script processor causing instability.
    proc annotate instability on filled rectangle draw caused by unitialized bd* vars
    proc curvefit - xfield was required, but doesn't need to be
    legend - repeated use of legends eventually gives "Sorry, too much legend content" msg
    prefab overlays - each run needs to output a code into the dumpfile that tells pcode to do a graphics init. Otherwise, run 2 inherits current color (other settings?) left behind by run1
    proc axis - stubround - 1st stub seems to be often omitted even when it is a round value (snps/distplot)
    URL encoding shouldn't encode '.' or other normal punctuation chars..
    floating bars weirdness
    instability when trying to #set a var to length > 334 chars
    instability when supplying a long perl script with #proc getdata commandmr



ticus 2.33 (June 2006) New features

    direct pixel data point symbols for gd and x11, to provide sharp non-distorted data points. In the example below the first two rows use the new direct pixel data points, while the 3rd row shows the vector-based data points that have always been available.


    proc venndisk - some new attributes to support "vennmag" plots (a series of disks resting on X axis to compare magnitudes). Here's an example:

    clickmaps - new clickmapurl syntax to allow deployment in a new window, etc. Syntax is like this:
          clickmapurl: [target=new]http://abc.com/cgi-bin/...

    SVG - proc settings / config files - svg_linkparms attribute discontinued. Use the new clickmapurl syntax (see above)

    proc axis - stubround attribute - solves the old problem of getting stubs at round number locations when plot area minima is not at a round location.

    proc lineplot - gapmissing: autozero

    proc bars - new attributes for better control of bar labels: labelmustfit, labelmaxlen, labelselect

    pl command line -ping option

    proc scatterplot - cluster attribute - default will now be 'no'

    prefab scat - new parm ptstyle= filled or outline ..... and changed to use the new direct pixel data point symbols.



2.33 Bug fixes

    clickmap - url encoding is now performed on variable contents and axis values that are substituted into clickmapurls
    proc categories - uniqueness check wasn't applied when categories listed literally. Useful in apps where the list is generated by another program or whatever.
    improved handling of very long command line args - each arg is silently truncated to 255 chars. var=value parameters cannot begin with a dash as may have been previously tolerated. var=value parameters are now intercepted before entering the arg name big decision structure.
    $dategroup() function didn't know about datetime separator characters other than '.'
    issue where the "circuit breaker tripped" message was appearing when autorange is used but no stubs / no tics were being generated
    ploticus api code bug - prefabs were not usable via api
    made adjustments to improve rounding error when axis begins in negative space and reaches zero, zero was shown a very tiny scientific notation number
    proc processdata - percents - resulting data values were written as enclosed in quotes which made them unplottable.
    fixed many compile warnings when building w/ gcc4 -Wall
    drawing to out-of-bounds locations (GD) resulted in huge image. The pl bounding box was set to a huge rectangle due to a wild draw op.. then the final GD crop operation used the huge bounding box to set the size for the cropped result. Fixed by limiting final result to 'pagesize'.
    proc bars - longways labels on bars that travel beyond plot area boundary weren't being shown/centered properly.
    in the -scale parameter, if you used -scale 1,2 the scale did not change but -scale 1.01,2 does work. Fixed- some code was only taking action if x scale != 1.0
    svg - opening <svg> tag didn't have xmlns:xlink parameter (always); font size didn't have "pt" on end (firefox 1.5 / easytimeline)
    proc getdata - instability when there were more field names than available data fields. Fixed - number of field names now sets the 'nfields' idea of how many fields there are. This only happens when nfields is not explicitly specified.
    scatterplot - short line segments as symbols - no legend entries were appeariing
    proc legend - longer line segments were colliding with other entries in "across" format
    proc rangesweep - instability when bad values encountered in data
    proc annotate - box outline color not being set properly
    proc bars - showvalues - conflict between "backbox" and "labeldetails: color="
    pl -errfile stdout (w/ no other args) gave seg fault
    prefab scat - new maxinpoints= parameter (for curvefit)
    heatmaps - with contentfield= and values 0.0 -> 1.0 .. cutoff table was not automatically created properly.
    prefabs - some prefab parameters cannot be set in a data file.. because they are set in the prefab script before getting the data. More detailed explaination in docs.
    -tag command line arg wasn't generating the <embed> tag for svg
    scatterplot - heatmap-related cell coloring bug
    draw prefab - win32 issue with dumpfile
    autorange - code bug involving nearest=hours


Ploticus 2.32 (Aug 2005) - New features

    proc legend - support for multi-column or multi-row legends, word wrap for legend entries, backing box, title, and others. Thanks to Philippe Jalaber and Tobias Minich who suggested some of these features. Examples

    proc venndisk - new proc for producing venn diagrams.
              example

    textdetails - new linesep attribute to control line spacing.

    mousover/tooltip labels can now be up to 1500 chars. Also any proc that had a clickmaplabel attribute now also has a clickmaplabeltext multiline attribute. This is to accomodate chunks of javascript code as used with SVG mouseover/tooltip method #2.

    proc axis - month stub inc with datetime scaletype now supported.

    proc pie - new wraplen attribute to wordwrap pie slice labels

    new function - $rewritenum(f) which takes a numeric quantity f and returns it rewritten for display purposes, applying numbernotation (as specified in your proc settings or config file)

    new function - $textwidth(f) returns horizontal width of FreeType bounding box. Useful only with freetype fonts, otherwise it returns 0. Suggested/contributed by Erik Zachte.

    autorange - if user doesn't specify numformat, %f is now automatically used to build result with high magnitude low variance data sets (such as where the min is 1,000,000 and the max is 1,000,003).

    Prefab parameters for access to some of the new proc legend features; and some other prefab items. More info


2.32 Bug fixes

    date notations involving dots (such as dd.mm.yy) weren't being handled properly
    gd16.c gcc 4 compile issue (static int cost, static int sint)
    crosshatch lines were too thin w/ svg
    proc bars - with 'truncate', bar completely out of range was suppressed but label still appears
    drawcommands ignored cm units - fixed. Also, mark and cblock now accept posex specifications.
    heatmap prefab - now supports title and related parameters.
    superscripts in X axis stubs showed up on Y axis - fixed
    autorange - now handles degenerate case where all data are 0
    proc vector - instability if start and end points of a vector are same
    proc getdata no longer does a popen( cat filename ) in CGI mode
    strange color change problem - related to certain degenerate lineplots that don't draw anything. Bug in proc_lineplot.c fixed.
    proc legend width attribute now supports cm
    heatmap prefab - yaxis=none didn't have any effect. Fixed.
    proc pie - with outlinedetails: none the labels and any associated lines disappeared
    proc scatterplot - default clustermethod was horizontal when ylocation given.. and vertical when xlocation given.. seems like it should be the other way round.. so I changed it.
    with datetime (others?) xautorange nearest=exact wasn't working
    command line option -prefab is now disabled when operating in direct cgi mode
    command line option -drawdumpa displayed to x11 but shouldn't
2013-06-30 15:13:09 +00:00

24 lines
1.1 KiB
C

$NetBSD: patch-src_gd__png.c,v 1.1 2013/06/30 15:13:09 ryoon Exp $
* Fix build with png-1.5.
--- src/gd_png.c.orig 2010-03-02 21:01:01.000000000 +0000
+++ src/gd_png.c
@@ -268,7 +268,7 @@ gdImagePtr gdImageCreateFromPngCtx(gdIOC
png_color_16p histogram;
png_get_hIST(png_ptr, info_ptr, &histogram);
- png_set_dither(png_ptr, palette, num_palette,
+ png_set_quantize(png_ptr, palette, num_palette,
max_screen_colors, histogram, 1);
} else
#endif
@@ -294,7 +294,7 @@ gdImagePtr gdImageCreateFromPngCtx(gdIOC
palette[2].red = palette[2].green = palette[2].blue = 128;
palette[3].red = palette[3].green = palette[3].blue = 64;
/* final argument (full_dither) *must* be 1: */
- png_set_dither(png_ptr, palette, 256, 256, NULL, 1);
+ png_set_quantize(png_ptr, palette, 256, 256, NULL, 1);
#else
/* allocate a 6x6x6 color cube, starting at index 0 or 1 */
idx = (transparent < 0)? 0 : 1;