> -----Original Message-----
> From: Arjan J. Molenaar [mailto:[EMAIL PROTECTED]]
> Sent: donderdag 20 april 2000 9:29
> To: '[EMAIL PROTECTED]'
> Subject: RE: New canvas??
> 
> 
> What does Achtung do with its canvas? I just saw it pass in the
> Gnome-components mailing list archive. Is it worth looking at?
> Should the Achtung folks make a wishlist too?

... never mind...

> Arjan
> 
> > -----Original Message-----
> > From: Alexander Larsson [mailto:[EMAIL PROTECTED]]
> > Sent: woensdag 19 april 2000 20:11
> > To: [EMAIL PROTECTED]
> > Subject: Re: New canvas??
> > 
> > 
> > On Wed, 19 Apr 2000, James Henstridge wrote:
> > 
> > > On Tue, 18 Apr 2000, Alexander Larsson wrote:
> > > > * GnomeCanvas supports a general affine transformation of 
> > all objects,
> > > > should we have this? It can be very useful, but it also 
> makes many
> > > > item-implementations very difficult, and might not be 
> > used by very many
> > > > applications.
> > > 
> > > It would be nice to add support for this.  Rotations in 
> > particular would
> > > be nice to have.
> > > 
> > > > 
> > > > * The libart micro-tile array structure might be a good 
> > way to handle
> > > > handling of partial repaints. That code can be taken from 
> > libart if we
> > > > don't want the libart dependency. It might be nice when 
> > intergrating
> > > > with bonobo and GnomeCanvas which use this.
> > > 
> > > It is probably a good idea to use libart from the beginning.  The 
> > > instability in the AA GnomeCanvas is not due to libart in 
> > most cases, but
> > > the GnomeCanvas code.
> >  
> > Maybe, maybe not. GdkPixbuf was changed to remove the libart 
> > dependency
> > because the Gtk+ people didn't want to add a new 
> dependency. Maybe we
> > should be wary of dependencies too.
> > 
> > > > * Should we allow CanvasItems to be GtkWidgets? This would mean
> > > > subclassing from GtkLayout with all its hocus-pocus 
> > mapping and unmapping
> > > > for scrolling. It means that some stuff will be hard to 
> > implement too,
> > > > like affine transformations (or just scaling, see below) 
> > of generic
> > > > widgets, or rendering to non-gdk renderers. Another 
> > problematic thing here
> > > > is that GtkWidgets generally cannot be displayed at the 
> > same time in
> > > > different views.
> > > 
> > > I don't know.  We should at least aim to make it possible 
> > to  add a Bonobo
> > > Embeddable to the canvas.  I don't know how much adding of 
> > other widgets
> > > is used in the GnomeCanvas in cases where multiple views are used.
> > 
> >  Yeah, that would be good. Might be a bit hard though.
> >  
> > > > * The renderer. Ahh, this is cool stuff. This is actually 
> > the best part of
> > > > Dia in my opinion. It can be better though. First of all 
> > it should be a
> > > > GtkObject, with ref-counting and all, in the name of 
> > Gtk-ization. If this
> > > > is done well it could be used by other parts of Gtk too, 
> > as an abstract
> > > > printer interface etc.
> > > > 
> > > > It should support:
> > > >  Color specification
> > > >  Line attributes (dash, caps, joins)
> > > >  Fill styles
> > > >  Lines, polylines, polygons, rectangles
> > > >  Ellipses and arcs (axis-aligned, if you need general, 
> > use beziers)
> > > >  Bezier curves, (lines and filled)
> > > 
> > > Do we handle these directly, or let an application cache a vpath
> > > created from an ArtBPath and use the polyline/polygon 
> > rendering routines?
> > 
> > That is up to the renderer:
> >  shape = renderer->create_bezier(renderer, ...);
> >  renderer->draw_shape(renderer, shape);
> > 
> > The shape object here can contain the polygon or the bezier points,
> > depending on if the render target can do real beziers (i.e. 
> > postscript)
> >  
> > > >  Image rendering (based on GdkPixbuf)
> > > >  Rotated text rendering, (pixmap rotation hack or 
> whatever in Gdk)
> > > >  Text extents measuring
> > > 
> > > Should the text extents depend on which renderer you 
> > choose?  It is not
> > > clear to me that this is useful.
> >  Well... Font extents are difficult stuff. You need the exact font
> > metrics, which can differ for different renderers (Gdk vs. 
> PS) because
> > they don't use exactly the same font.
> >  
> > > >  All strings in UTF-8, font selection using Pango (A must 
> > for i18n)
> > > 
> > > Having good font handling is a must.  If Pango isn't yet 
> > ready, we can use
> > > gnome-print's GnomeFont stuff in the mean time.  It handles 
> > the variable
> > > size fonts and metrics problems
> > 
> >  I haven't looked at gnome-print, i really should.
> >  
> > > We definitely need some way to store some data for each 
> > canvas item keyed
> > > to the view (eg. we probably want to save a scaled pixbuf 
> > for each view),
> > > which can be thrown away when the view changes.
> >  Yeah, that would be nice.
> >  
> > > We may as well start putting together a bit of code for the new
> > > canvas.  We should put it in a new module on CVS, in case non dia
> > > developers want to help.  I am not sure what to call the 
> new canvas
> > > objects though.  Probably not GtkCanvas at the moment -- 
> > use some other
> > > name, and if it gets accepted into gtk+, change the name.  
> > This is what
> > > Havoc did with the new text widget for gtk+-1.4 (I think it 
> > was going by
> > > the name FrooTkxt).
> > 
> > Yeah, someone come up with a name. Names tend to stick around 
> > though, so
> > watch out. I'd love to work on the renderer stuff.
> > 
> > I'm going away tomorrow, for a few days, and the next week I'm going
> > skiing, so i can't help out right now.
> > 
> > Btw. There was some discussion about model/view canvas stuff 
> > in the gnome
> > components mailinglist, check it out.
> > 
> > / Alex
> > 
> > 
> 

Reply via email to