diff options
Diffstat (limited to 'documentation/intro.html')
| -rw-r--r-- | documentation/intro.html | 144 |
1 files changed, 93 insertions, 51 deletions
diff --git a/documentation/intro.html b/documentation/intro.html index fe9d5fcac..c92b860af 100644 --- a/documentation/intro.html +++ b/documentation/intro.html @@ -1,43 +1,45 @@ <HTML> <BODY> + <H1 ALIGN="RIGHT"><A NAME="intro">1 - Introduction to FLTK</A></H1> <P>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.</P> +Windows®. Work is also underway to support FLTK under MacOS +X. 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.</P> <H2>History of FLTK</H2> -<P>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> +<P>It has always been Bill's belief that the GUI API of all +modern systems is much too high level. Toolkits (even FLTK) 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> <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 +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 +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> +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 @@ -45,7 +47,7 @@ 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 +"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 @@ -101,8 +103,8 @@ is now included with several Linux distributions.</P> performance.</LI> <LI>Precise low-level compatability between the X11 and - WIN32 version (only about 10% of the code is - different).</LI> + 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> @@ -235,13 +237,22 @@ to "bindir", the header files to <H2>Building FLTK Under Microsoft Windows</H2> -<P>There are two ways to build FLTK under Microsoft Windows. +<P>There are three 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> -<P>The second method is to use a GNU-based development tool with -the files in the "makefiles" directory. To build +<P>The second method is to use the <TT>configure</TT> script +included with the FLTK software; this has only been tested with +the CygWin tools:</P> + +<UL><PRE> +sh configure --prefix=C:/FLTK +make +</PRE></UL> + +<P>The final 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> @@ -252,19 +263,23 @@ make </PRE></UL> <H3>Using the Visual C++ DLL Library</H3> -The "fltkdll.dsp" project file builds a DLL-version of the FLTK -library. Because of name mangling differences between PC compilers (even -between different versions of Visual C++!) you can only use the DLL that -is generated with the same version compiler that you built it with. -<P>When compiling an application or DLL that uses the FLTK DLL, you will need -to define the <tt>FL_DLL</tt> preprocessor symbol to get the correct linkage -commands embedded within the FLTK header files. + +<P>The "fltkdll.dsp" project file builds a DLL-version +of the FLTK library. Because of name mangling differences +between PC compilers (even between different versions of Visual +C++!) you can only use the DLL that is generated with the same +version compiler that you built it with.</P> + +<P>When compiling an application or DLL that uses the FLTK DLL, +you will need to define the <tt>FL_DLL</tt> preprocessor symbol +to get the correct linkage commands embedded within the FLTK +header files.</P> <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>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> <p>The current set of Makefiles/configuration failes assumes that EMX 0.9d and libExt @@ -274,18 +289,28 @@ is installed. <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> +<UL><PRE> copy makefiles\Makefile.os2x Makefile make -</PRE> -</UL> +</PRE></UL> + +<H2>Building FLTK Under MacOS X</H2> + +<P>The current version of FLTK requires the XFree86 X server for +Darwin. Follow the instructions for building FLTK under +UNIX.</P> + +<P>Future versions of FLTK will provide a Carbon-based window +interface, so XFree86 will no longer be required.</P> <H2>Internet Resources</H2> -FLTK is available on the 'net in a bunch of locations: + +<P>FLTK is available on the 'net in a bunch of locations:</P> + <DL> + <DT>WWW - <DD><A href="http://www.fltk.org">http://www.fltk.org</A> + <DD><A href="http://www.fltk.org/">http://www.fltk.org/</A> <DT>FTP <DD><A HREF="ftp://ftp.fltk.org/pub/fltk">California, USA (ftp.fltk.org)</A> @@ -299,18 +324,35 @@ FLTK is available on the 'net in a bunch of locations: instructions below] <DD><A href="mailto:fltk-bugs@fltk.org">fltk-bugs@fltk.org</A> [for reporting bugs] + + <DT>News</DT> + <DD><A HREF="news://news.easysw.com">news.easysw.com</A></DD> + </DL> -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 unsolicited email. + +<P>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 +unsolicited email.</P> + <P>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. </P> +"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.</P> + <H2>Reporting Bugs</H2> - 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. + +<P>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. We will be unable to provide +any kind of help without that basic information.</P> + +<P>Bugs can also be reported to the "fltk.bugs" newsgroup or on the +SourceForge bug tracker pages.</P> + <P>For general support and questions, please use the FLTK mailing list -at "fltk@fltk.org". </P> -</BODY></HTML> +at "fltk@fltk.org" or one of the newsgroups.</P> + +</BODY> +</HTML> |
