Download List

Project Description

Papyrus is a 2D C++ scenegraph (canvas) library that utilizes the cairo library to perform drawing operations. Similar canvas libraries are the Gnome Canvas, Diacanvas, and the QT Canvas. Numerous canvas primitives are available, including arcs, rectangles, polylines, and line markers. An optional companion library, Papyrusmm, provides a set of Gtkmm widgets which includes viewports (a canvas display widget similar to Gtk::DrawingArea) and other UI widgets related to drawing interfaces.

System Requirements

System requirement is not defined
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.

2009-05-15 05:51
0.11.1

This release fixes some bugs in the Reference class' handling of composed matrices and extents.
Tags: Minor bugfixes

2009-03-19 06:10
0.11.0

This release contains a few new features, some new optimizations, and some bugfixes. New features include the freeze()/thaw() methods added to Drawable. You can try them out in the demo, which includes an example. In coordination with the introduction of the freeze()/thaw() methods, the Boolean redraw parameter on all the Drawable affine transform methods has been removed. Rather than adding this parameter per function call, you can now enclose a group of function calls with a freeze/thaw pair. An issue that prevented the Canvas from drawing its background has been fixed, as well as several instances of invalid list iterators in Drawable's external matrices that caused segfaults. This release handles external matrix changed signals through a reference counted system rather than the older one-connection-per-added-matrix. This should improve things if a matrix is added multiple times to a drawable at the same or different levels.

2009-03-08 15:39
0.10.2

This release fixes a bug in the Group::inside(x,y) method that prevented selection/picking from working properly. There are also a few new convenience methods added to Matrix related to operations in inverse matrices.
Tags: Minor bugfixes

2009-03-06 06:33
0.10.1

This release contains a few minor changes to the handling of events within the papyrus-gtkmm Viewport class. The drawable picking example has also been updated and simplified to focus on how to perform mouse-based selection. Other items include Papyrus::Event::InterruptMarshaller to stop signal propagation on the first true slot return value, Papyrus::Event::signal typedef to simplify the declaration event signals with an interrupt marshaller, and signal_event_papyrus() added to Viewport allowing connections to be made to the Viewport papyrus events.
Tags: Minor feature enhancements

2009-02-26 07:02
0.10.0

This release introduces new changes to support more of an SVG-like structure, including paint and drawable dictionaries respectively similar in concept to SVG's paint servers and defs section. There are two new dependencies on glibmm (mainly for UTF strings and regular expression support) and libxml++, as well as the removal of the dependency on expat. Limited support for linear gradients in SVGs is also introduced, as is the new class Paint; a thin encapsulation of cairo's patterns with a signal emitted when the pattern is changed. Also new are extended unit tests and devhelp support.
Tags: Major feature enhancements

Project Resources