Doco and header updates for 1.0.10.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1332 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Michael R Sweet 2000-11-20 14:53:52 +00:00
parent e01a7a33d7
commit 26ce73d012
5 changed files with 277 additions and 96 deletions

168
CHANGES
View File

@ -1,3 +1,171 @@
CHANGES SINCE FLTK 1.0.9
- Disabled the WIN32 async socket select code by default:
it doesn't seem to work anymore...
- Fl::below_mouse() was incorrectly clearing e_is_click;
this prevented any double-clicks from getting
through...
- No longer clear Fl::keysym on every event, this makes
better back compatability and fixes Win2000
- Fluid now restores which tab in an Fl_Tabs was
selected when loads .fl files.
- Hack to fix the annoying "raise another application
when a modal window is closed" problem on WIN32.
- Fl_Tabs now draws the background behind the tabs.
- Fl::set_fonts() on WIN32 fixed to work before the
first window is shown.
- CUA function keys, code submitted by George Yohng
<yohng@drivex.dosware.8m.com>
- Another attempt to get glut.h to work on WIN32.
- Fl_Menu_::add() ignores '&' signs when comparing menu
items, so you don't have to make the shortcuts the
same all the time.
- Fixed bit-flipping patterns in WIN32 bitmap code.
- Fixed size of data written by gif images to .C files
- Menu titles and buttons in the menubar can be images
(allows it to be used as a toolbar)
- Reads selectBackground from the xrdb database to set
the selection color. Adding this to your .Xdefaults
will make fltk and Motif programs look much more
Windoze-like:
*selectForeground: white
*selectBackground: #000080
- FL_WHEN_RELEASE on Fl_Input will now do the callback
when the input field is hidden, for instance when it
is on a tab and the user switches to another tab.
- Fl_Gl_Window with an overlay on X always resized any
child windows even if you turned resizable() off
because it turned it back on to resize the overlay
window. This patch avoids changing resizable().
- Fix so multiple Fl::add_idle() calls works
- The input focus got messed up if you called
Fl_Tabs::value(x) and there was something that took
focus on an earlier tab.
- Removed some (not all) of the warnings when compiled
with -Wwrite-strings, this should also get similar
warnings Solaris produces.
- Made Fl_Browser not hide the Fl_Widget::show() method
- Changes & additions for OS/2 from Alexander Mai
- Patch from Mike Lindner to make the turning on/off of
scrollbars on Fl_Scroll smarter.
- Added missing FL_EXPORT for Fl_Valuator::format()
- Shortcuts for "buttons" in a Fl_Menu_Bar work again.
- Fix for cut/paste support and Xdnd.
- Shortcuts for submenu titles in a menubar pop up the
submenu (rather than calling the callback)
- Added documentation for GL_SWAP_TYPE
- Buttons with box(FL_NO_BOX) did not draw. Apparently
they did in older versions of fltk, I restored this.
(bug 108771)
- Removed 8-bit colormap drawing code that was not doing
anything in fl_draw_image due to the colormap
allocation changes. I also made fl_color(r,g,b)
actually allocate the requested color rather than the
nearest fltk color-cube color (this is only done for
the first color that maps to a given entry in the fltk
color cube), the result is that pixmaps with a small
number of colors are drawn much more accurately. The
resulting code seems to produce better images and is a
good deal smaller!
- Fixed makeinclude.in so CFLAGS are used for c source
code instead of CXXFLAGS. (bug 108694)
- Better fix for gif files suggested by pauly (bug
108770)
- Performance of Fl_Gl_Window may be improved on some
types of OpenGL implementations, in particular MESA
or other software emulators, by setting the
GL_SWAP_TYPE environment variable. This variable
declares what is in the back buffer after you do a
swapbuffers:
setenv GL_SWAP_TYPE COPY
This indicates that the back buffer is copied to
the front buffer, and still contains it's old
data. This is true of many hardware
implementations. Setting this will speed up
emulation of overlays, and widgets that can do
partial update can take advantage of this as
damage() will not be cleared to -1.
setenv GL_SWAP_TYPE NODAMAGE
This indicates that nothing changes the back
buffer except drawing into it. This is true of
MESA and Win32 software emulation and perhaps some
hardware emulation on systems with lots of memory.
All other values for GL_SWAP_TYPE, and not setting
the variable, cause fltk to assumme that the back
buffer must be completely redrawn after a swap.
This is easily tested by running the gl_overlay demo
program and seeing if the display is correct when
you drag another window over it or if you drag the
window off the screen and back on. You have to exit
and run the program again for it to see any changes
to the environment variable.
- Optimized colormap usage on 8-bit displays with
images. New code only allocates colors as they are
needed (still converts indexed images to full RGB and
dithers, tho...)
- Fixed .gif files in fluid, they were broken by the fix
for large .xpm files in version 1.0.9.
- Fix for OpenGL hardware overlays with the transparent
index != 0. Tested on the brand new HP Linux
Workstations, this is the only bug encountered. Both
X and OpenGL hardware overlay works perfectly on
these, though configue may not enable it by
default...)
- Fl_Choice and all other Fl_Menu_ subclasses draw the
items using textcolor() as the default color of the
text.
- Fix suggested by Stuart Levy to fix scrolling when
deleting items from the browser.
- Replaced the -$(MAKEFLAGS) with $(MFLAGS) as per the
gmake documenation. Apperntly this works with other
make programs and MAKEFLAGS is passed invisibly by
gmake, though the documenation is not too clear...
CHANGES SINCE FLTK 1.0.8
- More documentation fixes.

