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

Reply via email to