Initial revision
2005-12-02  Murray Cumming <murrayc@murrayc.com>

        * cairomm/cairomm.h: Put sensible stuff in here,
        instead of my copy/paste stuff from libxml++.
        * cairomm/context.cc:
        * cairomm/context.h:
        * cairomm/enums.h:
        * cairomm/exception.cc:
        * cairomm/exception.h:
        * cairomm/fontface.cc:
        * cairomm/fontface.h:
        * cairomm/fontoptions.cc:
        * cairomm/fontoptions.h:
        * cairomm/path.cc:
        * cairomm/path.h:
        * cairomm/pattern.cc:
        * cairomm/pattern.h:
        * cairomm/private.cc:
        * cairomm/private.h:
        * cairomm/surface.cc:
        * cairomm/surface.h: Add LGPL comment headings.
Increase version.
2005-12-07  Murray Cumming <murrayc@murrayc.com>

        * cairomm/context.cc:
        * cairomm/context.h: Change mask_surface() to
        mask() and set_source_surface() to set_source(),
        as per the method overloading advice in the
        language bindings section of the cairo documentation.
2005-12-07  Murray Cumming <murrayc@murrayc.com>

        * cairomm/context.cc:
        * cairomm/fontoptions.cc:
        * cairomm/surface.cc: Check for errors in
        constructors, as per the error-handling advice in the
        language bindings section of the cairo documentation.
2005-12-07  Murray Cumming <murrayc@murrayc.com>

        * cairomm/exception.cc:
        * cairomm/exception.h: Rename to logic_error, because
        the cairo documentation says that most of them are
        programming errors, not runtime errors. Derive from
        std::logic_error because of this.
        * cairomm/private.cc:
        * cairomm/private.h: Throw std::bad_alloc for memory
        errors, and std::io_base::failure for read/write runtime
        errors, as suggested by the cairo language-binding
        documentation.
2005-12-07  Murray Cumming <murrayc@murrayc.com>

        * cairomm/context.cc:
        * cairomm/context.h: Add typedef for Matrix, though we
        probably want to derive a class with a C++-like matrix
        API, with operator overloading.
2005-12-07  Murray Cumming <murrayc@murrayc.com>

        * cairomm/context.cc:
        * cairomm/context.h: font_extents(), stroke_extents(),
        glyph_extents(), fill_extents(): Add get_ prefix and
        make them const.
2005-12-08  Murray Cumming <murrayc@murrayc.com>

        * cairomm/pattern.cc:
        * cairomm/pattern.h: Create a hierarchy of pattern
        classes, as suggested by the C documentation, because
        not all functions are meaningful for all pattern types.
2005-12-17  Murray Cumming  <murrayc@murrayc.com>

        * cairomm/context.cc:
        * cairomm/context.h: Change set_dash(void) to
        unset_dash(). Change rotate_deg() to
        rotate_degrees(). Change identity_matrix() to
        set_identity_matrix(). Change new_path() to
        clear_path().
        * cairomm/fontface.cc:
        * cairomm/fontface.h: Comment-out
        get/set_user_data(), because it seems useless.
2005-12-17  Murray Cumming  <murrayc@murrayc.com>

        * cairomm/Makefile.am:
        * cairomm/refptr.h: Add shared
        reference-counting smartpointer, using
        the reference-count in the object. A copy
        of the tried and tested glibmm RefPtr.
        * cairomm/context.cc:
        * cairomm/context.h:
        * cairomm/fontface.cc:
        * cairomm/fontface.h:
        * cairomm/pattern.cc:
        * cairomm/pattern.h:
        * cairomm/surface.cc:
        * cairomm/surface.h: Make constructors protected
        and add public static create() methods that return
        instances in RefPtr<>s. This allows reference-counted
        objects to be clearly const or non-const, and allows
        casting between related types.
0.4.0:

2005-12-17  Murray Cumming  <murrayc@murrayc.com>

        * cairomm/Makefile.am:
        * cairomm/refptr.h: Add shared
        reference-counting smartpointer, using
        the reference-count in the object. A copy
        of the tried and tested glibmm RefPtr.
        * cairomm/context.cc:
        * cairomm/context.h:
        * cairomm/fontface.cc:
        * cairomm/fontface.h:
        * cairomm/pattern.cc:
        * cairomm/pattern.h:
        * cairomm/surface.cc:
        * cairomm/surface.h: Make constructors protected
        and add public static create() methods that return
        instances in RefPtr<>s. This allows reference-counted
        objects to be clearly const or non-const, and allows
        casting between related types.
2006-01-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

        * cairomm/surface.cc: added missing implementations for reference() and
        unreference() functions
2006-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

        * cairomm/surface.cc:
        * cairomm/surface.h: Added implementation of write_to_png() and
        write_to_png_stream() when PNG support is available in the base cairo
        library
        * examples/png_file/*: Added an example of creating an image surface and
        saving it to a png image file
        * examples/Makefile.am: add new example directory to SUBDIRS list
        * configure.in: added output declaration for examples/png_file/Makefile
        * examples/makefile.am_fragment: fix leftover libxml boilerplate
2006-01-15  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

        * cairomm/surface.cc:
        * cairomm/surface.h: backwards-incompatible API change for the Surface
        types.  Cairo::Surface is now a base class for all of the other surface
        types, and should not be used directly.  New Surface types include
        ImageSurface, XlibSurface, Win32Surface, PdfSurface, PsSurface,
        SvgSurface, and GlitzSurface.
        Modified Surface::write_to_png() and Surface::write_to_png_stream() so
        that they throw exceptions like the other functions instead of returning a
        cairo_status_t value.
        Added API documentation for all Surface classes and all member functions
        of the Surface class heirarchy.
        * examples/png_file/Makefile.am: added generated PNG file to CLEANFILES
        * examples/png_file/main.cc: updated the PNG example to use the new
        ImageSurface class instead of using the Surface class directly.
        * cairomm/*: Renamed the Cairo::Status type to Cairo::ErrorStatus since it
        conflicts with a #define Status in XLib and is not used exposed in the API
        anyway.
2006-01-24  Murray Cumming  <murrayc@murrayc.com>

        * cairomm/Makefile.am:
        * cairomm/surface.cc:
        * cairomm/surface.h:
        * cairomm/xlib_surface.cc:
        * cairomm/xlib_surface.h:
        * cairomm/win32_surface.cc:
        * cairomm/win32_surface.h: Moved XlibSurface and
        Win32Surface into separate files, not #included by
        the main cairomm.h file, so that developers do not need to
        suffer the Xlib.h or Windows namespace pollution unless they really need to.
        For instance, this fixes the gtkmm 2.9 build which was broken by the
        Display struct in Xlib.h.
2006-01-25  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

        * configure.in:
        * examples/Makefile.am:
        * examples/pdf-surface/:
        * examples/ps-surface/:
        * examples/svg-surface/: add examples for additional surfaces
Increase version.
2006-01-27  Murray Cumming  <murrayc@murrayc.com>

        * examples/pdf-surface/Makefile.am: Remove extra LDADD that was breaking
        the distcheck.
2006-01-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

        * .cvsignore:
        * cairomm/.cvsignore: update .cvsignore files
        * cairomm/surface.cc:
        * cairomm/surface.h: change Surface::create function to take a
        RefPtr<Surface> instead of Surface&