This is simply a feature request for later versions, however if there are any known work arounds I would be keen to hear them.
In short, I want to use the plastic scheme in FLTK. Uniquely to this scheme, however, in the low-level drawing functions is a color averaging step which makes every color choice made by the developer more "gray".
I feel this is a very restrictive and unnecessary thing to do for several reasons:
1. It is unpredictable - if I choose fl_rgb_color(255,0,0) I do not get red 2. More significantly, some colors are simply not obtainable - there are hard "dark" and "light" limits which can't be overcome.
The "usual" way to by-pass default drawing things (subclass the widget and provide its own draw method) isn't particularly helpful as the color averaging occurs deep deep down in the draw_box functions called at many points in the inheritance hierarchy, (Note also many widgets have their draw function set as private rather than protected, which sometimes makes that method awkward/not possible without replicated huge chunks of FLTK code even without the color issue).
As a concrete example, imagine I want to create a "dark theme" window with a black menu bar with white text whilst using the plastic theme, I simple can't make it darker than a middling grey color.
Moreover, the color averaging is unpredictable/inconsistent. I can set the menu bar box to FL_FLAT_BOX for aesthetic reasons (whilst keeping the plastic theme for the sake of the other widgets). If I do so the top level menu bar then *doesn't* perform the color averaging. But when you open the menus the pop up menu windows *do* perform the color averaging.
From my experience with trying to tweak the colors with this scheme the conclusion I keep coming to is that this color averaging simply should not be happening - its restrictive, not doing what the developer asks for, and not consistent.
Clearly backwards compatibility is an issue so I think a great feature would be some kind of "PlasticNeo" scheme where the color averaging is disabled.
I appreciate this comes across as a rant, which I don't really intend, so apologies for that. But if there are any ways around this I would be glad to hear them.
Thanks,
R.
--
You received this message because you are subscribed to the Google Groups "fltk.general" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkgeneral+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkgeneral/b7dd991b-d495-4279-b5fb-d65bffe65637n%40googlegroups.com.
[ Direct Link to Message ] |