summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--documentation/Fl_Browser.html10
-rw-r--r--documentation/Fl_Browser_.html403
-rw-r--r--documentation/Fl_Chart.html2
-rw-r--r--documentation/Fl_Group.html11
-rw-r--r--documentation/Fl_Input.html4
-rw-r--r--documentation/basics.html31
-rw-r--r--documentation/common.html46
-rw-r--r--documentation/drawing.html2
-rw-r--r--documentation/editor.html2
-rw-r--r--documentation/enumerations.html13
-rw-r--r--documentation/events.html23
-rw-r--r--documentation/fluid.html56
-rw-r--r--documentation/functions.html11
-rw-r--r--documentation/intro.html34
-rw-r--r--documentation/license.html12
-rw-r--r--documentation/subclassing.html6
16 files changed, 493 insertions, 173 deletions
diff --git a/documentation/Fl_Browser.html b/documentation/Fl_Browser.html
index 26207eebf..6d34ea4c9 100644
--- a/documentation/Fl_Browser.html
+++ b/documentation/Fl_Browser.html
@@ -50,31 +50,41 @@ subclass of <TT>Fl_Browser_</TT>. </P>
<CENTER>
<TABLE width=90%>
<TR><TD align=left valign=top>
+<UL>
<LI><A href=#Fl_Browser.Fl_Browser>Fl_Browser</A></LI>
<LI><A href=#Fl_Browser.~Fl_Browser>~Fl_Browser</A></LI>
<LI><A href=#Fl_Browser.add>add</A></LI>
<LI><A href=#Fl_Browser.bottomline>bottomline</A></LI>
<LI><A href=#Fl_Browser.clear>clear</A></LI>
+</UL>
</TD><TD align=left valign=top>
+<UL>
<LI><A href=#Fl_Browser.column_char>column_char</A></LI>
<LI><A href=#Fl_Browser.column_widths>column_widths</A></LI>
<LI><A href=#Fl_Browser.data>data</A></LI>
<LI><A href=#Fl_Browser.format_char>format_char</A></LI>
+</UL>
</TD><TD align=left valign=top>
+<UL>
<LI><A href=#Fl_Browser.hide>hide</A></LI>
<LI><A href=#Fl_Browser.insert>insert</A></LI>
<LI><A href=#Fl_Browser.load>load</A></LI>
<LI><A href=#Fl_Browser.middleline>middleline</A></LI>
+</UL>
</TD><TD align=left valign=top>
+<UL>
<LI><A href=#Fl_Browser.move>move</A></LI>
<LI><A href=#Fl_Browser.position>position</A></LI>
<LI><A href=#Fl_Browser.remove>remove</A></LI>
<LI><A href=#Fl_Browser.show>show</A></LI>
+</UL>
</TD><TD align=left valign=top>
+<UL>
<LI><A href=#Fl_Browser.size>size</A></LI>
<LI><A href=#Fl_Browser.text>text</A></LI>
<LI><A href=#Fl_Browser.topline>topline</A></LI>
<LI><A href=#Fl_Browser.visible>visible</A></LI>
+</UL>
</TD></TR>
</TABLE>
</CENTER>
diff --git a/documentation/Fl_Browser_.html b/documentation/Fl_Browser_.html
index ad5c4ef1e..14aa12a73 100644
--- a/documentation/Fl_Browser_.html
+++ b/documentation/Fl_Browser_.html
@@ -1,6 +1,6 @@
<HTML><BODY>
<HR break>
-<H2><A name=Fl_Browser_>class Fl_Browser_</A></H2>
+<H2><A name="Fl_Browser_">class Fl_Browser_</A></H2>
<HR>
<H3>Class Hierarchy</H3>
<UL>
@@ -37,100 +37,365 @@ other slow operation. </P>
<TABLE width=90%>
<TR><TD align=left valign=top>
<UL>
-<LI><A href=#Fl_Browser_.Fl_Browser_>Fl_Browser_</A></LI>
-<LI><A href=#Fl_Browser_.~Fl_Browser_>~Fl_Browser_</A></LI>
-<LI><A href=#Fl_Browser_.bbox>bbox</A></LI>
-<LI><A href=#Fl_Browser_.deleting>deleting</A></LI>
-<LI><A href=#Fl_Browser_.deselect>deselect</A></LI>
-<LI><A href=#Fl_Browser_.display>display</A></LI>
-<LI><A href=#Fl_Browser_.displayed>displayed</A></LI>
-<LI><A href=#Fl_Browser_.draw>draw</A></LI>
-<LI><A href=#Fl_Browser_.find_item>find_item</A></LI>
+<LI><A href="#Fl_Browser_.Fl_Browser_">Fl_Browser_</A></LI>
+<LI><A href="#Fl_Browser_.~Fl_Browser_">~Fl_Browser_</A></LI>
+<LI><A href="#Fl_Browser_.bbox">bbox</A></LI>
+<LI><A href="#Fl_Browser_.deleting">deleting</A></LI>
+<LI><A href="#Fl_Browser_.deselect">deselect</A></LI>
+<LI><A href="#Fl_Browser_.display">display</A></LI>
+<LI><A href="#Fl_Browser_.displayed">displayed</A></LI>
+<LI><A href="#Fl_Browser_.draw">draw</A></LI>
+<LI><A href="#Fl_Browser_.find_item">find_item</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
-<LI><A href=#Fl_Browser_.full_height>full_height</A></LI>
-<LI><A href=#Fl_Browser_.full_width>full_width</A></LI>
-<LI><A href=#Fl_Browser_.handle>handle</A></LI>
-<LI><A href=#Fl_Browser_.has_scrollbar>has_scrollbar</A></LI>
-<LI><A href=#Fl_Browser_.hposition>hposition</A></LI>
-<LI><A href=#Fl_Browser_.incr_height>incr_height</A></LI>
-<LI><A href=#Fl_Browser_.inserting>inserting</A></LI>
-<LI><A href=#Fl_Browser_.item_draw>item_draw</A></LI>
+<LI><A href="#Fl_Browser_.full_height">full_height</A></LI>
+<LI><A href="#Fl_Browser_.full_width">full_width</A></LI>
+<LI><A href="#Fl_Browser_.handle">handle</A></LI>
+<LI><A href="#Fl_Browser_.has_scrollbar">has_scrollbar</A></LI>
+<LI><A href="#Fl_Browser_.hposition">hposition</A></LI>
+<LI><A href="#Fl_Browser_.incr_height">incr_height</A></LI>
+<LI><A href="#Fl_Browser_.inserting">inserting</A></LI>
+<LI><A href="#Fl_Browser_.item_draw">item_draw</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
-<LI><A href=#Fl_Browser_.item_first>item_first</A></LI>
-<LI><A href=#Fl_Browser_.item_height>item_height</A></LI>
-<LI><A href=#Fl_Browser_.item_next>item_next</A></LI>
-<LI><A href=#Fl_Browser_.item_prev>item_prev</A></LI>
-<LI><A href=#Fl_Browser_.item_quick_height>item_quick_height</A></LI>
-<LI><A href=#Fl_Browser_.item_select>item_select</A></LI>
-<LI><A href=#Fl_Browser_.item_selected>item_selected</A></LI>
-<LI><A href=#Fl_Browser_.item_width>item_width</A></LI>
+<LI><A href="#Fl_Browser_.item_first">item_first</A></LI>
+<LI><A href="#Fl_Browser_.item_height">item_height</A></LI>
+<LI><A href="#Fl_Browser_.item_next">item_next</A></LI>
+<LI><A href="#Fl_Browser_.item_prev">item_prev</A></LI>
+<LI><A href="#Fl_Browser_.item_quick_height">item_quick_height</A></LI>
+<LI><A href="#Fl_Browser_.item_select">item_select</A></LI>
+<LI><A href="#Fl_Browser_.item_selected">item_selected</A></LI>
+<LI><A href="#Fl_Browser_.item_width">item_width</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
-<LI><A href=#Fl_Browser_.leftedge>leftedge</A></LI>
-<LI><A href=#Fl_Browser_.new_list>new_list</A></LI>
-<LI><A href=#Fl_Browser_.position>position</A></LI>
-<LI><A href=#Fl_Browser_.redraw_line>redraw_line</A></LI>
-<LI><A href=#Fl_Browser_.redraw_lines>redraw_lines</A></LI>
-<LI><A href=#Fl_Browser_.replacing>replacing</A></LI>
-<LI><A href=#Fl_Browser_.resize>resize</A></LI>
-<LI><A href=#Fl_Browser_.scrollbar_left>scrollbar_left</A></LI>
+<LI><A href="#Fl_Browser_.leftedge">leftedge</A></LI>
+<LI><A href="#Fl_Browser_.new_list">new_list</A></LI>
+<LI><A href="#Fl_Browser_.position">position</A></LI>
+<LI><A href="#Fl_Browser_.redraw_line">redraw_line</A></LI>
+<LI><A href="#Fl_Browser_.redraw_lines">redraw_lines</A></LI>
+<LI><A href="#Fl_Browser_.replacing">replacing</A></LI>
+<LI><A href="#Fl_Browser_.resize">resize</A></LI>
+<LI><A href="#Fl_Browser_.scrollbar_left">scrollbar_left</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
-<LI><A href=#Fl_Browser_.scrollbar_right>scrollbar_right</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>
-<LI><A href=#Fl_Browser_.textcolor>textcolor</A></LI>
-<LI><A href=#Fl_Browser_.textfont>textfont</A></LI>
-<LI><A href=#Fl_Browser_.textsize>textsize</A></LI>
-<LI><A href=#Fl_Browser_.top>top</A></LI>
+<LI><A href="#Fl_Browser_.scrollbar_right">scrollbar_right</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>
+<LI><A href="#Fl_Browser_.textcolor">textcolor</A></LI>
+<LI><A href="#Fl_Browser_.textfont">textfont</A></LI>
+<LI><A href="#Fl_Browser_.textsize">textsize</A></LI>
+<LI><A href="#Fl_Browser_.top">top</A></LI>
</UL>
</TD></TR>
</TABLE>
-<i>Sorry, documentation is incomplete at this time</i>
</CENTER>
-<H4><A name=Fl_Browser_.Fl_Browser_>Fl_Browser::Fl_Browser(int, int,
+
+<H4><A name="Fl_Browser_.Fl_Browser_">Fl_Browser::Fl_Browser(int, int,
int, int, const char * = 0)</A></H4>
- The constructor makes an empty browser.
-<H4><A name=Fl_Browser_.~Fl_Browser_>Fl_Browser::~Fl_Browser(void)</A></H4>
- The destructor deletes all list items and destroys the browser.
-<H4><A name=Fl_Browser_.has_scrollbar>void
+
+<P>The constructor makes an empty browser.
+
+
+<H4><A name="Fl_Browser_.~Fl_Browser_">Fl_Browser::~Fl_Browser(void)</A></H4>
+
+<P>The destructor deletes all list items and destroys the browser.
+
+
+<H4><A NAME="Fl_Browser_.bbox">Fl_Browser_::bbox(int &amp;x, int &amp;y, int &amp;w, int &amp;h) const</A></H4>
+
+<P>This method returns the bounding box for the interior of the list, inside
+the scrollbars.
+
+
+<H4><A NAME="Fl_Browser_.deleting">Fl_Browser_::deleting(void *a)</A></H4>
+
+<P>This method should be used when an item is deleted from the list.
+It allows the <TT>Fl_Browser_</TT> to discard any cached data it has
+on the item.
+
+
+<H4><A NAME="Fl_Browser_.deselect">int Fl_Browser_::deselect(int docb=0)</A></H4>
+
+<P>Deselects all items in the list and returns 1 if the state changed
+or 0 if it did not.
+
+<P>If <TT>docb</TT> is non-zero, <TT>deselect</TT> tries to call the
+callback function for the widget.
+
+
+<H4><A NAME="Fl_Browser_.display">Fl_Browser_::display(void *p)</A></H4>
+
+<P>Displays item <TT>p</TT>, scrolling the list as necessary.
+
+
+<H4><A NAME="Fl_Browser_.displayed">int Fl_Browser_::displayed(void *p) const</A></H4>
+
+<P>This method returns non-zero if item <TT>p</TT> is currently visible in
+the list.
+
+
+<H4><A NAME="Fl_Browser_.draw">Fl_Browser_::draw()
+<BR>Fl_Browser_::draw(int x, int y, int w, int h)</A></H4>
+
+<P>The first form draws the list within the normal widget bounding box.
+
+<P>The second form draws the contents of the browser within the
+specified bounding box.
+
+
+<H4><A NAME="Fl_Browser_.find_item">void *Fl_Browser_::find_item(int my)</A></H4>
+
+<P>This method returns the item under mouse at <TT>my</TT>. If no item is
+displayed at that position then <TT>NULL</TT> is returned.
+
+
+<H4><A NAME="Fl_Browser_.full_height">virtual int Fl_Browser_::full_height()</A></H4>
+
+<P>This method may be provided by the subclass to indicate the full height
+of the item list in pixels. The default implementation computes the full
+height from the item heights.
+
+
+<H4><A NAME="Fl_Browser_.full_width">Fl_Browser_::full_width()</A></H4>
+
+<P>This method may be provided by the subclass to indicate the full width
+of the item list in pixels. The default implementation computes the full
+width from the item widths.
+
+
+<H4><A NAME="Fl_Browser_.handle">Fl_Browser_::handle(int event)
+<BR>Fl_Browser_::handle(int event, int x, int y, int w, int h)</A></H4>
+
+<P>The first form handles an event within the normal widget bounding box.
+
+<P>The second form handles an event within the specified bounding box.
+
+
+<H4><A name="Fl_Browser_.has_scrollbar">void
Fl_Browser_::has_scrollbar(int h)</A></H4>
- By default you can scroll in both directions, and the scrollbars
+
+<P>By default you can scroll in both directions, and the scrollbars
disappear if the data will fit in the widget. has_scrollbar() changes
this based on the value of <TT>h</TT>:
+
<UL>
-<LI><CODE>0</CODE> - No scrollbars </LI>
-<LI><CODE>Fl_Browser_::HORIZONTAL</CODE> - Only a horizontal scrollbar. </LI>
-<LI><CODE>Fl_Browser_::VERTICAL</CODE> - Only a vertical scrollbar. </LI>
-<LI><CODE>Fl_Browser_::BOTH</CODE> - The default is both scrollbars. </LI>
-<LI><CODE>Fl_Browser_::HORIZONTAL_ALWAYS</CODE> - Horizontal scrollbar
-always on, vertical always off. </LI>
-<LI><CODE>Fl_Browser_::VERTICAL_ALWAYS</CODE> - Vertical scrollbar
-always on, horizontal always off. </LI>
-<LI><CODE>Fl_Browser_::BOTH_ALWAYS</CODE> - Both always on. </LI>
+
+ <LI><CODE>0</CODE> - No scrollbars.
+
+ <LI><CODE>Fl_Browser_::HORIZONTAL</CODE> - Only a horizontal
+ scrollbar.
+
+ <LI><CODE>Fl_Browser_::VERTICAL</CODE> - Only a vertical
+ scrollbar.
+
+ <LI><CODE>Fl_Browser_::BOTH</CODE> - The default is both
+ scrollbars.
+
+ <LI><CODE>Fl_Browser_::HORIZONTAL_ALWAYS</CODE> - Horizontal
+ scrollbar always on, vertical always off.
+
+ <LI><CODE>Fl_Browser_::VERTICAL_ALWAYS</CODE> - Vertical
+ scrollbar always on, horizontal always off.
+
+ <LI><CODE>Fl_Browser_::BOTH_ALWAYS</CODE> - Both always on.
+
</UL>
-<H4><A name=Fl_Browser_.textcolor>Fl_Color Fl_Browser_::textcolor()
-const
-<BR> void Fl_Browser_::textcolor(Fl_Color color)</A></H4>
- The first form gets the default text color for the lines in the
+
+
+<H4><A NAME="Fl_Browser_.hposition">int Fl_Browser_::hposition() const
+<BR>Fl_Browser_::hposition(int h)</A></H4>
+
+<P>Gets or sets the horizontal scrolling position of the list.
+
+
+<H4><A NAME="Fl_Browser_.incr_height">virtual int Fl_Browser_::incr_height()</A></H4>
+
+<P>This method may be provided to return the average height of all items, to
+be used for scrolling. The default implementation uses the height of the first
+item.
+
+
+<H4><A NAME="Fl_Browser_.inserting">Fl_Browser_::inserting(void *a, void *b)</A></H4>
+
+<P>This method should be used when an item is added to the list.
+It allows the <TT>Fl_Browser_</TT> to update its cache data as needed.
+
+
+<H4><A NAME="Fl_Browser_.item_draw">virtual void Fl_Browser_::item_draw(void *p, int x, int y, int w, int h)</A></H4>
+
+<P>This method must be provided by the subclass to draw the item
+<TT>p</TT> in the area indicated by <TT>x</TT>, <TT>y<TT>, <TT>w</TT>,
+and <TT>h</TT>.
+
+
+<H4><A NAME="Fl_Browser_.item_first">virtual void *Fl_Browser_::item_first() const</A></H4>
+
+<P>This method must be provided by the subclass to return the first item in
+the list.
+
+
+<H4><A NAME="Fl_Browser_.item_height">virtual int Fl_Browser_::item_height(void *p)</A></H4>
+
+<P>This method must be provided by the subclass to return the height of the
+item <TT>p</TT> in pixels. Allow for two additional pixels for the list
+selection box.
+
+
+<H4><A NAME="Fl_Browser_.item_next">virtual void *Fl_Browser_::item_next(void *p) const</A></H4>
+
+<P>This method must be provided by the subclass to return the item in
+the list after <TT>p</TT>.
+
+
+<H4><A NAME="Fl_Browser_.item_prev">virtual void *Fl_Browser_::item_prev(void *p) const</A></H4>
+
+<P>This method must be provided by the subclass to return the item in
+the list before <TT>p</TT>.
+
+
+<H4><A NAME="Fl_Browser_.item_quick_height">virtual int Fl_Browser_::item_quick_height(void *p)</A></H4>
+
+<P>This method may be provided by the subclass to return the height of the
+item <TT>p</TT> in pixels. Allow for two additional pixels for the list
+selection box. This method differs from
+<A HREF="#Fl_Browser_.item_height"><TT>item_height</TT></A> in that it is only
+called for selection and scrolling operations. The default implementation
+calls <TT>item_height</T>.
+
+
+<H4><A NAME="Fl_Browser_.item_select">virtual void Fl_Browser_::item_select(void *p, int s=1)</A></H4>
+
+<P>This method must be implemented by the subclass if it supports
+multiple selections in the browser. The <TT>s</TT> argument specifies the
+selection state for item <TT>p</TT>: 0 = off, 1 = on.
+
+
+<H4><A NAME="Fl_Browser_.item_selected">virtual int Fl_Browser_::item_selected(void *p) const</A></H4>
+
+<P>This method must be implemented by the subclass if it supports
+multiple selections in the browser. The method should return 1 if <TT>p</TT>
+is selected and 0 otherwise.
+
+
+<H4><A NAME="Fl_Browser_.item_width">virtual int Fl_Browser_::item_width(void *p)</A></H4>
+
+<P>This method must be provided by the subclass to return the width of the
+item <TT>p</TT> in pixels. Allow for two additional pixels for the list
+selection box.
+
+
+<H4><A NAME="Fl_Browser_.leftedge">int Fl_Browser_::leftedge() const</A></H4>
+
+<P>This method returns the X position of the left edge of the list area
+after adjusting for the scrollbar and border, if any.
+
+
+<H4><A NAME="Fl_Browser_.new_list">Fl_Browser_::new_list()</A></H4>
+
+<P>This method should be called when the list data is completely replaced
+or cleared. It informs the <TT>Fl_Browser_</TT> widget that any cached
+information it has concerning the items is invalid.
+
+
+<H4><A NAME="Fl_Browser_.position">int Fl_Browser_::position() const
+<BR>Fl_Browser_::position(int v) const</A></H4>
+
+<P>Gets or sets the vertical scrolling position of the list.
+
+
+<H4><A NAME="Fl_Browser_.redraw_line">Fl_Browser_::redraw_line(void *p)</A></H4>
+
+<P>This method should be called when the contents of an item have changed
+but not changed the height of the item.
+
+
+<H4><A NAME="Fl_Browser_.redraw_lines">Fl_Browser_::redraw_lines()</A></H4>
+
+<P>This method will cause the entire list to be redrawn.
+
+
+<H4><A NAME="Fl_Browser_.replacing">Fl_Browser_::replacing(void *a, void *b)</A></H4>
+
+<P>This method should be used when an item is replaced in the list.
+It allows the <TT>Fl_Browser_</TT> to update its cache data as needed.
+
+
+<H4><A NAME="Fl_Browser_.resize">Fl_Browser_::resize(int x, int y, int w, int h)</A></H4>
+
+<P>Repositions and/or resizes the browser.
+
+
+<H4><A NAME="Fl_Browser_.scrollbar_left">Fl_Browser_::scrollbar_left()</A></H4>
+
+<P>This method moves the vertical scrollbar to the lefthand side of the list.
+
+
+<H4><A NAME="Fl_Browser_.scrollbar_right">Fl_Browser_::scrollbar_right()</A></H4>
+
+<P>This method moves the vertical scrollbar to the righthand side of the list.
+
+
+<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
+returns 1 if the state changed or 0 if it did not.
+
+<P>If <TT>docb</TT> is non-zero, <TT>select</TT> tries to call the callback
+function for the widget.
+
+
+<H4><A NAME="Fl_Browser_.select_only">Fl_Browser_::select_only(void *p, int docb=0)</A></H4>
+
+<P>Selects item <TT>p</TT> and returns 1 if the state changed or 0 if it did
+not. Any other items in the list are deselected.
+
+<P>If <TT>docb</TT> is non-zero, <TT>select_only</TT> tries to call the
+callback function for the widget.
+
+
+<H4><A NAME="Fl_Browser_.selection">void *Fl_Browser_::selection() const</A></H4>
+
+<P>Returns the item currently selected, or NULL if there is no selection.
+For multiple selection browsers this call returns the last item that was
+selected.
+
+
+<H4><A name="Fl_Browser_.textcolor">Fl_Color Fl_Browser_::textcolor() const
+<BR>void Fl_Browser_::textcolor(Fl_Color color)</A></H4>
+
+<P>The first form gets the default text color for the lines in the
browser.
+
<P>The second form sets the default text color to <TT>color</TT></P>
-<H4><A name=Fl_Browser_.textfont>Fl_Font Fl_Browser_::textfont() const
-<BR> void Fl_Browser_::textfont(Fl_Font font)</A></H4>
- The first form gets the default text font for the lines in the
+
+
+<H4><A name="Fl_Browser_.textfont">Fl_Font Fl_Browser_::textfont() const
+<BR>void Fl_Browser_::textfont(Fl_Font font)</A></H4>
+
+<P>The first form gets the default text font for the lines in the
browser.
+
<P>The second form sets the default text font to <TT>font</TT></P>
-<H4><A name=Fl_Browser_.textsize>uchar Fl_Browser_::textsize() const
-<BR> void Fl_Browser_::textsize(uchar size)</A></H4>
- The first form gets the default text size for the lines in the
+
+
+<H4><A name="Fl_Browser_.textsize">uchar Fl_Browser_::textsize() const
+<BR>void Fl_Browser_::textsize(uchar size)</A></H4>
+
+<P>The first form gets the default text size for the lines in the
browser.
+
<P>The second form sets the default text size to <TT>size</TT></P>
-</BODY></HTML> \ No newline at end of file
+
+<H4><A NAME="Fl_Browser_.top">void *Fl_Browser_::top() const</A></H4>
+
+<P>Returns the item the appears at the top of the list.
+
+
+</BODY>
+</HTML>
diff --git a/documentation/Fl_Chart.html b/documentation/Fl_Chart.html
index 80946d7e5..661bd521f 100644
--- a/documentation/Fl_Chart.html
+++ b/documentation/Fl_Chart.html
@@ -18,6 +18,7 @@
</UL>
<H3>Description</H3>
This widget displays simple charts and is provided for Forms compatibility.
+<CENTER><IMG src="charts.gif" width="80%"></CENTER>
<H3>Methods</H3>
<CENTER>
<TABLE width=90%>
@@ -115,5 +116,4 @@ proportionate slice in the circle.</DD>
<DD>Each sample value is drawn as a vertical line.</DD>
</DL>
The second form of <TT>type()</TT> sets the chart type to <TT>t</TT>.
-<CENTER><IMG src=./charts.gif width=80%></CENTER>
</BODY></HTML>
diff --git a/documentation/Fl_Group.html b/documentation/Fl_Group.html
index 2f75c46ed..ee8930c85 100644
--- a/documentation/Fl_Group.html
+++ b/documentation/Fl_Group.html
@@ -50,10 +50,11 @@ behavior.
<UL>
<LI><A href=#Fl_Group.end>end</A></LI>
<LI><A href=#Fl_Group.find>find</A></LI>
-<LI><A href=#Fl_Group.insert>insert</A></LI>
+<LI><A href=#Fl_Group.init_sizes>init_sizes</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
+<LI><A href=#Fl_Group.insert>insert</A></LI>
<LI><A href=#Fl_Group.remove>remove</A></LI>
<LI><A href=#Fl_Group.resizeable>resizable</A></LI>
</UL>
@@ -77,6 +78,14 @@ that it is destroyed last.
The widget is removed from it's current group (if any) and then added
to the end of this group.
+<H4><A name="Fl_Group.init_sizes">void Fl_Group::init_sizes()</A></H4>
+
+The <TT>Fl_Group</TT> widget keeps track of the original widget sizes and
+positions when resizing occurs so that if you resize a window back to its
+original size the widgets will be in the correct places. If you rearrange
+the widgets in your group, call this method to register the new arrangement
+with the <TT>Fl_Group</TT> that contains them.
+
<H4><A name=Fl_Group.insert>void Fl_Group::insert(Fl_Widget &amp;w, int n)</A></H4>
The widget is removed from it's current group (if any) and then
diff --git a/documentation/Fl_Input.html b/documentation/Fl_Input.html
index 56d751184..8e5a248d0 100644
--- a/documentation/Fl_Input.html
+++ b/documentation/Fl_Input.html
@@ -73,8 +73,8 @@ expected.</TD></TR>
selection.</TD></TR>
<TR><TD><B>RightCtrl or
-<BR>Compose</B></TD><TD><a name=compose>
-Start a <A href="events.html#compose">compose-character</A>
+<BR>Compose</B></TD><TD><a name=compose>Start</A>
+a <A href="events.html#compose">compose-character</A>
sequence. The next one or two keys typed define the character to
insert (see table that follows.)
diff --git a/documentation/basics.html b/documentation/basics.html
index b31186dc7..9d48c5751 100644
--- a/documentation/basics.html
+++ b/documentation/basics.html
@@ -65,8 +65,8 @@ better and can be used with the "optimized for speed" setting.</P>
program must include a header file for each FLTK class it uses.
Listing 1 shows a simple &quot;Hello, World!&quot; program that uses FLTK to
display the window.
-<UL><I>Listing 1 - &quot;hello.cxx&quot;</I>
-<BR>&nbsp;
+<UL>
+<P><I>Listing 1 - &quot;hello.cxx&quot;</I>
<PRE>
#include &lt;FL/Fl.H&gt;
#include &lt;FL/Fl_Window.H&gt;
@@ -123,7 +123,7 @@ program by closing the window or pressing the ESCape key.
most widgets the arguments to the constructor are:
<UL>
<PRE>
-Fl_Widget(x, y, width, height)
+Fl_Widget(x, y, width, height, label)
</PRE>
</UL>
<P>The <TT>x</TT> and <TT>y</TT> parameters determine where the widget
@@ -135,9 +135,9 @@ of the widget or window in pixels. The maximum widget size is
typically governed by the underlying window system or hardware. </P>
<p><tt>label</tt> is a pointer to a character string to label the
widget with or <tt>NULL</tt>. If not specified the label defaults to
-<tt>NULL</tt>. The label string must be in static storage (such as a
-string constant) because FLTK does not make a copy of it (it just uses
-the pointer).
+<tt>NULL</tt>. The label string must be in static storage such as a
+string constant because FLTK does not make a copy of it - it just uses
+the pointer.
<H3>Get/Set Methods</H3>
<tt>box-&gt;box(FL_UP_BOX)</tt> sets the type of box the
Fl_Box draws, changing it from the default of <tt>FL_NO_BOX</tt>, which means
@@ -150,13 +150,16 @@ Chapter 3</A>.
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>Almost all of these set/get pairs are very fast and short inline
+
+<H3>Redrawing After Changing Attributes</H3>
+<p>Almost all of the set/get pairs are very fast, short inline
functions and thus very efficient. However, <i>the "set" methods do
-not call redraw()</i>, you have to call it yourself. This greatly
+not call <TT>redraw()</TT></i> - you have to call it yourself. This greatly
reduces code size and execution time. The only common exception is
-<tt>value()</tt>, this does redraw() if necessary.
+<tt>value()</tt> which calls <TT>redraw()</TT> if necessary.
+
<H3>Labels</H3>
- All widgets support labels. In the case of window widgets, the label
+All widgets support labels. In the case of window widgets, the label
is used for the label in the title bar. Our example program calls the <A href=Fl_Widget.html#Fl_Widget.labelfont>
<TT>labelfont</TT></A>, <A href=Fl_Widget.html#Fl_Widget.labelsize><TT>
labelsize</TT></A>, and <A href=Fl_Widget.html#Fl_Widget.labeltype><TT>
@@ -166,9 +169,11 @@ used for the label, which for this example we are using <TT>FL_BOLD</TT>
and <TT>FL_ITALIC</TT>. You can also specify typefaces directly. </P>
<P>The <TT>labelsize</TT> method sets the height of the font in pixels. </P>
<P>The <TT>labeltype</TT> method sets the type of label. FLTK supports
-normal, embossed, shadowed, symbol, and image labels. </P>
+normal, embossed, shadowed, symbol, and image labels internally, and
+more types can be added as desired. </P>
<P>A complete list of all label options can be found in <A href=common.html#labels>
Chapter 3</A>. </P>
+
<H3>Showing the Window</H3>
The <TT>show()</TT> method shows the widget or window. For windows
you can also provide the command-line arguments to allow users to
@@ -183,4 +188,6 @@ while (Fl::wait());
</PRE>
</UL>
<TT>Fl::run()</TT> does not return until all of the windows under FLTK
-control are closed (either by the user or your program). </TT></BODY></HTML>
+control are closed by the user or your program.
+</BODY>
+</HTML>
diff --git a/documentation/common.html b/documentation/common.html
index f69523cae..5677344e0 100644
--- a/documentation/common.html
+++ b/documentation/common.html
@@ -5,13 +5,13 @@ and covers how to query and set the standard attributes.
<H2>Buttons</H2>
FLTK provides many types of buttons:
<UL>
-<LI><TT>Fl_Button</TT> - A standard push button. </LI>
-<LI><TT>Fl_Check_Button</TT> - A button with a check box. </LI>
-<LI><TT>Fl_Light_Button</TT> - A push button with a light. </LI>
-<LI><TT>Fl_Repeat_Button</TT> - A push button that repeats when held. </LI>
-<LI><TT>Fl_Return_Button</TT> - A push button that is activated by the
+<LI><A HREF="Fl_Button.html"><TT>Fl_Button</TT></A> - A standard push button. </LI>
+<LI><A HREF="Fl_Check_Button.html"><TT>Fl_Check_Button</TT></A> - A button with a check box. </LI>
+<LI><A HREF="Fl_Light_Button.html"><TT>Fl_Light_Button</TT></A> - A push button with a light. </LI>
+<LI><A HREF="Fl_Repeat_Button.html"><TT>Fl_Repeat_Button</TT></A> - A push button that repeats when held. </LI>
+<LI><A HREF="Fl_Return_Button.html"><TT>Fl_Return_Button</TT></A> - A push button that is activated by the
Enter key. </LI>
-<LI><TT>Fl_Round_Button</TT> - A button with a check circle. </LI>
+<LI><A HREF="Fl_Round_Button.html"><TT>Fl_Round_Button</TT></A> - A button with a check circle. </LI>
</UL>
<P ALIGN=CENTER><IMG SRC="buttons.gif">
<P>For all of these buttons you just need to include the corresponding <TT>
@@ -44,11 +44,11 @@ will also turn off other radio buttons in the same group.
<H2>Text</H2>
FLTK provides several text widgets for displaying and receiving text:
<UL>
-<LI><TT>Fl_Input</TT> - A standard one-line text input field. </LI>
-<LI><TT>Fl_Output</TT> - A standard one-line text output field. </LI>
-<LI><TT>Fl_Multiline_Input</TT> - A standard multi-line text input
+<LI><A HREF="Fl_Input.html"><TT>Fl_Input</TT></A> - A standard one-line text input field. </LI>
+<LI><A HREF="Fl_Output.html"><TT>Fl_Output</TT></A> - A standard one-line text output field. </LI>
+<LI><A HREF="Fl_Multiline_Input.html"><TT>Fl_Multiline_Input</TT></A> - A standard multi-line text input
field. </LI>
-<LI><TT>Fl_Multiline_Output</TT> - A standard multi-line text output
+<LI><A HREF="Fl_Multiline_Output.html"><TT>Fl_Multiline_Output</TT></A> - A standard multi-line text output
field. </LI>
</UL>
The <TT>Fl_Output</TT> and <TT>Fl_Multiline_Output</TT> widgets allow
@@ -67,13 +67,13 @@ input-&gt;value(&quot;Now is the time for all good men...&quot;);
Unlike text widgets, valuators keep track of numbers instead of
strings. FLTK provides the following valuators:
<UL>
-<LI><TT>Fl_Counter</TT> - A widget with arrow buttons that shows the
+<LI><A HREF="Fl_Counter.html"><TT>Fl_Counter</TT></A> - A widget with arrow buttons that shows the
current value. </LI>
-<LI><TT>Fl_Dial</TT> - A round knob. </LI>
-<LI><TT>Fl_Roller</TT> - An SGI-like dolly widget. </LI>
-<LI><TT>Fl_Scrollbar</TT> - A standard scrollbar widget. </LI>
-<LI><TT>Fl_Slider</TT> - A scrollbar with a knob. </LI>
-<LI><TT>Fl_Value_Slider</TT> - A slider that shows the current value. </LI>
+<LI><A HREF="Fl_Dial.html"><TT>Fl_Dial</TT></A> - A round knob. </LI>
+<LI><A HREF="Fl_Roller.html"><TT>Fl_Roller</TT></A> - An SGI-like dolly widget. </LI>
+<LI><A HREF="Fl_Scrollbar.html"><TT>Fl_Scrollbar</TT></A> - A standard scrollbar widget. </LI>
+<LI><A HREF="Fl_Slider.html"><TT>Fl_Slider</TT></A> - A scrollbar with a knob. </LI>
+<LI><A HREF="Fl_Value_Slider.html"><TT>Fl_Value_Slider</TT></A> - A slider that shows the current value. </LI>
</UL>
<P ALIGN=CENTER><IMG SRC="valuators.gif"></P>
The <A href=Fl_Valuator.html#Fl_Valuator.value><TT>value()</TT></A>
@@ -87,13 +87,13 @@ the widget.
used to encapsulate windows, tabs, and scrolled windows. The following
group classes are available with FLTK:
<UL>
-<LI><TT>Fl_Double_Window</TT> - A double-buffered window on the screen. </LI>
-<LI><TT>Fl_Gl_Window</TT> - An OpenGL window on the screen. </LI>
-<LI><TT>Fl_Group</TT> - The base container class; can be used to group
+<LI><A HREF="Fl_Double_Window.html"><TT>Fl_Double_Window</TT></A> - A double-buffered window on the screen. </LI>
+<LI><A HREF="Fl_Gl_Window.html"><TT>Fl_Gl_Window</TT></A> - An OpenGL window on the screen. </LI>
+<LI><A HREF="Fl_Group.html"><TT>Fl_Group</TT></A> - The base container class; can be used to group
any widgets together. </LI>
-<LI><TT>Fl_Scroll</TT> - A scrolled window area. </LI>
-<LI><TT>Fl_Tabs</TT> - Displays child widgets as tabs. </LI>
-<LI><TT>Fl_Window</TT> - A window on the screen. </LI>
+<LI><A HREF="Fl_Scroll.html"><TT>Fl_Scroll</TT></A> - A scrolled window area. </LI>
+<LI><A HREF="Fl_Tabs.html"><TT>Fl_Tabs</TT></A> - Displays child widgets as tabs. </LI>
+<LI><A HREF="Fl_Window.html"><TT>Fl_Window</TT></A> - A window on the screen. </LI>
</UL>
<H2>Setting the Size and Position of Widgets</H2>
The size and position of widgets is usually set when you create them.
@@ -229,7 +229,7 @@ raised </LI>
<TT>Fl_Bitmap</TT></A> or <A href=drawing.html#Fl_Pixmap><TT>Fl_Pixmap</TT>
</A> objects.
<H4>Making Your Own Label Types</H4>
-<i>Warning: this interface may change in future versions of fltk!</i>
+<i>Warning: this interface is changing in FLTK 2.0!</i>
<p>Label types are actually indexes into a table of functions that draw
them. The primary purpose of this is to let you reuse the <TT>label()</TT>
pointer as a pointer to arbitrary data such as a bitmap or pixmap. You
diff --git a/documentation/drawing.html b/documentation/drawing.html
index 7549576be..e29450c21 100644
--- a/documentation/drawing.html
+++ b/documentation/drawing.html
@@ -12,7 +12,7 @@ of the existing <TT>Fl_Widget</TT> classes and implement your own
version of <TT>draw()</TT>. </LI>
<LI>You can also write <A href=common.html#boxtypes>boxtypes</A> and <A href=#labeltypes>
labeltypes</A>. These are small procedures that can be called by
-existing <TT>Fl_Widget</TT><TT>draw()</TT> methods. These &quot;types&quot; are
+existing <TT>Fl_Widget::draw()</TT> methods. These &quot;types&quot; are
identified by an 8-bit index that is stored in the widget's <TT>box()</TT>
, <TT>labeltype()</TT>, and possibly other properties. </LI>
<LI>You can call <A href=Fl_Window.html#Fl_Window.make_current><TT>
diff --git a/documentation/editor.html b/documentation/editor.html
index e2aa51dde..2d4f0b948 100644
--- a/documentation/editor.html
+++ b/documentation/editor.html
@@ -552,6 +552,6 @@ library. Also, the <TT>CC</TT> command may also be called <TT>gcc</TT>
or <TT>c++</TT> on your system.
<P>Congratulations, you've just built your own text editor! </P>
<H2>The Final Product</H2>
- The final editor window should look like the image below:
+ The final editor window should look like the image on the next page.
<P ALIGN=CENTER><IMG src=./editor.gif></P>
</BODY></HTML>
diff --git a/documentation/enumerations.html b/documentation/enumerations.html
index a2538c631..6ffee5988 100644
--- a/documentation/enumerations.html
+++ b/documentation/enumerations.html
@@ -59,6 +59,17 @@ is released and the value changes. </LI>
<LI><TT>FL_WHEN_ENTER_KEY_ALWAYS</TT> - Do the callback when the user
presses the ENTER key, even if the value doesn't change. </LI>
</UL>
+<H2><A NAME="button_values">Fl::event_button() Values</A></H2>
+
+<P>The following constants define the button numbers for <TT>FL_PUSH</TT> and
+<TT>FL_RELEASE</TT> events:
+
+<UL>
+ <LI><TT>FL_LEFT_MOUSE</TT> - the left mouse button
+ <LI><TT>FL_MIDDLE_MOUSE</TT> - the middle mouse button
+ <LI><TT>FL_RIGHT_MOUSE</TT> - the right mouse button
+</UL>
+
<H2><A NAME="key_values">Fl::event_key() Values</A></H2>
The following constants define the non-ASCII keys on the keyboard for <TT>
FL_KEYBOARD</TT> and <TT>FL_SHORTCUT</TT> events:
@@ -180,7 +191,7 @@ In addition there are two inline functions to allow you to select
grays or colors from the FLTK colormap:
<p><b>Fl_Color fl_gray_ramp(int i)</b>
-<br>Returs a gray color. Returns black for zero, returns white for
+<br>Returns a gray color. Returns black for zero, returns white for
<tt>FL_NUM_GRAY</tt> (which is 24) minus 1. To get the closest to an
8-bit gray value 'I' use
<tt>fl_gray_ramp(I*FL_NUM_GRAY/256)</tt>
diff --git a/documentation/events.html b/documentation/events.html
index 502be762f..12072d73a 100644
--- a/documentation/events.html
+++ b/documentation/events.html
@@ -3,16 +3,23 @@
This chapter discusses the FLTK event model and how to handle events
in your program or widget.
<H2>The FLTK Event Model</H2>
- Events are identified by the integer argument passed to the <A href=functions.html#handle>
-<TT>Fl_Widget::handle()</TT></A> virtual method. Other information
-about the most recent event is stored in static locations and acquired
-by calling the <A href=#event_xxx><TT>Fl::event_*()</TT></A> methods.
-This static information remains valid until the next event is read from
-window system (i.e. it is ok to look at it outside of the <TT>handle()</TT>
- method).
+
+<P>Every time a user moves the mouse pointer, clicks a button, or presses
+a key, an event is generated and sent to your application. Events can also
+come from other programs like the window manager.
+
+<P>Events are identified by the integer argument passed to the
+<A href=functions.html#handle> <TT>Fl_Widget::handle()</TT></A> virtual
+method. Other information about the most recent event is stored in
+static locations and acquired by calling the <A
+href=#event_xxx><TT>Fl::event_*()</TT></A> methods. This static
+information remains valid until the next event is read from window
+system (i.e. it is ok to look at it outside of the <TT>handle()</TT>
+method).
+
<H2>Mouse Events</H2>
<H3>FL_PUSH</H3>
- A mouse button has gone down with the mouse pointing at this widget.
+A mouse button has gone down with the mouse pointing at this widget.
You can find out what button by calling <A href=#event_button><TT>
Fl::event_button()</TT></A>. You find out the mouse position by
calling <A href=#event_x><TT>Fl::event_x()</TT></A> and <A href=functions.html#event_y>
diff --git a/documentation/fluid.html b/documentation/fluid.html
index ebd60af3f..b4a4cc2cd 100644
--- a/documentation/fluid.html
+++ b/documentation/fluid.html
@@ -1,24 +1,36 @@
<HTML><BODY>
<H1 ALIGN=RIGHT><A NAME=FLUID>8 - Programming with FLUID</A></H1>
- This chapter shows how to use the Fast Light User-Interface Designer
+
+This chapter shows how to use the Fast Light User-Interface Designer
(&quot;FLUID&quot;) to create your GUIs.
+
<H2>What is FLUID?</H2>
- The Fast Light User Interface Designer, or FLUID, is a graphical
+
+<P>The Fast Light User Interface Designer, or FLUID, is a graphical
editor that is used to produce FLTK source code.
+
<P>FLUID edits and saves its state in <TT>.fl</TT> files. These files are
text, and you can (with care) edit them in a text editor, perhaps to
get some special effects. </P>
+
<P>FLUID can &quot;compile&quot; the <TT>.fl</TT> file into a <TT>.cxx</TT> and a <TT>.h</TT> file. The
<TT>.cxx</TT> file defines all the objects from the <TT>.fl</TT> file and the <TT>.h</TT> file
declares all the global ones. </P>
+
+<P>FLUID also supports localization (<A HREF="#I18N">Internationalization</A>)
+of label strings using message files and the GNU gettext or POSIX catgets
+interfaces.
+
<P>A simple program can be made by putting all your code (including a <TT>
main()</TT> function) into the <TT>.fl</TT> file and thus making the <TT>.cxx</TT> file a
single source file to compile. Most programs are more complex than
this, so you write other <TT>.cxx</TT> files that call the FLUID functions.
- These <TT>.cxx</TT> files must <TT>#include</TT> the <TT>.h</TT> file or they can <TT>
+These <TT>.cxx</TT> files must <TT>#include</TT> the <TT>.h</TT> file or they can <TT>
#include</TT> the <TT>.cxx</TT> file so it still appears to be a single source
file.
+
<P ALIGN=CENTER><IMG src=fluid-org.gif>
+
<P>Normally the FLUID file defines one or more functions or classes which
output C++ code. Each function defines a one or more FLTK
windows, and all the widgets that go inside those windows. </P>
@@ -61,7 +73,7 @@ save-as to write it to a file).
Changing the colors may be useful to see what your interface will look
at if the user calls it with the same switches.
<P>In the current version, if you don't go into the background (with
-'&amp;' then you will be able to abort FLUID by typing ^C on the terminal. It
+'&amp;') then you will be able to abort FLUID by typing ^C on the terminal. It
will exit immediately, losing any changes. </P>
<H2>Running FLUID Under Microsoft Windows</H2>
To run FLUID under WIN32, double-click on the <I>FLUID.exe</I> file.
@@ -81,7 +93,7 @@ code. In a makefile you can use a line like this:
<UL>
<PRE>
my_panels.h my_panels.cxx: my_panels.fl
- FLUID -c my_panels.fl
+ fluid -c my_panels.fl
</PRE>
</UL>
Some versions of make will accept rules like this to allow all <TT>.fl</TT>
@@ -90,16 +102,16 @@ files found to be compiled:
<PRE>
.SUFFIXES: .fl .cxx .h
.fl.h .fl.cxx:
- FLUID -c $&lt;
+ fluid -c $&lt;
</PRE>
</UL>
<H2>A Short Tutorial</H2>
FLUID is an amazingly powerful little program. However, this power
-comes at a price, as it is not always obvious how to accomplish seemingly
+comes at a price as it is not always obvious how to accomplish seemingly
simple tasks with it. This tutorial will show you how to generate a
complete user interface class with FLUID that is used for the CubeView
-program below.
+program provided with FLTK.
<P ALIGN=CENTER><IMG SRC="cubeview.gif"></P>
@@ -524,10 +536,6 @@ to reorder functions, classes, and windows within functions.
<H4>Edit/Later (F3)</H4>
Moves all of the selected widgets one later in order among the
children of their parent (if possible).
-<P>
-<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>
-<TR>
-<TD VALIGN=TOP>
<H4>Edit/Group (F7)</H4>
Creates a new <tt>Fl_Group</tt> and make all the currently selected widgets
children of it.
@@ -539,14 +547,13 @@ selection. This makes it easier to see box borders and how the layout
looks. The overlays will be forced back on if you change the
selection.
<H4>Edit/Preferences (Alt+p)</H4>
+
Displays the preferences panel. The alignment preferences control the
grid that all widgets snap to when you move and resize them, and for the
"snap" which is how far a widget has to be dragged from its original position
to actually change.
-</TD>
-<TD VALIGN=TOP WIDTH=226><IMG SRC="fluid_prefs.gif"></TD>
-</TR>
-</TABLE>
+
+<P ALIGN="CENTER"><IMG SRC="fluid_prefs.gif"></P>
<P>The output filenames control the extensions or names of the files the are
generated by FLUID. If you check the "Include .h from .cxx" button the code
@@ -600,9 +607,7 @@ the widgets more accurately, especially when setting the box type.
for the fields. In this case the value for <I>one</I> of the widgets
is shown. But if you change this value, <I>all</I> of the selected
widgets are changed to the new value.
-<TABLE cellpadding=0 cellspacing=0 width=100%>
-<TR>
-<TD VALIGN=TOP>Hitting &quot;OK&quot; makes the changes permanent. Selecting a different
+<P>Hitting &quot;OK&quot; makes the changes permanent. Selecting a different
widget also makes the changes permanent. FLUID checks for simple
syntax errors such as mismatched parenthesis in any code before
saving any text.
@@ -611,6 +616,10 @@ the panel or hit OK. However in the current version of FLUID, changes
to &quot;visible&quot; attributes (such as the color, label, box) are not undone
by revert or cancel. Changes to code like the callbacks are undone,
however.
+<!-- NEW PAGE -->
+<TABLE cellpadding=0 cellspacing=0 width=100%>
+<TR>
+<TD VALIGN=TOP>
<H3><A name=widget_attributes>Widget Attributes</A></H3>
<H4>Name (text field)</H4>
Name of a variable to declare, and to store a pointer to this
@@ -620,13 +629,16 @@ blank then no variable is created.
etc. This will cause FLUID to declare an array of pointers. The array
is big enough that the highest number found can be stored. All widgets
that in the array must be the same type. </P>
-</TD><TD VALIGN=TOP WIDTH=378><IMG src="fluid_widget.gif"></TD></TR>
-</TABLE>
<H4>Type (upper-right pulldown menu)</H4>
Some classes have subtypes that modify their appearance or behavior.
You pick the subtype off of this menu.
<H4>Box (pulldown menu)</H4>
- The boxtype to draw as a background for the widget.
+The boxtype to draw as a background for the widget.
+</TD>
+<TD>&nbsp;&nbsp;&nbsp;</TD>
+<TD VALIGN=TOP WIDTH=378><IMG src="fluid_widget.gif"></TD>
+</TR>
+</TABLE>
<P>Many widgets will work, and draw faster, with a &quot;frame&quot; instead of a
&quot;box&quot;. A frame does not draw the colored interior, leaving whatever
was already there visible. Be careful, as FLUID may draw this ok but
diff --git a/documentation/functions.html b/documentation/functions.html
index e0996deed..c875420e8 100644
--- a/documentation/functions.html
+++ b/documentation/functions.html
@@ -4,13 +4,14 @@
methods. For a description of the FLTK widgets, see <A href=widgets.html#widgets>
Appendix A</A>.
<H2>Functions</H2>
-<H3><A name=fl_color_chooser>int fl_color_chooser(const char*, double
+<H3><A name="fl_color_chooser_func">int fl_color_chooser(const char *title, double
&amp;r, double &amp;g, double &amp;b)
-<BR> int fl_color_chooser(const char *, uchar &amp;r, uchar &amp;g, uchar &amp;b)</A>
+<BR> int fl_color_chooser(const char *title, uchar &amp;r, uchar &amp;g, uchar &amp;b)</A>
</H3>
- The double version takes RGB values in the range 0.0 to 1.0. The
-uchar version takes RGB values in the range 0 to 255.
-<P ALIGN=CENTER><IMG src=./fl_color_chooser.jpg></P>
+The double version takes RGB values in the range 0.0 to 1.0. The
+uchar version takes RGB values in the range 0 to 255. The <TT>title</TT>
+argument specifies the label (title) for the window.
+<P ALIGN=CENTER><IMG src="fl_color_chooser.jpg"></P>
<P><TT>fl_color_chooser()</TT> pops up a window to let the user pick an
arbitrary RGB color. They can pick the hue and saturation in the &quot;hue
box&quot; on the left (hold down CTRL to just change the saturation), and
diff --git a/documentation/intro.html b/documentation/intro.html
index 19b9ca680..0d31c139e 100644
--- a/documentation/intro.html
+++ b/documentation/intro.html
@@ -191,25 +191,23 @@ make
<H2>Internet Resources</H2>
FLTK is available on the 'net in a bunch of locations:
<DL>
-<DT>WWW</DT>
-<DD><A href=http://www.fltk.org>http://www.fltk.org</A></DD>
-<DT>FTP</DT>
-<DD><A href=ftp://ftp.fltk.org/pub/fltk>ftp://ftp.fltk.org/pub/fltk</A>
-</DD>
-<DD><A href=ftp://ftp.easysw.com/pub/fltk>ftp://ftp.easysw.com/pub/fltk</A>
-</DD>
-<DD><A href=ftp://ftp.funet.fi/mirrors/ftp.easysw.com/pub/fltk>
-ftp://ftp.funet.fi/mirrors/ftp.easysw.com/pub/fltk</A></DD>
-<DD><A href=ftp://ftp.northamerica.net/pub/ESP/fltk>
-ftp.northamerica.net/pub/ESP/fltk</A>
-<BR></DD>
-<DT>EMail</DT>
-<DD><A href=mailto:fltk@fltk.org>fltk@fltk.org</A> [see
-instructions below]</DD>
-<DD><A href=mailto:fltk-bugs@fltk.org>fltk-bugs@fltk.org</A> [for
-reporting bugs]</DD>
+ <DT>WWW
+ <DD><A href="http://www.fltk.org">http://www.fltk.org</A>
+
+ <DT>FTP
+ <DD><A HREF="ftp://ftp.fltk.org/pub/fltk">California, USA (ftp.fltk.org)</A>
+ <DD><A HREF="ftp://ftp2.easysw.com/pub/fltk">Maryland, USA (ftp2.easysw.com)</A>
+ <DD><A HREF="ftp://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/fltk">Espoo, Finland (ftp.funet.fi)</A>
+ <DD><A HREF="ftp://linux.mathematik.tu-darmstadt.de/pub/linux/mirrors/misc/fltk">Germany (linux.mathematik.tu-darmstadt.de)</A>
+ <DD><A HREF="ftp://gd.tuwien.ac.at/hci/fltk">Austria (gd.tuwien.ac.at)</A>
+
+ <DT>EMail</DT>
+ <DD><A href="mailto:fltk@fltk.org">fltk@fltk.org</A> [see
+ instructions below]
+ <DD><A href="mailto:fltk-bugs@fltk.org">fltk-bugs@fltk.org</A> [for
+ reporting bugs]
</DL>
- To send a message to the FLTK mailing list (&quot;fltk@fltk.org&quot;) you
+To send a message to the FLTK mailing list (&quot;fltk@fltk.org&quot;) you
must first join the list. Non-member submissions are blocked to avoid
problems with unsolicited email.
<P>To join the FLTK mailing list, send a message to
diff --git a/documentation/license.html b/documentation/license.html
index dcbeb2c90..330b26b24 100644
--- a/documentation/license.html
+++ b/documentation/license.html
@@ -1,6 +1,6 @@
<HTML><BODY>
<H1 ALIGN=RIGHT><A NAME=license>G - Software License</A></H1>
-<H2 ALIGN=CENTER>GNU LIBRARY GENERAL PUBLIC LICENSE</H2>
+<P ALIGN=CENTER><BIG>GNU LIBRARY GENERAL PUBLIC LICENSE</BIG></P>
<P ALIGN=CENTER>Version 2, June 1991
<BR> Copyright (C) 1991 Free Software Foundation, Inc.
<BR> 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
@@ -8,7 +8,7 @@
this license document, but changing it is not allowed.
<BR> [This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.] </P>
-<H2>Preamble</H2>
+<P><BIG>Preamble</BIG></P>
The licenses for most software are designed to take away your freedom
to share and change it. By contrast, the GNU General Public Licenses
are intended to guarantee your freedom to share and change free
@@ -83,8 +83,8 @@ former contains code derived from the library, while the latter only
works together with the library. </P>
<P>Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one. </P>
-<H2 ALIGN=CENTER>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
-MODIFICATION</H2>
+<P ALIGN="CENTER"><BIG>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
+MODIFICATION</BIG></P>
<STRONG>0.</STRONG> This License Agreement applies to any software
library which contains a notice placed by the copyright holder or other
authorized party saying it may be distributed under the terms of this
@@ -352,7 +352,7 @@ Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally. </P>
-<H2 ALIGN=CENTER>NO WARRANTY</H2>
+<P ALIGN="CENTER"><BIG>NO WARRANTY</BIG></P>
<P><STRONG>15.</STRONG> BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE,
THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
@@ -372,5 +372,5 @@ RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. </P>
-<H2 ALIGN=CENTER>END OF TERMS AND CONDITIONS</H2>
+<P ALIGN="CENTER"><BIG>END OF TERMS AND CONDITIONS</BIG></P>
</BODY></HTML>
diff --git a/documentation/subclassing.html b/documentation/subclassing.html
index 6df01be99..5d061a1c1 100644
--- a/documentation/subclassing.html
+++ b/documentation/subclassing.html
@@ -361,7 +361,7 @@ should call this on all the children if your own damage is equal to
FL_DAMAGE_CHILD. Nothing is done if the child is not <TT>visible()</TT>
or if it is clipped.
<H2>Cut and Paste Support</H2>
- FLTK provides routines to cut and paste ASCII text (in the future this
+ FLTK provides routines to cut and paste 8-bit text (in the future this
may be UTF-8) between applications:
<UL>
<LI><A href=functions.html#paste><TT>Fl::paste</TT></A></LI>
@@ -369,10 +369,10 @@ may be UTF-8) between applications:
<LI><A href=#selection_length><TT>Fl::selection_length</TT></A></LI>
<LI><A href=functions.html#selection_owner><TT>Fl::selection_owner</TT></A></LI>
</UL>
- It may be possible to cut/paste non-ASCII data by using <A href=osissues.html#add_handler>
+It may be possible to cut/paste non-text data by using <A href=osissues.html#add_handler>
<TT>Fl::add_handler()</TT></A>.
<H2>Making a subclass of Fl_Window</H2>
- You may want your widget to be a subclass of <TT>Fl_Window</TT>. This
+You may want your widget to be a subclass of <TT>Fl_Window</TT>. This
can be useful if your widget wants to occupy an entire window, and can
also be used to take advantage of system-provided clipping, or to work
with a library that expects a system window ID to indicate where to