[cairo] [cairo-announce] cairomm release 1.8.0 now available
Jonathon Jongsma
jonathon at quotidian.org
Mon Jan 26 20:14:56 PST 2009
cairomm is a C++ API for the cairo graphics library. For more
information, see http://cairographics.org/cairomm
A new cairomm release 1.8.0 is now available from:
http://cairographics.org/releases/cairomm-1.8.0.tar.gz
which can be verified with:
http://cairographics.org/releases/cairomm-1.8.0.tar.gz.sha1
f70cde664af825dc07467dc18e280bab646eb0ee cairomm-1.8.0.tar.gz
http://cairographics.org/releases/cairomm-1.8.0.tar.gz.sha1.asc
(signed by Jonathon Jongsma)
WHAT'S NEW
==========
This is the new stable release of cairomm that wraps the cairo 1.8.x release
series.
Changes since the last stable release:
1.8.0:
* No notable changes since 1.7.2
1.7.2 (UNSTABLE):
* API Changes (all API changes are in unstable API introduced in 1.7.x)
* UserFontFace is not implemented with virtual functions rather than by
registering callbacks
* Cairo::scaled_matrix() -> Cairo::scaling_matrix() to match other matrix
convenience functions
* Bugfixes
* Incorrect refcounting on ScaledFont
* build fixes for Mac OSX
* Contributors for this release:
1 Armin Burgmeier
1 Dave Evans
22 Jonathon Jongsma
1.7.0 (UNSTABLE):
* API Changes
* ScaledFont: Change fontface constructor parameter to be a RefPtr
* This is an API break, but the old interface was essentially unusably
broken
* Cairo::Matrix now inherits from cairo_matrix_t
* Previously, we had used Cairo::Matrix throughout our API, but
Cairo::Matrix was just a typedef for cairo_matrix_t
* This could be considered an API change, but the new Cairo::Matrix still
is-a cairo_matrix_t even if it's not exactly a cairo_matrix_t. This
change does not break ABI either, as there are no data members or virtual
functions. So I believe this is a safe change, but feedback is appreciated.
* Provides a much more C++-friendly API for handling matrices
* Also added a set of standalone 'generator' functions for generating
starting matrices:
* Cairo::identity_matrix(), rotation_matrix(), translation_matrix(),
scaled_matrix(). This allows for convenient use such as:
cr->set_matrix(Cairo::identity_matrix());
rather than something like what was required before:
Cairo::Matrix identity_matrix;
cairo_matrix_init_identity(&identity_matrix);
cr->set_matrix(identity_matrix);
* Pattern: get/set_matrix() functions were using a cairo_matrix_t parameter in
the API. This is the only place where we used this type and so it was
inconsistent with every other matrix-related API in cairomm. Previously
this wasn't really an issue since cairo_matrix_t and Cairo::Matrix were
typedefed to the same type. However, with the the change to Cairo::Matrix
mentioned above, this because a much bigger issue.
* This is an ABI-compatible change, but it is a minor API change that could
result in some warnings or compile problems in some situations`
* New API (some of these are new in cairo 1.8, some are older API that were
not wrapped in cairomm previously)
* Add Context::get/set_scaled_font()
* add Context::show_text_glyphs()
* add Context::get_font_options()
* Add Surface::has_show_text_glyphs()
* Add Surface::get_content() + test
* Added Surface::get_fallback_resolution()
* Add ScaledFont::text_to_glyphs()
* Add PsSurface::get_eps()
* Add missing Win32Surface API: create_with_ddb(), create_with_dib(), and
get_image()
* Add Win32PrintingSurface
* Vastly improved font support
* ToyFontFace
* UserFontFace
* Add Freetype font support (FtFontFace, etc)
* Add win32 font support (Win32FontFace, etc)
* Add quartz font support (QuartzFontFace, etc)
* Add ScaledFont::get_scale_matrix()
* Fix API inconsistencies by adding overloads and deprecating old versions
* Deprecated FontFace::extents() in favor of FontFace::get_extents()
* Deprecated FontFace::text_extents() in favor of FontFace::get_text_extents()
* Deprecated FontFace::glyph_extents() in favor of FontFace::get_glyph_extents()
* Add sigc::slot versions of all of the functions that take a
cairo_write_func_t or cairo_read_func_t
* This adds a new dependency on libsigc++, but offers a much more flexible
and C++-like solution
* Old API using cairo_write_func_t / cairo_read_func_t still exist, but are
deprecated in favor of the new API
* Add a default value for the font_options parameter of the ScaledFont
constructor
* Added new macros for determining library version:
* CAIROMM_MAJOR_VERSION, CAIROMM_MINOR_VERSION, and CAIROMM_MICRO_VERSION
* Add a bunch of extra .pc files for additional functionality
* like cairo, create convenience .pc files for using some of the optional
features. For example, cairomm-ft-1.0, cairomm-pdf-1.0, cairomm-xlib-1.0,
etc.
* Numerous windows build improvements
* Added a *lot* of automated tests
_______________________________________________
cairo-announce mailing list
cairo-announce at lists.cairographics.org
http://lists.cairographics.org/mailman/listinfo/cairo-announce
More information about the cairo
mailing list