Some new features, some drawing improvements and
some bug fixes. The drawing improvements mainly
relate to taking advantage of more aspects of the
cairo API to improve both speed and drawing
quality. Several new controllers are present such
as the Rotator and Scaler controllers that can be
used in combination with a Handlebox for
presenting handles on selections and using the
handles for rotation and scaling. The demo has
been extended to demonstrate the new controllers.

2007-01-02 Rick L Vinyard Jr <>
===== 0.6.0 =====

2007-01-01 Rick L Vinyard Jr <>

Papyrus demo: Added Rotator controller demo

Papyrus demo: Added Scaler controller demo

Papyrus demo: Added Handlebox Scaler demo

Papyrus demo: Updated selector demo to use Selector controller's new
selection group

Papyrus demo: Updated translator demo to include a box around selected items

Added constructor that accepts a parent group

Won't draw() if there are no children

Added distance_global_to_local() and distance_local_to_global() for transforming
distances to/from drawable's local/global coordinate spaces

Added local_extents() which provides extents after local affine transforms have
been applied

Renamed extents_transformed() to global_extents()

Added the concept of a drawing parent responsible for drawing order

Added constructor that accepts parent group

Made most methods such as add(), remove(), raise(), etc. virtual

Changed m_connections to m_redraw_connections

Changed m_child_connections to m_changed_connections

Changed on_child_need_redraw() to append pointer to child as last parameter

Rewrote add() and remove() methods to account for containing a child as a
drawing parent only

Rewrote draw() to only draw children that this group is responsible for
calling render upon

Added constructor that allows specification of which default handles to create

Changed selection_group to select_from_group notation

Added constructor that accepts selection group to add/remove selection to/from

Added extents() to return global extents of selection

Fixed bug that didn't set fill and outline paths to null after freeing objects

Added constructor that accepts selection group to add/remove selection to/from

Fixed bug that didn't set y coordinate of original translation position

Added Papyrus::Rotator

Added Papyrus::Scaler

2006-12-03 Rick L Vinyard Jr <>

Changed *_boundingbox() notation to *_extents()

Changed need_redraw() methods to shape_changed()

Polygon: Use cairo's close_path() rather than drawing to starting vertex.

Shape: Reimplemented to use cached cairo paths rather than recreating paths
every time the shape is redrawn.

Added Grid drawable.