Bug fix: tests didn't (always) return a valid status.

gdImageAALine_thickness.c didn't explicitly return 0 on success.

gdimageline_bug5.c was not an actual test at all.  It now confirms that the
tested operation (a line draw) alters the image it draws on.  (Not ideal
but better than what it did before.)
Added another Makefile.

This change adds a Makefile and bash script for building and testing
libgd on Windows with MinGW and MSYS.  This was written after I
concluded that it was easier and faster to just write a new Makefile
from scratch than to get autotools or CMake to play nicely with my
Windows installation.
Added beginnings of an updated manual

This changeset adds scripts and frontmatter for a user manual
for LibGD.  The manual is written using naturaldoc.  That is, the
actual manual (minus some front-matter taken from the manual for
version 2.0.36) is generated from specially-formatted comments in
the source code.

bootstrap.sh has been modified to also trigger generation of the
manual.
Added documention for gdImageCreate() and type gdImage.

This change adds naturaldoc comments for the above function and type.
Text was adapted from the 2.0.36 manual.

It also fixes the formatting of the comment for gdInterpolationMethod
so that naturaldoc will extract it.
Added .gitignore lines to exclude naturaldocs by-products.
Bug fix: gdImageScale() was sometimes messing up transparency.

_gdScaleOneAxis() was clamping the alpha channel to 0..255 when it
should be clamping it to 0..127.  This sometimes caused artifacts.

This change fixes that.
Added a new Gaussian blur function.

gdImageCopyGaussianBlurred() returns a blurred copy of its argument.
Blurring is done in two passes to take advantage of the Gaussian
function's separability for.  This makes the algorithm much faster
than single-pass implementations, especially for larger radii.

This change also adds documentation for the new function and the
existing blur (gdImageGaussianBlur()).
Added a test case for gdImageCopyGaussianBlurred().

This change is relatively thorough.  It confirms that the blurring
process succeeds and that the result is at least somewhat blurry.
Small code cleanup.

Removed non-exported prototypes from gd.h.  Where possible, made the
functions static and moved the rest of the prototypes to gd_intern.h.

Also removed redundant macros MIN/MAX macros from gd_interpolation.c
(since they're also defined in gd_intern.h) and tidied the formatting
a little.
Added gdImageFile(),  gdImageCreateFromFile() and gdSupportsFileType().

These are convenience functions which load or save image data to a
file.  They are roughly equivalent to opening a file handle with
fopen() and calling gdImageCreateFrom*() or gdImage*() on the FILE
pointer.  However, these functions identify the input or output format
from the filename suffix and call the appropriate read or write
function accordingly.

gdSupportsFileType() can be used to test if a specific file format
is supported.

Most scripting interfaces already do something like this but now
there's support for doing it from C as well.

This change also adds test cases for the code and naturaldocs
documentation.
Added gdnametest and gdCopyBlurred to .gitignore.
Added function 'gdImageGetInterpolationMethod()'.

This retrieves the interpolation method set via
gdImageSetInterpolationMethod().  It is a function instead of a macro
for the benefit of VMs that need a function pointer to call.
Started importing the old manual into Naturaldocs comments.

This changeset imports documention for gdImage to gdImagePng*() into
Natural Docs.  Documention is based on the text of the original
manual, version 2.0.36 but adapted to better suit the format.
Subsequent changesets will introduce docs for subsequent manual
entries.

naturaldocs, when present, is invoked by bootstrap.sh.  The completed
manual will be in docs/naturaldocs/html/index.html.  It can also be
explicitly invoked by running docs/naturaldocs/run_docs.sh.

This change also removed docs/naturaldocs/project/Menu.txt, since it
currently contains no non-generated content and is prone to introduce
noise into the changeset.
Updated .gitignore.

Now ignores all (so far) of the products of the MSys+Windows build
process.
Got gd_filename.c to work correctly under Windows.

Specified calling convention on function pointers.  (This matters
under Windows).

Switched from rindex() to strrchr() (oops!).

Tidied the formatting a bit.
Updated the MSys build files.

The Makefiles and scripts for building under MSYS had rotted a bit.  This
change fixes those things.
Minor enhancements to the MinGW+Msys build scripts.

Makefile now creates a zipfile containing the DLLs.

Resulting DLL no longer contains a version number in its name.  (The
Windows convention is to ship the DLL with the program using it.
Versioning the name just makes it harder for scripts to find the DLL.)

Tweaked the README a bit.
Bug fix: GD DLL rename hadn't been propagated everywhere.
MSys Makefile fix

Now adds the -static-libgcc flag.  This removes libgcc as a dependency.
MSys Makefile now statically links libgd.dll to libiconv.

This reduces dependencies but merges in LGPL code.  You can also
dynamically link it by commenting and uncommenting two lines.