Commit d22d9363 authored by Aaron M. Ucko's avatar Aaron M. Ucko

[svn-upgrade] Integrating new upstream version, fltk1.1 (1.1.8~r6021)

parent ec35289c
......@@ -3,7 +3,42 @@ CHANGES IN FLTK 1.1.8
- Documentation fixes (STR #1454, STR #1455, STR #1456,
STR #1457, STR #1458, STR #1460, STR #1481, STR #1578,
STR #1639, STR #1645, STR #1644, STR #1792, STR #1793,
STR #1742, STR #1777)
STR #1742, STR #1777, STR #1794, STR #1827, STR #1843,
STR #1796, STR #1815, STR #1726, STR #1753, STR #1855)
- Fixed potential buffer overrun
in Fl_Preferences (STR #1853)
- Fixed method attributes in consecutive class
declarations in FLUID (STR #1741)
- FLUID checks for seperately declared callbacks to
avoid a bogus "extern" declaration (STR #1776)
- Added "protected" class memebrs in FLUID
- Double-clicking a widget in a FLUID layout will show
the item in the widget browser
- Fixed color highlighting in Text_Display
- Fixed 16 bit PNM image support (STR #1847)
- Fixed exposure event on zero size windows (STR #1824)
- Fixed overlay offset for OS X Quartz (STR #1729)
- gl_font() support for Xft+X11 (STR #1809)
- Fl_Gl_Window::mode() needed to hide and show the window
when toggling stereo mode (STR #1846)
- Fl_Gl_Window::show() did not work reliably on Mac OS X
(STR #1707)
- Added Fl_Group::clip_children() methods to support
automatic clipping of child widget drawing (STR #1844)
- Fl_Browser_ and friends now support FL_WHEN_ENTER_KEY
for both Enter/Return and double-clicks (STR #1818)
- Fl_Help_View did not release the images it used (STR
#1817)
- Shared libraries would not build on 64-bit Linux
systems with an existing non-PIC FLTK installation
(STR #1791)
- Fl_Browser::hide() and Fl_Browser::show() did not
correctly update the scrollbar (STR #1724)
- The configure script now shows a summry of the
configuration results (STR #1810)
- "fltk-config --use-* --libs" did not list all of the
dependent libraries (STR #1799)
- Hiding a nested window on WIN32 caused 100% CPU (STR #1748)
- Changing the window size in FLUID would not mark the
project as modified (STR #1751)
- Fixed fl_filename_isdir for "/"-path (STR #1761)
......
//
// "$Id: Fl_Check_Browser.H 5006 2006-04-20 03:53:41Z matt $"
// "$Id: Fl_Check_Browser.H 5979 2007-11-19 15:46:24Z matt $"
//
// Fl_Check_Browser header file for the Fast Light Tool Kit (FLTK).
//
......@@ -73,6 +73,7 @@ class FL_EXPORT Fl_Check_Browser : public Fl_Browser_ {
int add(char *s); // add an (unchecked) item
int add(char *s, int b); // add an item and set checked
// both return the new nitems()
int remove(int item); // delete an item. Returns nitems()
// inline const char * methods to avoid breaking binary compatibility...
int add(const char *s) { return add((char *)s); }
......@@ -97,6 +98,6 @@ class FL_EXPORT Fl_Check_Browser : public Fl_Browser_ {
#endif // Fl_Check_Browser_H
//
// End of "$Id: Fl_Check_Browser.H 5006 2006-04-20 03:53:41Z matt $".
// End of "$Id: Fl_Check_Browser.H 5979 2007-11-19 15:46:24Z matt $".
//
//
// "$Id: Fl_Group.H 4421 2005-07-15 09:34:53Z matt $"
// "$Id: Fl_Group.H 5993 2007-12-15 16:42:00Z mike $"
//
// Group header file for the Fast Light Tool Kit (FLTK).
//
......@@ -48,6 +48,10 @@ class FL_EXPORT Fl_Group : public Fl_Widget {
Fl_Group& operator=(const Fl_Group&);
protected:
enum { CLIP_CHILDREN = 2048 };
void clip_children(int c) { if (c) set_flag(CLIP_CHILDREN); else clear_flag(CLIP_CHILDREN); }
int clip_children() { return (flags() & CLIP_CHILDREN) != 0; }
void draw();
void draw_child(Fl_Widget&) const;
......@@ -103,5 +107,5 @@ public:
#endif
//
// End of "$Id: Fl_Group.H 4421 2005-07-15 09:34:53Z matt $".
// End of "$Id: Fl_Group.H 5993 2007-12-15 16:42:00Z mike $".
//
//
// "$Id: Fl_Help_View.H 5207 2006-06-18 15:53:26Z matt $"
// "$Id: Fl_Help_View.H 5991 2007-12-15 16:08:23Z mike $"
//
// Help Viewer widget definitions.
//
......@@ -156,6 +156,7 @@ class FL_EXPORT Fl_Help_View : public Fl_Group //// Help viewer widget
void draw();
void format();
void format_table(int *table_width, int *columns, const char *table);
void free_data();
int get_align(const char *p, int a);
const char *get_attr(const char *p, const char *n, char *buf, int bufsize);
Fl_Color get_color(const char *n, Fl_Color c);
......@@ -216,5 +217,5 @@ public:
#endif // !Fl_Help_View_H
//
// End of "$Id: Fl_Help_View.H 5207 2006-06-18 15:53:26Z matt $".
// End of "$Id: Fl_Help_View.H 5991 2007-12-15 16:08:23Z mike $".
//
//
// "$Id: Fl_Text_Buffer.H 4288 2005-04-16 00:13:17Z mike $"
// "$Id: Fl_Text_Buffer.H 6010 2008-01-04 20:31:52Z matt $"
//
// Header file for Fl_Text_Buffer class.
//
......@@ -123,11 +123,13 @@ class FL_EXPORT Fl_Text_Buffer {
void remove_selection();
void replace_selection(const char* text);
void secondary_select(int start, int end);
int secondary_selected() { return mSecondary.selected(); }
void secondary_unselect();
void secondary_select_rectangular(int start, int end, int rectStart,
int rectEnd);
int secondary_selection_position(int* start, int* end);
int secondary_selection_position(int* start, int* end, int* isRect,
int* rectStart, int* rectEnd);
......@@ -135,9 +137,11 @@ class FL_EXPORT Fl_Text_Buffer {
void remove_secondary_selection();
void replace_secondary_selection(const char* text);
void highlight(int start, int end);
int highlight() { return mHighlight.selected(); }
void unhighlight();
void highlight_rectangular(int start, int end, int rectStart, int rectEnd);
int highlight_position(int* start, int* end);
int highlight_position(int* start, int* end, int* isRect, int* rectStart,
int* rectEnd);
......@@ -255,5 +259,5 @@ class FL_EXPORT Fl_Text_Buffer {
#endif
//
// End of "$Id: Fl_Text_Buffer.H 4288 2005-04-16 00:13:17Z mike $".
// End of "$Id: Fl_Text_Buffer.H 6010 2008-01-04 20:31:52Z matt $".
//
//
// "$Id: Fl_Widget.H 4421 2005-07-15 09:34:53Z matt $"
// "$Id: Fl_Widget.H 5982 2007-11-19 16:21:48Z matt $"
//
// Widget header file for the Fast Light Tool Kit (FLTK).
//
......@@ -188,6 +188,7 @@ public:
void do_callback(Fl_Widget* o,void* arg=0) {callback_(o,arg); if (callback_ != default_callback) clear_changed();}
void do_callback(Fl_Widget* o,long arg) {callback_(o,(void*)arg); if (callback_ != default_callback) clear_changed();}
int test_shortcut();
static char label_shortcut(const char *t);
static int test_shortcut(const char*);
int contains(const Fl_Widget*) const ;
int inside(const Fl_Widget* o) const {return o ? o->contains(this) : 0;}
......@@ -216,5 +217,5 @@ public:
#endif
//
// End of "$Id: Fl_Widget.H 4421 2005-07-15 09:34:53Z matt $".
// End of "$Id: Fl_Widget.H 5982 2007-11-19 16:21:48Z matt $".
//
#
# "$Id: Makefile 5788 2007-05-01 14:28:23Z matt $"
# "$Id: Makefile 5985 2007-11-20 21:15:08Z mike $"
#
# Top-level makefile for the Fast Light Tool Kit (FLTK).
#
# Copyright 1998-2006 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
......@@ -29,7 +29,7 @@ include makeinclude
DIRS = $(IMAGEDIRS) src fluid test documentation
all: makeinclude
all: makeinclude fltk-config
for dir in $(DIRS); do\
echo "=== making $$dir ===";\
(cd $$dir; $(MAKE) $(MFLAGS)) || exit 1;\
......@@ -90,6 +90,16 @@ distclean: clean
$(RM) test/`basename $$file .fl`.h; \
done
fltk-config: configure configh.in fltk-config.in
if test -f config.status; then \
./config.status --recheck; \
./config.status; \
else \
./configure; \
fi
touch config.h
chmod +x fltk-config
makeinclude: configure configh.in makeinclude.in
if test -f config.status; then \
./config.status --recheck; \
......@@ -113,5 +123,5 @@ etags:
etags FL/*.H FL/*.h src/*.cxx src/*.c src/*.h fluid/*.h fluid/*.cxx test/*.h test/*.cxx
#
# End of "$Id: Makefile 5788 2007-05-01 14:28:23Z matt $".
# End of "$Id: Makefile 5985 2007-11-20 21:15:08Z mike $".
#
......@@ -7658,11 +7658,11 @@ LARGEFILE=""
if test x$enable_largefile = xyes; then
LARGEFILE="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
if test $ac_cv_sys_large_files = 1; then
if test x$ac_cv_sys_large_files = x1; then
LARGEFILE="$LARGEFILE -D_LARGE_FILES"
fi
if test $ac_cv_sys_file_offset_bits = 64; then
if test x$ac_cv_sys_file_offset_bits = x64; then
LARGEFILE="$LARGEFILE -D_FILE_OFFSET_BITS=64"
fi
fi
......@@ -11979,6 +11979,79 @@ _ACEOF
fi
echo ""
echo "Configuration Summary"
echo "-------------------------------------------------------------------------"
case $uname in
CYGWIN* | MINGW*)
graphics="GDI"
;;
Darwin*)
if test x$enable_quartz = xyes; then
graphics="Quartz"
else
graphics="Quickdraw"
fi
;;
*)
graphics="X11"
if test x$enable_xft = xyes; then
graphics="$graphics+Xft"
fi
if test x$enable_xdbe = xyes; then
graphics="$graphics+Xdbe"
fi
if test x$enable_xinerama = xyes; then
graphics="$graphics+Xinerama"
fi
;;
esac
echo " Directories: prefix=$prefix"
echo " bindir=$bindir"
echo " datadir=$datadir"
echo " datarootdir=$datarootdir"
echo " exec_prefix=$exec_prefix"
echo " includedir=$includedir"
echo " libdir=$libdir"
echo " mandir=$mandir"
echo " Graphics: $graphics"
if test x$JPEG = x; then
echo "Image Libraries: JPEG=System"
else
echo "Image Libraries: JPEG=Builtin"
fi
if test x$PNG = x; then
echo " PNG=System"
else
echo " PNG=Builtin"
fi
if test x$ZLIB = x; then
echo " ZLIB=System"
else
echo " ZLIB=Builtin"
fi
if test x$enable_largefile = xyes; then
echo " Large Files: YES"
else
echo " Large Files: NO"
fi
if test x$GLDEMOS = x; then
echo " OpenGL: NO"
else
echo " OpenGL: YES"
fi
if test x$THREADS = x; then
echo " Threads: NO"
else
echo " Threads: YES"
fi
ac_config_headers="$ac_config_headers config.h:configh.in"
ac_config_files="$ac_config_files makeinclude fltk.list fltk-config fltk.spec FL/Makefile"
......
dnl -*- sh -*-
dnl the "configure" script is made from this by running GNU "autoconf"
dnl
dnl "$Id: configure.in 5849 2007-05-20 16:32:37Z matt $"
dnl "$Id: configure.in 5986 2007-11-20 21:52:54Z mike $"
dnl
dnl Configuration script for the Fast Light Tool Kit (FLTK).
dnl
......@@ -426,11 +426,11 @@ LARGEFILE=""
if test x$enable_largefile = xyes; then
LARGEFILE="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
if test $ac_cv_sys_large_files = 1; then
if test x$ac_cv_sys_large_files = x1; then
LARGEFILE="$LARGEFILE -D_LARGE_FILES"
fi
if test $ac_cv_sys_file_offset_bits = 64; then
if test x$ac_cv_sys_file_offset_bits = x64; then
LARGEFILE="$LARGEFILE -D_FILE_OFFSET_BITS=64"
fi
fi
......@@ -1069,6 +1069,80 @@ else
AC_DEFINE_UNQUOTED(FLTK_DATADIR, "$prefix/share/fltk")
fi
dnl Summarize results of configure tests...
echo ""
echo "Configuration Summary"
echo "-------------------------------------------------------------------------"
case $uname in
CYGWIN* | MINGW*)
graphics="GDI"
;;
Darwin*)
if test x$enable_quartz = xyes; then
graphics="Quartz"
else
graphics="Quickdraw"
fi
;;
*)
graphics="X11"
if test x$enable_xft = xyes; then
graphics="$graphics+Xft"
fi
if test x$enable_xdbe = xyes; then
graphics="$graphics+Xdbe"
fi
if test x$enable_xinerama = xyes; then
graphics="$graphics+Xinerama"
fi
;;
esac
echo " Directories: prefix=$prefix"
echo " bindir=$bindir"
echo " datadir=$datadir"
echo " datarootdir=$datarootdir"
echo " exec_prefix=$exec_prefix"
echo " includedir=$includedir"
echo " libdir=$libdir"
echo " mandir=$mandir"
echo " Graphics: $graphics"
if test x$JPEG = x; then
echo "Image Libraries: JPEG=System"
else
echo "Image Libraries: JPEG=Builtin"
fi
if test x$PNG = x; then
echo " PNG=System"
else
echo " PNG=Builtin"
fi
if test x$ZLIB = x; then
echo " ZLIB=System"
else
echo " ZLIB=Builtin"
fi
if test x$enable_largefile = xyes; then
echo " Large Files: YES"
else
echo " Large Files: NO"
fi
if test x$GLDEMOS = x; then
echo " OpenGL: NO"
else
echo " OpenGL: YES"
fi
if test x$THREADS = x; then
echo " Threads: NO"
else
echo " Threads: YES"
fi
dnl Write all of the files...
AC_CONFIG_HEADER(config.h:configh.in)
AC_OUTPUT(makeinclude fltk.list fltk-config fltk.spec FL/Makefile)
......@@ -1077,5 +1151,5 @@ dnl Make sure the fltk-config script is executable...
chmod +x fltk-config
dnl
dnl End of "$Id: configure.in 5849 2007-05-20 16:32:37Z matt $".
dnl End of "$Id: configure.in 5986 2007-11-20 21:52:54Z mike $".
dnl
......@@ -1372,9 +1372,18 @@ the top edge of the screen.
<H4><A NAME="Fl.event_dx">int event_dx();</A></H4>
Returns the current horizontal mouse scrolling associated with the
<tt>FL_MOUSEWHEEL</tt> event. Right is positive.
<H4><A NAME="Fl.event_dy">int event_dy();</A></H4>
Returns the current vertical mouse scrolling assoaciated with the
<tt>FL_MOUSEWHEEL</tt> event. Down is positive.
<H4><A NAME="Fl.event_text">const char* event_text();</A></H4>
Returns the text associated with the current <tt>FL_PASTE</tt> or
<tt>FL_DND_RELEASE</tt> event.
</BODY>
</HTML>
......@@ -80,18 +80,19 @@ subclass of <TT>Fl_Browser_</TT>. </P>
<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>
<LI><A href=#Fl_Browser.selected>selected</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
<LI><A href=#Fl_Browser.show>show</A></LI>
<LI><A href=#Fl_Browser.size>size</A></LI>
<LI><A href=#Fl_Browser.swap>swap</A></LI>
<LI><A href=#Fl_Browser.text>text</A></LI>
<LI><A href=#Fl_Browser.topline>topline</A></LI>
</UL>
</TD>
<TD align=left valign=top>
<UL>
<LI><A href=#Fl_Browser.topline>topline</A></LI>
<LI><A href=#Fl_Browser.visible>visible</A></LI>
</UL>
</TD></TR>
......@@ -196,6 +197,8 @@ will always return 0.
<P>The second form sets the vertical scrollbar position to <TT>p</TT>. </P>
<H4><A name=Fl_Browser.remove>void Fl_Browser::remove(int n)</A></H4>
Remove line <TT>n</TT> and make the browser one line shorter.
<H4><A name=Fl_Browser.selected>int Fl_Browser::selected(int n) const</A></H4>
Return 1 if line <TT>n</TT> is selected, 0 if it not selected.
<H4><A name=Fl_Browser.show>void Fl_Browser::show(int n)</A></H4>
Makes line <TT>n</TT> visible for selection.
<H4><A name=Fl_Browser.size>int Fl_Browser::size() const</A></H4>
......
......@@ -113,13 +113,13 @@ int, int, const char * = 0)</A></H4>
<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
<P><tt>[protected]</tt> 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.
<P><tt>[protected]</tt> 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.
......@@ -140,16 +140,16 @@ callback function for the widget.
<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
<P><tt>[protected]</tt> 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><tt>[protected]</tt> The first form draws the list within the normal widget bounding box.
<P>The second form draws the contents of the browser within the
<P><tt>[protected]</tt> The second form draws the contents of the browser within the
specified bounding box.
......@@ -161,14 +161,14 @@ displayed at that position then <TT>NULL</TT> is returned.
<H4><A NAME="Fl_Browser_.full_height">virtual int Fl_Browser_::full_height() const</A></H4>
<P>This method may be provided by the subclass to indicate the full height
<P><tt>[protected]</tt> 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() const</A></H4>
<P>This method may be provided by the subclass to indicate the full width
<P><tt>[protected]</tt> 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.
......@@ -178,7 +178,7 @@ width from the item widths.
<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.
<P><tt>[protected]</tt> The second form handles an event within the specified bounding box.
<H4><A name="Fl_Browser_.has_scrollbar">void
......@@ -222,52 +222,52 @@ area.
<H4><A NAME="Fl_Browser_.incr_height">virtual int Fl_Browser_::incr_height() const</A></H4>
<P>This method may be provided to return the average height of all items, to
<P><tt>[protected]</tt> 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.
<P><tt>[protected]</tt> 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
<P><tt>[protected]</tt> 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
<P><tt>[protected]</tt> 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) const</A></H4>
<P>This method must be provided by the subclass to return the height of the
<P><tt>[protected]</tt> 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
<P><tt>[protected]</tt> 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
<P><tt>[protected]</tt> 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) const</A></H4>
<P>This method may be provided by the subclass to return the height of the
<P><tt>[protected]</tt> 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
......@@ -277,34 +277,34 @@ calls <TT>item_height</TT>.
<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
<P><tt>[protected]</tt> 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
<P><tt>[protected]</tt> 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) const</A></H4>
<P>This method must be provided by the subclass to return the width of the
<P><tt>[protected]</tt> 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
<P><tt>[protected]</tt> 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
<P><tt>[protected]</tt> 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.
......@@ -319,18 +319,18 @@ area.
<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
<P><tt>[protected]</tt> 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.
<P><tt>[protected]</tt> 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.
<P><tt>[protected]</tt> 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.
......@@ -375,7 +375,7 @@ 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.
<P><tt>[protected]</tt> Returns the item currently selected, or NULL if there is no selection.
<P>For multiple selection browsers this call returns the currently focused item,
even if it is not selected. To find all selected items, call
......@@ -412,7 +412,7 @@ browser.
<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.
<P><tt>[protected]</tt> Returns the item the appears at the top of the list.
</BODY>
......
......@@ -45,6 +45,7 @@ lines that may be selected and/or checked by the user.
</UL>
</TD><TD align=left valign=top>
<UL>
<LI><A href=#Fl_Check_Browser.remove>remove</A></LI>
<LI><A href=#Fl_Check_Browser.set_checked>set_checked</A></LI>
<LI><A href=#Fl_Check_Browser.text>text</A></LI>
<LI><A href=#Fl_Check_Browser.value>value</A></LI>
......@@ -86,6 +87,10 @@ Returns how many items are currently checked.
Returns how many lines are in the browser. The last line number is equal to
this.
<H4><A name=Fl_Check_Browser.remove>int Fl_Check_Browser::remove(int n)</A></H4>
Remove line <TT>n</TT> and make the browser one line shorter. Returns the
number of lines left in the browser.
<H4><A name=Fl_Check_Browser.set_checked>void Fl_Check_Browser::set_checked(int item)</A></H4>
Equivalent to <TT>Fl_Check_Browser::checked(item, 1)</TT>.
......
......@@ -39,18 +39,19 @@ behavior.
<LI><A href=#Fl_Group.Fl_Group>Fl_Group</A></LI>
<LI><A href=#Fl_Group.~Fl_Group>~Fl_Group</A></LI>
<LI><A href=#Fl_Group.add>add</A></LI>
<LI><A href=#Fl_Group.add_resizable>add_resizable</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
<LI><A href=#Fl_Group.add_resizable>add_resizable</A></LI>
<LI><A href=#Fl_Group.array>array</A></LI>
<LI><A href=#Fl_Group.begin>begin</A></LI>
<LI><A href=#Fl_Group.child>child</A></LI>
<LI><A href=#Fl_Group.children>children</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
<LI><A href=#Fl_Group.child>child</A></LI>
<LI><A href=#Fl_Group.children>children</A></LI>
<LI><A href="#Fl_Group.clear">clear</A></LI>
<LI><A href="#Fl_Group.clip_children">clip_children</A></LI>
<LI><A href=#Fl_Group.current>current</A></LI>
</UL>
</TD><TD align=left valign=top>
......@@ -94,6 +95,16 @@ memory recursively.</p>
href='#Fl_Group.remove'><tt>remove()</tt></a> method in that it
affects all child widgets and deletes them from memory.</p>
<H4><A name="Fl_Group.clip_children">void Fl_Group::clip_children(int c);<br>
int Fl_Group::clip_children();</A></H4>
The first method controls whether the group widget clips the drawing of
child widgets to its bounding box.
<p>The second method returns the current clipping mode.
<p>The default is to not clip (0) the drawing of child widgets.
<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
......
......@@ -105,7 +105,9 @@ copy();</A></H4>
<P>The <TT>copy()</TT> method creates a copy of the specified
image. If the width and height are provided, the image is
resized to the specified size.</P>
resized to the specified size. The image should be deleted (or in
the case of <tt>Fl_Shared_Image</tt>, released) when you are done
with it.</P>
<H4><A NAME="Fl_Image.count">int count();</A></H4>
......
......@@ -36,7 +36,7 @@ inset box and a white background. The text may contain any