Home / plplot / 5.9.7 Source
Name Modified Size InfoDownloads / Week
Parent folder
README.release 2010-10-03 137.2 kB
plplot-5.9.7.tar.gz.asc 2010-10-03 197 Bytes
plplot-5.9.7.tar.gz 2010-10-03 7.2 MB
Totals: 3 Items   7.4 MB 0
PLplot Release 5.9.7
~~~~~~~~~~~~~~~~~~~~
This is a development release of PLplot. It represents the ongoing efforts
of the community to improve the PLplot plotting package. Development 
releases in the 5.9.x series will be available every few months. The next 
stable release will be 5.10.0.

     If you encounter a problem that is not already documented in the
PROBLEMS file or on our bugtracker, then please send bug reports to PLplot
developers via the mailing lists at
http://sourceforge.net/mail/?group_id=2915 (preferred) or on our bugtracker
at http://sourceforge.net/tracker/?group_id=2915&atid=102915.

     Please see the license under which this software is distributed
(LGPL), and the disclaimer of all warranties, given in the COPYING.LIB
file.

Official Notices for Users.

I. As of release 5.9.1 we have removed our previously deprecated
autotools-based build system.  Instead, use the CMake-based build system
following the directions in the INSTALL file.

II. As of release 5.9.1 we no longer support Octave-2.1.73 which has a
variety of run-time issues in our tests of the Octave examples on different
platforms. In contrast our tests show we get good run-time results with all
our Octave examples for Octave-3.0.1. Also, that is the recommended stable
version of Octave at http://www.gnu.org/software/octave/download.html so
that is the only version of Octave we support at this time.

III. As of release 5.9.1 we have decided for consistency sake to change the
PLplot stream variables plsc->vpwxmi, plsc->vpwxma, plsc->vpwymi, and
plsc->vpwyma and the results returned by plgvpw to reflect the exact window
limit values input by users using plwind. Previously to this change, the
stream variables and the values returned by plgvpw reflected the internal
slightly expanded range of window limits used by PLplot so that the user's
specified limits would be on the graph.  Two users noted this slight
difference, and we agree with them it should not be there. Note that
internally, PLplot still uses the expanded ranges so most users results will
be identical.  However, you may notice some small changes to your plot
results if you use these stream variables directly (only possible in C/C++)
or use plgvpw.

IV. As of release 5.9.2 we have set HAVE_PTHREAD to ON by default for all
platforms other than Darwin.  Darwin will follow later once it appears the
Apple version of X supports it.

V. As of release 5.9.3 our build system requires CMake version 2.6.0 or
higher.

VI. As of release 5.9.3 we have deprecated the gcw device driver and the
related gnome2 and pygcw bindings since these are essentially unmaintained.
For example, the gcw device and associated bindings still depends on the
plfreetype approach for accessing unicode fonts which has known issues
(inconsistent text offsets, inconvenient font setting capabilities, and
incorrect rendering of CTL languages).  To avoid these issues we advise
using the xcairo device and the externally supplied XDrawable or Cairo
context associated with the xcairo device and the extcairo device (see
examples/c/README.cairo) instead. If you still absolutely must use -dev gcw
or the related gnome2 or pygcw bindings despite the known problems, then
they can still be accessed by setting PLD_gcw, ENABLE_gnome2, and/or
ENABLE_pygcw to ON.
N.B. This announcement has been superseded by the subsequent retirement
of gcw, gnome2, and pygcw, see announcement XVII.

VII. As of release 5.9.3 we have deprecated the gd device driver which
implements the png, jpeg, and gif devices.  This device driver is
essentially unmaintained. For example, it still depends on the plfreetype
approach for accessing unicode fonts which has known issues (inconsistent
text offsets, inconvenient font setting capabilities, and incorrect
rendering of CTL languages).  To avoid these issues for PNG format, we
advise using the pngcairo or pngqt devices.  To avoid these issues for the
JPEG format, we advise using the jpgqt device.  PNG is normally considered a
better raster format than GIF, but if you absolutely require GIF format, we
advise using the pngcairo or pngqt devices and then downgrading the results
to the GIF format using the ImageMagick "convert" application.  For those
platforms where libgd (the dependency of the gd device driver) is accessible
while the required dependencies of the cairo and/or qt devices are not
accessible, you can still use these deprecated devices by setting PLD_png,
PLD_jpeg, or PLD_gif to ON.

VIII. As of release 5.9.3 we have re-enabled the tk, itk, and itcl components
of PLplot by default that were disabled by default as of release 5.9.1 due
to segfaults.  The cause of the segfaults was a bug (now fixed) in how
pthread support was implemented for the Tk-related components of PLplot.

IX. As of release 5.9.4 we have deprecated the pbm device driver (containing
the pbm device) because glibc detects a catastrophic double free.

X. As of release 5.9.5 we have removed pyqt3 access to PLplot and
replaced it by pyqt4 access to PLplot (see details below).

XI. As of release 5.9.5 the only method of specifying a non-default compiler
(and associated compiler options) that we support is the environment
variable approach, e.g.,

export CC='gcc -g -fvisibility=hidden'
export CXX='g++ -g -fvisibility=hidden'
export FC='gfortran -g -fvisibility=hidden'

All other CMake methods of specifying a non-default compiler and associated
compiler options will not be supported until CMake bug 9220 is fixed, see
discussion below of the soft-landing re-implementation for details.

XII. As of release 5.9.5 we have retired the hpgl driver (containing the
hp7470, hp7580, and lj_hpgl devices), the impress driver (containing the imp
device), the ljii driver (containing the ljii and ljiip devices), and the
tek driver (containing the conex, mskermit, tek4107, tek4107f, tek4010,
tek4010f, versaterm, vlt, and xterm devices).  Retirement means we have
removed the build options which would allow these devices to build and
install.  Recent tests have shown a number of run-time issues (hpgl,
impress, and ljii) or build-time issues (tek) with these devices, and as far
as we know there is no more user interest in them. Therefore, we have
decided to retire these devices rather than fix them.

XIII. As of release 5.9.6 we have retired the pbm driver containing the pbm
(actually portable pixmap) file device. This device is quite primitive and
poorly maintained. It ignores unicode fonts (i.e., uses the Hershey font
fallback), falls back to ugly software fills, doesn't support alpha
transparency, etc.  It also has a serious run-time issue with example 2
(double free detected by glibc) which probably indicates some fundamental
issue with the 100 colours in cmap0 for that example. For those who really
need portable pixmap results, we suggest using the ImageMagick convert
programme, e.g., "convert examples/x24c01.pngqt test.ppm" or "convert
examples/x24c01.pngcairo test.ppm" to produce good-looking portable pixmap
results from our best png device results.

XIV. As of release 5.9.6 we have retired the linuxvga driver
containing the linuxvga interactive device.  This device is quite
primitive, difficult to test, and poorly maintained. It ignores
unicode fonts (i.e., uses the Hershey font fallback), falls back to
ugly software fills, doesn't support alpha transparency, etc.  It is
Linux only, can only be run as root, and svgalib (the library used by
linuxsvga) is not supported by some mainstream (e.g., Intel) chipsets.
All of these characteristics make it difficult to even test this
device much less use it for anything serious.  Finally, it has had a
well-known issue for years (incorrect colours) which has never been
fixed indicating nobody is interested in maintaining this device.

XV. As of release 5.9.6 we have retired our platform support of djgpp
that used to reside in sys/dos/djgpp.  The developer (Andrew Roach)
who used to maintain those support files for djgpp feels that the
djgpp platform is no longer actively developed, and he no longer uses
djgpp himself.

XVI. As of release 5.9.6 plpoin results for ascii codes 92, 94, and 95
are changed from centred dot, degree symbol, and centred dot glyphs to
the correct backslash, caret, and underscore glyphs that are
associated with those ascii indices.  This change is consistent with
the documentation of plpoin and solves a long-standing issue with
backslash, caret, and underscore ascii characters in character strings
used for example by pl[mp]tex.  Those who need access to a centred dot
with plpoin should use index 1.  The degree symbol is no longer
accessible with plpoin, but it is available in ordinary text input to
PLplot as Hershey escape "#(718)", where 718 is the Hershey index of
the degree symbol, unicode escape "#[0x00B0]" where 0x00B0 is the
unicode index for the degree symbol or direct UTF8 unicode string "°".

XVII. As of release 5.9.6 we have retired the gcw device driver and
the related gnome2 and pygcw bindings since these are unmaintained and
there are good replacements.  These components of PLplot were
deprecated as of release 5.9.3.  A good replacement for the gcw device
is either the xcairo or qtwidget device.  A good replacement for the
gnome2 bindings is the externally supplied XDrawable or Cairo context
associated with the xcairo device and the extcairo device (see
examples/c/README.cairo).  A good replacement for pygcw is our new
pyqt4 bindings for PLplot.

XVIII. As of release 5.9.6 we have deprecated support for the python
Numeric array extensions. Numeric is no longer maintained and users
of Numeric are advised to migrate to numpy. Numpy has been the standard
for PLplot for some time. If numpy is not present PLplot will now 
disable python by default. If you still require Numeric support in the
short term then set USE_NUMERIC to ON in cmake. The PLplot support 
for Numeric will be dropped in a future release.

