[Kde-graphics-devel] Status update

Dirk Schönberger dirk.schoenberger at sz-online.de
Mon Jan 3 22:15:48 CET 2005

> > The other attempts I have seen are mostly directly coupled to a lowlevel
> > rendering library like AGG or libart.
> KCanvas in kdenonbeta also provides multiple targets and is already quite
> functional.

Ok, you are right.

KCanvas is designed for "retained mode" graphics, i.e you keep a tree (or
list) of graphical objects you can manipulate, which render themselves.
KPainter is designed as a rendering API only, i.e. after you call "end" on
it, you may not change it anly longer.
This still means you may have cached backends, i.e. the rendering primitives
can be rendered to a buffer, and at the end the
buffer is rendered to the target device.
In theory you could implement KCanvas with a KPainter backend, but KCanvas
contains some optimizations for partial updates
which make this less than feasible.


More information about the Kde-graphics-devel mailing list