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 [EMAIL PROTECTED] [EMAIL PROTECTED] 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 [email protected] http://mail.gnome.org/mailman/listinfo/gtk-devel-list
