/** \page migration_1_5 Migrating Code from FLTK 1.4 to 1.5 This appendix describes the differences between FLTK 1.4.x and FLTK 1.5.x functions and classes and potential requirements to change source code. We also explain how code can be made compatible so it can be compiled by FLTK 1.3.x, 1.4.x, and 1.5.x. If you need to migrate your code from prior FLTK versions to FLTK 1.4, please consult the relevant appendices in the FLTK 1.3 online documentation or by downloading the FLTK 1.3 documentation. See https://www.fltk.org/doc-1.3/migration_1_3.html and/or https://www.fltk.org/software.php, respectively. \section migration_1_5_cmake CMake is required to build FLTK Building with configure/make and included Makefile's has been discontinued. Since FLTK 1.5.0 CMake is required to build FLTK. Please see README.CMake.txt for details. \section migration_1_5_cxx_standard FLTK requires C++11 or higher You need a compiler or build system capable of at least C++ standard C++11. The compiler must be configured to run in C++11 mode or higher. FLTK sets the required compiler options automatically (via CMake) for its own build. If you use "Modern CMake" (basically CMake in CONFIGURE mode) to build your own projects the appropriate options are inherited from the properties of the FLTK libraries. Otherwise you may need to set the compiler flags to use at least C++11 yourself. \section migration_1_5_forms Default for FORMS compatibility is now OFF If you need (X)Forms compatibility you must set the CMake configure option FLTK_BUILD_FORMS:BOOL=ON manually. In previous versions (up to 1.4.x) the default was 'ON', but since Forms compatibility is not a primary goal of FLTK this is now optional. (X)Forms support \b may be removed entirely in a future FLTK release. We recommend all users to rewrite their code to use "native" FLTK code anyway. \section migration_1_5_fl_override Simplified FL_OVERRIDE Macro FLTK 1.4 defined a new macro \p FL_OVERRIDE as "override" if (and only if) a recent C++ standard (C++11 or higher) was used to compile its code. Since FLTK 1.5 this macro is unconditionally defined as 'override' because FLTK requires C++11 anyway. For more details please see \ref migration_1_4_fl_override. \section migration_1_5_removed Removed Methods and Functions Methods, functions, and global symbols that have been deprecated in FLTK 1.3 or earlier have been removed in FLTK 1.5.0. If you need help with these functions because old code still uses them, please consult the table below for a quick solution. If this doesn't help please read the FLTK 1.3 or 1.4 documentation to find out how to replace them with newer functions or methods, for instance https://www.fltk.org/doc-1.4/deprecated.html. The following (possibly incomplete) list can help to identify and replace these removed methods and functions. Removed Symbol | Please Replace With ... ----------------------------------------|------------------------- Fl::release() | Fl::grab(0) Fl::set_idle(Fl_Old_Idle_Handler cb) | Fl::add_idle(cb [, data]) fl_ask(const char *fmt,...) | fl_choice() fl_clip(int, int, int, int) | fl_push_clip(int x, int y, int w, int h) Fl_Group::focus(Fl_Widget *W) | (Fl_Widget*) W->take_focus() Fl_Menu_Item::check() | Fl_Menu_Item::set() Fl_Menu_Item::checked() const | int Fl_Menu_Item::value() const Fl_Menu_Item::uncheck() | Fl_Menu_Item::clear() Fl_Widget::color2() const | Fl_Widget::selection_color() const Fl_Widget::color2(unsigned) | Fl_Widget::selection_color(unsigned) \section migration_1_5_deprecated More Deprecated Methods and Functions All methods deprecated in FLTK 1.4.x or earlier are likely to be removed in the next minor FLTK version, presumably 1.6.0. Please update your code! The following list is currently incomplete and will be extended later. Symbol To Be Removed In The Next Minor Release | Please Replace With ... -------------------------------------------------------|------------------------- void Fl_Window::icon(const void *ic) | void Fl_Window::icon(const Fl_RGB_Image *icon) const void *Fl_Window::icon() const | no replacement (was platform specific)   |   Fl_Tree::first_visible() | in 1.3.3 ABI Fl_Tree::first_visible_item() | ? Fl_Tree::item_clicked(Fl_Tree_Item *val) | callback_item() Fl_Tree::item_clicked() | callback_item() Fl_Tree::last_visible() | last_visible_item()   |   Fl_Tree_Item::Fl_Tree_Item(const Fl_Tree_Prefs &prefs) | Fl_Tree_Item(Fl_Tree*) Fl_Tree_Item::next_displayed(Fl_Tree_Prefs &prefs) | next_visible() Fl_Tree_Item::prev_displayed(Fl_Tree_Prefs &prefs) | prev_visible() For details please refer to the documentation of FLTK 1.4 at https://www.fltk.org/doc-1.4/deprecated.html. \htmlonly
[Prev] Migrating Code from FLTK 1.3 to 1.4 [Index] Software License [Next]
\endhtmlonly */