Go to file
Bill Spitzak 7badf7c216 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 Mike's 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.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-07-07 08:38:58 +00:00
FL Changed the name of the new function from "add_interval_timeout" to 2000-06-21 17:36:36 +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 Changed the name of the new function from "add_interval_timeout" to 2000-06-21 17:36:36 +00:00
fluid Buttons with box(FL_NO_BOX) did not draw. Apparently they did in 2000-07-07 08:38:58 +00:00
lib Updated README file in the lib directory for DLL info. 1999-02-17 17:51:56 +00:00
makefiles Fixes for Cygwin and MinGW. 2000-06-20 18:47:33 +00:00
src Buttons with box(FL_NO_BOX) did not draw. Apparently they did in 2000-07-07 08:38:58 +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 Added change note for GLUT_ROMAN and changed note for add_interval_timeout 2000-06-21 18:48:17 +00:00
COPYING Initial revision 1998-10-06 18:21:25 +00:00
Makefile Fix suggested by Stuart Levy to fix scrolling when deleting items from 2000-06-30 04:23:13 +00:00
README OK, now version 1.0.9 2000-06-05 21:21:24 +00:00
README.win32 Fixes for Cygwin and MinGW. 2000-06-20 18:47:33 +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 Patch from Shigeru Mukaida to fltk.spec to make rpms work? 2000-06-24 20:43:33 +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 Buttons with box(FL_NO_BOX) did not draw. Apparently they did in 2000-07-07 08:38:58 +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.