Skip to content

detailed_differences

Raphael Kim edited this page Dec 9, 2022 · 3 revisions

FLTK custom difference between of original version.

Enumeration

FLTK_EXT_VERSION

  • FLTK custom version should be recognized by this preprocessor.
/*
  FLTK_EXT_VERSION is for identifying customized version for
  rageworx's github repository.
  --- currently 1.4.0.9
*/
#define FLTK_EXT_VERSION 9
  • fltk-custom enables some extra features with FLTK_EXT_VERSION.

"Flat" scheme.

  • flat scheme enable by FLTK_EXT_VERSION as below code,
#ifdef FLTK_EXT_VERSION
  _FL_FLAT_UP_BOX,
  _FL_FLAT_DOWN_BOX,
  _FL_FLAT_UP_FRAME,
  _FL_FLAT_DOWN_FRAME,
  _FL_FLAT_THIN_UP_BOX,
  _FL_FLAT_THIN_DOWN_BOX,
  _FL_FLAT_ROUND_UP_BOX,
  _FL_FLAT_ROUND_DOWN_BOX,
#endif /// of FLTK_EXT_VERSION
  • Should able just do by Fl::scheme( "flat" );.

More features for fl_ask,

  • fltk-custom able to change default colors and fonts of fl_message window.
  • Check exported,
extern FL_EXPORT Fl_Color fl_message_window_color_;
extern FL_EXPORT Fl_Color fl_message_button_color_[3];
extern FL_EXPORT Fl_Color fl_message_label_color_;
extern FL_EXPORT Fl_Color fl_message_button_label_color_[3];
extern FL_EXPORT Fl_Color fl_message_input_color_;
extern FL_EXPORT Fl_Color fl_message_input_text_color_;
extern FL_EXPORT Fl_Font fl_message_input_text_font_;

Some examples,

void presetFLTKenv()
{
#ifdef _WIN32
    Fl::set_font( FL_FREE_FONT, convLng );
#else
    Fl::set_font( FL_FREE_FONT, FL_HELVETICA );
#endif
    Fl_Double_Window::default_xclass( DEF_APP_CLSNAME );

    // change fl_message properties, and label, colors.
    fl_message_font_ = FL_FREE_FONT;
    fl_message_size_ = 13;
    fl_message_label_color_ = 0xEEEEEE00;
    fl_message_button_label_color_[0] = fl_message_label_color_;
    fl_message_button_label_color_[1] = fl_message_label_color_;
    fl_message_button_label_color_[2] = fl_message_label_color_;

    // change fl_message_window color, manually.
    fl_message_window_color_  = 0x10101000;
    fl_message_button_color_[0] = 0x10103000;
    fl_message_button_color_[1] = 0x30101000;
    fl_message_button_color_[2] = fl_darker( fl_message_window_color_ );

    Fl_Tooltip::color( 0x10101000 );
    Fl_Tooltip::textcolor( 0xFF886600 );
    Fl_Tooltip::size( 13 );
    Fl_Tooltip::font( FL_FREE_FONT );

    Fl::set_color( FL_GRAY, 0, 0, 0 );

    Fl::scheme( "flat" );
}

More features for Fl_Spinner.

  • These methods may exported,
#ifdef FLTK_EXT_VERSION
  /* rageworx's additional methods : */
  Fl_Boxtype box() const { return input_.box(); }
  void       box( Fl_Boxtype new_box ) {	input_.box( new_box ); }
  Fl_Repeat_Button* up_button()   { return &up_button_; }
  Fl_Repeat_Button* down_button() { return &down_button_; }
#endif /// of FLTK_EXT_VERSION

More features for Fl_Text_Display

  • Directly adjusting scrollbar color and width, box type at once.
#ifdef FLTK_EXT_VERSION  
  /**
   Sets the scrollbar color.
   \param a new scrollbar color or colors
  */
  void scrollbar_color( Fl_Color c );
  void scrollbar_color( Fl_Color c1, Fl_Color c2 );
  
  /**
   Sets the scrollbar box.
   \param a new scrollbar box type
  */
  void scrollbar_box( Fl_Boxtype b );
#endif /// of FLTK_EXT_VERSION
  • Different drawing logic for strange color box near scrollbars and bottom of line-number.