diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 1999-01-13 19:28:54 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 1999-01-13 19:28:54 +0000 |
| commit | d7b88a3bcc7e76f38ee5799be7722fd5a10781ef (patch) | |
| tree | d8984d45424c9b2cdb199c1918f38bfea4a8211d /documentation/intro.html | |
| parent | 30fa233681467b82b165e7d42cd0bea778b93768 (diff) | |
Updated all links so they work between files.
Revision 1.
git-svn-id: file:///fltk/svn/fltk/trunk@219 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'documentation/intro.html')
| -rw-r--r-- | documentation/intro.html | 451 |
1 files changed, 193 insertions, 258 deletions
diff --git a/documentation/intro.html b/documentation/intro.html index f941e15da..6216c6b47 100644 --- a/documentation/intro.html +++ b/documentation/intro.html @@ -1,263 +1,198 @@ -<HTML> -<BODY> - -<H1 ALIGN=RIGHT><A NAME="intro">1 - Introduction to FLTK</A></H1> - -The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a LGPL'd C++ -graphical user interface toolkit for X (UNIX®), OpenGL®, and -Microsoft® Windows® 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. - -<h2>History of FLTK</h2> - -It has always been Bill's belief that the GUI API of all modern systems -is much too high level. Toolkits (even FL) are <i>not</i> what should -be provided and documented as part of an operating system. The system -only has to provide arbitrary shaped but featureless windows, a -powerful set of graphics drawing calls, and a simple <i>unalterable</i> -method of delivering events to the owners of the windows. NeXT (if you -ignored NextStep) provided this, but they chose to hide it and tried to -push their own baroque toolkit instead... - -<p>Many of the ideas in FLTK were developed on a NeXT (but <i>not</i> -using NextStep) in 1987 in a C toolkit Bill called "views". Here he -came up with passing events downward in the tree and having the handle -routine return a value indicating the used the event, and the -table-driven menus. In general he was trying to prove that complex UI -ideas could be entirely implemented in a user space toolkit, with no -knowledge or support by the system. - -<p>After going to film school for a few years, Bill worked at Sun -Microsystems on the (doomed) NeWS project. Here he found an even -better and cleaner windowing system, and he reimplemented "views" atop -that. NeWS did have an unnecessarily complex method of delivering -events which hurt it. But the designers did admit that perhaps the -user could write just as good of a button as they could, and officially -exposed the lower level interface. - -<p>With the death of NeWS Bill realized that he would have to live with -X. The biggest problem with X is the "window manager", which means -that the toolkit can no longer control the window borders or drag the -window around. - -<p>At Digital Domain Bill discovered another toolkit, "Forms". Forms was -similar to his work, but provided many more widgets, since it was used -in many real applications, rather then as theoretical work. He decided -to use Forms, except he integrated his table-driven menus into it. -Several very large programs were created using this version of Forms. - -<p>The need to switch to OpenGL and GLX, portability, and a desire to -use C++ subclassing required a rewrite of Forms. This produced the -first version of FLTK. The conversion to C++ required so many changes -it made it impossible to recompile any Forms objects. Since it was -incompatible anyway, Bill decided to incorporate his older ideas as -much as possible by simplifying the lower level interface and the event -passing mechanisim. - -<p>Bill received permission to release it for free on the Internet, -with the GNU general public license. Response from Internet users -indicated that the Linux market dwarfed the SGI and high-speed GL -market, so he rewrote it to use X for all drawing, greatly speeding it -up on these machines. That is the version you have now. - -<p>Digital Domain has since withdrawn support for FLTK. While Bill is -no longer able to actively develop it, he still contributes to FLTK in -his free time and is a part of the FLTK development team. - -<h2>Features</h2> - -FLTK was designed to be statically linked. This was done by splitting it -into many small objects and desigining it so that functions that are not -used do not have pointers to them in the parts that are used, and thus -do not get linked in. This allows you to make an easy-to-install program, -or to modify FLTK to the exact requirements of your application, without -worrying about bloat. FLTK works fine as a shared library, though, and -has started being included on Linux distributions. - -<p>Here are some of the core features unique to FLTK: - -<ul> - <li>sizeof(Fl_Widget) == 40 to 48.</li> - - <li>The "core" (the "hello" program compiled & linked with a static FLTK - library using gcc on a 486 and then stripped) is 39.5K.</li> - - <li>A program including every widget is less than 108K. Does not use - macros, templates, multiple inheritance, or exceptions.</li> - - <li>Written directly atop Xlib (or WIN32) for maximum speed, - and carefully optimized for code size and performance.</li> - - <li>Precise low-level compatability between the X11 and WIN32 - version (only about 10% of the code is different).</li> - - <li>Interactive user interface builder program. Output is - human-readable and editable C++ source code.</li> - - <li>Support for the X11 double buffering extension (emulation - if not available and under Windows.)</li> - - <li>Support for X11 overlay hardware (emulation if none and - under WIN32.)</li> - - <li>Very small & fast portable 2-D drawing library to hide - Xlib and WIN32.</li> - - <li>OpenGL/Mesa drawing area widget.</li> - - <li>Support for OpenGL overlay hardware on both X11 and WIN32. - Emulation if none.</li> - - <li>Text input fields with Emacs key bindings, X cut & - paste, and foreign letter compose!</li> - - <li>Compatibility header file for the GLUT library.</li> - - <li>Compatibility header file for the XForms library.</li> - - <li>Much too much to list here...</li> -</ul> - -<h2>Licensing</h2> - -FLTK comes with complete free source code. FLTK is available under the -terms of the <a href="#licensing">GNU Library General Public -License</a>. Contrary to popular belief, it can be used in commercial -software! (Even Bill Gates could use it.) - -<h2>What Does "FLTK" Mean?</h2> - -FLTK was originally designed to be compatable with the Forms Library written -for SGI machines. In that library all the functions and structures started -with "fl_". This naming was extended to all new methods and widgets in -the C++ library, and this prefix was taken as the name of the library. -It is almost impossible to search for "FL" on the Internet, due to the -fact that it is also the abbreviation for Florida. After much debating -and searching for a new name for the toolkit, which was already in use -by several people, Bill came up with "FLTK", and even a bogus excuse that -it stands for "The Fast Light Tool Kit". - -<h2>Building and Installing FLTK Under UNIX</h2> - -In most cases you can just type "make". This will run configure with -the default of no options and then compile everything. - -<p>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. - -<p>You can run configure yourself to get the exact setup you need. Type -"./configure <options>", where options are: - -<dl> -<dt>--enable-debug</dt> - -<dd>Enable debugging code & symbols</dd> - -<dt>--enable-shared</dt> - -<dd>Enable generation of shared libraries</dd> - -<dt>--bindir=/path</dt> - -<dd>Set the location for executables [default = /usr/local/bin]</dd> - -<dt>--libdir=/path</dt> - -<dd>Set the location for libraries [default = /usr/local/lib]</dd> - -<dt>--includedir=/path</dt> - -<dd>Set the location for include files. [default = /usr/local/include]</dd> - -<dt>--prefix=/dir</dt> - -<dd>Set the directory prefix for files [default = /usr/local]</dd> -</dl> - -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. - -<p>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". - -<h2>Building FLTK Under Micrsoft Windows</h2> - -There are two ways to build FLTK under Microsoft Windows. The first -is to use the Visual C++ 5.0 project files under the "visualc" directory. -Just open (or double-click on) the "fltk.dsw" file to get the whole shebang. - -<p>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: - -<ul><pre> -cp makefiles/makeinclude.<env> makeinclude -cp makefiles/config.<env> config.h +<HTML><BODY> +<H1 ALIGN=RIGHT><A NAME=intro>1 - Introduction to FLTK</A></H1> + The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a LGPL'd +C++ graphical user interface toolkit for X (UNIX®), OpenGL®, and +Microsoft® Windows® 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. +<H2>History of FLTK</H2> + It has always been Bill's belief that the GUI API of all modern +systems is much too high level. Toolkits (even FL) are <I>not</I> what +should be provided and documented as part of an operating system. The +system only has to provide arbitrary shaped but featureless windows, a +powerful set of graphics drawing calls, and a simple <I>unalterable</I> + method of delivering events to the owners of the windows. NeXT (if +you ignored NextStep) provided this, but they chose to hide it and +tried to push their own baroque toolkit instead... +<P>Many of the ideas in FLTK were developed on a NeXT (but <I>not</I> + using NextStep) in 1987 in a C toolkit Bill called "views". Here he +came up with passing events downward in the tree and having the handle +routine return a value indicating the used the event, and the +table-driven menus. In general he was trying to prove that complex UI +ideas could be entirely implemented in a user space toolkit, with no +knowledge or support by the system. </P> +<P>After going to film school for a few years, Bill worked at Sun +Microsystems on the (doomed) NeWS project. Here he found an even +better and cleaner windowing system, and he reimplemented "views" atop +that. NeWS did have an unnecessarily complex method of delivering +events which hurt it. But the designers did admit that perhaps the +user could write just as good of a button as they could, and officially +exposed the lower level interface. </P> +<P>With the death of NeWS Bill realized that he would have to live with +X. The biggest problem with X is the "window manager", which means +that the toolkit can no longer control the window borders or drag the +window around. </P> +<P>At Digital Domain Bill discovered another toolkit, "Forms". Forms +was similar to his work, but provided many more widgets, since it was +used in many real applications, rather then as theoretical work. He +decided to use Forms, except he integrated his table-driven menus into +it. Several very large programs were created using this version of +Forms. </P> +<P>The need to switch to OpenGL and GLX, portability, and a desire to +use C++ subclassing required a rewrite of Forms. This produced the +first version of FLTK. The conversion to C++ required so many changes +it made it impossible to recompile any Forms objects. Since it was +incompatible anyway, Bill decided to incorporate his older ideas as +much as possible by simplifying the lower level interface and the event +passing mechanisim. </P> +<P>Bill received permission to release it for free on the Internet, +with the GNU general public license. Response from Internet users +indicated that the Linux market dwarfed the SGI and high-speed GL +market, so he rewrote it to use X for all drawing, greatly speeding it +up on these machines. That is the version you have now. </P> +<P>Digital Domain has since withdrawn support for FLTK. While Bill is +no longer able to actively develop it, he still contributes to FLTK in +his free time and is a part of the FLTK development team. </P> +<H2>Features</H2> + FLTK was designed to be statically linked. This was done by splitting +it into many small objects and desigining it so that functions that are +not used do not have pointers to them in the parts that are used, and +thus do not get linked in. This allows you to make an easy-to-install +program, or to modify FLTK to the exact requirements of your +application, without worrying about bloat. FLTK works fine as a shared +library, though, and has started being included on Linux distributions. +<P>Here are some of the core features unique to FLTK: </P> +<UL> +<LI>sizeof(Fl_Widget) == 40 to 48.</LI> +<LI>The "core" (the "hello" program compiled & linked with a static +FLTK library using gcc on a 486 and then stripped) is 39.5K.</LI> +<LI>A program including every widget is less than 108K. Does not use + macros, templates, multiple inheritance, or exceptions.</LI> +<LI>Written directly atop Xlib (or WIN32) for maximum speed, and +carefully optimized for code size and performance.</LI> +<LI>Precise low-level compatability between the X11 and WIN32 version +(only about 10% of the code is different).</LI> +<LI>Interactive user interface builder program. Output is + human-readable and editable C++ source code.</LI> +<LI>Support for the X11 double buffering extension (emulation if not +available and under Windows.)</LI> +<LI>Support for X11 overlay hardware (emulation if none and under +WIN32.)</LI> +<LI>Very small & fast portable 2-D drawing library to hide Xlib and +WIN32.</LI> +<LI>OpenGL/Mesa drawing area widget.</LI> +<LI>Support for OpenGL overlay hardware on both X11 and WIN32. + Emulation if none.</LI> +<LI>Text input fields with Emacs key bindings, X cut & paste, and +foreign letter compose!</LI> +<LI>Compatibility header file for the GLUT library.</LI> +<LI>Compatibility header file for the XForms library.</LI> +<LI>Much too much to list here...</LI> +</UL> +<H2>Licensing</H2> + FLTK comes with complete free source code. FLTK is available under the +terms of the <A href=#licensing>GNU Library General Public License</A>. +Contrary to popular belief, it can be used in commercial software! +(Even Bill Gates could use it.) +<H2>What Does "FLTK" Mean?</H2> + FLTK was originally designed to be compatable with the Forms Library +written for SGI machines. In that library all the functions and +structures started with "fl_". This naming was extended to all new +methods and widgets in the C++ library, and this prefix was taken as +the name of the library. It is almost impossible to search for "FL" on +the Internet, due to the fact that it is also the abbreviation for +Florida. After much debating and searching for a new name for the +toolkit, which was already in use by several people, Bill came up with +"FLTK", and even a bogus excuse that it stands for "The Fast Light Tool +Kit". +<H2>Building and Installing FLTK Under UNIX</H2> + In most cases you can just type "make". This will run configure with +the default of no options and then compile everything. +<P>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. </P> +<P>You can run configure yourself to get the exact setup you need. Type +"./configure <options>", where options are: </P> +<DL> +<DT>--enable-debug</DT> +<DD>Enable debugging code & symbols</DD> +<DT>--enable-shared</DT> +<DD>Enable generation of shared libraries</DD> +<DT>--bindir=/path</DT> +<DD>Set the location for executables [default = /usr/local/bin]</DD> +<DT>--libdir=/path</DT> +<DD>Set the location for libraries [default = /usr/local/lib]</DD> +<DT>--includedir=/path</DT> +<DD>Set the location for include files. [default = /usr/local/include]</DD> +<DT>--prefix=/dir</DT> +<DD>Set the directory prefix for files [default = /usr/local]</DD> +</DL> + 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. +<P>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". </P> +<H2>Building FLTK Under Micrsoft Windows</H2> + There are two ways to build FLTK under Microsoft Windows. The first +is to use the Visual C++ 5.0 project files under the "visualc" +directory. Just open (or double-click on) the "fltk.dsw" file to get +the whole shebang. +<P>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: </P> +<UL> +<PRE> +cp makefiles/makeinclude.<env> makeinclude +cp makefiles/config.<env> config.h make -</pre></ul> - -<h2>Building FLTK Under OS/2</h2> - -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!). - -<p>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: - -<ul><pre> +</PRE> +</UL> +<H2>Building FLTK Under OS/2</H2> + 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!). +<P>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: </P> +<UL> +<PRE> cp makefiles/Makefile.os2x Makefile cp makefiles/makeinclude.os2x makeinclude cp makefiles/config.os2x config.h make -</pre></ul> - -<h2>Internet Resources</h2> - -FLTK is available on the 'net in a bunch of locations: - -<dl> -<dt>WWW</dt> - -<dd><a href="http://fltk.easysw.com">http://fltk.easysw.com</a></dd> - -<dt>FTP</dt> - -<dd><a href="ftp://ftp.easysw.com/pub/fltk">ftp://ftp.easysw.com/pub/fltk</a></dd> - -<dd><a href="ftp://ftp.funet.fi/mirrors/ftp.easysw.com/pub/fltk">ftp://ftp.funet.fi/mirrors/ftp.easysw.com/pub/fltk</a></dd> - -<dd><a href="ftp://ftp.northamerica.net/pub/ESP/fltk">ftp.northamerica.net/pub/ESP/fltk</a><br></dd> - -<dt>EMail</dt> - -<dd><a href="mailto:fltk@easysw.com">fltk@easysw.com</a> [see instructions below]</dd> - -<dd><a href="mailto:fltk-bugs@easysw.com">fltk-bugs@easysw.com</a> [for reporting bugs]</dd> -</dl> - -To send a message to the FLTK mailing list ("fltk@easysw.com") you must -first join the list. Non-member submissions are blocked to avoid -problems with SPAM... - -<p>To join the FLTK mailing list, send a message to "majordomo@easysw.com" -with "subscribe fltk" in the message body. A digest of this list is available -by subscribing to the "fltk-digest" mailing list. - -<h2>Reporting Bugs</h2> - -To report a bug in FLTK, send an email to "fltk-bugs@easysw.com". Please -include the FLTK version, operating system & version, and compiler -that you are using when describing the bug or problem. - -<p>For general support and questions, please use the FLTK mailing list -at "fltk@easysw.com". - -</body> -</html> +</PRE> +</UL> +<H2>Internet Resources</H2> + FLTK is available on the 'net in a bunch of locations: +<DL> +<DT>WWW</DT> +<DD><A href=http://fltk.easysw.com>http://fltk.easysw.com</A></DD> +<DT>FTP</DT> +<DD><A href=ftp://ftp.easysw.com/pub/fltk>ftp://ftp.easysw.com/pub/fltk</A> +</DD> +<DD><A href=ftp://ftp.funet.fi/mirrors/ftp.easysw.com/pub/fltk> +ftp://ftp.funet.fi/mirrors/ftp.easysw.com/pub/fltk</A></DD> +<DD><A href=ftp://ftp.northamerica.net/pub/ESP/fltk> +ftp.northamerica.net/pub/ESP/fltk</A> +<BR></DD> +<DT>EMail</DT> +<DD><A href=mailto:fltk@easysw.com>fltk@easysw.com</A> [see +instructions below]</DD> +<DD><A href=mailto:fltk-bugs@easysw.com>fltk-bugs@easysw.com</A> [for +reporting bugs]</DD> +</DL> + To send a message to the FLTK mailing list ("fltk@easysw.com") you +must first join the list. Non-member submissions are blocked to avoid +problems with SPAM... +<P>To join the FLTK mailing list, send a message to +"majordomo@easysw.com" with "subscribe fltk" in the message body. A +digest of this list is available by subscribing to the "fltk-digest" +mailing list. </P> +<H2>Reporting Bugs</H2> + To report a bug in FLTK, send an email to "fltk-bugs@easysw.com". +Please include the FLTK version, operating system & version, and +compiler that you are using when describing the bug or problem. +<P>For general support and questions, please use the FLTK mailing list +at "fltk@easysw.com". </P> +</BODY></HTML>
\ No newline at end of file |
