Looking for design advice




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.






Attachment: vectorgui.png
Description: PNG image

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