Galena: a free implementation of the Java2d graphics system in C++
Galena is an effort to implement most of the functionality of the
Java2d graphics subsystem in C++. Why? Because we don't have a good
library for C++ to match Java2d. C++2D can also be used in python,
perl, or gcj.
Galena aims for
- Offscreen buffering
- multiple rendering backends.
- antialiased rendering as a capability provided optionally by the
backend renderer. Antialiasing can be turned on and off as
needed.
- Arbitrary clipping
- Bezier shapes, proper stroking
- NURBs
- polygons -- arbitrary, self intersecting. holes?
- lines -- arbitrary width, style, capping, mitering.
- nurbs and beziers for curves (presuming beziers are faster).
The initial system might be built on the tarpaulin system.
Tarpaulin has:
- Offscreen buffering
- antialiased rendering only.
- Arbitrary clipping
- Bezier shapes
- polygons -- arbitrary, self intersecting. holes
- Loading images through gdk-pixbuf
- Freetype based character painting. No support for using glyph shapes directly
Todo
- Pull out medieval from tarpaulin and fix resizing of window.
- Implement lines/stroke.
pyart
Render model
collect shapes
apply graphics2d
clip
render to buffer(s)