- remove redundant "Revision 11" from documentation index page. - update index (missing refs and one wrong ref) - update page break - document header requirements and potential FLTK 1.3 code issues
100 lines
3.6 KiB
Plaintext
100 lines
3.6 KiB
Plaintext
/**
|
|
|
|
\page migration_1_4 Migrating Code from FLTK 1.3 to 1.4
|
|
|
|
This appendix describes the differences between the FLTK
|
|
1.3.x and FLTK 1.4.x functions and classes.
|
|
|
|
\section migration_1_4_old_versions Migrating from FLTK 1.0 or 1.1 to 1.4
|
|
|
|
If you need to migrate your code from FLTK 1.0 or 1.1 to FLTK 1.4,
|
|
then you should first consult the relevant appendices in FLTK 1.3
|
|
documentation online or by downloading the FLTK 1.3 documentation.
|
|
See https://www.fltk.org/doc-1.3/index.html
|
|
and/or https://www.fltk.org/software.php , respectively.
|
|
|
|
|
|
\section migration_1_4_headers Changes in Header Files
|
|
|
|
We strive to include only necessary header files in the public headers
|
|
of the FLTK library to reduce dependencies and hence compile times.
|
|
|
|
We try to avoid including system header files as far as possible. Known
|
|
exceptions are \<stdio.h> where file system structures and functions are
|
|
visible in the public API, for instance \p FILE*, and sometimes essential
|
|
header files like \<stdlib.h> and/or \<stddef.h>. Some required platform
|
|
headers \b may be included in platform specific header files like
|
|
\<FL/platform.H> or \<FL/platform_types.h>.
|
|
|
|
In earlier versions (1.3.x) some of the public FLTK headers included some
|
|
not strictly required system headers by accident.
|
|
|
|
The consequence for building user programs with FLTK 1.4 is that if you
|
|
require a system or FLTK header in your user program that you don't
|
|
\e \#include explicitly but which has been included by FLTK 1.3.x your
|
|
FLTK 1.3 program may issue compiler errors or warnings about missing header
|
|
files or missing declarations when compiled with FLTK 1.4.
|
|
|
|
This is not a fault of FLTK 1.4 but a fault of the source code that did
|
|
not include all required headers.
|
|
|
|
Suggested solution: include all FLTK and system header files your source
|
|
code requires explicitly and don't rely on FLTK headers to include a
|
|
particular header file.
|
|
|
|
The same applies to FLTK headers. The rule is to \#include \<FL/Fl.H> as
|
|
the first FLTK header as described in the documentation elsewhere an to
|
|
include FLTK headers for all classes you are using explicitly. You don't
|
|
need to include headers of base classes - this is done by all FLTK headers
|
|
as required. Besides that you need to include some support headers if you
|
|
are using FLTK functions like \p fl_choice() and others. This is described
|
|
in the function's documentation (if a required header is missing in the
|
|
docs this is a bug).
|
|
|
|
If you follow these rules your program will be compatible with both
|
|
FLTK 1.3.x and FLTK 1.4.x as long as you use only functions and classes
|
|
defined in FLTK 1.3.
|
|
|
|
|
|
\section migration_1_4_preferences Fl_Preferences
|
|
|
|
Starting with FLTK 1.3, preference databases are expected to be in UTF-8
|
|
encoding. Previous databases were stored in the current character set or
|
|
code page which renders them incompatible for text entries using
|
|
international characters.
|
|
|
|
Starting with FLTK 1.4, searching a valid path to store the preferences
|
|
files has changed slightly. Please see
|
|
Fl_Preferences::Fl_Preferences(Root, const char*, const char*)
|
|
for details.
|
|
|
|
If you want to retain user preferences you may want to move the preferences
|
|
file from its old location to the new location as documented in
|
|
Fl_Preferences::Fl_Preferences(Root, const char*, const char*) .
|
|
|
|
|
|
\htmlonly
|
|
<hr>
|
|
<table summary="navigation bar" width="100%" border="0">
|
|
<tr>
|
|
<td width="45%" align="LEFT">
|
|
<a class="el" href="osissues.html">
|
|
[Prev]
|
|
Operating System Issues
|
|
</a>
|
|
</td>
|
|
<td width="10%" align="CENTER">
|
|
<a class="el" href="index.html">[Index]</a>
|
|
</td>
|
|
<td width="45%" align="RIGHT">
|
|
<a class="el" href="development.html">
|
|
Developer Information
|
|
[Next]
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
\endhtmlonly
|
|
|
|
*/
|