summaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'documentation')
-rw-r--r--documentation/Fl.html129
-rw-r--r--documentation/Fl_Adjuster.html6
-rw-r--r--documentation/Fl_BMP_Image.html3
-rw-r--r--documentation/Fl_Bitmap.html3
-rw-r--r--documentation/Fl_Box.html6
-rw-r--r--documentation/Fl_Browser.html6
-rw-r--r--documentation/Fl_Browser_.html13
-rw-r--r--documentation/Fl_Button.html6
-rw-r--r--documentation/Fl_Chart.html6
-rw-r--r--documentation/Fl_Check_Browser.html6
-rw-r--r--documentation/Fl_Check_Button.html6
-rw-r--r--documentation/Fl_Choice.html6
-rw-r--r--documentation/Fl_Clock.html11
-rw-r--r--documentation/Fl_Clock_Output.html30
-rw-r--r--documentation/Fl_Color_Chooser.html6
-rw-r--r--documentation/Fl_Counter.html6
-rw-r--r--documentation/Fl_Dial.html6
-rw-r--r--documentation/Fl_Double_Window.html6
-rw-r--r--documentation/Fl_End.html6
-rw-r--r--documentation/Fl_File_Browser.html5
-rw-r--r--documentation/Fl_File_Chooser.html7
-rw-r--r--documentation/Fl_File_Icon.html5
-rw-r--r--documentation/Fl_File_Input.html3
-rw-r--r--documentation/Fl_Float_Input.html6
-rw-r--r--documentation/Fl_Free.html6
-rw-r--r--documentation/Fl_GIF_Image.html3
-rw-r--r--documentation/Fl_Gl_Window.html23
-rw-r--r--documentation/Fl_Group.html12
-rw-r--r--documentation/Fl_Help_Dialog.html37
-rw-r--r--documentation/Fl_Help_View.html4
-rw-r--r--documentation/Fl_Hold_Browser.html6
-rw-r--r--documentation/Fl_Image.html3
-rw-r--r--documentation/Fl_Input.html3
-rw-r--r--documentation/Fl_Input_.html3
-rw-r--r--documentation/Fl_Input_Choice.html12
-rw-r--r--documentation/Fl_Int_Input.html6
-rw-r--r--documentation/Fl_JPEG_Image.html3
-rw-r--r--documentation/Fl_Light_Button.html6
-rw-r--r--documentation/Fl_Menu_.html198
-rw-r--r--documentation/Fl_Menu_Bar.html6
-rw-r--r--documentation/Fl_Menu_Button.html6
-rw-r--r--documentation/Fl_Menu_Item.html6
-rw-r--r--documentation/Fl_Menu_Window.html6
-rw-r--r--documentation/Fl_Multi_Browser.html6
-rw-r--r--documentation/Fl_Multiline_Input.html6
-rw-r--r--documentation/Fl_Multiline_Output.html6
-rw-r--r--documentation/Fl_Output.html6
-rw-r--r--documentation/Fl_Overlay_Window.html6
-rw-r--r--documentation/Fl_PNG_Image.html3
-rw-r--r--documentation/Fl_PNM_Image.html3
-rw-r--r--documentation/Fl_Pack.html6
-rw-r--r--documentation/Fl_Pixmap.html3
-rw-r--r--documentation/Fl_Positioner.html6
-rw-r--r--documentation/Fl_Preferences.html29
-rw-r--r--documentation/Fl_Progress.html3
-rw-r--r--documentation/Fl_RGB_Image.html5
-rw-r--r--documentation/Fl_Repeat_Button.html6
-rw-r--r--documentation/Fl_Return_Button.html6
-rw-r--r--documentation/Fl_Roller.html6
-rw-r--r--documentation/Fl_Round_Button.html6
-rw-r--r--documentation/Fl_Scroll.html8
-rw-r--r--documentation/Fl_Scrollbar.html6
-rw-r--r--documentation/Fl_Secret_Input.html6
-rw-r--r--documentation/Fl_Select_Browser.html6
-rw-r--r--documentation/Fl_Shared_Image.html3
-rw-r--r--documentation/Fl_Single_Window.html6
-rw-r--r--documentation/Fl_Slider.html6
-rw-r--r--documentation/Fl_Spinner.html26
-rw-r--r--documentation/Fl_Tabs.html5
-rw-r--r--documentation/Fl_Text_Buffer.html44
-rw-r--r--documentation/Fl_Text_Display.html3
-rw-r--r--documentation/Fl_Text_Editor.html3
-rw-r--r--documentation/Fl_Tile.html32
-rw-r--r--documentation/Fl_Tiled_Image.html3
-rw-r--r--documentation/Fl_Timer.html6
-rw-r--r--documentation/Fl_Toggle_Button.html6
-rw-r--r--documentation/Fl_Tooltip.html3
-rw-r--r--documentation/Fl_Valuator.html6
-rw-r--r--documentation/Fl_Value_Input.html3
-rw-r--r--documentation/Fl_Value_Output.html6
-rw-r--r--documentation/Fl_Value_Slider.html6
-rw-r--r--documentation/Fl_Widget.html34
-rw-r--r--documentation/Fl_Window.html23
-rw-r--r--documentation/Fl_Wizard.html5
-rw-r--r--documentation/Fl_XBM_Image.html3
-rw-r--r--documentation/Fl_XPM_Image.html3
-rw-r--r--documentation/Makefile69
-rw-r--r--documentation/advanced.html95
-rw-r--r--documentation/basics.html5
-rw-r--r--documentation/blocks.man26
-rw-r--r--documentation/common.html71
-rw-r--r--documentation/drawing.html229
-rw-r--r--documentation/editor.html93
-rw-r--r--documentation/enumerations.html8
-rw-r--r--documentation/events.html23
-rw-r--r--documentation/examples.html105
-rw-r--r--documentation/fltk-config.man11
-rw-r--r--documentation/fltk.book6
-rw-r--r--documentation/fluid.html8
-rw-r--r--documentation/forms.html6
-rw-r--r--documentation/functions.html423
-rw-r--r--documentation/glut.html53
-rw-r--r--documentation/index.html20
-rw-r--r--documentation/intro.html7
-rw-r--r--documentation/license.html3
-rw-r--r--documentation/migration.html11
-rw-r--r--documentation/opengl.html3
-rw-r--r--documentation/osissues.html57
-rw-r--r--documentation/preface.html8
-rw-r--r--documentation/subclassing.html6
-rw-r--r--documentation/widgets.html711
111 files changed, 2531 insertions, 541 deletions
diff --git a/documentation/Fl.html b/documentation/Fl.html
index a66e3fe..f7f64e8 100644
--- a/documentation/Fl.html
+++ b/documentation/Fl.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -64,11 +67,12 @@ state information and global methods for the current application.</P>
<LI><A HREF="#Fl.event_clicks">event_clicks</A></LI>
<LI><A HREF="#Fl.event_ctrl">event_ctrl</A></LI>
<LI><A HREF="#Fl.event_dx">event_dx</A></LI>
- <LI><A HREF="#Fl.event_dy">event_dx</A></LI>
+ <LI><A HREF="#Fl.event_dy">event_dy</A></LI>
<LI><A HREF="#Fl.event_inside">event_inside</A></LI>
<LI><A HREF="#Fl.event_is_click">event_is_click</A></LI>
<LI><A HREF="#Fl.event_key">event_key</A></LI>
<LI><A HREF="#Fl.event_length">event_length</A></LI>
+ <LI><A HREF="#Fl.event_original_key">event_original_key</A></LI>
<LI><A HREF="#Fl.event_shift">event_shift</A></LI>
<LI><A HREF="#Fl.event_state">event_state</A></LI>
<LI><A HREF="#Fl.event_text">event_text</A></LI>
@@ -117,6 +121,7 @@ state information and global methods for the current application.</P>
<LI><A HREF="#Fl.scheme">scheme</A></LI>
<LI><A HREF="#Fl.screen_count">screen_count</A></LI>
<LI><A HREF="#Fl.screen_xywh">screen_xywh</A></LI>
+ <LI><A HREF="#Fl.scrollbar_size">scrollbar_size</A></LI>
<LI><A HREF="#Fl.selection">selection</A></LI>
<LI><A HREF="#Fl.selection_owner">selection_owner</A></LI>
<LI><A HREF="#Fl.set_abort">set_abort</A></LI>
@@ -164,7 +169,7 @@ void callback(void*) {
if (!state_changed) return;
state_changed = false;
do_expensive_calculation();
- widget->redraw();
+ widget-&gt;redraw();
}
main() {
@@ -385,10 +390,26 @@ argument on the command-line. You can change the message by setting the
<H4><A NAME="Fl.awake">void awake(void *p);</A></H4>
-<P>The <TT>awake()</TT> method sends a message pointer to the
-main thread, causing any pending <TT>wait()</TT> call to
-terminate so that the main thread can retrieve the message and
-any pending redraws can be processed.
+<H4><A NAME="Fl.awake">int awake(void (*callback)(void*), void *userdata);</A></H4>
+
+<P>The <TT>awake()</TT> method sends a message pointer to the main thread,
+causing any pending <A HREF="#Fl.wait"><TT>Fl::wait()</TT></A> call to
+terminate so that the main thread can retrieve the message and any pending
+redraws can be processed.
+
+<P>Multiple calls to <TT>Fl::awake()</TT> will queue multiple pointers
+for the main thread to process, up to a system-defined (typically several
+thousand) depth. The default message handler saves the last message which
+can be accessed using the <A HREF="#Fl.thread_message">
+<TT>Fl::thread_message()</TT></A> function.
+
+<P>The second form of <TT>awake()</TT> registers a function that will be
+called by the main thread during the next message handling cycle.
+<TT>awake()</TT> will return 0 if the callback function was registered,
+and -1 if registration failed. Over a thousand awake callbacks can be
+registered simultaneously.
+
+<P>See also: <a href="advanced.html#multithreading">multithreading</a>.
<H4><A NAME="Fl.background2">void background2(uchar, uchar, uchar);</A></H4>
@@ -423,19 +444,43 @@ handle()</tt>).
<H4><A NAME="Fl.box_dh">int box_dh(Fl_Boxtype);</A></H4>
<P>Returns the height offset for the given boxtype.
+See <tt><a href="#Fl.box_dy">box_dy</a></tt>.
<H4><A NAME="Fl.box_dw">int box_dw(Fl_Boxtype);</A></H4>
<P>Returns the width offset for the given boxtype.
+See <tt><a href="#Fl.box_dy">box_dy</a></tt>.
<H4><A NAME="Fl.box_dx">int box_dx(Fl_Boxtype);</A></H4>
<P>Returns the X offset for the given boxtype.
+See <tt><a href="#Fl.box_dy">box_dy</a></tt>.
<H4><A NAME="Fl.box_dy">int box_dy(Fl_Boxtype);</A></H4>
<P>Returns the Y offset for the given boxtype.
+<P>These functions return the offset values necessary for a given
+boxtype, useful for computing the area inside a box's borders, to
+prevent overdrawing the borders.
+
+<P>For instance, in the case of a boxtype like <tt>FL_DOWN_BOX</tt>
+where the border width might be 2 pixels all around, the above
+functions would return 2, 2, 4, and 4 for <tt>box_dx</tt>,
+<tt>box_dy</tt>, <tt>box_dw</tt>, and <tt>box_dh</tt>
+respectively.
+
+<P>An example to compute the area inside a widget's box():
+<pre>
+ int X = yourwidget-&gt;x() + Fl::box_dx(yourwidget-&gt;box());
+ int Y = yourwidget-&gt;y() + Fl::box_dy(yourwidget-&gt;box());
+ int W = yourwidget-&gt;w() - Fl::box_dw(yourwidget-&gt;box());
+ int H = yourwidget-&gt;h() - Fl::box_dh(yourwidget-&gt;box());
+</pre>
+<P>These functions are mainly useful in the <tt>draw()</tt> code
+for deriving custom widgets, where one wants to avoid drawing
+over the widget's own border <tt>box()</tt>.
+
<H4><A NAME="Fl.check">int check();</A></H4>
<P>Same as <tt>Fl::wait(0)</tt>. Calling this during a big calculation
@@ -500,9 +545,14 @@ window and then calls the default widget callback.</p>
<H4><A NAME="Fl.delete_widget">void delete_widget(Fl_Widget*);</A></H4>
-<p>Schedules a widget for deletion when it is safe to do so. Use
-this method to delete a widget inside a callback function. When
-deleting groups or windows, you must only delete the group or
+<p>Schedules a widget for deletion at the next call to the event loop.
+Use this method to delete a widget inside a callback function.
+To avoid early deletion of widgets, this function
+should be called toward the end of a callback and only after any call
+to the event loop (<tt>Fl:wait()</tt>, <tt>Fl::flush()</tt>,
+<tt>fl_ask()</tt>, etc).</p>
+
+<p>When deleting groups or windows, you must only delete the group or
window widget and not the individual child widgets.</p>
<H4><A NAME="Fl.display">void display(const char*);</A></H4>
@@ -543,26 +593,33 @@ prints the error message to <TT>stderr</TT> and returns.
<H4><A NAME="Fl.event_button1">int event_button1();</A></H4>
-<P>Returns non-zero if button 1 is pressed.
+<P>Returns non-zero if button 1 is currently held down.
+For more details, see <TT><A href="#Fl.event_buttons">Fl::event_buttons()</A></TT>.
<H4><A NAME="Fl.event_button2">int event_button2();</A></H4>
-<P>Returns non-zero if button 2 is pressed.
+<P>Returns non-zero if button 2 is currently held down.
+For more details, see <TT><A href="#Fl.event_buttons">Fl::event_buttons()</A></TT>.
<H4><A NAME="Fl.event_button3">int event_button3();</A></H4>
-<P>Returns non-zero if button 3 is pressed.
+<P>Returns non-zero if button 3 is currently held down.
+For more details, see <TT><A href="#Fl.event_buttons">Fl::event_buttons()</A></TT>.
<H4><A NAME="Fl.event_button">int event_button();</A></H4>
-<P>Returns which mouse button was pressed. This returns garbage if the
+<P>Returns which mouse button caused te current event. This returns garbage if the
most recent event was not a <tt>FL_PUSH</tt> or <tt>FL_RELEASE</tt>
event.
<H4><A NAME="Fl.event_buttons">int event_buttons();</A></H4>
<P>Returns the button state bits; if non-zero, then at least one
-button is pressed.
+button is pressed. This function returns the button state at the
+time of the event. During an <tt>FL_RELEASE</tt> event, the state
+of the released button will be <tt>0</tt>. To find out, which button
+caused an <tt>FL_RELEASE<tt> event, you can use
+<tt><a href="#Fl.event_button">Fl::event_button()</a></tt> instead.
<H4><A NAME="Fl.event_clicks">int event_clicks();<BR>
void event_clicks(int i);</A></H4>
@@ -660,6 +717,14 @@ will always be a nul at this position in the text. However there may
be a nul before that if the keystroke translates to a nul character or
you paste a nul character.
+<H4><A NAME="Fl.event_original_key">int event_original_key();</A></H4>
+
+<P> If NumLock is deactivated, FLTK translates events from the
+numeric keypad into the corresponding arrow key events.
+<tt>event_key()</tt> returns the translated key code, whereas
+<tt>event_original_key()</tt> returns the keycode before
+NumLock translation.
+
<H4><A NAME="Fl.event_shift">int event_shift();</A></H4>
<P>Returns non-zero if the Shift key is pressed.
@@ -919,6 +984,8 @@ wait until all child threads have called <A
HREF="#Fl.unlock"><TT>unlock()</TT></A> before processing
additional data.
+<P>See also: <a href="advanced.html#multithreading">multithreading</a>
+
<H4><A NAME="Fl.modal">Fl_Window* modal();</A></H4>
<P>Returns the top-most <tt>modal()</tt> window currently shown.
@@ -1054,10 +1121,23 @@ with <tt>return Fl::run();</tt>.
<H4><A NAME="Fl.scheme">void scheme(const char *name);
<BR>const char *scheme();</A></H4>
-<P>Gets or sets the current widget scheme. Currently only "none"
-and "plastic" are recognized, and <TT>NULL</TT> will use the
-scheme defined in the <TT>FLTK_SCHEME</TT> environment variable
-or the <TT>scheme</TT> resource under X11.
+<P>Gets or sets the current widget scheme. <TT>NULL</TT> will use
+the scheme defined in the <TT>FLTK_SCHEME</TT> environment
+variable or the <TT>scheme</TT> resource under X11. Otherwise,
+any of the following schemes can be used:</P>
+
+<ul>
+
+ <li>"none" - This is the default look-n-feel which resembles old
+ Windows (95/98/Me/NT/2000) and old GTK/KDE</li>
+
+ <li>"plastic" - This scheme is inspired by the Aqua user interface
+ on Mac OS X</li>
+
+ <li>"gtk+" - This scheme is inspired by the Red Hat Bluecurve
+ theme</li>
+
+</ul>
<H4><A NAME="Fl.screen_count">int screen_count();</A></H4>
@@ -1074,6 +1154,15 @@ specified coordinates. The last form gets the bounding box for
the numbered screen, where <tt>n</tt> is a number from 0 to the
number of screens less 1.</P>
+<H4><A NAME="Fl.scrollbar_size">void scrollbar_size(int W);<BR>
+int scrollbar_size();</A></H4>
+
+<P>Sets or gets the default scrollbar size that is used by the
+<A HREF="Fl_Browser_.html#Fl_Browser_"><TT>Fl_Browser_</TT></A>,
+<A HREF="Fl_Help_View.html#Fl_Help_View"><TT>Fl_Help_View</TT></A>,
+<A HREF="Fl_Scroll.html#Fl_Scroll"><TT>Fl_Scroll</TT></A>, and
+<A HREF="Fl_Text_Display.html#Fl_Text_Display"><TT>Fl_Text_Display</TT></A> widgets.</P>
+
<H4><A NAME="Fl.selection">void selection(Fl_Widget &amp;owner, const char* stuff, int len);</A></H4>
<P>Changes the current selection. The block of text is
@@ -1172,6 +1261,8 @@ Fl_Widget::test_shortcut()</tt></A>.
that was sent from a child by the <A
HREF="#Fl.awake"><TT>awake()</TT></A> method.
+<P>See also: <a href="advanced.html#multithreading">multithreading</a>
+
<H4><A NAME="Fl.unlock">void unlock();</A></H4>
<P>The <TT>unlock()</TT> method releases the lock that was set
@@ -1179,6 +1270,8 @@ using the <A HREF="#Fl.lock"><TT>lock()</TT></A> method. Child
threads should call this method as soon as they are finished
accessing FLTK.
+<P>See also: <a href="advanced.html#multithreading">multithreading</a>
+
<H4><A NAME="Fl.version">double version();</A></H4>
<P>Returns the compiled-in value of the FL_VERSION constant. This
diff --git a/documentation/Fl_Adjuster.html b/documentation/Fl_Adjuster.html
index 536590a..2267f37 100644
--- a/documentation/Fl_Adjuster.html
+++ b/documentation/Fl_Adjuster.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Adjuster</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Adjuster>class Fl_Adjuster</A></H2>
<HR>
diff --git a/documentation/Fl_BMP_Image.html b/documentation/Fl_BMP_Image.html
index 06dffe2..1fee759 100644
--- a/documentation/Fl_BMP_Image.html
+++ b/documentation/Fl_BMP_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_BMP_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Bitmap.html b/documentation/Fl_Bitmap.html
index 697e2b6..15db9b9 100644
--- a/documentation/Fl_Bitmap.html
+++ b/documentation/Fl_Bitmap.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Bitmap</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Box.html b/documentation/Fl_Box.html
index e575fad..4eb58b9 100644
--- a/documentation/Fl_Box.html
+++ b/documentation/Fl_Box.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Box</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Box>class Fl_Box</A></H2>
<HR>
diff --git a/documentation/Fl_Browser.html b/documentation/Fl_Browser.html
index 8db61d9..c701c84 100644
--- a/documentation/Fl_Browser.html
+++ b/documentation/Fl_Browser.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Browser</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Browser>class Fl_Browser</A></H2>
<HR>
diff --git a/documentation/Fl_Browser_.html b/documentation/Fl_Browser_.html
index 65d3bff..99ff5b4 100644
--- a/documentation/Fl_Browser_.html
+++ b/documentation/Fl_Browser_.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Browser_</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name="Fl_Browser_">class Fl_Browser_</A></H2>
<HR>
@@ -83,6 +87,7 @@ other slow operation. </P>
</TD><TD align=left valign=top>
<UL>
<LI><A href="#Fl_Browser_.scrollbar_right">scrollbar_right</A></LI>
+<LI><A href="#Fl_Browser_.scrollbar_width">scrollbar_width</A></LI>
<LI><A href="#Fl_Browser_.select">select</A></LI>
<LI><A href="#Fl_Browser_.select_only">select_only</A></LI>
<LI><A href="#Fl_Browser_.selection">selection</A></LI>
@@ -344,6 +349,12 @@ It allows the <TT>Fl_Browser_</TT> to update its cache data as needed.
<P>This method moves the vertical scrollbar to the righthand side of the list.
+<H4><A NAME="Fl_Browser_.scrollbar_width">static void Fl_Browser_::scrollbar_width(int sw);</A><BR>
+static int Fl_Browser_::scrollbar_width() const;</H4>
+
+<P>Sets or gets the width of any scrollbars that are used.
+
+
<H4><A NAME="Fl_Browser_.select">int Fl_Browser_::select(void *p, int s=1, int docb=0)</A></H4>
<P>Sets the selection state of item <TT>p</TT> to <TT>s</TT> and
diff --git a/documentation/Fl_Button.html b/documentation/Fl_Button.html
index 5bf2686..824f384 100644
--- a/documentation/Fl_Button.html
+++ b/documentation/Fl_Button.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Button</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Button>class Fl_Button</A></H2>
<HR>
diff --git a/documentation/Fl_Chart.html b/documentation/Fl_Chart.html
index 02ea2fe..65f16f7 100644
--- a/documentation/Fl_Chart.html
+++ b/documentation/Fl_Chart.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Chart</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Chart>class Fl_Chart</A></H2>
<HR>
diff --git a/documentation/Fl_Check_Browser.html b/documentation/Fl_Check_Browser.html
index 022600b..4de53e4 100644
--- a/documentation/Fl_Check_Browser.html
+++ b/documentation/Fl_Check_Browser.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Check_Browser</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Check_Browser>class Fl_Check_Browser</A></H2>
<HR>
diff --git a/documentation/Fl_Check_Button.html b/documentation/Fl_Check_Button.html
index 0b6a88e..2ad4a56 100644
--- a/documentation/Fl_Check_Button.html
+++ b/documentation/Fl_Check_Button.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Check_Button</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Check_Button>class Fl_Check_Button</A></H2>
<HR>
diff --git a/documentation/Fl_Choice.html b/documentation/Fl_Choice.html
index 8644e0b..c4c1676 100644
--- a/documentation/Fl_Choice.html
+++ b/documentation/Fl_Choice.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Choice</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Choice>class Fl_Choice</A></H2>
<HR>
diff --git a/documentation/Fl_Clock.html b/documentation/Fl_Clock.html
index 85a148a..80f87cb 100644
--- a/documentation/Fl_Clock.html
+++ b/documentation/Fl_Clock.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Clock</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Clock>class Fl_Clock</A></H2>
<HR>
@@ -43,5 +47,6 @@ and label string. The default boxtype is <TT>FL_NO_BOX</TT>.
<H4><A name=Fl_Clock.second>int Fl_Clock_Output::second() const</A></H4>
Returns the current second (0 to 60, 60 = leap second).
<H4><A name=Fl_Clock.value>ulong Fl_Clock::value(void)</A></H4>
- Returns the displayed time in seconds since the UNIX epoch (January 1, 1970). </P>
-</BODY></HTML>
+ Returns the displayed time in seconds since the UNIX epoch (January 1, 1970).
+</BODY>
+</HTML>
diff --git a/documentation/Fl_Clock_Output.html b/documentation/Fl_Clock_Output.html
index 7469077..0428f2f 100644
--- a/documentation/Fl_Clock_Output.html
+++ b/documentation/Fl_Clock_Output.html
@@ -1,6 +1,10 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Clock_Output</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
-<H2><A name=Fl_Clock>class Fl_Clock_Output</A></H2>
+<H2><A name=Fl_Clock_Output>class Fl_Clock_Output</A></H2>
<HR>
<H3>Class Hierarchy</H3>
<UL>
@@ -19,18 +23,20 @@
</PRE>
</UL>
<H3>Description</H3>
-This widget can be used to display a program-supplied time.
+
+<P>This widget can be used to display a program-supplied time.
The time shown on the clock is not updated.
To display the current time, use <TT><A href=Fl_Clock.html#Fl_Clock>Fl_Clock</A></TT>
-instead.</P>
+instead.
+
<H3>Methods</H3>
<UL>
-<LI><A href=Fl_Clock_Output.Fl_Clock_Output>Fl_Clock_Output</A></LI>
-<LI><A href=Fl_Clock_Output.~Fl_Clock_Output>~Fl_Clock_Output</A></LI>
-<LI><A href=Fl_Clock_Output.hour>hour</A></LI>
-<LI><A href=Fl_Clock_Output.minute>minute</A></LI>
-<LI><A href=Fl_Clock_Output.second>second</A></LI>
-<LI><A href=Fl_Clock_Output.value>value</A></LI>
+<LI><A href=#Fl_Clock_Output.Fl_Clock_Output>Fl_Clock_Output</A></LI>
+<LI><A href=#Fl_Clock_Output.~Fl_Clock_Output>~Fl_Clock_Output</A></LI>
+<LI><A href=#Fl_Clock_Output.hour>hour</A></LI>
+<LI><A href=#Fl_Clock_Output.minute>minute</A></LI>
+<LI><A href=#Fl_Clock_Output.second>second</A></LI>
+<LI><A href=#Fl_Clock_Output.value>value</A></LI>
</UL>
<H4><A name=Fl_Clock_Output.Fl_Clock_Output>Fl_Clock_Output::Fl_Clock_Output(int x, int y, int w,
int h, const char *label = 0)</A></H4>
@@ -51,4 +57,6 @@ and label string. The default boxtype is <TT>FL_NO_BOX</TT>.
given UNIX time value or specific hours, minutes, and seconds.
<P>The third form of <TT>value</TT> returns the displayed time in
seconds since the UNIX epoch (January 1, 1970). </P>
-</BODY></HTML>
+
+</BODY>
+</HTML>
diff --git a/documentation/Fl_Color_Chooser.html b/documentation/Fl_Color_Chooser.html
index e576191..4ffd985 100644
--- a/documentation/Fl_Color_Chooser.html
+++ b/documentation/Fl_Color_Chooser.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Color_Chooser</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Color_Chooser>class Fl_Color_Chooser</A></H2>
<HR>
diff --git a/documentation/Fl_Counter.html b/documentation/Fl_Counter.html
index 6b24280..3aab348 100644
--- a/documentation/Fl_Counter.html
+++ b/documentation/Fl_Counter.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Counter</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Counter>class Fl_Counter</A></H2>
<HR>
diff --git a/documentation/Fl_Dial.html b/documentation/Fl_Dial.html
index c42df0c..0c6e425 100644
--- a/documentation/Fl_Dial.html
+++ b/documentation/Fl_Dial.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Dial</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Dial>class Fl_Dial</A></H2>
<HR>
diff --git a/documentation/Fl_Double_Window.html b/documentation/Fl_Double_Window.html
index eb3997c..68f9e56 100644
--- a/documentation/Fl_Double_Window.html
+++ b/documentation/Fl_Double_Window.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Double_Window</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Double_Window>class Fl_Double_Window</A></H2>
<HR>
diff --git a/documentation/Fl_End.html b/documentation/Fl_End.html
index 48d5595..3a7f37b 100644
--- a/documentation/Fl_End.html
+++ b/documentation/Fl_End.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_End</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_End>class Fl_End</A></H2>
<HR>
diff --git a/documentation/Fl_File_Browser.html b/documentation/Fl_File_Browser.html
index 8244790..c53352d 100644
--- a/documentation/Fl_File_Browser.html
+++ b/documentation/Fl_File_Browser.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_File_Browser</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -17,7 +20,7 @@
<H3>Include Files</H3>
<UL><PRE>
-#include &lt;FL/Fl_File_Browser.H>
+#include &lt;FL/Fl_File_Browser.H&gt;
</PRE></UL>
<H3>Description</H3>
diff --git a/documentation/Fl_File_Chooser.html b/documentation/Fl_File_Chooser.html
index 2a9945c..1b0e09d 100644
--- a/documentation/Fl_File_Chooser.html
+++ b/documentation/Fl_File_Chooser.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_File_Chooser</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -15,7 +18,7 @@
<H3>Include Files</H3>
<UL><PRE>
-#include &lt;FL/Fl_File_Chooser.H>
+#include &lt;FL/Fl_File_Chooser.H&gt;
</PRE></UL>
<H3>Description</H3>
@@ -225,7 +228,7 @@ const char *label()</A></H4>
<P>Sets or gets the title bar text for the <CODE>Fl_File_Chooser</CODE>.
-<H4><A NAME="Fl_File_Chooser.label">void ok_label(const char *l)<BR>
+<H4><A NAME="Fl_File_Chooser.ok_label">void ok_label(const char *l)<BR>
const char *ok_label()</A></H4>
<P>Sets or gets the label for the "ok" button in the
diff --git a/documentation/Fl_File_Icon.html b/documentation/Fl_File_Icon.html
index 0536161..53b7ff8 100644
--- a/documentation/Fl_File_Icon.html
+++ b/documentation/Fl_File_Icon.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_File_Icon</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -15,7 +18,7 @@
<H3>Include Files</H3>
<UL><PRE>
-#include &lt;FL/Fl_File_Icon.H>
+#include &lt;FL/Fl_File_Icon.H&gt;
</PRE></UL>
<H3>Description</H3>
diff --git a/documentation/Fl_File_Input.html b/documentation/Fl_File_Input.html
index dd790c3..52f6788 100644
--- a/documentation/Fl_File_Input.html
+++ b/documentation/Fl_File_Input.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_File_Input</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Float_Input.html b/documentation/Fl_Float_Input.html
index 42a03f1..20bbc1d 100644
--- a/documentation/Fl_Float_Input.html
+++ b/documentation/Fl_Float_Input.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Float_Input</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Float_Input>class Fl_Float_Input</A></H2>
<HR>
diff --git a/documentation/Fl_Free.html b/documentation/Fl_Free.html
index aa7046e..6fe48a4 100644
--- a/documentation/Fl_Free.html
+++ b/documentation/Fl_Free.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Free</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Free>class Fl_Free</A></H2>
<HR>
diff --git a/documentation/Fl_GIF_Image.html b/documentation/Fl_GIF_Image.html
index f67911a..dc8a5b2 100644
--- a/documentation/Fl_GIF_Image.html
+++ b/documentation/Fl_GIF_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_GIF_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Gl_Window.html b/documentation/Fl_Gl_Window.html
index 84bddd7..a32b74f 100644
--- a/documentation/Fl_Gl_Window.html
+++ b/documentation/Fl_Gl_Window.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Gl_Window</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -38,6 +41,13 @@ are very useful for drawing UI controls atop your 3D graphics. If the
overlay hardware is not provided, FLTK tries to simulate the overlay,
This works pretty well if your graphics are double buffered, but not
very well for single-buffered. </P>
+<P>Please note that the FLTK drawing and clipping functions
+will not work inside an <tt>Fl_Gl_Window</tt>. All drawing
+should be done using OpenGL calls exclusively.
+Even though <tt>Fl_Gl_Window</tt> is derived from <tt>Fl_Group</tt>,
+it is not useful to add other FLTK Widgets as children,
+unless those Widgets are modified to draw using OpenGL calls.</P>
+
<H3>Methods</H3>
<CENTER>
<TABLE width=90% summary="Fl_Gl_Window methods.">
@@ -51,6 +61,7 @@ very well for single-buffered. </P>
</TD><TD align=left valign=top>
<UL>
<LI><A href=#Fl_Gl_Window.context>context</A></LI>
+<LI><A href=#Fl_Gl_Window.context_valid>context_valid</A></LI>
<LI><A href=#Fl_Gl_Window.draw>draw</A></LI>
<LI><A href=#Fl_Gl_Window.draw_overlay>draw_overlay</A></LI>
</UL>
@@ -157,9 +168,11 @@ void mywindow::draw() {
if (!valid()) {
glViewport(0,0,w(),h());
glFrustum(...);
- glLight(...);
...other initialization...
}
+ if (!context_valid()) {
+ ...load textures, etc. ...
+ }
... draw your geometry here ...
}
</PRE></UL>
@@ -171,6 +184,14 @@ draw()</TT> returns.
<H4><A name=Fl_Gl_Window.invalidate>void Fl_Gl_Window::invalidate()</A></H4>
The <TT>invalidate()</TT> method turns off <TT>valid()</TT> and is
equivalent to calling <TT>value(0)</TT>.
+
+<H4><A name=Fl_Gl_Window.context_valid>char Fl_Gl_Window::context_valid() const
+<BR> void Fl_Gl_Window::context_valid(char i)</A></H4>
+<TT>Fl_Gl_Window::context_valid()</TT> will only be set if the
+OpenGL context is created or recreated. It differs from
+<TT>Fl_Gl_Window::valid()</TT> which is also set whenever the context
+changes size.
+
<H4><A name=Fl_Gl_Window.ortho>void Fl_Gl_Window::ortho()</A></H4>
Set the projection so 0,0 is in the lower left of the window and each
pixel is 1 unit wide/tall. If you are drawing 2D images, your <TT>
diff --git a/documentation/Fl_Group.html b/documentation/Fl_Group.html
index 21d912d..ac19bb7 100644
--- a/documentation/Fl_Group.html
+++ b/documentation/Fl_Group.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Group</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Group>class Fl_Group</A></H2>
<HR>
@@ -9,7 +13,9 @@
|
+----<B>Fl_Group</B>
|
- +----<A href=Fl_Pack.html#Fl_Pack>Fl_Pack</A>, <A href=Fl_Scroll.html#Fl_Scroll>Fl_Scroll</A>, <A href=Fl_Tabs.html#Fl_Tabs>Fl_Tabs</A>, <A href=Fl_Tile.html#Fl_Tile>Fl_Tile</A>, <A href=Fl_Window.html#Fl_Window>Fl_Window</A>
+ +----<A href=Fl_Browser_.html#Fl_Browser_>Fl_Browser_</A>, <A href=Fl_Color_Chooser.html#Fl_Color_Chooser>Fl_Color_Chooser</A>, <A href=Fl_Help_View.html#Fl_Help_View>Fl_Help_View</A>, <A href=Fl_Input_Choice.html#Fl_Input_Choice>Fl_Input_Choice</A>, <A href=Fl_Pack.html#Fl_Pack>Fl_Pack</A>,
+ <A href=Fl_Scroll.html#Fl_Scroll>Fl_Scroll</A>, <A href=Fl_Tabs.html#Fl_Tabs>Fl_Tabs</A>, <A href=Fl_Spinner.html#Fl_Spinner>Fl_Spinner</A>, <A href=Fl_Tabs.html#Fl_Tabs>Fl_Tabs</A>, <A href=Fl_Text_Display.html#Fl_Text_Display>Fl_Text_Display</A>, <A href=Fl_Tile.html#Fl_Tile>Fl_Tile</A>,
+ <A href=Fl_Window.html#Fl_Window>Fl_Window</A>, <A href=Fl_Wizard.html#Fl_Wizard>Fl_Wizard</A>
</PRE>
</UL>
<H3>Include Files</H3>
@@ -122,7 +128,7 @@ memory.</p>
<H4><A name=Fl_Group.current>static Fl_Group *Fl_Group::current()
<BR> static void Fl_Group::current(Fl_Group *w)</A></H4>
<TT>current()</TT> returns the currently active group. The Fl_Widget
- constructor automatically does <tt>current()->add(widget)</tt> if this is not null.
+ constructor automatically does <tt>current()-&gt;add(widget)</tt> if this is not null.
To prevent new widgets from being added to a group, call <TT>Fl_Group::current(0)</TT>.
<H4><A name=Fl_Group.begin>void Fl_Group::begin()</A></H4>
<TT>begin()</TT> sets the current group so you can build the widget
diff --git a/documentation/Fl_Help_Dialog.html b/documentation/Fl_Help_Dialog.html
index 6c81cac..f999fce 100644
--- a/documentation/Fl_Help_Dialog.html
+++ b/documentation/Fl_Help_Dialog.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Help_Dialog</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -9,9 +12,7 @@
<H3>Class Hierarchy</H3>
<UL><PRE>
-<A HREF="Fl_Group.html">Fl_Group</A>
- |
- +----<B>Fl_Help_Dialog</B>
+<B>Fl_Help_Dialog</B>
</PRE></UL>
<H3>Include Files</H3>
@@ -39,12 +40,19 @@ using the <CODE>Fl_Help_View</CODE> widget.
<LI><A HREF="#Fl_Help_Dialog.Fl_Help_Dialog">Fl_Help_Dialog</A>
<LI><A HREF="#Fl_Help_Dialog.~Fl_Help_Dialog">~Fl_Help_Dialog</A>
+ <LI><A HREF="#Fl_Help_Dialog.xywh">h</A>
<LI><A HREF="#Fl_Help_Dialog.hide">hide</A>
<LI><A HREF="#Fl_Help_Dialog.load">load</A>
+ <LI><A HREF="#Fl_Help_Dialog.position">position</A>
+ <LI><A HREF="#Fl_Help_Dialog.resize">resize</A>
<LI><A HREF="#Fl_Help_Dialog.show">show</A>
+ <LI><A HREF="#Fl_Help_Dialog.textsize">textsize</A>
<LI><A HREF="#Fl_Help_Dialog.topline">topline</A>
<LI><A HREF="#Fl_Help_Dialog.value">value</A>
<LI><A HREF="#Fl_Help_Dialog.visible">visible</A>
+ <LI><A HREF="#Fl_Help_Dialog.xywh">w</A>
+ <LI><A HREF="#Fl_Help_Dialog.xywh">x</A>
+ <LI><A HREF="#Fl_Help_Dialog.xywh">y</A>
</UL>
@@ -52,7 +60,7 @@ using the <CODE>Fl_Help_View</CODE> widget.
<P>The constructor creates the dialog pictured above.
-<H4><A NAME="Fl_Help_Dialog.~Fl_Help_Dialog">~Fl_Help_View()</A></H4>
+<H4><A NAME="Fl_Help_Dialog.~Fl_Help_Dialog">~Fl_Help_Dialog()</A></H4>
<P>The destructor destroys the widget and frees all memory that has been
allocated for the current file.
@@ -66,10 +74,23 @@ allocated for the current file.
<P>Loads the specified HTML file into the <CODE>Fl_Help_View</CODE> widget.
The filename can also contain a target name ("filename.html#target").
+<H4><A NAME="Fl_Help_Dialog.position">void position(int x, int y)</A></H4>
+
+<P>Set the screen position of the dialog.
+
+<H4><A NAME="Fl_Help_Dialog.resize">void resize(int xx, int yy, int ww, int hh)</A></H4>
+
+<P>Change the position and size of the dialog.
+
<H4><A NAME="Fl_Help_Dialog.show">void show()</A></H4>
<P>Shows the <code>Fl_Help_Dialog</code> window.
+<H4><A NAME="Fl_Help_Dialog.topline">void textsize(uchar s)<BR>
+uchar textsize()</A></H4>
+
+<P>Sets or gets the default text size for the help view.
+
<H4><A NAME="Fl_Help_Dialog.topline">void topline(const char *n)<BR>
void topline(int n)</A></H4>
@@ -87,5 +108,13 @@ reformats the text. It also clears the history of the "back" and
<P>Returns 1 if the <code>Fl_Help_Dialog</code> window is visible.
+<H4><A NAME="Fl_Help_Dialog.xywh">int x()<BR>
+int y()<BR>
+int w()<BR>
+int h()<BR>
+</A></H4>
+
+<P>Returns the position and size of the help dialog.
+
</BODY>
</HTML>
diff --git a/documentation/Fl_Help_View.html b/documentation/Fl_Help_View.html
index 3eee0ea..4b10afd 100644
--- a/documentation/Fl_Help_View.html
+++ b/documentation/Fl_Help_View.html
@@ -1,4 +1,8 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Help_View</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name="Fl_Help_View">class Fl_Help_View</A></H2>
diff --git a/documentation/Fl_Hold_Browser.html b/documentation/Fl_Hold_Browser.html
index 3b1084a..ef9a5a3 100644
--- a/documentation/Fl_Hold_Browser.html
+++ b/documentation/Fl_Hold_Browser.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Hold_Browser</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Hold_Browser>class Fl_Hold_Browser</A></H2>
<HR>
diff --git a/documentation/Fl_Image.html b/documentation/Fl_Image.html
index 7aadbef..7f3f52f 100644
--- a/documentation/Fl_Image.html
+++ b/documentation/Fl_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Input.html b/documentation/Fl_Input.html
index f94b4c4..05dac19 100644
--- a/documentation/Fl_Input.html
+++ b/documentation/Fl_Input.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Input</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Input_.html b/documentation/Fl_Input_.html
index b6b4ef3..9b7fb34 100644
--- a/documentation/Fl_Input_.html
+++ b/documentation/Fl_Input_.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Input_</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Input_Choice.html b/documentation/Fl_Input_Choice.html
index b941e34..a754e25 100644
--- a/documentation/Fl_Input_Choice.html
+++ b/documentation/Fl_Input_Choice.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Input_Choice</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -13,9 +16,6 @@
<A href=Fl_Group.html#Fl_Group>Fl_Group</A>
|
+----<B>Fl_Input_Choice</B>
- |
- +----<A href=Fl_Input.html#Fl_Input>Fl_Input</A>
- <A href=Fl_Menu_Button.html#Fl_Menu_Button>Fl_Menu_Button</A>
</PRE></UL>
<H3>Include Files</H3>
@@ -65,11 +65,11 @@ and label string.
<P>Destroys the widget and any value associated with it.
-<h4><a name='#Fl_Input_Choice.add'>void Fl_Input_Choice::add(const char *s)</a></h4>
+<h4><a name='Fl_Input_Choice.add'>void Fl_Input_Choice::add(const char *s)</a></h4>
<p>Adds an item to the menu.</p>
-<h4><a name='#Fl_Input_Choice.clear'>void Fl_Input_Choice::clear()</a></h4>
+<h4><a name='Fl_Input_Choice.clear'>void Fl_Input_Choice::clear()</a></h4>
<p>Removes all items from the menu.</p>
@@ -77,7 +77,7 @@ and label string.
<p>Returns a reference to the internal <tt>Fl_Input</tt> widget.</p>
-<h4><a name='#Fl_Input_Choice.menu'>void Fl_Input_Choice::menu(const Fl_Menu_Item *m)<br>
+<h4><a name='Fl_Input_Choice.menu'>void Fl_Input_Choice::menu(const Fl_Menu_Item *m)<br>
const Fl_Menu_Item *menu()</A></h4>
<p>Gets or sets the <tt>Fl_Menu_Item</tt> array used for the menu.</p>
diff --git a/documentation/Fl_Int_Input.html b/documentation/Fl_Int_Input.html
index de4c9e3..e495bfb 100644
--- a/documentation/Fl_Int_Input.html
+++ b/documentation/Fl_Int_Input.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Int_Input</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Int_Input>class Fl_Int_Input</A></H2>
<HR>
diff --git a/documentation/Fl_JPEG_Image.html b/documentation/Fl_JPEG_Image.html
index 06b57f9..a49e4fc 100644
--- a/documentation/Fl_JPEG_Image.html
+++ b/documentation/Fl_JPEG_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_JPEG_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Light_Button.html b/documentation/Fl_Light_Button.html
index a5e597e..4bba330 100644
--- a/documentation/Fl_Light_Button.html
+++ b/documentation/Fl_Light_Button.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Light_Button</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Light_Button>class Fl_Light_Button</A></H2>
<HR>
diff --git a/documentation/Fl_Menu_.html b/documentation/Fl_Menu_.html
index d602283..9f04267 100644
--- a/documentation/Fl_Menu_.html
+++ b/documentation/Fl_Menu_.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Menu_</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Menu_>class Fl_Menu_</A></H2>
<HR>
@@ -80,47 +84,11 @@ int h, const char *label = 0)</A></H4>
Creates a new <TT>Fl_Menu_</TT> widget using the given position, size,
and label string.<tt> menu()</tt> is initialized to null.
+
<H4><A name=Fl_Menu_.~Fl_Menu_>virtual Fl_Menu_::~Fl_Menu_()</A></H4>
If the menu array is private the memory it uses is freed.
-<H4><A name=Fl_Menu_.menu>const Fl_Menu_Item* Fl_Menu_::menu()
-const</a></h4>
-
-Returns a pointer to the array of Fl_Menu_Items. This will either be
-the value passed to <tt>menu(value)</tt> or the private copy.
-
-<h4>void Fl_Menu_::menu(const Fl_Menu_Item*)</H4>
-Set the menu array pointer directly. If the old menu is private it is
-deleted. <tt>NULL</tt> is allowed and acts the same as a zero-length
-menu. If you try to modify the array (with add(), replace(), or
-delete()) a private copy is automatically done.
-
-<H4><A name=Fl_Menu_.mvalue>const Fl_Menu_Item* Fl_Menu_::mvalue()
-const</a></h4>
-
-<P>Returns a pointer to the last menu item that was picked.
-
-<H4><A name=Fl_Menu_.copy>void Fl_Menu_::copy(const
-Fl_Menu_Item*, void* user_data = 0)</A></H4>
-
-<P>The menu is set to a private copy of the passed Fl_Menu_Item
-array. This is useful if you want to modify the flags of the
-menu items. If the <tt>user_data</tt> argument is non-NULL, then
-the <tt>user_data</tt> members of the menu items are set to the
-given value.
-
-<H4><A name=Fl_Menu_.clear>void Fl_Menu_::clear()</A></H4>
-Same as <tt>menu(NULL)</tt>, set the array pointer to null, indicating
-a zero-length menu.
-
-<H4><A name=Fl_Menu_.size>int Fl_Menu_::size() const</A></H4>
-
-This returns the number of Fl_Menu_Item structures that make up the
-menu, correctly counting submenus. This includes the "terminator"
-item at the end. To copy a menu array you need to copy
-<tt>size()*sizeof(Fl_Menu_Item)</tt> bytes. If the menu is
-<TT>NULL</TT> this returns zero (an empty menu will return 1).
<H4><A name=Fl_Menu_.add>int Fl_Menu_::add(const char* label, const
char* shortcut, Fl_Callback*, void *user_data=0, int flags=0)</a><br>
@@ -138,7 +106,7 @@ special characters in the label string. The "&amp;" character
specifies that the following character is an accelerator and
will be underlined. The "\" character is used to escape the next
character in the string. Labels starting with the "_" character
-cause a divider to be placed before that menu item.</p>
+cause a divider to be placed after that menu item.</p>
<p>A label of the form &quot;foo/bar/baz&quot; will create a
submenus called &quot;foo&quot; and &quot;bar&quot; with an
@@ -185,6 +153,87 @@ with Forms and other GL programs. The section strings use the
same special characters as described for the long version of <a
href='#Fl_Menu_.add'><tt>add()</tt></a></p>
+
+<H4><A name=Fl_Menu_.clear>void Fl_Menu_::clear()</A></H4>
+Same as <tt>menu(NULL)</tt>, set the array pointer to null, indicating
+a zero-length menu.
+
+
+<H4><A name=Fl_Menu_.copy>void Fl_Menu_::copy(const
+Fl_Menu_Item*, void* user_data = 0)</A></H4>
+
+<P>The menu is set to a private copy of the passed Fl_Menu_Item
+array. This is useful if you want to modify the flags of the
+menu items. If the <tt>user_data</tt> argument is non-NULL, then
+the <tt>user_data</tt> members of the menu items are set to the
+given value.
+
+
+<H4><A name=Fl_Menu_.down_box>Fl_Boxtype Fl_Menu_::down_box() const
+<BR> void Fl_Menu_::down_box(Fl_Boxtype)</A></H4>
+ This box type is used to surround the currently-selected items in the
+menus. If this is <TT>FL_NO_BOX</TT> then it acts like <TT>
+FL_THIN_UP_BOX</TT> and <TT>selection_color()</TT> acts like <TT>
+FL_WHITE</TT>, for back compatability.
+
+
+<h4><a name="Fl_Menu_.find_item">const Fl_Menu_Item *Fl_Menu_::find_item(const char *name);</a></h4>
+
+<p>Returns a pointer to the menu item with the given (full)
+pathname. If no matching menu item can be found, a NULL pointer
+is returned. This function does not search submenus that are linked
+via FL_SUBMENU_POINTER.</p>
+
+
+<h4><a name=Fl_Menu_.item_pathname>int Fl_Menu_::item_pathname(char *name, int namelen ) const;</a><br>
+int Fl_Menu_::item_pathname(char *name, int namelen, const Fl_Menu_Item *finditem) const;</h4>
+
+<p>Returns the 'menu pathname' (eg. "File/Quit") for the recently picked item in user supplied string 'name'. Useful in the callback function for a menu item, to determine the last picked item's 'menu pathname' string.
+
+<p>If finditem is specified, name will contain the 'menu pathname' for that item.
+
+<p>Returns:
+
+<ul>
+ <li>0 - OK: 'name' has the pathname, guaranteed not longer than namelen
+ <li>-1 - Failed: 'finditem' was not found in the menu
+ <li>-2 - Failed: 'name' is not large enough to handle the menu names
+</ul>
+
+<p>In the case of errors (-1 or -2), 'name' will be an empty string.
+
+
+<H4><A name=Fl_Menu_.menu>const Fl_Menu_Item* Fl_Menu_::menu()
+const</a></h4>
+
+Returns a pointer to the array of Fl_Menu_Items. This will either be
+the value passed to <tt>menu(value)</tt> or the private copy.
+
+<h4>void Fl_Menu_::menu(const Fl_Menu_Item*)</H4>
+Set the menu array pointer directly. If the old menu is private it is
+deleted. <tt>NULL</tt> is allowed and acts the same as a zero-length
+menu. If you try to modify the array (with add(), replace(), or
+delete()) a private copy is automatically done.
+
+
+<H4><A name=Fl_Menu_.mode>void Fl_Menu_::mode(int i, int x);</A></H4>
+
+Changes the flags of item <TT>i</TT>. For a list of the flags, see <a
+href=Fl_Menu_Item.html>Fl_Menu_Item</a>.
+
+
+<H4><A name=Fl_Menu_.mvalue>const Fl_Menu_Item* Fl_Menu_::mvalue()
+const</a></h4>
+
+<P>Returns a pointer to the last menu item that was picked.
+
+
+<H4><A name=Fl_Menu_.remove>void Fl_Menu_::remove(int n)</A></H4>
+
+Deletes item <TT>n</TT> from the menu. If the menu array was directly
+set with menu(x) then copy() is done to make a private array.
+
+
<H4><A name=Fl_Menu_.replace>void Fl_Menu_::replace(int n, const char *)</A>
</H4>
@@ -192,28 +241,20 @@ Changes the text of item <TT>n</TT>. This is the only way to get
slash into an add()'ed menu item. If the menu array was directly set
with menu(x) then copy() is done to make a private array.
-<H4><A name=Fl_Menu_.remove>void Fl_Menu_::remove(int n)</A></H4>
-
-Deletes item <TT>n</TT> from the menu. If the menu array was directly
-set with menu(x) then copy() is done to make a private array.
<H4><A name=Fl_Menu_.shortcut>void Fl_Menu_::shortcut(int i, int n);</A></H4>
Changes the shortcut of item <TT>i</TT> to <TT>n</TT>.
-<H4><A name=Fl_Menu_.mode>void Fl_Menu_::mode(int i, int x);</A></H4>
-Changes the flags of item <TT>i</TT>. For a list of the flags, see <a
-href=Fl_Menu_Item.html>Fl_Menu_Item</a>.
+<H4><A name=Fl_Menu_.size>int Fl_Menu_::size() const</A></H4>
+
+This returns the number of Fl_Menu_Item structures that make up the
+menu, correctly counting submenus. This includes the "terminator"
+item at the end. To copy a menu array you need to copy
+<tt>size()*sizeof(Fl_Menu_Item)</tt> bytes. If the menu is
+<TT>NULL</TT> this returns zero (an empty menu will return 1).
-<H4><A name=Fl_Menu_.value>int Fl_Menu_::value() const
-<BR> int Fl_Menu_::value(int)
-<BR> const Fl_Menu_Item* mvalue() const
-<BR> int Fl_Menu_::value(const Fl_Menu_Item*)</A></H4>
- The value is the index into <TT>menu()</TT> of the last item chosen by
-the user. It is zero initially. You can set it as an integer, or set
-it with a pointer to a menu item. The set routines return non-zero if
-the new value is different than the old one.
<H4><A name=Fl_Menu_.test_shortcut>const Fl_Menu_Item*
Fl_Menu_::test_shortcut()</A></H4>
@@ -231,47 +272,36 @@ not have to be put in a window at all).
one will replace the old one. There is no way to remove the <TT>
global()</TT> setting (so don't destroy the widget!)</P>
-<h4><a name="Fl_Menu_.find_item">const Fl_Menu_Item *Fl_Menu_::find_item(const char *name);</a></h4>
-
-<p>Returns a pointer to the menu item with the given (full)
-pathname. If no matching menu item can be found, a NULL pointer
-is returned. This function does not search submenus that are linked
-via FL_SUBMENU_POINTER.</p>
-
-<h4><a name=Fl_Menu_.item_pathname>int Fl_Menu_::item_pathname(char *name, int namelen ) const;</a><br>
-int Fl_Menu_::item_pathname(char *name, int namelen,
- const Fl_Menu_Item *finditem) const;</h4>
-
-<p>Returns the 'menu pathname' (eg. "File/Quit") for the recently picked item in user supplied string 'name'. Useful in the callback function for a menu item, to determine the last picked item's 'menu pathname' string.
-
-<p>If finditem is specified, name will contain the 'menu pathname' for that item.
-
-<p>Returns:
-
-<ul>
- <li>0 - OK: 'name' has the pathname, guaranteed not longer than namelen
- <li>-1 - Failed: 'finditem' was not found in the menu
- <li>-2 - Failed: 'name' is not large enough to handle the menu names
-</ul>
-
-<p>In the case of errors (-1 or -2), 'name' will be an empty string.
<H4><A name=Fl_Menu_.text>const char* Fl_Menu_::text() const
<BR> const char* Fl_Menu_::text(int i) const</A></H4>
Returns the title of the last item chosen, or of item <TT>i</TT>.
+
<H4><A name=Fl_Menu_.textcolor>Fl_Color Fl_Menu_::textcolor() const
<BR> void Fl_Menu_::textcolor(Fl_Color)</A></H4>
Get or set the current color of menu item labels.
+
+
<H4><A name=Fl_Menu_.textfont>Fl_Font Fl_Menu_::textfont() const
<BR> void Fl_Menu_::textfont(Fl_Font)</A></H4>
Get or set the current font of menu item labels.
+
+
<H4><A name=Fl_Menu_.textsize>uchar Fl_Menu_::textsize() const
<BR> void Fl_Menu_::textsize(uchar)</A></H4>
Get or set the font size of menu item labels.
-<H4><A name=Fl_Menu_.down_box>Fl_Boxtype Fl_Menu_::down_box() const
-<BR> void Fl_Menu_::down_box(Fl_Boxtype)</A></H4>
- This box type is used to surround the currently-selected items in the
-menus. If this is <TT>FL_NO_BOX</TT> then it acts like <TT>
-FL_THIN_UP_BOX</TT> and <TT>selection_color()</TT> acts like <TT>
-FL_WHITE</TT>, for back compatability. </BODY></HTML>
+
+
+<H4><A name=Fl_Menu_.value>int Fl_Menu_::value() const
+<BR> int Fl_Menu_::value(int)
+<BR> const Fl_Menu_Item* mvalue() const
+<BR> int Fl_Menu_::value(const Fl_Menu_Item*)</A></H4>
+ The value is the index into <TT>menu()</TT> of the last item chosen by
+the user. It is zero initially. You can set it as an integer, or set
+it with a pointer to a menu item. The set routines return non-zero if
+the new value is different than the old one.
+
+
+</body>
+</html>
diff --git a/documentation/Fl_Menu_Bar.html b/documentation/Fl_Menu_Bar.html
index 840bbbd..5c0b8ca 100644
--- a/documentation/Fl_Menu_Bar.html
+++ b/documentation/Fl_Menu_Bar.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Menu_Bar</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Menu_Bar>class Fl_Menu_Bar</A></H2>
<HR>
diff --git a/documentation/Fl_Menu_Button.html b/documentation/Fl_Menu_Button.html
index 602a504..45e8cd0 100644
--- a/documentation/Fl_Menu_Button.html
+++ b/documentation/Fl_Menu_Button.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Menu_Button</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Menu_Button>class Fl_Menu_Button</A></H2>
<HR>
diff --git a/documentation/Fl_Menu_Item.html b/documentation/Fl_Menu_Item.html
index 87aa515..0465834 100644
--- a/documentation/Fl_Menu_Item.html
+++ b/documentation/Fl_Menu_Item.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Menu_Item</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Menu_Item>struct Fl_Menu_Item</A></H2>
<HR>
diff --git a/documentation/Fl_Menu_Window.html b/documentation/Fl_Menu_Window.html
index 266f458..14eb70f 100644
--- a/documentation/Fl_Menu_Window.html
+++ b/documentation/Fl_Menu_Window.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Menu_Window</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Menu_Window>class Fl_Menu_Window</A></H2>
<HR>
diff --git a/documentation/Fl_Multi_Browser.html b/documentation/Fl_Multi_Browser.html
index 49e691b..071f004 100644
--- a/documentation/Fl_Multi_Browser.html
+++ b/documentation/Fl_Multi_Browser.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Multi_Browser</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Multi_Browser>class Fl_Multi_Browser</A></H2>
<HR>
diff --git a/documentation/Fl_Multiline_Input.html b/documentation/Fl_Multiline_Input.html
index dd8c4ab..3d46be4 100644
--- a/documentation/Fl_Multiline_Input.html
+++ b/documentation/Fl_Multiline_Input.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Multiline_Input</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Multiline_Input>class Fl_Multiline_Input</A></H2>
<HR>
diff --git a/documentation/Fl_Multiline_Output.html b/documentation/Fl_Multiline_Output.html
index 6c7a086..8374108 100644
--- a/documentation/Fl_Multiline_Output.html
+++ b/documentation/Fl_Multiline_Output.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Multiline_Output</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Multiline_Output>class Fl_Multiline_Output</A></H2>
<HR>
diff --git a/documentation/Fl_Output.html b/documentation/Fl_Output.html
index eb169b8..a6af1ce 100644
--- a/documentation/Fl_Output.html
+++ b/documentation/Fl_Output.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Output</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name="Fl_Output">class Fl_Output</A></H2>
<HR>
diff --git a/documentation/Fl_Overlay_Window.html b/documentation/Fl_Overlay_Window.html
index 33c14a8..bf5f9e3 100644
--- a/documentation/Fl_Overlay_Window.html
+++ b/documentation/Fl_Overlay_Window.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Overlay_Window</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Overlay_Window>class Fl_Overlay_Window</A></H2>
<HR>
diff --git a/documentation/Fl_PNG_Image.html b/documentation/Fl_PNG_Image.html
index 1648634..fbd4215 100644
--- a/documentation/Fl_PNG_Image.html
+++ b/documentation/Fl_PNG_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_PNG_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_PNM_Image.html b/documentation/Fl_PNM_Image.html
index 70f058b..1a9cd5b 100644
--- a/documentation/Fl_PNM_Image.html
+++ b/documentation/Fl_PNM_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_PNM_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Pack.html b/documentation/Fl_Pack.html
index ae1fd24..70ebcd9 100644
--- a/documentation/Fl_Pack.html
+++ b/documentation/Fl_Pack.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Pack</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Pack>class Fl_Pack</A></H2>
<HR>
diff --git a/documentation/Fl_Pixmap.html b/documentation/Fl_Pixmap.html
index 8054e5f..b3572f0 100644
--- a/documentation/Fl_Pixmap.html
+++ b/documentation/Fl_Pixmap.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Pixmap</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Positioner.html b/documentation/Fl_Positioner.html
index f70d8ce..ee3c650 100644
--- a/documentation/Fl_Positioner.html
+++ b/documentation/Fl_Positioner.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Positioner</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Positioner>class Fl_Positioner</A></H2>
<HR>
diff --git a/documentation/Fl_Preferences.html b/documentation/Fl_Preferences.html
index fc5c723..5c6e7d6 100644
--- a/documentation/Fl_Preferences.html
+++ b/documentation/Fl_Preferences.html
@@ -1,16 +1,19 @@
<html>
+<HEAD>
+ <TITLE>Fl_Preferences</TITLE>
+</HEAD>
<body>
<!-- NEW PAGE -->
-<h2>class Fl_Preferences</h2>
+<h2><a name="Fl_Preferences">class Fl_Preferences</a></h2>
<hr>
<h3>Class Hierarchy</h3>
<ul><pre>
-<b>Fl_Preferences</b></a></H4>&nbsp;
+<b>Fl_Preferences</b>
</pre></ul>
<h3>Include Files</h3>
@@ -69,9 +72,11 @@ method.
</ul>
-<H4><a name="Fl_Preferences.Fl_Preferences">Fl_Preferences(enum Root root,
-const char *vendor, const char *application)<BR>
-Fl_Preferences(Fl_Preferences &amp;p, const char *groupname)</a></H4>
+<H4><a name="Fl_Preferences.Fl_Preferences">
+Fl_Preferences(enum Root root, const char *vendor, const char *application)<BR>
+Fl_Preferences(const char *path, const char *vendor, const char *application)<BR>
+Fl_Preferences(Fl_Preferences &amp;p, const char *groupname)<BR>
+</a></H4>
<P>The constructor creates a group that manages name/value pairs and
child groups. Groups are ready for reading and writing at any time.
@@ -89,9 +94,15 @@ name of your application. Both <tt>vendor</tt> and
<tt>application</tt> must be valid relative UNIX pathnames and
may contain '/'s to create deeper file structures.
-<P>The <tt>groupname</tt> argument identifies a group of
-entries. It can contain '/'s to get quick access to individual
-elements inside the hierarchy.
+<P>The second format is used to create a preferences file at an
+arbitrary position in the file system. The file name is generated
+as <tt><i>path</i>/<i>application</i>.prefs</tt>. If <i>application</i>
+is 0, <i>path</i> must contain the full file name.
+
+<P>The third format generates a new group of preference entries
+inside the group or file <i>p</i>. The <tt>groupname</tt> argument
+identifies a group of entries. It can contain '/'s to get quick
+access to individual elements inside the hierarchy.
<H4><a name="Fl_Preferences.~Fl_Preferences">~Fl_Preferences()</a></H4>
@@ -173,7 +184,9 @@ group.
<H4><a name="Fl_Preferences.set">int set(const char *entry, int value)<BR>
int set(const char *entry, int value)<BR>
int set(const char *entry, float value)<BR>
+int set(const char *entry, float value, int precision)<BR>
int set(const char *entry, double value)<BR>
+int set(const char *entry, double value, int precision)<BR>
int set(const char *entry, const char *text)<BR>
int set(const char *entry, const void *data, int size)</a></H4>
diff --git a/documentation/Fl_Progress.html b/documentation/Fl_Progress.html
index d20d14a..0c0c8a2 100644
--- a/documentation/Fl_Progress.html
+++ b/documentation/Fl_Progress.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Progress</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_RGB_Image.html b/documentation/Fl_RGB_Image.html
index 0ee2df6..60b5fef 100644
--- a/documentation/Fl_RGB_Image.html
+++ b/documentation/Fl_RGB_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_RGB_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -15,7 +18,7 @@
|
+----<A href="Fl_JPEG_Image.html">Fl_JPEG_Image</A>,
<A href="Fl_PNG_Image.html">Fl_PNG_Image</A>,
- <A href="Fl_PNM_Image.html">Fl_PNM_Image</A>
+ <A href="Fl_PNM_Image.html">Fl_PNM_Image</A>,
<A href="Fl_BMP_Image.html">Fl_BMP_Image</A>
</PRE></UL>
diff --git a/documentation/Fl_Repeat_Button.html b/documentation/Fl_Repeat_Button.html
index fe94d54..3111715 100644
--- a/documentation/Fl_Repeat_Button.html
+++ b/documentation/Fl_Repeat_Button.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Repeat_Button</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Repeat_Button>class Fl_Repeat_Button</A></H2>
<HR>
diff --git a/documentation/Fl_Return_Button.html b/documentation/Fl_Return_Button.html
index 6c11ae9..8328eea 100644
--- a/documentation/Fl_Return_Button.html
+++ b/documentation/Fl_Return_Button.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Return_Button</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Return_Button>class Fl_Return_Button</A></H2>
<HR>
diff --git a/documentation/Fl_Roller.html b/documentation/Fl_Roller.html
index 8c00772..a430342 100644
--- a/documentation/Fl_Roller.html
+++ b/documentation/Fl_Roller.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Roller</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Roller>class Fl_Roller</A></H2>
<HR>
diff --git a/documentation/Fl_Round_Button.html b/documentation/Fl_Round_Button.html
index f462901..bf1eea1 100644
--- a/documentation/Fl_Round_Button.html
+++ b/documentation/Fl_Round_Button.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Round_Button</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Round_Button>class Fl_Round_Button</A></H2>
<HR>
diff --git a/documentation/Fl_Scroll.html b/documentation/Fl_Scroll.html
index 2e8a17f..f7acf44 100644
--- a/documentation/Fl_Scroll.html
+++ b/documentation/Fl_Scroll.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Scroll</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Scroll>class Fl_Scroll</A></H2>
<HR>
@@ -48,6 +52,8 @@ space for the scrollbars, as Fluid won't show these either. </P>
<P><I>You cannot use <TT>Fl_Window</TT> as a child of this since the
clipping is not conveyed to it when drawn, and it will draw over the
scrollbars and neighboring objects.</I></P>
+<P><I><TT>Fl_Scroll</TT> widgets should not be nested. Having an Fl_Scroll
+inside another Fl_Scroll may result in drawing errors when resizing.</I></P>
<H3>Methods</H3>
<UL>
<LI><A href=#Fl_Scroll.Fl_Scroll>Fl_Scroll</A></LI>
diff --git a/documentation/Fl_Scrollbar.html b/documentation/Fl_Scrollbar.html
index b1d9123..e574740 100644
--- a/documentation/Fl_Scrollbar.html
+++ b/documentation/Fl_Scrollbar.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Scrollbar</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Scrollbar>class Fl_Scrollbar</A></H2>
<HR>
diff --git a/documentation/Fl_Secret_Input.html b/documentation/Fl_Secret_Input.html
index a861b60..d703ac1 100644
--- a/documentation/Fl_Secret_Input.html
+++ b/documentation/Fl_Secret_Input.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Secret_Input</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Secret_Input>class Fl_Secret_Input</A></H2>
<HR>
diff --git a/documentation/Fl_Select_Browser.html b/documentation/Fl_Select_Browser.html
index 4e744db..9304635 100644
--- a/documentation/Fl_Select_Browser.html
+++ b/documentation/Fl_Select_Browser.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Select_Browser</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Select_Browser>class Fl_Select_Browser</A></H2>
<HR>
diff --git a/documentation/Fl_Shared_Image.html b/documentation/Fl_Shared_Image.html
index 88d5b30..ea45f7f 100644
--- a/documentation/Fl_Shared_Image.html
+++ b/documentation/Fl_Shared_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Shared_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Single_Window.html b/documentation/Fl_Single_Window.html
index c6bc84b..8329e0a 100644
--- a/documentation/Fl_Single_Window.html
+++ b/documentation/Fl_Single_Window.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Single_Window</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Single_Window>class Fl_Single_Window</A></H2>
<HR>
diff --git a/documentation/Fl_Slider.html b/documentation/Fl_Slider.html
index c6f51d6..88f5910 100644
--- a/documentation/Fl_Slider.html
+++ b/documentation/Fl_Slider.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Slider</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Slider>class Fl_Slider</A></H2>
<HR>
diff --git a/documentation/Fl_Spinner.html b/documentation/Fl_Spinner.html
index ab6383c..3594e3a 100644
--- a/documentation/Fl_Spinner.html
+++ b/documentation/Fl_Spinner.html
@@ -1,4 +1,7 @@
<html>
+<HEAD>
+ <TITLE>Fl_Spinner</TITLE>
+</HEAD>
<body>
<!-- NEW PAGE -->
@@ -13,9 +16,6 @@
<a href=Fl_Group.html#Fl_Group>Fl_Group</a>
|
+----<b>Fl_Spinner</b>
- |
- +----<a href=Fl_Input.html#Fl_Input>Fl_Input</a>
- <a href=Fl_Repeat_Button.html#Fl_Repeat_Button>Fl_Repeat_Button</a>
</pre></ul>
<h3>Include Files</h3>
@@ -44,6 +44,7 @@ input area or use the buttons to change the value.
<li><a href='#Fl_Spinner.textcolor'>textcolor</a></li>
<li><a href='#Fl_Spinner.textfont'>textfont</a></li>
<li><a href='#Fl_Spinner.textsize'>textsize</a></li>
+ <li><a href='#Fl_Spinner.type'>type</a></li>
<li><a href='#Fl_Spinner.value'>value</a></li>
</ul>
@@ -81,7 +82,10 @@ double minimum() const</a></h4>
double step() const</a></h4>
<p>Sets or returns the amount to change the value when the user
-clicks a button.</p>
+clicks a button.
+Before setting <tt>step</tt> to a non-integer value, the spinner
+<a href='#Fl_Spinner.type'><tt>type()</tt></a> should be changed
+to floating point.</p>
<h4><a name='Fl_Spinner.textcolor'>void textcolor(Fl_Color c)<br />
Fl_Color textcolor() const</a></h4>
@@ -98,10 +102,22 @@ uchar textsize() const</a></h4>
<p>Sets or returns the size of the text in the input field.</p>
+<h4><a name='Fl_Spinner.type'>void type(uchar s)<br />
+uchar type() const</a></h4>
+
+<p>Sets or returns the numeric representation in the input field.
+Valid values are <tt>FL_INT_INPUT</tt> and <tt>FL_FLOAT_INPUT</tt>.
+The first form also changes the <tt>format()</tt> template.
+Please note that <tt>type</tt> is not a virtual function.
+Setting a new spinner type via a superclass pointer will not work.</p>
+
<h4><a name="Fl_Spinner.value">void Fl_Spinner::value(double v)<br />
double Fl_Spinner::value() const</a></h4>
-<p>Sets or returns the current value of the widget.</p>
+<p>Sets or returns the current value of the widget.
+Before setting <tt>value</tt> to a non-integer value, the spinner
+<a href='#Fl_Spinner.type'><tt>type()</tt></a> should be changed
+to floating point.</p>
</body>
</html>
diff --git a/documentation/Fl_Tabs.html b/documentation/Fl_Tabs.html
index d9c8dab..f7cb20b 100644
--- a/documentation/Fl_Tabs.html
+++ b/documentation/Fl_Tabs.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Tabs</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -79,7 +82,7 @@ can be automatic (local) variables, but you must declare the
<TT>Fl_Tabs</TT> widget <I>first</I> so that it is destroyed
last.
-<H4><A name="Fl_Tabs.value">Fl_Widget* Fl_Tabs::value() const
+<H4><A name="Fl_Tabs.value">Fl_Widget* Fl_Tabs::value()
<BR>int Fl_Tabs::value(Fl_Widget*)</A></H4>
<P>Gets or sets the currently visible widget/tab.
diff --git a/documentation/Fl_Text_Buffer.html b/documentation/Fl_Text_Buffer.html
index 20edfc5..2b97120 100644
--- a/documentation/Fl_Text_Buffer.html
+++ b/documentation/Fl_Text_Buffer.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Text_Buffer</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -11,9 +14,6 @@
<UL><PRE>
<B>Fl_Text_Buffer</B>
- |
- +----<A href="Fl_Text_Display.html">Fl_Text_Display</A>,
- <A href="Fl_Text_Editor.html">Fl_Text_Editor</A>
</PRE></UL>
<H3>Include Files</H3>
@@ -24,8 +24,11 @@
<H3>Description</H3>
-<P>The <TT>Fl_Text_Buffer</TT> class is used by the <TT>Fl_Text_Display</TT>
-and <TT>Fl_Text_Editor</TT> to manage complex text data and is based upon the
+<P>The <TT>Fl_Text_Buffer</TT> class is used by the
+<tt><A href="Fl_Text_Display.html">Fl_Text_Display</A></tt>
+and
+<tt><A href="Fl_Text_Editor.html">Fl_Text_Editor</A></tt>
+to manage complex text data and is based upon the
excellent NEdit text editor engine - see
<A HREF="http://www.nedit.org/">http://www.nedit.org/</A>.</P>
@@ -139,7 +142,10 @@ typedef void (*Fl_Text_Modify_Cb)(int pos, int nInserted, int nDeleted,
<H4><A NAME="Fl_Text_Buffer.appendfile">int appendfile(const char *file, int buflen = 128*1024);</A></H4>
-<P>Appends the named file to the end of the buffer.
+<P>Appends the named file to the end of the buffer. Returns 0 on
+success, non-zero on error (strerror() contains reason). 1 indicates
+open for read failed (no data loaded). 2 indicates error occurred
+while reading data (data was partially loaded).
<H4><A NAME="Fl_Text_Buffer.call_modify_callbacks">void call_modify_callbacks();</A></H4>
@@ -236,7 +242,10 @@ int* charsInserted, int* charsDeleted);</A></H4>
<H4><A NAME="Fl_Text_Buffer.insertfile">int insertfile(const char *file, int pos, int buflen = 128*1024);</A></H4>
-<P>Inserts a file at the specified position.
+<P>Inserts a file at the specified position. Returns 0 on success,
+non-zero on error (strerror() contains reason). 1 indicates open
+for read failed (no data loaded). 2 indicates error occurred
+while reading data (data was partially loaded).
<H4><A NAME="Fl_Text_Buffer.insert">void insert(int pos, const char* text);</A></H4>
@@ -262,7 +271,10 @@ using the <tt>free()</tt> function.
<H4><A NAME="Fl_Text_Buffer.loadfile">int loadfile(const char *file, int buflen = 128*1024);</A></H4>
-<P>Replaces the current buffer with the contents of a file.
+<P>Replaces the current buffer with the contents of a file. Returns 0
+on success, non-zero on error (strerror() contains reason). 1 indicates
+open for read failed (no data loaded). 2 indicates error occurred
+while reading data (data was partially loaded).
<H4><A NAME="Fl_Text_Buffer.null_substitution_character">char null_substitution_character();</A></H4>
@@ -270,7 +282,10 @@ using the <tt>free()</tt> function.
<H4><A NAME="Fl_Text_Buffer.outputfile">int outputfile(const char *file, int start, int end, int buflen = 128*1024);</A></H4>
-<P>Writes the specified portions of the file to a file.
+<P>Writes the specified portions of the file to a file. Returns 0 on success, non-zero
+on error (strerror() contains reason). 1 indicates open for write failed
+(no data saved). 2 indicates error occurred while writing data
+(data was partially saved).
<H4><A NAME="Fl_Text_Buffer.overlay_rectangular">void overlay_rectangular(int startPos, int rectStart, int rectEnd,
const char* text, int* charsInserted, int* charsDeleted);</A></H4>
@@ -324,7 +339,10 @@ const char* text);</A></H4>
<H4><A NAME="Fl_Text_Buffer.savefile">int savefile(const char *file, int buflen = 128*1024);</A></H4>
-<P>Saves the entire buffer to a file.
+<P>Saves the entire buffer to a file. Returns 0 on success, non-zero
+on error (strerror() contains reason). 1 indicates open for write failed
+(no data saved). 2 indicates error occurred while writing data
+(data was partially saved).
<H4><A NAME="Fl_Text_Buffer.search_backward">int search_backward(int startPos, const char* searchString, int* foundPos,
int matchCase = 0);</A></H4>
@@ -417,8 +435,10 @@ done with the text, free it using the <tt>free()</tt> function.
<H4><A NAME="Fl_Text_Buffer.text">const char* text();<BR>
void text(const char* text);</A></H4>
-<P>Gets or sets the text in the buffer. When you are done with
-the text, free it using the <tt>free()</tt> function.
+<P>Gets or sets the text in the buffer. The first form
+returns a copy of the text in the buffer which you must
+later <tt>free()</tt> when done using it. The second form sets the text in
+the buffer, making an internal copy of the string that is automatically managed.
<H4><A NAME="Fl_Text_Buffer.unhighlight">void unhighlight();</A></H4>
diff --git a/documentation/Fl_Text_Display.html b/documentation/Fl_Text_Display.html
index ad83d7e..afce86e 100644
--- a/documentation/Fl_Text_Display.html
+++ b/documentation/Fl_Text_Display.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Text_Display</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Text_Editor.html b/documentation/Fl_Text_Editor.html
index fce4915..2714fb1 100644
--- a/documentation/Fl_Text_Editor.html
+++ b/documentation/Fl_Text_Editor.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Text_Editor</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Tile.html b/documentation/Fl_Tile.html
index 13e4379..8918cc2 100644
--- a/documentation/Fl_Tile.html
+++ b/documentation/Fl_Tile.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Tile</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -28,6 +31,24 @@ the border between them:
<P ALIGN=CENTER><IMG src="Fl_Tile.gif" ALT="Fl_Tile widget."></P>
+<P>For the tiling to work correctly, the children of an
+<TT>Fl_Tile</TT> must cover the entire area of the widget, but not
+overlap. This means that all children must touch each
+other at their edges, and no gaps can't be left inside the
+<TT>Fl_Tile</TT>.
+
+<P><TT>Fl_Tile</TT> does not normailly draw any graphics of its own.
+The &quot;borders&quot; which can be seen in the snapshot above
+are actually part of the children. Their boxtypes have been set
+to <TT>FL_DOWN_BOX</TT> creating the impression of
+&quot;ridges&quot; where the boxes touch. What you see are
+actually two adjacent <TT>FL_DOWN_BOX</TT>'s drawn next to each
+other. All neighboring widgets share the same edge - the widget's
+thick borders make it appear as though the widgets aren't actually
+touching, but they are. If the edges of adjacent widgets do not
+touch, then it will be impossible to drag the corresponding
+edges.</P>
+
<P><TT>Fl_Tile</TT> allows objects to be resized to zero dimensions.
To prevent this you can use the <TT>resizable()</TT> to limit where
corners can be dragged to.</P>
@@ -38,17 +59,6 @@ their layout. If desired, call <TT>position()</TT> after creating the
children but before displaying the window to set the borders where you
want.</P>
-<P>The &quot;borders&quot; are part of the children -
-<TT>Fl_Tile</TT> does not draw any graphics of its own. In the
-example above, all of the children have <TT>FL_DOWN_BOX</TT>
-types, and the &quot;ridges&quot; you see are actually two
-adjacent <TT>FL_DOWN_BOX</TT>'s drawn next to each other. All
-neighboring widgets share the same edge - the widget's thick
-borders make it appear as though the widgets aren't actually
-touching, but they are. If the edges of adjacent widgets do not
-touch, then it will be impossible to drag the corresponding
-edges.</P>
-
<H3>Methods</H3>
<UL>
<LI><A href=#Fl_Tile.Fl_Tile>Fl_Tile</A></LI>
diff --git a/documentation/Fl_Tiled_Image.html b/documentation/Fl_Tiled_Image.html
index a9a16a5..33e2810 100644
--- a/documentation/Fl_Tiled_Image.html
+++ b/documentation/Fl_Tiled_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Tiled_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Timer.html b/documentation/Fl_Timer.html
index 7250366..4c9ed61 100644
--- a/documentation/Fl_Timer.html
+++ b/documentation/Fl_Timer.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Timer</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Timer>class Fl_Timer</A></H2>
<HR>
diff --git a/documentation/Fl_Toggle_Button.html b/documentation/Fl_Toggle_Button.html
index d9063c4..c719d22 100644
--- a/documentation/Fl_Toggle_Button.html
+++ b/documentation/Fl_Toggle_Button.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Toggle_Button</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Toggle_Button>class Fl_Toggle_Button</A></H2>
<HR>
diff --git a/documentation/Fl_Tooltip.html b/documentation/Fl_Tooltip.html
index f44c2f0..29027e4 100644
--- a/documentation/Fl_Tooltip.html
+++ b/documentation/Fl_Tooltip.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Tooltip</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Valuator.html b/documentation/Fl_Valuator.html
index dc8dcef..2023351 100644
--- a/documentation/Fl_Valuator.html
+++ b/documentation/Fl_Valuator.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Valuator</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Valuator>class Fl_Valuator</A></H2>
<HR>
diff --git a/documentation/Fl_Value_Input.html b/documentation/Fl_Value_Input.html
index eb13af6..3495d56 100644
--- a/documentation/Fl_Value_Input.html
+++ b/documentation/Fl_Value_Input.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Value_Input</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_Value_Output.html b/documentation/Fl_Value_Output.html
index 0f03ce6..7ba59fa 100644
--- a/documentation/Fl_Value_Output.html
+++ b/documentation/Fl_Value_Output.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Value_Output</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Value_Output>class Fl_Value_Output</A></H2>
<HR>
diff --git a/documentation/Fl_Value_Slider.html b/documentation/Fl_Value_Slider.html
index 43039c7..847b576 100644
--- a/documentation/Fl_Value_Slider.html
+++ b/documentation/Fl_Value_Slider.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Value_Slider</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Value_Slider>class Fl_Value_Slider</A></H2>
<HR>
diff --git a/documentation/Fl_Widget.html b/documentation/Fl_Widget.html
index 824ef88..3562ba5 100644
--- a/documentation/Fl_Widget.html
+++ b/documentation/Fl_Widget.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Widget</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Widget>class Fl_Widget</A></H2>
<HR>
@@ -128,16 +132,19 @@ will destroy all of the child widgets and groups in that group.
<H4><A name=Fl_Widget.active>int Fl_Widget::active() const</A><BR>
-<A name=Fl_Widget.active_r>int Fl_Widget::active_r() const</A></BR>
-<A name=Fl_Widget.activate>void Fl_Widget::activate()</A></BR>
+<A name=Fl_Widget.active_r>int Fl_Widget::active_r() const</A><BR>
+<A name=Fl_Widget.activate>void Fl_Widget::activate()</A><BR>
<A name=Fl_Widget.deactivate>void Fl_Widget::deactivate()</A></H4>
<P><TT>Fl_Widget::active()</TT> returns whether the widget is
active. <TT>Fl_Widget::active_r()</TT> returns whether the
-widget and all of its parents are active. An inactive widget
-does not get any events, but it does get redrawn. A widget is
-only active if <TT>active()</TT> is true on it <I>and all of its
-parents</I>.
+widget and all of its parents are active. Inactive widgets
+will be drawn "grayed out", e.g. with less contrast than the
+active widget. Inactive widgets will not receive any keyboard or
+mouse button events. Other events (including <tt>FL_ENTER</tt>,
+<tt>FL_MOVE</tt>, <tt>FL_LEAVE</tt>, <tt>FL_SHORTCUT</tt>, and
+others) will still be sent. A widget is only active if
+<TT>active()</TT> is true on it <I>and all of its parents</I>.
<P>Changing this value will send <TT>FL_ACTIVATE</TT> or <TT>
FL_DEACTIVATE</TT> to the widget if <tt>active_r()</tt> is true.
@@ -224,7 +231,7 @@ the program sets the stored value. </P>
<P>Hides the widget; you must still redraw the parent to see a
change in the window. Normally you want to use the <A
-HREF="#Fl_Widget.hide"><CODE>hide()</CODE> method instead.
+HREF="#Fl_Widget.hide"><CODE>hide()</CODE></A> method instead.
<H4><A NAME="Fl_Widget.clear_visible_focus">void Fl_Window::clear_visible_focus();</A></H4>
@@ -425,6 +432,10 @@ resizing. The default version does <I>not</I> call the
widget to do so because the parent may know a faster way to
update the display, such as scrolling from the old position.
+<P>Some window managers under X11 call <TT>resize</TT> a lot more
+often than needed. Please verify that the position or size of
+a widget did actually change before doing any extensiive calculations.
+
<P><TT>position(x,y)</TT> is a shortcut for <TT>resize(x,y,w(),h())</TT>,
and <TT>size(w,h)</TT> is a shortcut for <TT>resize(x(),y(),w,h)</TT>.</P>
@@ -462,6 +473,11 @@ window when the user hovers the mouse over the widget. The
string is <I>not</I> copied, so make sure any formatted string
is stored in a <TT>static</TT>, global, or allocated buffer.
+<P>If no tooltip is set, the tooltip of the parent is inherited.
+Setting a tooltip for a group and setting no tooltip for a child
+will show the group's tooltip instead. To avoid this behavior,
+you can set the child's tooltip to an empty string
+(<tt>&quot;&quot;</tt>).
<H4><A NAME="Fl_Widget.type">uchar Fl_Widget::type() const;</A></H4>
@@ -533,7 +549,7 @@ int Fl_Widget::visible_focus();</H4>
<P>Modifies keyboard focus navigation.
See <A HREF="#Fl_Widget.set_visible_focus"><code>set_visible_focus()</code></a> and
-<A HREF="#Fl_Widget.cleare_visible_focus"><code>clear_visible_focus()</code></a>.
+<A HREF="#Fl_Widget.clear_visible_focus"><code>clear_visible_focus()</code></a>.
The second form returns non-zero if this widget will participate in keyboard focus navigation.
<H4><A name=Fl_Widget.when>Fl_When Fl_Widget::when() const
diff --git a/documentation/Fl_Window.html b/documentation/Fl_Window.html
index 089503b..4fdf29f 100644
--- a/documentation/Fl_Window.html
+++ b/documentation/Fl_Window.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>Fl_Window</TITLE>
+</HEAD>
+<BODY>
<!-- NEW PAGE -->
<H2><A name=Fl_Window>class Fl_Window</A></H2>
<HR>
@@ -88,14 +92,16 @@ is not <tt>NULL</tt>, the window is created as a subwindow of
the parent window.</p>
<p>The first form of the constructor creates a top-level window
-and tells the window manager to position the window. The second
+and asks the window manager to position the window. The second
form of the constructor either creates a subwindow or a
top-level window at the specified location, subject to window
manager configuration. If you do not specify the position of the
window, the window manager will pick a place to show the window
or allow the user to pick a location. Use <tt>position(x,y)</tt>
-or <tt>hotspot()</tt> before calling <tt>show()</tt> to force a
-position on the screen.</p>
+or <tt>hotspot()</tt> before calling <tt>show()</tt> to request a
+position on the screen. See <TT><A href="#Fl_Window.resize">
+Fl_Window::resize()</A></TT> for some more details on positioning
+windows.</p>
<p>Top-level windows initially have <tt>visible()</tt> set to 0
and <tt>parent()</tt> set to <tt>NULL</tt>. Subwindows initially
@@ -176,7 +182,6 @@ FL_SHOW</TT> events and <TT>visible()</TT> is turned on and off. </P>
<P>There is no way to control what is drawn in the icon except with the
string passed to <TT>Fl_Window::xclass()</TT>. You should not rely on
window managers displaying the icons. </P>
-
<H4><A name=Fl_Window.resize>void Fl_Window::resize(int,int,int,int)</A></H4>
Change the size and position of the window. If <TT>shown()</TT> is
true, these changes are communicated to the window server (which may
@@ -187,6 +192,11 @@ of resizing on the child widgets.
<P>You can also call the <TT>Fl_Widget</TT> methods <TT>size(x,y)</TT>
and <TT>position(w,h)</TT>, which are inline wrappers for this virtual
function. </P>
+<P>A top-level window can not force, but merely suggest a position and
+size to the operating system. The window manager may not be willing or
+able to display a window at the desired position or with the given
+dimensions. It is up to the application developer to verify window
+parameters after the <tt>resize</tt> request.
<H4><A name=Fl_Window.free_position>void Fl_Window::free_position()</A></H4>
Undoes the effect of a previous <TT>resize()</TT> or <TT>show()</TT>
so that the next time <TT>show()</TT> is called the window manager is
@@ -252,7 +262,8 @@ and &quot;xprog.1&quot; turns into &quot;xprog, XProg&quot;.</I> This only works
before</I> calling <TT>show()</TT>.
<P>Under Microsoft Windows this string is used as the name of the
WNDCLASS structure, though it is not clear if this can have any
-visible effect. </P>
+visible effect. The passed pointer is stored unchanged. The string
+is not copied.</P>
<H4><A name=Fl_Window.make_current>void Fl_Window::make_current()</A></H4>
<TT>make_current()</TT> sets things up so that the drawing functions in <A
href=drawing.html#drawing><TT>&lt;FL/fl_draw.H&gt;</TT></A> will go into this
diff --git a/documentation/Fl_Wizard.html b/documentation/Fl_Wizard.html
index d0b4b8b..1a0f456 100644
--- a/documentation/Fl_Wizard.html
+++ b/documentation/Fl_Wizard.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_Wizard</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
@@ -9,7 +12,7 @@
<H3>Class Hierarchy</H3>
<UL><PRE>
-Fl_Group
+<A href=Fl_Group.html#Fl_Group>Fl_Group</A>
|
+----<B>Fl_Wizard</B>
</PRE></UL>
diff --git a/documentation/Fl_XBM_Image.html b/documentation/Fl_XBM_Image.html
index 22180f8..5eb6903 100644
--- a/documentation/Fl_XBM_Image.html
+++ b/documentation/Fl_XBM_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_XBM_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Fl_XPM_Image.html b/documentation/Fl_XPM_Image.html
index e53dfad..d3e9e3e 100644
--- a/documentation/Fl_XPM_Image.html
+++ b/documentation/Fl_XPM_Image.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>Fl_XPM_Image</TITLE>
+</HEAD>
<BODY>
<!-- NEW PAGE -->
diff --git a/documentation/Makefile b/documentation/Makefile
index e1cdb00..ae8ceec 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -1,9 +1,9 @@
#
-# "$Id: Makefile 4756 2006-01-15 18:36:16Z mike $"
+# "$Id: Makefile 5663 2007-02-06 19:35:28Z mike $"
#
# Documentation makefile for the Fast Light Tool Kit (FLTK).
#
-# Copyright 1998-2005 by Bill Spitzak and others.
+# Copyright 1998-2007 by Bill Spitzak and others.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
@@ -54,6 +54,7 @@ HTMLFILES = \
subclassing.html \
opengl.html \
fluid.html \
+ advanced.html \
widgets.html \
Fl.html \
Fl_Adjuster.html \
@@ -68,6 +69,7 @@ HTMLFILES = \
Fl_Check_Button.html \
Fl_Choice.html \
Fl_Clock.html \
+ Fl_Clock_Output.html \
Fl_Color_Chooser.html \
Fl_Counter.html \
Fl_Dial.html \
@@ -129,6 +131,7 @@ HTMLFILES = \
Fl_Tile.html \
Fl_Tiled_Image.html \
Fl_Timer.html \
+ Fl_Toggle_Button.html \
Fl_Tooltip.html \
Fl_Valuator.html \
Fl_Value_Input.html \
@@ -145,7 +148,8 @@ HTMLFILES = \
forms.html \
osissues.html \
migration.html \
- license.html
+ license.html \
+ examples.html
IMAGEFILES = \
adjuster1.gif \
@@ -212,7 +216,7 @@ IMAGEFILES = \
MANPAGES = fltk.$(CAT3EXT) fltk-config.$(CAT1EXT) fluid.$(CAT1EXT) \
- checkers.$(CAT6EXT) sudoku.$(CAT6EXT)
+ blocks.$(CAT6EXT) checkers.$(CAT6EXT) sudoku.$(CAT6EXT)
all: $(MANPAGES)
@@ -228,38 +232,31 @@ depend:
install: $(MANPAGES)
echo "Installing documentation files in $(DESTDIR)$(docdir)..."
- -$(MKDIR) $(DESTDIR)$(docdir)/HTML
- $(CP) $(HTMLFILES) $(IMAGEFILES) index.html $(DESTDIR)$(docdir)/HTML
- $(CHMOD) 644 $(DESTDIR)$(docdir)/HTML/*.*
+ -$(INSTALL_DIR) $(DESTDIR)$(docdir)/HTML
+ for file in $(HTMLFILES) $(IMAGEFILES) index.html; do \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/HTML; \
+ done
echo "Installing man pages in $(DESTDIR)$(mandir)..."
- -$(MKDIR) $(DESTDIR)$(mandir)/cat1
- $(CP) fluid.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1
- $(CHMOD) 644 $(DESTDIR)$(mandir)/cat1/fluid.$(CAT1EXT)
- $(CP) fltk-config.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1
- $(CHMOD) 644 $(DESTDIR)$(mandir)/cat1/fltk-config.$(CAT1EXT)
- -$(MKDIR) $(DESTDIR)$(mandir)/cat3
- $(CP) fltk.$(CAT3EXT) $(DESTDIR)$(mandir)/cat3
- $(CHMOD) 644 $(DESTDIR)$(mandir)/cat3/fltk.$(CAT3EXT)
- -$(MKDIR) $(DESTDIR)$(mandir)/man1
- $(CP) fluid.man $(DESTDIR)$(mandir)/man1/fluid.1
- $(CHMOD) 644 $(DESTDIR)$(mandir)/man1/fluid.1
- $(CP) fltk-config.man $(DESTDIR)$(mandir)/man1/fltk-config.1
- $(CHMOD) 644 $(DESTDIR)$(mandir)/man1/fltk-config.1
- -$(MKDIR) $(DESTDIR)$(mandir)/man3
- $(CP) fltk.man $(DESTDIR)$(mandir)/man3/fltk.3
- $(CHMOD) 644 $(DESTDIR)$(mandir)/man3/fltk.3
+ -$(INSTALL_DIR) $(DESTDIR)$(mandir)/cat1
+ $(INSTALL_MAN) fluid.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1
+ $(INSTALL_MAN) fltk-config.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1
+ -$(INSTALL_DIR) $(DESTDIR)$(mandir)/cat3
+ $(INSTALL_MAN) fltk.$(CAT3EXT) $(DESTDIR)$(mandir)/cat3
+ -$(INSTALL_DIR) $(DESTDIR)$(mandir)/man1
+ $(INSTALL_MAN) fluid.man $(DESTDIR)$(mandir)/man1/fluid.1
+ $(INSTALL_MAN) fltk-config.man $(DESTDIR)$(mandir)/man1/fltk-config.1
+ -$(INSTALL_DIR) $(DESTDIR)$(mandir)/man3
+ $(INSTALL_MAN) fltk.man $(DESTDIR)$(mandir)/man3/fltk.3
install-linux install-osx:
- -$(MKDIR) $(DESTDIR)$(mandir)/cat6
- $(CP) checkers.$(CAT6EXT) $(DESTDIR)$(mandir)/cat6
- $(CHMOD) 644 $(DESTDIR)$(mandir)/cat6/checkers.$(CAT6EXT)
- $(CP) sudoku.$(CAT6EXT) $(DESTDIR)$(mandir)/cat6
- $(CHMOD) 644 $(DESTDIR)$(mandir)/cat6/sudoku.$(CAT6EXT)
- -$(MKDIR) $(DESTDIR)$(mandir)/man6
- $(CP) checkers.man $(DESTDIR)$(mandir)/man6/checkers.6
- $(CHMOD) 644 $(DESTDIR)$(mandir)/man6/checkers.6
- $(CP) sudoku.man $(DESTDIR)$(mandir)/man6/sudoku.6
- $(CHMOD) 644 $(DESTDIR)$(mandir)/man6/sudoku.6
+ -$(INSTALL_DIR) $(DESTDIR)$(mandir)/cat6
+ $(INSTALL_MAN) blocks.$(CAT6EXT) $(DESTDIR)$(mandir)/cat6
+ $(INSTALL_MAN) checkers.$(CAT6EXT) $(DESTDIR)$(mandir)/cat6
+ $(INSTALL_MAN) sudoku.$(CAT6EXT) $(DESTDIR)$(mandir)/cat6
+ -$(INSTALL_DIR) $(DESTDIR)$(mandir)/man6
+ $(INSTALL_MAN) blocks.man $(DESTDIR)$(mandir)/man6/blocks.6
+ $(INSTALL_MAN) checkers.man $(DESTDIR)$(mandir)/man6/checkers.6
+ $(INSTALL_MAN) sudoku.man $(DESTDIR)$(mandir)/man6/sudoku.6
uninstall:
@@ -272,8 +269,10 @@ uninstall:
$(RM) $(DESTDIR)$(mandir)/man3/fltk.3
uninstall-linux uninstall-osx:
+ $(RM) $(DESTDIR)$(mandir)/cat6/blocks.$(CAT6EXT)
$(RM) $(DESTDIR)$(mandir)/cat6/checkers.$(CAT6EXT)
$(RM) $(DESTDIR)$(mandir)/cat6/sudoku.$(CAT6EXT)
+ $(RM) $(DESTDIR)$(mandir)/man6/blocks.6
$(RM) $(DESTDIR)$(mandir)/man6/checkers.6
$(RM) $(DESTDIR)$(mandir)/man6/sudoku.6
@@ -282,7 +281,7 @@ uninstall-linux uninstall-osx:
fltk.d/index.html: $(HTMLFILES) $(IMAGEFILES)
echo "Generating HTML documentation..."
-$(RMDIR) fltk.d
- -$(MKDIR) fltk.d
+ -$(INSTALL_DIR) fltk.d
-$(HTMLDOC) --verbose --batch fltk.book -d fltk.d -t html
fltk.ps: $(HTMLFILES) $(IMAGEFILES)
@@ -296,5 +295,5 @@ fltk.pdf: $(HTMLFILES) $(IMAGEFILES)
-$(HTMLDOC) --verbose --batch fltk.book $(MEDIA) -f fltk.pdf
#
-# End of "$Id: Makefile 4756 2006-01-15 18:36:16Z mike $".
+# End of "$Id: Makefile 5663 2007-02-06 19:35:28Z mike $".
#
diff --git a/documentation/advanced.html b/documentation/advanced.html
new file mode 100644
index 0000000..774a75c
--- /dev/null
+++ b/documentation/advanced.html
@@ -0,0 +1,95 @@
+<HTML>
+<HEAD>
+ <TITLE>10 - Advanced FLTK</TITLE>
+</HEAD>
+<BODY>
+
+<H1 ALIGN="RIGHT"><A NAME="advanced">10 - Advanced FLTK</A></H1>
+
+<P>This chapter explains advanced programming and design topics
+that will help you to get the most out of FLTK.</P>
+
+<H2><A NAME="multithreading">Multithreading</H2>
+
+<P>FLTK supports multithreaded application using a locking mechanism based on "pthreads". We do not provide a threading interface as part of the library. However a simple example how threads can be implemented for all supported platforms can be found in <tt>test/threads.h</tt> and <tt>test/threads.cxx</tt>.
+
+<P>To use the locking mechanism, FLTK must be compiled with <tt>--enable-threads</tt> set during the <tt>configure</tt> process. IDE-based versions of FLTK are automatically compiled with locking enabled if possible.
+
+<P>In <TT>main()</TT>, call <a href="Fl.html#Fl.lock"><TT>Fl::lock()</TT></A> before <A HREF="Fl.html#Fl.run"><TT>Fl::run()</TT></A> or <A HREF="Fl.html#Fl.wait"><TT>Fl::wait()</TT></A> to start the runtime multithreading support for your program. All callbacks and derived functions like <tt>handle()</tt> and <tt>draw()</tt> will now be properly locked:</P>
+
+<pre>
+ int main() {
+ Fl::lock();
+ /* run thread */
+ while (Fl::wait() &gt; 0) {
+ if (Fl::thread_message()) {
+ /* process your data */
+ }
+ }
+ }
+</pre>
+
+<P>You can now start as many threads as you like. From within
+a thread (other than the main thread) FLTK calls must be wrapped
+with calls to <a href="Fl.html#Fl.lock"><tt>Fl::lock()</tt></a>
+and <a href="Fl.html#Fl.unlock"><tt>Fl::unlock()</tt></a>:
+
+<pre>
+ Fl::lock(); // avoid conflicting calls
+ ... // your code here
+ Fl::unlock(); // allow other threads to access FLTK again
+</pre>
+
+<p>You can send messages from child threads to the main thread
+using <a href="Fl.html#Fl.awake"><tt>Fl::awake(msg)</tt></a>:</p>
+
+<pre>
+ void *msg; // "msg" is a pointer to your message
+ Fl::awake(msg); // send "msg" to main thread
+</pre>
+
+<p>You can also tell the main thread to call a function for you
+as soon as possible by using
+<a href="Fl.html#Fl.awake"><tt>Fl::awake(callback, userdata)</tt></a>:</p>
+
+<pre>
+ void do_something(void *userdata) {
+ // running with the main thread
+ }
+
+ // running in another thread
+ void *data; // "data" is a pointer to your user data
+ Fl::awake(do_something, data); // call something in main thread
+</pre>
+
+
+<P>FLTK supports multiple platforms, some of them which do not
+allow any other but the main thread to handle system events and
+open or close windows. The safe thing to do is to adhere to the
+following rules for threads on all operating systems:
+
+<ul>
+
+<li>Don't <tt>show()</tt> or <tt>hide()</tt>anything that contains
+widgets derived from <tt>Fl_Window</tt>, including dialogs, file
+choosers, subwindows or <tt>Fl_GL_Window</tt>s</li>
+
+<li>Don't call <tt>Fl::wait()</tt>, <tt>Fl::flush()</tt> or any
+related methods that will handle system messages</li>
+
+<li>Don't start or cancel timers</li>
+
+<li>Don't change window decorations or titles</li>
+
+<li>The <tt>make_current()</tt> method may or may not work well for regular windows, but should always work for <tt>Fl_GL_Window</tt>s to allow for high speed rendering on graphics cards with multiple pipelines</li>
+
+</ul>
+
+<P>See also:
+<a href="Fl.html#Fl.awake">void awake(void *message)</A>,
+<a href="Fl.html#Fl.lock">void lock()</A>,
+<a href="Fl.html#Fl.thread_message">void *thread_message()</A>,
+<a href="Fl.html#Fl.unlock">void unlock()</A>.
+
+</BODY>
+</HTML>
diff --git a/documentation/basics.html b/documentation/basics.html
index 7958cc1..94d0c20 100644
--- a/documentation/basics.html
+++ b/documentation/basics.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>2 - FLTK Basics</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="basics">2 - FLTK Basics</A></H1>
@@ -108,7 +111,7 @@ the widget. You can learn more about boxtypes in
<A href="common.html#boxtypes">Chapter 3</A>.</P>
<P>You could examine the boxtype in by doing
-<tt>box->box()</tt>. FLTK uses method name overloading to make
+<tt>box-&gt;box()</tt>. FLTK uses method name overloading to make
short names for get/set methods. A "set" method is always of
the form "void&nbsp;name(type)", and a "get" method is always
of the form "type&nbsp;name()&nbsp;const".</P>
diff --git a/documentation/blocks.man b/documentation/blocks.man
new file mode 100644
index 0000000..9203007
--- /dev/null
+++ b/documentation/blocks.man
@@ -0,0 +1,26 @@
+.TH blocks 6 "FLTK Checkers" "15 January 2006"
+.SH NAME
+blocks \- the fltk block attack! game
+.sp
+.SH SYNOPSIS
+\fIBlocks\fR is a FLTK-based block elimination game. Stacks of
+colored blocks move from right to left as you try to eliminate
+groups adjacent blocks by clicking on them. As the game
+progresses, more colors are added (up to a maximum of 7) and the
+blocks move faster and faster.
+.SH GAME PLAY
+Press the N key to start a game. As the blocks move across the
+window, click on groups of two or more blocks to clear them - the
+larger the number of adjacent blocks, the greater the score.
+Clicking on a blocks containing a dark ball will clear all blocks
+of that color, however you will score much fewer points than a
+normal click. The game is over when the blocks reach the left
+side of the window.
+.LP
+Press the spacebar to pause the game.
+.SH SEE ALSO
+fltk(3)
+.br
+FLTK Web Site, http://www.fltk.org/
+.SH AUTHOR
+Michael R Sweet.
diff --git a/documentation/common.html b/documentation/common.html
index ef171b2..6462bc2 100644
--- a/documentation/common.html
+++ b/documentation/common.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>3 - Common Widgets and Attributes</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="common">3 - Common Widgets and Attributes</A></H1>
@@ -318,6 +321,27 @@ void xyz_draw(int x, int y, int w, int h, Fl_Color c) {
}
</PRE></UL>
+<H4><A name="fl_down">Fl_Boxtype fl_down(Fl_Boxtype)</A></H4>
+
+<P><tt>fl_down</tt> returns the "pressed" or "down" version of a box.
+If no "down" version of a given box exists, the behavior of this function
+is undefined and some random box or frame is returned.
+See also: <A HREF="drawing.html#fl_frame">fl_frame drawing</A>.
+
+<H4><A name="fl_frame">Fl_Boxtype fl_frame(Fl_Boxtype)</A></H4>
+
+<P><tt>fl_frame</tt> returns the unfilled, frame-only version of a box.
+If no frame version of a given box exists, the behavior of this function
+is undefined and some random box or frame is returned.
+See also: <A HREF="drawing.html#fl_frame">fl_frame drawing</A>.
+
+<H4><A name="fl_box">Fl_Boxtype fl_box(Fl_Boxtype)</A></H4>
+
+<P><tt>fl_box</tt> returns the filled version of a frame.
+If no filled version of a given frame exists, the behavior of this function
+is undefined and some random box or frame is returned.
+See also: <TT><A HREF="#fl_frame">fl_frame</A></TT>.
+
<H4>Adding Your Box Type</H4>
<P>The <TT>Fl::set_boxtype()</TT> method adds or replaces the
@@ -333,6 +357,16 @@ Fl::set_boxtype(XYZ_BOX, xyz_draw, 1, 1, 2, 2);
offsets for the x, y, width, and height values that should be
subtracted when drawing the label inside the box.</P>
+<P>A complete box design contains four box types in this order:
+a filled, neutral box (<TT>UP_BOX</TT>), a filled, depressed box
+(<TT>DOWN_BOX</TT>), and the same as outlines only (<TT>UP_FRAME</TT>
+and <TT>DOWN_FRAME</TT>). The function
+<TT><A HREF="#fl_down">fl_down(Fl_Boxtype)</A></TT>
+expects the neutral design on a boxtype with a numerical
+value evenly divideable by two.
+<TT><A HREF="#fl_frame">fl_frame(Fl_Boxtype)</A></TT>
+expects the <TT>UP_BOX</TT> design at a value divideable by four.</P>
+
<H2><A NAME="labels">Labels and Label Types</A></H2>
<P>The <TT>label()</TT>, <TT>align()</TT>, <TT>labelfont()</TT>,
@@ -372,7 +406,7 @@ sign. Figure 3-4 shows the available symbols.</P>
</UL>
<P>Thus, to show a very large arrow pointing downward you would use the
-label string "@+92->".
+label string "@+92-&gt;".
<H3>align()</H3>
@@ -507,6 +541,33 @@ method to select your label type.</P>
<P>The <TT>Fl::set_labeltype</TT> method can also be used to overload
an existing label type such as <TT>FL_NORMAL_LABEL</TT>.</P>
+<H4><A NAME="add_symbol">Making your own symbols</A></H4>
+
+<P>It is also possible to define your own drawings and add
+them to the symbol list, so they can be rendered as part of
+any label.</P>
+
+<P>To create a new symbol, you implement a drawing function
+<tt>void drawit(Fl_Color c)</tt> which typically uses the
+<a href="drawing.html#complex">complex drawing functions</a>
+to generate a vector shape inside a two-by-two units sized box
+around the origin. This function is then linked into the symbols
+table using <tt>fl_add_symbol</tt>:</P>
+
+<UL><PRE>
+<A NAME="fl_add_symbol">int fl_add_symbol(const char *name, void (*drawit)(Fl_Color), int scalable)</A>
+</PRE></UL>
+
+<P><i>name</i> is the name of the symbol without the "@"; <i>scalable</I>
+must be set to 1 if the symbol is generated using scalable vector drawing
+functions.</P>
+
+<UL><PRE>
+<A NAME="fl_draw_symbol">int fl_draw_symbol(const char *name,int x,int y,int w,int h,Fl_Color col)</A>
+</PRE></UL>
+
+<P>This function draw a named symbol fitting the given rectangle.
+
<H2>Callbacks</H2>
<P>Callbacks are functions that are called when the value of a
@@ -572,15 +633,15 @@ button-&gt;when(FL_WHEN_CHANGED | FL_WHEN_NOT_CHANGED);
pointer to the instance of your class.</P>
<PRE>
-class foo {
- void my_callback(Widget *);
- static void my_static_callback(Widget *w, foo *f) { f->my_callback(w); }
+class Foo {
+ void my_callback(Fl_Widget *w);
+ static void my_static_callback(Fl_Widget *w, void *f) { ((Foo *)f)-&gt;my_callback(w); }
...
}
...
-w->callback(my_static_callback, this);
+w-&gt;callback(my_static_callback, (void *)this);
</PRE>
</TD>
</TR>
diff --git a/documentation/drawing.html b/documentation/drawing.html
index a867dc7..f003e5a 100644
--- a/documentation/drawing.html
+++ b/documentation/drawing.html
@@ -1,7 +1,10 @@
<HTML>
+<HEAD>
+ <TITLE>5 - Drawing Things in FLTK</TITLE>
+</HEAD>
<BODY>
-<H1><A NAME="drawing">5 - Drawing Things in FLTK</A></H1>
+<H1 ALIGN="RIGHT"><A NAME="drawing">5 - Drawing Things in FLTK</A></H1>
<P>This chapter covers the drawing functions that are provided with FLTK.
@@ -64,6 +67,8 @@ following types of drawing functions:
<LI><A href="#overlay">Overlay</A></LI>
+ <LI><A href="#offscreen">Offscreen Drawing</A></LI>
+
</UL>
<H3><A name="boxdraw">Boxes</A></H3>
@@ -92,6 +97,8 @@ not a multiple of 4 characters in length are undefined.
<P>The only difference between this function and
<CODE>fl_frame2()</CODE> is the order of the line segments.
+<P>See also: <A HREF="common.html#fl_frame">fl_frame boxtype</A>.
+
<H4><A NAME="fl_frame2">void fl_frame2(const char *s, int x, int y, int w, int h);</A></H4>
<P>The <CODE>fl_frame2()</CODE> function draws a series of line
@@ -122,11 +129,11 @@ void fl_push_clip(int x, int y, int w, int h)</H4>
region onto the stack. The <CODE>fl_clip()</CODE> name is deprecated and
will be removed from future releases.
-<H4>void fl_push_no_clip()</H4>
+<H4><A NAME=fl_push_no_clip>void fl_push_no_clip()</A></H4>
<P>Pushes an empty clip region on the stack so nothing will be clipped.
-<H4>void fl_pop_clip()</H4>
+<H4><A NAME=fl_pop_clip>void fl_pop_clip()</A></H4>
<P>Restore the previous clip region.
@@ -143,7 +150,7 @@ will be removed from future releases.
</TR>
</TABLE></CENTER>
-<H4>int fl_not_clipped(int x, int y, int w, int h)</H4>
+<H4><A NAME=fl_not_clipped>int fl_not_clipped(int x, int y, int w, int h)</A></H4>
<P>Returns non-zero if any of the rectangle intersects the current clip
region. If this returns 0 you don't have to draw the object.
@@ -159,8 +166,8 @@ region. If this returns 0 you don't have to draw the object.
</TR>
</TABLE></CENTER>
-<H4>int fl_clip_box(int x, int y, int w, int h, int &amp;X, int &amp;Y, int &amp;W,
-int &amp;H)</H4>
+<H4><A NAME=fl_clip_box>int fl_clip_box(int x, int y, int w, int h, int &amp;X, int &amp;Y, int &amp;W,
+int &amp;H)</A></H4>
<P>Intersect the rectangle <TT>x,y,w,h</TT> with the current
clip region and returns the bounding box of the result in
@@ -169,6 +176,13 @@ different than the original. This can be used to limit the
necessary drawing to a rectangle. <TT>W</TT> and <TT>H</TT> are
set to zero if the rectangle is completely outside the region.
+<H4><A NAME=fl_clip_region>void fl_clip_region(Fl_Region r)
+<BR>Fl_Region fl_clip_region()</A></H4>
+
+<P>Replace the top of the clip stack with a clipping region of any shape.
+Fl_Region is an operating system specific type. The second form returns
+the current clipping region.
+
<H3><A name="colors">Colors</A></H3>
<P>FLTK manages colors as 32-bit unsigned integers. Values from
@@ -215,7 +229,7 @@ widths. Full functionality is not available under Windows 95, 98,
and Me due to the reduced drawing functionality these operating
systems provide.
-<h4>void fl_line_style(int style, int width=0, char* dashes=0)</h4>
+<h4><A NAME="fl_line_style">void fl_line_style(int style, int width=0, char* dashes=0)</A></h4>
<P>Set how to draw lines (the "pen"). If you change this it is your
responsibility to set it back to the default with
@@ -300,11 +314,12 @@ href="#complex">transformation matrix</A>, so you should only
call these while the matrix is set to the identity matrix (the
default).
-<H4>void fl_point(int x, int y)</H4>
+<H4><A NAME=fl_point>void fl_point(int x, int y)</A></H4>
<P>Draw a single pixel at the given coordinates.
-<H4>void fl_rectf(int x, int y, int w, int h)</H4>
+<H4><A NAME=fl_rectf>void fl_rectf(int x, int y, int w, int h)
+<BR>void fl_rectf(int x, int y, int w, int h)</A></H4>
<P>Color a rectangle that exactly fills the given bounding box.
@@ -316,43 +331,44 @@ color this is done by drawing a solid-colored block using <A
href="#fl_draw_image"><TT>fl_draw_image()</TT></A> so that
the correct color shade is produced.
-<H4>void fl_rect(int x, int y, int w, int h)</H4>
+<H4><A NAME=fl_rect>void fl_rect(int x, int y, int w, int h)
+<BR>void fl_rect(int x, int y, int w, int h, Fl_Color c)</A></H4>
<P>Draw a 1-pixel border <I>inside</I> this bounding box.
-<H4>void fl_line(int x, int y, int x1, int y1)
-<BR>void fl_line(int x, int y, int x1, int y1, int x2, int y2)</H4>
+<H4><A NAME=fl_line>void fl_line(int x, int y, int x1, int y1)
+<BR>void fl_line(int x, int y, int x1, int y1, int x2, int y2)</A></H4>
<P>Draw one or two lines between the given points.
-<H4>void fl_loop(int x, int y, int x1, int y1, int x2, int y2)
+<H4><A NAME=fl_loop>void fl_loop(int x, int y, int x1, int y1, int x2, int y2)
<BR>void fl_loop(int x, int y, int x1, int y1, int x2, int y2, int x3,
-int y3)</H4>
+int y3)</A></H4>
<P>Outline a 3 or 4-sided polygon with lines.
-<H4>void fl_polygon(int x, int y, int x1, int y1, int x2, int y2)
+<H4><A NAME=fl_polygon>void fl_polygon(int x, int y, int x1, int y1, int x2, int y2)
<BR>void fl_polygon(int x, int y, int x1, int y1, int x2, int y2, int
-x3, int y3)</H4>
+x3, int y3)</A></H4>
<P>Fill a 3 or 4-sided polygon. The polygon must be convex.
-<H4>void fl_xyline(int x, int y, int x1)
+<H4><A NAME=fl_xyline>void fl_xyline(int x, int y, int x1)
<BR>void fl_xyline(int x, int y, int x1, int y2)
-<BR>void fl_xyline(int x, int y, int x1, int y2, int x3)</H4>
+<BR>void fl_xyline(int x, int y, int x1, int y2, int x3)</A></H4>
<P>Draw horizontal and vertical lines. A horizontal line is
drawn first, then a vertical, then a horizontal.
-<H4>void fl_yxline(int x, int y, int y1)
+<H4><A NAME=fl_yxline>void fl_yxline(int x, int y, int y1)
<BR>void fl_yxline(int x, int y, int y1, int x2)
-<BR>void fl_yxline(int x, int y, int y1, int x2, int y3)</H4>
+<BR>void fl_yxline(int x, int y, int y1, int x2, int y3)</A></H4>
<P>Draw vertical and horizontal lines. A vertical line is drawn
first, then a horizontal, then a vertical.
-<H4>void fl_arc(int x, int y, int w, int h, double a1, double a2)
-<BR>void fl_pie(int x, int y, int w, int h, double a1, double a2)</H4>
+<H4><A NAME=fl_pie>void fl_arc(int x, int y, int w, int h, double a1, double a2)
+<BR>void fl_pie(int x, int y, int w, int h, double a1, double a2)</A></H4>
<P>Draw ellipse sections using integer coordinates. These
functions match the rather limited circle drawing code provided
@@ -376,6 +392,14 @@ function described later in this chapter.</P>
extend outside the line drawn by <TT>fl_arc</TT>; to avoid this
use <TT>w - 1</TT> and <TT>h - 1</TT>.</P>
+<h4><a name=fl_scroll>void fl_scroll(int X, int Y, int W, int H, int dx, int dy,
+void (*draw_area)(void*, int,int,int,int), void* data)</a></h4>
+
+<P>Scroll a rectangle and draw the newly exposed portions. The contents
+of the rectangular area is first shifted by <tt>dx</tt> and
+<tt>dy</tt> pixels. The callback is then called for every newly
+exposed rectangular area,
+
<H3><A name="complex">Drawing Complex Shapes</A></H3>
<P>The complex drawing functions let you draw arbitrary shapes
@@ -389,40 +413,56 @@ severely limits the accuracy of these functions for complex
graphics, so use OpenGL when greater accuracy and/or performance
is required.
-<H4>void fl_push_matrix()
-<BR>void fl_pop_matrix()</H4>
+<H4><A NAME=fl_push_matrix>void fl_push_matrix()
+<BR>void fl_pop_matrix()</A></H4>
<P>Save and restore the current transformation. The maximum
depth of the stack is 4.
-<H4>void fl_scale(float x, float y)
+<H4><A NAME=fl_scale>void fl_scale(float x, float y)
<BR>void fl_scale(float x)
<BR>void fl_translate(float x, float y)
<BR>void fl_rotate(float d)
<BR>void fl_mult_matrix(float a, float b, float c, float d, float
-x, float y)</H4>
+x, float y)</A></H4>
<P>Concatenate another transformation onto the current one. The rotation
angle is in degrees (not radians) and is counter-clockwise.
-<H4>void fl_begin_line()
-<BR>void fl_end_line()</H4>
+<H4><A NAME=fl_transform>double fl_transform_x(double x, double y)
+<BR>double fl_transform_y(double x, double y)
+<BR>double fl_transform_dx(double x, double y)
+<BR>double fl_transform_dy(double x, double y)
+<BR>void fl_transformed_vertex(double xf, double yf)</A></H4>
+
+<P>Transform a coordinate or a distance trough the current transformation matrix.
+After transforming a coordinate pair, it can be added to the vertex
+list without any forther translations using <tt>fl_transformed_vertex</tt>.
+
+<H4><A NAME=fl_begin_points>void fl_begin_points()
+<BR>void fl_end_points()</A></H4>
+
+<P>Start and end drawing a list of points. Points are added to
+the list with <tt>fl_vertex</tt>.
+
+<H4><A NAME=fl_begin_line>void fl_begin_line()
+<BR>void fl_end_line()</A></H4>
<P>Start and end drawing lines.
-<H4>void fl_begin_loop()
-<BR> void fl_end_loop()</H4>
+<H4><A NAME=fl_begin_loop>void fl_begin_loop()
+<BR> void fl_end_loop()</A></H4>
<P>Start and end drawing a closed sequence of lines.
-<H4>void fl_begin_polygon()
-<BR>void fl_end_polygon()</H4>
+<H4><A NAME= fl_begin_polygon>void fl_begin_polygon()
+<BR>void fl_end_polygon()</A></H4>
<P>Start and end drawing a convex filled polygon.
-<H4>void fl_begin_complex_polygon()
+<H4><A NAME=fl_begin_complex_polygon>void fl_begin_complex_polygon()
<BR>void fl_gap()
-<BR>void fl_end_complex_polygon()</H4>
+<BR>void fl_end_complex_polygon()</A></H4>
<P>Start and end drawing a complex filled polygon. This polygon
may be concave, may have holes in it, or may be several
@@ -451,11 +491,11 @@ fl_begin_complex_polygon()</TT> and
<TT>fl_begin_loop()</TT> and replace each <TT>fl_gap()</TT> with
<TT>fl_end_loop();fl_begin_loop()</TT>.</P>
-<H4>void fl_vertex(float x, float y)</H4>
+<H4><A NAME=fl_vertex>void fl_vertex(float x, float y)</A></H4>
Add a single vertex to the current path.
-<H4>void fl_curve(float x, float y, float x1, float y1, float x2, float
-y2, float x3, float y3)</H4>
+<H4><A NAME=fl_curve>void fl_curve(float x, float y, float x1, float y1, float x2, float
+y2, float x3, float y3)</A></H4>
<P>Add a series of points on a Bezier curve to the path. The curve ends
(and two of the points) are at <TT>x,y</TT> and <TT>x3,y3</TT>.
@@ -471,7 +511,7 @@ in degrees counter-clockwise from 3 o'clock. If <TT>end</TT> is
less than <TT>start</TT> then it draws the arc in a clockwise
direction.
-<H4>void fl_circle(float x, float y, float r)</H4>
+<H4><A NAME=fl_circle>void fl_circle(float x, float y, float r)</A></H4>
<P><TT>fl_circle()</TT> is equivalent to <TT>fl_arc(...,0,360)</TT> but
may be faster. It must be the <I>only</I> thing in the path: if you
@@ -494,8 +534,8 @@ want a circle as part of a complex polygon you must use <TT>fl_arc()</TT>.
It is undefined whether this location or the characters are
modified by the current transformation.
-<H4>void fl_draw(const char *, int x, int y)
-<BR>void fl_draw(const char *, int n, int x, int y)</H4>
+<H4><A NAME=fl_draw>void fl_draw(const char *, int x, int y)
+<BR>void fl_draw(const char *, int n, int x, int y)</A></H4>
<P>Draw a nul-terminated string or an array of <TT>n</TT> characters
starting at the given location. Text is aligned to the left and to
@@ -527,32 +567,33 @@ to look for symbol names starting with the "@" character.
<P>The text length is limited to 1024 caracters per line.
-<H4>void fl_measure(const char *, int &amp;w, int &amp;h, int draw_symbols = 1)</H4>
+<H4><A NAME=fl_measure>void fl_measure(const char *, int &amp;w,
+int &amp;h, int draw_symbols = 1)</A></H4>
<P>Measure how wide and tall the string will be when printed by
the <TT>fl_draw(...align)</TT> function. If the incoming
<TT>w</TT> is non-zero it will wrap to that width.
-<H4>int fl_height()</H4>
+<H4><A NAME=fl_height>int fl_height()</A></H4>
<P>Recommended minimum line spacing for the current font. You
can also just use the value of <TT>size</TT> passed to <A
href=#fl_font><TT>fl_font()</TT></A>.
-<H4>int fl_descent()</H4>
+<H4><A NAME=fl_descent>int fl_descent()</A></H4>
<P>Recommended distance above the bottom of a
<TT>fl_height()</TT> tall box to draw the text at so it looks
centered vertically in that box.
-<H4>float fl_width(const char*)
+<H4><A NAME=fl_width>float fl_width(const char*)
<BR>float fl_width(const char*, int n)
-<BR>float fl_width(uchar)</H4>
+<BR>float fl_width(uchar)</A></H4>
<P>Return the pixel width of a nul-terminated string, a sequence of <TT>n</TT>
characters, or a single character in the current font.
-<H4>const char *fl_shortcut_label(ulong)</H4>
+<H4><A NAME=fl_shortcut_label>const char *fl_shortcut_label(ulong)</A></H4>
<P>Unparse a shortcut value as used by <A
href="Fl_Button.html#Fl_Button.shortcut"><TT>Fl_Button</TT></A>
@@ -591,13 +632,41 @@ the display.
<TT>pixels</TT> and not "points". Lines should be spaced
<TT>size</TT> pixels apart or more.</P>
-<H4>int fl_font()
-<BR>int fl_size()</H4>
+<H4><A NAME=fl_size>int fl_font()
+<BR>int fl_size()</A></H4>
<P>Returns the face and size set by the most recent call to
<TT>fl_font(a,b)</TT>. This can be used to save/restore the
font.
+<H3><A NAME=character_encoding>Character Encoding</A></H3>
+
+<P>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.
+
+<P>FLTK provides the functions <tt>fl_latin1_to_local</tt>,
+<tt>fl_local_to_latin1</tt>, <tt>fl_mac_roman_to_local</tt>, and
+<tt>fl_local_to_mac_roman</tt> 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.
+
+<P>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&cedil;gen</tt> with a deformed umlaut u.
+<PRE>
+ btn = new Fl_Button(10, 10, 300, 25);
+ btn-&gt;copy_label(fl_latin1_to_local("Fahrvergn&uuml;gen"));
+</PRE>
+
+<P>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, yoou might consider upgrading to FLTK 2 which supports
+UTF-8 encoding.
+
<H3><A name="overlay">Drawing Overlays</A></H3>
<P>These functions allow you to draw interactive selection rectangles
@@ -720,7 +789,7 @@ the first one may be greater than zero.</P>
<P>If <TT>D</TT> is 4 or more, you must fill in the unused bytes
with zero.</P>
-<H4>int fl_draw_pixmap(char **data, int X, int Y, Fl_Color = FL_GRAY)</H4>
+<H4><A NAME=fl_draw_pixmap>int fl_draw_pixmap(char **data, int X, int Y, Fl_Color = FL_GRAY)</A></H4>
<P>Draws XPM image data, with the top-left corner at the given position.
The image is dithered on 8-bit displays so you won't lose color space
@@ -739,7 +808,7 @@ fl_draw_pixmap(foo, X, Y);
<TT>Fl_Color</TT> argument. To draw with true transparency you must
use the <A HREF="Fl_Pixmap.html"><TT>Fl_Pixmap</TT></A> class.
-<H4>int fl_measure_pixmap(char **data, int &amp;w, int &amp;h)</H4>
+<H4><A NAME=fl_measure_pixmap>int fl_measure_pixmap(char **data, int &amp;w, int &amp;h)</A></H4>
<P>An XPM image contains the dimensions in its data. This
function finds and returns the width and height. The return
@@ -799,13 +868,19 @@ color.
The <TT>draw()</TT> method draws the image using the colors in the
file, and masks off any transparent colors automatically.
-<P>The <TT>Fl_RGB_Image</TT> class encapsulates a full-color (or
-grayscale) image with 1 to 4 color components. Images with an
-even number of components are assumed to contain an alpha
-channel that is used for transparency. The transparency provided
-by the <TT>draw()</TT> method is either a 24-bit blend against
-the existing window contents or a "screen door" transparency
-mask, depending on the platform and screen color depth.
+<P>The <TT>Fl_RGB_Image</TT> class encapsulates a full-color
+(or grayscale) image with 1 to 4 color components. Images with
+an even number of components are assumed to contain an
+alpha channel that is used for transparency. The transparency
+provided by the <TT>draw()</TT> method is either a 24-bit
+blend against the existing window contents or a "screen door"
+transparency mask, depending on the platform and screen color depth.
+
+<H4><A NAME=fl_can_do_alpha_blending>char fl_can_do_alpha_blending()</A></H4>
+
+<P><TT>fl_can_do_alpha_blending()</TT> will return 1, if your
+platform supports true alpha blending for RGBA images, or 0,
+if FLTK will use screen door transparency.
<P>FLTK also provides several image classes based on the three
standard image types for common file formats:
@@ -858,7 +933,45 @@ image, and this area is left unchanged.
<H4>void draw(int x, int y)</H4>
<P>Draws the image with the upper-left corner at <TT>x,y</TT>.
-This is the same as doing <TT>draw(x,y,img->w(),img->h(),0,0)</TT>.
+This is the same as doing <TT>draw(x,y,img-&gt;w(),img-&gt;h(),0,0)</TT>.
+
+<h3><A NAME=offscreen>Offscreen Drawing</A></h3>
+
+Sometimes it can be very useful to generate a complex drawing
+in memory first and copy it to the screen at a later point in
+time. This technique can significantly reduce the amount of
+repeated drawing. <tt>Fl_Double_Window</tt> uses offscreen rendering
+to avoid flickering on systems that don't support
+double-buffering natively.
+
+<H4><A NAME=fl_create_offscreen>Fl_Offscreen fl_create_offscreen(int w, int h)</A></H4>
+
+<P>Create an RGB offscreen buffer with <tt>w*h</tt> pixels.
+
+<H4><A NAME=fl_create_offscreen_with_alpha>Fl_Offscreen fl_create_offscreen_with_alpha(int w, int h)</A></H4>
+
+<P>Create an RGBA offscreen buffer. Alpha blending is not available
+on all platforms.
+
+<H4><A NAME=fl_delete_offscreen>void fl_delete_offscreen(Fl_Offscreen)</A></H4>
+
+<P>Delete a previously created offscreen buffer. All drawings are lost.
+
+<H4><A NAME=fl_begin_offscreen>void fl_begin_offscreen(Fl_Offscreen)</A></H4>
+
+<P>Send all subsequent drawing commands to this offscreen buffer.
+FLTK can draw into a buffer at any time. There is no need to wait for
+an <tt>Fl_Widget::draw()</tt> to occur.
+
+<H4><A NAME=fl_end_offscreen>void fl_end_offscreen()</A></H4>
+
+<P>Quit sending drawing commands to this offscreen buffer.
+
+<H4><A NAME=fl_copy_offscreen>void fl_copy_offscreen(int x, int y,
+int w, int h, Fl_Offscreen osrc, int srcx, int srcy)</A></H4>
+
+<P>Copy a rectangular area of the size <tt>w*h</tt> from <tt>srcx, srcy</tt> in the offscreen
+buffer into the current buffer at <tt>x, y</tt>.
</BODY>
</HTML>
diff --git a/documentation/editor.html b/documentation/editor.html
index 963b592..c2dc39a 100644
--- a/documentation/editor.html
+++ b/documentation/editor.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>4 - Designing a Simple Text Editor</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="editor">4 - Designing a Simple Text Editor</A></H1>
@@ -120,22 +123,22 @@ m-&gt;copy(menuitems);
widget to edit the text:
<UL><PRE>
-w->editor = new Fl_Text_Editor(0, 30, 640, 370);
-w->editor->buffer(textbuf);
+w-&gt;editor = new Fl_Text_Editor(0, 30, 640, 370);
+w-&gt;editor-&gt;buffer(textbuf);
</PRE></UL>
<P>So that we can keep track of changes to the file, we also want to add
a &quot;modify&quot; callback:</P>
<UL><PRE>
-textbuf->add_modify_callback(changed_cb, w);
-textbuf->call_modify_callbacks();
+textbuf-&gt;add_modify_callback(changed_cb, w);
+textbuf-&gt;call_modify_callbacks();
</PRE></UL>
<P>Finally, we want to use a mono-spaced font like <TT>FL_COURIER</TT>:
<UL><PRE>
-w->editor->textfont(FL_COURIER);
+w-&gt;editor-&gt;textfont(FL_COURIER);
</PRE></UL>
<H2>The Replace Dialog</H2>
@@ -178,7 +181,7 @@ void changed_cb(int, int nInserted, int nDeleted,int, const char*, void* v) {
if ((nInserted || nDeleted) &amp;&amp; !loading) changed = 1;
EditorWindow *w = (EditorWindow *)v;
set_title(w);
- if (loading) w->editor->show_insert_position();
+ if (loading) w-&gt;editor-&gt;show_insert_position();
}
</PRE></UL>
@@ -196,7 +199,7 @@ to copy the currently selected text to the clipboard:</P>
<UL><PRE>
void copy_cb(Fl_Widget*, void* v) {
EditorWindow* e = (EditorWindow*)v;
- Fl_Text_Editor::kf_copy(0, e->editor);
+ Fl_Text_Editor::kf_copy(0, e-&gt;editor);
}
</PRE></UL>
@@ -209,7 +212,7 @@ to cut the currently selected text to the clipboard:</P>
<UL><PRE>
void cut_cb(Fl_Widget*, void* v) {
EditorWindow* e = (EditorWindow*)v;
- Fl_Text_Editor::kf_cut(0, e->editor);
+ Fl_Text_Editor::kf_cut(0, e-&gt;editor);
}
</PRE></UL>
@@ -221,7 +224,7 @@ to delete the currently selected text to the clipboard:</P>
<UL><PRE>
void delete_cb(Fl_Widget*, void* v) {
- textbuf->remove_selection();
+ textbuf-&gt;remove_selection();
}
</PRE></UL>
@@ -237,10 +240,10 @@ void find_cb(Fl_Widget* w, void* v) {
EditorWindow* e = (EditorWindow*)v;
const char *val;
- val = fl_input("Search String:", e->search);
+ val = fl_input("Search String:", e-&gt;search);
if (val != NULL) {
// User entered a string - go find it!
- strcpy(e->search, val);
+ strcpy(e-&gt;search, val);
find2_cb(w, v);
}
</PRE></UL>
@@ -254,21 +257,21 @@ search dialog:
<UL><PRE>
void find2_cb(Fl_Widget* w, void* v) {
EditorWindow* e = (EditorWindow*)v;
- if (e->search[0] == '\0') {
+ if (e-&gt;search[0] == '\0') {
// Search string is blank; get a new one...
find_cb(w, v);
return;
}
- int pos = e->editor->insert_position();
- int found = textbuf->search_forward(pos, e->search, &amp;pos);
+ int pos = e-&gt;editor-&gt;insert_position();
+ int found = textbuf-&gt;search_forward(pos, e-&gt;search, &amp;pos);
if (found) {
// Found a match; select and update the position...
- textbuf->select(pos, pos+strlen(e->search));
- e->editor->insert_position(pos+strlen(e->search));
- e->editor->show_insert_position();
+ textbuf-&gt;select(pos, pos+strlen(e-&gt;search));
+ e-&gt;editor-&gt;insert_position(pos+strlen(e-&gt;search));
+ e-&gt;editor-&gt;show_insert_position();
}
- else fl_alert("No occurrences of \'%s\' found!", e->search);
+ else fl_alert("No occurrences of \'%s\' found!", e-&gt;search);
}
</PRE></UL>
@@ -286,10 +289,10 @@ void new_cb(Fl_Widget*, void*) {
if (!check_save()) return;
filename[0] = '\0';
- textbuf->select(0, textbuf->length());
- textbuf->remove_selection();
+ textbuf-&gt;select(0, textbuf-&gt;length());
+ textbuf-&gt;remove_selection();
changed = 0;
- textbuf->call_modify_callbacks();
+ textbuf-&gt;call_modify_callbacks();
}
</PRE></UL>
@@ -320,7 +323,7 @@ to paste the clipboard at the current position:</P>
<UL><PRE>
void paste_cb(Fl_Widget*, void* v) {
EditorWindow* e = (EditorWindow*)v;
- Fl_Text_Editor::kf_paste(0, e->editor);
+ Fl_Text_Editor::kf_paste(0, e-&gt;editor);
}
</PRE></UL>
@@ -566,7 +569,7 @@ void set_title(Fl_Window* w) {
if (changed) strcat(title, " (modified)");
- w->label(title);
+ w-&gt;label(title);
}
</PRE></UL>
@@ -584,9 +587,9 @@ int main(int argc, char **argv) {
Fl_Window* window = new_view();
- window->show(1, argv);
+ window-&gt;show(1, argv);
- if (argc > 1) load_file(argv[1], -1);
+ if (argc &gt; 1) load_file(argv[1], -1);
return Fl::run();
}
@@ -639,7 +642,7 @@ size of the text that is drawn.
<P>Styles are defined using the
<CODE>Fl_Text_Display::Style_Table_Entry</CODE> structure
-defined in <CODE>&lt;FL/Fl_Text_Display.H></CODE>:
+defined in <CODE>&lt;FL/Fl_Text_Display.H&gt;</CODE>:
<UL><PRE>
struct Style_Table_Entry {
@@ -680,7 +683,7 @@ style data and buffer with the text editor widget:
<UL><PRE>
Fl_Text_Buffer *stylebuf;
-w->editor->highlight_data(stylebuf, styletable,
+w-&gt;editor-&gt;highlight_data(stylebuf, styletable,
sizeof(styletable) / sizeof(styletable[0]),
'A', style_unfinished_cb, 0);
</PRE></UL>
@@ -689,7 +692,7 @@ w->editor->highlight_data(stylebuf, styletable,
that changes to the text buffer are mirrored in the style buffer:
<UL><PRE>
-textbuf->add_modify_callback(style_update, w->editor);
+textbuf-&gt;add_modify_callback(style_update, w-&gt;editor);
</PRE></UL>
<P>The <CODE>style_update()</CODE> function, like the <CODE>change_cb()</CODE>
@@ -718,43 +721,43 @@ style_update(int pos, // I - Position of update
// If this is just a selection change, just unselect the style buffer...
if (nInserted == 0 &amp;&amp; nDeleted == 0) {
- stylebuf->unselect();
+ stylebuf-&gt;unselect();
return;
}
// Track changes in the text buffer...
- if (nInserted > 0) {
+ if (nInserted &gt; 0) {
// Insert characters into the style buffer...
style = new char[nInserted + 1];
memset(style, 'A', nInserted);
style[nInserted] = '\0';
- stylebuf->replace(pos, pos + nDeleted, style);
+ stylebuf-&gt;replace(pos, pos + nDeleted, style);
delete[] style;
} else {
// Just delete characters in the style buffer...
- stylebuf->remove(pos, pos + nDeleted);
+ stylebuf-&gt;remove(pos, pos + nDeleted);
}
// Select the area that was just updated to avoid unnecessary
// callbacks...
- stylebuf->select(pos, pos + nInserted - nDeleted);
+ stylebuf-&gt;select(pos, pos + nInserted - nDeleted);
// Re-parse the changed region; we do this by parsing from the
// beginning of the line of the changed region to the end of
// the line of the changed region... Then we check the last
// style character and keep updating if we have a multi-line
// comment character...
- start = textbuf->line_start(pos);
- end = textbuf->line_end(pos + nInserted - nDeleted);
- text = textbuf->text_range(start, end);
- style = stylebuf->text_range(start, end);
+ start = textbuf-&gt;line_start(pos);
+ end = textbuf-&gt;line_end(pos + nInserted - nDeleted);
+ text = textbuf-&gt;text_range(start, end);
+ style = stylebuf-&gt;text_range(start, end);
last = style[end - start - 1];
style_parse(text, style, end - start);
- stylebuf->replace(start, end, style);
- ((Fl_Text_Editor *)cbArg)->redisplay_range(start, end);
+ stylebuf-&gt;replace(start, end, style);
+ ((Fl_Text_Editor *)cbArg)-&gt;redisplay_range(start, end);
if (last != style[end - start - 1]) {
// The last character on the line changed styles, so reparse the
@@ -762,14 +765,14 @@ style_update(int pos, // I - Position of update
free(text);
free(style);
- end = textbuf->length();
- text = textbuf->text_range(start, end);
- style = stylebuf->text_range(start, end);
+ end = textbuf-&gt;length();
+ text = textbuf-&gt;text_range(start, end);
+ style = stylebuf-&gt;text_range(start, end);
style_parse(text, style, end - start);
- stylebuf->replace(start, end, style);
- ((Fl_Text_Editor *)cbArg)->redisplay_range(start, end);
+ stylebuf-&gt;replace(start, end, style);
+ ((Fl_Text_Editor *)cbArg)-&gt;redisplay_range(start, end);
}
free(text);
@@ -797,7 +800,7 @@ style_parse(const char *text,
*bufptr;
const char *temp;
- for (current = *style, col = 0, last = 0; length > 0; length --, text ++) {
+ for (current = *style, col = 0, last = 0; length &gt; 0; length --, text ++) {
if (current == 'A') {
// Check for directives, comments, strings, and keywords...
if (col == 0 &amp;&amp; *text == '#') {
diff --git a/documentation/enumerations.html b/documentation/enumerations.html
index 2d78172..49acbcb 100644
--- a/documentation/enumerations.html
+++ b/documentation/enumerations.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>C - FLTK Enumerations</TITLE>
+</HEAD>
+<BODY>
<H1 ALIGN=RIGHT><A NAME=Enumerations>C - FLTK Enumerations</A></H1>
<P>This appendix lists the enumerations provided in the
@@ -134,7 +138,7 @@ FL_KEYBOARD</TT> and <TT>FL_SHORTCUT</TT> events:
<LI><TT>FL_BUTTON2</TT> - Mouse button 2 is pushed. </LI>
<LI><TT>FL_BUTTON3</TT> - Mouse button 3 is pushed. </LI>
<LI><TT>FL_BUTTONS</TT> - Any mouse button is pushed. </LI>
-<LI><TT>FL_BUTTON(n)</TT> - Mouse button N (N > 0) is pushed. </LI>
+<LI><TT>FL_BUTTON(n)</TT> - Mouse button N (N &gt; 0) is pushed. </LI>
</UL>
<!-- NEED 4in -->
diff --git a/documentation/events.html b/documentation/events.html
index fb401d4..95be139 100644
--- a/documentation/events.html
+++ b/documentation/events.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>6 - Handling Events</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="events">6 - Handling Events</A></H1>
@@ -146,6 +149,11 @@ call the <a href="Fl.html#Fl.compose"><TT>Fl::compose()</TT></a>
function to translate individual keystrokes into foreign
characters.
+<P><code>FL_KEYUP</code> events are sent to the widget that
+currently has focus. This is not necessarily the same widget
+that received the corresponding <code>FL_KEYDOWN</code> event
+because focus may have changed between events.
+
<H3>FL_SHORTCUT</H3>
<P>If the <A href="Fl.html#Fl.focus"><TT>Fl::focus()</TT></A>
@@ -219,6 +227,21 @@ selection indication. Most modern programs ignore this.
<H2><A NAME="dnd">Drag And Drop Events</A></H2>
+<P>FLTK supports drag and drop of text and files from any
+application on the desktop. Text is transfered using
+the current code page. Files are received as a list of full path
+and file names, seperated by newline. On some platforms, path
+names are prepended with <tt>file://</tt>.
+
+<P>The drag and drop data is available in <tt>Fl::event_text()</tt>
+at the concluding <tt>FL_PASTE</tt>. On some platforms, the
+event text is also available for the <tt>FL_DND_*</tt> events,
+however application must not depend on that behavior because it
+depends on the protocol used on each platform.
+
+<P><tt>FL_DND_*</tt> events cannot be used in widgets derived
+from <tt>Fl_Group</tt> or <tt>Fl_Window</tt>.
+
<H3>FL_DND_ENTER</H3>
<P>The mouse has been moved to point at this widget. A widget
diff --git a/documentation/examples.html b/documentation/examples.html
index f3f3e55..53101d3 100644
--- a/documentation/examples.html
+++ b/documentation/examples.html
@@ -1,7 +1,10 @@
<HTML>
+<HEAD>
+ <TITLE>I - Tests and Demo Source Code</TITLE>
+</HEAD>
<BODY>
-<H1 ALIGN="RIGHT"><A NAME="tests">I - Tests and Demo Source Code</A></H1>
+<H1 ALIGN="RIGHT"><A NAME="examples">I - Tests and Demo Source Code</A></H1>
<P ALIGN="RIGHT">March 19, 2005</P>
@@ -22,82 +25,84 @@ a test platform to verify the functionality of the FLTK library.</P>
<td><a href="#arc"><tt>arc</tt></a></td>
<td><a href="#ask"><tt>ask</tt></a></td>
<td><a href="#bitmap"><tt>bitmap</tt></a></td>
+<td><a href="#blocks"><tt>blocks</tt></a></td>
<td><a href="#boxtype"><tt>boxtype</tt></a></td>
-<td><a href="#browser"><tt>browser</tt></a></td>
</tr>
<tr>
+<td><a href="#browser"><tt>browser</tt></a></td>
<td><a href="#button"><tt>button</tt></a></td>
<td><a href="#buttons"><tt>buttons</tt></a></td>
<td><a href="#checkers"><tt>checkers</tt></a></td>
<td><a href="#clock"><tt>clock</tt></a></td>
<td><a href="#colbrowser"><tt>colbrowser</tt></a></td>
-<td><a href="#color_chooser"><tt>color_chooser</tt></a></td>
</tr>
<tr>
+<td><a href="#color_chooser"><tt>color_chooser</tt></a></td>
<td><a href="#cube"><tt>cube</tt></a></td>
<td><a href="#CubeView"><tt>CubeView</tt></a></td>
<td><a href="#cursor"><tt>cursor</tt></a></td>
<td><a href="#curve"><tt>curve</tt></a></td>
<td><a href="#demo"><tt>demo</tt></a></td>
-<td><a href="#doublebuffer"><tt>doublebuffer</tt></a></td>
</tr>
<tr>
+<td><a href="#doublebuffer"><tt>doublebuffer</tt></a></td>
<td><a href="#editor"><tt>editor</tt></a></td>
<td><a href="#fast_slow"><tt>fast_slow</tt></a></td>
<td><a href="#file_chooser"><tt>file_chooser</tt></a></td>
<td><a href="#fluid"><tt>fluid</tt></a></td>
<td><a href="#fonts"><tt>fonts</tt></a></td>
-<td><a href="#forms"><tt>forms</tt></a></td>
</tr>
<tr>
+<td><a href="#forms"><tt>forms</tt></a></td>
<td><a href="#fractals"><tt>fractals</tt></a></td>
<td><a href="#fullscreen"><tt>fullscreen</tt></a></td>
<td><a href="#gl_overlay"><tt>gl_overlay</tt></a></td>
<td><a href="#glpuzzle"><tt>glpuzzle</tt></a></td>
<td><a href="#hello"><tt>hello</tt></a></td>
-<td><a href="#help"><tt>help</tt></a></td>
</tr>
<tr>
+<td><a href="#help"><tt>help</tt></a></td>
<td><a href="#iconize"><tt>iconize</tt></a></td>
<td><a href="#image"><tt>image</tt></a></td>
<td><a href="#inactive"><tt>inactive</tt></a></td>
<td><a href="#input"><tt>input</tt></a></td>
<td><a href="#input_choice"><tt>input_choice</tt></a></td>
-<td><a href="#keyboard"><tt>keyboard</tt></a></td>
</tr>
<tr>
+<td><a href="#keyboard"><tt>keyboard</tt></a></td>
<td><a href="#label"><tt>label</tt></a></td>
<td><a href="#line_style"><tt>line_style</tt></a></td>
<td><a href="#list_visuals"><tt>list_visuals</tt></a></td>
<td><a href="#mandelbrot"><tt>mandelbrot</tt></a></td>
<td><a href="#menubar"><tt>menubar</tt></a></td>
-<td><a href="#message"><tt>message</tt></a></td>
</tr>
<tr>
+<td><a href="#message"><tt>message</tt></a></td>
<td><a href="#minimum"><tt>minimum</tt></a></td>
<td><a href="#navigation"><tt>navigation</tt></a></td>
<td><a href="#output"><tt>output</tt></a></td>
<td><a href="#overlay"><tt>overlay</tt></a></td>
<td><a href="#pack"><tt>pack</tt></a></td>
-<td><a href="#pixmap_browser"><tt>pixmap_browser</tt></a></td>
</tr>
<tr>
+<td><a href="#pixmap_browser"><tt>pixmap_browser</tt></a></td>
<td><a href="#pixmap"><tt>pixmap</tt></a></td>
<td><a href="#preferences"><tt>preferences</tt></a></td>
<td><a href="#radio"><tt>radio</tt></a></td>
<td><a href="#resizebox"><tt>resizebox</tt></a></td>
<td><a href="#resize"><tt>resize</tt></a></td>
-<td><a href="#scroll"><tt>scroll</tt></a></td>
</tr>
<tr>
+<td><a href="#scroll"><tt>scroll</tt></a></td>
<td><a href="#shape"><tt>shape</tt></a></td>
<td><a href="#subwindow"><tt>subwindow</tt></a></td>
+<td><a href="#sudoku"><tt>sudoku</tt></a></td>
<td><a href="#symbols"><tt>symbols</tt></a></td>
<td><a href="#tabs"><tt>tabs</tt></a></td>
-<td><a href="#threads"><tt>threads</tt></a></td>
-<td><a href="#tile"><tt>tile</tt></a></td>
</tr>
<tr>
+<td><a href="#threads"><tt>threads</tt></a></td>
+<td><a href="#tile"><tt>tile</tt></a></td>
<td><a href="#tiled_image"><tt>tiled_image</tt></a></td>
<td><a href="#valuators"><tt>valuators</tt></a></td>
</tr>
@@ -106,64 +111,87 @@ a test platform to verify the functionality of the FLTK library.</P>
<h3><a name="adjuster">adjuster</h3>
<tt>adjuster</tt> shows a nifty little widget for quickly
setting values in a great range.
+
<h3><a name="arc">arc</h3>
The <tt>arc</tt> demo explains how to derive your own widget to
generate some custom drawings. The sample drawings use the matrix
based arc drawing for some fun effects.
+
<h3><a name="ask">ask</h3>
<tt>ask</tt> shows some of FLTK's standard dialog boxes, but you
may end up in a loop, but you may end up in a loop, but... .
+
<h3><a name="bitmap">bitmap</h3>
This simple test shows the use of a single color bitmap as a
label for a box widget. Bitmaps are stored in the X11 '.bmp'
file format and can be part of the source code.
+
+<h3><a name="blocks">blocks</h3>
+A wonderful and addictive game that shows the usage of FLTK
+timers, graphics, and how to implement sound on all platforms.
+<tt>blocks</tt> is also a good example for the Mac OS X specific
+bundle format.
+
<h3><a name="boxtype">boxtype</h3>
<tt>boxtype</tt> gives an overview of readily available boxes and
frames in FLTK. More types can be added by the user. When using
themes, FLTK shuffles boxtypes around to give an app a new look.
+
<h3><a name="browser">browser</h3>
<tt>browser</tt> shows the capabilities of the <tt>Fl_Browser</tt> widget.
Important features tested are loading of files, line formatting, and
correct positioning of the browser data window.
+
<h3><a name="button">button</h3>
The <tt>button</tt> test is a very simple demo of buttons and callbacks.
+
<h3><a name="buttons">buttons</h3>
<tt>buttons</tt> shows a sample of FLTK button types.
+
<h3><a name="checkers">checkers</h3>
Written by Steve Poulsen in early 1979, <tt>checkers</tt> shows
how to polish a VT100 text terminal based program into a neat
program with a graphical UI. Check out the code that drags the
pieces, and how the pieces are drawn by layering. Then tell me
how to beat this program.
+
<h3><a name="clock">clock</h3>
The <tt>clock</tt> demo shows two analog clocks. The innards of
teh <tt>Fl_Clock</tt> widget are pretty interesting as they explain
the use of timeouts and matrix based drawing.
+
<h3><a name="colbrowser">colbrowser</h3>
<tt>colbrowser</tt> runs only on X11 systems. It reads
<i>/usr/lib/X11/rgb.txt</i> to show the color representation
of every text entry in the file. This is beautiful, but
only mederatly useful unless your UI is written in <i>Motif</i>.
+
<h3><a name="color_chooser">color_chooser</h3>
The <tt>color_chooser</tt> gives a short demo of FLTK's palette based
color chooser and of the RGB based color wheel.
+
<h3><a name="cube">cube</h3>
The <tt>cube</tt> demo shows the speed of OpenGL. It also tests
the ability to render two OpenGL buffers into a single window,
and shows OpenGL text.
+
<h3><a name="CubeView">CubeView</h3>
<tt>CubeView</tt> shows how to create a UI containing OpenGL with fluid.
+
<h3><a name="cursor">cursor</h3>
The <tt>cursor</tt> demo show all mouse cursor shapes that come standard
with FLTK. The <i>fgcolor</i> and <i>bgcolor</i> sliders work only
on few systems like Irix.
+
<h3><a name="curve">curve</h3>
<tt>curve</tt> draws a nice Bezier curve into a custom widget. The
<i>points</i> option for splines is not supported on all platforms.
+
<h3><a name="demo">demo</h3>
This tool allows quick access to all programs in the <tt>test</tt> directory.
<tt>demo</tt> is viaully based on the IrixGL demo program and cna be
extended by editing <tt>test/demo.menu</tt>.
+
<h3><a name="doublebuffer">doublebuffer</h3>
The <tt>doublebuffer</tt> demo show the difference between a single
buffered window, which may flicker during a slow redraw, and a
@@ -171,178 +199,227 @@ double buffered window, which never flickers, but uses twice the
amount of RAM. Some modern OS's double buffer all windows automatically
to allow transparency and shadows on the desktop. FLTK is smart enough
to not tripple buffer a window in that case.
+
<h3><a name="editor">editor</h3>
FLTK has two very different text input widgets. <tt>Fl_Input</tt>
and derived classes are rather leight weight, however
<tt>Fl_Text_Editor</tt> is a complete port of nedit (with permission).
The <tt>editor</tt> test is almost a full application, showing custom
syntax highlighting and dialog creation.
+
<h3><a name="fast_slow">fast_slow</h3>
<tt>fast_slow</tt> shows how an application can use then <tt>when()</tt>
setting to receive different kinds of callbacks.
+
<h3><a name="file_chooser">file_chooser</h3>
The standard FLTK <tt>file_chooser</tt> is the result of many
iterations, trying to find a middle ground between a complex
browser and a fast light implementation.
+
<h3><a name="fonts">fonts</h3>
<tt>fonts</tt> show all available text fonts on the host system.
If your machine still has some pixmap based fonts, the supported
sizes will be shown in bold face. Only the first 256 fonts will
be listed.
+
<h3><a name="forms">forms</h3>
<tt>forms</tt> is an XForms program with very few changes.
Search for "fltk" to find all changes necessary to port to fltk.
This demo show the different boxtypes. Note that some
boxtypes are not appropriate for some objects.
+
<h3><a name="fractals">fractals</h3>
<tt>fractals</tt> shows how to mix OpenGL, Glut and FLTK code.
FLTK supports a rather large subset of Glut, so that many Glut
application compile just fine.
+
<h3><a name="fullscreen">fullscreen</h3>
This demo shows how to do many of the window manipulations that
are popular on SGI programs, even though X does not really like
them. You can toggle the border on/off, change the visual to
switch between single/double buffer, and make the window take
over the screen. More information in the source code.
+
<h3><a name="gl_overlay">gl_overlay</h3>
<tt>gl_overlay</tt> shows OpenGL overlay plane rendering. If no
hardware overly plane is available, FLTK will simulate it
automatically.
+
<h3><a name="glpuzzle">glpuzzle</h3>
The <tt>glpuzzle</tt> test dhows how most Glut source code compiles
easily under FLTK.
+
<h3><a name="hello">hello</h3>
<tt>hello</tt>: Hello, World. Need I say maore? Well, maybe. This
tiny demo shows how little is needed to get a functioning application
running with FLTK. Quite impressive, I'd say.
+
<h3><a name="help">help</h3>
<tt>help</tt> displays the built-in FLTK help browser. The
<tt>Fl_Help_Dialog</tt> understands a subset of html and renders
various image formats. It is a great help to provide help
pages to the user without depending on the operating system's
html browser.
+
<h3><a name="iconize">iconize</h3>
<tt>iconize</tt> demonstrates the efeect of the window functions
<tt>hide()</tt>, <tt>iconize()</tt>, and <tt>show()</tt>.
+
<h3><a name="image">image</h3>
The <tt>image</tt> demo shows how an image can be created on the fly.
This generated image contains an alpha (transparency) channel which
lets previous renderings 'shine through', either via true
transparency or by using screen door transparency (pixelation).
+
<h3><a name="inactive">inactive</h3>
<tt>inactive</tt> tests the correct rendering of inactive widgets.
To see the inactive version of images, you can check the pixmap
or image test.
+
<h3><a name="input">input</h3>
This tool shows and tests differnet types of text input fields based on
<tt>Fl_Input_</tt>. The <tt>input</tt> program also tests various
settings of <tt>Fl_Input::when()</tt>.
+
<h3><a name="input_choice">input_choice</h3>
<tt>input_choice</tt> tests the latest addition to FLTK1, a text input
field with an attached pulldown menu. Windows users will recognize
similarities to the 'ComboBox'. <tt>input_choice</tt> starts up in
'plastic' scheme, but the traditional scheme is also supported.
+
<h3><a name="keyboard">keyboard</h3>
FLTK unifies keyboard events for all platforms. The <tt>keyboard</tt>
test can be used to check the return values of <tt>Fl::event_key()</tt>
and <tt>Fl::event_text()</tt>. It is also great to see the modifier
buttons and the scroll wheel at work. Quit this application by closing
the window. The ESC key will not work.
+
<h3><a name="label">label</h3>
Every FLTK widget can have a label attached to it. The <tt>label</tt>
demo shows alignment, clipping and wrapping of text labels. Labels
can contain symbols at the start and end of the text, like <i>@FLTK</i>
or <i>@circle uh-huh @square</i>.
+
<h3><a name="line_style">line_style</h3>
Advanced line drawing can be tested with <tt>line_style</tt>.
Not all platforms support all line styles.
+
<h3><a name="list_visuals">list_visuals</h3>
This little app finds all available pixel formats for the current X11
screen. But since you are now an FLTK user, you don't have to worry
about any of this.
+
<h3><a name="mandelbrot">mandelbrot</h3>
<tt>mandelbrot</tt> shows two advanced topics in one test. It creates
grayscale images on the fly, updating them via the <i>idle</i> callback
system. This is one of the few occasions where the <i>idle</i> callback
is very useful by giving all available processor time to the application
without blocking the UI or other apps.
+
<h3><a name="menubar">menubar</h3>
The <tt>menubar</tt> tests many aspects of FLTK's popup menu system.
Among the features are radio buttons, menus taller than the screen,
arbitrary sub menu depth, and global shortcuts.
+
<h3><a name="message">message</h3>
<tt>message</tt> pops up a few of FLTK's standars message boxes.
+
<h3><a name="minimum">minimum</h3>
The <tt>minimum</tt> test program verifies that the update regions
are set correctly. In a real life application, the trail would
be avoided by choosing a smaller label or by setting label clipping.
correctly.
+
<h3><a name="navigation">navigation</h3>
<tt>navigation</tt> demonstrates how the text cursor moves from
text field to text field by using the arrow keys, tab and shift-tab..
+
<h3><a name="output">output</h3>
<tt>output</tt> shows the difference between the single line and
multi line mode of the <tt>Fl_Output</tt> widget. Fonts can be
selected from the FLTK standard list of fonts.
+
<h3><a name="overlay">overlay</h3>
The <tt>overlay</tt> test app show how easy an FLTK window can
be layered to display cursor and manipulator style elemnts. This
example derives a new class from <tt>Fl_Overly_WIndow</tt> and
provides a new function to draw custom overlays.
+
<h3><a name="pack">pack</h3>
The <tt>pack</tt> test program demonstrates the resizing
and repositioning of children of the <tt>Fl_Pack</tt> group.
Putting an <tt>Fl_Pack</tt> into an <tt>Fl_Scroll</tt> is
a useful way to create a kind of browser.
+
<h3><a name="pixmap_browser">pixmap_browser</h3>
<tt>pixmap_browser</tt> tests the shared image interface. When using
the same image multiple times <tt>Fl_Shared_Image</tt> will keep it
only once in memory.
+
<h3><a name="pixmap">pixmap</h3>
This simple test shows the use of a LUT based pixmap as a
label for a box widget. Pixmaps are stored in the X11 '.xpm'
file format and can be part of the source code. Pixmaps support
one transparent color.
+
<h3><a name="preferences">preferences</h3>
I do have my <tt>preferences</tt> in the morning, but sometimes I
just can't remember a thing. This is where the <tt>Fl_Preferences</tt>
come in handy. The remember any kind of data between program launches.
+
<h3><a name="radio">radio</h3>
The <tt>radio</tt> tool was created entirely with <i>fluid</i>. It
shows some of the available btton types and tests radio
button behavior.
+
<h3><a name="resizebox">resizebox</h3>
<tt>resizebox</tt> shows some possible ways of FLTK's automatic
resize bahavior..
+
<h3><a name="resize">resize</h3>
The <tt>resize</tt> demo tests size and position functions with
the given window manager.
+
<h3><a name="scroll">scroll</h3>
<tt>scroll</tt> shows how to scroll an area of widgets, one of
them beeing a slow custom drawing. <tt>Fl_Scroll</tt> uses
clipping and smart window area copying to improve redraw speed.
The buttons at the bottom of the window test decoration rendering
and updates.
+
<h3><a name="shape">shape</h3>
<tt>shape</tt> is a very minimal demo that shows how to create
your own OpenGL rendering widget. Now that you know that, go ahead
and write that flight simulator you always dreamt of.
+
<h3><a name="subwindow">subwindow</h3>
The <tt>subwindow</tt> demo tests messaging and drawing between
the main window and 'true' sub windows. A sub window is differnt
to a group by resetting the FLTK coordinate stystem to 0, 0 in the
top left corner. On Win32 and X11, subwindows have their own
operating system specific handle.
+
+<h3><a name="sudoku">sudoku</h3>
+Another highly addictive game - don't play it, I warned you.
+The implementation shows how to create application icons,
+how to deal with OS specific, and how to generate sound.
+
<h3><a name="symbols">symbols</h3>
<tt>symbols</tt> are a speciality of FLTK. These little vector
drawings can be integrated into labels. They scale and rotate,
and with a little patience, you can define your own. The rotation
number refers to 45 degree rotations if you were looking at a
numeric keypad (2 is down, 6 is right, etc.).
+
<h3><a name="tabs">tabs</h3>
The <tt>tabs</tt> tool was created with <i>fluid</i>. It tests
correct hiding and redisplaying of tabs, navigation across tabs,
resize behavior, and no unneeded redrawing of invisible widgets.
+
+<P>The <tt>tabs</tt> application shows the <tt>Fl_Tabs</tt> widget
+on the left and the <tt>Fl_Wizard</tt> widget on the right side
+for direct comparison of these two panel management widgets.
+
<h3><a name="threads">threads</h3>
FLTK can be used in a multithreading environment. There are some
limitations, mostly due to the underlying operating system.
@@ -350,17 +427,21 @@ limitations, mostly due to the underlying operating system.
<tt>Fl::unlock()</tt>, and <tt>Fl::awake()</tt> in secondary threads
to keep FLTK happy. Although locking works on all platforms,
this demo is not available on every machine.
+
<h3><a name="tile">tile</h3>
The <tt>tile</tt> tool shows a nice way of using <tt>Fl_Tile</tt>.
To test correct resizing of subwindows, the widget for region
1 is created from an <tt>Fl_Window</tt> class.
+
<h3><a name="tiled_image">tiled_image</h3>
The <tt>tiled_image</tt> demo uses an image as the background
for a window by repeating it over the full size of the widget.
Thw window is resizable and shows how the image gets repeated.
+
<h3><a name="valuators">valuators</h3>
<tt>valuators</tt> shows all of FLTK's nifty widgets to change
numeric values.
+
<h3><a name="fluid">fluid</h3>
<tt>fuid</tt> is not only a big test program, but also a very
useful visual UI designer. Many parts of <tt>fluid</tt> were
diff --git a/documentation/fltk-config.man b/documentation/fltk-config.man
index 423e753..b778871 100644
--- a/documentation/fltk-config.man
+++ b/documentation/fltk-config.man
@@ -1,4 +1,4 @@
-.TH fltk-config 1 "Fast Light Tool Kit" "8 August 2005"
+.TH fltk-config 1 "Fast Light Tool Kit" "6 February 2007"
.SH NAME
fltk-config \- script to get information about the installed version of fltk.
.sp
@@ -10,10 +10,8 @@ fltk-config [ --prefix
] [ --version ] [ --api-version ] [ --use-gl ] [ --use-images ] [ --use-glut ]
[ --cc ] [ --cxx ]
[ --cflags ] [ --cxxflags ] [ --ldflags ] [ --ldstaticflags ] [ --libs ]
-[ -g ] [ --compile
+[ -D\fIname[=value]\fR ] [ -g ] [ --compile
.I program.cxx
-] [ --post
-.I program
]
.SH DESCRIPTION
\fIfltk-config\fR is a utility script that can be used to get information
@@ -65,11 +63,6 @@ application to the static FLTK libraries.
Displays the full path to the FLTK library files, to be used for
dependency checking.
.TP 5
---post \fIprogram\fR
-.br
-Binds the default FLTK resource fork to a program under MacOS.
-Does nothing on other operating systems.
-.TP 5
--use-gl
.br
Enables OpenGL support.
diff --git a/documentation/fltk.book b/documentation/fltk.book
index 68c5a02..acd4fcc 100644
--- a/documentation/fltk.book
+++ b/documentation/fltk.book
@@ -1,5 +1,5 @@
-#HTMLDOC 1.8.20
--t pdf13 -f fltk.pdf --book --toclevels 2 --no-numbered --toctitle "Table of Contents" --title --titleimage FL.gif --linkstyle underline --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --footer h.1 --tocheader .t. --tocfooter ..i --duplex --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=50 --no-embedfonts --fontsize 11.0 --fontspacing 1.2 --headingfont Helvetica --bodyfont Times --headfootsize 11.0 --headfootfont Helvetica --charset 8859-1 --links --no-truetype --pagemode outline --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680
+#HTMLDOC 1.8.27.1
+-t pdf13 -f "fltk.pdf" --book --toclevels 2 --no-numbered --toctitle "Table of Contents" --title --titleimage "FL.gif" --linkstyle underline --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer h.1 --nup 1 --tocheader .t. --tocfooter ..i --duplex --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=50 --fontsize 11.0 --fontspacing 1.2 --headingfont Helvetica --bodyfont Times --headfootsize 11.0 --headfootfont Helvetica --charset iso-8859-1 --links --no-embedfonts --pagemode outline --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --strict --no-overflow
preface.html
intro.html
basics.html
@@ -11,6 +11,7 @@ subclassing.html
opengl.html
fluid.html
widgets.html
+advanced.html
Fl.html
Fl_Adjuster.html
Fl_Bitmap.html
@@ -75,6 +76,7 @@ Fl_Scroll.html
Fl_Scrollbar.html
Fl_Secret_Input.html
Fl_Select_Browser.html
+Fl_Shared_Image.html
Fl_Single_Window.html
Fl_Slider.html
Fl_Spinner.html
diff --git a/documentation/fluid.html b/documentation/fluid.html
index 2fe3e48..2cb7a25 100644
--- a/documentation/fluid.html
+++ b/documentation/fluid.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>9 - Programming with FLUID</TITLE>
+</HEAD>
+<BODY>
<H1 ALIGN="RIGHT"><A NAME="FLUID">9 - Programming with FLUID</A></H1>
This chapter shows how to use the Fast Light User-Interface Designer
@@ -423,7 +427,7 @@ field of the widget panel. For example, the callback for the
<tt>ypan</tt> slider is:
<ul><pre>
-cube-&gt;pany(((Fl_Slider *)o)->value());
+cube-&gt;pany(((Fl_Slider *)o)-&gt;value());
cube-&gt;redraw();
</pre></ul>
diff --git a/documentation/forms.html b/documentation/forms.html
index 53ead44..269fa29 100644
--- a/documentation/forms.html
+++ b/documentation/forms.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>E - Forms Compatibility</TITLE>
+</HEAD>
+<BODY>
<H1 ALIGN=RIGHT><A NAME=forms>E - Forms Compatibility</A></H1>
This appendix describes the Forms compatibility included with FLTK.
<H2>Importing Forms Layout Files</H2>
diff --git a/documentation/functions.html b/documentation/functions.html
index a620577..bcd4d09 100644
--- a/documentation/functions.html
+++ b/documentation/functions.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>B - Function Reference</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="functions">B - Function Reference</A></H1>
@@ -9,47 +12,278 @@ A</A>.
<H2>Function List by Name</H2>
-<UL>
-
- <LI><A HREF="#fl_alert"><TT>fl_alert</TT></A></LI>
- <LI><A HREF="#fl_ask"><TT>fl_ask</TT></A></LI>
- <LI><A HREF="#fl_beep"><TT>fl_beep</TT></A></LI>
- <LI><A HREF="#fl_choice2"><TT>fl_choice</TT></A></LI>
- <LI><A HREF="#fl_color_average"><TT>fl_color_average</TT></A></LI>
- <LI><A HREF="#fl_color_chooser_func"><TT>fl_color_chooser</TT></A></LI>
- <LI><A HREF="#fl_color_cube"><TT>fl_color_cube</TT></A></LI>
- <LI><A HREF="#fl_contrast"><TT>fl_contrast</TT></A></LI>
- <LI><A HREF="#fl_cursor"><TT>fl_cursor</TT></A></LI>
- <LI><A HREF="#fl_darker"><TT>fl_darker</TT></A></LI>
- <LI><A HREF="#fl_dir_chooser"><TT>fl_dir_chooser</TT></A></LI>
- <LI><A HREF="#fl_file_chooser2"><TT>fl_file_chooser</TT></A></LI>
- <LI><A HREF="#fl_file_chooser_callback"><TT>fl_file_chooser_callback</TT></A></LI>
- <LI><A HREF="#fl_file_chooser_ok_label"><TT>fl_file_chooser_ok_label</TT></A></LI>
- <LI><A HREF="#fl_filename_absolute"><TT>fl_filename_absolute</TT></A></LI>
- <LI><A HREF="#fl_filename_expand"><TT>fl_filename_expand</TT></A></LI>
- <LI><A HREF="#fl_filename_ext"><TT>fl_filename_ext</TT></A></LI>
- <LI><A HREF="#fl_filename_isdir"><TT>fl_filename_isdir</TT></A></LI>
- <LI><A HREF="#fl_filename_list"><TT>fl_filename_list</TT></A></LI>
- <LI><A HREF="#fl_filename_match"><TT>fl_filename_match</TT></A></LI>
- <LI><A HREF="#fl_filename_name"><TT>fl_filename_name</TT></A></LI>
- <LI><A HREF="#fl_filename_relative"><TT>fl_filename_relative</TT></A></LI>
- <LI><A HREF="#fl_filename_setext"><TT>fl_filename_setext</TT></A></LI>
- <LI><A HREF="#fl_gray_ramp"><TT>fl_gray_ramp</TT></A></LI>
- <LI><A HREF="#fl_input2"><TT>fl_input</TT></A></LI>
- <LI><A HREF="#fl_lighter"><TT>fl_lighter</TT></A></LI>
- <LI><A HREF="#fl_message"><TT>fl_message</TT></A></LI>
- <LI><A HREF="#fl_message_font"><TT>fl_message_font</TT></A></LI>
- <LI><A HREF="#fl_message_icon"><TT>fl_message_icon</TT></A></LI>
- <LI><A HREF="#fl_password"><TT>fl_password</TT></A></LI>
- <LI><A HREF="#fl_register_images"><TT>fl_register_images</TT></A></LI>
- <LI><A HREF="#fl_rgb_color"><TT>fl_rgb_color</TT></A></LI>
- <LI><A HREF="#fl_show_colormap"><TT>fl_show_colormap</TT></A></LI>
-
-</UL>
+<TABLE width=100%>
+ <TR>
+ <TD width=33%>
+ <UL>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_RGB</TT></A> (WIN32)</LI>
+ <LI><A HREF="common.html#add_symbol"><TT>fl_add_symbol</TT></A></LI>
+ <LI><A HREF="#fl_alert"><TT>fl_alert</TT></A></LI>
+ <LI><A HREF="#fl_alphasort"><TT>fl_alphasort</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_arc"><TT>fl_arc</TT></A></LI>
+ <LI><A HREF="#fl_ask"><TT>fl_ask</TT></A></LI>
+ <LI><A HREF="#fl_beep"><TT>fl_beep</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_begin_complex_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_line"><TT>fl_begin_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_loop"><TT>fl_begin_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_offscreen"><TT>fl_begin_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_points"><TT>fl_begin_points</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_polygon"><TT>fl_begin_polygon</TT></A></LI>
+ <LI><A HREF="common.html#fl_box"><TT>fl_box</TT></A></LI>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_brush</TT></A> (WIN32)</LI>
+ <LI><A HREF="drawing.html#fl_can_do_alpha_blending"><TT>fl_can_do_alpha_blending</TT></A></LI>
+ <LI><A HREF="#fl_casealphasort"><TT>fl_casealphasort</TT></A></LI>
+ <LI><A HREF="#fl_casenumericsort"><TT>fl_casenumericsort</TT></A></LI>
+ <LI><A HREF="#fl_choice2"><TT>fl_choice</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_circle"><TT>fl_circle</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_clip_box"><TT>fl_clip_box</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_clip_region"><TT>fl_clip_region</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_close_display"><TT>fl_close_display</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_color"><TT>fl_color</TT></A></LI>
+ <LI><A HREF="#fl_color_average"><TT>fl_color_average</TT></A></LI>
+ <LI><A HREF="#fl_color_chooser_func"><TT>fl_color_chooser</TT></A></LI>
+ <LI><A HREF="#fl_color_cube"><TT>fl_color_cube</TT></A></LI>
+ <LI><A HREF="#fl_contrast"><TT>fl_contrast</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_copy_offscreen"><TT>fl_copy_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_create_offscreen"><TT>fl_create_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_create_offscreen_with_alpha"><TT>fl_create_offscreen_with_alpha</TT></A></LI>
+ <LI><A HREF="#fl_cursor"><TT>fl_cursor</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_curve"><TT>fl_curve</TT></A></LI>
+ <LI><A HREF="#fl_darker"><TT>fl_darker</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_delete_offscreen"><TT>fl_delete_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_descent"><TT>fl_descent</TT></A></LI>
+ <LI><A HREF="#fl_dir_chooser"><TT>fl_dir_chooser</TT></A></LI>
+ <LI><A HREF="common.html#fl_down"><TT>fl_down</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw"><TT>fl_draw</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_box"><TT>fl_draw_box</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_image"><TT>fl_draw_image</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_image"><TT>fl_draw_image_mono</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_pixmap"><TT>fl_draw_pixmap</TT></A></LI>
+ <LI><A HREF="common.html#fl_draw_symbol"><TT>fl_draw_symbol</TT></A></LI>
+ </UL>
+ </TD>
+ <TD width=33%>
+ <UL>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_end_complex_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_line"><TT>fl_end_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_loop"><TT>fl_end_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_end_offscreen"><TT>fl_end_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_points"><TT>fl_end_points</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_polygon"><TT>fl_end_polygon</TT></A></LI>
+ <LI><A HREF="#fl_file_chooser2"><TT>fl_file_chooser</TT></A></LI>
+ <LI><A HREF="#fl_file_chooser_callback"><TT>fl_file_chooser_callback</TT></A></LI>
+ <LI><A HREF="#fl_file_chooser_ok_label"><TT>fl_file_chooser_ok_label</TT></A></LI>
+ <LI><A HREF="#fl_filename_absolute"><TT>fl_filename_absolute</TT></A></LI>
+ <LI><A HREF="#fl_filename_expand"><TT>fl_filename_expand</TT></A></LI>
+ <LI><A HREF="#fl_filename_ext"><TT>fl_filename_ext</TT></A></LI>
+ <LI><A HREF="#fl_filename_isdir"><TT>fl_filename_isdir</TT></A></LI>
+ <LI><A HREF="#fl_filename_list"><TT>fl_filename_list</TT></A></LI>
+ <LI><A HREF="#fl_filename_match"><TT>fl_filename_match</TT></A></LI>
+ <LI><A HREF="#fl_filename_name"><TT>fl_filename_name</TT></A></LI>
+ <LI><A HREF="#fl_filename_relative"><TT>fl_filename_relative</TT></A></LI>
+ <LI><A HREF="#fl_filename_setext"><TT>fl_filename_setext</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_find"><TT>fl_find</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_font"><TT>fl_font</TT></A></LI>
+ <LI><A HREF="common.html#fl_frame"><TT>fl_frame</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_frame"><TT>fl_frame</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_frame2"><TT>fl_frame2</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_gap</TT></A></LI>
+ <LI><A HREF="#fl_gray_ramp"><TT>fl_gray_ramp</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_handle"><TT>fl_handle</TT></A> (X11)</LI>
+ <LI><A HREF="drawing.html#fl_height"><TT>fl_height</TT></A></LI>
+ <LI><A HREF="#fl_inactive"><TT>fl_inactive</TT></A></LI>
+ <LI><A HREF="#fl_input2"><TT>fl_input</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_latin1_to_local</TT></A></LI>
+ <LI><A HREF="#fl_lighter"><TT>fl_lighter</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_line"><TT>fl_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_line_style"><TT>fl_line_style</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_local_to_latin1</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_local_to_mac_roman</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_loop"><TT>fl_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_mac_roman_to_local</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_measure"><TT>fl_measure</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_measure_pixmap"><TT>fl_measure_pixmap</TT></A></LI>
+ <LI><A HREF="#fl_message"><TT>fl_message</TT></A></LI>
+ <LI><A HREF="#fl_message_font"><TT>fl_message_font</TT></A></LI>
+ <LI><A HREF="#fl_message_icon"><TT>fl_message_icon</TT></A></LI>
+ </UL>
+ </TD>
+ <TD width=30%>
+ <UL>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_mult_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_not_clipped"><TT>fl_not_clipped</TT></A></LI>
+ <LI><A HREF="#fl_numericsort"><TT>fl_numericsort</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_open_callback"><TT>fl_open_callback</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_open_display"><TT>fl_open_display</TT></A></LI>
+ <LI><A HREF="#fl_open_uri"><TT>fl_open_uri</TT></A></LI>
+ <LI><A HREF="drawing.html#overlay"><TT>fl_overlay_clear</TT></A></LI>
+ <LI><A HREF="drawing.html#overlay"><TT>fl_overlay_rect</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_parse_color"><TT>fl_parse_color</TT></A></LI>
+ <LI><A HREF="#fl_password"><TT>fl_password</TT></A></LI>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_pen</TT></A> (WIN32)</LI>
+ <LI><A HREF="drawing.html#fl_pie"><TT>fl_pie</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_point"><TT>fl_point</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_polygon"><TT>fl_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_pop_clip"><TT>fl_pop_clip</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_matrix"><TT>fl_pop_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_clip"><TT>fl_push_clip</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_matrix"><TT>fl_push_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_no_clip"><TT>fl_push_no_clip</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_read_image"><TT>fl_read_image</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_rect"><TT>fl_rect</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_rectf"><TT>fl_rectf</TT></A></LI>
+ <LI><A HREF="#fl_register_images"><TT>fl_register_images</TT></A></LI>
+ <LI><A HREF="#fl_rgb_color"><TT>fl_rgb_color</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_rotate</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_scale</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scroll"><TT>fl_scroll</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_shortcut_label"><TT>fl_shortcut_label</TT></A></LI>
+ <LI><A HREF="#fl_show_colormap"><TT>fl_show_colormap</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_size"><TT>fl_size</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_dx</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_dy</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_x</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_y</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transformed_vertex</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_translate</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_vertex"><TT>fl_vertex</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_width"><TT>fl_width</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_xid"><TT>fl_xid</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_xpixel"><TT>fl_xpixel</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_xyline"><TT>fl_xyline</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_yxline"><TT>fl_yxline</TT></A></LI>
+<!-- <LI><A HREF=""><TT>fl_brush_action</TT></A> (WIN32)</LI> -->
+<!-- <LI><A HREF=""><TT>fl_create_alphamask</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_create_bitmask</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_delete_bitmask</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_makeDC</TT></A> (WIN32)</LI> -->
+<!-- <LI><A HREF=""><TT>fl_old_shortcut</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_release_dc</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_save_dc</TT></A></LI> -->
+ </UL>
+ </TD>
+ </TR>
+</TABLE>
<H2>Function List by Category</H2>
+<TABLE width=100%>
+ <TR>
+ <TD width=50% valign=top>
<UL>
+ <LI>Drawing Functions
+ <UL>
+ <LI>Color
+ <UL>
+ <LI><A HREF="drawing.html#fl_color"><TT>fl_color</TT></A></LI>
+ <LI><A HREF="#fl_color_average"><TT>fl_color_average</TT></A></LI>
+ <LI><A HREF="#fl_color_cube"><TT>fl_color_cube</TT></A></LI>
+ <LI><A HREF="#fl_contrast"><TT>fl_contrast</TT></A></LI>
+ <LI><A HREF="#fl_cursor"><TT>fl_cursor</TT></A></LI>
+ <LI><A HREF="#fl_darker"><TT>fl_darker</TT></A></LI>
+ <LI><A HREF="#fl_gray_ramp"><TT>fl_gray_ramp</TT></A></LI>
+ <LI><A HREF="#fl_lighter"><TT>fl_lighter</TT></A></LI>
+ <LI><A HREF="#fl_rgb_color"><TT>fl_rgb_color</TT></A></LI>
+ </UL>
+ <LI>Text
+ <UL>
+ <LI><A HREF="drawing.html#fl_descent"><TT>fl_descent</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw"><TT>fl_draw</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_font"><TT>fl_font</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_height"><TT>fl_height</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_latin1_to_local</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_local_to_latin1</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_local_to_mac_roman</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_mac_roman_to_local</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_measure"><TT>fl_measure</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_shortcut_label"><TT>fl_shortcut_label</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_size"><TT>fl_size</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_width"><TT>fl_width</TT></A></LI>
+ </UL>
+ <LI>Symbols
+ <UL>
+ <LI><A HREF="common.html#add_symbol"><TT>fl_add_symbol</TT></A></LI>
+ <LI><A HREF="common.html#fl_draw_symbol"><TT>fl_draw_symbol</TT></A></LI>
+ </UL>
+ <LI>Fast Drawing
+ <UL>
+ <LI><A HREF="drawing.html#fl_arc"><TT>fl_arc</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_circle"><TT>fl_circle</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_frame"><TT>fl_frame</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_frame2"><TT>fl_frame2</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_line"><TT>fl_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_line_style"><TT>fl_line_style</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_loop"><TT>fl_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_pie"><TT>fl_pie</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_point"><TT>fl_point</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_polygon"><TT>fl_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_rect"><TT>fl_rect</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_rectf"><TT>fl_rectf</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scroll"><TT>fl_scroll</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_xyline"><TT>fl_xyline</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_yxline"><TT>fl_yxline</TT></A></LI>
+ </UL>
+ <LI>Complex Drawing
+ <UL>
+ <LI><A HREF="drawing.html#fl_pie"><TT>fl_arc</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_begin_complex_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_line"><TT>fl_begin_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_loop"><TT>fl_begin_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_offscreen"><TT>fl_begin_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_points"><TT>fl_begin_points</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_polygon"><TT>fl_begin_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_curve"><TT>fl_curve</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_rotate</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_scale</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_end_complex_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_line"><TT>fl_end_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_loop"><TT>fl_end_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_points"><TT>fl_end_points</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_polygon"><TT>fl_end_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_gap</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_mult_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_matrix"><TT>fl_pop_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_matrix"><TT>fl_push_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_dx</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_dy</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_x</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_y</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transformed_vertex</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_translate</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_vertex"><TT>fl_vertex</TT></A></LI>
+ </UL>
+ </UL>
+ </TD>
+ <TD width=50% valign=top>
+ <UL><LI>Drawing Functions (cont'd)
+ <UL>
+ <LI>Clipping
+ <UL>
+ <LI><A HREF="drawing.html#fl_clip_box"><TT>fl_clip_box</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_clip_region"><TT>fl_clip_region</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_not_clipped"><TT>fl_not_clipped</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_no_clip"><TT>fl_push_no_clip</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_clip"><TT>fl_push_clip</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_pop_clip"><TT>fl_pop_clip</TT></A></LI>
+ </UL>
+ <LI>Overlay Drawing
+ <UL>
+ <LI><A HREF="drawing.html#overlay"><TT>fl_overlay_clear</TT></A></LI>
+ <LI><A HREF="drawing.html#overlay"><TT>fl_overlay_rect</TT></A></LI>
+ </UL>
+ <LI>Offscreen Drawing
+ <UL>
+ <LI><A HREF="drawing.html#fl_copy_offscreen"><TT>fl_copy_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_create_offscreen"><TT>fl_create_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_create_offscreen_with_alpha"><TT>fl_create_offscreen_with_alpha</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_delete_offscreen"><TT>fl_delete_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_end_offscreen"><TT>fl_end_offscreen</TT></A></LI>
+ </UL>
+ </ul>
+ </LI>
+
+</UL>
+ <UL>
<LI>Dialog Functions
<UL>
@@ -70,22 +304,6 @@ A</A>.
<LI><A HREF="#fl_show_colormap"><TT>fl_show_colormap</TT></A></LI>
</UL>
</LI>
-
- <LI>Drawing Functions
- <UL>
-
- <LI><A HREF="#fl_color_average"><TT>fl_color_average</TT></A></LI>
- <LI><A HREF="#fl_color_cube"><TT>fl_color_cube</TT></A></LI>
- <LI><A HREF="#fl_contrast"><TT>fl_contrast</TT></A></LI>
- <LI><A HREF="#fl_cursor"><TT>fl_cursor</TT></A></LI>
- <LI><A HREF="#fl_darker"><TT>fl_darker</TT></A></LI>
- <LI><A HREF="#fl_gray_ramp"><TT>fl_gray_ramp</TT></A></LI>
- <LI><A HREF="#fl_lighter"><TT>fl_lighter</TT></A></LI>
- <LI><A HREF="#fl_rgb_color"><TT>fl_rgb_color</TT></A></LI>
-
- </UL>
- </LI>
-
<LI>Filename Functions
<UL>
<LI><A HREF="#fl_filename_absolute"><TT>fl_filename_absolute</TT></A></LI>
@@ -97,16 +315,46 @@ A</A>.
<LI><A HREF="#fl_filename_name"><TT>fl_filename_name</TT></A></LI>
<LI><A HREF="#fl_filename_relative"><TT>fl_filename_relative</TT></A></LI>
<LI><A HREF="#fl_filename_setext"><TT>fl_filename_setext</TT></A></LI>
+ <LI><A HREF="#fl_open_uri"><TT>fl_open_uri</TT></A></LI>
</UL>
</LI>
<LI>Image Functions
<UL>
+ <LI><A HREF="drawing.html#fl_can_do_alpha_blending"><TT>fl_can_do_alpha_blending</TT></A></LI>
<LI><A HREF="#fl_register_images"><TT>fl_register_images</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_image"><TT>fl_draw_image</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_image"><TT>fl_draw_image_mono</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_pixmap"><TT>fl_draw_pixmap</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_measure_pixmap"><TT>fl_measure_pixmap</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_read_image"><TT>fl_read_image</TT></A></LI>
</UL>
</LI>
-</UL>
+ <LI>Box Types
+ <UL>
+ <LI><A HREF="common.html#fl_down"><TT>fl_down</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_box"><TT>fl_draw_box</TT></A></LI>
+ <LI><A HREF="common.html#fl_frame"><TT>fl_frame</TT></A></LI>
+ </UL>
+
+ <LI>System Related Functions
+ <UL>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_RGB</TT></A> (WIN32)</LI>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_brush</TT></A> (WIN32)</LI>
+ <LI><A HREF="osissues.html#fl_close_display"><TT>fl_close_display</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_find"><TT>fl_find</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_handle"><TT>fl_handle</TT></A> (X11)</LI>
+ <LI><A HREF="osissues.html#fl_open_callback"><TT>fl_open_callback</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_open_display"><TT>fl_open_display</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_parse_color"><TT>fl_parse_color</TT></A></LI>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_pen</TT></A> (WIN32)</LI>
+ <LI><A HREF="osissues.html#fl_xid"><TT>fl_xid</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_xpixel"><TT>fl_xpixel</TT></A></LI>
+ </UL>
+
+</td>
+</table>
<!-- NEED 4in -->
<H2><A NAME="fl_alert">fl_alert</A></H2>
@@ -161,7 +409,7 @@ a shortcut for No.
<p><b>Note:</b> Use of this function is <i>strongly</i>
discouraged, and it will be removed in FLTK 2.0. Instead, use <a
-href='#fl_choice'><tt>fl_choice()</tt></a> instead and provide
+href='#fl_choice2'><tt>fl_choice()</tt></a> instead and provide
unambiguous verbs in place of "Yes" and "No".</p>
<!-- NEED 4in -->
@@ -396,7 +644,7 @@ Fl_Color fl_cursor(Fl_Cursor cursor, Fl_Color fg, Fl_Color bg);
<P>Sets the cursor for the current window to the specified shape
and colors. The cursors are defined in the <A
-HREF="enumerations.html#cursor"><CODE>&lt;FL/Enumerations.H></CODE>
+HREF="enumerations.html#cursor"><CODE>&lt;FL/Enumerations.H&gt;</CODE>
header file</A>.
@@ -726,22 +974,22 @@ are provided with FLTK:
<UL>
- <LI><TT>fl_alphasort</tt> - The files are sorted in
+ <LI><TT><A NAME=fl_alphasort>fl_alphasort</A></tt> - The files are sorted in
ascending alphabetical order; upper- and lowercase
letters are compared according to their ASCII ordering -
uppercase before lowercase.
- <LI><TT>fl_casealphasort</tt> - The files are sorted in
+ <LI><TT><A NAME=fl_casealphasort>fl_casealphasort</A></tt> - The files are sorted in
ascending alphabetical order; upper- and lowercase
letters are compared equally - case is not significant.
- <LI><TT>fl_casenumericsort</TT> - The files are sorted
+ <LI><TT><A NAME=fl_casenumericsort>fl_casenumericsort</A></TT> - The files are sorted
in ascending &quot;alphanumeric&quot; order, where an
attempt is made to put unpadded numbers in consecutive
order; upper- and lowercase letters are compared equally
- case is not significant.
- <LI><TT>fl_numericsort</TT> - The files are sorted in
+ <LI><TT><A NAME=fl_numericsort>fl_numericsort</A></TT> - The files are sorted in
ascending &quot;alphanumeric&quot; order, where an
attempt is made to put unpadded numbers in consecutive
order; upper- and lowercase letters are compared
@@ -926,6 +1174,28 @@ fl_gray_ramp(I * (FL_NUM_GRAY - 1) / 255)
<!-- NEED 4in -->
+<H2><A NAME="fl_inactive">fl_inactive</A></H2>
+
+<HR>
+
+<H3>Include File</H3>
+
+<UL><PRE>
+#include &lt;FL/Enumerations.H&gt;
+</PRE></UL>
+
+<H3>Prototype</H3>
+
+<UL><PRE>
+Fl_Color fl_inactive(Fl_Color c);
+</PRE></UL>
+
+<H3>Description</H3>
+
+<P>Returns the inactive, dimmed version of the give color
+
+
+<!-- NEED 4in -->
<H2><A NAME="fl_input2">fl_input</A></H2>
<HR>
@@ -1001,6 +1271,13 @@ The message will wrap to fit the window, or may be many lines by
putting <tt>\n</tt> characters into it. The enter key is a
shortcut for the OK button.
+<P>A message text can be further formatted with html tags by
+adding <tt>&lt;html&gt;</tt> at the beginning of the message.
+See <tt><a href="Fl_Help_View.html">Fl_Help_View</a></tt> for
+details.
+
+<P>The message text is limited to 1024 characters.
+
<P ALIGN="CENTER"><IMG src="fl_message.gif" ALT="The fl_message window.">
@@ -1052,6 +1329,32 @@ calling the functions.
<!-- NEED 4in -->
+<H2><A NAME="fl_open_uri">fl_open_uri</A></H2>
+
+<HR>
+
+<H3>Include Files</H3>
+
+<UL><PRE>
+#include &lt;FL/filename.H&gt;
+</PRE></UL>
+
+<H3>Prototype</H3>
+
+<UL><PRE>
+void fl_open_uri(const char *uri, char *msg = (char *)0, int msglen = 0);
+</PRE></UL>
+
+<H3>Description</H3>
+
+<P>fl_open_uri() opens the specified Uniform Resource Identifier (URI) using an operating-system dependent program or interface. For URIs using the "ftp", "http", or "https" schemes, the system default web browser is used to open the URI, while "mailto" and "news" URIs are typically opened using the system default mail reader and "file" URIs are opened using the file system navigator.</P>
+
+<P>On success, the (optional) <TT>msg</TT> buffer is filled with the command that was run to open the URI; on Windows, this will always be "open uri".</P>
+
+<P>On failure, the <TT>msg</TT> buffer is filled with an English error message.</P>
+
+
+<!-- NEED 4in -->
<H2><A NAME="fl_password">fl_password</A></H2>
<HR>
diff --git a/documentation/glut.html b/documentation/glut.html
index 27f8467..b1addff 100644
--- a/documentation/glut.html
+++ b/documentation/glut.html
@@ -1,46 +1,33 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>D - GLUT Compatibility</TITLE>
+</HEAD>
+<BODY>
<H1 ALIGN=RIGHT><A NAME=glut>D - GLUT Compatibility</A></H1>
- This appendix describes the GLUT compatibility header file supplied
-with FLTK.
+<P>This appendix describes the GLUT compatibility header file supplied with FLTK. FLTK's GLUT compatibility is based on the original GLUT 3.7 and the follow-on FreeGLUT 2.4.0 libraries.</P>
<H2>Using the GLUT Compatibility Header File</H2>
- You should be able to compile existing GLUT source code by including <TT>
-&lt;FL/glut.H&gt;</TT> instead of <TT>&lt;GL/glut.h&gt;</TT>. This can be done by
-editing the source, by changing the <TT>-I</TT> switches to the
-compiler, or by providing a symbolic link from <TT>GL/glut.h</TT> to <TT>
-FL/glut.H</TT>.
-<P><I>All files calling GLUT procedures must be compiled with C++</I>.
- You may have to alter them slightly to get them to compile without
-warnings, and you may have to rename them to get make to use the C++
-compiler. </P>
-<P>You must link with the FLTK library. If you call any GLUT drawing
-functions that FLTK does not emulate (<TT>glutExtensionsSupported()</TT>
-, <TT>glutWire*()</TT>, <TT>glutSolid*()</TT>, and <TT>glutStroke*()</TT>
-), you will also have to link with the GLUT library (<I>after</I> the
-FLTK library!) </P>
-<P>Most of <TT>FL/glut.H</TT> is inline functions. You should take a
-look at it (and maybe at <TT>test/glpuzzle.cxx</TT> in the FLTK source) if
-you are having trouble porting your GLUT program. </P>
-<P>This has been tested with most of the demo programs that come with
-the GLUT 3.3 distribution. </P>
+<P>You should be able to compile existing GLUT source code by including <TT>&lt;FL/glut.H&gt;</TT> instead of <TT>&lt;GL/glut.h&gt;</TT>. This can be done by editing the source, by changing the <TT>-I</TT> switches to the compiler, or by providing a symbolic link from <TT>GL/glut.h</TT> to <TT>FL/glut.H</TT>.</P>
+<P><I>All files calling GLUT procedures must be compiled with C++</I>. You may have to alter them slightly to get them to compile without warnings, and you may have to rename them to get make to use the C++ compiler.</P>
+<P>You must link with the FLTK library. Most of <TT>FL/glut.H</TT> is inline functions. You should take a look at it (and maybe at <TT>test/glpuzzle.cxx</TT> in the FLTK source) if you are having trouble porting your GLUT program. </P>
+<P>This has been tested with most of the demo programs that come with the GLUT and FreeGLUT distributions.</P>
<H2>Known Problems</H2>
- The following functions and/or arguments to functions are missing, and
+<P>The following functions and/or arguments to functions are missing, and
you will have to replace them or comment them out for your code to
compile:
<UL>
-<LI><TT>glutLayerGet(GLUT_LAYER_IN_USE)</TT></LI>
-<LI><TT>glutLayerGet(GLUT_HAS_OVERLAY)</TT></LI>
-<LI><TT>glutSetColor(), glutGetColor(), glutCopyColormap()</TT></LI>
+<LI><TT>glutGet(GLUT_ELAPSED_TIME)</TT></LI>
+<LI><TT>glutGet(GLUT_SCREEN_HEIGHT_MM)</TT></LI>
+<LI><TT>glutGet(GLUT_SCREEN_WIDTH_MM)</TT></LI>
+<LI><TT>glutGet(GLUT_WINDOW_NUM_CHILDREN)</TT></LI>
<LI><TT>glutInitDisplayMode(GLUT_LUMINANCE)</TT></LI>
+<LI><TT>glutLayerGet(GLUT_HAS_OVERLAY)</TT></LI>
+<LI><TT>glutLayerGet(GLUT_LAYER_IN_USE)</TT></LI>
<LI><TT>glutPushWindow()</TT></LI>
+<LI><TT>glutSetColor(), glutGetColor(), glutCopyColormap()</TT></LI>
+<LI><TT>glutVideoResize()</TT> missing. </LI>
<LI><TT>glutWarpPointer()</TT></LI>
-<LI>Spaceball, buttonbox, dials, tablet functions, <TT>glutDeviceGet()</TT>
-</LI>
<LI><TT>glutWindowStatusFunc()</TT></LI>
-<LI><TT>glutGet(GLUT_WINDOW_NUM_CHILDREN)</TT></LI>
-<LI><TT>glutGet(GLUT_SCREEN_WIDTH_MM)</TT></LI>
-<LI><TT>glutGet(GLUT_SCREEN_HEIGHT_MM)</TT></LI>
-<LI><TT>glutGet(GLUT_ELAPSED_TIME)</TT></LI>
-<LI><TT>glutVideoResize()</TT> missing. </LI>
+<LI>Spaceball, buttonbox, dials, and tablet functions</LI>
</UL>
Most of the symbols/enumerations have different values than GLUT uses.
This will break code that relies on the actual values. The only
diff --git a/documentation/index.html b/documentation/index.html
index 8a4cf8c..1b53a03 100644
--- a/documentation/index.html
+++ b/documentation/index.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<META NAME="robots" CONTENT="noindex">
- <TITLE>FLTK 1.1.7 Programming Manual</TITLE>
+ <TITLE>FLTK 1.1.8 Programming Manual</TITLE>
</HEAD>
<BODY>
@@ -10,22 +10,17 @@
<TD VALIGN="MIDDLE">
<IMG SRC="FL.gif" WIDTH="200" HEIGHT="100" ALIGN="ABSMIDDLE" ALT="FL"></TD>
<TD ALIGN="CENTER" VALIGN="MIDDLE">
- <H1>FLTK 1.1.7 Programming Manual</H1>
- <P>Revision 7 by Michael Sweet, Craig P. Earls, and Bill Spitzak<BR>
- Copyright 1998-2006 by Bill Spitzak and others.</P>
+ <H1>FLTK 1.1.8 Programming Manual</H1>
+ <P>Revision 8 by Michael Sweet, Craig P. Earls,<br>Matthias Melcher, and Bill Spitzak<BR>
+ Copyright 1998-2007 by Bill Spitzak and others.</P>
</TD>
</TR>
-</TABLE>
-
-<TABLE BGCOLOR="#9f9f9f" CELLPADDING="8" CELLSPACING="0" SUMMARY="TITLE BAR" WIDTH="700">
<TR>
- <TD ALIGN="CENTER"><B>This software and manual are
- provided under the terms of the GNU Library General
- Public License.</B></TD>
+ <TH COLSPAN=2>This software and manual are provided under the terms of the GNU Library General Public License. Permission is granted to reproduce this manual or any portion for any purpose, provided this copyright and permission notice are preserved.</TH>
</TR>
</TABLE>
-<TABLE COLS="2" BGCOLOR="#9f9fef" CELLPADDING="8" CELLSPACING="0" SUMMARY="Table of Contents" WIDTH="700">
+<TABLE BGCOLOR="#9f9fef" CELLPADDING="8" CELLSPACING="0" SUMMARY="Table of Contents" WIDTH="700">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B><A HREF="preface.html#preface">Preface</A></B>
<BR>
@@ -68,6 +63,9 @@
<LI><A HREF="fluid.html#widget_attributes">Selecting Moving Widgets</A></LI>
<LI><A HREF="fluid.html#images">Image Labels</A></LI>
</UL>
+ <B><A HREF="advanced.html#advanced">10 - Advanced FLTK</A></B>
+ <BR>
+ <BR>
<B><A HREF="widgets.html#widgets">A - Class Reference</A></B>
<BR>
<BR>
diff --git a/documentation/intro.html b/documentation/intro.html
index 22863d2..2d4c225 100644
--- a/documentation/intro.html
+++ b/documentation/intro.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>1 - Introduction to FLTK</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="intro">1 - Introduction to FLTK</A></H1>
@@ -330,8 +333,8 @@ make
<DD><A href="mailto:fltk-bugs@fltk.org">fltk-bugs@fltk.org</A> [for
reporting bugs]
- <DT>News</DT>
- <DD><A HREF="news://news.easysw.com">news.easysw.com</A></DD>
+ <DT>NNTP Newsgroups</DT>
+ <DD>news.easysw.com</DD>
</DL>
diff --git a/documentation/license.html b/documentation/license.html
index b0edc75..04f61da 100644
--- a/documentation/license.html
+++ b/documentation/license.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>H - FLTK License</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="license">H - FLTK License</A></H1>
diff --git a/documentation/migration.html b/documentation/migration.html
index 48bc46f..1f94004 100644
--- a/documentation/migration.html
+++ b/documentation/migration.html
@@ -1,7 +1,10 @@
<HTML>
+<HEAD>
+ <TITLE>G - Migrating Code from FLTK 1.0.x</TITLE>
+</HEAD>
<BODY>
-<H1 ALIGN="RIGHT">G - Migrating Code from FLTK 1.0.x</H1>
+<H1 ALIGN="RIGHT"><A NAME="migration">G - Migrating Code from FLTK 1.0.x</A></H1>
<P>This appendix describes the differences between the FLTK
1.0.x and FLTK 1.1.x functions and classes.</P>
@@ -51,9 +54,9 @@ symbol on the command-line when you compile
<UL><PRE>
#define FLTK_1_0_COMPAT
-#include &lt;FL/Fl.H>
-#include &lt;FL/Enumerations.H>
-#include &lt;FL/filename.H>
+#include &lt;FL/Fl.H&gt;
+#include &lt;FL/Enumerations.H&gt;
+#include &lt;FL/filename.H&gt;
</PRE></UL>
<P>The following table shows the old and new function names:</P>
diff --git a/documentation/opengl.html b/documentation/opengl.html
index 481673f..89a21a1 100644
--- a/documentation/opengl.html
+++ b/documentation/opengl.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>8 - Using OpenGL</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN=RIGHT><A NAME=opengl>8 - Using OpenGL</A></H1>
diff --git a/documentation/osissues.html b/documentation/osissues.html
index 3d5b9d7..79c385a 100644
--- a/documentation/osissues.html
+++ b/documentation/osissues.html
@@ -1,4 +1,7 @@
<HTML>
+<HEAD>
+ <TITLE>F - Operating System Issues</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="osissues">F - Operating System Issues</A></H1>
@@ -133,13 +136,29 @@ unsigned long fl_xpixel(uchar r, uchar g, uchar b)</A></H4>
index or RGB color. This is the X pixel that <A
href="drawing.html#fl_color"><TT>fl_color()</TT></A> would use.
+<H4><A name="fl_parse_color">int fl_parse_color(const char* p, uchar&amp; r, uchar&amp; g, uchar&amp; b)</A></H4>
+
+<P>Convert a name into the red, green, and blue values of a color
+by parsing the X11 color names. On other systems, <tt>fl_parse_color</tt>
+can only convert names in hexadecimal encoding, for example <tt>#ff8083</tt>.
+
<H4><A name="fl_xfont">extern XFontStruct *fl_xfont</A></H4>
<P>Points to the font selected by the most recent <A
href="drawing.html#fl_font"><TT>fl_font()</TT></A>. This is not
necessarily the current font of <TT>fl_gc</TT>, which is not set
until <A href="drawing.html#text"><TT>fl_draw()</TT></A> is
-called.
+called. If FLTK was compiled with Xft support, <TT>fl_xfont</TT>
+will usually be 0 and <TT>fl_xftfont</TT> will contain a pointer
+to the XftFont structure instead.
+
+<H4><A name="fl_xftfont">extern void *fl_xftfont</A></H4>
+
+<P>If FLTK was compiled with Xft support enabled, <tt>fl_xftfont</tt>
+Points to the xft font selected by the most recent <A
+href="drawing.html#fl_font"><TT>fl_font()</TT></A>. Otherwise
+it will be 0. <tt>fl_xftfont</tt> should be cast to
+<tt>XftFont*</tt>.
<H3>Changing the Display, Screen, or X Visual</H3>
@@ -361,7 +380,7 @@ should be used as follows:
#include &lt;X11/xpm.h&gt;
#include &quot;icon.xpm&quot;
-fl_opendisplay(); // needed if display has not been previously opened
+fl_open_display(); // needed if display has not been previously opened
Pixmap p, mask;
@@ -483,7 +502,7 @@ window handle, or <TT>NULL</TT> if not found. This function uses
a cache so it is slightly faster than iterating through the
windows yourself.
-<H3>Drawing Things Using the WIN32 GDI</H3>
+<H3><A name="WIN32.gdi">Drawing Things Using the WIN32 GDI</A></H3>
<P>When the virtual function <A
HREF="subclassing.html#draw"><TT>Fl_Widget::draw()</TT></A> is
@@ -630,6 +649,25 @@ window handle, or <TT>NULL</TT> if not found. FLTK windows that
are children of top-level windows share the WindowRef of the
top-level window.
+<h3>Apple "Quit" Event</h3>
+
+<P>When the user press Cmd-Q or requests a termination of the
+application, OS X will send a "Quit" Apple Event. FLTK handles
+this event by sending an <tt>FL_CLOSE</tt> event to all open
+windows. If all windows close, the application will terminate.
+
+<h3>Apple "Open" Event</h3>
+
+Whenever the user drops a file onto an application icon, OS X
+generates an Apple Event of the type "Open". You can have FLTK
+notify you of an Open event by setting the <tt>fl_open_callback</tt>.
+
+<h4><a name=fl_open_callback>void fl_open_callback(void (*cb)(const char *))</a></h4>
+
+<tt>cb</tt> will be called with a single iUnix-style file name and path.
+If multiple files were dropped, <tt>fl_open_callback</tt> will be called
+multiple times.
+
<h3>Drawing Things Using QuickDraw</h3>
<P>When the virtual function <tt>Fl_Widget::draw()</tt> is
@@ -637,6 +675,17 @@ called, FLTK has prepared the Window and CGrafPort for drawing.
Clipping and offsets are prepared to allow correct subwindow
drawing.
+<h3>Drawing Things Using Quartz</h3>
+
+<P>If the FLTK library was compiled using the configuration
+flag <tt>--enable-quartz</tt>, all code inside <tt>Fl_Widget::draw()</tt>
+is expected to call Quartz drawing functions instead of
+QuickDraw. The Quartz coordinate system is flipped to match
+FLTK's coordinate system. The origin for all drawing is in the top
+left corner of the enclosing <tt>Fl_Window</tt>.
+
+<h3>Fl_Double_Window</h3>
+
<P>OS X double-buffers all windows automatically. On OS X,
<tt>Fl_Window</tt> and <tt>Fl_Double_Window</tt> are handled
internally in the same way.
@@ -656,7 +705,7 @@ applications
will NOT copy any resource forks! For copying and moving use
CpMac and MvMac respectively. For creating a tar archive, all
executables need to be stripped from their Resource Fork before
-packing, e.g. "DeRez fluid >fluid.r". After unpacking the
+packing, e.g. "DeRez fluid &gt; fluid.r". After unpacking the
Resource Fork needs to be reattached, e.g. "Rez fluid.r -o
fluid".
</TD></TR></TABLE></CENTER>
diff --git a/documentation/preface.html b/documentation/preface.html
index b64a7b4..a20ff3e 100644
--- a/documentation/preface.html
+++ b/documentation/preface.html
@@ -1,16 +1,16 @@
<HTML>
<HEAD>
- <META CONTENT="Written by Michael Sweet, Craig P. Earls, and Bill Spitzak" NAME="Author">
+ <META CONTENT="Written by Michael Sweet, Craig P. Earls, Matthias Melcher, and Bill Spitzak" NAME="Author">
<META CONTENT="Copyright 1998-2006 by Bill Spitzak and Others." NAME="Copyright">
- <META CONTENT="Revision 7" NAME="DocNumber">
- <TITLE>FLTK 1.1.7 Programming Manual</TITLE>
+ <META CONTENT="Revision 8" NAME="DocNumber">
+ <TITLE>FLTK 1.1.8 Programming Manual</TITLE>
</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="preface">Preface</A></H1>
<P>This manual describes the Fast Light Tool Kit (&quot;FLTK&quot;)
-version 1.1.7, a C++ Graphical User Interface
+version 1.1.8, a C++ Graphical User Interface
(&quot;GUI&quot;) toolkit for UNIX, Microsoft Windows and MacOS. Each
of the chapters in this manual is designed as a tutorial for
using FLTK, while the appendices provide a convenient reference
diff --git a/documentation/subclassing.html b/documentation/subclassing.html
index 338ec3e..873f6cd 100644
--- a/documentation/subclassing.html
+++ b/documentation/subclassing.html
@@ -1,4 +1,8 @@
-<HTML><BODY>
+<HTML>
+<HEAD>
+ <TITLE>7 - Adding and Extending Widgets</TITLE>
+</HEAD>
+<BODY>
<H1 ALIGN=RIGHT><A NAME=subclassing>7 - Adding and Extending Widgets</A></H1>
This chapter describes how to add your own widgets or extend existing
widgets in FLTK.
diff --git a/documentation/widgets.html b/documentation/widgets.html
index 75cf74e..f67d3c1 100644
--- a/documentation/widgets.html
+++ b/documentation/widgets.html
@@ -1,10 +1,13 @@
<HTML>
+<HEAD>
+ <TITLE>A - Class Reference</TITLE>
+</HEAD>
<BODY>
<H1 ALIGN="RIGHT"><A NAME="widgets">A - Class Reference</A></H1>
-This appendix describes all of the classes in FLTK. For a
-description of the <TT>fl_</TT> functions, see
+This appendix describes all classes in FLTK and their methods.
+For a description of the <TT>fl_</TT> functions, see
<A href="functions.html">Appendix B</A>.
<H2>Alphabetical List of Classes</H2>
@@ -108,6 +111,7 @@ description of the <TT>fl_</TT> functions, see
<LI><A HREF="Fl.html">Fl</A>
<LI><A HREF="Fl_End.html#Fl_End">Fl_End</A>
<LI><A HREF="Fl_File_Icon.html#Fl_File_Icon">Fl_File_Icon</A>
+ <LI><A HREF="Fl_Help_Dialog.html#Fl_Help_Dialog">Fl_Help_Dialog</A>
<LI><A HREF="Fl_Image.html">Fl_Image</A>
<UL>
<LI><A HREF="Fl_Bitmap.html">Fl_Bitmap</A><BR>
@@ -136,17 +140,6 @@ description of the <TT>fl_</TT> functions, see
<LI><A HREF="Fl_Widget.html#Fl_Widget">Fl_Widget</A>
<UL>
<LI><A HREF="Fl_Box.html#Fl_Box">Fl_Box</A>
- <LI><A HREF="Fl_Browser_.html#Fl_Browser_">Fl_Browser_</A>
- <UL>
- <LI><A HREF="Fl_Browser.html#Fl_Browser">Fl_Browser</A>
- <UL>
- <LI><A HREF="Fl_File_Browser.html#Fl_File_Browser">Fl_File_Browser</A>
- <LI><A HREF="Fl_Hold_Browser.html#Fl_Hold_Browser">Fl_Hold_Browser</A>
- <LI><A HREF="Fl_Multi_Browser.html#Fl_Multi_Browser">Fl_Multi_Browser</A>
- <LI><A HREF="Fl_Select_Browser.html#Fl_Select_Browser">Fl_Select_Browser</A>
- </UL>
- <LI><A HREF="Fl_Check_Browser.html">Fl_Check_Browser</A>
- </UL>
<LI><A HREF="Fl_Button.html#Fl_Button">Fl_Button</A>
<UL>
<LI><A HREF="Fl_Check_Button.html#Fl_Check_Button">Fl_Check_Button</A>
@@ -154,20 +147,34 @@ description of the <TT>fl_</TT> functions, see
<LI><A HREF="Fl_Repeat_Button.html#Fl_Repeat_Button">Fl_Repeat_Button</A>
<LI><A HREF="Fl_Return_Button.html#Fl_Return_Button">Fl_Return_Button</A>
<LI><A HREF="Fl_Round_Button.html#Fl_Round_Button">Fl_Round_Button</A>
+ <LI><A HREF="Fl_Toggle_Button.html#Fl_Toggle_Button">Fl_Toggle_Button</A>
</UL>
<LI><A HREF="Fl_Chart.html#Fl_Chart">Fl_Chart</A>
- <LI><A HREF="Fl_Clock.html#Fl_Clock">Fl_Clock</A>
+ <LI><A HREF="Fl_Clock_Output.html#Fl_Clock_Output">Fl_Clock_Output</A>
+ <UL>
+ <LI><A HREF="Fl_Clock.html#Fl_Clock">Fl_Clock</A>
+ </UL>
+ <LI><A HREF="Fl_File_Chooser.html#Fl_File_Chooser">Fl_File_Chooser</A>
<LI><A HREF="Fl_Free.html#Fl_Free">Fl_Free</A>
<LI><A HREF="Fl_Group.html#Fl_Group">Fl_Group</A>
<UL>
+ <LI><A HREF="Fl_Browser_.html#Fl_Browser_">Fl_Browser_</A>
+ <UL>
+ <LI><A HREF="Fl_Browser.html#Fl_Browser">Fl_Browser</A>
+ <UL>
+ <LI><A HREF="Fl_File_Browser.html#Fl_File_Browser">Fl_File_Browser</A>
+ <LI><A HREF="Fl_Hold_Browser.html#Fl_Hold_Browser">Fl_Hold_Browser</A>
+ <LI><A HREF="Fl_Multi_Browser.html#Fl_Multi_Browser">Fl_Multi_Browser</A>
+ <LI><A HREF="Fl_Select_Browser.html#Fl_Select_Browser">Fl_Select_Browser</A>
+ </UL>
+ <LI><A HREF="Fl_Check_Browser.html">Fl_Check_Browser</A>
+ </UL>
<LI><A HREF="Fl_Color_Chooser.html#Fl_Color_Chooser">Fl_Color_Chooser</A>
- <LI><A HREF="Fl_File_Chooser.html#Fl_File_Chooser">Fl_File_Chooser</A>
- <LI><A HREF="Fl_Help_Dialog.html#Fl_Help_Dialog">Fl_Help_Dialog</A>
<LI><A HREF="Fl_Help_View.html#Fl_Help_View">Fl_Help_View</A>
<LI><A HREF="Fl_Input_Choice.html">Fl_Input_Choice</A>
<LI><A HREF="Fl_Pack.html#Fl_Pack">Fl_Pack</A>
<LI><A HREF="Fl_Scroll.html#Fl_Scroll">Fl_Scroll</A>
- <LI><A HREF="Fl_Slider.html#Fl_Slider">Fl_Slider</A>
+ <LI><A HREF="Fl_Spinner.html#Fl_Spinner">Fl_Spinner</A>
<LI><A HREF="Fl_Tabs.html#Fl_Tabs">Fl_Tabs</A>
<LI><A HREF="Fl_Text_Display.html">Fl_Text_Display</A>
<UL>
@@ -224,5 +231,675 @@ description of the <TT>fl_</TT> functions, see
</UL>
</UL>
+<H2>Alphabetical List of Methods</H2>
+
+<H3>A</H3><UL>
+<LI>activate: <A href=Fl_Menu_Item.html#Fl_Menu_Item.activate>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.activate>Fl_Widget</A></LI>
+<LI>active: <A href=Fl_Menu_Item.html#Fl_Menu_Item.active>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.active>Fl_Widget</A></LI>
+<LI>active_r: <A href=Fl_Widget.html#Fl_Widget.active_r>Fl_Widget</A></LI>
+<LI>add: <A HREF="Fl_File_Icon.html#Fl_File_Icon.add">Fl_File_Icon</A>,
+ <A href=Fl_Browser.html#Fl_Browser.add>Fl_Browser</A>,
+ <A href=Fl_Chart.html#Fl_Chart.add>Fl_Chart</A>,
+ <A href=Fl_Check_Browser.html#Fl_Check_Browser.add>Fl_Check_Browser</A>,
+ <A href=Fl_Group.html#Fl_Group.add>Fl_Group</A>,
+ <A href=Fl_Input_Choice.html#Fl_Input_Choice.add>Fl_Input_Choice</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.add>Fl_Menu_</A></LI>
+<LI>add_color: <A HREF="Fl_File_Icon.html#Fl_File_Icon.add_color">Fl_File_Icon</A></LI>
+<LI>add_default_key_bindings: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.add_default_key_bindings">Fl_Text_Editor</A></LI>
+<LI>add_key_binding: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.add_key_binding">Fl_Text_Editor</A></LI>
+<LI>add_modify_callback: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.add_modify_callback">Fl_Text_Buffer</A></LI>
+<LI>add_resizable: <A href=Fl_Group.html#Fl_Group.add_resizable>Fl_Group</A></LI>
+<LI>add_vertex: <A HREF="Fl_File_Icon.html#Fl_File_Icon.add_vertex">Fl_File_Icon</A></LI>
+<LI>align: <A href=Fl_Scroll.html#Fl_Scroll.align>Fl_Scroll</A>,
+ <A href=Fl_Widget.html#Fl_Widget.align>Fl_Widget</A></LI>
+<LI>angle1: <A href=Fl_Dial.html#Fl_Dial.angles>Fl_Dial</A></LI>
+<LI>angle2: <A href=Fl_Dial.html#Fl_Dial.angles>Fl_Dial</A></LI>
+<LI>angles: <A href=Fl_Dial.html#Fl_Dial.angles>Fl_Dial</A></LI>
+<LI>append: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.append">Fl_Text_Buffer</A></LI>
+<LI>appendfile: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.appendfile">Fl_Text_Buffer</A></LI>
+<LI>argument: <A href=Fl_Menu_Item.html#Fl_Menu_Item.argument>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.argument>Fl_Widget</A></LI>
+<LI>array: <A href=Fl_Group.html#Fl_Group.array>Fl_Group</A></LI>
+<LI>autosize: <A href=Fl_Chart.html#Fl_Chart.autosize>Fl_Chart</A></LI>
+</UL>
+<H3>B</H3><UL>
+<LI>b: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.b>Fl_Color_Chooser</A></LI>
+<LI>bbox: <A href="Fl_Browser_.html#Fl_Browser_.bbox">Fl_Browser_</A></LI>
+<LI>begin: <A href=Fl_Group.html#Fl_Group.begin>Fl_Group</A></LI>
+<LI>border: <A href=Fl_Window.html#Fl_Window.border>Fl_Window</A></LI>
+<LI>bottomline: <A href=Fl_Browser.html#Fl_Browser.bottomline>Fl_Browser</A></LI>
+<LI>bound_key_function: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.bound_key_function">Fl_Text_Editor</A></LI>
+<LI>bounds: <A href="Fl_Valuator.html#Fl_Valuator.bounds">Fl_Valuator</A>,
+ <A href=Fl_Chart.html#Fl_Chart.bounds>Fl_Chart</A></LI>
+<LI>box: <A href=Fl_Widget.html#Fl_Widget.box>Fl_Widget</A></LI>
+<LI>buffer: <A HREF="Fl_Text_Display.html#Fl_Text_Display.buffer">Fl_Text_Display</A></LI>
+</UL>
+<H3>C</H3><UL>
+<LI>call_modify_callbacks: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.call_modify_callbacks">Fl_Text_Buffer</A></LI>
+<LI>callback: <A href=Fl_Menu_Item.html#Fl_Menu_Item.callback>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.callback>Fl_Widget</A></LI>
+<LI>can_do: <A href=Fl_Gl_Window.html#Fl_Gl_Window.can_do>Fl_Gl_Window</A></LI>
+<LI>can_do_overlay: <A href=Fl_Gl_Window.html#Fl_Gl_Window.can_do_overlay>Fl_Gl_Window</A></LI>
+<LI>changed: <A href="Fl_Valuator.html#Fl_Valuator.changed">Fl_Valuator</A>,
+ <A href=Fl_Choice.html#Fl_Choice.changed>Fl_Choice</A>,
+ <A href=Fl_Widget.html#Fl_Widget.changed>Fl_Widget</A></LI>
+<LI>character: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.character">Fl_Text_Buffer</A></LI>
+<LI>character_width: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.character_width">Fl_Text_Buffer</A></LI>
+<LI>check_all: <A href=Fl_Check_Browser.html#Fl_Check_Browser.check_all>Fl_Check_Browser</A></LI>
+<LI>check_none: <A href=Fl_Check_Browser.html#Fl_Check_Browser.check_none>Fl_Check_Browser</A></LI>
+<LI>checkbox: <A href=Fl_Menu_Item.html#Fl_Menu_Item.checkbox>Fl_Menu_Item</A></LI>
+<LI>checked: <A href=Fl_Check_Browser.html#Fl_Check_Browser.checked>Fl_Check_Browser</A></LI>
+<LI>child: <A href=Fl_Group.html#Fl_Group.child>Fl_Group</A></LI>
+<LI>children: <A href=Fl_Group.html#Fl_Group.children>Fl_Group</A></LI>
+<LI>clamp: <A href="Fl_Valuator.html#Fl_Valuator.clamp">Fl_Valuator</A></LI>
+<LI>clear: <A HREF="Fl_File_Icon.html#Fl_File_Icon.clear">Fl_File_Icon</A>,
+ <A href="Fl_Group.html#Fl_Group.clear">Fl_Group</A>,
+ <A href=Fl_Browser.html#Fl_Browser.clear>Fl_Browser</A>,
+ <A href=Fl_Button.html#Fl_Button.clear>Fl_Button</A>,
+ <A href=Fl_Chart.html#Fl_Chart.clear>Fl_Chart</A>,
+ <A href=Fl_Check_Browser.html#Fl_Check_Browser.clear>Fl_Check_Browser</A>,
+ <A href=Fl_Input_Choice.html#Fl_Input_Choice.clear>Fl_Input_Choice</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.clear>Fl_Menu_</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.clear>Fl_Menu_Item</A></LI>
+<LI>clear_border: <A href=Fl_Window.html#Fl_Window.clear_border>Fl_Window</A></LI>
+<LI>clear_changed: <A href="Fl_Valuator.html#Fl_Valuator.clear_changed">Fl_Valuator</A>,
+ <A href=Fl_Choice.html#Fl_Choice.clear_changed>Fl_Choice</A>,
+ <A href=Fl_Widget.html#Fl_Widget.clear_changed>Fl_Widget</A></LI>
+<LI>clear_output: <A href=Fl_Widget.html#Fl_Widget.clear_output>Fl_Widget</A></LI>
+<LI>clear_overlay: <A href=Fl_Menu_Window.html#Fl_Menu_Window.clear_overlay>Fl_Menu_Window</A></LI>
+<LI>clear_rectangular: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.clear_rectangular">Fl_Text_Buffer</A></LI>
+<LI>clear_visible: <A href=Fl_Widget.html#Fl_Widget.clear_visible>Fl_Widget</A></LI>
+<LI>clear_visible_focus: <A href=Fl_Widget.html#Fl_Widget.clear_visible_focus>Fl_Widget</A></LI>
+<LI>color: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.color">Fl_File_Chooser</A>,
+ <A HREF="Fl_Tooltip.html#Fl_Tooltip.color">Fl_Tooltip</A>,
+ <A href=Fl_Widget.html#Fl_Widget.color>Fl_Widget</A></LI>
+<LI>color_average: <A href="Fl_Image.html#Fl_Image.color_average">Fl_Image</A></LI>
+<LI>column_char: <A href=Fl_Browser.html#Fl_Browser.column_char>Fl_Browser</A></LI>
+<LI>column_widths: <A href=Fl_Browser.html#Fl_Browser.column_widths>Fl_Browser</A></LI>
+<LI>contains: <A href=Fl_Widget.html#Fl_Widget.contains>Fl_Widget</A></LI>
+<LI>context: <A href=Fl_Gl_Window.html#Fl_Gl_Window.context>Fl_Gl_Window</A></LI>
+<LI>context_valid: <A href=Fl_Gl_Window.html#Fl_Gl_Window.context_valid>Fl_Gl_Window</A></LI>
+<LI>copy: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.copy">Fl_Text_Buffer</A>,
+ <A href="Fl_Image.html#Fl_Image.copy">Fl_Image</A>,
+ <A href="Fl_Input_.html#Fl_Input_.copy">Fl_Input_</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.copy>Fl_Menu_</A></LI>
+<LI>copy_cuts: <A href="Fl_Input_.html#Fl_Input_.copy_cuts">Fl_Input_</A></LI>
+<LI>copy_label: <A href=Fl_Widget.html#Fl_Widget.copy_label>Fl_Widget</A></LI>
+<LI>count: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.count">Fl_File_Chooser</A>,
+ <A href="Fl_Image.html#Fl_Image.count">Fl_Image</A></LI>
+<LI>count_displayed_characters: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.count_displayed_characters">Fl_Text_Buffer</A></LI>
+<LI>count_lines: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.count_lines">Fl_Text_Buffer</A></LI>
+<LI>current: <A href=Fl_Group.html#Fl_Group.current>Fl_Group</A>,
+ <A href=Fl_Window.html#Fl_Window.current>Fl_Window</A></LI>
+<LI>cursor: <A href=Fl_Window.html#Fl_Window.cursor>Fl_Window</A></LI>
+<LI>cursor_color: <A HREF="Fl_Text_Display.html#Fl_Text_Display.cursor_color">Fl_Text_Display</A>,
+ <A href="Fl_Value_Input.html#Fl_Value_Input.cursor_color">Fl_Value_Input</A>,
+ <A href=Fl_Input.html#Fl_Input.cursor_color>Fl_Input</A></LI>
+<LI>cursor_style: <A HREF="Fl_Text_Display.html#Fl_Text_Display.cursor_style">Fl_Text_Display</A></LI>
+<LI>cut: <A href="Fl_Input_.html#Fl_Input_.cut">Fl_Input_</A></LI>
+</UL>
+<H3>D</H3><UL>
+<LI>d: <A href="Fl_Image.html#Fl_Image.d">Fl_Image</A></LI>
+<LI>damage: <A href=Fl_Widget.html#Fl_Widget.damage>Fl_Widget</A></LI>
+<LI>data: <A href="Fl_Image.html#Fl_Image.data">Fl_Image</A>,
+ <A href=Fl_Browser.html#Fl_Browser.data>Fl_Browser</A></LI>
+<LI>deactivate: <A href=Fl_Menu_Item.html#Fl_Menu_Item.deactivate>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.deactivate>Fl_Widget</A></LI>
+<LI>default_callback: <A href=Fl_Widget.html#Fl_Widget.default_callback>Fl_Widget</A></LI>
+<LI>default_key_function: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.default_key_function">Fl_Text_Editor</A></LI>
+<LI>deimage: <A href=Fl_Widget.html#Fl_Widget.deimage>Fl_Widget</A></LI>
+<LI>delay: <A HREF="Fl_Tooltip.html#Fl_Tooltip.delay">Fl_Tooltip</A></LI>
+<LI>deleteEntry: <a href="Fl_Preferences.html#Fl_Preferences.deleteEntry">Fl_Preferences</a></LI>
+<LI>deleteGroup: <a href="Fl_Preferences.html#Fl_Preferences.deleteGroup">Fl_Preferences</a></LI>
+<LI>deleting: <A href="Fl_Browser_.html#Fl_Browser_.deleting">Fl_Browser_</A></LI>
+<LI>desaturate: <A href="Fl_Image.html#Fl_Image.desaturate">Fl_Image</A></LI>
+<LI>deselect: <A href="Fl_Browser_.html#Fl_Browser_.deselect">Fl_Browser_</A>,
+ <A href=Fl_Hold_Browser.html#Fl_Hold_Browser.deselect>Fl_Hold_Browser</A>,
+ <A href=Fl_Multi_Browser.html#Fl_Multi_Browser.deselect>Fl_Multi_Browser</A>,
+ <A href=Fl_Select_Browser.html#Fl_Select_Browser.deselect>Fl_Select_Browser</A></LI>
+<LI>direction: <A href=Fl_Timer.html#Fl_Timer.direction>Fl_Timer</A></LI>
+<LI>directory: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.directory">Fl_File_Chooser</A>,
+ <A HREF="Fl_Help_View.html#Fl_Help_View.directory">Fl_Help_View</A></LI>
+<LI>disable: <A HREF="Fl_Tooltip.html#Fl_Tooltip.disable">Fl_Tooltip</A></LI>
+<LI>display: <A href="Fl_Browser_.html#Fl_Browser_.display">Fl_Browser_</A></LI>
+<LI>displayed: <A href="Fl_Browser_.html#Fl_Browser_.displayed">Fl_Browser_</A></LI>
+<LI>do_callback: <A href=Fl_Menu_Item.html#Fl_Menu_Item.do_callback>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.do_callback>Fl_Widget</A></LI>
+<LI>down_box: <A href="Fl_File_Input.html#Fl_File_Input.down_box">Fl_File_Input</A>,
+ <A href=Fl_Button.html#Fl_Button.down_box>Fl_Button</A>,
+ <A href=Fl_Choice.html#Fl_Choice.down_box>Fl_Choice</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.down_box>Fl_Menu_</A></LI>
+<LI>draw: <A HREF="Fl_File_Icon.html#Fl_File_Icon.draw">Fl_File_Icon</A>,
+ <A href="Fl_Browser_.html#Fl_Browser_.draw">Fl_Browser_</A>,
+ <A href="Fl_Image.html#Fl_Image.draw">Fl_Image</A>,
+ <A href=Fl_Gl_Window.html#Fl_Gl_Window.draw>Fl_Gl_Window</A></LI>
+<LI>draw_empty: <A href="Fl_Image.html#Fl_Image.draw_empty">Fl_Image</A></LI>
+<LI>draw_overlay: <A href=Fl_Gl_Window.html#Fl_Gl_Window.draw_overlay>Fl_Gl_Window</A>,
+ <A href=Fl_Overlay_Window.html#Fl_Overlay_Window.draw_overlay>Fl_Overlay_Window</A></LI>
+<LI>drawtext: <A href="Fl_Input_.html#Fl_Input_.drawtext">Fl_Input_</A></LI>
+</UL>
+<H3>E</H3><UL>
+<LI>enable: <A HREF="Fl_Tooltip.html#Fl_Tooltip.enable">Fl_Tooltip</A></LI>
+<LI>enabled: <A HREF="Fl_Tooltip.html#Fl_Tooltip.enabled">Fl_Tooltip</A></LI>
+<LI>end: <A href=Fl_Group.html#Fl_Group.end>Fl_Group</A></LI>
+<LI>enter: <A HREF="Fl_Tooltip.html#Fl_Tooltip.enter">Fl_Tooltip</A></LI>
+<LI>enter_area: <A HREF="Fl_Tooltip.html#Fl_Tooltip.enter_area">Fl_Tooltip</A></LI>
+<LI>entries: <a href="Fl_Preferences.html#Fl_Preferences.entries">Fl_Preferences</a></LI>
+<LI>entry: <a href="Fl_Preferences.html#Fl_Preferences.entry">Fl_Preferences</a></LI>
+<LI>entryExists: <a href="Fl_Preferences.html#Fl_Preferences.entryExists">Fl_Preferences</a></LI>
+<LI>exit: <A HREF="Fl_Tooltip.html#Fl_Tooltip.exit">Fl_Tooltip</A></LI>
+<LI>expand_character: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.expand_character">Fl_Text_Buffer</A></LI>
+</UL>
+<H3>F</H3><UL>
+<LI>filename: <A HREF="Fl_Help_View.html#Fl_Help_View.filename">Fl_Help_View</A></LI>
+<LI>filetype: <A HREF="Fl_File_Browser.html#Fl_File_Browser.filetype">Fl_File_Browser</A></LI>
+<LI>filter: <A HREF="Fl_File_Browser.html#Fl_File_Browser.filter">Fl_File_Browser</A>,
+ <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.filter">Fl_File_Chooser</A></LI>
+<LI>filter_value: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.filter_value">Fl_File_Chooser</A></LI>
+<LI>find: <A HREF="Fl_File_Icon.html#Fl_File_Icon.find">Fl_File_Icon</A>,
+ <A href="Fl_Shared_Image.html#Fl_Shared_Image.find">Fl_Shared_Image</A>,
+ <A href=Fl_Group.html#Fl_Group.find>Fl_Group</A></LI>
+<LI>find_item: <A href="Fl_Browser_.html#Fl_Browser_.find_item">Fl_Browser_</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.find_item>Fl_Menu_</A></LI>
+<LI>findchar_backward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.findchar_backward">Fl_Text_Buffer</A></LI>
+<LI>findchar_forward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.findchar_forward">Fl_Text_Buffer</A></LI>
+<LI>findchars_backward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.findchars_backward">Fl_Text_Buffer</A></LI>
+<LI>findchars_forward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.findchars_forward">Fl_Text_Buffer</A></LI>
+<LI>first: <A HREF="Fl_File_Icon.html#Fl_File_Icon.first">Fl_File_Icon</A></LI>
+<LI>font: <A HREF="Fl_Tooltip.html#Fl_Tooltip.font">Fl_Tooltip</A></LI>
+<LI>format: <A href="Fl_Valuator.html#Fl_Valuator.format">Fl_Valuator</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.format>Fl_Spinner</a></LI>
+<LI>format_char: <A href=Fl_Browser.html#Fl_Browser.format_char>Fl_Browser</A></LI>
+<LI>free_position: <A href=Fl_Window.html#Fl_Window.free_position>Fl_Window</A></LI>
+<LI>full_height: <A href="Fl_Browser_.html#Fl_Browser_.full_height">Fl_Browser_</A></LI>
+<LI>full_width: <A href="Fl_Browser_.html#Fl_Browser_.full_width">Fl_Browser_</A></LI>
+<LI>fullscreen: <A href=Fl_Window.html#Fl_Window.fullscreen>Fl_Window</A></LI>
+<LI>fullscreen_off: <A href=Fl_Window.html#Fl_Window.fullscreen_off>Fl_Window</A></LI>
+</UL>
+<H3>G</H3><UL>
+<LI>g: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.g>Fl_Color_Chooser</A></LI>
+<LI>get: <A href="Fl_Shared_Image.html#Fl_Shared_Image.get">Fl_Shared_Image</A>,
+ <a href="Fl_Preferences.html#Fl_Preferences.get">Fl_Preferences</a></LI>
+<LI>getUserdataPath: <a href="Fl_Preferences.html#Fl_Preferences.getUserdataPath">Fl_Preferences</a></LI>
+<LI>global: <A href=Fl_Menu_.html#Fl_Menu_.global>Fl_Menu_</A></LI>
+<LI>group: <a href="Fl_Preferences.html#Fl_Preferences.group">Fl_Preferences</a></LI>
+<LI>groupExists: <a href="Fl_Preferences.html#Fl_Preferences.groupExists">Fl_Preferences</a></LI>
+<LI>groups: <a href="Fl_Preferences.html#Fl_Preferences.groups">Fl_Preferences</a></LI>
+</UL>
+<H3>H</H3><UL>
+<LI>h: <A href="Fl_Image.html#Fl_Image.h">Fl_Image</A>,
+ <A href=Fl_Widget.html#Fl_Widget.h>Fl_Widget</A></LI>
+<LI>handle: <A href="Fl_Browser_.html#Fl_Browser_.handle">Fl_Browser_</A>,
+ <A href=Fl_Widget.html#Fl_Widget.handle>Fl_Widget</A></LI>
+<LI>handletext: <A href="Fl_Input_.html#Fl_Input_.handletext">Fl_Input_</A></LI>
+<LI>has_scrollbar: <A href="Fl_Browser_.html#Fl_Browser_.has_scrollbar">Fl_Browser_</A></LI>
+<LI>hide: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.hide">Fl_File_Chooser</A>,
+ <A HREF="Fl_Help_Dialog.html#Fl_Help_Dialog.hide">Fl_Help_Dialog</A>,
+ <A href=Fl_Browser.html#Fl_Browser.hide>Fl_Browser</A>,
+ <A href=Fl_Gl_Window.html#Fl_Gl_Window.hide>Fl_Gl_Window</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.hide>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.hide>Fl_Widget</A>,
+ <A href=Fl_Window.html#Fl_Window.hide>Fl_Window</A></LI>
+<LI>hide_cursor: <A HREF="Fl_Text_Display.html#Fl_Text_Display.hide_cursor">Fl_Text_Display</A></LI>
+<LI>highlight: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.highlight">Fl_Text_Buffer</A></LI>
+<LI>highlight_data: <A HREF="Fl_Text_Display.html#Fl_Text_Display.highlight_data">Fl_Text_Display</A></LI>
+<LI>highlight_position: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.highlight_position">Fl_Text_Buffer</A></LI>
+<LI>highlight_rectangular: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.highlight_rectangular">Fl_Text_Buffer</A></LI>
+<LI>highlight_selection: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.highlight_selection">Fl_Text_Buffer</A></LI>
+<LI>highlight_text: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.highlight_text">Fl_Text_Buffer</A></LI>
+<LI>hotspot: <A href=Fl_Window.html#Fl_Window.hotspot>Fl_Window</A></LI>
+<LI>hour: <A href=Fl_Clock.html#Fl_Clock.hour>Fl_Clock</A>,
+ <A href=Fl_Clock_Output.html#Fl_Clock_Output.hour>Fl_Clock_Output</A></LI>
+<LI>hoverdelay: <A HREF="Fl_Tooltip.html#Fl_Tooltip.hoverdelay">Fl_Tooltip</A></LI>
+<LI>hposition: <A href="Fl_Browser_.html#Fl_Browser_.hposition">Fl_Browser_</A></LI>
+<LI>hsv2rgb: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.hsv2rgb>Fl_Color_Chooser</A></LI>
+<LI>hsv: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.hsv>Fl_Color_Chooser</A></LI>
+<LI>hue: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.hue>Fl_Color_Chooser</A></LI>
+</UL>
+<H3>I</H3><UL>
+<LI>iconize: <A href=Fl_Window.html#Fl_Window.iconize>Fl_Window</A></LI>
+<LI>iconlabel: <A href=Fl_Window.html#Fl_Window.iconlabel>Fl_Window</A></LI>
+<LI>iconsize: <A HREF="Fl_File_Browser.html#Fl_File_Browser.iconsize">Fl_File_Browser</A>,
+ <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.iconsize">Fl_File_Chooser</A></LI>
+<LI>image: <A href="Fl_Tiled_Image.html#Fl_Tiled_Image.image">Fl_Tiled_Image</A>,
+ <A href=Fl_Widget.html#Fl_Widget.image>Fl_Widget</A></LI>
+<LI>images: <A href="Fl_Shared_Image.html#Fl_Shared_Image.images">Fl_Shared_Image</A></LI>
+<LI>in_selection: <A HREF="Fl_Text_Display.html#Fl_Text_Display.in_selection">Fl_Text_Display</A></LI>
+<LI>inactive: <A href="Fl_Image.html#Fl_Image.inactive">Fl_Image</A></LI>
+<LI>incr_height: <A href="Fl_Browser_.html#Fl_Browser_.incr_height">Fl_Browser_</A></LI>
+<LI>increment: <A href="Fl_Valuator.html#Fl_Valuator.increment">Fl_Valuator</A></LI>
+<LI>index: <A href=Fl_Input.html#Fl_Input.index>Fl_Input</A>,
+ <A href=Fl_Output.html#Fl_Output.index>Fl_Output</A></LI>
+<LI>init_sizes: <A href=Fl_Group.html#Fl_Group.init_sizes>Fl_Group</A></LI>
+<LI>input: <A href=Fl_Input_Choice.html#Fl_Input_Choice.input>Fl_Input_Choice</A></LI>
+<LI>input_type: <A href="Fl_Input_.html#Fl_Input_.input_type">Fl_Input_</A></LI>
+<LI>insert: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.insert">Fl_Text_Buffer</A>,
+ <A HREF="Fl_Text_Display.html#Fl_Text_Display.insert">Fl_Text_Display</A>,
+ <A href="Fl_Input_.html#Fl_Input_.insert">Fl_Input_</A>,
+ <A href=Fl_Browser.html#Fl_Browser.insert>Fl_Browser</A>,
+ <A href=Fl_Chart.html#Fl_Chart.insert>Fl_Chart</A>,
+ <A href=Fl_Group.html#Fl_Group.insert>Fl_Group</A></LI>
+<LI>insert_column: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.insert_column">Fl_Text_Buffer</A></LI>
+<LI>insert_mode: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.insert_mode">Fl_Text_Editor</A></LI>
+<LI>insert_position: <A HREF="Fl_Text_Display.html#Fl_Text_Display.insert_position">Fl_Text_Display</A></LI>
+<LI>insertfile: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.insertfile">Fl_Text_Buffer</A></LI>
+<LI>inserting: <A href="Fl_Browser_.html#Fl_Browser_.inserting">Fl_Browser_</A></LI>
+<LI>inside: <A href=Fl_Widget.html#Fl_Widget.inside>Fl_Widget</A></LI>
+<LI>invalidate: <A href=Fl_Gl_Window.html#Fl_Gl_Window.invalidate>Fl_Gl_Window</A></LI>
+<LI>item_draw: <A href="Fl_Browser_.html#Fl_Browser_.item_draw">Fl_Browser_</A></LI>
+<LI>item_first: <A href="Fl_Browser_.html#Fl_Browser_.item_first">Fl_Browser_</A></LI>
+<LI>item_height: <A href="Fl_Browser_.html#Fl_Browser_.item_height">Fl_Browser_</A></LI>
+<LI>item_next: <A href="Fl_Browser_.html#Fl_Browser_.item_next">Fl_Browser_</A></LI>
+<LI>item_pathname: <A href=Fl_Menu_.html#Fl_Menu_.item_pathname>Fl_Menu_</A></LI>
+<LI>item_prev: <A href="Fl_Browser_.html#Fl_Browser_.item_prev">Fl_Browser_</A></LI>
+<LI>item_quick_height: <A href="Fl_Browser_.html#Fl_Browser_.item_quick_height">Fl_Browser_</A></LI>
+<LI>item_select: <A href="Fl_Browser_.html#Fl_Browser_.item_select">Fl_Browser_</A></LI>
+<LI>item_selected: <A href="Fl_Browser_.html#Fl_Browser_.item_selected">Fl_Browser_</A></LI>
+<LI>item_width: <A href="Fl_Browser_.html#Fl_Browser_.item_width">Fl_Browser_</A></LI>
+</UL>
+<H3>K</H3><UL>
+<LI>kf_backspace: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_backspace">Fl_Text_Editor</A></LI>
+<LI>kf_c_s_move: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_c_s_move">Fl_Text_Editor</A></LI>
+<LI>kf_copy: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_copy">Fl_Text_Editor</A></LI>
+<LI>kf_ctrl_move: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_ctrl_move">Fl_Text_Editor</A></LI>
+<LI>kf_cut: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_cut">Fl_Text_Editor</A></LI>
+<LI>kf_default: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_default">Fl_Text_Editor</A></LI>
+<LI>kf_delete: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_delete">Fl_Text_Editor</A></LI>
+<LI>kf_down: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_down">Fl_Text_Editor</A></LI>
+<LI>kf_end: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_end">Fl_Text_Editor</A></LI>
+<LI>kf_enter: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_enter">Fl_Text_Editor</A></LI>
+<LI>kf_home: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_home">Fl_Text_Editor</A></LI>
+<LI>kf_ignore: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_ignore">Fl_Text_Editor</A></LI>
+<LI>kf_insert: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_insert">Fl_Text_Editor</A></LI>
+<LI>kf_left: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_left">Fl_Text_Editor</A></LI>
+<LI>kf_move: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_move">Fl_Text_Editor</A></LI>
+<LI>kf_page_down: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_page_down">Fl_Text_Editor</A></LI>
+<LI>kf_page_up: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_page_up">Fl_Text_Editor</A></LI>
+<LI>kf_paste: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_paste">Fl_Text_Editor</A></LI>
+<LI>kf_right: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_right">Fl_Text_Editor</A></LI>
+<LI>kf_select_all: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_select_all">Fl_Text_Editor</A></LI>
+<LI>kf_shift_move: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_shift_move">Fl_Text_Editor</A></LI>
+<LI>kf_up: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.kf_up">Fl_Text_Editor</A></LI>
+</UL>
+<H3>L</H3><UL>
+<LI>label: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.label">Fl_File_Chooser</A>,
+ <A HREF="Fl_File_Icon.html#Fl_File_Icon.label">Fl_File_Icon</A>,
+ <A href="Fl_Image.html#Fl_Image.label">Fl_Image</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.label>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.label>Fl_Widget</A>,
+ <A href=Fl_Window.html#Fl_Window.label>Fl_Window</A></LI>
+<LI>labelcolor: <A href=Fl_Menu_Item.html#Fl_Menu_Item.labelcolor>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.labelcolor>Fl_Widget</A></LI>
+<LI>labelfont: <A href=Fl_Menu_Item.html#Fl_Menu_Item.labelfont>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.labelfont>Fl_Widget</A></LI>
+<LI>labelsize: <A href=Fl_Menu_Item.html#Fl_Menu_Item.labelsize>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.labelsize>Fl_Widget</A></LI>
+<LI>labeltype: <A HREF="Fl_File_Icon.html#Fl_File_Icon.labeltype">Fl_File_Icon</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.labeltype>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.labeltype>Fl_Widget</A></LI>
+<LI>ld: <A href="Fl_Image.html#Fl_Image.ld">Fl_Image</A></LI>
+<LI>leftedge: <A href="Fl_Browser_.html#Fl_Browser_.leftedge">Fl_Browser_</A></LI>
+<LI>length: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.length">Fl_Text_Buffer</A></LI>
+<LI>line_end: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.line_end">Fl_Text_Buffer</A></LI>
+<LI>line_start: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.line_start">Fl_Text_Buffer</A></LI>
+<LI>line_text: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.line_text">Fl_Text_Buffer</A></LI>
+<LI>lineboundary: <A href="Fl_Input_.html#Fl_Input_.lineboundary">Fl_Input_</A></LI>
+<LI>linesize: <A href=Fl_Scrollbar.html#Fl_Scrollbar.linesize>Fl_Scrollbar</A></LI>
+<LI>link: <A HREF="Fl_Help_View.html#Fl_Help_View.link">Fl_Help_View</A></LI>
+<LI>load: <A HREF="Fl_File_Browser.html#Fl_File_Browser.load">Fl_File_Browser</A>,
+ <A HREF="Fl_File_Icon.html#Fl_File_Icon.load">Fl_File_Icon</A>,
+ <A HREF="Fl_Help_Dialog.html#Fl_Help_Dialog.load">Fl_Help_Dialog</A>,
+ <A HREF="Fl_Help_View.html#Fl_Help_View.load">Fl_Help_View</A>,
+ <A href=Fl_Browser.html#Fl_Browser.load>Fl_Browser</A></LI>
+<LI>load_fti: <A HREF="Fl_File_Icon.html#Fl_File_Icon.load_fti">Fl_File_Icon</A></LI>
+<LI>load_system_icons: <A HREF="Fl_File_Icon.html#Fl_File_Icon.load_system_icons">Fl_File_Icon</A></LI>
+<LI>load_xpm: <A HREF="Fl_File_Icon.html#Fl_File_Icon.load_xpm">Fl_File_Icon</A></LI>
+<LI>loadfile: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.loadfile">Fl_Text_Buffer</A></LI>
+<LI>lstep: <A href=Fl_Counter.html#Fl_Counter.lstep>Fl_Counter</A></LI>
+</UL>
+<H3>M</H3><UL>
+<LI>make_current: <A href=Fl_Gl_Window.html#Fl_Gl_Window.make_current>Fl_Gl_Window</A>,
+ <A href=Fl_Window.html#Fl_Window.make_current>Fl_Window</A></LI>
+<LI>make_overlay_current: <A href=Fl_Gl_Window.html#Fl_Gl_Window.make_overlay_current>Fl_Gl_Window</A></LI>
+<LI>mark: <A href="Fl_Input_.html#Fl_Input_.mark">Fl_Input_</A></LI>
+<LI>maximum: <A href="Fl_Progress.html#Fl_Progress.maximum">Fl_Progress</A>,
+ <A href="Fl_Valuator.html#Fl_Valuator.maximum">Fl_Valuator</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.maximum>Fl_Spinner</a></LI>
+<LI>maximum_size: <A href="Fl_Input_.html#Fl_Input_.maximum_size">Fl_Input_</A></LI>
+<LI>maxsize: <A href=Fl_Chart.html#Fl_Chart.maxsize>Fl_Chart</A></LI>
+<LI>maybe_do_callback: <A href="Fl_Input_.html#Fl_Input_.maybe_do_callback">Fl_Input_</A></LI>
+<LI>menu: <A href=Fl_Input_Choice.html#Fl_Input_Choice.menu>Fl_Input_Choice</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.menu>Fl_Menu_</A></LI>
+<LI>menubutton: <A href=Fl_Input_Choice.html#Fl_Input_Choice.menubutton>Fl_Input_Choice</A></LI>
+<LI>middleline: <A href=Fl_Browser.html#Fl_Browser.middleline>Fl_Browser</A></LI>
+<LI>minimum: <A href="Fl_Progress.html#Fl_Progress.minimum">Fl_Progress</A>,
+ <A href="Fl_Valuator.html#Fl_Valuator.minimum">Fl_Valuator</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.minimum>Fl_Spinner</a></LI>
+<LI>minute: <A href=Fl_Clock.html#Fl_Clock.minute>Fl_Clock</A>,
+ <A href=Fl_Clock_Output.html#Fl_Clock_Output.minute>Fl_Clock_Output</A></LI>
+<LI>modal: <A href=Fl_Window.html#Fl_Window.modal>Fl_Window</A></LI>
+<LI>mode: <A href=Fl_Gl_Window.html#Fl_Gl_Window.mode>Fl_Gl_Window</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.mode>Fl_Menu_</A></LI>
+<LI>move: <A href=Fl_Browser.html#Fl_Browser.move>Fl_Browser</A></LI>
+<LI>move_down: <A HREF="Fl_Text_Display.html#Fl_Text_Display.move_down">Fl_Text_Display</A></LI>
+<LI>move_left: <A HREF="Fl_Text_Display.html#Fl_Text_Display.move_left">Fl_Text_Display</A></LI>
+<LI>move_right: <A HREF="Fl_Text_Display.html#Fl_Text_Display.move_right">Fl_Text_Display</A></LI>
+<LI>move_up: <A HREF="Fl_Text_Display.html#Fl_Text_Display.move_up">Fl_Text_Display</A></LI>
+<LI>mvalue: <A href=Fl_Menu_.html#Fl_Menu_.mvalue>Fl_Menu_</A></LI>
+</UL>
+<H3>N</H3><UL>
+<LI>name: <A href="Fl_Shared_Image.html#Fl_Shared_Image.name">Fl_Shared_Image</A></LI>
+<LI>nchecked: <A href=Fl_Check_Browser.html#Fl_Check_Browser.nchecked>Fl_Check_Browser</A></LI>
+<LI>new_list: <A href="Fl_Browser_.html#Fl_Browser_.new_list">Fl_Browser_</A></LI>
+<LI>next: <A HREF="Fl_Wizard.html#Fl_Wizard.next">Fl_Wizard</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.next>Fl_Menu_Item</A></LI>
+<LI>next_word: <A HREF="Fl_Text_Display.html#Fl_Text_Display.next_word">Fl_Text_Display</A></LI>
+<LI>nitems: <A href=Fl_Check_Browser.html#Fl_Check_Browser.nitems>Fl_Check_Browser</A></LI>
+<LI>non_modal: <A href=Fl_Window.html#Fl_Window.non_modal>Fl_Window</A></LI>
+<LI>null_substitution_character: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.null_substitution_character">Fl_Text_Buffer</A></LI>
+<LI>num_images: <A href="Fl_Shared_Image.html#Fl_Shared_Image.num_images">Fl_Shared_Image</A></LI>
+</UL>
+<H3>O</H3><UL>
+<LI>ok_label: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.ok_label">Fl_File_Chooser</A></LI>
+<LI>ortho: <A href=Fl_Gl_Window.html#Fl_Gl_Window.ortho>Fl_Gl_Window</A></LI>
+<LI>output: <A href=Fl_Widget.html#Fl_Widget.output>Fl_Widget</A></LI>
+<LI>outputfile: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.outputfile">Fl_Text_Buffer</A></LI>
+<LI>overlay_rectangular: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.overlay_rectangular">Fl_Text_Buffer</A></LI>
+<LI>overstrike: <A HREF="Fl_Text_Display.html#Fl_Text_Display.overstrike">Fl_Text_Display</A></LI>
+</UL>
+<H3>P</H3><UL>
+<LI>parent: <A href=Fl_Widget.html#Fl_Widget.parent>Fl_Widget</A></LI>
+<LI>pattern: <A HREF="Fl_File_Icon.html#Fl_File_Icon.pattern">Fl_File_Icon</A></LI>
+<LI>popup: <A href=Fl_Menu_Button.html#Fl_Menu_Button.popup>Fl_Menu_Button</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.popup>Fl_Menu_Item</A></LI>
+<LI>position: <A href="Fl_Browser_.html#Fl_Browser_.position">Fl_Browser_</A>,
+ <A href="Fl_Input_.html#Fl_Input_.position">Fl_Input_</A>,
+ <A href=Fl_Browser.html#Fl_Browser.position>Fl_Browser</A>,
+ <A href=Fl_Scroll.html#Fl_Scroll.position>Fl_Scroll</A>,
+ <A href=Fl_Tile.html#Fl_Tile.position>Fl_Tile</A>,
+ <A href=Fl_Widget.html#Fl_Widget.position>Fl_Widget</A></LI>
+<LI>position_style: <A HREF="Fl_Text_Display.html#Fl_Text_Display.position_style">Fl_Text_Display</A></LI>
+<LI>precision: <A href="Fl_Valuator.html#Fl_Valuator.precision">Fl_Valuator</A></LI>
+<LI>prev: <A HREF="Fl_Wizard.html#Fl_Wizard.prev">Fl_Wizard</A></LI>
+<LI>preview: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.preview">Fl_File_Chooser</A></LI>
+<LI>previous_word: <A HREF="Fl_Text_Display.html#Fl_Text_Display.previous_word">Fl_Text_Display</A></LI>
+<LI>primary_selection: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.primary_selection">Fl_Text_Buffer</A></LI>
+<LI>pulldown: <A href=Fl_Menu_Item.html#Fl_Menu_Item.pulldown>Fl_Menu_Item</A></LI>
+</UL>
+<H3>R</H3><UL>
+<LI>r: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.r>Fl_Color_Chooser</A></LI>
+<LI>radio: <A href=Fl_Menu_Item.html#Fl_Menu_Item.radio>Fl_Menu_Item</A></LI>
+<LI>range: <A href="Fl_Valuator.html#Fl_Valuator.range">Fl_Valuator</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.range>Fl_Spinner</a></LI>
+<LI>readonly: <A href="Fl_Input_.html#Fl_Input_.readonly">Fl_Input_</A></LI>
+<LI>redisplay_range: <A HREF="Fl_Text_Display.html#Fl_Text_Display.redisplay_range">Fl_Text_Display</A></LI>
+<LI>redraw: <A href=Fl_Widget.html#Fl_Widget.redraw>Fl_Widget</A></LI>
+<LI>redraw_label: <A href=Fl_Widget.html#Fl_Widget.redraw_label>Fl_Widget</A></LI>
+<LI>redraw_line: <A href="Fl_Browser_.html#Fl_Browser_.redraw_line">Fl_Browser_</A>,
+ <A href="Fl_Browser_.html#Fl_Browser_.redraw_lines">Fl_Browser_</A></LI>
+<LI>redraw_overlay: <A href=Fl_Gl_Window.html#Fl_Gl_Window.redraw_overlay>Fl_Gl_Window</A>,
+ <A href=Fl_Overlay_Window.html#Fl_Overlay_Window.redraw_overlay>Fl_Overlay_Window</A></LI>
+<LI>refcount: <A href="Fl_Shared_Image.html#Fl_Shared_Image.refcount">Fl_Shared_Image</A></LI>
+<LI>release: <A href="Fl_Shared_Image.html#Fl_Shared_Image.release">Fl_Shared_Image</A></LI>
+<LI>reload: <A href="Fl_Shared_Image.html#Fl_Shared_Image.reload">Fl_Shared_Image</A></LI>
+<LI>remove: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.remove">Fl_Text_Buffer</A>,
+ <A href=Fl_Browser.html#Fl_Browser.remove>Fl_Browser</A>,
+ <A href=Fl_Group.html#Fl_Group.remove>Fl_Group</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.remove>Fl_Menu_</A></LI>
+<LI>remove_all_key_bindings: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.remove_all_key_bindings">Fl_Text_Editor</A></LI>
+<LI>remove_key_binding: <A HREF="Fl_Text_Editor.html#Fl_Text_Editor.remove_key_binding">Fl_Text_Editor</A></LI>
+<LI>remove_modify_callback: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.remove_modify_callback">Fl_Text_Buffer</A></LI>
+<LI>remove_rectangular: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.remove_rectangular">Fl_Text_Buffer</A></LI>
+<LI>remove_secondary_selection: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.remove_secondary_selection">Fl_Text_Buffer</A></LI>
+<LI>remove_selection: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.remove_selection">Fl_Text_Buffer</A></LI>
+<LI>replace: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.replace">Fl_Text_Buffer</A>,
+ <A href="Fl_Input_.html#Fl_Input_.replace">Fl_Input_</A>,
+ <A href=Fl_Chart.html#Fl_Chart.replace>Fl_Chart</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.replace>Fl_Menu_</A></LI>
+<LI>replace_rectangular: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.replace_rectangular">Fl_Text_Buffer</A></LI>
+<LI>replace_secondary_selection: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.replace_secondary_selection">Fl_Text_Buffer</A></LI>
+<LI>replace_selection: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.replace_selection">Fl_Text_Buffer</A></LI>
+<LI>replacing: <A href="Fl_Browser_.html#Fl_Browser_.replacing">Fl_Browser_</A></LI>
+<LI>rescan: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.rescan">Fl_File_Chooser</A></LI>
+<LI>resizable: <A href=Fl_Group.html#Fl_Group.resizable>Fl_Group</A></LI>
+<LI>resize: <A href="Fl_Browser_.html#Fl_Browser_.resize">Fl_Browser_</A>,
+ <A href=Fl_Widget.html#Fl_Widget.resize>Fl_Widget</A>,
+ <A href=Fl_Window.html#Fl_Window.resize>Fl_Window</A></LI>
+<LI>resizeable: <A href=Fl_Tile.html#Fl_Tile.resizeable>Fl_Tile</A></LI>
+<LI>rewind_lines: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.rewind_lines">Fl_Text_Buffer</A></LI>
+<LI>rgb2hsv: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.rgb2hsv>Fl_Color_Chooser</A></LI>
+<LI>rgb: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.rgb>Fl_Color_Chooser</A></LI>
+<LI>round: <A href="Fl_Valuator.html#Fl_Valuator.round">Fl_Valuator</A></LI>
+</UL>
+<H3>S</H3><UL>
+<LI>saturation: <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.saturation>Fl_Color_Chooser</A></LI>
+<LI>savefile: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.savefile">Fl_Text_Buffer</A></LI>
+<LI>scroll: <A HREF="Fl_Text_Display.html#Fl_Text_Display.scroll">Fl_Text_Display</A></LI>
+<LI>scrollbar_align: <A HREF="Fl_Text_Display.html#Fl_Text_Display.scrollbar_align">Fl_Text_Display</A></LI>
+<LI>scrollbar_left: <A href="Fl_Browser_.html#Fl_Browser_.scrollbar_left">Fl_Browser_</A></LI>
+<LI>scrollbar_right: <A href="Fl_Browser_.html#Fl_Browser_.scrollbar_right">Fl_Browser_</A></LI>
+<LI>scrollbar_size: <A HREF="Fl.html#Fl.scrollbar_size">Fl</A></LI>
+<LI>scrollbar_width: <A HREF="Fl_Browser_.html#Fl_Browser_.scrollbar_width">Fl_Browser_</A>, <A HREF="Fl_Text_Display.html#Fl_Text_Display.scrollbar_width">Fl_Text_Display</A></LI>
+<LI>scrollvalue: <A href=Fl_Slider.html#Fl_Slider.scrollvalue>Fl_Slider</A></LI>
+<LI>search_backward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.search_backward">Fl_Text_Buffer</A></LI>
+<LI>search_forward: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.search_forward">Fl_Text_Buffer</A></LI>
+<LI>second: <A href=Fl_Clock.html#Fl_Clock.second>Fl_Clock</A>,
+ <A href=Fl_Clock_Output.html#Fl_Clock_Output.second>Fl_Clock_Output</A></LI>
+<LI>secondary_select: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.secondary_select">Fl_Text_Buffer</A></LI>
+<LI>secondary_select_rectangular: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.secondary_select_rectangular">Fl_Text_Buffer</A></LI>
+<LI>secondary_selection: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.secondary_selection">Fl_Text_Buffer</A></LI>
+<LI>secondary_selection_position: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.secondary_selection_position">Fl_Text_Buffer</A></LI>
+<LI>secondary_selection_text: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.secondary_selection_text">Fl_Text_Buffer</A></LI>
+<LI>secondary_unselect: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.secondary_unselect">Fl_Text_Buffer</A></LI>
+<LI>select: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.select">Fl_Text_Buffer</A>,
+ <A href="Fl_Browser_.html#Fl_Browser_.select">Fl_Browser_</A>,
+ <A href=Fl_Hold_Browser.html#Fl_Hold_Browser.select>Fl_Hold_Browser</A>,
+ <A href=Fl_Multi_Browser.html#Fl_Multi_Browser.select>Fl_Multi_Browser</A>,
+ <A href=Fl_Select_Browser.html#Fl_Select_Browser.select>Fl_Select_Browser</A></LI>
+<LI>select_only: <A href="Fl_Browser_.html#Fl_Browser_.select_only">Fl_Browser_</A></LI>
+<LI>select_rectangular: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.select_rectangular">Fl_Text_Buffer</A></LI>
+<LI>selected: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.selected">Fl_Text_Buffer</A></LI>
+<LI>selection: <A href="Fl_Browser_.html#Fl_Browser_.selection">Fl_Browser_</A></LI>
+<LI>selection_color: <A href=Fl_Widget.html#Fl_Widget.selection_color>Fl_Widget</A></LI>
+<LI>selection_position: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.selection_position">Fl_Text_Buffer</A></LI>
+<LI>selection_text: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.selection_text">Fl_Text_Buffer</A></LI>
+<LI>set: <A href=Fl_Button.html#Fl_Button.set>Fl_Button</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.set>Fl_Menu_Item</A>,
+ <a href="Fl_Preferences.html#Fl_Preferences.set">Fl_Preferences</a></LI>
+<LI>set_changed: <A href="Fl_Valuator.html#Fl_Valuator.set_changed">Fl_Valuator</A>,
+ <A href=Fl_Choice.html#Fl_Choice.set_changed>Fl_Choice</A>,
+ <A href=Fl_Widget.html#Fl_Widget.set_changed>Fl_Widget</A>,
+ <A href=Fl_Check_Browser.html#Fl_Check_Browser.set_checked>Fl_Check_Browser</A></LI>
+<LI>set_modal: <A href=Fl_Window.html#Fl_Window.set_modal>Fl_Window</A></LI>
+<LI>set_non_modal: <A href=Fl_Window.html#Fl_Window.set_non_modal>Fl_Window</A></LI>
+<LI>set_output: <A href=Fl_Widget.html#Fl_Widget.set_output>Fl_Widget</A></LI>
+<LI>set_overlay: <A href=Fl_Menu_Window.html#Fl_Menu_Window.set_overlay>Fl_Menu_Window</A></LI>
+<LI>set_visible: <A href=Fl_Widget.html#Fl_Widget.set_visible>Fl_Widget</A></LI>
+<LI>set_visible_focus: <A href=Fl_Widget.html#Fl_Widget.set_visible_focus>Fl_Widget</A></LI>
+<LI>setonly: <A href=Fl_Button.html#Fl_Button.setonly>Fl_Button</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.setonly>Fl_Menu_Item</A></LI>
+<LI>shortcut: <A href=Fl_Button.html#Fl_Button.shortcut>Fl_Button</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.shortcut>Fl_Menu_</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.shortcut>Fl_Menu_Item</A></LI>
+<LI>show: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.show">Fl_File_Chooser</A>,
+ <A HREF="Fl_Help_Dialog.html#Fl_Help_Dialog.show">Fl_Help_Dialog</A>,
+ <A href=Fl_Browser.html#Fl_Browser.show>Fl_Browser</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.show>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.show>Fl_Widget</A>,
+ <A href=Fl_Window.html#Fl_Window.show>Fl_Window</A></LI>
+<LI>show_cursor: <A HREF="Fl_Text_Display.html#Fl_Text_Display.show_cursor">Fl_Text_Display</A></LI>
+<LI>show_insert_position: <A HREF="Fl_Text_Display.html#Fl_Text_Display.show_insert_position">Fl_Text_Display</A></LI>
+<LI>shown: <A href=Fl_Window.html#Fl_Window.shown>Fl_Window</A></LI>
+<LI>size: <A HREF="Fl_File_Icon.html#Fl_File_Icon.size">Fl_File_Icon</A>,
+ <A HREF="Fl_Help_View.html#Fl_Help_View.size">Fl_Help_View</A>,
+ <A HREF="Fl_Tooltip.html#Fl_Tooltip.size">Fl_Tooltip</A>,
+ <A href=Fl_Browser.html#Fl_Browser.size>Fl_Browser</A>,
+ <A href=Fl_Chart.html#Fl_Chart.size>Fl_Chart</A>,
+ <A href=Fl_Input.html#Fl_Input.size>Fl_Input</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.size>Fl_Menu_</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.size>Fl_Menu_Item</A>,
+ <A href=Fl_Output.html#Fl_Output.size>Fl_Output</A>,
+ <A href=Fl_Widget.html#Fl_Widget.size>Fl_Widget</A>,
+ <a href="Fl_Preferences.html#Fl_Preferences.size">Fl_Preferences</a></LI>
+<LI>size_range: <A href=Fl_Window.html#Fl_Window.size_range>Fl_Window</A></LI>
+<LI>skip_displayed_characters: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.skip_displayed_characters">Fl_Text_Buffer</A></LI>
+<LI>skip_lines: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.skip_lines">Fl_Text_Buffer</A></LI>
+<LI>slider: <A href=Fl_Slider.html#Fl_Slider.slider>Fl_Slider</A></LI>
+<LI>slider_size: <A href=Fl_Slider.html#Fl_Slider.slider_size>Fl_Slider</A></LI>
+<LI>soft: <A href="Fl_Value_Input.html#Fl_Value_Input.soft">Fl_Value_Input</A>,
+ <A href=Fl_Adjuster.html#Fl_Adjuster.soft>Fl_Adjuster</A>,
+ <A href=Fl_Value_Output.html#Fl_Value_Output.soft>Fl_Value_Output</A></LI>
+<LI>spacing: <A href=Fl_Pack.html#Fl_Pack.spacing>Fl_Pack</A></LI>
+<LI>static_value: <A href=Fl_Input.html#Fl_Input.static_value>Fl_Input</A></LI>
+<LI>step: <A href="Fl_Valuator.html#Fl_Valuator.step">Fl_Valuator</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.step>Fl_Spinner</a></LI>
+<LI>submenu: <A href=Fl_Menu_Item.html#Fl_Menu_Item.submenu>Fl_Menu_Item</A></LI>
+<LI>substitute_null_characters: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.substitute_null_characters">Fl_Text_Buffer</A></LI>
+<LI>suspended: <A href=Fl_Timer.html#Fl_Timer.suspended>Fl_Timer</A></LI>
+<LI>swap: <A href=Fl_Browser.html#Fl_Browser.swap>Fl_Browser</A></LI>
+<LI>swap_buffers: <A href=Fl_Gl_Window.html#Fl_Gl_Window.swap_buffers>Fl_Gl_Window</A></LI>
+</UL>
+<H3>T</H3><UL>
+<LI>tab_distance: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.tab_distance">Fl_Text_Buffer</A></LI>
+<LI>take_focus: <A href=Fl_Widget.html#Fl_Widget.take_focus>Fl_Widget</A></LI>
+<LI>takesevents: <A href=Fl_Widget.html#Fl_Widget.takesevents>Fl_Widget</A></LI>
+<LI>test_shortcut: <A href=Fl_Menu_.html#Fl_Menu_.test_shortcut>Fl_Menu_</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.test_shortcut>Fl_Menu_Item</A></LI>
+<LI>text: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.text">Fl_Text_Buffer</A>,
+ <A href=Fl_Browser.html#Fl_Browser.text>Fl_Browser</A>,
+ <A href=Fl_Check_Browser.html#Fl_Check_Browser.text>Fl_Check_Browser</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.text>Fl_Menu_</A></LI>
+<LI>text_in_rectangle: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.text_in_rectangle">Fl_Text_Buffer</A></LI>
+<LI>text_range: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.text_range">Fl_Text_Buffer</A></LI>
+<LI>textcolor: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.textcolor">Fl_File_Chooser</A>,
+ <A HREF="Fl_Help_View.html#Fl_Help_View.textcolor">Fl_Help_View</A>,
+ <A HREF="Fl_Text_Display.html#Fl_Text_Display.textcolor">Fl_Text_Display</A>,
+ <A HREF="Fl_Tooltip.html#Fl_Tooltip.textcolor">Fl_Tooltip</A>,
+ <A href="Fl_Browser_.html#Fl_Browser_.textcolor">Fl_Browser_</A>,
+ <A href="Fl_Value_Input.html#Fl_Value_Input.textcolor">Fl_Value_Input</A>,
+ <A href=Fl_Input.html#Fl_Input.textcolor>Fl_Input</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.textcolor>Fl_Menu_</A>,
+ <A href=Fl_Output.html#Fl_Output.textcolor>Fl_Output</A>,
+ <A href=Fl_Value_Output.html#Fl_Value_Output.textcolor>Fl_Value_Output</A>,
+ <A href=Fl_Value_Slider.html#Fl_Value_Slider.textcolor>Fl_Value_Slider</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.textcolor>Fl_Spinner</a></LI>
+<LI>textfont: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.textfont">Fl_File_Chooser</A>,
+ <A HREF="Fl_Help_View.html#Fl_Help_View.textfont">Fl_Help_View</A>,
+ <A HREF="Fl_Text_Display.html#Fl_Text_Display.textfont">Fl_Text_Display</A>,
+ <A href="Fl_Browser_.html#Fl_Browser_.textfont">Fl_Browser_</A>,
+ <A href="Fl_Value_Input.html#Fl_Value_Input.textfont">Fl_Value_Input</A>,
+ <A href=Fl_Input.html#Fl_Input.textfont>Fl_Input</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.textfont>Fl_Menu_</A>,
+ <A href=Fl_Output.html#Fl_Output.textfont>Fl_Output</A>,
+ <A href=Fl_Value_Output.html#Fl_Value_Output.textfont>Fl_Value_Output</A>,
+ <A href=Fl_Value_Slider.html#Fl_Value_Slider.textfont>Fl_Value_Slider</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.textfont>Fl_Spinner</a></LI>
+<LI>textsize: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.textsize">Fl_File_Chooser</A>,
+ <A HREF="Fl_Help_View.html#Fl_Help_View.textsize">Fl_Help_View</A>,
+ <A HREF="Fl_Text_Display.html#Fl_Text_Display.textsize">Fl_Text_Display</A>,
+ <A href="Fl_Browser_.html#Fl_Browser_.textsize">Fl_Browser_</A>,
+ <A href="Fl_Value_Input.html#Fl_Value_Input.textsize">Fl_Value_Input</A>,
+ <A href=Fl_Input.html#Fl_Input.textsize>Fl_Input</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.textsize>Fl_Menu_</A>,
+ <A href=Fl_Output.html#Fl_Output.textsize>Fl_Output</A>,
+ <A href=Fl_Value_Output.html#Fl_Value_Output.textsize>Fl_Value_Output</A>,
+ <A href=Fl_Value_Slider.html#Fl_Value_Slider.textsize>Fl_Value_Slider</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.textsize>Fl_Spinner</a></LI>
+<LI>title: <A HREF="Fl_Help_View.html#Fl_Help_View.title">Fl_Help_View</A></LI>
+<LI>tooltip: <A href="Fl_Widget.html#Fl_Widget.tooltip">Fl_Widget</A></LI>
+<LI>top: <A href="Fl_Browser_.html#Fl_Browser_.top">Fl_Browser_</A></LI>
+<LI>topline: <A HREF="Fl_Help_Dialog.html#Fl_Help_Dialog.topline">Fl_Help_Dialog</A>,
+ <A HREF="Fl_Help_View.html#Fl_Help_View.topline">Fl_Help_View</A>,
+ <A href=Fl_Browser.html#Fl_Browser.topline>Fl_Browser</A></LI>
+<LI>type: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.type">Fl_File_Chooser</A>,
+ <A HREF="Fl_File_Icon.html#Fl_File_Icon.type">Fl_File_Icon</A>,
+ <A href=Fl_Button.html#Fl_Button.type>Fl_Button</A>,
+ <A href=Fl_Chart.html#Fl_Chart.type>Fl_Chart</A>,
+ <A href=Fl_Counter.html#Fl_Counter.type>Fl_Counter</A>,
+ <A href=Fl_Dial.html#Fl_Dial.type>Fl_Dial</A>,
+ <A href=Fl_Menu_Button.html#Fl_Menu_Button.type>Fl_Menu_Button</A>,
+ <A href=Fl_Scroll.html#Fl_Scroll.type>Fl_Scroll</A>,
+ <A href=Fl_Slider.html#Fl_Slider.type>Fl_Slider</A>,
+ <A href=Fl_Widget.html#Fl_Widget.type>Fl_Widget</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.type>Fl_Spinner</a></LI>
+</UL>
+<H3>U</H3><UL>
+<LI>uncache: <A href="Fl_Image.html#Fl_Image.uncache">Fl_Image</A></LI>
+<LI>undo: <A href="Fl_Input_.html#Fl_Input_.undo">Fl_Input_</A></LI>
+<LI>unhighlight: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.unhighlight">Fl_Text_Buffer</A></LI>
+<LI>unselect: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.unselect">Fl_Text_Buffer</A></LI>
+<LI>unsubstitute_null_characters: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.unsubstitute_null_characters">Fl_Text_Buffer</A></LI>
+<LI>up_down_position: <A href="Fl_Input_.html#Fl_Input_.up_down_position">Fl_Input_</A></LI>
+<LI>user_data: <A href=Fl_Menu_Item.html#Fl_Menu_Item.user_data>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.user_data>Fl_Widget</A></LI>
+</UL>
+<H3>V</H3><UL>
+<LI>valid: <A href=Fl_Gl_Window.html#Fl_Gl_Window.valid>Fl_Gl_Window</A></LI>
+<LI>value: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.value">Fl_File_Chooser</A>,
+ <A HREF="Fl_File_Icon.html#Fl_File_Icon.value">Fl_File_Icon</A>,
+ <A HREF="Fl_Help_Dialog.html#Fl_Help_Dialog.value">Fl_Help_Dialog</A>,
+ <A HREF="Fl_Help_View.html#Fl_Help_View.value">Fl_Help_View</A>,
+ <A HREF="Fl_Wizard.html#Fl_Wizard.value">Fl_Wizard</A>,
+ <A href="Fl_Progress.html#Fl_Progress.value">Fl_Progress</A>,
+ <A href="Fl_Tabs.html#Fl_Tabs.value">Fl_Tabs</A>,
+ <A href="Fl_Valuator.html#Fl_Valuator.value">Fl_Valuator</A>,
+ <A href=Fl_Button.html#Fl_Button.value>Fl_Button</A>,
+ <A href=Fl_Check_Browser.html#Fl_Check_Browser.value>Fl_Check_Browser</A>,
+ <A href=Fl_Choice.html#Fl_Choice.value>Fl_Choice</A>,
+ <A href=Fl_Clock.html#Fl_Clock.value>Fl_Clock</A>,
+ <A href=Fl_Clock_Output.html#Fl_Clock_Output.value>Fl_Clock_Output</A>,
+ <A href=Fl_Color_Chooser.html#Fl_Color_Chooser.value>Fl_Color_Chooser</A>,
+ <A href=Fl_Hold_Browser.html#Fl_Hold_Browser.value>Fl_Hold_Browser</A>,
+ <A href=Fl_Input.html#Fl_Input.value>Fl_Input</A>,
+ <A href=Fl_Input_Choice.html#Fl_Input_Choice.value>Fl_Input_Choice</A>,
+ <A href=Fl_Menu_.html#Fl_Menu_.value>Fl_Menu_</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.value>Fl_Menu_Item</A>,
+ <A href=Fl_Multi_Browser.html#Fl_Multi_Browser.value>Fl_Multi_Browser</A>,
+ <A href=Fl_Output.html#Fl_Output.value>Fl_Output</A>,
+ <A href=Fl_Positioner.html#Fl_Positioner.value>Fl_Positioner</A>,
+ <A href=Fl_Scrollbar.html#Fl_Scrollbar.value>Fl_Scrollbar</A>,
+ <A href=Fl_Select_Browser.html#Fl_Select_Browser.value>Fl_Select_Browser</A>,
+ <A href=Fl_Timer.html#Fl_Timer.value>Fl_Timer</A>,
+ <a href=Fl_Spinner.html#Fl_Spinner.value>Fl_Spinner</a></LI>
+<LI>visible: <A HREF="Fl_File_Chooser.html#Fl_File_Chooser.visible">Fl_File_Chooser</A>,
+ <A HREF="Fl_Help_Dialog.html#Fl_Help_Dialog.visible">Fl_Help_Dialog</A>,
+ <A href=Fl_Browser.html#Fl_Browser.visible>Fl_Browser</A>,
+ <A href=Fl_Menu_Item.html#Fl_Menu_Item.visible>Fl_Menu_Item</A>,
+ <A href=Fl_Widget.html#Fl_Widget.visible>Fl_Widget</A></LI>
+<LI>visible_focus: <A href=Fl_Widget.html#Fl_Widget.visible_focus>Fl_Widget</A></LI>
+<LI>visible_r: <A href=Fl_Widget.html#Fl_Widget.visible_r>Fl_Widget</A></LI>
+</UL>
+<H3>W</H3><UL>
+<LI>w: <A href="Fl_Image.html#Fl_Image.w">Fl_Image</A>,
+ <A href=Fl_Widget.html#Fl_Widget.w>Fl_Widget</A></LI>
+<LI>when: <A href=Fl_Button.html#Fl_Button.when>Fl_Button</A>,
+ <A href=Fl_Input.html#Fl_Input.when>Fl_Input</A>,
+ <A href=Fl_Widget.html#Fl_Widget.when>Fl_Widget</A></LI>
+<LI>window: <A href=Fl_Widget.html#Fl_Widget.window>Fl_Widget</A></LI>
+<LI>word_end: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.word_end">Fl_Text_Buffer</A>,
+ <A HREF="Fl_Text_Display.html#Fl_Text_Display.word_end">Fl_Text_Display</A></LI>
+<LI>word_start: <A HREF="Fl_Text_Buffer.html#Fl_Text_Buffer.word_start">Fl_Text_Buffer</A>,
+ <A HREF="Fl_Text_Display.html#Fl_Text_Display.word_start">Fl_Text_Display</A></LI>
+<LI>wrap: <A href="Fl_Input_.html#Fl_Input_.wrap">Fl_Input_</A></LI>
+<LI>wrap_mode: <A HREF="Fl_Text_Display.html#Fl_Text_Display.wrap_mode">Fl_Text_Display</A></LI>
+</UL>
+<H3>X</H3><UL>
+<LI>x: <A href=Fl_Widget.html#Fl_Widget.x>Fl_Widget</A></LI>
+<LI>xbounds: <A href=Fl_Positioner.html#Fl_Positioner.xbounds>Fl_Positioner</A></LI>
+<LI>xclass: <A href=Fl_Window.html#Fl_Window.xclass>Fl_Window</A></LI>
+<LI>xposition: <A href=Fl_Scroll.html#Fl_Scroll.xposition>Fl_Scroll</A></LI>
+<LI>xstep: <A href=Fl_Positioner.html#Fl_Positioner.xstep>Fl_Positioner</A></LI>
+<LI>xvalue: <A href=Fl_Positioner.html#Fl_Positioner.xvalue>Fl_Positioner</A></LI>
+</UL>
+<H3>y</H3><UL>
+<LI>y: <A href=Fl_Widget.html#Fl_Widget.y>Fl_Widget</A></LI>
+<LI>ybounds: <A href=Fl_Positioner.html#Fl_Positioner.ybounds>Fl_Positioner</A></LI>
+<LI>yposition: <A href=Fl_Scroll.html#Fl_Scroll.yposition>Fl_Scroll</A></LI>
+<LI>ystep: <A href=Fl_Positioner.html#Fl_Positioner.ystep>Fl_Positioner</A></LI>
+<LI>yvalue: <A href=Fl_Positioner.html#Fl_Positioner.yvalue>Fl_Positioner</A></LI>
+</UL>
+
</BODY>
</HTML>