2007-01-07 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ===== 0.6.1 =====

  Split the X11 color initializer into four files to allow building the std::map on low
  memory machines

  Improved the grid example to include borders and interval lines.

  Papyrus::Linestyle: Added operator == and operator !=

  Papyrus::Grid: Working now... no longer just a preview

2007-01-02 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ===== 0.6.0 =====

2007-01-01 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>

  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

  Papyrus::Boxed
    Added constructor that accepts a parent group

    Won't draw() if there are no children

  Papyrus::Drawable
    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

  Papyrus::Group
    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

  Papyrus::Handlebox
    Added constructor that allows specification of which default handles to create

  Papyrus::Selector
    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

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

  Papyrus::Translator
    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 <rvinyard@cs.nmsu.edu>

  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.

2006-09-08 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ===== 0.5.0 =====

  Autotools support for one release for both cairo 1.0 and 1.2

2006-09-07 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Papyrus demo - Added drawables demo 

  Papyrus::Bezierline - Added support for relative vertices 
	 
  Papyrus::Beziergon - Added support for relative vertices 

  Added Papyrus::Hilbert 
	 
  Added Papyrus::KochCurve 
	 
  Added Papyrus::KochSnowflake 

  Papyrus::Polyline - Added relative vertices 

  Papyrus::RGBA - Added alpha parameter to string name constructor 

  Added Papyrus::Sierpinski 

  Removed drawable_test example and merged it into papyrus-demo 

2006-09-04 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Papyrus::Canvas - Added width and height concepts to canvas itself 

  Papyrus::Group - Added check to prevent a group from being added to itself. 

  Papyrus::Animator - Removed dependency on Glibmm and replaced 
  with a dependency on Glib by changing Glib::TimeoutSource to use 
  glib's timeouts. This also fixed the errors Glibmm apparently has in 
  the call sequence of Glib::TimeoutSource.destroy(). 

2006-09-03 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Added color scheme example 

  Added Translator example to demo 

  Added small perl utility to generate X11 color lookup from rgb.txt 

  Removed Papyrus::AffineTransformer - the functionality was moved to 
  Papyrus::Translator 

  Papyrus::Translator - Added subclass of Selector to allow for translation of
  a selection 

  Papyrus::Text - Added support for font family, slant and weight 

  Papyrus::Selector - Changed selection behavior to allow multiple selection 
  with the CTRL key.  

  Example image - Changed image slightly to avoid trigraph warning 

  Papyrus::Controller - Added enable/disable mechanism 

  Added RGB, HSB, HSV, YUV and X11 color classes from the A'Hote library 

2006-08-30 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Events - Added notion of state to convey modifier conditions

  Added AffineTransformer

  Papyrus::Selector - Added clear method, cleared signal and grouping behavior
  when ctrl is pressed while selection occurs.

2006-08-24 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  ===== 0.4.0 =====

2006-08-23 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  Changed PapyrusGtk::Viewport from inheritance events to signals

2006-08-24 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  ===== 0.3.1 =====

2006-08-23 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  Changed Viewport from inheritance events to signal events

2006-08-20 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  Various code cleanup

2006-08-16 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  Papyrus::Image - Made default centroid the center of the image

2006-08-15 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  ===== 0.3.0 =====

  Removed button code from simple example and made truly simple
  by taking out animator stuff

  Moved button example from simple to it's own example

  Finally moved png.h and png.cpp to image.h and image.cpp

  Added example_image() factory function

  Added inline example image

  Added controller events

  Papyrus::Animator - Added signal_advanced

2006-08-14 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  PapyrusGtk::Viewport - Removed support for PapyrusGtk::Manipulators, added
  support for Papyrus::Controllers

  Changed library location to papyrusmm, but namespace remains PapyrusGtk

  Added PapyrusGtk::AnimatorBounceWidget

  Added PapyrusGtk::AnimatorFrameIntervalWidget

  Added PapyrusGtk::AnimatorFrameRateWidget

  Added Papyrus::Selector

  Added Papyrus::FreehandSketcher

  Added Papyrus::Controller

  Papyrus::Bezierline - Added usage guide

  Papyrus::Beziergon - Added usage guide

  Added Papyrus::AffineAnimator

  Added Papyrus::Animator

2006-08-06 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ===== 0.2.3 =====

2006-08-04 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Moved definition of vertices from inside the Polyline class to a general
  definition within the Papyrus namespace.

  Added Papyrus Quick-Start Guide

  Added Bezierline and Beizergon

2006-08-01 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  ===== 0.2.2 =====
  Added support for boost smart pointers as alternative to tr1 smart pointers

2006-07-20 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  ===== 0.2.1 =====

  Drawable: Added parent accessor

2006-06-09 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  Added papyrusmm-demo

2006-06-07 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  ===== 0.2.0 =====

2006-05-30 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  PapyrusGtk: LineCapButtonBox and LineJoinButtonBox - Added methods to select
  image preview size.

  Papyrus::Shape - Added an internal bounding box storage for quick 
  recalculation of bounding box when outline style changes.

  Papyrus::Polyline - Removed dependency on VerticesInterfaces and merged 
  interface directly into Polyline. Added start, end and vertex methods, but 
  vertex methods are not currently implemented.

  Papyrus::Marker - Changed *pointing* methods to *facing*

  Papyrus::LineStyle - Added proper copy semantics that will not copy signals 
  as well.

  Factory::example_marker - Updated to return a polyline with the appropriate 
  marker set using the new set_*_marker methods

2006-05-26 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  Added LineCapButtonBox, LineJoinButtonBox and LineStyleDialog

  Handlebox: Fixed missing handles by using clone method

2006-05-23 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  Added clone() methods to instantiable drawables.

2006-05-07 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  ===== 0.1.11 =====

2006-04-09 Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>
  ===== 0.1.10 =====

2006-03-24 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ===== 0.1.9 =====

  Added LineWidthComboBox

  Added ArrowComboBox

  Shape: Extended documentation

  Added example_line_join(), example_line_cap() and example_arrow() factory methods.

  Arrow: First working version

  Arc: Added numerous signals that can be connected to monitor when properties
  change.

2006-03-19 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Drawable: Major cleanup and changes. Added skewing transforms. Added property
  change signal callback to automatically emit on_changed() signal, eliminating
  the need for an explicit call in Drawable or children. Added changed signals 
  of properties to public interface. Renamed affine transformation properties 
  to reflect their role as affine transforms.

  Enhanced LineCapComboBox with reference points for line ends.

  Renamed CanvasArea to Viewport to fit closer with terminology used by SVG.

  Removed TextBox which is no longer needed with ViewBoxes present

  Added concept of ViewBoxes similar to SVG's viewBox attribute

  Papyrus::Face: Smiley faces, et. al. for test purposes; kinda like OpenGL's 
  teapots...

2006-03-18 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Renamed all bbox methods and members to the longer but more appropriate name
  bounding_box.

  Changed BBox to Box to more accurately reflect its upcoming use as more than
  just a bounding box.

  Modified example_line_cap() to generate a Papyrus::Group that not only 
  illustrates the line caps, but also illustrates internal reference points.

2006-03-17 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ===== 0.1.8 =====

  Added new factory methods example_line_join() and example_line_cap() to 
  create Polylines demonstrating line joins and line caps.

  Papyrus::Arrow added, but not complete.

  Added PapyrusGtk::LineCapComboBox; a combobox that displays all cairo line 
  cap possibilities.

  Added PapyrusGtk::LineJoinComboBox; a combobox that displays all cairo line 
  join possibilities.

  PapyrusGtk: added utility.h to contain utility functions. The first is 
  create_pixbuf() which takes a Papyrus::Renderable, width and height 
  parameters and returns a Gdk::Pixbuf of the drawing.

2006-03-12 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Text: Fixed rendering bug that needed to calculate extents before scaling.

2006-03-12 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ===== 0.1.7 =====

  GroupTreemodel: Changed to utilize new property iterators in Idioskopos.

  FreehandSketcher: Added methods to control color, line width, line cap, 
  et. al.

  Group: cleaned up selecting code

2006-03-05 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ========== Release 0.1.6 ==========

  Drawable: Added methods to lock width and/or height to a fixed, constant 
  value. Eventually, this probably needs to be moved out of the class and into
  a more general constraint handling mechanism that watches the object's 
  signals for changes, but for now this will do.

2006-03-04 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Long overdue cleanup of configure.in et. al.

  Docs now install into $prefix/share/doc/{package}-{version}.

  Separate doc rpm consolidated into devel rpm.


2006-03-03 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Initial port of the Sketchpad from glcanvasmm.

2006-02-28 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Drawable, Shape, Canvas: Documentation updates

2006-02-28 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ========== Release 0.1.5 ==========

  GroupTreeModel: Changed to reflect change in CanvasArea.canvas() that now 
  returns a smart pointer to a Canvas object instead of a reference.

  CanvasArea: Major changes here. More functional as a canvas area widget with
  methods like scroll_to(x,y), ability to change scrolling point, etc.

  Shape: Added virtual draw_outline() method that defaults to calling 
  draw_shape().

  Drawable: Added is_pickable() method.

  Canvas: Added methods for smart pointer creation and typedef.

  Arc: reimplement the draw_outline() method from parent Shape

