Re: The state of the canvas



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]