Re: Canvas API proposal



On Sun, 2005-02-13 at 18:48 +0100, Sven Herzberg wrote:
>Am Samstag, den 12.02.2005, 23:13 +0100 schrieb Sven Herzberg:
>>Result
>>======
>>I have a small implementation called CCC (criawips' cairo-based canvas)
>>which can be made available to the public within 24 hours. It features a
>>basic rectangle type and a canvas model that easily allows grouping. It
>>is based upon cairo and I plan to use it as a foundation for the next
>>rendering infrastructure for criawips.
>>
>>I used it as a demonstration for GObject code at the 21C3 [2] late
>>december, so it is already a working base which needs to be extended to
>>provide all the object types that the gnome canvas provides. I don't
>>know (yet) how to integrate pango into the canvas to provide the same
>>rendering flexibility that GTK+ provides. The next thing is that I don't
>>know (yet) how to provide support for some GnomeCanvasWidget-style
>>element.

  A couple of comments:

	1. Using GtkTreeView data types in a canvas API is just plain weird :|

	2. Your canvas looks excessively complex to me.   Are you sure we need
canvas item model/renderer separation?  I think you need it if:
		a) You want to store data that is specific for per item-view pair;
Example: some caching of pixel coordinates, or something like that, I
don't know..

		b) You want to render the same data in multiple ways, using for this
multiple renderers.  Example: draw the same item in black-and-white in
one view and on color in another;

	So if you are willing to give up these minor features, you could make
your canvas half as complex by eliminating canvas item model-view split.

  I'm not saying we should give up canvas model-view split.  I'm saying
that perhaps canvas model-view doesn't imply we have to split items
mode-view as well.  The same canvas item belonging to one model can
easily draw into multiple canvas views.  With cairo contexts, we could
even have the item rotated 90° in one view and 0° in another.

  Regards.

>
>So, here you are:
>
>Tarball: http://www.blaubeermuffin.de/stuff/ccc-0.0.1.tar.gz
>GTK-Doc: http://www.blaubeermuffin.de/ccc
>
>Feel free to comment and discuss.
>
>Regards,
>  Sven
>_______________________________________________
>gtk-devel-list mailing list
>gtk-devel-list gnome org
>http://mail.gnome.org/mailman/listinfo/gtk-devel-list
-- 
Gustavo J. A. M. Carneiro
<gjc inescporto pt> <gustavo users sourceforge net>
The universe is always one step beyond logic.

Attachment: smime.p7s
Description: S/MIME cryptographic signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]