Re: GTK+ canvas?



Soeren Sandmann wrote:
Yevgen Muntyan <muntyan tamu edu> writes:

Much more people would make use of simple things like "draw a
rectangle and drag it around" if it wasn't so hard.


The "draw a rectangle and drag it around" use-case is somewhat misleading; it applies most to something like a game, maybe 15-game or Solitaire.

plenty of HTML or Flash apps aren't really doing this.

What's often desired is more web-page-like; text and images, in a layout, with some decorations, and maybe a few interactive controls.

Or even think about something like the GMail UI, for something more application and less document. The GMail view of a conversation is a nice example of something that could easily be a canvas.

Some Windows Vista screenshots show a similar idea. Or think about the iTunes user interface; it has a standard list widget and an entry box or so mixed in there, but then there's a custom-drawn background and a custom "burn CD" widget. That kind of thing is a big headache in GTK.

It's nice to be able to mix in custom drawn elements, either decorative, or things like displaying a selection rectangle or help balloon. But the bulk of the UI/page is often images, text, and "normal" widgets like lists.

Obviously for the use case Soeren mentions (word-processor/spreadsheet/illustrator main document editor), this isn't true. Those things will need to be largely custom.

If dragging rectangles around was really all there
was to it, then yes, fixing GnomeCanvas and putting it GTK+ would be
mostly fine.

I think it's a mistake to take GnomeCanvas as prototypical example when discussing a canvas. GnomeCanvasItem was only just barely different from GtkWidget. HTML and Flash are in some ways pretty lame, but do have really useful stuff GnomeCanvas did not offer. FooScrollArea could also be much more useful than GnomeCanvas.

GnomeCanvas was also fundamentally crippled since embedding widgets did not work, which severely restricted where it could be used and where people imagined using it.

Havoc




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