summaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'documentation')
-rw-r--r--documentation/src/basics.dox7
-rw-r--r--documentation/src/common.dox13
-rw-r--r--documentation/src/drawing.dox57
-rw-r--r--documentation/src/editor.dox28
-rw-r--r--documentation/src/intro.dox35
-rw-r--r--documentation/src/osissues.dox13
-rw-r--r--documentation/src/preface.dox14
-rw-r--r--documentation/src/unicode.dox35
8 files changed, 61 insertions, 141 deletions
diff --git a/documentation/src/basics.dox b/documentation/src/basics.dox
index e92e89a50..8a2f32916 100644
--- a/documentation/src/basics.dox
+++ b/documentation/src/basics.dox
@@ -335,15 +335,10 @@ need to add the FLTK (FLTK.LIB or FLTKD.LIB) and the Windows
Common Controls (COMCTL32.LIB) libraries to the "Link" settings.
You can build your Microsoft Windows applications as Console or
-WIN32 applications. If you want to use the standard C \p main()
+Desktop applications. If you want to use the standard C \p main()
function as the entry point, FLTK includes a \p WinMain()
function that will call your \p main() function for you.
-<I>Note: The Visual C++ 5.0 optimizer is known to cause problems with
-many programs. We only recommend using the "Favor Small Code"
-optimization setting.</I> The Visual C++ 6.0 optimizer seems to be much
-better and can be used with the "optimized for speed" setting.
-
\section basics_naming Naming
All public symbols in FLTK start with the characters 'F' and 'L':
diff --git a/documentation/src/common.dox b/documentation/src/common.dox
index 36618ad30..1ab29dfab 100644
--- a/documentation/src/common.dox
+++ b/documentation/src/common.dox
@@ -171,7 +171,7 @@ widget's parent.
FLTK stores the colors of widgets as an 32-bit unsigned
number that is either an index into a color palette of 256
colors or a 24-bit RGB color. The color palette is \e not
-the X or WIN32 colormap, but instead is an internal table with
+the X or MS Windows colormap, but instead is an internal table with
fixed contents.
See the
@@ -392,11 +392,18 @@ constants are defined and may be OR'd together as needed:
\li \p FL_ALIGN_BOTTOM - align the label at the bottom of the widget.
\li \p FL_ALIGN_LEFT - align the label to the left of the widget.
\li \p FL_ALIGN_RIGHT - align the label to the right of the widget.
+\li \p FL_ALIGN_LEFT_TOP - The label appears to the left of the widget, aligned at the top. Outside labels only.
+\li \p FL_ALIGN_RIGHT_TOP - The label appears to the right of the widget, aligned at the top. Outside labels only.
+\li \p FL_ALIGN_LEFT_BOTTOM - The label appears to the left of the widget, aligned at the bottom. Outside labels only.
+\li \p FL_ALIGN_RIGHT_BOTTOM - The label appears to the right of the widget, aligned at the bottom. Outside labels only.
\li \p FL_ALIGN_INSIDE - align the label inside the widget.
\li \p FL_ALIGN_CLIP - clip the label to the widget's bounding box.
\li \p FL_ALIGN_WRAP - wrap the label text as needed.
-\li \p FL_TEXT_OVER_IMAGE - show the label text over the image.
-\li \p FL_IMAGE_OVER_TEXT - show the label image over the text (default).
+\li \p FL_ALIGN_TEXT_OVER_IMAGE - show the label text over the image.
+\li \p FL_ALIGN_IMAGE_OVER_TEXT - show the label image over the text (default).
+\li \p FL_ALIGN_IMAGE_NEXT_TO_TEXT - The image will appear to the left of the text.
+\li \p FL_ALIGN_TEXT_NEXT_TO_IMAGE - The image will appear to the right of the text.
+\li \p FL_ALIGN_IMAGE_BACKDROP - The image will be used as a background for the widget.
\anchor common_labeltype
\par labeltype()
diff --git a/documentation/src/drawing.dox b/documentation/src/drawing.dox
index 99fa231a7..22e8ce8a8 100644
--- a/documentation/src/drawing.dox
+++ b/documentation/src/drawing.dox
@@ -292,7 +292,7 @@ responsibility to set it back to the default with
\par
\b Note:
-Because of how line styles are implemented on WIN32 systems, you
+Because of how line styles are implemented on MS Windows systems, you
\e must set the line style \e after setting the drawing color.
If you set the
color after the line style you will lose the line style settings!
@@ -411,7 +411,7 @@ void fl_pie(int x, int y, int w, int h, double a1, double a2)
\par
Draw ellipse sections using integer coordinates. These
functions match the rather limited circle drawing code provided
-by X and WIN32. The advantage over using
+by X and MS Windows. The advantage over using
\ref drawing_fl_arc "fl_arc()"
with floating point
coordinates is that they are faster because they often use the
@@ -455,7 +455,7 @@ with 2-D linear transformations. The functionality matches that
found in the Adobe&reg; PostScript&tm; language. The
exact pixels that are filled are less defined than for the fast
drawing functions so that FLTK can take advantage of drawing
-hardware. On both X and WIN32 the transformed vertices are
+hardware. On both X and MS Windows the transformed vertices are
rounded to integers before drawing the line segments: this
severely limits the accuracy of these functions for complex
graphics, so use OpenGL when greater accuracy and/or performance
@@ -466,7 +466,7 @@ void fl_pop_matrix()
\par
Save and restore the current transformation. The maximum
-depth of the stack is 4.
+depth of the stack is 32 entries.
void fl_scale(double x,double y) <br>
void fl_scale(double x) <br>
@@ -645,7 +645,7 @@ the text at so it looks centered vertically in that box.
double fl_width(const char* txt) <br>
double fl_width(const char* txt, int n) <br>
-double fl_width(Fl_Unichar)
+double fl_width(unsigned int unicode_char)
\par
Return the pixel width of a nul-terminated string, a sequence of \p n
@@ -699,48 +699,13 @@ Returns the face and size set by the most recent call to
\subsection ssect_CharacterEncoding Character Encoding
-\todo
-Rework the Character Encoding section for UTF-8
-
-FLTK 1 supports western character sets using the eight bit encoding
-of the user-selected global code page. For MS Windows and X11, the code
-page is assumed to be Windows-1252/Latin1, a superset to ISO 8859-1.
-On Mac OS X, we assume MacRoman.
-
-FLTK provides the functions fl_latin1_to_local(),
-fl_local_to_latin1(), fl_mac_roman_to_local(), and
-fl_local_to_mac_roman() to convert strings between both
-encodings. These functions are only required if your source
-code contains "C"-strings with international characters and
-if this source will be compiled on multiple platforms.
-
-<!-- Editor's note:
- ** Caution: the following text contains utf-8 encoded characters.
- ** be careful when using non-utf-8-aware editors !
--->
-
-Assuming that the following source code was written on MS Windows,
-this example will output the correct label on OS X and X11 as well.
-Without the conversion call, the label on OS X would read
-<tt>Fahrvergn¸gen</tt> with a deformed umlaut u ("cedille",
-html "&cedil;").
-\code
- btn = new Fl_Button(10, 10, 300, 25);
- btn->copy_label(fl_latin1_to_local("Fahrvergnügen"));
-\endcode
+FLTK 1.3 expects all text in Unicode UTF-8 encoding. UTF-8 is
+ASCII compatible for the first 128 characters. International
+characters are encoded in multibyte sequences.
-\note If your application uses characters that are not part of both
- encodings, or it will be used in areas that commonly use different
- code pages, you might consider upgrading to FLTK 2 which supports
- UTF-8 encoding.
-
-\todo drawing.dox: I fixed the above encoding problem of these \&cedil;
- and umlaut characters, but this text is obsoleted by FLTK 1.3
- with UTF-8 encoding, or must be rewritten accordingly:
- How to use native (e.g. Windows "ANSI", or ISO-8859-x)
- encoding in embedded strings for labels, error messages
- and more. Please check this (UTF-8) encoding on different
- OS'es and with different language and font environments.
+FLTK expects individual characters, characters that are not part of
+a string, in UCS-4 encoding, which is also ASCII compatible, but
+requires 4 bytes to store a Unicode character.
For more information about character encodings, see the chapter on
\ref unicode.
diff --git a/documentation/src/editor.dox b/documentation/src/editor.dox
index d6dac8894..490ee17d0 100644
--- a/documentation/src/editor.dox
+++ b/documentation/src/editor.dox
@@ -68,28 +68,28 @@ structure is used to define the menus and items in a menubar:
Fl_Menu_Item menuitems[] = {
{ "&File", 0, 0, 0, FL_SUBMENU },
{ "&New File", 0, (Fl_Callback *)new_cb },
- { "&Open File...", FL_CTRL + 'o', (Fl_Callback *)open_cb },
- { "&Insert File...", FL_CTRL + 'i', (Fl_Callback *)insert_cb, 0, FL_MENU_DIVIDER },
- { "&Save File", FL_CTRL + 's', (Fl_Callback *)save_cb },
- { "Save File &As...", FL_CTRL + FL_SHIFT + 's', (Fl_Callback *)saveas_cb, 0, FL_MENU_DIVIDER },
+ { "&Open File...", FL_COMMAND + 'o', (Fl_Callback *)open_cb },
+ { "&Insert File...", FL_COMMAND + 'i', (Fl_Callback *)insert_cb, 0, FL_MENU_DIVIDER },
+ { "&Save File", FL_COMMAND + 's', (Fl_Callback *)save_cb },
+ { "Save File &As...", FL_COMMAND + FL_SHIFT + 's', (Fl_Callback *)saveas_cb, 0, FL_MENU_DIVIDER },
{ "New &View", FL_ALT + 'v', (Fl_Callback *)view_cb, 0 },
- { "&Close View", FL_CTRL + 'w', (Fl_Callback *)close_cb, 0, FL_MENU_DIVIDER },
- { "E&xit", FL_CTRL + 'q', (Fl_Callback *)quit_cb, 0 },
+ { "&Close View", FL_COMMAND + 'w', (Fl_Callback *)close_cb, 0, FL_MENU_DIVIDER },
+ { "E&xit", FL_COMMAND + 'q', (Fl_Callback *)quit_cb, 0 },
{ 0 },
{ "&Edit", 0, 0, 0, FL_SUBMENU },
- { "&Undo", FL_CTRL + 'z', (Fl_Callback *)undo_cb, 0, FL_MENU_DIVIDER },
- { "Cu&t", FL_CTRL + 'x', (Fl_Callback *)cut_cb },
- { "&Copy", FL_CTRL + 'c', (Fl_Callback *)copy_cb },
- { "&Paste", FL_CTRL + 'v', (Fl_Callback *)paste_cb },
+ { "&Undo", FL_COMMAND + 'z', (Fl_Callback *)undo_cb, 0, FL_MENU_DIVIDER },
+ { "Cu&t", FL_COMMAND + 'x', (Fl_Callback *)cut_cb },
+ { "&Copy", FL_COMMAND + 'c', (Fl_Callback *)copy_cb },
+ { "&Paste", FL_COMMAND + 'v', (Fl_Callback *)paste_cb },
{ "&Delete", 0, (Fl_Callback *)delete_cb },
{ 0 },
{ "&Search", 0, 0, 0, FL_SUBMENU },
- { "&Find...", FL_CTRL + 'f', (Fl_Callback *)find_cb },
- { "F&ind Again", FL_CTRL + 'g', find2_cb },
- { "&Replace...", FL_CTRL + 'r', replace_cb },
- { "Re&place Again", FL_CTRL + 't', replace2_cb },
+ { "&Find...", FL_COMMAND + 'f', (Fl_Callback *)find_cb },
+ { "F&ind Again", FL_COMMAND + 'g', find2_cb },
+ { "&Replace...", FL_COMMAND + 'r', replace_cb },
+ { "Re&place Again", FL_COMMAND + 't', replace2_cb },
{ 0 },
{ 0 }
diff --git a/documentation/src/intro.dox b/documentation/src/intro.dox
index 73ca18de2..4e5d0db0c 100644
--- a/documentation/src/intro.dox
+++ b/documentation/src/intro.dox
@@ -5,7 +5,7 @@
The Fast Light Tool Kit ("FLTK", pronounced
"fulltick") is a cross-platform C++ GUI toolkit for
UNIX&reg;/Linux&reg; (X11), Microsoft&reg; Windows&reg;, and
-MacOS&reg; X. FLTK provides modern GUI functionality without the
+Apple&reg; OS X&reg;. FLTK provides modern GUI functionality without the
bloat and supports 3D graphics via OpenGL&reg; and its built-in
GLUT emulation. It was originally developed by Mr. Bill Spitzak
and is currently maintained by a small group of developers
@@ -113,8 +113,8 @@ Here are some of the core features unique to FLTK:
\li Support for OpenGL overlay hardware on both X11 and WIN32, with
emulation if none is available.
-\li Text widgets with Emacs key bindings, X cut & paste, and support
- for character composition.
+\li Text widgets with cut & paste, undo, and support
+ for Unicode text and international input methods..
\li Compatibility header file for the GLUT library.
@@ -143,12 +143,14 @@ the toolkit, which was already in use by several people, Bill
came up with "FLTK", including a bogus excuse that it
stands for "The Fast Light Toolkit".
-\section intro_unix Building and Installing FLTK Under UNIX and MacOS X
+\section intro_unix Building and Installing FLTK Under UNIX and Apple OS X
In most cases you can just type "make". This will
run configure with the default of no options and then compile
everything.
+For OS X, Xcode 3 project files can be found in the 'ide' directory.
+
FLTK uses GNU autoconf to configure itself for your UNIX
platform. The main things that the configure script will look
for are the X11 and OpenGL (or Mesa) header and library files.
@@ -244,9 +246,9 @@ files to "includedir", and the library files to "libdir".
\section intro_windows Building FLTK Under Microsoft Windows
There are three ways to build FLTK under Microsoft Windows.
-The first is to use the Visual C++ 5.0 project files under the
-"visualc" directory. Just open (or double-click on)
-the "fltk.dsw" file to get the whole shebang.
+The first is to use one of the VisualC project files in the
+"ide" directory. Just open (or double-click on)
+the "fltk.dsw" or "fltk.sln" file to get the whole shebang.
The second method is to use the \p configure script
included with the FLTK software; this has only been tested with
@@ -281,23 +283,6 @@ you will need to define the \p FL_DLL preprocessor symbol
to get the correct linkage commands embedded within the FLTK
header files.
-\section intro_os2 Building FLTK Under OS/2
-
-The current OS/2 build requires XFree86 for OS/2 to work. A
-native Presentation Manager version has not been implemented
-yet (volunteers are welcome!).
-
-The current set of Makefiles/configuration failes assumes that EMX 0.9d
-and libExt (from http://posix2.sourceforge.net) is installed.
-
-To build the XFree86 version of FLTK for OS/2, copy the appropriate
-makeinclude and config files to the main directory and do a make:
-
-\code
-copy makefiles\Makefile.os2x Makefile
-make
-\endcode
-
\section intro_internet Internet Resources
FLTK is available on the 'net in a bunch of locations:
@@ -313,8 +298,6 @@ http://ftp.easysw.com/pub/fltk [California, USA, via http]<br>
ftp://ftp.easysw.com/pub/fltk [California, USA via ftp]<br>
ftp://ftp2.easysw.com/pub/fltk [Maryland, USA]<br>
ftp://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/fltk [Espoo, Finland]<br>
-ftp://linux.mathematik.tu-darmstadt.de/pub/linux/mirrors/misc/fltk [Germany] <br>
-ftp://gd.tuwien.ac.at/hci/fltk [Austria]
\par NNTP Newsgroups
news://news.easysw.com/ [NNTP interface]<br>
diff --git a/documentation/src/osissues.dox b/documentation/src/osissues.dox
index df2b98454..ee8b41c87 100644
--- a/documentation/src/osissues.dox
+++ b/documentation/src/osissues.dox
@@ -639,10 +639,10 @@ version of FLTK:
as -O2 and -O3 seem to work OK. More details can be found
in STR#1656
-\section osissues_macos The Mac OS Interface
+\section osissues_macos The Apple OS X Interface
-FLTK supports Mac OS X using the Apple Cocoa library. Older
-versions of Mac OS are <I>not</I> supported.
+FLTK supports Apple OS X using the Apple Cocoa library. Older
+versions of MacOS are no longer supported.
Control, Option, and Command Modifier Keys
@@ -677,7 +677,7 @@ void fl_open_display()
\par
Opens the display. Does nothing if it is already open. You should call
-this if you wish to do Quartz calls and there is a chance that your
+this if you wish to do Cocoa calls and there is a chance that your
code will be called before the first \c show() of a window.
Window fl_xid(const Fl_Window *)
@@ -736,11 +736,12 @@ internally in the same way.
FLTK does not access the resource fork of an application.
However, a minimal resource fork must be created for OS X
-applications
+applications. Starting with OS X 10.6, resource forks are
+no longer needed.
<CENTER>
<TABLE WIDTH="80%" BORDER="1" BGCOLOR="#cccccc" CELLPADDING="5">
-<TR><TD><B>Caution:</B>
+<TR><TD><B>Caution (OS X 10.2 and older):</B>
When using UNIX commands to copy or move executables, OS X
will NOT copy any resource forks! For copying and moving use
diff --git a/documentation/src/preface.dox b/documentation/src/preface.dox
index e0c9b8269..8558f1092 100644
--- a/documentation/src/preface.dox
+++ b/documentation/src/preface.dox
@@ -4,7 +4,7 @@
This manual describes the Fast Light Tool Kit ("FLTK")
version 1.3.0, a C++ Graphical User Interface
-("GUI") toolkit for UNIX, Microsoft Windows and MacOS. Each
+("GUI") toolkit for UNIX, Microsoft Windows and Apple OS X. Each
of the chapters in this manual is designed as a tutorial for
using FLTK, while the appendices provide a convenient reference
for all FLTK widgets, functions, and operating system
@@ -63,11 +63,15 @@ The X Window System version 11.
\par Xlib
The X Window System interface library.
-\par WIN32
-The Microsoft Windows 32-bit Application Programmer's Interface.
+\par MS Windows, <tt>WIN32</tt>
+The Microsoft Windows Application Programmer's Interface for Windows 2000,
+Windows XP, Windows Vista, and Windows 7. FLTK uses the preprocessor definition
+<tt>WIN32</tt> for the 32 bit and 64 bit MS Windows API.
-\par MacOS
-The Apple Macintosh OS 8.6 and later, including OS X.
+\par OS X, <tt>__APPLE__</tt>
+The Apple desktop operating sytem OS X 10.0 and later. MacOS 8 and 9 support
+was dropped after FLTK 1.0.10. FLTK uses the preprocessor definition
+<tt>__APPLE__</tt> for OS X.
\section preface_copyrights Copyrights and Trademarks
diff --git a/documentation/src/unicode.dox b/documentation/src/unicode.dox
index 46026d2e8..0cde8b658 100644
--- a/documentation/src/unicode.dox
+++ b/documentation/src/unicode.dox
@@ -494,41 +494,6 @@ converts the strings to lower case Unicode as part of the comparison.
\li explain issues with Fl_Preferences
\li why FLTK has no Fl_String class
-\par DONE:
-
-\li initial transfer of the Ian/O'ksi'D patch
-\li adapted Makefiles and IDEs for available platforms
-\li hacked some Unicode keyboard entry for OS X
-
-\par ISSUES:
-
-\li IDEs:
- - Makefile support: tested on Fedora Core 5 and OS X, but heaven knows
- on which platforms this may fail
- - Xcode: tested, seems to be working (but see comments below on OS X)
- - VisualC (VC6): tested, test/utf8 works, but may have had some issues
- during merge. Some additional work needed (imm32.lib)
- - VisualStudio2005: tested, test/utf8 works, some addtl. work needed
- (imm32.lib)
- - VisualCNet: sorry, I have no longer access to that IDE
- - Borland and other compiler: sorry, I can't update those
-
-\li Platforms:
- - you will encounter problems on all platforms!
- - X11: many characters are missing, but that may be related to bad
- fonts on my machine. I also could not do any keyboard tests yet.
- Rendering seems to generally work ok.
- - Win32: US and German keyboard worked ok, but no compositing was
- tested. Rendering looks pretty good.
- - OS X: redering looks good. Keyboard is completely messed up, even in
- US setting (with Alt key)
- - all: while merging I have seen plenty of places that are not
- entirley utf8-safe, particularly Fl_Input, Fl_Text_Editor, and
- Fl_Help_View. Keycodes from the keyboard conflict with Unicode
- characters. Right-to-left rendered text can not be marked or edited,
- and probably much more.
-
-
\htmlonly
<hr>
<table summary="navigation bar" width="100%" border="0">