View File

@ -1,5 +1,5 @@
//
// "$Id: Enumerations.H,v 1.18.2.12 2000/06/05 21:20:18 mike Exp $"
// "$Id: Enumerations.H,v 1.18.2.13 2000/11/20 14:53:52 easysw Exp $"
//
// Enumerations for the Fast Light Tool Kit (FLTK).
//
@ -56,7 +56,7 @@
#define FL_MAJOR_VERSION 1
#define FL_MINOR_VERSION 0
#define FL_PATCH_VERSION 9
#define FL_PATCH_VERSION 10
#define FL_VERSION ((double)FL_MAJOR_VERSION + \
(double)FL_MINOR_VERSION * 0.01 + \
(double)FL_PATCH_VERSION * 0.0001)
@ -371,5 +371,5 @@ enum Fl_Damage {
#endif
//
// End of "$Id: Enumerations.H,v 1.18.2.12 2000/06/05 21:20:18 mike Exp $".
// End of "$Id: Enumerations.H,v 1.18.2.13 2000/11/20 14:53:52 easysw Exp $".
//

177
README
View File

@ -1,53 +1,56 @@
README - Fast Light Tool Kit (FLTK) Version 1.0.9
-------------------------------------------------
README - Fast Light Tool Kit (FLTK) Version 1.0.10
--------------------------------------------------
WHAT IS FLTK?
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a LGPL'd
C++ graphical user interface toolkit for X (UNIX(r)), OpenGL(r),
and Microsoft(r) Windows(r) NT 4.0, 95, or 98. It was originally
developed by Mr. Bill Spitzak and is currently maintained by a
small group of developers across the world with a central
repository in the US.
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
LGPL'd C++ graphical user interface toolkit for X (UNIX(r)),
OpenGL(r), and Microsoft(r) Windows(r) NT 4.0, 95, or 98. It
was originally developed by Mr. Bill Spitzak and is
currently maintained by a small group of developers across
the world with a central repository in the US.
LICENSING
FLTK comes with complete free source code. FLTK is available under
the terms of the GNU Library General Public License. Contrary to
popular belief, it can be used in commercial software! (Even Bill
Gates could use it.)
FLTK comes with complete free source code. FLTK is available
under the terms of the GNU Library General Public License.
Contrary to popular belief, it can be used in commercial
software! (Even Bill Gates could use it.)
ON-LINE DOCUMENTATION
All of the documentation is in HTML in the subdirectory
"documentation". The "index.html" file should be your starting
point. PostScript(tm) and PDF versions of this documentation is
also available from the FLTK web site at:
"documentation". The "index.html" file should be your
starting point. PostScript(tm) and PDF versions of this
documentation is also available from the FLTK web site at:
http://fltk.easysw.com/documentation.html
BUILDING AND INSTALLING FLTK UNDER UNIX
In most cases you can just type "make". This will run configure
with the default (no) options and then compile everything.
In most cases you can just type "make". This will run
configure with the default (no) options and then compile
everything.
FLTK uses GNU autoconf to configure itself for your UNIX platform.
The main things that the configure script will look for are the
X11, OpenGL (or Mesa), and JPEG header and library files. Make
sure that they are in the standard include/library locations. If
they aren't you need to define the CFLAGS, CXXFLAGS, and LDFLAGS
environment variables.
FLTK uses GNU autoconf to configure itself for your UNIX
platform. The main things that the configure script will
look for are the X11, OpenGL (or Mesa), and JPEG header and
library files. Make sure that they are in the standard
include/library locations. If they aren't you need to
define the CFLAGS, CXXFLAGS, and LDFLAGS environment
variables.
If you aren't using "gcc", "g++", "c++", or "CC" for your C++
compiler, you'll also need to set the CXX environment variable.
Similarly, if you aren't using "gcc" or "cc" for your C compiler
you'll need to set the CC environment variable.
If you aren't using "gcc", "g++", "c++", or "CC" for your
C++ compiler, you'll also need to set the CXX environment
variable. Similarly, if you aren't using "gcc" or "cc" for
your C compiler you'll need to set the CC environment
variable.
You can run configure yourself to get the exact setup you need.
Type "./configure <options>". Options include:
You can run configure yourself to get the exact setup you
need. Type "./configure <options>". Options include:
--enable-debug - Enable debugging code & symbols
--enable-shared - Enable generation of shared libraries
@ -61,26 +64,27 @@ BUILDING AND INSTALLING FLTK UNDER UNIX
--prefix=/dir - Set the directory prefix for files
[default = /usr/local]
When the configure script is done you can just run the "make"
command. This will build the library, FLUID tool, and all of the
test programs.
When the configure script is done you can just run the
"make" command. This will build the library, FLUID tool, and
all of the test programs.
To install the library, become root and type "make install". This
will copy the "fluid" executable to "bindir", the header files to
"includedir", and the library files to "libdir".
To install the library, become root and type "make
install". This will copy the "fluid" executable to
"bindir", the header files to "includedir", and the library
files to "libdir".
BUILDING FLTK UNDER MICROSOFT WINDOWS
There are two ways to build FLTK under Microsoft Windows. The
first is to use the 5.0 project files under the "visualc"
directory. Just open (or double-click on) the "fltk.dsw" file to
get the whole shebang.
There are two ways to build FLTK under Microsoft Windows.
The first is to use the 5.0 project files under the
"visualc" directory. Just open (or double-click on) the
"fltk.dsw" file to get the whole shebang.
The second method is to use a GNU-based development tool with the
files in the "makefiles" directory. To build using one of these
tools simply copy the appropriate makeinclude and config files to
the main directory and do a make:
The second method is to use a GNU-based development tool
with the files in the "makefiles" directory. To build using
one of these tools simply copy the appropriate makeinclude
and config files to the main directory and do a make:
copy makefiles\Makefile.<env> Makefile
make
@ -88,12 +92,13 @@ BUILDING FLTK UNDER MICROSOFT WINDOWS
BUILDING FLTK UNDER OS/2
The current OS/2 build requires XFree86 for OS/2 to work. A native
Presentation Manager version has not been implemented yet
(volunteers are welcome!).
The current OS/2 build requires XFree86 for OS/2 to work. A
native Presentation Manager version has not been implemented
yet (volunteers are welcome!).
To build the XFree86 version of FLTK for OS/2, copy the appropriate
makeinclude and config files to the main directory and do a make:
To build the XFree86 version of FLTK for OS/2, copy the
appropriate makeinclude and config files to the main
directory and do a make:
copy makefiles\Makefile.os2x Makefile
make
@ -104,6 +109,7 @@ INTERNET RESOURCES
FLTK is available on the 'net in a bunch of locations:
- WWW: http://www.fltk.org
http://fltk.sourceforge.net
- FTP: ftp://ftp.easysw.com/pub/fltk
ftp://ftp2.easysw.com/pub/fltk
@ -113,51 +119,54 @@ INTERNET RESOURCES
- 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 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.
"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.
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.
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.
For general support and questions, please use the FLTK mailing
list at "fltk@fltk.org".
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).
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:
Mesa is available at "http://www.ssec.wisc.edu/~brianp/Mesa.html".
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).
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
Corportation. UNIX is a registered trademark of the X/Open Group,
Inc. OpenGL is a registered trademark of Silicon Graphics, Inc.
Corportation. UNIX is a registered trademark of the X/Open
Group, Inc. OpenGL is a registered trademark of Silicon
Graphics, Inc.
COPYRIGHT
FLTK is copyright 1998-2000 by Bill Spitzak (spitzak@d2.com) and others,
including:
FLTK is copyright 1998-2000 by Bill Spitzak (spitzak@d2.com)
and others, including:
Craig P. Earls (cpearls@mit.edu)
Curtis Edwards (curtise@fa.disney.com)
@ -167,17 +176,19 @@ COPYRIGHT
Michael Sweet (mike@easysw.com)
Carl Thompson (cet@elinix.net)
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License
as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This library is free software; you can redistribute it
and/or modify it under the terms of the GNU Library General
Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any
later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
This library is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU Library General Public License for
more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA.
You should have received a copy of the GNU Library General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA.

