PackageDescription: CairoGraphics-Wrappers

Cairo Graphics - Wrappers

Last published: October 28, 2007 by 'JoachimGeidel'

Defines 2 Classes
Extends 30 Classes

CairoGraphics-Wrappers is a feasibility study to investigate if it is possible to use CairoGraphics to render Wrapper-based user interfaces without having to rewrite their rendering code.

The package provides a CairoWrapper which holds onto a CairoContext, and can be used to wrap a VisualComponent. A CairoWrapper displays its component on a CairoGraphicsContext, which accepts the same display methods as a normal ScreenGraphicsContext. A CairoGraphicsContext uses a CairoContext for output instead of the VM's primitives where possible. If a VisualComponent does not work with CairoWrapper out of the box, override the method renderOn: as a replacement for displayOn:.

While the package contains additions to several VisualComponents, this does not mean that all of them will be displayed correctly if wrapped in a CairoWrapper, given the current state of the implementation. The package should already work for custom VisualComponents which render graphics and simple text labels. Using a DoubleBufferingWindowDisplayPolicy does not seem to work with CairoWrapper.

For examples, see the package CairoGraphics-Wrappers-Examples.

If you want to contribute or fix bugs, please use version names like "n.xx.m", where n is the number of the version on which your changes are based, xx are your initials, and m is a sequential number. Please describe your changes in the blessing comment of your version.

If you want to reach the original author, send an email to joachim geidel acm org or post a message to the vwnc mailing list.