Commit 271d1fe7 authored by Aaron M. Ucko's avatar Aaron M. Ucko

Load fltk-1.1.6 into branches/upstream/current.

parent 68783ddb
This diff is collapsed.
CHANGES IN FLTK 1.1.6
- Documentation updates (STR #552, STR #608)
- Added the 2.0 Fl_Widget::copy_label() method to
allow FLTK 1.x applications to have their label
strings managed by FLTK (STR #630)
- Added Fl::delete_widget() method to safely delete
widgets in callback methods (STR #629)
- Fl_Widget::damage(uchar,int,int,int,int) didn't clip
the bounding box properly (STR #626)
- Windows could appear on the wrong screen on OSX (STR
#628)
- Fl_Double_Window produced an error on resize with X11
- FLUID didn't display menu items using images properly
(STR #564)
- Fl_Sys_Menu_Bar didn't compile on case-sensitive
file-systems (STR #622)
- FLUID didn't handle default function parameters
properly (STR #579)
- Moving or resizing widgets in FLUID didn't always
update the widget panel (STR #600)
- FLTK windows could appear off-screen on X11 (STR #586)
- The configure script did not support
--disable-localfoo to completely disable image file
support (STR #582)
- The Visual C++ 6.0 project files still listed the old
JPEG, PNG, and ZLIB library names (STR #577)
- Fixed the scandir() conditional code for HP-UX 11i
(STR #585)
- Fl_Text_Display didn't support CTRL/CMD-A/C (STR #601)
- Watcom fixes (STR #581, STR #584, STR #594, STR #595,
STR #623, STR #627)
- Fixed library include order when building DSOs on
MacOS X (STR #596)
- fl_xid() could cause a WIN32 application to crash (STR
#560, STR #576, STR #618)
- Fl_Browser::remove_() removed the item from the list
before computing the item height, which caused
problems with some programs (STR #613)
CHANGES IN FLTK 1.1.5
- Documentation updates (STR #568, STR #570)
......
//
// "$Id: Enumerations.H,v 1.18.2.14.2.37 2004/04/11 04:38:53 easysw Exp $"
// "$Id: Enumerations.H,v 1.18.2.14.2.38 2004/11/20 03:19:57 easysw Exp $"
//
// Enumerations for the Fast Light Tool Kit (FLTK).
//
......@@ -45,7 +45,7 @@
#define FL_MAJOR_VERSION 1
#define FL_MINOR_VERSION 1
#define FL_PATCH_VERSION 5
#define FL_PATCH_VERSION 6
#define FL_VERSION ((double)FL_MAJOR_VERSION + \
(double)FL_MINOR_VERSION * 0.01 + \
(double)FL_PATCH_VERSION * 0.0001)
......@@ -419,5 +419,5 @@ enum Fl_Damage {
#endif
//
// End of "$Id: Enumerations.H,v 1.18.2.14.2.37 2004/04/11 04:38:53 easysw Exp $".
// End of "$Id: Enumerations.H,v 1.18.2.14.2.38 2004/11/20 03:19:57 easysw Exp $".
//
//
// "$Id: Fl.H,v 1.8.2.11.2.23 2004/04/11 04:38:53 easysw Exp $"
// "$Id: Fl.H,v 1.8.2.11.2.24 2004/11/23 19:47:50 easysw Exp $"
//
// Main header file for the Fast Light Tool Kit (FLTK).
//
......@@ -257,10 +257,14 @@ public:
static void unlock();
static void awake(void* message = 0);
static void* thread_message();
// Widget deletion:
static void delete_widget(Fl_Widget *w);
static void do_widget_deletion();
};
#endif // !Fl_H
//
// End of "$Id: Fl.H,v 1.8.2.11.2.23 2004/04/11 04:38:53 easysw Exp $".
// End of "$Id: Fl.H,v 1.8.2.11.2.24 2004/11/23 19:47:50 easysw Exp $".
//
//
// "$Id: Fl_Widget.H,v 1.6.2.4.2.25 2004/09/24 16:00:08 easysw Exp $"
// "$Id: Fl_Widget.H,v 1.6.2.4.2.26 2004/11/23 19:47:50 easysw Exp $"
//
// Widget header file for the Fast Light Tool Kit (FLTK).
//
......@@ -90,7 +90,7 @@ protected:
void set_flag(int c) {flags_ |= c;}
void clear_flag(int c) {flags_ &= ~c;}
enum {INACTIVE=1, INVISIBLE=2, OUTPUT=4, SHORTCUT_LABEL=64,
CHANGED=128, VISIBLE_FOCUS=512};
CHANGED=128, VISIBLE_FOCUS=512, COPIED_LABEL = 1024};
void draw_box() const;
void draw_box(Fl_Boxtype, Fl_Color) const;
......@@ -131,7 +131,8 @@ public:
void selection_color(unsigned a) {color2_ = a;}
void color(unsigned a, unsigned b) {color_=a; color2_=b;}
const char* label() const {return label_.value;}
void label(const char* a) {label_.value=a; redraw_label();}
void label(const char* a);
void copy_label(const char* a);
void label(Fl_Labeltype a,const char* b) {label_.type = a; label_.value = b;}
Fl_Labeltype labeltype() const {return (Fl_Labeltype)label_.type;}
void labeltype(Fl_Labeltype a) {label_.type = a;}
......@@ -217,5 +218,5 @@ public:
#endif
//
// End of "$Id: Fl_Widget.H,v 1.6.2.4.2.25 2004/09/24 16:00:08 easysw Exp $".
// End of "$Id: Fl_Widget.H,v 1.6.2.4.2.26 2004/11/23 19:47:50 easysw Exp $".
//
//
// "$Id: Fl_Window.H,v 1.12.2.6.2.8 2004/04/11 04:38:54 easysw Exp $"
// "$Id: Fl_Window.H,v 1.12.2.6.2.9 2004/11/20 03:19:57 easysw Exp $"
//
// Window header file for the Fast Light Tool Kit (FLTK).
//
......@@ -88,7 +88,7 @@ public:
void hotspot(const Fl_Widget& p, int offscreen = 0) {hotspot(&p,offscreen);}
void free_position() {clear_flag(FL_FORCE_POSITION);}
void size_range(int a, int b, int c=0, int d=0, int e=0, int f=0, int g=0) {
minw=a; minh=b; maxw=c; maxh=d; dw=e; dh=f; aspect=g; size_range_();}
minw=(short)a; minh=(short)b; maxw=(short)c; maxh=(short)d; dw=(short)e; dh=(short)f; aspect=(short)g; size_range_();}
const char* label() const {return Fl_Widget::label();}
const char* iconlabel() const {return iconlabel_;}
......@@ -124,5 +124,5 @@ public:
#endif
//
// End of "$Id: Fl_Window.H,v 1.12.2.6.2.8 2004/04/11 04:38:54 easysw Exp $".
// End of "$Id: Fl_Window.H,v 1.12.2.6.2.9 2004/11/20 03:19:57 easysw Exp $".
//
//
// "$Id: win32.H,v 1.15.2.3.2.12 2004/04/11 04:38:55 easysw Exp $"
// "$Id: win32.H,v 1.15.2.3.2.13 2004/11/20 03:19:57 easysw Exp $"
//
// WIN32 header file for the Fast Light Tool Kit (FLTK).
//
......@@ -88,7 +88,7 @@ public:
};
extern FL_EXPORT HCURSOR fl_default_cursor;
extern FL_EXPORT UINT fl_wake_msg;
inline Window fl_xid(const Fl_Window*w) {return Fl_X::i(w)->xid;}
inline Window fl_xid(const Fl_Window*w) {Fl_X *temp = Fl_X::i(w); return temp ? temp->xid : 0;}
FL_EXPORT Fl_Window* fl_find(Window xid);
extern FL_EXPORT char fl_override_redirect; // hack into Fl_Window::make_xid()
extern FL_EXPORT int fl_background_pixel; // hack into Fl_Window::make_xid()
......@@ -138,5 +138,5 @@ inline void fl_open_callback(void (*)(const char *)) {}
extern FL_EXPORT int fl_parse_color(const char* p, uchar& r, uchar& g, uchar& b);
//
// End of "$Id: win32.H,v 1.15.2.3.2.12 2004/04/11 04:38:55 easysw Exp $".
// End of "$Id: win32.H,v 1.15.2.3.2.13 2004/11/20 03:19:57 easysw Exp $".
//
README - Fast Light Tool Kit (FLTK) Version 1.1.5
README - Fast Light Tool Kit (FLTK) Version 1.1.6
-------------------------------------------------
WHAT IS FLTK?
......@@ -122,53 +122,35 @@ INTERNET RESOURCES
FLTK is available on the 'net in a bunch of locations:
- WWW: http://www.fltk.org
http://www.fltk.org/str.php [for reporting bugs]
http://fltk.sourceforge.net
- FTP: ftp://ftp.easysw.com/pub/fltk
- FTP: http://ftp.easysw.com/pub/fltk
ftp://ftp2.easysw.com/pub/fltk
ftp://ftp.northamerica.net/pub/ESP/fltk
ftp://ftp3.easysw.com/pub/fltk
ftp://ftp.funet.fi/mirrors/ftp.easysw.com/pub/fltk
- EMail: fltk@fltk.org [see instructions below]
fltk-bugs@fltk.org [for reporting bugs]
To send a message to the FLTK mailing list ("fltk@fltk.org")
you must first join the list. Non-member submissions are
blocked to avoid problems with SPAM.
To join the FLTK mailing list, send a message to
"majordomo@fltk.org" with "subscribe fltk" in the message
body. A digest of this list is available by subscribing to
the "fltk-digest" mailing list.
To join the FLTK mailing list, go the following web page:
http://lists.easysw.com/listinfo/fltk
REPORTING BUGS
To report a bug in FLTK, send an email to
"fltk-bugs@fltk.org". Please include the FLTK version,
operating system & version, and compiler that you are using
when describing the bug or problem. You can also submit a
bug on the SourceForge pages.
To report a bug in FLTK, use the form at:
http://www.fltk.org/str.php
For general support and questions, please use the FLTK
mailing list at "fltk@fltk.org".
MESA
Currently the best way to get OpenGL on your Linux system is
to use Mesa. FLTK has been tested with Mesa on several
machines (and also with "real" OpenGL on SGI machines). Mesa
is available at:
http://www.mesa3d.org
The configure script will not see Mesa unless it is
installed as either libGL or libMesaGL. If you don't want
to do this you will have to edit config.h (set HAVE_GL to 1)
and makeinclude (add the libraries).
TRADEMARKS
Microsoft and Windows are registered trademarks of Microsoft
......
......@@ -1290,7 +1290,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
FL_MAJOR_VERSION=1
FL_MINOR_VERSION=1
FL_PATCH_VERSION=5
FL_PATCH_VERSION=6
FL_RELEASE_VERSION=
FL_API_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION}
......@@ -6035,7 +6035,7 @@ IMAGELIBS=""
# Check whether --enable-localjpeg or --disable-localjpeg was given.
if test "${enable_localjpeg+set}" = set; then
enableval="$enable_localjpeg"
if eval "test x$enable_localjpeg = xyes"; then
if test x$enable_localjpeg = xyes; then
ac_cv_lib_jpeg_jpeg_CreateCompress=no
fi
fi;
......@@ -6095,20 +6095,33 @@ fi
echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_CreateCompress" >&5
echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_CreateCompress" >&6
if test $ac_cv_lib_jpeg_jpeg_CreateCompress = yes; then
JPEGINC=""
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBJPEG 1
_ACEOF
JPEGINC=""
JPEG=""
IMAGELIBS="-ljpeg $IMAGELIBS"
else
JPEGINC="-I../jpeg"
JPEG="jpeg"
IMAGELIBS="-lfltk_jpeg $IMAGELIBS"
if test x$enable_localjpeg = xno; then
JPEGINC=""
JPEG=""
else
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBJPEG 1
_ACEOF
JPEGINC="-I../jpeg"
JPEG="jpeg"
IMAGELIBS="-lfltk_jpeg $IMAGELIBS"
fi
fi
# Check whether --enable-localzlib or --disable-localzlib was given.
if test "${enable_localzlib+set}" = set; then
enableval="$enable_localzlib"
if eval "test x$enable_localzlib = xyes"; then
if test x$enable_localzlib = xyes; then
ac_cv_lib_z_gzgets=no
fi
fi;
......@@ -6168,22 +6181,35 @@ fi
echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzgets" >&5
echo "${ECHO_T}$ac_cv_lib_z_gzgets" >&6
if test $ac_cv_lib_z_gzgets = yes; then
ZLIBINC=""
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBZ 1
_ACEOF
ZLIBINC=""
ZLIB=""
LIBS="-lz $LIBS"
IMAGELIBS="-lz $IMAGELIBS"
else
ZLIBINC="-I../zlib"
ZLIB="zlib"
LIBS="-lfltk_z $LIBS"
IMAGELIBS="-lfltk_z $IMAGELIBS"
if test x$enable_localzlib = xno; then
ZLIBINC=""
ZLIB=""
else
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBZ 1
_ACEOF
ZLIBINC="-I../zlib"
ZLIB="zlib"
LIBS="-lfltk_z $LIBS"
IMAGELIBS="-lfltk_z $IMAGELIBS"
fi
fi
# Check whether --enable-localpng or --disable-localpng was given.
if test "${enable_localpng+set}" = set; then
enableval="$enable_localpng"
if eval "test x$enable_localpng = xyes"; then
if test x$enable_localpng = xyes; then
ac_cv_lib_png_png_set_tRNS_to_alpha=no
fi
fi;
......@@ -6247,6 +6273,10 @@ if test $ac_cv_lib_png_png_set_tRNS_to_alpha = yes; then
PNGINC=""
PNG=""
IMAGELIBS="-lpng $IMAGELIBS"
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBPNG 1
_ACEOF
if test "${ac_cv_header_png_h+set}" = set; then
echo "$as_me:$LINENO: checking for png.h" >&5
echo $ECHO_N "checking for png.h... $ECHO_C" >&6
......@@ -6386,13 +6416,22 @@ fi
else
cat >>confdefs.h <<\_ACEOF
if test x$enable_localpng = xno; then
PNGINC=""
PNG=""
else
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBPNG 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define HAVE_PNG_H 1
_ACEOF
PNGINC="-I../png"
PNG="png"
IMAGELIBS="-lfltk_png $IMAGELIBS"
PNGINC="-I../png"
PNG="png"
IMAGELIBS="-lfltk_png $IMAGELIBS"
fi
fi
......@@ -6403,19 +6442,6 @@ fi
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBJPEG 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBPNG 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBZ 1
_ACEOF
LIBS="$SAVELIBS"
......
dnl -*- sh -*-
dnl the "configure" script is made from this by running GNU "autoconf"
dnl
dnl "$Id: configure.in,v 1.33.2.31.2.120 2004/10/18 21:05:27 easysw Exp $"
dnl "$Id: configure.in,v 1.33.2.31.2.122 2004/11/20 03:44:17 easysw Exp $"
dnl
dnl Configuration script for the Fast Light Tool Kit (FLTK).
dnl
......@@ -34,7 +34,7 @@ AC_INIT(src/Fl.cxx)
dnl FLTK library versions...
FL_MAJOR_VERSION=1
FL_MINOR_VERSION=1
FL_PATCH_VERSION=5
FL_PATCH_VERSION=6
FL_RELEASE_VERSION=
FL_API_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION}
......@@ -377,35 +377,49 @@ IMAGELIBS=""
AC_SUBST(IMAGELIBS)
AC_ARG_ENABLE(localjpeg, [ --enable-localjpeg use local JPEG library, default=auto],
[if eval "test x$enable_localjpeg = xyes"; then
[if test x$enable_localjpeg = xyes; then
ac_cv_lib_jpeg_jpeg_CreateCompress=no
fi])
AC_CHECK_LIB(jpeg,jpeg_CreateCompress,
AC_DEFINE(HAVE_LIBJPEG)
JPEGINC=""
JPEG=""
IMAGELIBS="-ljpeg $IMAGELIBS",
JPEGINC="-I../jpeg"
JPEG="jpeg"
IMAGELIBS="-lfltk_jpeg $IMAGELIBS")
if test x$enable_localjpeg = xno; then
JPEGINC=""
JPEG=""
else
AC_DEFINE(HAVE_LIBJPEG)
JPEGINC="-I../jpeg"
JPEG="jpeg"
IMAGELIBS="-lfltk_jpeg $IMAGELIBS"
fi)
AC_ARG_ENABLE(localzlib, [ --enable-localzlib use local ZLIB library, default=auto],
[if eval "test x$enable_localzlib = xyes"; then
[if test x$enable_localzlib = xyes; then
ac_cv_lib_z_gzgets=no
fi])
AC_CHECK_LIB(z,gzgets,
AC_DEFINE(HAVE_LIBZ)
ZLIBINC=""
ZLIB=""
LIBS="-lz $LIBS"
IMAGELIBS="-lz $IMAGELIBS",
ZLIBINC="-I../zlib"
ZLIB="zlib"
LIBS="-lfltk_z $LIBS"
IMAGELIBS="-lfltk_z $IMAGELIBS")
if test x$enable_localzlib = xno; then
ZLIBINC=""
ZLIB=""
else
AC_DEFINE(HAVE_LIBZ)
ZLIBINC="-I../zlib"
ZLIB="zlib"
LIBS="-lfltk_z $LIBS"
IMAGELIBS="-lfltk_z $IMAGELIBS"
fi)
AC_ARG_ENABLE(localpng, [ --enable-localpng use local PNG library, default=auto],
[if eval "test x$enable_localpng = xyes"; then
[if test x$enable_localpng = xyes; then
ac_cv_lib_png_png_set_tRNS_to_alpha=no
fi])
......@@ -413,11 +427,18 @@ AC_CHECK_LIB(png,png_set_tRNS_to_alpha, [
PNGINC=""
PNG=""
IMAGELIBS="-lpng $IMAGELIBS"
AC_DEFINE(HAVE_LIBPNG)
AC_CHECK_HEADER(png.h, AC_DEFINE(HAVE_PNG_H))],[
AC_DEFINE(HAVE_PNG_H)
PNGINC="-I../png"
PNG="png"
IMAGELIBS="-lfltk_png $IMAGELIBS"])
if test x$enable_localpng = xno; then
PNGINC=""
PNG=""
else
AC_DEFINE(HAVE_LIBPNG)
AC_DEFINE(HAVE_PNG_H)
PNGINC="-I../png"
PNG="png"
IMAGELIBS="-lfltk_png $IMAGELIBS"
fi])
AC_SUBST(JPEG)
AC_SUBST(JPEGINC)
......@@ -426,10 +447,6 @@ AC_SUBST(PNGINC)
AC_SUBST(ZLIB)
AC_SUBST(ZLIBINC)
AC_DEFINE(HAVE_LIBJPEG)
AC_DEFINE(HAVE_LIBPNG)
AC_DEFINE(HAVE_LIBZ)
dnl Restore original LIBS settings...
LIBS="$SAVELIBS"
......@@ -911,5 +928,5 @@ dnl Make sure the fltk-config script is executable...
chmod +x fltk-config
dnl
dnl End of "$Id: configure.in,v 1.33.2.31.2.120 2004/10/18 21:05:27 easysw Exp $".
dnl End of "$Id: configure.in,v 1.33.2.31.2.122 2004/11/20 03:44:17 easysw Exp $".
dnl
......@@ -49,6 +49,7 @@ state information and global methods for the current application.</P>
<LI><A HREF="#Fl.copy">copy</A></LI>
<LI><A HREF="#Fl.damage">damage</A></LI>
<LI><A HREF="#Fl.default_atclose">default_atclose</A></LI>
<LI><A HREF="#Fl.delete_widget">delete_widget</A></LI>
<LI><A HREF="#Fl.display">display</A></LI>
<LI><A HREF="#Fl.dnd">dnd</A></LI>
<LI><A HREF="#Fl.dnd_text_ops">dnd_text_ops</A></LI>
......@@ -233,6 +234,29 @@ FLTK will not recursively call the idle callback.
<tt>Fl::wait()</tt> at <i>t</i> seconds after this function is called.
The optional <tt>void*</tt> argument is passed to the callback.
<P>You can have multiple timeout callbacks. To remove an timeout
callback use <A
href="#Fl.remove_timeout"><tt>Fl::remove_timeout()</tt></A>.
<p>If you need more accurate, repeated timeouts, use <a
href='#Fl.repeat_timeout'><tt>Fl::repeat_timeout()</tt></a> to
reschedule the subsequent timeouts.</p>
<p>The following code will print &quot;TICK&quot; each second on
<tt>stdout</tt> with a fair degree of accuracy:</p>
<PRE>
void callback(void*) {
puts("TICK");
Fl::repeat_timeout(1.0, callback);
}
int main() {
Fl::add_timeout(1.0, callback);
return Fl::run();
}
</PRE>
<H4><A NAME="Fl.arg">int arg(int, char**, int&amp;);</A></H4>
<P>Consume a single switch from <tt>argv</tt>, starting at word i.
......@@ -468,6 +492,16 @@ void damage(int x);</A></H4>
<H4><A NAME="Fl.default_atclose">void default_atclose(Fl_Window*,void*);</A></H4>
<p>This is the default callback for window widgets. It hides the
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
window widget and not the individual child widgets.</p>
<H4><A NAME="Fl.display">void display(const char*);</A></H4>
<P>Sets the X display to use for all windows. Actually this just sets
......@@ -988,31 +1022,24 @@ callback that no longer exists.
<H4><A NAME="Fl.repeat_timeout">void repeat_timeout(double t, Fl_Timeout_Handler,void* = 0);</A></H4>
<P>Inside a timeout callback you can call this to add another timeout.
Rather than the time being measured from "now", it is measured from
when the system call elapsed that caused this timeout to be called. This
will result in far more accurate spacing of the timeout callbacks, it
also has slightly less system call overhead. (It will also use all
your machine time if your timeout code and FLTK's overhead take more
than <i>t</i> seconds, as the real timeout will be reduced to zero).
<P>This method repeats a timeout callback from the expiration of the
previous timeout, allowing for more accurate timing. You may only call
this method inside a timeout callback.
<p>It is undefined what this does if called from outside a timeout
callback.
<p>The following code will print &quot;TICK&quot; each second on
<tt>stdout</tt> with a fair degree of accuracy:</p>
<P>This code will print &quot;TICK&quot; each second on stdout, with a
fair degree of accuracy:
<PRE>
void callback(void*) {
puts("TICK");
Fl::repeat_timeout(1.0, callback);
}
<UL><PRE>
void callback(void*) {
printf(&quot;TICK\n&quot;);
Fl::repeat_timeout(1.0,callback);
}
main() {
Fl::add_timeout(1.0,callback);
return Fl::run();
}
</PRE></UL>
int main() {
Fl::add_timeout(1.0, callback);
return Fl::run();
}
</PRE>
<H4><A NAME="Fl.run">int run();</A></H4>
......
......@@ -233,9 +233,9 @@ 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 pathname or
label. If no matching menu item can be found, a NULL pointer is
returned.</p>
<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.</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,
......
......@@ -53,6 +53,7 @@ to call <TT>redraw()</TT> after these. </P>
<UL>
<LI><A href=#Fl_Widget.color>color</A></LI>
<LI><A href=#Fl_Widget.contains>contains</A></LI>
<LI><A href=#Fl_Widget.copy_label>copy_label</A></LI>
<LI><A href=#Fl_Widget.damage>damage</A></LI>
<LI><A href=#Fl_Widget.deactivate>deactivate</A></LI>
<LI><A href=#Fl_Widget.default_callback>default_callback</A></LI>
......@@ -64,10 +65,10 @@ to call <TT>redraw()</TT> after these. </P>
<LI><A href=#Fl_Widget.image>image</A></LI>
<LI><A href=#Fl_Widget.inside>inside</A></LI>
<LI><A href=#Fl_Widget.label>label</A></LI>
<LI><A href=#Fl_Widget.labelcolor>labelcolor</A></LI>
</UL>
</TD><TD align=left valign=top>
<UL>
<LI><A href=#Fl_Widget.labelcolor>labelcolor</A></LI>
<LI><A href=#Fl_Widget.labelfont>labelfont</A></LI>
<LI><A href=#Fl_Widget.labelsize>labelsize</A></LI>
<LI><A href=#Fl_Widget.labeltype>labeltype</A></LI>
......@@ -258,6 +259,14 @@ method for more information.
equal to this widget. Returns 0 if <TT>b</TT> is <TT>NULL</TT>.
<H4><A name='Fl_Widget.copy_label'>void Fl_Widget::copy_label(const char*)</A></H4>
<P>Sets the current label. Unlike <a
href='#Fl_Widget.label'><tt>label()</tt></a>, this method
allocates a copy of the label string instead of using the
original string pointer.</p>
<H4><A name=Fl_Widget.damage>uchar Fl_Widget::damage() const<BR>
void damage(uchar c);<BR>
void damage(uchar c, int X, int Y, int W, int H);</A></H4>
......@@ -329,7 +338,10 @@ equal to <TT>a</TT>. Returns 0 if <TT>a</TT> is <TT>NULL</TT>.
somewhere on or next to the widget. The passed pointer is stored
unchanged in the widget (the string is <I>not</I> copied), so if
you need to set the label to a formatted value, make sure the
buffer is <TT>static</TT>, global, or allocated.
buffer is <TT>static</TT>, global, or allocated. The <a
href='#Fl_Widget.copy_label'><tt>copy_label()</tt></a> method
can be used to make a copy of the label string
automatically.</p>
<H4><A name=Fl_Widget.labelcolor>Fl_Color Fl_Widget::labelcolor() const
......
......@@ -532,7 +532,16 @@ button-&gt;when(FL_WHEN_CHANGED | FL_WHEN_NOT_CHANGED);
<CENTER><TABLE WIDTH="80%" BORDER="1" CELLPADDING="5" CELLSPACING="0" BGCOLOR="#cccccc">
<TR>
<TD><B>Hint:</B>
<TD><B>Note:</B>
<P>You cannot delete a widget inside a callback, as the
widget may still be accessed by FLTK after your callback
is completed. Instead, use the <a
href='Fl.html#Fl.delete_widget'><tt>Fl::delete_widget()</tt></a>
method to mark your widget for deletion when it is safe
to do so.</p>
<p><B>Hint:</B>
<P>Many programmers new to FLTK or C++ try to use a
non-static class method instead of a static class method
......
<HTML>
<HEAD>
<META NAME="robots" CONTENT="noindex">
<TITLE>FLTK 1.1.5 Programming Manual</TITLE>
<TITLE>FLTK 1.1.6 Programming Manual</TITLE>
</HEAD>
<BODY>
......@@ -10,8 +10,8 @@
<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.5 Programming Manual</H1>
<P>Revision 5 by Michael Sweet, Craig P. Earls, and Bill Spitzak<BR>
<H1>FLTK 1.1.6 Programming Manual</H1>
<P>Revision 6 by Michael Sweet, Craig P. Earls, and Bill Spitzak<BR>
Copyright 1998-2004 by Bill Spitzak and others.</P>
</TD>
</TR>
......
......@@ -2,15 +2,15 @@
<HEAD>
<META CONTENT="Written by Michael Sweet, Craig P. Earls, and Bill Spitzak" NAME="Author">
<META CONTENT="Copyright 1998-2004 by Bill Spitzak and Others." NAME="Copyright">
<META CONTENT="Revision 5" NAME="DocNumber">
<TITLE>FLTK 1.1.5 Programming Manual</TITLE>
<META CONTENT="Revision 6" NAME="DocNumber">
<TITLE>FLTK 1.1.6 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.5, a C++ Graphical User Interface
version 1.1.6, 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
......
#
# "$Id: fltk.spec,v 1.1.2.9.2.31 2004/10/18 21:05:28 easysw Exp $"
# "$Id: fltk.spec,v 1.1.2.9.2.32 2004/11/20 03:19:57 easysw Exp $"
#
# RPM spec file for FLTK.
#
......@@ -23,7 +23,7 @@
# Please report all bugs and problems to "fltk-bugs@fltk.org".
#
%define version 1.1.5
%define version 1.1.6
%define release 0
%define prefix /usr
......@@ -96,5 +96,5 @@ rm -rf $RPM_BUILD_ROOT
%{prefix}/share/doc/fltk/*
#
# End of "$Id: fltk.spec,v 1.1.2.9.2.31 2004/10/18 21:05:28 easysw Exp $".
# End of "$Id: fltk.spec,v 1.1.2.9.2.32 2004/11/20 03:19:57 easysw Exp $".
#