XVIV. It has come to our attention that the version of gdc supplied with 
several recent versions of Ubuntu has a very serious bug on 64-bit 
systems (see https://bugs.launchpad.net/ubuntu/+source/gdc-4.2/+bug/235955)
which causes several of the plplot D examples to crash. If this
affects you, you are recommended to disable the d bindings or switch to
an alternative d compiler (the Digital Mars compiler is reported to
be good).

INDEX

0. Tests made for release 5.9.7

1. Changes relative to PLplot 5.9.6 (the previous development release)

1.1 Alpha value support for plotting in memory.
1.2 Add a Qt device for in memory plotting.
1.3 Add discrete legend capability.


2. Changes relative to PLplot 5.8.0 (the previous stable release)

2.1 All autotools-related files have now been removed
2.2 Build system bug fixes
2.3 Build system improvements
2.4 Implement build-system infrastructure for installed Ada bindings and 
examples
2.5 Code cleanup 
2.6 Date / time labels for axes
2.7 Alpha value support
2.8 New PLplot functions
2.9 External libLASi library improvements affecting our psttf device
2.10 Improvements to the cairo driver family
2.11 wxWidgets driver improvements
2.12 pdf driver improvements
2.13 svg driver improvements
2.14 Ada language support
2.15 OCaml language support
2.16 Perl/PDL language support
2.17 Update to various language bindings
2.18 Update to various examples
2.19 Extension of our test framework
2.20 Rename test subdirectory to plplot_test
2.21 Website support files updated
2.22 Internal changes to function visibility
2.23 Dynamic driver support in Windows
2.24 Documentation updates
2.25 libnistcd (a.k.a. libcd) now built internally for -dev cgm
2.26 get-drv-info now changed to test-drv-info
2.27 Text clipping now enabled by default for the cairo devices
2.28 A powerful qt device driver has been implemented
2.29 The PLplot API is now accessible from Qt GUI applications
2.30 NaN / Inf support for some PLplot functions
2.31 Various bug fixes
2.32 Cairo driver improvements
2.33 PyQt changes
2.34 Color Palettes
2.35 Re-implementation of a "soft landing" when a bad/missing compiler is
detected
2.36 Make PLplot aware of LC_NUMERIC locale
2.37 Linear gradients have been implemented
2.38 Cairo Windows driver implemented
2.39 Custom axis labeling implemented
2.40 Universal coordinate transform implemented
2.41 Support for arbitrary storage of 2D user data
2.42 Font improvements
2.42 Alpha value support for plotting in memory.
2.43 Add a Qt device for in memory plotting.
2.44 Add discrete legend capability.


0. Tests made for release 5.9.7

See 
http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot#Testing_Reports
for a summary table of all testing done for PLplot-5.9.7.

1. Changes relative to PLplot 5.9.6 (the previous development release)

1.1 Alpha value support for plotting in memory.

The function plsmema() was added to the PLplot API. This allows the user
to supply a RGBA formatted array that PLplot can use to do in memory
plotting with alpha value support. At present only the memcairo device
is capable of using RGBA formatted memory. The mem device, at least
for the time being, only supports RGB formatted memory and will exit
if the user attempts to give it RGBA formatted memory to plot in.

1.2 Add a Qt device for in memory plotting.

A new device called memqt has been added for in memory plotting using
Qt. This device is the Qt equivalent of the memcairo device.

1.3 Add discrete legend capability.

A new routine called pllegend has been added to our core C API.
(N.B. This is an experimental API that may be subject to further
change as we gain more experience with it.)  This routine creates a
discrete plot legend with a plotted box, line, and/or line of symbols
for each annotated legend entry. The arguments of pllegend provide
control over the location and size of the legend within the current
subpage as well as the location and characteristics of the elements
(most of which are optional) within that legend. The resulting legend
is clipped at the boundaries of the current subpage

2. Changes relative to PLplot 5.8.0 (the previous stable release)

2.1 All autotools-related files have now been removed

CMake is now the only supported build system. It has been tested on
Linux / Unix, Mac OS-X and Windows platforms.

2.2 Build system bug fixes

Various fixes include the following:

Ctest will now work correctly when the build tree path includes symlinks.

Dependencies for swig generated files fixed so they are not rebuilt every 
time make is called.

Various dependency fixes to ensure that parallel builds (using make -j) 
work under unix.

2.3 Build system improvements

We now transform link flag results delivered to the CMake environment by
pkg-config into the preferred CMake form of library information.  The
practical effect of this improvement is that external libraries in
non-standard locations now have their rpath options set correctly for our
build system both for the build tree and the install tree so you don't have
to fiddle with LD_LIBRARY_PATH, etc.

2.4 Implement build-system infrastructure for installed Ada bindings and 
examples

Install source files, library information files, and the plplotada library
associated with the Ada bindings.  Configure and install the pkg-config file
for the plplotada library.  Install the Ada examples and a configured Makefile
to build them in the install tree.

2.5 Code cleanup

The PLplot source code has been cleaned up to make consistent use of 
(const char *) and (char *) throughout. Some API functions have changed 
to use const char * instead of char * to make it clear that the strings 
are not modified by the function. The C and C++ examples have been updated
consistent with this. These changes fix a large number of warnings 
with gcc-4.2. Note: this should not require programs using PLplot to be 
recompiled as it is not a binary API change.

There has also been some cleanup of include files in the C++ examples
so the code will compile with the forthcoming gcc-4.3.

2.6 Date / time labels for axes
  
PLplot now allows date / time labels to be used on axes. A new option 
('d') is available for the xopt and yopt arguments to plbox which 
indicates that the axis should be interpreted as a date / time. Similarly
there is a new range of options for plenv to select date / time labels. 
The time format is seconds since the epoch (usually 1 Jan 1970). This 
format is commonly used on most systems. The C gmtime routine can be 
used to calculate this for a given date and time. The format for the 
labels is controlled using a new pltimefmt function, which takes a 
format string. All formatting is done using the C strftime function. 
See documentation for available options on your platform. Example 29 
demonstrates the new capabilities.

N.B. Our reliance on C library POSIX time routines to (1) convert from
broken-down time to time-epoch, (2) to convert from time-epoch to
broken-down time, and (3) to format results with strftime have proved
problematic for non-C languages which have time routines of variable
quality.  Also, it is not clear that even the POSIX time routines are
available on Windows. So we have plans afoot to implement high-quality
versions of (1), (2), and (3) with additional functions to get/set the epoch
in the PLplot core library itself.  These routines should work on all C
platforms and should also be uniformly accessible for all our language
bindings. 

WARNING.....  Therefore, assuming these plans are implemented, the present
part of our date/time PLplot API that uses POSIX time routines will be
changed.

2.7 Alpha value support

PLplot core has been modified to support a transparency or alpha value
channel for each color in color map 0 and 1. In addition a number of new
functions were added the PLplot API so that the user can both set and query
alpha values for color in the two color maps. These functions have the same
name as their non-alpha value equivalents, but with a an "a" added to the
end. Example 30 demonstrates some different ways to use these functions
and the effects of alpha values, at least for those drivers that support alpha
values. This change should have no effect on the device drivers that do not 
currently support alpha values. Currently only the cairo, qt, gd, wxwidgets and
aquaterm drivers support alpha values. There are some limitations with the gd 
driver due to transparency support in the underlying libgd library.

2.8 New PLplot functions

An enhanced version of plimage, plimagefr has been added. This allows images
to be plotted using coordinate transformation, and also for the dynamic range
of the plotted values to be altered. Example 20 has been modified to 
demonstrate this new functionality. 

To ensure consistent results in example 21 between different platforms and 
language bindings PLplot now includes a small random number generator within
the library. plrandd will return a PLFLT random number in the range 0.0-1.0. 
plseed will allow the random number generator to be seeded.

2.9 External libLASi library improvements affecting our psttf device

Our psttf device depends on the libLASi library. libLASi-1.1.0 has just been
released at http://sourceforge.net/svn/?group_id=187113 .  We recommend
using this latest version of libLASi for building PLplot and the psttf
device since this version of libLASi is more robust against glyph
information returned by pango/cairo/fontconfig that on rare occasions is not
suitable for use by libLASi.

2.10 Improvements to the cairo driver family

Jonathan Woithe improved the xcairo driver so that it can optionally be 
used with an external user supplied X Drawable. This enables a nice 
separation of graphing (PLplot) and window management (Gtk, etc..). Doug 
Hunt fixed the bugs that broke the memcairo driver and it is now fully
functional. Additionally, a new extcairo driver was added that will plot
into a user supplied cairo context.

2.11 wxWidgets driver improvements

Complete reorganization of the driver code. A new backend was added, based
on the wxGraphicsContext class, which is available for wxWidgets 2.8.4
and later. This backend produces antialized output similar to the
AGG backend but has no dependency on the AGG library. The basic wxDC
backend and the wxGraphicsContext backend process the text output
on their own, which results in much nicer plots than with the standard
Hershey fonts and is much faster than using the freetype library. New
options were introduced in the wxWidgets driver:
 - backend: Choose backend: (0) standard, (1) using AGG library,
                            (2) using wxGraphicsContext
 - hrshsym: Use Hershey symbol set (hrshsym=0|1)
 - text: Use own text routines (text=0|1)
 - freetype: Use FreeType library (freetype=0|1)
The option "text" changed its meaning, since it enabled the FreeType library
support, while now the option enables the driver's own text routines.

Some other features were added:
 * the wxWidgets driver now correctly clears the background (or parts of it)
 * transparency support was added
 * the "locate mode" (already available in the xwin and tk driver) was
   implemented, where graphics input events are processed and translated
   to world coordinates

2.12 pdf driver improvements

The pdf driver (which is based on the haru library http://www.libharu.org)
processes the text output now on its own. So far only the Adobe Type1
fonts are supported. TrueType font support will follow. Full unicode
support will follow after the haru library will support unicode strings. The
driver is now able to produce A4, letter, A5 and A3 pages. The Hershey font
may be used only for symbols. Output can now be compressed, resulting in 
much smaller file sizes.
Added new options:
 - text: Use own text routines (text=0|1)
 - compress: Compress pdf output (compress=0|1)
 - hrshsym: Use Hershey symbol set (hrshsym=0|1)
 - pagesize: Set page size (pagesize=A4|letter|A3|A5)
 
2.13 svg driver improvements

This device driver has had the following improvements: schema for generated
file now validates properly at http://validator.w3.org/ for the
automatically detected document type of SVG 1.1; -geometry option now works;
alpha channel transparency has been implemented; file familying for
multipage examples has been implemented; coordinate scaling has been
implemented so that full internal PLplot resolution is used; extraneous
whitespace and line endings that were being injected into text in error have
now been removed; and differential correction to string justification is now
applied.  

The result of these improvements is that our SVG device now gives the
best-looking results of all our devices.  However, currently you must be
careful of which SVG viewer or editor you try because a number of them have
some bugs that need to be resolved.  For example, there is a librsvg bug in
text placement (http://bugzilla.gnome.org/show_bug.cgi?id=525023) that
affects all svg use within GNOME as well as the ImageMagick "display"
application.  However, at least the latest konqueror and firefox as well as
inkscape and scribus-ng (but not scribus!) give outstanding looking results
for files generated by our svg device driver.

2.14 Ada language support

We now have a complete Ada bindings implemented for PLplot. We also have a
complete set of our standard examples implemented in Ada which give results
that are identical with corresponding results for the C standard examples.
This is an excellent test of a large subset of the Ada bindings. We now
enable Ada by default for our users and request widespread testing of this
new feature.

2.15 OCaml language support

Thanks primarily to Hezekiah M. Carty's efforts we now have a complete OCaml
bindings implemented for PLplot. We also have a complete set of our standard
examples implemented in OCaml which give results that are identical with
corresponding results for the C standard examples. This is an excellent test
of a large subset of the OCaml bindings. We now enable OCaml by default for
our users and request widespread testing of this new feature.

2.16 Perl/PDL language support

Thanks to Doug Hunt's efforts the external Perl/PDL module,
PDL::Graphics::PLplot version 0.46 available at
http://search.cpan.org/dist/PDL-Graphics-PLplot has been brought up to date
to give access to recently added PLplot API.  The instructions for how to
install this module on top of an official PDL release are given in
examples/perl/README.perldemos. Doug has also finished implementing a
complete set of standard examples in Perl/PDL which are part of PLplot and
which produce identical results to their C counterparts if the above updated
module has been installed.  Our build system tests the version of
PDL::Graphics::PLplot that is available, and if it is not 0.46 or later, the
list of Perl/PDL examples that are run as part of our standard tests is
substantially reduced to avoid examples that use the new functionality.  In
sum, if you use PDL::Graphics::PLplot version 0.46 or later the full
complement of PLplot commands is available to you from Perl/PDL, but
otherwise not.

2.17 Updates to various language bindings

A concerted effort has been made to bring all the language bindings up to
date with recently added functions. Ada, C++, f77, f95, Java, OCaml, Octave, 
Perl/PDL, Python, and Tcl now all support the common PLplot API (with the 
exception of the mapping functions which are not yet implemented for all 
bindings due to technical issues.) This is a significant step forward for 
those using languages other than C.

2.18 Updates to various examples

To help test the updates to the language bindings the examples have been 
thoroughly checked. Ada, C, C++, f77, f95, and OCaml now contain a full set
of non-interactive tests (examples 1-31 excluding 14 and 17). Java, Octave,
Python and Tcl are missing example 19 because of the issue with the mapping
functions. The examples have also been checked to ensure consistent results
between different language bindings. Currently there are still some minor
differences in the results for the tcl examples, probably due to rounding
errors.  Some of the Tcl examples (example 21) require Tcl version 8.5 for
proper support for NaNs.

Also new is an option for the plplot_test.sh script to run the examples 
using a debugging command. This is enabled using the --debug option. The
default it to use the valgrind memory checker. This has highlighted at 
least one memory leaks in PLplot which have been fixed. It is not part 
of the standard ctest tests because it can be _very_ slow for a complete
set of language bindings and device drivers.

2.19 Extension of our test framework

The standard test suite for PLplot now carries out a comparison of the
stdout output (especially important for example 31 which tests most of our
set and get functions) and PostScript output for different languages as a
check.  Thanks to the addition of example 31, the inclusion of examples 14
and 17 in the test suite and other recent extensions of the other 
examples we now have rigourous testing in place for almost the entirety 
of our common API.  This extensive testing framework has already helped 
us track down a number of bugs, and it should make it much easier for us 
to maintain high quality for our ongoing PLplot releases.

2.20 Rename test subdirectory to plplot_test

This change was necessary to quit clashing with the "make test" target which
now works for the first time ever (by executing ctest).

2.21 Website support files updated

Our new website content is generated with PHP and uses CSS (cascaded style
sheets) to implement a consistent style.  This new approach demanded lots of
changes in the website support files that are used to generate and upload
our website and which are automatically included with the release.

2.22 Internal changes to function visibility

The internal definitions of functions in PLplot have been significantly 
tidied up to allow the use of the -fvisibility=hidden option with newer
versions of gcc. This prevents internal functions from being exported
to the user where possible. This extends the existing support for this
on windows.

2.23 Dynamic driver support in Windows

An interface based on the ltdl library function calls was established
which allows to open and close dynamic link libraries (DLL) during
run-time and call functions from these libraries. As a consequence
drivers can now be compiled into single DLLs separate from the core
PLplot DLL also in Windows. The cmake option ENABLE_DYNDRIVERS is now
ON by default for Windows if a shared PLplot library is built.

2.24 Documentation updates

The DocBook documentation has been updated to include many of the 
C-specific functions (for example plAlloc2dGrid) which are not part 
of the common API, but are used in the examples and may be helpful 
for PLplot users.

2.25 libnistcd (a.k.a. libcd) now built internally for -dev cgm

CGM format is a long-established (since 1987) open standard for vector
graphics that is supported by w3c (see http://www.w3.org/Graphics/WebCGM/).
PLplot has long had a cgm device driver which depended on the (mostly) 
public domain libcd library that was distributed in the mid 90's by National
Institute of Standards and Technology (NIST) and which is still available
from http://www.pa.msu.edu/ftp/pub/unix/cd1.3.tar.gz.  As a convenience
to our -dev cgm users, we have brought that
source code in house under lib/nistcd and now build libnistcd routinely
as part of our ordinary builds.  The only changes we have made to the
cd1.3 source code is visibility changes in cd.h and swapping the sense of
the return codes for the test executables so that 0 is returned on success
and 1 on failure.  If you want to test libnistcd on your platform,
please run

make test_nistcd

in the top-level build tree.  (That tests runs all the test executables
that are built as part of cd1.3 and compares the results that are generated
with the *.cgm files that are supplied as part of cd1.3.)

Two applications that convert and/or display CGM results on Linux are
ralcgm (which is called by the ImageMagick convert and display applications)
and uniconvertor.

Some additional work on -dev cgm is required to implement antialiasing and
non-Hershey fonts, but both those should be possible using libnistcd according
to the text that is shown by lib/nistcd/cdtext.cgm and lib/nistcd/cdexp1.cgm.

2.26 get-drv-info now changed to test-drv-info

To make cross-building much easier for PLplot we now configure the *.rc
files that are used to describe our various dynamic devices rather than
generating the required *.rc files with get-drv-info.  We have changed the
name of get-drv-info to test-drv-info.  That name is more appropriate
because that executable has always tested dynamic loading of the driver
plug-ins as well as generating the *.rc files from the information gleaned
from that dynamic loading.  Now, we simply run test-drv-info as an option
(defaults to ON unless cross-building is enabled) and compare the resulting
*.rc file with the one configured by cmake to be sure the dynamic device
has been built correctly.

2.27 Text clipping now enabled by default for the cairo devices

When correct text clipping was first implemented for cairo devices, it was
discovered that the libcairo library of that era (2007-08) did that clipping
quite inefficiently so text clipping was disabled by default.  Recent tests
of text clipping for the cairo devices using libcairo 1.6.4 (released in
2008-04) shows text clipping is quite efficient now.  Therefore, it is now
enabled by default.  If you notice a significant slowdown for some libcairo
version prior to 1.6.4 you can use the option -drvopt text_clipping=0 for
your cairo device plots (and accept the improperly clipped text results that
might occur with that option).  Better yet, use libcairo 1.6.4 or later.

2.28 A powerful qt device driver has been implemented

Thanks to the efforts of Alban Rochel of the QSAS team, we now have a new qt
device driver which delivers the following 9 (!) devices: qtwidget, bmpqt,
jpgqt, pngqt, ppmqt, tiffqt, epsqt, pdfqt, and svgqt. qtwidget is an
elementary interactive device where, for now, the possible interactions
consist of resizing the window and right clicking with the mouse (or hitting
<return> to be consistent with other PLplot interactive devices) to control
paging.  The qtwidget overall size is expressed in pixels. bmpqt, jpgqt,
pngqt, ppmqt, and tiffqt are file devices whose overall sizes are specified
in pixels and whose output is BMP (Windows bitmap), JPEG, PNG, PPM (portable
pixmap), and TIFF (tagged image file format) formatted files. epsqt, pdfqt,
svgqt are file devices whose overall sizes are specified in points (1/72 of
an inch) and whose output is EPS (encapsulated PostScript), PDF, and SVG
formatted files.  The qt device driver is based on the powerful facilities
of Qt4 so all qt devices implement variable opacity (alpha channel) effects
(see example 30).  The qt devices also use system unicode fonts, and deal
with CTL (complex text layout) languages automatically without any
intervention required by the user.  (To show this, try qt device results
from examples 23 [mathematical symbols] and 24 [CTL languages].)

Our exhaustive Linux testing of the qt devices (which consisted of detailed
comparisons for all our standard examples between qt device results and the
corresponding cairo device results) indicates this device driver is mature,
but testing on other platforms is requested to confirm that maturity. Qt-4.5
(the version we used for most of our tests) has some essential SVG
functionality so we recommend that version (downloadable from
http://www.qtsoftware.com/downloads for Linux, Mac OS X, and Windows) for
svgqt.  One of our developers found that pdfqt was orders of magnitude
slower than the other qt devices for Qt-4.4.3 on Ubuntu 8.10 installed on a
64 bit box.  That problem was completely cured by moving to the downloadable
Qt-4.5 version.  However, we have also had good Qt-4.4.3 pdfqt reports on
other platforms.  One of our developers also found that all first pages of
examples were black for just the qtwidget device for Qt-4.5.1 on Mac OS X.
From the other improvements we see in Qt-4.5.1 relative to Qt-4.4.3 we
assume this black first page for qtwidget problem also exists for Qt-4.4.3,
but we haven't tested that combination.

In sum, Qt-4.4.3 is worth trying if it is already installed on your machine,
but if you run into any difficulty with it please switch to Qt-4.5.x (once
Qt-4.5.x is installed all you have to do is to put the 4.5.x version of
qmake in your path, and cmake does the rest).  If the problem persists for
Qt-4.5, then it is worth reporting a qt bug.

2.29 The PLplot API is now accessible from Qt GUI applications

This important new feature has been implemented by Alban Rochel of the QSAS
team as a spin-off of the qt device driver project using the extqt device
(which constitutes the tenth qt device).  See examples/c++/README.qt_example
for a brief description of a simple Qt example which accesses the PLplot API
and which is built in the installed examples tree using the pkg-config
approach. Our build system has been enhanced to configure the necessary
plplotd-qt.pc file.

2.30 NaN / Inf support for some PLplot functions

Some PLplot now correctly handle Nan or Inf values in the data to be plotted.
Line plotting (plline etc) and image plotting (plimage, plimagefr) will 
now ignore NaN / Inf values. Currently some of the contour plotting / 3-d 
routines do not handle NaN / Inf values. This functionality will 
depend on whether the language binding used supports NaN / Inf values.

2.31 Various bug fixes

Various bugs in the 5.9.3 release have been fixed including:

- Include missing file needed for the aqt driver on Mac OS X
- Missing library version number for nistcd
- Fixes for the qt examples with dynamic drivers disabled
- Fixes to several tcl examples so they work with plserver
- Fix pkg-config files to work correctly with Debug / Release build types set
- Make fortran command line argument parsing work with shared libraries on Windows

2.32 Cairo driver improvements

Improvements to the cairo driver to give better results for bitmap 
formats when used with anti-aliasing file viewers.

2.33 PyQt changes

Years ago we got a donation of a hand-crafted pyqt3 interface to PLplot 
(some of the functions in plplot_widgetmodule.c in bindings/python) and a
proof-of-concept example (prova.py and qplplot.py in examples/python), but
this code did not gain any developer interest and was therefore not
understood or maintained. Recently one of our core developers has
implemented a sip-generated pyqt4 interface to PLplot (controlled by
plplot_pyqt4.sip in bindings/qt_gui/pyqt4) that builds without problems as a
python extension module, and a good-looking pyqt4 example (pyqt4_example.py
in examples/python) that works well.  Since this pyqt4 approach is
maintained by a PLplot developer it appears to have a good future, and we
have therefore decided to concentrate on pyqt4 and remove the pyqt3 PLplot
interface and example completely.

2.34 Color Palettes

Support has been added to PLplot for user defined color palette files.
These files can be loaded at the command line using the -cmap0 or
-cmap1 commands, or via the API using the plspal0 and plspal1 commands.
The commands cmap0 / plspal0 are used to load cmap0 type files which
specify the colors in PLplot's color table 0. The commands cmap1 /
plspal1 are used to load cmap1 type files which specify PLplot's color
table 1. Examples of both types of files can be found in either the
plplot-source/data directory or the PLplot installed directory 
(typically /usr/local/share/plplotx.y.z/ on Linux).

2.35 Reimplementation of a "soft landing" when a bad/missing compiler is
detected

The PLplot core library is written in C so our CMake-based build system will
error out if it doesn't detect a working C compiler.  However all other
compiled languages (Ada, C++, D, Fortran, Java, and OCaml) we support are
optional.  If a working compiler is not available, we give a "soft landing"
(give a warning message, disable the optional component, and keep going).
The old implementation of the soft landing was not applied consistently (C++
was unnecessarily mandatory before) and also caused problems for ccmake (a
CLI front-end to the cmake application) and cmake-gui (a CMake GUI front-end
to the cmake application) which incorrectly dropped languages as a result
even when there was a working compiler.  

We now have completely reimplemented the soft landing logic.  The result
works well for cmake, ccmake, and cmake-gui.  The one limitation of this new
method that we are aware of is it only recognizes either the default
compiler chosen by the generator or else a compiler specified by the
environment variable approach (see Official Notice XII above).  Once CMake
bug 9220 has been fixed (so that the OPTIONAL signature of the
enable_language command actually works without erroring out), then our
soft-landing approach (which is a workaround for bug 9220) will be replaced
by the OPTIONAL signature of enable_language, and all CMake methods of
specifying compilers and compiler options will automatically be recognized
as a result.

2.36 Make PLplot aware of LC_NUMERIC locale

For POSIX-compliant systems, locale is set globally so any external
applications or libraries that use the PLplot library or any external
libraries used by the PLplot library or PLplot device drivers could
potentially change the LC_NUMERIC locale used by PLplot to anything those
external applications and libraries choose. The principal consequence of
such choice is the decimal separator could be a comma (for some locales)
rather than the period assumed for the "C" locale.  For previous versions of
PLplot a comma decimal separator would have lead to a large number of
errors, but this issue is now addressed with a side benefit that our plots
now have the capability of displaying the comma (e.g., in axis labels) for
the decimal separator for those locales which require that.

If you are not satisfied with the results for the default PLplot locale set
by external applications and libraries, then you can now choose the
LC_NUMERIC locale for PLplot by (a) specifying the new -locale command-line
option for PLplot (if you do not specify that option, a default locale is
chosen depending on applications and libraries external to PLplot (see
comments above), and (b) setting an environment variable (LC_ALL,
LC_NUMERIC, or LANG on Linux, for example) to some locale that has been
installed on your system.  On Linux, to find what locales are installed, use
the "locale -a" option. The "C" locale is always installed, but usually
there is also a principal locale that works on a platform such as
en_US.UTF8, nl_NL.UTF8, etc.  Furthermore, it is straightforward to build
and install any additional locale you desire.  (For example, on Debian Linux
you do that by running "dpkg-reconfigure locales".)

Normally, users will not use the -locale option since the period
decimal separator that you get for the normal LC_NUMERIC default "C"
locale used by external applications and libraries is fine for their needs.
However, if the resulting decimal separator is not what the user
wants, then they would do something like the following to (a) use a period
decimal separator for command-line input and plots:

LC_ALL=C examples/c/x09c -locale -dev psc -o test.psc -ori 0.5

or (b) use a comma decimal separator for command-line input and plots:

LC_ALL=nl_NL.UTF8 examples/c/x09c -locale -dev psc -o test.psc -ori 0,5

N.B. in either case if the wrong separator is used for input (e.g., -ori 0,5
in the first case or -ori 0.5 in the second) the floating-point conversion
(using atof) is silently terminated at the wrong separator for the locale,
i.e., the fractional part of the number is silently dropped.  This is
obviously not ideal, but on the other hand there are relatively few
floating-point command-line options for PLplot, and we also expect those who
use the -locale option to specifically ask for a given separator for plots
(e.g., axis labels) will then use it for command-line input of
floating-point values as well.

Certain critical areas of the PLplot library (e.g., our colour palette file
reading routines and much of the code in our device drivers) absolutely
require a period for the decimal separator.  We now protect those critical
areas by saving the normal PLplot LC_NUMERIC locale (established with the
above -locale option or by default by whatever is set by external
applications or libraries), setting the LC_NUMERIC "C" locale, executing the
critical code, then restoring back to the normal PLplot LC_NUMERIC locale.
Previous versions of PLplot did not have this protection of the critical
areas so were vulnerable to default LC_NUMERIC settings of external
applications that resulted in a comma decimal separator that did not work
correctly for the critical areas.

2.37 Linear gradients have been implemented

The new plgradient routine draws a linear gradient (based on the
current colour map 1) at a specified angle with the x axis for a
specified polygon.  Standard examples 25 and 30 now demonstrate use of
plgradient.  Some devices use a software fallback to render the
gradient.  This fallback is implemented with plshades which uses a
series of rectangles to approximate the gradient. Tiny alignment
issues for those rectangles relative to the pixel grid may look
problematic for transparency gradients.  To avoid that issue, we try
to use native gradient capability whenever that is possible for any of
our devices.  Currently, this has been implemented for our svg, qt,
and cairo devices.  The result is nice-looking smooth transparency
gradients for those devices, for, e.g., example 30, page 2.

2.38 Cairo Windows driver implemented

A cairo Windows driver has been implemented. This provides an
interactive cairo driver for Windows similar to xcairo on Linux.
Work to improve its functionality is ongoing.

2.39 Custom axis labeling implemented

Axis text labels can now be customized using the new plslabelfunc function.
This allows a user to specify what text should be draw at a given position
along a plot axis.  Example 19 has been updated to illustrate this function's
use through labeling geographic coordinates in degrees North, South, East and
West.

2.40 Universal coordinate transform implemented

A custom coordinate transformation function can be set using plstransform.
This transformation function affects all subsequent plot function calls which
work with plot window coordinates.  Testing and refinement of this support is
ongoing.

2.41 Support for arbitrary storage of 2D user data

This improvement courtesy of David MacMahon adds support for arbitrary 
storage of 2D user data.  This is very similar to the technique employed 
by some existing functions (e.g. plfcont and plfshade) that use "evaluator" 
functions to access 2D user data that is stored in an arbtrary format.  
The new approach extends the concept of a user-supplied (or predefined) 
"evaluator" function to a group of user-supplied (or predefined) "operator" 
functions.  The operator functions provide for various operations on the 
arbitrarily stored 2D data including: get, set, +=, -=, *=, /=, isnan, 
minmax, and f2eval.

To facilitate the passing of an entire family of operator functions (via
function pointers), a plf2ops_t structure is defined to contain a
pointer to each type of operator function.  Predefined operator
functions are defined for several common 2D data storage techniques.
Variables (of type plf2ops_t) containing function pointers for these
operator functions are also defined.

New variants of functions that accept 2D data are created.  The new
variants accept the 2D data as two parameters: a pointer to a plf2ops_t
structure containing (pointers to) suitable operator functions and a
PLPointer to the actual 2D data store.  Existing functions that accept
2D data are modified to simply pass their parameters to the
corresponding new variant of the function, along with a pointer to the
suitable predefined plf2ops_t stucture of operator function pointers.

The list of functions for which new variants are created is:
c_plimage, c_plimagefr, c_plmesh, c_plmeshc, c_plot3d, c_plot3dc,
c_plot3dcl, c_plshade1, c_plshades, c_plsurf3d, and c_plsurf3dl, and
c_plgriddata.  The new variants are named the same as their
corresponding existing function except that the "c_" prefix is changed
to "plf" (e.g. the new variant of c_plmesh is called plfmesh).

Adds plfvect declaration to plplot.h and changes the names (and only the
names) of some plfvect arguments to make them slightly clearer.  In
order to maintain backwards API compatibility, this function and the
other existing functions that use "evaluator" functions are NOT changed
to use the new operator functions.

Makes plplot.h and libplplot consistent vis-a-vis pltr0f and pltr2d.
Moves the definitions of pltr2f (already declared in plplot.h) from the
sccont.c files of the FORTRAN 77 and Fortran 95 bindings into plcont.c.
Removes pltr0f declaration from plplot.h.

Changes x08c.c to demonstrate use of new support for arbitrary storage
of 2D data arrays.  Shows how to do surface plots with the following
four types of 2D data arrays:

1) PLFLT z[nx][ny];
2) PLfGrid2 z;
3) PLFLT z[nx*ny]; /* row major order */
4) PLFLT z[nx*ny]; /* column major order */

2.42 Font improvements

We have added the underscore to the Hershey glyphs (thanks to David
MacMahon) and slightly rearranged the ascii index to the Hershey
indices so that plpoin now generates the complete set of printable
ascii characters in the correct order for the Hershey fonts (and therefore
the Type1 and TrueType fonts as well).

We have improved how we access TrueType and Type1 fonts via the Hershey
font index (used by plpoin, plsym, and the Hershey escape sequences in pl*tex
commands).  We have added considerably to the Hershey index to Unicode index
translation table both for the compact and extended Hershey indexing scheme,
and we have adopted the standard Unicode to Type1 index translation tables
from http://unicode.org/Public/MAPPINGS/VENDORS/ADOBE/.

We have also dropped the momentary switch to symbol font that was
implemented in the PLplot core library.  That switch was designed to partially
compensate for the lack of symbol glyphs in the standard Type1 fonts.  That
was a bad design because it affected TrueType font devices as well as
the desired Type1 font devices.  To replace this bad idea we now
change from Type1 standard fonts to the Type1 Symbol font (and vice
versa) whenever there is a glyph lookup failure in the Type1 font
device drivers (ps and pdf).

2.42 Alpha value support for plotting in memory.

The function plsmema() was added to the PLplot API. This allows the user
to supply a RGBA formatted array that PLplot can use to do in memory
plotting with alpha value support. At present only the memcairo device
is capable of using RGBA formatted memory. The mem device, at least
for the time being, only supports RGB formatted memory and will exit
if the user attempts to give it RGBA formatted memory to plot in.

2.43 Add a Qt device for in memory plotting.

A new device called memqt has been added for in memory plotting using
Qt. This device is the Qt equivalent of the memcairo device.

2.44 Add discrete legend capability.

A new routine called pllegend has been added to our core C API.
(N.B. This is an experimental API that may be subject to further
change as we gain more experience with it.)  This routine creates a
discrete plot legend with a plotted box, line, and/or line of symbols
for each annotated legend entry. The arguments of pllegend provide
control over the location and size of the legend within the current
subpage as well as the location and characteristics of the elements
(most of which are optional) within that legend. The resulting legend
is clipped at the boundaries of the current subpage


svn changelog:
------------------------------------------------------------------------
r11241 | hbabcock | 2010-10-03 09:05:39 -0400 (Sun, 03 Oct 2010) | 1 line
Changed paths:
   M /trunk/cmake/modules/plplot_version.cmake

Update date and version number for 5.9.7 release. Increment SOVERSION for the core library to reflect backwards incompatible API changes that were made in previous versions.
------------------------------------------------------------------------
r11240 | airwin | 2010-10-02 18:19:19 -0400 (Sat, 02 Oct 2010) | 2 lines
Changed paths:
   M /trunk/README.release

Add remarks about new pllegend capability to the release notes.

------------------------------------------------------------------------
r11239 | airwin | 2010-10-02 18:11:06 -0400 (Sat, 02 Oct 2010) | 2 lines
Changed paths:
   M /trunk/doc/docbook/src/api.xml

Add (DocBook) documentation of pllegend.

------------------------------------------------------------------------
r11238 | airwin | 2010-10-01 17:12:14 -0400 (Fri, 01 Oct 2010) | 3 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/examples/c/x26c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Use "const" attribute for all arrays in pllegend argument list since
none of those array values are changed within pllegend.

------------------------------------------------------------------------
r11237 | airwin | 2010-10-01 01:42:41 -0400 (Fri, 01 Oct 2010) | 3 lines
Changed paths:
   M /trunk/examples/c/x26c.c

Make example 26 (consisting of various translations of the first page of
example 4) consistent with example 4 again including its legend.

------------------------------------------------------------------------
r11236 | airwin | 2010-10-01 01:42:13 -0400 (Fri, 01 Oct 2010) | 3 lines
Changed paths:
   M /trunk/examples/c/x04c.c

Use the minimum required initialization of legend quantities as
mentioned on list.

------------------------------------------------------------------------
r11235 | airwin | 2010-10-01 00:24:17 -0400 (Fri, 01 Oct 2010) | 2 lines
Changed paths:
   M /trunk/src/pllegend.c

Correctly order doxygen parameter documentation for pllegend.

------------------------------------------------------------------------
r11234 | airwin | 2010-10-01 00:13:15 -0400 (Fri, 01 Oct 2010) | 2 lines
Changed paths:
   M /trunk/scripts/comprehensive_test.sh

Tweak error message.

------------------------------------------------------------------------
r11233 | airwin | 2010-09-30 12:40:34 -0400 (Thu, 30 Sep 2010) | 2 lines
Changed paths:
   M /trunk/scripts/comprehensive_test.sh

Tweak self-documentation some more.

------------------------------------------------------------------------
r11232 | airwin | 2010-09-30 05:40:12 -0400 (Thu, 30 Sep 2010) | 3 lines
Changed paths:
   M /trunk/scripts/comprehensive_test.sh

Improved self documentation, mandatory option for the build command to
be used (e.g., make, 'make -j4', nmake, or whatever).

------------------------------------------------------------------------
r11231 | airwin | 2010-09-28 18:45:18 -0400 (Tue, 28 Sep 2010) | 11 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Drop cmap1 color box option so that all colors are expressed with
cmap0.  That is a nice simplification as discussed on list.

Improve handling of PL_LEGEND_NONE so that it overrides all other
opt_array flags.

Reorder/rename some arguments in a more rational manner.  For example,
the color box, line, and symbols for each legend entry are rendered
in that order so put the arguments in that order as well.


------------------------------------------------------------------------
r11230 | airwin | 2010-09-28 13:49:52 -0400 (Tue, 28 Sep 2010) | 7 lines
Changed paths:
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

PL_LEGEND_NONE #defined to indicate the plotted area of a particular
legend entry should have nothing plotted.

text_justification argument changed from PLINT to the correct PLFLT.

Thanks to Hez for spotting these two issues.

------------------------------------------------------------------------
r11229 | airwin | 2010-09-28 01:58:58 -0400 (Tue, 28 Sep 2010) | 6 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Complete doxygenation of pllegend.c.

Rename and reorder certain arguments of pllegend into more rational
form.


------------------------------------------------------------------------
r11228 | airwin | 2010-09-28 01:55:31 -0400 (Tue, 28 Sep 2010) | 2 lines
Changed paths:
   M /trunk/doc/CMakeLists.txt

Change target name from doxygen_built to build_doxygen.

------------------------------------------------------------------------
r11227 | airwin | 2010-09-27 22:46:36 -0400 (Mon, 27 Sep 2010) | 3 lines
Changed paths:
   M /trunk/scripts/convert_comment.py

When transforming one-line "/*...*/" comments by the "//" form, make
sure there is no trailing blank characters in the result.

------------------------------------------------------------------------
r11226 | airwin | 2010-09-27 22:41:58 -0400 (Mon, 27 Sep 2010) | 2 lines
Changed paths:
   M /trunk/src/plpage.c

Improve doxygenization of this source file.

------------------------------------------------------------------------
r11225 | airwin | 2010-09-27 22:40:37 -0400 (Mon, 27 Sep 2010) | 2 lines
Changed paths:
   M /trunk/examples/c/x04c.c

Use text_justification pllegend capability to improve looks of legend.

------------------------------------------------------------------------
r11224 | airwin | 2010-09-27 22:39:40 -0400 (Mon, 27 Sep 2010) | 5 lines
Changed paths:
   M /trunk/src/pllegend.c

Doxygenization started but not complete.

Implement test_justification (which I forgot to implement before).


------------------------------------------------------------------------
r11223 | airwin | 2010-09-27 01:04:27 -0400 (Mon, 27 Sep 2010) | 2 lines
Changed paths:
   M /trunk/src/plpage.c

Convert to "//" style of comments while preserving doxygen results.

------------------------------------------------------------------------
r11222 | airwin | 2010-09-26 22:06:17 -0400 (Sun, 26 Sep 2010) | 9 lines
Changed paths:
   A /trunk/scripts/convert_comment.py

Initial commit of python script to convert from "/*...*/" form of
comment (single or multi-line) to "//" form of comment for C/C++ code.

There are some simplifying assumptions about the form of comments so
apply this script with a lot of checking and care, but for the one C
source file where I have tested this script so far, the script seems
to work.


------------------------------------------------------------------------
r11221 | airwin | 2010-09-26 14:15:29 -0400 (Sun, 26 Sep 2010) | 7 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/src/pllegend.c

Set viewport internally so legend gets clipped at sub-page boundaries.

Change meaning of x, y position and plot_width to refer to normalized
sub-page coordinates.  Example 4 changed to be consistent with these
new meanings.


------------------------------------------------------------------------
r11220 | airwin | 2010-09-26 10:59:23 -0400 (Sun, 26 Sep 2010) | 8 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Add (discrete) cmap1 capability to pllegend.  This completes my
pllegend API changes (continuous cmap1 colorbar legends will be handled
separately), but the pllegend API still needs review by others.

pllegend ToDo.  Internal (doxygen) and DocBook documentation and create
temporary viewport internally that allows legends outside the external
viewport.

------------------------------------------------------------------------
r11219 | airwin | 2010-09-26 00:25:42 -0400 (Sun, 26 Sep 2010) | 2 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

API change: implement cmap0-style legends.

------------------------------------------------------------------------
r11218 | airwin | 2010-09-25 22:24:06 -0400 (Sat, 25 Sep 2010) | 2 lines
Changed paths:
   M /trunk/src/pllegend.c

Implement PL_LEGEND_TEXT_LEFT capability.

------------------------------------------------------------------------
r11217 | airwin | 2010-09-25 22:23:17 -0400 (Sat, 25 Sep 2010) | 2 lines
Changed paths:
   M /trunk/examples/c/x04c.c

Tweak appearance of plot.

------------------------------------------------------------------------
r11216 | airwin | 2010-09-25 20:56:26 -0400 (Sat, 25 Sep 2010) | 7 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Put small left and right border change on legend to make
better-looking background result.

API change.... Implement separate text colours for each legend line and use
that feature for the 4th example.


------------------------------------------------------------------------
r11215 | hbabcock | 2010-09-25 19:28:07 -0400 (Sat, 25 Sep 2010) | 1 line
Changed paths:
   M /trunk/cmake/modules/qt.cmake

Fix typo for memqt device.
------------------------------------------------------------------------
r11214 | hbabcock | 2010-09-25 19:27:25 -0400 (Sat, 25 Sep 2010) | 1 line
Changed paths:
   M /trunk/cmake/modules/qt.cmake

Fix if statement for memqt device.
------------------------------------------------------------------------
r11213 | hbabcock | 2010-09-25 19:25:56 -0400 (Sat, 25 Sep 2010) | 1 line
Changed paths:
   M /trunk/cmake/modules/qt.cmake

Add cmake logic to turn of the memqt device if Qt is not installed, untested.
------------------------------------------------------------------------
r11212 | airwin | 2010-09-25 17:11:06 -0400 (Sat, 25 Sep 2010) | 5 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Really do have an indexed nsymbols (rather than overall) to specify
the number of symbols per legend line.

Tweak legend in example to make it look a bit better.

------------------------------------------------------------------------
r11211 | airwin | 2010-09-25 16:33:17 -0400 (Sat, 25 Sep 2010) | 2 lines
Changed paths:
   M /trunk/drivers/cairo.c
   M /trunk/drivers/mem.c
   M /trunk/drivers/qt.cpp
   M /trunk/src/plarc.c
   M /trunk/src/plcore.c

Style recent changes.

------------------------------------------------------------------------
r11210 | airwin | 2010-09-25 16:30:22 -0400 (Sat, 25 Sep 2010) | 28 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Complete rewrite of pllegend.

The API now includes the following:

Line, symbol, and cmap0 legends.  Line and symbol are completely
implemented and tested.  cmap0 should be a complete API, but it is not
implemented yet. A cmap1 API is still in the planning stages for
pllegend.

A (semitransparent) background option. Note, the extent of the
background depends on the size of the character strings that are
rendered so more work is required on plstrl and various device drivers
before the background option gives properly aligned results for
anything but the Hershey fonts.

The text part of the legend has the following overall characteristics:
text offset (between text and plot), scale (of vertical height of
characters), (vertical) spacing, justification, and (cmap0) color
index.

Any particular legend index can have any combination of a line,
a line of symbols, and/or a cmap0 box.  The line characteristics
are (cmap0) color index, line style index, and line width.  The symbol
characteristics are the number of symbols, the (cmap0) color index, and
the scale (of vertical height of the symbol).  The cmap0 box
characteristics are height, (cmap0) color index, and fill pattern style.


------------------------------------------------------------------------
r11209 | airwin | 2010-09-24 00:01:45 -0400 (Fri, 24 Sep 2010) | 3 lines
Changed paths:
   M /trunk/examples/python/CMakeLists.txt

Properly handle case of vacuous list of plsmem(a) related devices.


------------------------------------------------------------------------
r11208 | airwin | 2010-09-23 23:30:28 -0400 (Thu, 23 Sep 2010) | 6 lines
Changed paths:
   M /trunk/examples/python/CMakeLists.txt
   D /trunk/examples/python/test_mem.py
   D /trunk/examples/python/test_memqt.py
   M /trunk/examples/python/test_plsmem.py.in

Incorporate test_memqt.py and test_mem.py logic into
test_plsmem.py(.in) by configuring an available plsmem-related device
list and doing all plotting for both RGB and RGBA for each available
device using a python function to simplify the logic.


------------------------------------------------------------------------
r11207 | airwin | 2010-09-23 19:53:50 -0400 (Thu, 23 Sep 2010) | 10 lines
Changed paths:
   M /trunk/examples/python/CMakeLists.txt
   D /trunk/examples/python/test_memcairo.py
   A /trunk/examples/python/test_plsmem.py.in (from /trunk/examples/python/test_memcairo.py:11205)

Change name of test_memcairo.py to test_plsmem.py.in and treat this
file as configurable within CMake.  Ignore test_mem.py and test_qt.py
within CMake.  

This is the start of amalgamating the functionality of
test_memcairo.py, test_mem.py, and test_qt.py into the configurable
file test_plsmem.py.in, but the functionality of test_mem.py and
test_qt.py have not been amalgamated yet.


------------------------------------------------------------------------
r11206 | airwin | 2010-09-23 19:23:40 -0400 (Thu, 23 Sep 2010) | 2 lines
Changed paths:
   M /trunk/drivers/qt.rc.in

Add new memqt device to the list.

------------------------------------------------------------------------
r11205 | airwin | 2010-09-23 14:47:00 -0400 (Thu, 23 Sep 2010) | 5 lines
Changed paths:
   M /trunk/doc/docbook/src/advanced.xml
   M /trunk/doc/docbook/src/drivers.xml
   M /trunk/doc/docbook/src/gui.xml
   M /trunk/doc/docbook/src/libraries.xml
   M /trunk/examples/c/README.plplotcanvas

Remove all references to the retired gnome and gnome2 bindings and the
retired gcw device and associated plplotcanvas applications from the
documentation.


------------------------------------------------------------------------
r11204 | hbabcock | 2010-09-23 13:30:18 -0400 (Thu, 23 Sep 2010) | 1 line
Changed paths:
   A /trunk/examples/python/test_memqt.py

Actually add and commit the python test program for memqt.
------------------------------------------------------------------------
r11203 | hbabcock | 2010-09-23 13:28:27 -0400 (Thu, 23 Sep 2010) | 1 line
Changed paths:
   M /trunk/README.release
   M /trunk/cmake/modules/drivers-init.cmake
   M /trunk/drivers/qt.cpp
   M /trunk/examples/python/CMakeLists.txt
   M /trunk/include/drivers.h
   M /trunk/include/plDevs.h.cmake
   M /trunk/include/plcore.h
   M /trunk/include/qt.h

Add a Qt based memory plotting device (memqt) for symmetry purposes. This is the Qt equivalent of the memcairo device. A python example program, test_memqt.py is also added to demonstrate how to use it.
------------------------------------------------------------------------
r11202 | airwin | 2010-09-22 18:16:18 -0400 (Wed, 22 Sep 2010) | 3 lines
Changed paths:
   M /trunk/examples/python/test_memcairo.py

Impose a dark gray background for RGB case and a dark gray
semi-transparent background for the RGBA case.

------------------------------------------------------------------------
r11201 | airwin | 2010-09-22 15:23:32 -0400 (Wed, 22 Sep 2010) | 8 lines
Changed paths:
   M /trunk/include/plplot.h

Actually declare c_plsmema.  Without this declaration the build will
fail if your platform (e.g., Linux gcc with -fvisibility=hidden or
Windows) attempts to hide library symbols by default.

Tweak documentation of plsmem to be consistent with the plsmema
documentation.


------------------------------------------------------------------------
r11200 | airwin | 2010-09-22 15:16:06 -0400 (Wed, 22 Sep 2010) | 2 lines
Changed paths:
   M /trunk/bindings/swig-support/plplotcapi.i

Tweak documentation of plsmem and plsmema.

------------------------------------------------------------------------
r11199 | hbabcock | 2010-09-22 11:05:29 -0400 (Wed, 22 Sep 2010) | 1 line
Changed paths:
   M /trunk/doc/docbook/src/api.xml

Add documentation for the plsmema() function. Tweak documentation for the plsmem() function.
------------------------------------------------------------------------
r11198 | hbabcock | 2010-09-22 10:40:34 -0400 (Wed, 22 Sep 2010) | 1 line
Changed paths:
   M /trunk/README.release
   M /trunk/cmake/modules/drivers-init.cmake

Turn the memcairo driver ON by default. Add a note about plsmema to the README.release file.
------------------------------------------------------------------------
r11197 | hbabcock | 2010-09-22 10:28:41 -0400 (Wed, 22 Sep 2010) | 1 line
Changed paths:
   M /trunk/examples/python/CMakeLists.txt
   A /trunk/examples/python/test_memcairo.py

Add a python example of how to use memcairo with and without alpha values.
------------------------------------------------------------------------
r11196 | hbabcock | 2010-09-22 10:14:07 -0400 (Wed, 22 Sep 2010) | 1 line
Changed paths:
   M /trunk/bindings/swig-support/plplotcapi.i
   M /trunk/drivers/cairo.c

Add plsmema() support to the Python language bindings. Make the if statements in the memcairo driver more explicit.
------------------------------------------------------------------------
r11195 | hbabcock | 2010-09-21 19:05:25 -0400 (Tue, 21 Sep 2010) | 1 line
Changed paths:
   M /trunk/drivers/mem.c

Change mem driver so that it exits if it is asked to plot with alpha values.
------------------------------------------------------------------------
r11194 | hbabcock | 2010-09-21 19:01:24 -0400 (Tue, 21 Sep 2010) | 1 line
Changed paths:
   M /trunk/drivers/cairo.c
   M /trunk/include/plplot.h
   M /trunk/include/plstrm.h
   M /trunk/src/plcore.c

Add Alpha value support for plotting in memory. Tested that this does not break the mem or memcairo drivers. Memcairo plotting with alpha values has not yet been tested.
------------------------------------------------------------------------
r11193 | airwin | 2010-09-18 19:04:08 -0400 (Sat, 18 Sep 2010) | 2 lines
Changed paths:
   M /trunk/doc/docbook/src/ada.xml

Change literal > to &gt; to be consistent with xml standards.

------------------------------------------------------------------------
r11192 | hezekiahcarty | 2010-09-18 15:14:46 -0400 (Sat, 18 Sep 2010) | 16 lines
Changed paths:
   M /trunk/src/plarc.c

For Steve Schwartz: Apply plarc_approx bugfix

From Steve's email:

1  When you filled an arc, you did so by OVERWRITING the last point in
the set of arc segments by the origin, so the filled arc stops short of
the last theta.

2  While you check to ensure that there are at least 2 segments so you
can fill the polygon, again since you overwrite the last point you only
end up with a polygon with 2 points which plfill can't fill.

3  When you calculate the number of segments, you don't allow for an arc
drawn backward, and so end up with a negative number of segments, which
then turns into 2 which is still not enough (see (2)).

------------------------------------------------------------------------
r11191 | hezekiahcarty | 2010-09-18 14:43:57 -0400 (Sat, 18 Sep 2010) | 7 lines
Changed paths:
   M /trunk/bindings/ocaml/plcairo/plcairo.ml
   M /trunk/bindings/ocaml/plcairo/plcairo.mli

Add ?pre parameter to OCaml Plcairo initialization

This allows a user to specify a function which should be called before
the plot initializes.  It can be used, for example, to set the plot
background color or to parse and apply PLplot-related command line
arguments.

------------------------------------------------------------------------
r11190 | hbabcock | 2010-09-16 13:44:09 -0400 (Thu, 16 Sep 2010) | 1 line
Changed paths:
   M /trunk/doc/docbook/src/ada.xml

Change Ada documentation so that it does not crash docbook.
------------------------------------------------------------------------
r11189 | hbabcock | 2010-09-16 13:43:20 -0400 (Thu, 16 Sep 2010) | 1 line
Changed paths:
   M /trunk/doc/docbook/src/api.xml

Add documentation for plspal0 and plspal1.
------------------------------------------------------------------------
r11188 | airwin | 2010-09-16 13:43:05 -0400 (Thu, 16 Sep 2010) | 4 lines
Changed paths:
   M /trunk/scripts/check_backwards_incompatible_api.sh

Use specific file names for wget results.  (It appears some platforms
need this).  Also, put "This may take a while..." message for downloads
in the correct place.

------------------------------------------------------------------------
r11187 | airwin | 2010-09-15 19:59:02 -0400 (Wed, 15 Sep 2010) | 3 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Add line_style and line_width to line attributes that are plotted in
legend.  Thanks, Arjen, for this suggestion.

------------------------------------------------------------------------
r11186 | airwin | 2010-09-15 19:57:11 -0400 (Wed, 15 Sep 2010) | 2 lines
Changed paths:
   M /trunk/src/plsdef.c

pllsty stores lin in  plsc->line_style.

------------------------------------------------------------------------
r11185 | airwin | 2010-09-15 19:55:45 -0400 (Wed, 15 Sep 2010) | 3 lines
Changed paths:
   M /trunk/include/plstrm.h

Store line_style (index of last call to pllsty) in PLStream.  
Place at the last place so no API change for now.

------------------------------------------------------------------------
r11184 | airwin | 2010-09-15 19:53:22 -0400 (Wed, 15 Sep 2010) | 3 lines
Changed paths:
   M /trunk/src/plcore.c

Use pllsty rather than plstyl to intialize line style.   This allows
storing the line style index in plsc->line_style.

------------------------------------------------------------------------
r11183 | airwin | 2010-09-14 22:17:25 -0400 (Tue, 14 Sep 2010) | 5 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Add opt argument to pllegend to control kind of legend.  Use this
argument to implement finer-grained control so that one call to
pllegend suffices to create a line legend, a symbol legend, or both.


------------------------------------------------------------------------
r11182 | airwin | 2010-09-14 22:13:51 -0400 (Tue, 14 Sep 2010) | 2 lines
Changed paths:
   M /trunk/include/plstrm.h

Style whitespace tweak.

------------------------------------------------------------------------
r11181 | airwin | 2010-09-14 12:16:21 -0400 (Tue, 14 Sep 2010) | 5 lines
Changed paths:
   M /trunk/src/pllegend.c

Set correct properties for this source file.  In particular
svn:eol-style is set to native which affects
all the line endings.


------------------------------------------------------------------------
r11180 | arjenmarkus | 2010-09-14 02:54:57 -0400 (Tue, 14 Sep 2010) | 1 line
Changed paths:
   M /trunk/src/pllegend.c

Make the function get_character_or_symbol_height a static function - it is only used in the pllegend.c source file
------------------------------------------------------------------------
r11179 | airwin | 2010-09-14 00:47:14 -0400 (Tue, 14 Sep 2010) | 6 lines
Changed paths:
   M /trunk/scripts/check_backwards_incompatible_api.sh

Make sure abi-compliance-checker.pl is on the script user's PATH and
has the correct version (currently 1.21.4).  After the reference and
working-copy builds and installs are done, run
abi-compliance-checker.pl to produce a report for libplplotd.


------------------------------------------------------------------------
r11178 | airwin | 2010-09-14 00:41:38 -0400 (Tue, 14 Sep 2010) | 4 lines
Changed paths:
   M /trunk/abi-compliance-checker.xml.template.in

Force installed headers to be checked in a good order (with plplotP.h and qt.h at
the top of the list) and exclude deprecated headers and the
wxwidgets-related headers I have been unable to figure out, yet.

------------------------------------------------------------------------
r11177 | airwin | 2010-09-14 00:35:01 -0400 (Tue, 14 Sep 2010) | 2 lines
Changed paths:
   M /trunk/include/plstrm.h

Keep a constant SOVERSION relative to 5.9.6.

------------------------------------------------------------------------
r11176 | airwin | 2010-09-12 22:01:25 -0400 (Sun, 12 Sep 2010) | 7 lines
Changed paths:
   M /trunk/bindings/gnome2/lib/gcw-lib.c
   M /trunk/bindings/gnome2/lib/plplotcanvas.c
   M /trunk/bindings/octave/massage.c
   M /trunk/bindings/qt_gui/plqt.cpp
   M /trunk/bindings/tcl/tclAPI.c
   M /trunk/bindings/tk/plframe.c
   M /trunk/drivers/aqt.c
   M /trunk/drivers/cairo.c
   M /trunk/drivers/cgm.c
   M /trunk/drivers/dg300.c
   M /trunk/drivers/gcw.c
   M /trunk/drivers/gd.c
   M /trunk/drivers/ljiip.c
   M /trunk/drivers/pbm.c
   M /trunk/drivers/plplotcanvas-hacktext.c
   M /trunk/drivers/ps.c
   M /trunk/drivers/pstex.c
   M /trunk/drivers/qt.cpp
   M /trunk/drivers/tk.c
   M /trunk/drivers/tkwin.c
   M /trunk/drivers/wingcc.c
   M /trunk/drivers/wxwidgets.cpp
   M /trunk/drivers/wxwidgets_dc.cpp
   M /trunk/drivers/wxwidgets_gc.cpp
   M /trunk/drivers/xwin.c
   M /trunk/examples/c/plplotcanvas_animation.c
   M /trunk/examples/c/x01c.c
   M /trunk/examples/c/x07c.c
   M /trunk/examples/c/x17c.c
   M /trunk/examples/c/x20c.c
   M /trunk/examples/c/x27c.c
   M /trunk/examples/c++/x01.cc
   M /trunk/examples/c++/x07.cc
   M /trunk/examples/c++/x17.cc
   M /trunk/examples/c++/x20.cc
   M /trunk/examples/c++/x27.cc
   M /trunk/examples/d/x07d.d
   M /trunk/examples/d/x16d.d
   M /trunk/examples/d/x20d.d
   M /trunk/examples/d/x27d.d
   M /trunk/examples/d/x28d.d
   M /trunk/fonts/font01.c
   M /trunk/fonts/plhershey-unicode-gen.c
   M /trunk/include/gcw.h
   M /trunk/lib/nistcd/cd.c
   M /trunk/lib/nistcd/cdmulti.c
   M /trunk/lib/nistcd/cdsimple.c
   M /trunk/lib/nistcd/cdtest.c
   M /trunk/lib/nistcd/cdtext.c
   M /trunk/lib/nistcd/color16.c
   M /trunk/lib/nn/delaunay.h
   M /trunk/lib/nn/nnpi.c
   M /trunk/lib/qsastime/qsastime.c
   M /trunk/lib/qsastime/qsastime_extra.c
   M /trunk/lib/qsastime/tai-utc-gen.c
   M /trunk/src/mt19937ar.c
   M /trunk/src/pdfutils.c
   M /trunk/src/plargs.c
   M /trunk/src/plbuf.c
   M /trunk/src/plcont.c
   M /trunk/src/plcore.c
   M /trunk/src/plctrl.c
   M /trunk/src/plcvt.c
   M /trunk/src/pldeprecated.c
   M /trunk/src/plf2ops.c
   M /trunk/src/plfill.c
   M /trunk/src/plfreetype.c
   M /trunk/src/plgradient.c
   M /trunk/src/plgridd.c
   M /trunk/src/pllegend.c
   M /trunk/src/plline.c
   M /trunk/src/plmap.c
   M /trunk/src/plot3d.c
   M /trunk/src/plshade.c
   M /trunk/src/plstdio.c
   M /trunk/src/plsym.c
   M /trunk/src/plvect.c
   M /trunk/utils/plrender.c

Style changes (mostly splitting one-line ifs, but one-line whiles,
else ifs, and fors are also split up and trailing comments are sometimes
also split into separate lines) caused by moving from uncrustify 0.55
to uncrustify 0.56.  All these style changes have been tested by an installed
examples test (both noninteractive and interactive) for shared
libraries.

------------------------------------------------------------------------
r11175 | airwin | 2010-09-12 21:57:39 -0400 (Sun, 12 Sep 2010) | 6 lines
Changed paths:
   M /trunk/scripts/comprehensive_test.sh

Install user options to add a set of cmake options to each cmake
invocation in the build tree, to allow control of the kind of builds
that are tested, and to allow control of the kinds of tests that are
done for each kind of build that is done.


------------------------------------------------------------------------
r11174 | airwin | 2010-09-12 15:16:27 -0400 (Sun, 12 Sep 2010) | 16 lines
Changed paths:
   M /trunk/uncrustify.cfg

Generate new configuration file compatible with uncrustify 0.56 using
uncrustify -c uncrustify.cfg --update-config-with-doc > new_config_file
mv new_config_file uncrustify.cfg

Also edit that new configuration file to change

cmt_indent_multi true ==> false
cmt_star_cont true ==> false

These updates to the uncrustify configuration generate fewer multiline
traditional (/* ... */) comment changes.  In any case, we actively
encourage // style comments since those are supported by the c99 C
standard and for that style of C comment most of the multiline
comment angst goes away.


------------------------------------------------------------------------
r11173 | airwin | 2010-09-12 14:52:19 -0400 (Sun, 12 Sep 2010) | 2 lines
Changed paths:
   M /trunk/scripts/style_source.sh

Bump allowed version of uncrustify from 0.55 to 0.56.

------------------------------------------------------------------------
r11172 | airwin | 2010-09-12 13:38:38 -0400 (Sun, 12 Sep 2010) | 2 lines
Changed paths:
   M /trunk/bindings/f77/plstubs.h
   M /trunk/bindings/tcl/tclAPI.c
   M /trunk/drivers/cairo.c
   M /trunk/drivers/wingcc.c
   M /trunk/drivers/xwin.c
   M /trunk/examples/c/x04c.c
   M /trunk/src/plcore.c
   M /trunk/src/plctrl.c
   M /trunk/src/pllegend.c

Restyle source code according to our (uncrustify 0.55) standards.

------------------------------------------------------------------------
r11171 | airwin | 2010-09-11 20:17:06 -0400 (Sat, 11 Sep 2010) | 2 lines
Changed paths:
   M /trunk/examples/python/test_circle.py

Titles for each of the pages and implement more asterisk variations.

------------------------------------------------------------------------
r11170 | airwin | 2010-09-11 19:20:31 -0400 (Sat, 11 Sep 2010) | 2 lines
Changed paths:
   M /trunk/examples/python/test_circle.py

Add on some asterisk alignment tests.

------------------------------------------------------------------------
r11169 | airwin | 2010-09-11 14:57:54 -0400 (Sat, 11 Sep 2010) | 4 lines
Changed paths:
   M /trunk/examples/c/x04c.c

Temporary commit to show legend in large detail to try and figure out
offsets.  Once we are satisfied with both the symbol and character
offsets we should go back to the old legend parameters for best looks.

------------------------------------------------------------------------
r11168 | airwin | 2010-09-11 14:56:21 -0400 (Sat, 11 Sep 2010) | 5 lines
Changed paths:
   M /trunk/src/pllegend.c

Adjust ends of lines of symbols in the legend so they line up roughly
with ends of lines in the legend.

Use line_length specified by user rather than 0.1.

------------------------------------------------------------------------
r11167 | airwin | 2010-09-11 12:32:28 -0400 (Sat, 11 Sep 2010) | 5 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/pllegend.c

Change experimental pllegend API to add an nsymbols parameter which
controls the number of symbols plotted for a particular legend line.

Change the 4th standard example to use this additional capability.

------------------------------------------------------------------------
r11166 | hezekiahcarty | 2010-09-11 00:44:06 -0400 (Sat, 11 Sep 2010) | 2 lines
Changed paths:
   A /trunk/src/pllegend.c

Actually commit pllegend.c

------------------------------------------------------------------------
r11165 | hezekiahcarty | 2010-09-10 18:41:34 -0400 (Fri, 10 Sep 2010) | 6 lines
Changed paths:
   M /trunk/examples/c/x04c.c
   M /trunk/include/plplot.h
   M /trunk/src/CMakeLists.txt

Initial C implementation of pllegend

This function allows one to draw basic line and point/symbol legends.  It
is based on the OCaml draw_legend function and somewhat generalized from
that original version.

------------------------------------------------------------------------
r11164 | airwin | 2010-09-10 18:31:48 -0400 (Fri, 10 Sep 2010) | 18 lines
Changed paths:
   A /trunk/scripts/check_backwards_incompatible_api.sh

Initial commit of a bash script to check for backwards-incompatible
changes to our API using abi-compliance-checker.  The working copy
version of PLplot in the local directory is configured, built, and
installed, and the user-specified reference version is also
configured, built, and installed.  The script also uses sed to process
a template file (abi-compliance-checker.template in the top-level
build tree that is configured by CMake) into the appropriate *.xml
files describing the working-copy and reference installs so that
abi-compliance-checker can do its job.

The current status is that if you exclude all PLplot headers other
than qsastime.h and qsastime_dll.h, the the latest version (1.21.4) of
abi-compliance-checker works for libqsastime.  I presume other simple 
PLplot libraries will work as well.  However, there are currently
issues with checking the full complement of header files and
libplplotd which I am still working on.


------------------------------------------------------------------------
r11163 | airwin | 2010-09-10 18:29:16 -0400 (Fri, 10 Sep 2010) | 7 lines
Changed paths:
   M /trunk/CMakeLists.txt

Configure abi-compliance-checker.template(.in) so that the configured
template file is aware of and uses certain CMake variables.

White space.

Lower-case command names.

------------------------------------------------------------------------
r11162 | airwin | 2010-09-10 18:20:26 -0400 (Fri, 10 Sep 2010) | 8 lines
Changed paths:
   A /trunk/abi-compliance-checker.xml.template.in

Initial commit of configured template file to be processed by
abi-complicance-checker.  This file is configured by CMake to replace
@-ONLY CMake variables by their contents.  It is further processed by
sed in scripts/check_backwards_incompatible_api.sh to produce two
*.xml files for abi-compliance-checker corresponding to the two versions
and two install location prefixes of the reference build and the
working-copy build.

------------------------------------------------------------------------
r11161 | airwin | 2010-09-07 21:05:19 -0400 (Tue, 07 Sep 2010) | 4 lines
Changed paths:
   M /trunk/cmake/FindPLplot.cmake

Fix for bug 3061570.  Use a path suffix of plplot when finding headers.
Thanks to http://sourceforge.net/users/?user_id=3049819 (Gareth) for
finding and solving this issue.

------------------------------------------------------------------------
r11160 | hbabcock | 2010-09-04 08:57:38 -0400 (Sat, 04 Sep 2010) | 1 line
Changed paths:
   M /trunk/drivers/cairo.c
   M /trunk/drivers/xwin.c

Change xcairo and xwin drivers to set the stream_closed flag if their X window is closed.
------------------------------------------------------------------------
r11159 | hbabcock | 2010-09-04 08:56:24 -0400 (Sat, 04 Sep 2010) | 1 line
Changed paths:
   M /trunk/include/plstrm.h
   M /trunk/src/plcore.c

Add a stream_closed flag to plstrm. Once this is set the device driver dispatch functions become nops. It is initialized to FALSE when plinit is called.
------------------------------------------------------------------------
r11158 | jbauck | 2010-09-01 06:53:16 -0400 (Wed, 01 Sep 2010) | 1 line
Changed paths:
   D /trunk/bindings/ada/README
   D /trunk/bindings/ada/README.pdf
   D /trunk/bindings/ada/README.rtf
   M /trunk/doc/docbook/src/ada.xml

Update Ada documentation for new approach to declaring vectors and matrices. Remove Ada cruft documentation that has long been incorporated into the main document.
------------------------------------------------------------------------
r11153 | jbauck | 2010-08-27 06:43:42 -0400 (Fri, 27 Aug 2010) | 1 line
Changed paths:
   M /trunk/bindings/ada/plplot.adb
   M /trunk/bindings/ada/plplot.ads
   M /trunk/bindings/ada/plplot_auxiliary.adb
   M /trunk/bindings/ada/plplot_auxiliary.ads
   M /trunk/bindings/ada/plplot_thin.ads
   M /trunk/bindings/ada/plplot_traditional.adb
   M /trunk/bindings/ada/plplot_traditional.ads

Added clarifying comments in Ada binding file plplot_auxiliary.ads regarding how to edit that file to access the numerics declarations and other capabilities of Ada 2005's Annex G.3. Minor white space changes in the other files.
------------------------------------------------------------------------
r11151 | andrewross | 2010-08-24 07:12:35 -0400 (Tue, 24 Aug 2010) | 3 lines
Changed paths:
   M /trunk/examples/python/pytkdemo
   M /trunk/examples/python/xtkpy

Fix up python scripts to use #!/usr/bin/env python instead of #!python. Most scripts do the latter already and Debian lintian at least warns about the former.


------------------------------------------------------------------------
r11150 | andrewross | 2010-08-24 07:07:53 -0400 (Tue, 24 Aug 2010) | 3 lines
Changed paths:
   M /trunk/src/plctrl.c

Check return value of fgets when reading in .pal palette files. These could be user supplied and so the format is not guaranteed. Fixes gcc warning.


------------------------------------------------------------------------
r11147 | airwin | 2010-08-20 14:43:39 -0400 (Fri, 20 Aug 2010) | 6 lines
Changed paths:
   M /trunk/examples/tk/CMakeLists.txt

Rationalize CMake logic.

Fix issue where tk_SCRIPTS were not being configured for the
traditional (Makefile + pkg-config) case.


------------------------------------------------------------------------
r11146 | airwin | 2010-08-20 14:40:35 -0400 (Fri, 20 Aug 2010) | 4 lines
Changed paths:
   M /trunk/examples/c++/Makefile.examples.in

Filter out non-I options for the $(QT_MOC_EXECUTABLE) case since
otherwise $(QT_MOC_EXECUTABLE) may get confused.


------------------------------------------------------------------------
r11145 | airwin | 2010-08-20 14:38:32 -0400 (Fri, 20 Aug 2010) | 4 lines
Changed paths:
   M /trunk/examples/ocaml/CMakeLists.txt

Set OCAML_EXAMPLE_COMPILER and OCAML_EXAMPLE_LIBEXT so that
Makefile_examples(.in) will be configured properly.


------------------------------------------------------------------------
r11144 | airwin | 2010-08-20 14:36:39 -0400 (Fri, 20 Aug 2010) | 3 lines
Changed paths:
   M /trunk/examples/d/Makefile.examples.in

Add remaining standard examples to list that will be compiled with the
traditional (Makefile + pkg-config) approach.

------------------------------------------------------------------------
r11143 | airwin | 2010-08-20 14:28:41 -0400 (Fri, 20 Aug 2010) | 6 lines
Changed paths:
   M /trunk/plplot_test/plplot-test-interactive.sh.in

Fix cd bug for relative path case.

Run plplot-test.sh in interactive mode rather than using an independent
implementation of the same idea.


------------------------------------------------------------------------
r11142 | airwin | 2010-08-20 14:25:26 -0400 (Fri, 20 Aug 2010) | 5 lines
Changed paths:
   M /trunk/bindings/qt_gui/CMakeLists.txt

Drop -DPLD_extqt flag from pkg-config results for plplotd-qt.pc.  This
flag was redundant and generated lots of compile warning messages
because of that.


------------------------------------------------------------------------
r11141 | smekal | 2010-08-20 14:21:25 -0400 (Fri, 20 Aug 2010) | 1 line
Changed paths:
   M /trunk/www/css/style.css.in

Updated the css file, so that <h4> tags also look nice for the sidebar.
------------------------------------------------------------------------
r11140 | airwin | 2010-08-20 14:20:16 -0400 (Fri, 20 Aug 2010) | 19 lines
Changed paths:
   A /trunk/scripts/comprehensive_test.sh

Initial commit for script to organize comprehensive testing of PLplot
for all platforms with access to bash and GNU make.

For each of the three principal PLplot configurations, this script
runs all 7 of our fundamental tests.  Those three configurations
are (1) shared library/dynamic devices; (2) shared library/nondynamic
devices; and (3) static library/nondynamic devices.  The 7 fundamental
tests are ctest in the build tree and running the make targets
test_noninteractive and test_interactive in (1) the build tree; (2) the
installed examples tree with cmake build system; and (3) the installed
examples tree with traditional (Makefile + pkg-config) build system.

FIXME: currently the choice of which configurations and which of the 7
possible tests to run is controlled by some hard-coded variables. 
Those variables are currently set to use all all 7 tests for each of
the three configurations. Those variables should be controlled by
user-settable options for maximum flexibility.


------------------------------------------------------------------------
r11139 | smekal | 2010-08-18 02:10:23 -0400 (Wed, 18 Aug 2010) | 1 line
Changed paths:
   M /trunk/cmake/external/libharu/CMakeLists.txt
   M /trunk/cmake/external/libharu/cmake/modules/haru.cmake
   M /trunk/cmake/external/libharu/cmake/modules/summary.cmake
   M /trunk/cmake/external/libharu/demo/CMakeLists.txt
   M /trunk/cmake/external/libharu/include/CMakeLists.txt
   M /trunk/cmake/external/libharu/include/hpdf_config.h.cmake
   M /trunk/cmake/external/libharu/src/CMakeLists.txt

Added libgd compatible license information to libharu cmake files.
------------------------------------------------------------------------
r11138 | smekal | 2010-08-18 02:09:39 -0400 (Wed, 18 Aug 2010) | 1 line
Changed paths:
   M /trunk/www/corefunctions.php

Disable caching of rss feed.
------------------------------------------------------------------------
r11137 | arjenmarkus | 2010-08-17 02:42:25 -0400 (Tue, 17 Aug 2010) | 8 lines
Changed paths:
   M /trunk/bindings/f77/CMakeLists.txt
   M /trunk/bindings/f77/plplotf77.def
   A /trunk/bindings/f77/plplotf77_ifort.def
   M /trunk/bindings/f77/plplotf77_mingw.def
   M /trunk/bindings/f77/plstubs.h
   M /trunk/bindings/f95/CMakeLists.txt
   A /trunk/bindings/f95/plplotf95_ifort.def
   M /trunk/bindings/f95/plstubs.h
   M /trunk/bindings/f95/sfstubsf95.f90

Add .def files for Intel Fortran (and corresponding support in CMakeLists.txt file)
Add a few missing subroutines for Fortran 77 to the .def file (must still be checked for CVF) - similiarly for Fortran 95
Add a new linkage macro for Intel Fortran

Some questions though: why does gfortran not need the entries for plmap1/2 and plmeridians1/2?

Note that while Intel Fortran now gives nice results (as does gfortran under MinGW) when using makefiles, there is a problem with
VS2008 solutions. This needs to be sorted out.
------------------------------------------------------------------------
r11136 | arjenmarkus | 2010-08-17 02:36:08 -0400 (Tue, 17 Aug 2010) | 1 line
Changed paths:
   M /trunk/bindings/tcl/tclAPI.c
   M /trunk/examples/c/x19c.c

Correct C++-isms that caused MSVisual C/C++ 2008 compiler to complain. These were variable declarations in the middle of a block.
------------------------------------------------------------------------
r11135 | smekal | 2010-08-17 02:10:27 -0400 (Tue, 17 Aug 2010) | 1 line
Changed paths:
   M /trunk/www/CMakeLists.txt
   M /trunk/www/corefunctions.php
   A /trunk/www/simplepie.inc

The PLplot News RSS feed form sourceforge is now parsed via simplepie (http://simplepie.org/) and shown at the main site. There still needs to be a 'cache' directory created with 755 or 777 permission.
------------------------------------------------------------------------
r11134 | airwin | 2010-08-13 11:17:54 -0400 (Fri, 13 Aug 2010) | 4 lines
Changed paths:
   M /trunk/examples/CMakeLists.txt

The test_tcl_standard_examples target uses the xwin device.  So
only add test_tcl_standard_examples target if PLD_xwin is ON.


------------------------------------------------------------------------
r11129 | andrewross | 2010-08-12 17:24:44 -0400 (Thu, 12 Aug 2010) | 3 lines
Changed paths:
   M /trunk/doc/CMakeLists.txt

Don't install plpr.1 and plm2gif.1 man pages unless associated scripts are installed.


------------------------------------------------------------------------
r11128 | andrewross | 2010-08-12 16:58:49 -0400 (Thu, 12 Aug 2010) | 3 lines
Changed paths:
   M /trunk/scripts/CMakeLists.txt

Only install plpr and plm2gif scripts if plmeta (and hence plrender) are available.


------------------------------------------------------------------------
r11127 | airwin | 2010-08-12 11:36:07 -0400 (Thu, 12 Aug 2010) | 3 lines
Changed paths:
   M /trunk/examples/CMakeLists.txt

Fix implementation of test_all_qt and test_all_cairo so only existing
targets are dependencies of those two targets.

------------------------------------------------------------------------
r11126 | airwin | 2010-08-12 11:01:04 -0400 (Thu, 12 Aug 2010) | 13 lines
Changed paths:
   M /trunk/CMakeLists.txt

Bump minimum version of CMake to 2.6.4 for all platforms.  (Previous
minimum version was 2.6.3 for Windows and 2.6.0 for all other
platforms.)

There are two reasons for this change.

(1) I need "if(TARGET...." capability for all platforms which was
first introduced for 2.6.2.

(2) 2.6.4 has been readily available for a long time and
is very likely the minimum version of CMake we test any more.


------------------------------------------------------------------------
r11123 | airwin | 2010-08-03 00:19:03 -0400 (Tue, 03 Aug 2010) | 3 lines
Changed paths:
   M /trunk/examples/tcl/CMakeLists.txt

Install tcl/standard_examples.in so that tcl/standard_examples can be
configured for the installed examples build.

------------------------------------------------------------------------
r11122 | airwin | 2010-08-03 00:17:43 -0400 (Tue, 03 Aug 2010) | 3 lines
Changed paths:
   M /trunk/examples/plplot_configure.cmake_installed_examples.in

Installed examples build needs SH_EXECUTABLE to allow configuration of
tk/standard_examples(.in) and tcl/standard_examples(.in).

------------------------------------------------------------------------
r11121 | airwin | 2010-08-03 00:16:27 -0400 (Tue, 03 Aug 2010) | 3 lines
Changed paths:
   M /trunk/utils/CMakeLists.txt

export pltcl target so that installed examples/tcl/standard_examples.in
can be configured with the location of pltcl.

------------------------------------------------------------------------
r11120 | airwin | 2010-08-02 20:30:41 -0400 (Mon, 02 Aug 2010) | 4 lines
Changed paths:
   M /trunk/cmake/external/libqhull/src/libqhull.h

Make qh_countfacets and qh_findgood_all symbols visible since PLplot
needs them.


------------------------------------------------------------------------
r11119 | airwin | 2010-08-02 19:49:24 -0400 (Mon, 02 Aug 2010) | 3 lines
Changed paths:
   A /trunk/cmake/external/libqhull/README.libqhull

Initial commit showing how to use these files to build libqhull using
the latest build system.

------------------------------------------------------------------------
r11118 | airwin | 2010-08-02 19:26:48 -0400 (Mon, 02 Aug 2010) | 2 lines
Changed paths:
   M /trunk/cmake/external/libqhull/src/CMakeLists.txt
   A /trunk/cmake/external/libqhull/src/libqhull.h
   A /trunk/cmake/external/libqhull/src/mem.h
   A /trunk/cmake/external/libqhull/src/unix.c

Implement symbol visibility support for libqhull.

------------------------------------------------------------------------
r11117 | airwin | 2010-08-02 13:57:50 -0400 (Mon, 02 Aug 2010) | 6 lines
Changed paths:
   A /trunk/cmake/external/libqhull/CMakeLists.txt

Initial commit of top-level CMakeLists.txt for libqhull which drops
all default language support in favour of the C-language support
actually needed.



------------------------------------------------------------------------
r11116 | airwin | 2010-08-02 13:52:56 -0400 (Mon, 02 Aug 2010) | 3 lines
Changed paths:
   D /trunk/cmake/external/libqhull/CMakeLists.txt
   A /trunk/cmake/external/libqhull/src
   A /trunk/cmake/external/libqhull/src/CMakeLists.txt (from /trunk/cmake/external/libqhull/CMakeLists.txt:11108)

Move CMakeLists.txt to newly created src directory to mirror its location in
libqhull and to make room for a top-level CMakeLists.txt file here.

------------------------------------------------------------------------
r11115 | airwin | 2010-08-01 12:35:51 -0400 (Sun, 01 Aug 2010) | 6 lines
Changed paths:
   M /trunk/cmake/external/libharu/CMakeLists.txt
   M /trunk/cmake/external/libharu/include/CMakeLists.txt

Transfer configure and install of headers to include subdirectory.

To match the autotools result the install location for the headers
has been changed to $prefix/include/hpdf.


------------------------------------------------------------------------
r11114 | airwin | 2010-07-31 16:58:16 -0400 (Sat, 31 Jul 2010) | 4 lines
Changed paths:
   M /trunk/cmake/external/libharu/README.libharu

Tweak commentary about the improved build system and how you use
it to build and install the library (libhpdf) and headers from
the libharu project.

------------------------------------------------------------------------
r11113 | airwin | 2010-07-31 16:35:08 -0400 (Sat, 31 Jul 2010) | 27 lines
Changed paths:
   M /trunk/cmake/external/libharu/CMakeLists.txt
   M /trunk/cmake/external/libharu/demo/CMakeLists.txt
   M /trunk/cmake/external/libharu/src/CMakeLists.txt

Improve Werner's build system for libharu.

Comment out installation of files that (a) do not belong in the
install tree or (b) are installed in the wrong location in the build
tree from the POV of Unix standards.  These are all files that are not
needed for the basic use of the install tree for this library.  For
example, I currently do not install anything to do with the demos.
If/when that is done, it would be good to install those in an
acceptable install-tree location.  That installation should be
accompanied by implementation of an independent build
system to build and test those demos.

Implement versioning system for library.

Implement library and executable RPATH and SONAME support.

Improved name for static library.

Improved handling of target names for static and shared library forms.

Implement build-system support for Cygwin visibility.

POST_2.1.0 option (default to ON) to handle case where additional files
(currently just hpdf_namedict.c) added to list of files being compiled
into library after the 2.1.0 version of libharu was released.


------------------------------------------------------------------------
r11112 | airwin | 2010-07-31 10:49:54 -0400 (Sat, 31 Jul 2010) | 9 lines
Changed paths:
   M /trunk/cmake/external/libharu/CMakeLists.txt
   A /trunk/cmake/external/libharu/cmake
   A /trunk/cmake/external/libharu/cmake/modules
   A /trunk/cmake/external/libharu/cmake/modules/haru.cmake
   A /trunk/cmake/external/libharu/cmake/modules/summary.cmake
   A /trunk/cmake/external/libharu/demo
   A /trunk/cmake/external/libharu/demo/CMakeLists.txt
   M /trunk/cmake/external/libharu/include/hpdf_config.h.cmake
   M /trunk/cmake/external/libharu/src/CMakeLists.txt

Replace my libharu build system with Werner's much more sophisticated
build system (found in libharu git tree).  I am virtually positive the
licensing is the same as libharu (which uses the libgd license), but I
need to confirm that with Werner once he is back in e-mail contact.

ToDo. Merge in some of the capabilities of my build system with
Werner's.


------------------------------------------------------------------------
r11111 | airwin | 2010-07-28 15:21:04 -0400 (Wed, 28 Jul 2010) | 7 lines
Changed paths:
   M /trunk/drivers/pdf.c

Change use of DEBUG, pls->debug, pls->verbose, etc., to be consistent
with other device drivers.

Use one (commented out) call to pldebug to help figure out HPDF
requested font size.


------------------------------------------------------------------------
r11110 | airwin | 2010-07-27 18:24:16 -0400 (Tue, 27 Jul 2010) | 4 lines
Changed paths:
   M /trunk/drivers/pdf.c

Get rid of segfault when libhpdf (from the libharu project) produces an
error.  Also, get rid of circular plexit call caused by plend calling
more libhpdf functions after an error was detected.

------------------------------------------------------------------------
r11109 | airwin | 2010-07-27 18:10:33 -0400 (Tue, 27 Jul 2010) | 8 lines
Changed paths:
   A /trunk/cmake/external/libharu
   A /trunk/cmake/external/libharu/CMakeLists.txt
   A /trunk/cmake/external/libharu/README.libharu
   A /trunk/cmake/external/libharu/include
   A /trunk/cmake/external/libharu/include/CMakeLists.txt
   A /trunk/cmake/external/libharu/include/hpdf.h
   A /trunk/cmake/external/libharu/include/hpdf_config.h.cmake
   A /trunk/cmake/external/libharu/include/hpdf_consts.h
   A /trunk/cmake/external/libharu/src
   A /trunk/cmake/external/libharu/src/CMakeLists.txt
   A /trunk/cmake/external/libharu/src/hpdf_page_operator.c

Initial commit of libharu-2.1.0 added files (to support a CMake-based
build system) and changed files to support larger font sizes (required
for example 24) and to support gcc visibility so that, e.g,,

export CFLAGS=-g -fvisibility=hidden'

works correctly on Linux.

------------------------------------------------------------------------
r11108 | andrewross | 2010-07-26 15:34:19 -0400 (Mon, 26 Jul 2010) | 9 lines
Changed paths:
   M /trunk/bindings/octave/PLplot/shade.m
   M /trunk/examples/octave/p17.m
   M /trunk/plplot_test/test_octave_interactive.sh.in

Fix recently introduced problems with octave shade function. Also upgrade to allow use of 2-d arrays for x and y coordinates (as with matlab contourf function).

Fix problem in example p17 which causes a division by zero error when plimage is called with min and max values set to the same. 

Switch from using loadimage to imread for example p17 which removes obsolete function warning.

Re-enable all p examples in octave interactive script as they should now work again.


------------------------------------------------------------------------
r11107 | airwin | 2010-07-24 13:11:07 -0400 (Sat, 24 Jul 2010) | 5 lines
Changed paths:
   M /trunk/scripts/generate_website.sh

This script has bashisms so identify it specificially as a bash
script.  This solves an issue with Debian testing where /bin/sh refers
to dash which fails to run this script properly.


------------------------------------------------------------------------
r11106 | airwin | 2010-07-24 13:09:18 -0400 (Sat, 24 Jul 2010) | 2 lines
Changed paths:
   M /trunk/scripts/htdocs-gen_plot-examples.sh

Get rid of blank character in bang line.

------------------------------------------------------------------------
r11105 | airwin | 2010-07-24 13:06:17 -0400 (Sat, 24 Jul 2010) | 2 lines
Changed paths:
   M /trunk/README.Release_Manager_Cookbook

Update instructions for website generation and testing.

------------------------------------------------------------------------
r11104 | airwin | 2010-07-23 16:33:05 -0400 (Fri, 23 Jul 2010) | 3 lines
Changed paths:
   M /trunk/examples/python/CMakeLists.txt
   A /trunk/examples/python/test_mem.py

Commit of Simon's (simon@mungewell.org) donation under the LGPL of a
simple demo of plsmem and the mem device driver under Python.

------------------------------------------------------------------------
r11103 | airwin | 2010-07-23 12:49:41 -0400 (Fri, 23 Jul 2010) | 5 lines
Changed paths:
   M /trunk/bindings/python/plplotcmodule.i
   M /trunk/bindings/swig-support/plplotcapi.i

plplotcapi.i should be reserved strictly to define the PLplot API
covered by swig.  Thus, move PYTHON_HAVE_PYBUFFER non-API statements
out of plplotcapi.i to plplotcmodule.i.


------------------------------------------------------------------------
r11102 | airwin | 2010-07-23 12:45:43 -0400 (Fri, 23 Jul 2010) | 6 lines
Changed paths:
   M /trunk/bindings/python/Plframe.py

Comment out plsmem from Plframe.py for now because plsmem is only
available under special circumstances and the specialized Plframe.py
GUI is not needed to test the experimental plsmem Python PLplot
capability.


------------------------------------------------------------------------
r11101 | airwin | 2010-07-23 01:52:23 -0400 (Fri, 23 Jul 2010) | 6 lines
Changed paths:
   M /trunk/cmake/modules/ada.cmake

Drop everything having to do with HAVE_ADA_2007,
Ada_Is_2007_With_and_Use_Numerics, and
Ada_Is_Not_2007_Vector_Matrix_Declarations since none of these
variables are used elsewhere.


------------------------------------------------------------------------
r11100 | airwin | 2010-07-23 01:32:08 -0400 (Fri, 23 Jul 2010) | 12 lines
Changed paths:
   M /trunk/scripts/htdocs-gen_plot-examples.sh

Ada examples now copied directly from source tree since they are no
longer configured.

This concludes the changes that I believe are necessary
due to the new non-configured approach to Ada source files that has
been initiated by Jerry.

N.B. this last change will remain untested until the
next attempt to generate the website, but I believe it
will be fine  since the change is so simple.


------------------------------------------------------------------------
r11099 | airwin | 2010-07-23 01:20:18 -0400 (Fri, 23 Jul 2010) | 19 lines
Changed paths:
   M /trunk/examples/ada/CMakeLists.txt
   A /trunk/examples/ada/x01a.adb (from /trunk/examples/ada/x01a.adb.cmake:11096)
   D /trunk/examples/ada/x01a.adb.cmake
   A /trunk/examples/ada/x02a.adb (from /trunk/examples/ada/x02a.adb.cmake:11096)
   D /trunk/examples/ada/x02a.adb.cmake
   A /trunk/examples/ada/x03a.adb (from /trunk/examples/ada/x03a.adb.cmake:11096)
   D /trunk/examples/ada/x03a.adb.cmake
   A /trunk/examples/ada/x04a.adb (from /trunk/examples/ada/x04a.adb.cmake:11096)
   D /trunk/examples/ada/x04a.adb.cmake
   A /trunk/examples/ada/x05a.adb (from /trunk/examples/ada/x05a.adb.cmake:11096)
   D /trunk/examples/ada/x05a.adb.cmake
   A /trunk/examples/ada/x06a.adb (from /trunk/examples/ada/x06a.adb.cmake:11096)
   D /trunk/examples/ada/x06a.adb.cmake
   A /trunk/examples/ada/x07a.adb (from /trunk/examples/ada/x07a.adb.cmake:11096)
   D /trunk/examples/ada/x07a.adb.cmake
   A /trunk/examples/ada/x08a.adb (from /trunk/examples/ada/x08a.adb.cmake:11096)
   D /trunk/examples/ada/x08a.adb.cmake
   A /trunk/examples/ada/x09a.adb (from /trunk/examples/ada/x09a.adb.cmake:11096)
   D /trunk/examples/ada/x09a.adb.cmake
   A /trunk/examples/ada/x10a.adb (from /trunk/examples/ada/x10a.adb.cmake:11096)
   D /trunk/examples/ada/x10a.adb.cmake
   A /trunk/examples/ada/x11a.adb (from /trunk/examples/ada/x11a.adb.cmake:11096)
   D /trunk/examples/ada/x11a.adb.cmake
   A /trunk/examples/ada/x12a.adb (from /trunk/examples/ada/x12a.adb.cmake:11096)
   D /trunk/examples/ada/x12a.adb.cmake
   A /trunk/examples/ada/x13a.adb (from /trunk/examples/ada/x13a.adb.cmake:11096)
   D /trunk/examples/ada/x13a.adb.cmake
   A /trunk/examples/ada/x14a.adb (from /trunk/examples/ada/x14a.adb.cmake:11096)
   D /trunk/examples/ada/x14a.adb.cmake
   A /trunk/examples/ada/x15a.adb (from /trunk/examples/ada/x15a.adb.cmake:11096)
   D /trunk/examples/ada/x15a.adb.cmake
   A /trunk/examples/ada/x16a.adb (from /trunk/examples/ada/x16a.adb.cmake:11096)
   D /trunk/examples/ada/x16a.adb.cmake
   A /trunk/examples/ada/x17a.adb (from /trunk/examples/ada/x17a.adb.cmake:11096)
   D /trunk/examples/ada/x17a.adb.cmake
   A /trunk/examples/ada/x18a.adb (from /trunk/examples/ada/x18a.adb.cmake:11096)
   D /trunk/examples/ada/x18a.adb.cmake
   A /trunk/examples/ada/x19a.adb (from /trunk/examples/ada/x19a.adb.cmake:11096)
   D /trunk/examples/ada/x19a.adb.cmake
   A /trunk/examples/ada/x20a.adb (from /trunk/examples/ada/x20a.adb.cmake:11096)
   D /trunk/examples/ada/x20a.adb.cmake
   A /trunk/examples/ada/x21a.adb (from /trunk/examples/ada/x21a.adb.cmake:11096)
   D /trunk/examples/ada/x21a.adb.cmake
   A /trunk/examples/ada/x22a.adb (from /trunk/examples/ada/x22a.adb.cmake:11096)
   D /trunk/examples/ada/x22a.adb.cmake
   A /trunk/examples/ada/x23a.adb (from /trunk/examples/ada/x23a.adb.cmake:11096)
   D /trunk/examples/ada/x23a.adb.cmake
   A /trunk/examples/ada/x24a.adb (from /trunk/examples/ada/x24a.adb.cmake:11096)
   D /trunk/examples/ada/x24a.adb.cmake
   A /trunk/examples/ada/x25a.adb (from /trunk/examples/ada/x25a.adb.cmake:11096)
   D /trunk/examples/ada/x25a.adb.cmake
   A /trunk/examples/ada/x26a.adb (from /trunk/examples/ada/x26a.adb.cmake:11096)
   D /trunk/examples/ada/x26a.adb.cmake
   A /trunk/examples/ada/x27a.adb (from /trunk/examples/ada/x27a.adb.cmake:11096)
   D /trunk/examples/ada/x27a.adb.cmake
   A /trunk/examples/ada/x28a.adb (from /trunk/examples/ada/x28a.adb.cmake:11096)
   D /trunk/examples/ada/x28a.adb.cmake
   A /trunk/examples/ada/x29a.adb (from /trunk/examples/ada/x29a.adb.cmake:11096)
   D /trunk/examples/ada/x29a.adb.cmake
   A /trunk/examples/ada/x30a.adb (from /trunk/examples/ada/x30a.adb.cmake:11096)
   D /trunk/examples/ada/x30a.adb.cmake
   A /trunk/examples/ada/x31a.adb (from /trunk/examples/ada/x31a.adb.cmake:11096)
   D /trunk/examples/ada/x31a.adb.cmake
   A /trunk/examples/ada/xthick01a.adb (from /trunk/examples/ada/xthick01a.adb.cmake:11096)
   D /trunk/examples/ada/xthick01a.adb.cmake
   A /trunk/examples/ada/xthick02a.adb (from /trunk/examples/ada/xthick02a.adb.cmake:11096)
   D /trunk/examples/ada/xthick02a.adb.cmake
   A /trunk/examples/ada/xthick03a.adb (from /trunk/examples/ada/xthick03a.adb.cmake:11096)
   D /trunk/examples/ada/xthick03a.adb.cmake
   A /trunk/examples/ada/xthick04a.adb (from /trunk/examples/ada/xthick04a.adb.cmake:11096)
   D /trunk/examples/ada/xthick04a.adb.cmake
   A /trunk/examples/ada/xthick05a.adb (from /trunk/examples/ada/xthick05a.adb.cmake:11096)
   D /trunk/examples/ada/xthick05a.adb.cmake
   A /trunk/examples/ada/xthick06a.adb (from /trunk/examples/ada/xthick06a.adb.cmake:11096)
   D /trunk/examples/ada/xthick06a.adb.cmake
   A /trunk/examples/ada/xthick07a.adb (from /trunk/examples/ada/xthick07a.adb.cmake:11096)
   D /trunk/examples/ada/xthick07a.adb.cmake
   A /trunk/examples/ada/xthick08a.adb (from /trunk/examples/ada/xthick08a.adb.cmake:11096)
   D /trunk/examples/ada/xthick08a.adb.cmake
   A /trunk/examples/ada/xthick09a.adb (from /trunk/examples/ada/xthick09a.adb.cmake:11096)
   D /trunk/examples/ada/xthick09a.adb.cmake
   A /trunk/examples/ada/xthick10a.adb (from /trunk/examples/ada/xthick10a.adb.cmake:11096)
   D /trunk/examples/ada/xthick10a.adb.cmake
   A /trunk/examples/ada/xthick11a.adb (from /trunk/examples/ada/xthick11a.adb.cmake:11096)
   D /trunk/examples/ada/xthick11a.adb.cmake
   A /trunk/examples/ada/xthick12a.adb (from /trunk/examples/ada/xthick12a.adb.cmake:11096)
   D /trunk/examples/ada/xthick12a.adb.cmake
   A /trunk/examples/ada/xthick13a.adb (from /trunk/examples/ada/xthick13a.adb.cmake:11096)
   D /trunk/examples/ada/xthick13a.adb.cmake
   A /trunk/examples/ada/xthick14a.adb (from /trunk/examples/ada/xthick14a.adb.cmake:11096)
   D /trunk/examples/ada/xthick14a.adb.cmake
   A /trunk/examples/ada/xthick15a.adb (from /trunk/examples/ada/xthick15a.adb.cmake:11096)
   D /trunk/examples/ada/xthick15a.adb.cmake
   A /trunk/examples/ada/xthick16a.adb (from /trunk/examples/ada/xthick16a.adb.cmake:11096)
   D /trunk/examples/ada/xthick16a.adb.cmake
   A /trunk/examples/ada/xthick17a.adb (from /trunk/examples/ada/xthick17a.adb.cmake:11096)
   D /trunk/examples/ada/xthick17a.adb.cmake
   A /trunk/examples/ada/xthick18a.adb (from /trunk/examples/ada/xthick18a.adb.cmake:11096)
   D /trunk/examples/ada/xthick18a.adb.cmake
   A /trunk/examples/ada/xthick19a.adb (from /trunk/examples/ada/xthick19a.adb.cmake:11096)
   D /trunk/examples/ada/xthick19a.adb.cmake
   A /trunk/examples/ada/xthick20a.adb (from /trunk/examples/ada/xthick20a.adb.cmake:11096)
   D /trunk/examples/ada/xthick20a.adb.cmake
   A /trunk/examples/ada/xthick21a.adb (from /trunk/examples/ada/xthick21a.adb.cmake:11096)
   D /trunk/examples/ada/xthick21a.adb.cmake
   A /trunk/examples/ada/xthick22a.adb (from /trunk/examples/ada/xthick22a.adb.cmake:11096)
   D /trunk/examples/ada/xthick22a.adb.cmake
   A /trunk/examples/ada/xthick23a.adb (from /trunk/examples/ada/xthick23a.adb.cmake:11096)
   D /trunk/examples/ada/xthick23a.adb.cmake
   A /trunk/examples/ada/xthick24a.adb (from /trunk/examples/ada/xthick24a.adb.cmake:11096)
   D /trunk/examples/ada/xthick24a.adb.cmake
   A /trunk/examples/ada/xthick25a.adb (from /trunk/examples/ada/xthick25a.adb.cmake:11096)
   D /trunk/examples/ada/xthick25a.adb.cmake
   A /trunk/examples/ada/xthick26a.adb (from /trunk/examples/ada/xthick26a.adb.cmake:11096)
   D /trunk/examples/ada/xthick26a.adb.cmake
   A /trunk/examples/ada/xthick27a.adb (from /trunk/examples/ada/xthick27a.adb.cmake:11096)
   D /trunk/examples/ada/xthick27a.adb.cmake
   A /trunk/examples/ada/xthick28a.adb (from /trunk/examples/ada/xthick28a.adb.cmake:11096)
   D /trunk/examples/ada/xthick28a.adb.cmake
   A /trunk/examples/ada/xthick29a.adb (from /trunk/examples/ada/xthick29a.adb.cmake:11096)
   D /trunk/examples/ada/xthick29a.adb.cmake
   A /trunk/examples/ada/xthick30a.adb (from /trunk/examples/ada/xthick30a.adb.cmake:11096)
   D /trunk/examples/ada/xthick30a.adb.cmake
   A /trunk/examples/ada/xthick31a.adb (from /trunk/examples/ada/xthick31a.adb.cmake:11096)
   D /trunk/examples/ada/xthick31a.adb.cmake

Previous commit by Jerry removed all configurable items from Ada
examples source files so that the configure of those source files got
turned into a copy. Strip out this configure=copy for the Ada examples
source files and adjust the Ada examples build accordingly for the
changed directory for the examples source.

N.B. the result passes the "make test_noninteractive" test for the
build tree, and that same test for the installed examples with
both the traditional Makefile+pkg-config approach for building and
testing those examples as well as the more modern CMake-based
approach for building and testing those examples.  So all seems well
for all builds and tests of the Ada bindings and examples with the
new non-configured approach.

N.B. One further known change is planned for the website generation to
adjust for the new location of the Ada source files (in the source
tree rather than configured files in the build tree).


------------------------------------------------------------------------
r11098 | airwin | 2010-07-23 01:07:44 -0400 (Fri, 23 Jul 2010) | 9 lines
Changed paths:
   M /trunk/cmake/modules/gcw.cmake
   M /trunk/examples/c/CMakeLists.txt

Move gcw_true and gcw_false determination from gcw.cmake (where it was
bypassed since the gcw device has been retired) to
examples/c/CMakeLists.txt so that examples/c/Makefile(.examples.in)
will be properly configured.  This change corrects a long-standing
(introduced prior to 5.9.6 by the retirement of the gcw device driver)
bug in the traditional Makefile+pkg-config approach to building and
testing the installed examples.


------------------------------------------------------------------------
r11097 | airwin | 2010-07-22 13:38:46 -0400 (Thu, 22 Jul 2010) | 12 lines
Changed paths:
   M /trunk/bindings/ada/CMakeLists.txt
   A /trunk/bindings/ada/plplot.adb (from /trunk/bindings/ada/plplot.adb.cmake:11096)
   D /trunk/bindings/ada/plplot.adb.cmake
   A /trunk/bindings/ada/plplot.ads (from /trunk/bindings/ada/plplot.ads.cmake:11096)
   D /trunk/bindings/ada/plplot.ads.cmake
   A /trunk/bindings/ada/plplot_auxiliary.adb (from /trunk/bindings/ada/plplot_auxiliary.adb.cmake:11096)
   D /trunk/bindings/ada/plplot_auxiliary.adb.cmake
   A /trunk/bindings/ada/plplot_auxiliary.ads (from /trunk/bindings/ada/plplot_auxiliary.ads.cmake:11096)
   D /trunk/bindings/ada/plplot_auxiliary.ads.cmake
   A /trunk/bindings/ada/plplot_thin.adb (from /trunk/bindings/ada/plplot_thin.adb.cmake:11096)
   D /trunk/bindings/ada/plplot_thin.adb.cmake
   A /trunk/bindings/ada/plplot_thin.ads (from /trunk/bindings/ada/plplot_thin.ads.cmake:11096)
   D /trunk/bindings/ada/plplot_thin.ads.cmake
   A /trunk/bindings/ada/plplot_traditional.adb (from /trunk/bindings/ada/plplot_traditional.adb.cmake:11096)
   D /trunk/bindings/ada/plplot_traditional.adb.cmake
   A /trunk/bindings/ada/plplot_traditional.ads (from /trunk/bindings/ada/plplot_traditional.ads.cmake:11096)
   D /trunk/bindings/ada/plplot_traditional.ads.cmake
   M /trunk/examples/ada/CMakeLists.txt

Previous commit by Jerry removed all configurable items from Ada
bindings source files so that the configure of those source files got
turned into a copy. Strip out this configure=copy for the Ada bindings
source files (but not the examples) and adjust the Ada examples build
accordingly for the changed directory for the source.

N.B. the result passes the "make test_diff_psc" test, but other tests
(e.g., installed examples tests) have not been done yet.  Furthermore,
the equivalent stripping out of the configure=copy step in the Ada
examples has not been done yet.


------------------------------------------------------------------------
r11096 | jbauck | 2010-07-22 07:06:33 -0400 (Thu, 22 Jul 2010) | 1 line
Changed paths:
   M /trunk/cmake/modules/ada.cmake

Change associated with removing "Ada 2007" stuff from Ada source.
------------------------------------------------------------------------
r11095 | jbauck | 2010-07-22 06:58:54 -0400 (Thu, 22 Jul 2010) | 1 line
Changed paths:
   M /trunk/bindings/ada/plplot.adb.cmake
   M /trunk/bindings/ada/plplot.ads.cmake
   M /trunk/bindings/ada/plplot_auxiliary.ads.cmake
   M /trunk/bindings/ada/plplot_thin.ads.cmake
   M /trunk/bindings/ada/plplot_traditional.adb.cmake
   M /trunk/bindings/ada/plplot_traditional.ads.cmake
   M /trunk/examples/ada/x01a.adb.cmake
   M /trunk/examples/ada/x02a.adb.cmake
   M /trunk/examples/ada/x03a.adb.cmake
   M /trunk/examples/ada/x04a.adb.cmake
   M /trunk/examples/ada/x05a.adb.cmake
   M /trunk/examples/ada/x06a.adb.cmake
   M /trunk/examples/ada/x07a.adb.cmake
   M /trunk/examples/ada/x08a.adb.cmake
   M /trunk/examples/ada/x09a.adb.cmake
   M /trunk/examples/ada/x10a.adb.cmake
   M /trunk/examples/ada/x11a.adb.cmake
   M /trunk/examples/ada/x12a.adb.cmake
   M /trunk/examples/ada/x13a.adb.cmake
   M /trunk/examples/ada/x14a.adb.cmake
   M /trunk/examples/ada/x15a.adb.cmake
   M /trunk/examples/ada/x16a.adb.cmake
   M /trunk/examples/ada/x17a.adb.cmake
   M /trunk/examples/ada/x18a.adb.cmake
   M /trunk/examples/ada/x19a.adb.cmake
   M /trunk/examples/ada/x20a.adb.cmake
   M /trunk/examples/ada/x21a.adb.cmake
   M /trunk/examples/ada/x22a.adb.cmake
   M /trunk/examples/ada/x23a.adb.cmake
   M /trunk/examples/ada/x24a.adb.cmake
   M /trunk/examples/ada/x25a.adb.cmake
   M /trunk/examples/ada/x26a.adb.cmake
   M /trunk/examples/ada/x27a.adb.cmake
   M /trunk/examples/ada/x28a.adb.cmake
   M /trunk/examples/ada/x29a.adb.cmake
   M /trunk/examples/ada/x30a.adb.cmake
   M /trunk/examples/ada/x31a.adb.cmake
   M /trunk/examples/ada/xthick01a.adb.cmake
   M /trunk/examples/ada/xthick02a.adb.cmake
   M /trunk/examples/ada/xthick03a.adb.cmake
   M /trunk/examples/ada/xthick04a.adb.cmake
   M /trunk/examples/ada/xthick05a.adb.cmake
   M /trunk/examples/ada/xthick06a.adb.cmake
   M /trunk/examples/ada/xthick07a.adb.cmake
   M /trunk/examples/ada/xthick08a.adb.cmake
   M /trunk/examples/ada/xthick09a.adb.cmake
   M /trunk/examples/ada/xthick10a.adb.cmake
   M /trunk/examples/ada/xthick11a.adb.cmake
   M /trunk/examples/ada/xthick12a.adb.cmake
   M /trunk/examples/ada/xthick13a.adb.cmake
   M /trunk/examples/ada/xthick14a.adb.cmake
   M /trunk/examples/ada/xthick15a.adb.cmake
   M /trunk/examples/ada/xthick16a.adb.cmake
   M /trunk/examples/ada/xthick17a.adb.cmake
   M /trunk/examples/ada/xthick18a.adb.cmake
   M /trunk/examples/ada/xthick19a.adb.cmake
   M /trunk/examples/ada/xthick20a.adb.cmake
   M /trunk/examples/ada/xthick21a.adb.cmake
   M /trunk/examples/ada/xthick22a.adb.cmake
   M /trunk/examples/ada/xthick23a.adb.cmake
   M /trunk/examples/ada/xthick24a.adb.cmake
   M /trunk/examples/ada/xthick25a.adb.cmake
   M /trunk/examples/ada/xthick26a.adb.cmake
   M /trunk/examples/ada/xthick27a.adb.cmake
   M /trunk/examples/ada/xthick28a.adb.cmake
   M /trunk/examples/ada/xthick29a.adb.cmake
   M /trunk/examples/ada/xthick30a.adb.cmake
   M /trunk/examples/ada/xthick31a.adb.cmake

Removed "Ada 2007" cmake flags (delimited with @) from all of the pseudo-Ada files (files ending in .ads.cmake and .adb.cmake) that had it (68 out of 70). This removes the trivial need to link BLAS and LAPACK libraries when Ada 2005 (called Ada 2007 in most of PLplot) is detected. This should cause absolutely no behavior changes in the Ada part of PLplot. However, the Ada files (examples and bindings) still end in .ads.cmake or .adb.cmake and will need to have .cmake removed and corresponding changes made to the build system.
------------------------------------------------------------------------
r11094 | airwin | 2010-07-21 15:10:59 -0400 (Wed, 21 Jul 2010) | 5 lines
Changed paths:
   M /trunk/plplot_test/test_octave.sh.in
   M /trunk/plplot_test/test_octave_interactive.sh.in

Temporarily remove some examples so that test_octave_psc and
test_octave_<interactive_driver> will work.



------------------------------------------------------------------------
r11093 | airwin | 2010-07-21 13:51:07 -0400 (Wed, 21 Jul 2010) | 2 lines
Changed paths:
   M /trunk/cmake/modules/wxwidgets.cmake

Emit WARNING when the AGG component of wxwidgets has been dropped.

------------------------------------------------------------------------
r11092 | airwin | 2010-07-21 12:49:22 -0400 (Wed, 21 Jul 2010) | 2 lines
Changed paths:
   M /trunk/cmake/modules/python.cmake

Drop "DEBUG: " from PYTHON_VERSION output.

------------------------------------------------------------------------
r11091 | airwin | 2010-07-21 12:38:37 -0400 (Wed, 21 Jul 2010) | 7 lines
Changed paths:
   M /trunk/cmake/modules/python.cmake

Obtain PYTHON_VERSION in a way that works for both python2 and
python3 and which ignores trailing information after the triplet version
number.

Do not allow the user to fiddle with PYTHON_VERSION result variable.


------------------------------------------------------------------------
r11090 | hbabcock | 2010-07-16 14:28:37 -0400 (Fri, 16 Jul 2010) | 1 line
Changed paths:
   M /trunk/bindings/python/CMakeLists.txt
   M /trunk/bindings/python/Plframe.py
   M /trunk/bindings/swig-support/plplotcapi.i
   M /trunk/cmake/modules/python.cmake

Apply Simon's patch to add plsmem support to the Python binding. Modify the Python build system to check for a recent enough version of swig and Python to build plsmem properly.
------------------------------------------------------------------------
r11089 | andrewross | 2010-07-15 18:14:33 -0400 (Thu, 15 Jul 2010) | 3 lines
Changed paths:
   M /trunk/bindings/octave/PLplot/shade.m

Modify octave shade script to use plshade1 rather than plshade to ensure that stretched grids are correctly handled.


------------------------------------------------------------------------
r11088 | hbabcock | 2010-07-15 13:23:38 -0400 (Thu, 15 Jul 2010) | 1 line
Changed paths:
   M /trunk/README.Release_Manager_Cookbook

Updates our document describing the release process to reflect recent changes at SF.
------------------------------------------------------------------------
r11087 | airwin | 2010-07-13 17:18:52 -0400 (Tue, 13 Jul 2010) | 5 lines
Changed paths:
   M /trunk/cmake/modules/lua.cmake

Greatly simplify the lua5.1 versus lua5.0 logic.  The user choice is
removed.  Instead, lua5.1 is used if available, otherwise lua5.0 is
used if available.


------------------------------------------------------------------------
r11086 | airwin | 2010-07-13 12:10:03 -0400 (Tue, 13 Jul 2010) | 2 lines
Changed paths:
   M /trunk/cmake/modules/pkg-config.cmake

Tweak warning message generated when pkg-config is not available.

------------------------------------------------------------------------
r11085 | hbabcock | 2010-07-02 18:30:12 -0400 (Fri, 02 Jul 2010) | 1 line
Changed paths:
   M /trunk/doc/docbook/src/api.xml

Tweak plarc docs. Add documentation for plfsurf3d.
------------------------------------------------------------------------
r11084 | arjenmarkus | 2010-06-30 05:57:53 -0400 (Wed, 30 Jun 2010) | 3 lines
Changed paths:
   M /trunk/drivers/wingcc.c

Adopt the proposed changes by Alessandro Piras. Verified that they worked with gcc on a 32-bits Windows system.
(If it turns out that the two functions are not available on older platforms, then we can easily fix that via
a suitable macro. In all likelihood, this solves the issue for both 32-bits and 64-bits systems.)  
------------------------------------------------------------------------
r11083 | airwin | 2010-06-29 20:01:10 -0400 (Tue, 29 Jun 2010) | 19 lines
Changed paths:
   M /trunk/fonts/plhershey-unicode.csv

Consistently change from "bullet operator" (unicode 0x2219) to "bullet,
alias black small circle" (unicode 0x2022) to assure consistently round
results for all fonts corresponding to Hershey indices 143 and 850.  (Some
modern fonts use a filled square glyph for 0x2219, but as far as I can tell
no modern fonts do that for 0x2022 which is consistent with its alias name
of "black small circle").

N.B. the tables for further translation from unicode to type1 font index
(contained in include/plunicode-type1.h) for the ps and pdf devices include
an entry for both 0x2219 and 0x2022.  The resulting type 1 indices are
different, but the results using

examples/c/x06c -dev psc -o test.ps -drvopt hrshsym=0

look good (small round filled circle for position 17) so no changes need to
be made to include/plunicode-type1.h to be consistent with the present
change.


------------------------------------------------------------------------
r11082 | hbabcock | 2010-06-24 09:21:16 -0400 (Thu, 24 Jun 2010) | 1 line
Changed paths:
   M /trunk/doc/docbook/src/api.xml

Add documentation for plarc.
------------------------------------------------------------------------
r11081 | arjenmarkus | 2010-06-21 03:22:35 -0400 (Mon, 21 Jun 2010) | 2 lines
Changed paths:
   M /trunk/drivers/wingcc.c

Incorporate the changes suggested by Sisyphus on plplot-general for support of the Windows 64-bits platform.
Note: untested for lack of such a system.
------------------------------------------------------------------------
r11080 | hezekiahcarty | 2010-06-20 01:28:43 -0400 (Sun, 20 Jun 2010) | 20 lines
Changed paths:
   M /trunk/drivers/cairo.c

Replace xcairo dirty rectangles with optional offscreen (image) buffering

Adds a new drvopt, image_buffering, which is on (= 1) by default.

This also does a bit of minor cleanup in the way drawing properties are
handled.

Disabling image_buffering causes all plot drawing to occur directly on an
X surface (still buffered off-screen).  This should maintain a similar or
better speed increase for example 17 as provided by the dirty rectangle
approach, while avoiding the negative performance impact the dirty
rectangle code had on some routines, such as plimage (example 20).

The cleanup in this patch consists of:

1. Using cairo_save and cairo_restore to save/restore the state of various
   Cairo drawing settings when they are changed within a drawing function.
2. Using the CAIRO_OPERATOR_OVER operator to avoid seams between adjacent
   polygons, thanks to a suggestion on the Cairo mailing list.

------------------------------------------------------------------------
r11079 | arjenmarkus | 2010-06-17 03:21:29 -0400 (Thu, 17 Jun 2010) | 3 lines
Changed paths:
   M /trunk/examples/tcl/standard_examples.in
   M /trunk/examples/tk/standard_examples.in
   M /trunk/examples/tk/tkdemos.tcl

Adjust the standard examples scripts: they can now be used as regular Tcl/Tk script as well as shell scripts.
Added the "plspause 0" command before running the demo. Note however that this does not work well with interactive
devices (solve that via a command-line option?)
------------------------------------------------------------------------
r11078 | airwin | 2010-06-16 16:41:58 -0400 (Wed, 16 Jun 2010) | 10 lines
Changed paths:
   M /trunk/examples/tcl/standard_examples.in

On Linux with -dev xwin example 21 appears to have no effect on example 22
so reinstate example 21.

The -np option for tcl/standard_examples(.in) in test_tcl_standard_examples
calls plspause 0 to reduce keystrokes for those trying that target. However,
example 20 necessarily calls plspause 1 which overrides the -np option.
Therefore, force plspause 0 after example 20 to reduce keystrokes for all
further examples.


------------------------------------------------------------------------
r11077 | airwin | 2010-06-16 14:07:09 -0400 (Wed, 16 Jun 2010) | 5 lines
Changed paths:
   M /trunk/examples/CMakeLists.txt

Implement the test_tcl_standard_examples target (which can be run
independently or as a dependency of the test_interactive target) to run
Arjen's new examples/tcl/standard_examples(.in) script.


------------------------------------------------------------------------
r11076 | airwin | 2010-06-16 14:04:26 -0400 (Wed, 16 Jun 2010) | 3 lines
Changed paths:
   M /trunk/examples/tcl/standard_examples.in

Turn examples/tcl/standard_examples(.in) into a properly configured shell
script with the correct properties.

------------------------------------------------------------------------
r11075 | airwin | 2010-06-16 14:01:15 -0400 (Wed, 16 Jun 2010) | 2 lines
Changed paths:
   M /trunk/examples/tcl/x01.tcl

Restore pladv command for the reasons given.

------------------------------------------------------------------------
r11074 | airwin | 2010-06-16 13:59:44 -0400 (Wed, 16 Jun 2010) | 2 lines
Changed paths:
   M /trunk/examples/tk/standard_examples.in

Configure shell command.

------------------------------------------------------------------------
r11073 | airwin | 2010-06-16 13:39:45 -0400 (Wed, 16 Jun 2010) | 3 lines
Changed paths:
   M /trunk/CMakeLists.txt

utils subdirectory must be processed before examples so that pltcl target
is available for the tests that are run in examples.

------------------------------------------------------------------------
r11072 | airwin | 2010-06-16 12:35:28 -0400 (Wed, 16 Jun 2010) | 4 lines
Changed paths:
   M /trunk/examples/python/x01

plstar(2,2) ==> plinit().  This simplification is allowed since plssub(2,2)
is called in any case inside xw01.py.


------------------------------------------------------------------------
r11071 | airwin | 2010-06-16 12:33:25 -0400 (Wed, 16 Jun 2010) | 4 lines
Changed paths:
   M /trunk/examples/python/xw14.py

plflush ==> plflush().  This change makes this plflush call consistent
with the rest and probably also makes a difference to results for
interactive devices where plflush is something different than a noop.

------------------------------------------------------------------------
r11070 | arjenmarkus | 2010-06-16 03:15:26 -0400 (Wed, 16 Jun 2010) | 10 lines
Changed paths:
   M /trunk/examples/tcl/CMakeLists.txt
   A /trunk/examples/tcl/standard_examples.in
   M /trunk/examples/tcl/tcldemos.tcl
   M /trunk/examples/tk/tkdemos.tcl

Provide a script to run all Tcl examples in the same way as we do for the Tk examples. The script properly
resets PLplot so that each example displays correctly (with the exception of x21). Reformatted the Tk script,
as the list of commands to reset PLplot got fairly long. 

Currently, the script (standard_examples) can not be used as a proper shell script, in the same way as the 
Tk equivalent. This is a first version to get the basic functionality.

Re x21: this example does something to upset PLplot on my machine, so that the next example complains that
I should call plinit() again. I have commented it out for now.

------------------------------------------------------------------------
r11069 | arjenmarkus | 2010-06-16 03:10:00 -0400 (Wed, 16 Jun 2010) | 3 lines
Changed paths:
   M /trunk/drivers/wingcc.c

Correct information about the capabilities of the wingcc driver - it does not in fact implement the clear escape.
The stripchart example (x17) failed because of this. As there seems to be no simple way of clearing the window in
the GDI library, leave it to the default method - drawing a filled rectangle. 
------------------------------------------------------------------------
r11068 | airwin | 2010-06-07 21:58:52 -0400 (Mon, 07 Jun 2010) | 2 lines
Changed paths:
   M /trunk/www/corefunctions.php

& ==> &amp; change to make results validate.

------------------------------------------------------------------------
r11067 | airwin | 2010-06-07 19:37:17 -0400 (Mon, 07 Jun 2010) | 11 lines
Changed paths:
   M /trunk/www/corefunctions.php

Adjust for the fact that the SF projnews.php no longer works correctly
(it returns bad URL's for individual news items).

Add URL for our collected news page to horizontal menu bar.

Drop projnews.php results (which included individual news items plus
a link to our collected news page) from sidebar.

Put resources first on sidebar and source code last.


------------------------------------------------------------------------
r11066 | airwin | 2010-06-07 18:11:40 -0400 (Mon, 07 Jun 2010) | 2 lines
Changed paths:
   M /trunk/doc/docbook/src/CMakeLists.txt

Correct info directory issue the old-fashioned way using sed.

------------------------------------------------------------------------
r11065 | airwin | 2010-06-07 11:51:51 -0400 (Mon, 07 Jun 2010) | 6 lines
Changed paths:
   M /trunk/README.release

I will be encouraging everyone to report their test results at
http://miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot#Testing_Reports
throughout the 5.9.7 release cycle.  Therefore, use 5.9.7 for the version
number where those tests are described.


------------------------------------------------------------------------
r11064 | airwin | 2010-06-06 03:23:52 -0400 (Sun, 06 Jun 2010) | 20 lines
Changed paths:
   M /trunk/doc/docbook/src/plplotdoc.xml.in

Revert previous change which didn't do what we wanted.  The result
was

* The PLplot Plotting Library: (plplotdoc).   The PLplot Plotting Library

got changed to

* The PLplot Plotting Library: (plplotdoc).   PLplot Plotting Library

(i.e. where the second "The" is dropped) rather than the desired

* PLplot Plotting Library: (plplotdoc).   The PLplot Plotting Library

(i.e., where the first "The" is dropped).

It looks like to drop the first "The" it would be necessary to change
the overall title which would be bad since that would affect html, PostScript,
etc., results as well as the info results.


------------------------------------------------------------------------
r11063 | airwin | 2010-06-06 02:49:48 -0400 (Sun, 06 Jun 2010) | 7 lines
Changed paths:
   M /trunk/doc/docbook/src/plplotdoc.xml.in

Drop "The" from "The PLplot Plotting Library" info directory as suggested
by Leo to make it easier to search info for plplot.  

N.B. This commit is necessary to conveniently test this change with our
website building scripts so may be subject to further revision.


------------------------------------------------------------------------
r11062 | airwin | 2010-06-06 02:45:43 -0400 (Sun, 06 Jun 2010) | 2 lines
Changed paths:
   M /trunk/www/index.php

Rewrite Unicode summary.

------------------------------------------------------------------------
r11061 | hbabcock | 2010-06-05 14:12:39 -0400 (Sat, 05 Jun 2010) | 1 line
Changed paths:
   M /trunk/www/credits.php

Add a note about the Qt driver dependencies.
------------------------------------------------------------------------
r11060 | hbabcock | 2010-06-05 13:30:13 -0400 (Sat, 05 Jun 2010) | 1 line
Changed paths:
   M /trunk/www/examples.php

Update for 5.9.6 release.
------------------------------------------------------------------------
r11059 | hbabcock | 2010-06-05 13:23:12 -0400 (Sat, 05 Jun 2010) | 1 line
Changed paths:
   M /trunk/OLD-README.release
   M /trunk/README.release

Updated for 5.9.7 release.
Source: README.release, updated 2010-10-03