Re: The state of the canvas
- From: Alexander Larsson <alexl redhat com>
- To: Damon Chaplin <damon karuna uklinux net>
- Cc: gtk-devel-list gnome org
- Subject: Re: The state of the canvas
- Date: Fri, 18 Nov 2005 14:28:41 +0100
On Thu, 2005-11-17 at 12:44 +0000, Damon Chaplin wrote:
> On Thu, 2005-11-17 at 12:47 +0100, Jean Bréfort wrote:
> > Hi,
> >
> > It seems that things do not advance a lot by now. AFAIK, no much work
> > have been done except Alexander Larsson's patch available at:
> > http://bugzilla.gnome.org/show_bug.cgi?id=318807
>
> I've almost got a canvas widget working. It's similar to foocanvas, but
> renders with cairo, has a model/view split, and uses interfaces for
> canvas items and views.
>
> Here's a demo (basically a port of the foocanvas demo):
>
> http://www.dachaplin.dsl.pipex.com/goocanvas
>
> I should have all the basics sorted out in the next week.
>
> I'd be interested to hear what essential features people think are
> missing in it.
This looks pretty cool.
Why don't you split the group only methods from GooCanvasItemIface into,
say GooCavnasCompositeItemIface. Right now you can call
goo_canvas_item_add_child() on any item, but it will crash since
iface->add_child is NULL.
For the text object it would be very nice to have a mode where the text
is zoomlevel independent. As a very easy way to do this, use
CAIRO_HINT_METRICS_OFF for the text layout. Ideally you'd do the full
thing described at: http://people.redhat.com/otaylor/grid-fitting/
There is no support for applying generic affine transformations to the
items. Maybe this is a design decision though? Adding affines to
gnome-canvas was certainly when it started going downhill, which is why
I backed up to before that when I did foocanvas. However, with cairo
instead of libart for the rendering and all rendering being done with
cairo this might be doable in a sane way these days.
Its a shame that GooCanvasView is not an interface. Its used by
GooCanvasItem in create_view, so the items are tightly tied to it. If it
was an interface then you could implement a different view for e.g.
drawing to a pdf surface (i.e. support printing).
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl redhat com alla lysator liu se
He's a scarfaced zombie dwarf who hangs with the wrong crowd. She's an
artistic mutant doctor with a knack for trouble. They fight crime!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]