Develop and Download Open Source Software

papyrus Canvas Library

Back to Project Summary

Would you recoomend this project?

Project Release infomations and Project Resources. Note that these informations are from this projects Freecode.com page and the downloads themselves may not be hosted with SourceForge.JP.

Project Release Information

2010-04-17 07:03
This release features both bugfixes and enhancements. A bug causing segfaults in Drawable's destructor that removed a child from a parent was fixed. Fixing this bug allowed the base Papyrus::Object to inherit from sigc::trackable again. The Group::clear() method has been cleaned up and improved. This should result in a fairly significant performance improvement if you have many items in a group and regularly clear it. A simple estimate would put the old version at a performance level of 3 * O(n lg(n)) + O(n) and the new version at 4 * O(n).
2009-12-10 06:45
This is primarily a bugfix release. There was an overload resolution bug with the virtual and non-virtual render() methods. Because of scoping rules, the virtual methods were not seen by descendants of Renderable,
causing an infinite recursion of the virtual method resulting in a segfault. To remedy this, two new macros have been created: PAPYRUS_RENDERABLE()
and PAPYRUS_DRAWABLE(). These macros add a using directive to ensure the overload resolution resolves to the virtual render() methods.
2009-11-18 19:44
This release adds support for linear and radial gradients. The paint hierarchy has also been restructured and as a result a new wrapper for cairo contexts has been implemented that includes internal state values. The Paint class is now a top level ancestor for all paints, including the gradients. The former solid colors that were supplied by Paint can now be found in its descendant Color. Other changes include a fix in ScrolledViewport for a display bug and the restructuring of several primitives such as Point, Vertex, and LineSegment.
2009-09-02 17:40
This release modifies the basic demo by adding support for scrolled viewports and zooming on the shapes. New shapes are Deltilles, Hextilles, and Quadrilles.
2009-08-06 06:39
This release features a new controller called Zoomer providing mouse wheel zooming of drawables. There is a new viewport widget named ScrolledViewport. It contains a basic viewport, but adds vertical and horizontal scrollers and provides an API very similar to Gtk's ScrolledWindow widget. Also new are two drawing modes. One allows for intermediate drawing, primarily to support compositing. The other is alpha drawing using cairo's paint_with_alpha() methods. Support for rounded rectangles is also added.

Project Resources

http://freecode.com/urls/30f2f974c1c87bcfc80beeccd6711c46
http://freecode.com/urls/d2ed8e4fcc367d84e901e0456753708d
http://freecode.com/urls/dda0b307adaf6b2d1cdb0bd62b9bdfd1
http://freecode.com/urls/8b3b0c9600d09cfb50d27f22e33da0cc
http://freecode.com/projects/libpapyrus

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.


SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.