Go to file
Bill Spitzak be106a0977 Cleanup of the timeout and Fl::wait() code. This one calls the clock
function less than half as much, which resulted in a noticable
improvement in a flip book program I was working on.  The code looks
nicer, too, and I am reasonably certain it works the same.

Fl::wait(time) with a time greater than the system can handle (24.855
days on NT, the same on some Unix systems) will now act as though the
time is infinity.  Before it would do unpredictable things.

"USE_POLL" now compiles and works, although it is disabled by default.
poll() is an alternative to the Unix select() call which is available on
Linux and Irix, but I don't know if it is faster, you can try it by
editing config.h.

I tried making the NT USE_ASYNC_SELECT code do translate/dispatch of
the select events on the assumption (based on experience) that not
doing this to every event gives NT fits.  This appears to work but I'm
not sure if it fixes anything.

X version does not crash if Fl::wait() is called when the display is
closed (it will not return unless you have a timeout or fd callback
set up, though).

Fixed up the documentation for all of this, including getting rid of
some completely misleading documentation.

Now I need to get this stuff into 2.0...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1215 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-18 00:38:41 +00:00
FL Added has_timeout() and has_idle() calls as suggested by Eric Sven Ristad. 2000-06-16 07:28:03 +00:00
GL Yay, change all copyright notices to be 1998-1999. 1999-01-07 19:18:01 +00:00
bc5 BC5 project file update. 2000-06-11 06:56:25 +00:00
documentation Cleanup of the timeout and Fl::wait() code. This one calls the clock 2000-06-18 00:38:41 +00:00
fluid Patch from Dmitry Potapov for fluid to not crash on (I think) 2000-06-16 07:08:16 +00:00
lib Updated README file in the lib directory for DLL info. 1999-02-17 17:51:56 +00:00
makefiles Updates for Mingw and Cygnus builds. 2000-06-13 20:33:36 +00:00
src Cleanup of the timeout and Fl::wait() code. This one calls the clock 2000-06-18 00:38:41 +00:00
test Updates for Mingw and Cygnus builds. 2000-06-13 20:33:36 +00:00
visualc Hopefully the last of the easysw.com -> fltk.org changes. 2000-06-07 12:11:53 +00:00
CHANGES Updated changelog for second snapshot... 2000-06-14 20:05:30 +00:00
COPYING Initial revision 1998-10-06 18:21:25 +00:00
Makefile OK, now version 1.0.9 2000-06-05 21:21:24 +00:00
README OK, now version 1.0.9 2000-06-05 21:21:24 +00:00
README.win32 Updates for Mingw and Cygnus builds. 2000-06-13 20:33:36 +00:00
configh.in Cleanup of the timeout and Fl::wait() code. This one calls the clock 2000-06-18 00:38:41 +00:00
configure.in Reenabled overlay code - seems to work great now, Bill! 2000-06-06 14:48:17 +00:00
fltk.list Hopefully the last of the easysw.com -> fltk.org changes. 2000-06-07 12:11:53 +00:00
fltk.spec Hopefully the last of the easysw.com -> fltk.org changes. 2000-06-07 12:11:53 +00:00
forms.h Initial revision 1998-10-06 18:21:25 +00:00
install-sh Initial revision 1998-10-06 18:21:25 +00:00
makeinclude.in OK, now version 1.0.9 2000-06-05 21:21:24 +00:00

README

README - Fast Light Tool Kit (FLTK) Version 1.0.9
-------------------------------------------------

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.


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.) 


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:

        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.

    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.

    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

	--bindir=/path          - Set the location for executables
                        	  [default = /usr/local/bin]
	--libdir=/path          - Set the location for libraries
                        	  [default = /usr/local/lib]
	--includedir=/path      - Set the location for include files.
                        	  [default = /usr/local/include]
	--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.

    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.

    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


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!).

    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


INTERNET RESOURCES

    FLTK is available on the 'net in a bunch of locations:

	- WWW:   http://www.fltk.org

	- FTP:   ftp://ftp.easysw.com/pub/fltk
                 ftp://ftp2.easysw.com/pub/fltk
                 ftp://ftp.northamerica.net/pub/ESP/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.


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.

    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.ssec.wisc.edu/~brianp/Mesa.html".

    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.


COPYRIGHT

    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)
	Gustavo Hime (hime@centroin.com.br)
	Matthias Melcher (matthias@mediaone.net)
	Vincent Penne (vincent.penne@wanadoo.fr)
        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 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.