[prev in list] [next in list] [prev in thread] [next in thread]
List: gtk-devel
Subject: Re: The state of the canvas
From: Alexander Larsson <alexl () redhat ! com>
Date: 2005-11-18 13:28:41
Message-ID: 1132320521.14985.137.camel () greebo
[Download RAW message or body]
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!
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic