DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR Active]

Link: http://www.fltk.org/str.php?L2364
Version: 2.0-current


Alright, so, here are my thoughts:

Themes aren't broken!

The new WinXP theme (thanks, Sal!) isn't broken - in fact, it works
exactly as I hope it does - and themes don't seem to have a circular
dependence like you say they do. Assuming you're talking about this:

Theme fltk::theme_ = fltk_theme;

This isn't the same thing as having two functions rely on one another.
Instead, fltk::theme_ is a pointer to a boolean function taking no
arguments, typedef'd to the name Theme. This pointer is set to fltk_theme,
so that when it's dereferenced it calls the function fltk_theme.
A user can then call theme(my_theme), which sets fltk::theme_ to my_theme.
This allows the user to supply a billion of their own functions and have
the user select them from, say, a list. This seems to be working as it
should (take the current XP theme in any of your programs, declare
bool my_theme(){
  return fltk::reset_theme();
}
/*...*/
int main(){
  fltk::theme(my_theme);
  if (fltk::theme() == my_theme) {
    printf("Working!\n");
  }
  /* ... */
}
and watch it go!
On top of that, the extern "C" linkage allows a user to override
fltk_theme in their own code (by naming a function exactly the same) with
their own 'default' theme.

So, with all this in mind:
This doesn't seem to be an issue as you thought it was. Is there any
reason for me to keep this open?


Link: http://www.fltk.org/str.php?L2364
Version: 2.0-current

_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to