0.5.0: 2006-02-09 Jonathon Jongsma * docs/reference/Makefile.am: added a 'html' target to satisfy the dist rule 2006-02-08 Jonathon Jongsma * cairomm/context.h: Added a lot of documentation for the Cairo::Context class taken from the cairo docs. It's not complete, but the basics are all covered now. * docs/reference/Makefile.am: make use of existing Makefile variable * NEWS: update for 0.5.0 release 2006-02-07 Jonathon Jongsma * Makefile.am: add docs/ subdir * configure.in: added an --enable-docs switch to the configure script (enabled by default), and added AC_OUTPUT directives for the documentation Makefiles, etc. * docs/.cvsignore: * docs/Makefile.am: * docs/reference/.cvsignore: * docs/reference/Doxyfile.in: * docs/reference/Makefile.am: * docs/reference/introduction.h: Added infrastructure to build and install the API documentation for cairomm (based on libxml++ makefiles). 2006-01-27 Jonathon Jongsma * .cvsignore: * cairomm/.cvsignore: update .cvsignore files * cairomm/surface.cc: * cairomm/surface.h: change Surface::create function to take a RefPtr instead of Surface& 2006-01-27 Murray Cumming * examples/pdf-surface/Makefile.am: Remove extra LDADD that was breaking the distcheck. 2006-01-26 Murray Cumming * examples/ps-surface/main.cc: * examples/svg-surface/main.cc: Correct the text of the messages. 2006-01-25 Jonathon Jongsma * configure.in: * examples/Makefile.am: * examples/pdf-surface/: * examples/ps-surface/: * examples/svg-surface/: add examples for additional surfaces 2006-01-24 Murray Cumming * 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-15 Jonathon Jongsma * 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-06 Jonathon Jongsma * 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-03 Jonathon Jongsma * cairomm/surface.cc: added missing implementations for reference() and unreference() functions 0.4.0: 2005-12-17 Murray Cumming * 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. 2005-12-17 Murray Cumming * 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. 0.3.0: 2005-12-08 Murray Cumming * 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-07 Murray Cumming * cairomm/context.cc: * cairomm/context.h: font_extents(), stroke_extents(), glyph_extents(), fill_extents(): Add get_ prefix and make them const. 2005-12-07 Murray Cumming * 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 * 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 * 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 * 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. 0.2.0: 2005-12-02 Murray Cumming * 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.