Papyrus 0.6.0 released

  • 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.