View File

@ -1,6 +1,6 @@
<HTML>
<HEAD><meta name="robots" content="noindex">
<TITLE>FLTK 1.0.9 Programming Manual</TITLE>
<TITLE>FLTK 1.0.10 Programming Manual</TITLE>
</HEAD>
<BODY>
@ -8,8 +8,8 @@
<TR>
<TD ALIGN=CENTER VALIGN=MIDDLE><IMG SRC=FL.gif ALIGN=ABSMIDDLE></TD>
<TD ALIGN=CENTER VALIGN=MIDDLE>
<H1>FLTK 1.0.9 Programming Manual</H1>
Revision 15 by Michael Sweet, Craig P. Earls, and Bill Spitzak<BR>
<H1>FLTK 1.0.10 Programming Manual</H1>
Revision 16 by Michael Sweet, Craig P. Earls, and Bill Spitzak<BR>
Copyright 1998-2000 by Bill Spitzak and others.<BR>
</TD>
</TR>

View File

@ -2,16 +2,18 @@
<HEAD>
<META CONTENT="Written by Michael Sweet, Craig P. Earls, and Bill Spitzak" NAME=Author>
<META CONTENT="Copyright 1998-2000 by Bill Spitzak and Others." NAME=Copyright>
<META CONTENT="Revision 15" NAME=DocNumber>
<TITLE>FLTK 1.0.9 Programming Manual</TITLE>
<META CONTENT="Revision 16" NAME=DocNumber>
<TITLE>FLTK 1.0.10 Programming Manual</TITLE>
</HEAD>
<BODY>
<H1 ALIGN=RIGHT><A NAME=preface>Preface</A></H1>
This manual describes the Fast Light Tool Kit (&quot;FLTK&quot;) version 1.0.9, a
C++ Graphical User Interface (&quot;GUI&quot;) toolkit for UNIX and Microsoft
Windows. Each of the chapters in this manual is designed as a tutorial
for using FLTK, while the appendices provide a convenient reference for
all FLTK widgets, functions, and operating system interfaces.
This manual describes the Fast Light Tool Kit (&quot;FLTK&quot;)
version 1.0.10, a C++ Graphical User Interface
(&quot;GUI&quot;) toolkit for UNIX and Microsoft Windows. Each
of the chapters in this manual is designed as a tutorial for
using FLTK, while the appendices provide a convenient reference
for all FLTK widgets, functions, and operating system
interfaces.
<H2>Organization</H2>
This manual is organized into the following chapters and appendices:
<UL>