fltk  1.3.8
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X.
  Fossies Dox: fltk-1.3.8-source.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Migrating Code from FLTK 1.1 to 1.3

This appendix describes the differences between the FLTK 1.1.x and FLTK 1.3.x functions and classes.

Migrating From FLTK 1.0

If you want to migrate your code from FLTK 1.0 to FLTK 1.3, then you should first consult Appendix Migrating Code from FLTK 1.0 to 1.1.

Fl_Scroll Widget

Fl_Scroll::scroll_to(int x, int y) replaces Fl_Scroll::position(int x, int y).

This change was needed because Fl_Scroll::position(int,int) redefined Fl_Widget::position(int,int), but with a completely different function (moving the scrollbars instead of moving the widget).

Please be aware that you need to change your application's code for all Fl_Scroll-derived widgets, if you used Fl_Scroll::position(int x, int y) to position the scrollbars (not the widget itself).

The compiler will not detect any errors, because your calls to position(int x, int y) will be calling Fl_Widget::position(int x, int y).

Unicode (UTF-8)

FLTK 1.3 uses Unicode (UTF-8) encoding internally. If you are only using characters in the ASCII range (32-127), there is a high probability that you don't need to modify your code. However, if you use international characters (128-255), encoded as e.g. Windows codepage 1252, ISO-8859-1, ISO-8859-15 or any other encoding, then you will need to update your character string constants and widget input data accordingly.

Please refer to the Unicode and UTF-8 Support chapter for more details.

It is important that, although your software uses only ASCII characters for input to FLTK widgets, the user may enter non-ASCII characters, and FLTK will return these characters with UTF-8 encoding to your application, e.g. via Fl_Input::value(). You will need to re-encode them to your (non-UTF-8) encoding, otherwise you might see or print garbage in your data.

Widget Coordinate Representation

FLTK 1.3 changed all Widget coordinate variables and methods, e.g. Fl_Widget::x(), Fl_Widget::y(), Fl_Widget::w(), Fl_Widget::h(), from short (16-bit) to int (32-bit) representation. This should not affect any existing code, but makes it possible to use bigger scroll areas (e.g. Fl_Scroll widget).

[Prev] Migrating Code from FLTK 1.0 to 1.1 [Index] Developer Information [Next]