2006-02-26 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ========== Release 0.1.4 ==========

  drawable_test: Added scrolling window to introspectable properties.

2006-02-23 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Handlebox: New class derives from Boxed, but also allows placement of 
  specifiable shapes in the traditional placements for user interface handles.

  BBox: Added get_center() method

2006-02-22 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Boxed: Fixed update_bounds() method to place contained Drawables entirely in
  bounds. Also updated to recalculate own bounding box based on outline width 
  of bounding rectangle.

  Shape: added get_fill() and get_outline() methods. Also implemented 
  Shape::set_bbox() which takes into account the outline width in calculating 
  the bounding box.

  Drawable: moved m_bbox to a private method to enforce access through 
  protected set_bbox() virtual method, which is reimplemented by children such
  as Shape to add outline width in bbox calculations.

  BBox: Added more proper const method notation.


2006-02-21 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ========== Release 0.1.3 ==========

  drawable_test: cleaned up and added controls to test affine transformations

  Boxed: Cleaned up and now works properly. Included example code as well.

  Arc: cleaned and fixed calculation of bounding box on changes

  Drawable: added the concept of a centroid, about which rotation occurs. The
  centroid is defined as an offset from the (x,y) translation point, and is 
  used to control, for example, the rotation of a rectangle about it's center 
  rather than rotating about the upper left corner. More specific accessors 
  will follow to allow the centroid to be more explicitly set.

  Removed the dependency on the boost libraries by replacing the use of the 
  boost shared pointer with the shared pointer present in tr1.

2006-02-20 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Arc: fixed bug in drawing when a translation occurs. Completion code 
  shouldn't have to take into account x and y values, since underlying draw is
  relative to 0,0 and then the transform matrix is applied.

2006-02-19 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Group: Implemented a proxy/virtual pair for on_child_changed() to allow 
  children of group to implement their own behavior for responding to child 
  changes.

2006-02-18 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ========== Release 0.1.2 ==========

  Removed dependencies upon Gtkmm from the Papyrus library. The Canvas class 
  isn't much (for now) but will be expanded upon shortly. The former concept 
  of the Canvas was moved into the newly created PapyrusGtk library as a 
  CanvasArea.

  Added support for run-time introspectable properties through the Idioskopos
  library.

  Moved BoxedGroup to a simpler concept and renamed just Boxed.

  Created PapyrusGtk library separate from Papyrus library to allow separation
  between components that depend only upon cairo and those that depend upon 
  Gtkmm. This actually returns to an earlier concept from the GLCanvas library 
  that preceeded Papyrus and separated the OpenGL concepts from the Gtkmm 
  concepts.

  The Canvas class remains in Papyrus, and CanvasArea is in PapyrusGtk which 
  holds a Canvas.

2006-02-11 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Changed notation of smart pointers by moving typedef's of smart pointer 
  inside class resulting in name change from ptrDrawable, ptrRectangle, ptr...
  to Drawable::pointer, Rectangle::pointer, Shape::pointer...

  Updated configure.in and papyrus.spec.in to include RPM package checks for 
  FC4 when creating papyrus.spec

2006-02-07 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  example_factory: Fixed missing creation of TEXTBOX shape.


2006-02-05 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  ========== Release 0.1.1 ==========

  Added new library header papyrus.h that includes all other headers.

  Added new example, drawable_test, that uses example_factory() to create a
  comprehensive test/example application for all drawables.

  Papyrus::PNG - Renamed to Papyrus::Image

  Papyrus::Group - Fixed several redraw bugs when adding, removing or clearing

  example_factory: Initial working version

  Papyrus::Canvas
    Fixed clear() bug by adding queue_draw() after clearing root object since 
    root object was requesting a queue_draw_area(0,0,0,0)

    Added set_scale() convenience method

2006-02-04 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Moving toward creation of factory methods for drawables. In preparation:
    Added static create methods for all drawables that return smart pointers.
    Changed Group methods to require smart pointer rather than reference.
    Also updated and tested examples to reflect change.

  Changed papyrus::Lines to papyrus::Polyline; in gtkglcanvas this was used to
  represent a set of distinct lines, but it has now morphed into what is better
  described by the term 'polyline'

2006-01-27 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
  Modified to reflect change to cairomm from cairo.

  Removed the Pattern class due to changed to rely on cairomm instead of cairo.
  The Pattern class is not necessary since cairomm supplies a much more complete one.

  Change drawing operations to use cairomm instead of cairo
