Greetings, This email will likely be way off topic, but maybe not,
given some of the discussions I’ve seen on a “Gnome 3.0”,
whatever that may turn out to be. I’ve been starting to write a new GUI framework that I’m
calling VectorGUI right now for lack of a better term. It’s written
directly on top of X. The basic design is completely vector based and
essentially has two layer associated with it. The first is what I call
the shape layer. This layer implements basic vector shapes, like lines,
polygons, text, etc. All points are in normal units like inches rather
than pixels. And the coordinate system has 0,0 in the lower left of the screen.
Each shape can have affine transformations applied to it, translation,
rotation, and scaling. The second layer is called the widget layer. Each
widget is basically a list of shapes. The affine transformations are also
applicable at the widget layer, being essentially propagated to each shape that
is associated with the widget. So, I’ve been thinking now about how to design the
widget hierarchy. I suppose that I could follow a hierarchy design
similar to the widget set in Gnome/Qt/Windows/Cocoa etc., i.e. panels, buttons,
scrollbars, et.al. Those things probably need to be there. However,
I’m thinking that I want to break out of that and allow for other
widgets, i.e. analog clock, graph, etc., i.e. higher level stuff. I’d
also like to get away from apps having to have a window as the basic “container”
and just let the app allocate and manage widgets independent of the “window.” Anyway, I’ve implemented the basic shape and widget
layers directly on top of X. I put in a screenshot. I know the
widget looks like a window, but its easy to do that for testing. Its just
three rectangles and a text string. This “widget” can be
moved around the screen with the mouse in the demo. Like I said, this may be way off topic and so if noone’s
interested that’s ok but I’d sure be interested in any thoughts on
this since this community obviously knows something about GUI design.
Please don’t just say “why are you doing this?” I’m
seriously looking for constructive advice. Thanks, FM |
Attachment:
vectorgui.png
Description: PNG image