summaryrefslogtreecommitdiff
path: root/documentation/intro.html
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>1999-01-13 19:28:54 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>1999-01-13 19:28:54 +0000
commitd7b88a3bcc7e76f38ee5799be7722fd5a10781ef (patch)
treed8984d45424c9b2cdb199c1918f38bfea4a8211d /documentation/intro.html
parent30fa233681467b82b165e7d42cd0bea778b93768 (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.html451
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&reg;), OpenGL&reg;, and
-Microsoft&reg; Windows&reg; 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 &amp; 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 &amp; 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 &amp;
- 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 &lt;options>", where options are:
-
-<dl>
-<dt>--enable-debug</dt>
-
-<dd>Enable debugging code &amp; 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.&lt;env> makeinclude
-cp makefiles/config.&lt;env> config.h
+<HTML><BODY>
+<H1 ALIGN=RIGHT><A NAME=intro>1 - Introduction to FLTK</A></H1>
+ The Fast Light Tool Kit (&quot;FLTK&quot;, pronounced &quot;fulltick&quot;) is a LGPL'd
+C++ graphical user interface toolkit for X (UNIX&reg;), OpenGL&reg;, and
+Microsoft&reg; Windows&reg; 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 &quot;views&quot;. 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 &quot;views&quot; 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 &quot;window manager&quot;, 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, &quot;Forms&quot;. 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 &quot;core&quot; (the &quot;hello&quot; program compiled &amp; 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 &amp; 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 &amp; 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 &quot;FLTK&quot; 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 &quot;fl_&quot;. 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 &quot;FL&quot; 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
+&quot;FLTK&quot;, and even a bogus excuse that it stands for &quot;The Fast Light Tool
+Kit&quot;.
+<H2>Building and Installing FLTK Under UNIX</H2>
+ In most cases you can just type &quot;make&quot;. 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
+&quot;./configure &lt;options&gt;&quot;, where options are: </P>
+<DL>
+<DT>--enable-debug</DT>
+<DD>Enable debugging code &amp; 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 &quot;make&quot; command.
+This will build the library, FLUID tool, and all of the test programs.
+<P>To install the library, become root and type &quot;make install&quot;. This
+will copy the &quot;fluid&quot; executable to &quot;bindir&quot;, the header files to
+&quot;includedir&quot;, and the library files to &quot;libdir&quot;. </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 &quot;visualc&quot;
+directory. Just open (or double-click on) the &quot;fltk.dsw&quot; file to get
+the whole shebang.
+<P>The second method is to use a GNU-based development tool with the
+files in the &quot;makefiles&quot; 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.&lt;env&gt; makeinclude
+cp makefiles/config.&lt;env&gt; 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 &amp; 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 (&quot;fltk@easysw.com&quot;) 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
+&quot;majordomo@easysw.com&quot; with &quot;subscribe fltk&quot; in the message body. A
+digest of this list is available by subscribing to the &quot;fltk-digest&quot;
+mailing list. </P>
+<H2>Reporting Bugs</H2>
+ To report a bug in FLTK, send an email to &quot;fltk-bugs@easysw.com&quot;.
+Please include the FLTK version, operating system &amp; 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 &quot;fltk@easysw.com&quot;. </P>
+</BODY></HTML> \ No newline at end of file