Author: matt
Date: 2010-12-31 20:42:56 -0800 (Fri, 31 Dec 2010)
New Revision: 8151
Log:
A bunch of documentation updates. Not sure if I found everything. The Unicode
section needs some love.
Modified:
branches/branch-1.3/documentation/src/basics.dox
branches/branch-1.3/documentation/src/common.dox
branches/branch-1.3/documentation/src/drawing.dox
branches/branch-1.3/documentation/src/editor.dox
branches/branch-1.3/documentation/src/intro.dox
branches/branch-1.3/documentation/src/osissues.dox
branches/branch-1.3/documentation/src/preface.dox
branches/branch-1.3/documentation/src/unicode.dox
Modified: branches/branch-1.3/documentation/src/basics.dox
===================================================================
--- branches/branch-1.3/documentation/src/basics.dox 2011-01-01 03:24:35 UTC
(rev 8150)
+++ branches/branch-1.3/documentation/src/basics.dox 2011-01-01 04:42:56 UTC
(rev 8151)
@@ -335,15 +335,10 @@
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':
Modified: branches/branch-1.3/documentation/src/common.dox
===================================================================
--- branches/branch-1.3/documentation/src/common.dox 2011-01-01 03:24:35 UTC
(rev 8150)
+++ branches/branch-1.3/documentation/src/common.dox 2011-01-01 04:42:56 UTC
(rev 8151)
@@ -171,7 +171,7 @@
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 @@
\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()
Modified: branches/branch-1.3/documentation/src/drawing.dox
===================================================================
--- branches/branch-1.3/documentation/src/drawing.dox 2011-01-01 03:24:35 UTC
(rev 8150)
+++ branches/branch-1.3/documentation/src/drawing.dox 2011-01-01 04:42:56 UTC
(rev 8151)
@@ -292,7 +292,7 @@
\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 @@
\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 @@
found in the Adobe® 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 @@
\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 @@
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,49 +699,14 @@
\subsection ssect_CharacterEncoding Character Encoding
-\todo
-Rework the Character Encoding section for UTF-8
+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.
-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 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.
-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 "¸").
-\code
- btn = new Fl_Button(10, 10, 300, 25);
- btn->copy_label(fl_latin1_to_local("Fahrvergnügen"));
-\endcode
-
-\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 \¸
- 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.
-
For more information about character encodings, see the chapter on
\ref unicode.
Modified: branches/branch-1.3/documentation/src/editor.dox
===================================================================
--- branches/branch-1.3/documentation/src/editor.dox 2011-01-01 03:24:35 UTC
(rev 8150)
+++ branches/branch-1.3/documentation/src/editor.dox 2011-01-01 04:42:56 UTC
(rev 8151)
@@ -68,28 +68,28 @@
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 }
Modified: branches/branch-1.3/documentation/src/intro.dox
===================================================================
--- branches/branch-1.3/documentation/src/intro.dox 2011-01-01 03:24:35 UTC
(rev 8150)
+++ branches/branch-1.3/documentation/src/intro.dox 2011-01-01 04:42:56 UTC
(rev 8151)
@@ -5,7 +5,7 @@
The Fast Light Tool Kit ("FLTK", pronounced
"fulltick") is a cross-platform C++ GUI toolkit for
UNIX®/Linux® (X11), Microsoft® Windows®, and
-MacOS® X. FLTK provides modern GUI functionality without the
+Apple® OS X®. FLTK provides modern GUI functionality without the
bloat and supports 3D graphics via OpenGL® 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 @@
\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 @@
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 @@
\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 @@
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 @@
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>
Modified: branches/branch-1.3/documentation/src/osissues.dox
===================================================================
--- branches/branch-1.3/documentation/src/osissues.dox 2011-01-01 03:24:35 UTC
(rev 8150)
+++ branches/branch-1.3/documentation/src/osissues.dox 2011-01-01 04:42:56 UTC
(rev 8151)
@@ -639,10 +639,10 @@
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 @@
\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 @@
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
Modified: branches/branch-1.3/documentation/src/preface.dox
===================================================================
--- branches/branch-1.3/documentation/src/preface.dox 2011-01-01 03:24:35 UTC
(rev 8150)
+++ branches/branch-1.3/documentation/src/preface.dox 2011-01-01 04:42:56 UTC
(rev 8151)
@@ -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 @@
\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
Modified: branches/branch-1.3/documentation/src/unicode.dox
===================================================================
--- branches/branch-1.3/documentation/src/unicode.dox 2011-01-01 03:24:35 UTC
(rev 8150)
+++ branches/branch-1.3/documentation/src/unicode.dox 2011-01-01 04:42:56 UTC
(rev 8151)
@@ -494,41 +494,6 @@
\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">
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit