On Nov 23, 2007, at 11:52 PM, Gonzalo Garramuño wrote: > matthiasm wrote: >> >> I implemented circular menus for FLTK about seven years ago. People >> *loved* them to the point where they sometimes forgot what the >> software itself was about. I didn't like them as a designer/developer >> so much because they had to be laid out manually in FLUID. Also, they >> obviously require transparent windows, and I never got around to >> implement those correctly on any other platform than MSWindows. >> > > Hmmm... why do they need to be laid out in fluid? > My idea was a class > that would be able to automatically layout 1 to 8 entries in the > menu at > least.
It made the menu extremely flexible, albeit less usable. I had no problems at al to get 20 or more items into a single circle in a very usable way. And boy, those were quick to use and simple at the same time. > In C++ FLUID these would appear as a normal menu, of course. Well, I found a huge disadvantage with outomatically generated circular menus. Once the user knows that "File Save" is at 120 degrees, adding an item will move that angle a bit, causing frustration with the user. I ended up keeping as much of the original layout as possible, stacking later options, sometimes further outside the circle, etc. . > Why do they need to be transparent? You can definitively have radial > menus without transparency. The menu is circular, so in order to display it circular, a rectangular window is not ideal. Sure, it can be done, but it looks odd. So it should be at least possible to do a shaped window. Transparency is nice because these windows pop up wherever the mouse happens to be, usually on top of content. A little transparency help keeping the spacial relation. > Even then, why do you need to create OS specific code? My idea for > overlays would be to draw the menus into an fltk::Image and then lay > that out with transparency. Not sure how FLTK2 has implemented this, but AFAIK putting an image with alpha into an fltk::Window will not generate transparencies in relation to other windows, only to drawings in the same window - but I may be wrong here. OK< I can see that we are talking about different approaches here. I will try to find my original code this weekend and put it online somewhere. If you don't hear from me in a while, please keep sending me reminders. I am quite busy these days ;-) Matthias PS: Here is the link: <http://www.robowerk.com/cmenus/> MovidoHi.jpg show a very early (and ugly) version. The other images are closer to the end result, but a lot less complex. Anyway, this is just to give an idea. The system itself was flexible enough to to much fancier things. ---- http://robowerk.com/ _______________________________________________ fltk mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk

