> Pyrgen wrote:
> > Hi,
> > Does anyone have any example where can be seen creating/applying of any
> > theme in FLTK2?
> >
> > I have noticed that FLTK2 comes with some existing themes ('themes'
> > directory), but I couldn't make them work in my applications.
> > _______________________________________________
> > fltk mailing list
> > [email protected]
> > http://lists.easysw.com/mailman/listinfo/fltk
> >
>
> Currently the fltk2 theme stuff is pretty ugly. It's basically a
> callback function that fltk calls before opening the window. You then
> change a bunch of static stuff kind of directly. The new Style class
> does have accessors now, so you should use them instead.
> Some very important widgets do not have named styles, like Group, which
> is a royal pain, as set_background() is not often what you want.
>
> Here's a (snipped) sample which should be self explanatory I hope - it
> changes colors, text sizes and some edge styles on a slider and the
> default widget type colors
>
> // fltk group named style bug
> extern fltk::NamedStyle* group_style;
>
> bool my_theme()
> {
> // Reset to fltk's default theme
> fltk::reset_theme();
>
> // Change some widget's defaults
> int bgcolor = 0x43434300;
> int textcolor = 0xababab00;
> int selectioncolor = 0x97a8a800;
>
> style = fltk::Style::find( "Slider" );
> if ( style )
> {
> style->color( bgcolor );
> style->textcolor( textcolor );
> style->buttoncolor( bgcolor );
> style->textsize( 8 );
> style->labelsize( 10 );
> style->labelcolor( textcolor );
>
>
> style->highlight_textcolor( 0xFFFF0000 );
> }
>
> // this is broken...
> // style = fltk::Style::find( "Group" );
> style = group_style;
> if ( style )
> {
> style->color( bgcolor );
> style->textcolor( textcolor );
> style->buttoncolor( bgcolor );
> style->textsize( 10 );
> style->labelsize( 10 );
> style->labelcolor( textcolor );
> }
>
> style = fltk::Style::find( "Widget" );
> if ( style )
> {
> style->color( bgcolor );
> style->textcolor( textcolor );
> style->buttoncolor( bgcolor );
> style->textsize( 14 );
> style->labelsize( 14 );
> style->labelcolor( textcolor );
> style->selection_color( selectioncolor );
> }
>
> // change down box to draw a tad darker than default
> fltk::FrameBox* box;
> box = (fltk::FrameBox*) fltk::Symbol::find( "down_" );
> if ( box ) box->data( "2HHOOAA" );
>
>
> return true;
> }
>
> int main()
> {
> fltk::theme( &my_theme );
>
> // create widgets normally.
> // Any widget with default settings gets the defaults we
> // just set.
> }
>
> --
> Gonzalo Garramu�o
> [EMAIL PROTECTED]
>
> AMD4400 - ASUS48N-E
> GeForce7300GT
> Kubuntu Edgy
>
Thank you Gonzalo,
Finally, I would be able to make some new cool stuff in FLTK ;)
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk