diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-11-05 01:07:34 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-11-05 01:07:34 +0000 |
| commit | 74bff0b300b7a44b92d0c41792657e04fbeaee0c (patch) | |
| tree | eae9f48d31e86dc3663e8b848b70637b18df61b7 /documentation | |
| parent | 0884e2ba0de126599e212f8a98f06d3a1df7a609 (diff) | |
Doco updates (more to come)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1681 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/FL.gif | bin | 1140 -> 6526 bytes | |||
| -rw-r--r-- | documentation/fltk.book | 6 | ||||
| -rw-r--r-- | documentation/index.html | 157 | ||||
| -rw-r--r-- | documentation/intro.html | 367 | ||||
| -rw-r--r-- | documentation/preface.html | 114 |
5 files changed, 382 insertions, 262 deletions
diff --git a/documentation/FL.gif b/documentation/FL.gif Binary files differindex 7e542b8ae..f4fe8fb51 100644 --- a/documentation/FL.gif +++ b/documentation/FL.gif diff --git a/documentation/fltk.book b/documentation/fltk.book index e8d0dc22c..e56572c26 100644 --- a/documentation/fltk.book +++ b/documentation/fltk.book @@ -1,5 +1,5 @@ -#HTMLDOC 1.8.14 --t pdf13 -f fltk.pdf --book --toclevels 2 --no-numbered --toctitle "Table of Contents" --title --titleimage FL.gif --linkstyle underline --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --footer h.1 --tocheader .t. --tocfooter ..i --duplex --portrait --color --no-pscommands --compression=9 --jpeg=50 --fontsize 11.0 --fontspacing 1.2 --headingfont Helvetica --bodyfont Times --headfootsize 11.0 --headfootfont Helvetica --charset 8859-1 --links --no-truetype --pagemode outline --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 +#HTMLDOC 1.8.16 +-t pdf13 -f fltk.pdf --book --toclevels 2 --no-numbered --toctitle "Table of Contents" --title --titleimage FL.gif --linkstyle underline --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --footer h.1 --tocheader .t. --tocfooter ..i --duplex --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=50 --fontsize 11.0 --fontspacing 1.2 --headingfont Helvetica --bodyfont Times --headfootsize 11.0 --headfootfont Helvetica --charset 8859-1 --links --no-truetype --pagemode outline --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 preface.html intro.html basics.html @@ -13,8 +13,8 @@ opengl.html widgets.html Fl_Adjuster.html Fl_Box.html -Fl_Browser.html Fl_Browser_.html +Fl_Browser.html Fl_Button.html Fl_Chart.html Fl_Check_Button.html diff --git a/documentation/index.html b/documentation/index.html index 404eead2a..2f27c7f71 100644 --- a/documentation/index.html +++ b/documentation/index.html @@ -1,93 +1,94 @@ <HTML> -<HEAD><meta name="robots" content="noindex"> +<HEAD> + <META NAME="robots" CONTENT="noindex"> <TITLE>FLTK 1.1.0 Programming Manual</TITLE> </HEAD> <BODY> -<TABLE WIDTH=90% BGCOLOR=#9f9f9f CELLPADDING=8 CELLSPACING=0 SUMMARY="TITLE BAR"> +<TABLE BGCOLOR="#9f9f9f" CELLPADDING="8" CELLSPACING="0" SUMMARY="TITLE BAR"> <TR> -<TD ALIGN=CENTER VALIGN=MIDDLE WIDTH=100><IMG SRC="FL.gif" WIDTH=100 HEIGHT=70 ALIGN="ABSMIDDLE" ALT="FL"></TD> -<TD ALIGN=CENTER VALIGN=MIDDLE WIDTH=500> -<H1>FLTK 1.1.0 Programming Manual</H1> -Revision 0 by Michael Sweet, Craig P. Earls, and Bill Spitzak<BR> -Copyright 1998-2001 by Bill Spitzak and others.<BR> -</TD> + <TD ALIGN="CENTER" VALIGN="MIDDLE" WIDTH="200"> + <IMG SRC="FL.gif" WIDTH="200" HEIGHT="100" ALIGN="ABSMIDDLE" ALT="FL"></TD> + <TD ALIGN="CENTER" VALIGN="MIDDLE" WIDTH="500"> + <H1>FLTK 1.1.0 Programming Manual</H1> + <P>Revision 1 by Michael Sweet, Craig P. Earls, and Bill Spitzak<BR> + Copyright 1998-2001 by Bill Spitzak and others.</P> + </TD> </TR> </TABLE> -<TABLE WIDTH=90% BGCOLOR=#9f9f9f CELLPADDING=8 CELLSPACING=0 SUMMARY="TITLE BAR"> + +<TABLE BGCOLOR="#9f9f9f" CELLPADDING="8" CELLSPACING="0" SUMMARY="TITLE BAR"> <TR> -<TD ALIGN=CENTER WIDTH=600> -This software is provided under the terms of the GNU Library General -Public License. -</TD> + <TD ALIGN="CENTER" WIDTH="600">This software is provided under the terms of the GNU Library General + Public License.</TD> </TR> </TABLE> -<TABLE WIDTH=90% COLS=2 BGCOLOR=#9f9fef CELLPADDING=8 CELLSPACING=0 SUMMARY="Table of Contents"> + +<TABLE COLS="2" BGCOLOR="#9f9fef" CELLPADDING="8" CELLSPACING="0" SUMMARY="Table of Contents"> <TR> -<TD ALIGN=LEFT VALIGN=TOP WIDTH=300> -<B><A HREF=preface.html#preface>Preface</A></B> -<BR> -<BR> -<B><A HREF=intro.html#intro>1 - Introduction to FLTK</A></B> -<BR> -<BR> -<B><A HREF=basics.html#basics>2 - FLTK Basics</A></B> -<BR> -<BR> -<B><A HREF=common.html#common>3 - Common Widgets and Attributes</A></B> -<UL> -<LI><A HREF=drawing.html#colors>Colors</A></LI> -<LI><A HREF=common.html#boxtypes>Box Types</A></LI> -<LI><A HREF=common.html#labels>Labels and Label Types</A></LI> -<LI><A HREF=drawing.html#images>Images</A></LI> -<LI><A HREF=drawing.html#Fl_Pixmap>class Fl_Pixmap</A></LI> -</UL> -<B><A HREF=editor.html#editor>4 - Designing a Simple Text Editor</A></B> -<BR> -<BR> -<B><A HREF=drawing.html#drawing>5 - Drawing Things in FLTK</A></B> -<BR> -<BR> -<B><A HREF=events.html#events>6 - Handling Events</A></B> -<UL> -<LI><A HREF=events.html#event_xxx>Fl::event_*() methods</A></LI> -<LI><A HREF=events.html#propagation>Event Propagation</A></LI> -</UL> -<B><A HREF=subclassing.html#subclassing>7 - Adding and Extending -Widgets</A></B> -</TD> -<TD ALIGN=LEFT VALIGN=TOP WIDTH=300> -<B><A HREF=fluid.html#FLUID>8 - Programming with FLUID</A></B> -<UL> -<LI><A HREF=fluid.html#widget_attributes>Widget Attributes</A></LI> -<LI><A HREF=fluid.html#widget_attributes>Selecting Moving Widgets</A></LI> -<LI><A HREF=fluid.html#images>Image Labels</A></LI> -</UL> -<B><A HREF=opengl.html#opengl>9 - Using OpenGL</A></B> -<BR> -<BR> -<B><A HREF=widgets.html#widgets>A - Widget Reference</A></B> -<BR> -<BR> -<B><A HREF=functions.html#functions>B - Function Reference</A></B> -<BR> -<BR> -<B><A HREF=enumerations.html#enumerations>C - FLTK Enumerations.H</A> -</B> -<BR> -<BR> -<B><A HREF=glut.html#glut>D - GLUT Compatibility</A></B> -<UL> -<LI><A HREF=glut.html#Fl_Glut_Window>class Fl_Glut_Window</A></LI> -</UL> -<B><A HREF=forms.html#forms>E - Forms Compatibility</A></B> -<BR> -<BR> -<B><A HREF=osissues.html#osissues>F - Operating System Issues</A></B> -<BR> -<BR> -<B><A HREF=license.html#license>G - Software License</A></B> -</TD> + <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="300"><B><A HREF="preface.html#preface">Preface</A></B> + <BR> + <BR> + <B><A HREF="intro.html#intro">1 - Introduction to FLTK</A></B> + <BR> + <BR> + <B><A HREF="basics.html#basics">2 - FLTK Basics</A></B> + <BR> + <BR> + <B><A HREF="common.html#common">3 - Common Widgets and Attributes</A></B> + <UL> + <LI><A HREF="drawing.html#colors">Colors</A></LI> + <LI><A HREF="common.html#boxtypes">Box Types</A></LI> + <LI><A HREF="common.html#labels">Labels and Label Types</A></LI> + <LI><A HREF="drawing.html#images">Images</A></LI> + <LI><A HREF="drawing.html#Fl_Pixmap">class Fl_Pixmap</A></LI> + </UL> + <B><A HREF="editor.html#editor">4 - Designing a Simple Text Editor</A></B> + <BR> + <BR> + <B><A HREF="drawing.html#drawing">5 - Drawing Things in FLTK</A></B> + <BR> + <BR> + <B><A HREF="events.html#events">6 - Handling Events</A></B> + <UL> + <LI><A HREF="events.html#event_xxx">Fl::event_*() methods</A></LI> + <LI><A HREF="events.html#propagation">Event Propagation</A></LI> + </UL> + <B><A HREF="subclassing.html#subclassing">7 - Adding and Extending + Widgets</A></B> + </TD> + <TD ALIGN=LEFT VALIGN=TOP WIDTH=300> + <B><A HREF="opengl.html#opengl">8 - Using OpenGL</A></B> + <BR> + <BR> + <B><A HREF="fluid.html#FLUID">9 - Programming with FLUID</A></B> + <UL> + <LI><A HREF="fluid.html#widget_attributes">Widget Attributes</A></LI> + <LI><A HREF="fluid.html#widget_attributes">Selecting Moving Widgets</A></LI> + <LI><A HREF="fluid.html#images">Image Labels</A></LI> + </UL> + <B><A HREF="widgets.html#widgets">A - Class Reference</A></B> + <BR> + <BR> + <B><A HREF="functions.html#functions">B - Function Reference</A></B> + <BR> + <BR> + <B><A HREF="enumerations.html#enumerations">C - FLTK Enumerations.H</A> + </B> + <BR> + <BR> + <B><A HREF="glut.html#glut">D - GLUT Compatibility</A></B> + <UL> + <LI><A HREF="glut.html#Fl_Glut_Window">class Fl_Glut_Window</A></LI> + </UL> + <B><A HREF="forms.html#forms">E - Forms Compatibility</A></B> + <BR> + <BR> + <B><A HREF="osissues.html#osissues">F - Operating System Issues</A></B> + <BR> + <BR> + <B><A HREF="license.html#license">G - Software License</A></B> + </TD> </TR> </TABLE> diff --git a/documentation/intro.html b/documentation/intro.html index 524dcb038..fe9d5fcac 100644 --- a/documentation/intro.html +++ b/documentation/intro.html @@ -1,173 +1,256 @@ -<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. +<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> + <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 + +<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 +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> +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 +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> + +<P>FLTK was designed to be statically linked. This was done by +splitting it into many small objects and designing 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 +is now included with several Linux distributions.</P> + +<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 110K.</LI> -<LI>The FLUID program (which includes every widget) is 372k. -<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 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> + + <LI>sizeof(Fl_Widget) == 64 to 92.</LI> + + <LI>The "core" (the "hello" program + compiled & linked with a static FLTK library using + gcc on a 486 and then stripped) is 114K.</LI> + + <LI>The FLUID program (which includes every widget) is + 538k.</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 overlay hardware, with emulation if none + is available.</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, with emulation if none is available.</LI> + + <LI>Text widgets 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> + </UL> + <H2>Licensing</H2> - FLTK comes with complete free source code. FLTK is available under the -terms of the <A href="license.html">GNU Library General Public License</A>. -Contrary to popular belief, it can be used in commercial software! -(Even Bill Gates could use it.) + +<P>FLTK comes with complete free source code. FLTK is available +under the terms of the <A href="license.html">GNU Library +General Public License</A> with ammendments that allow for +static linking. Contrary to popular belief, it can be used in +commercial software - even Bill Gates could use it!</P> + <H2>What Does "FLTK" Mean?</H2> - FLTK was originally designed to be compatible 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". + +<P>FLTK was originally designed to be compatible 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", including a bogus excuse that it +stands for "The Fast Light Toolkit".</P> + <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 and -OpenGL (or Mesa) header and library files. If these cannot be -found in the standard include/library locations you'll need to define the -<tt>CFLAGS</tt>, <tt>CXXFLAGS</tt>, and <tt>LDFLAGS</tt> environment -variables. For the Bourne and Korn shells you'd use:</P> + +<P>In most cases you can just type "make". This will +run configure with the default of no options and then compile +everything.</P> + +<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 and OpenGL (or Mesa) header and library files. +If these cannot be found in the standard include/library +locations you'll need to define the <tt>CFLAGS</tt>, +<tt>CXXFLAGS</tt>, and <tt>LDFLAGS</tt> environment variables. +For the Bourne and Korn shells you'd use:</P> + <UL><PRE> CFLAGS=-I<I>includedir</I>; export CFLAGS CXXFLAGS=-I<I>includedir</I>; export CXXFLAGS LDFLAGS=-L<I>libdir</I>; export LDFLAGS </PRE></UL> -For C shell and tcsh, use: + +<P>For C shell and tcsh, use:</P> + <UL><PRE> setenv CFLAGS "-I<I>includedir</I>" setenv CXXFLAGS "-I<I>includedir</I>" setenv LDFLAGS "-L<I>libdir</I>" </PRE></UL> -By default configure will look for a C++ compiler named <tt>CC</tt>, <tt>c++</tt>, -<tt>g++</tt>, or <tt>gcc</tt> in that order. To use another compiler you need -to set the <tt>CXX</tt> environment variable: + +<P>By default configure will look for a C++ compiler named +<tt>CC</tt>, <tt>c++</tt>, <tt>g++</tt>, or <tt>gcc</tt> in that +order. To use another compiler you need to set the <tt>CXX</tt> +environment variable:</P> + <UL><PRE> -CXX=xlC; export xlC +CXX=xlC; export CXX setenv CXX "xlC" </PRE></UL> -The <tt>CC</tt> environment variable can also be used to override the -default C compiler (<tt>cc</tt> or <tt>gcc</tt>), which is used for a -few FLTK source files. -<P>You can run configure yourself to get the exact setup you need. Type -"./configure <options>", where options are: </P> + +<P>The <tt>CC</tt> environment variable can also be used to +override the default C compiler (<tt>cc</tt> or <tt>gcc</tt>), +which is used for a few FLTK source files.</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> + + <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 = $prefix/bin]</DD> + + <DT>--datadir=/path</DT> + <DD>Set the location for data files. [default = $prefix/share]</DD> + + <DT>--libdir=/path</DT> + <DD>Set the location for libraries [default = $prefix/lib]</DD> + + <DT>--includedir=/path</DT> + <DD>Set the location for include files. [default = $prefix/include]</DD> + + <DT>--mandir=/path</DT> + <DD>Set the location for man pages. [default = $prefix/man]</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> + +<P>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> + +<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 Microsoft 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> + +<P>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> + +<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> copy makefiles\Makefile.<env> Makefile make -</PRE> -</UL> +</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 diff --git a/documentation/preface.html b/documentation/preface.html index 9635d16d8..a5ff66532 100644 --- a/documentation/preface.html +++ b/documentation/preface.html @@ -2,65 +2,101 @@ <HEAD> <META CONTENT="Written by Michael Sweet, Craig P. Earls, and Bill Spitzak" NAME="Author"> <META CONTENT="Copyright 1998-2001 by Bill Spitzak and Others." NAME="Copyright"> - <META CONTENT="Revision 0" NAME="DocNumber"> + <META CONTENT="Revision 1" NAME="DocNumber"> <TITLE>FLTK 1.1.0 Programming Manual</TITLE> </HEAD> <BODY> + <H1 ALIGN=RIGHT><A NAME=preface>Preface</A></H1> -This manual describes the Fast Light Tool Kit ("FLTK") + +<P>This manual describes the Fast Light Tool Kit ("FLTK") version 1.1.0, a C++ Graphical User Interface ("GUI") toolkit for UNIX and Microsoft Windows. Each of the chapters in this manual is designed as a tutorial for using FLTK, while the appendices provide a convenient reference for all FLTK widgets, functions, and operating system -interfaces. +interfaces.</P> + <H2>Organization</H2> - This manual is organized into the following chapters and appendices: + +<P>This manual is organized into the following chapters and appendices:</P> + <UL> -<LI><A HREF=intro.html#intro>Chapter 1 - Introduction to FLTK</A></LI> -<LI><A HREF=basics.html#basics>Chapter 2 - FLTK Basics</A></LI> -<LI><A HREF=common.html#common>Chapter 3 - Common Widgets and Attributes</A> -</LI> -<LI><A HREF=editor.html#editor>Chapter 4 - Designing a Simple Text -Editor</A></LI> -<LI><A HREF=drawing.html#drawing>Chapter 5 - Drawing Things in FLTK</A></LI> -<LI><A HREF=events.html#events>Chapter 6 - Handling Events</A></LI> -<LI><A HREF=subclassing.html#subclassing>Chapter 7 - Extending and -Adding Widgets</A></LI> -<LI><A HREF=fluid.html#fluid>Chapter 8 - Programming With FLUID</A></LI> -<LI><A HREF=opengl.html#opengl>Chapter 9 - Using OpenGL</A></LI> -<LI><A HREF=widgets.html#widgets>Appendix A - Widget Reference</A></LI> -<LI><A HREF=functions.html#functions>Appendix B - Function Reference</A></LI> -<LI><A HREF=enumerations.html#enumerations>Appendix C - Enumeration -Reference</A></LI> -<LI><A HREF=glut.html#glut>Appendix D - GLUT Compatibility</A></LI> -<LI><A HREF=forms.html#forms>Appendix E - Forms Compatibility</A></LI> -<LI><A HREF=license.html#license>Appendix F - Operating System Issues</A> -</LI> -<LI><A HREF=license.html#license>Appendix G - Software License</A></LI> + + <LI><A HREF="intro.html#intro">Chapter 1 - Introduction to FLTK</A></LI> + + <LI><A HREF="basics.html#basics">Chapter 2 - FLTK Basics</A></LI> + + <LI><A HREF="common.html#common">Chapter 3 - Common Widgets and Attributes</A></LI> + + <LI><A HREF="editor.html#editor">Chapter 4 - Designing a Simple Text + Editor</A></LI> + + <LI><A HREF="drawing.html#drawing">Chapter 5 - Drawing Things in FLTK</A></LI> + + <LI><A HREF="events.html#events">Chapter 6 - Handling Events</A></LI> + + <LI><A HREF="subclassing.html#subclassing">Chapter 7 - Extending and + Adding Widgets</A></LI> + + <LI><A HREF="opengl.html#opengl">Chapter 8 - Using OpenGL</A></LI> + + <LI><A HREF="fluid.html#fluid">Chapter 9 - Programming With FLUID</A></LI> + + <LI><A HREF="widgets.html#widgets">Appendix A - Class Reference</A></LI> + + <LI><A HREF="functions.html#functions">Appendix B - Function Reference</A></LI> + + <LI><A HREF="enumerations.html#enumerations">Appendix C - Enumeration + Reference</A></LI> + + <LI><A HREF="glut.html#glut">Appendix D - GLUT Compatibility</A></LI> + + <LI><A HREF="forms.html#forms">Appendix E - Forms Compatibility</A></LI> + + <LI><A HREF="license.html#license">Appendix F - Operating System Issues</A></LI> + + <LI><A HREF="license.html#license">Appendix G - Software License</A></LI> + </UL> + <H2>Conventions</H2> - The following typeface conventions are used in this manual: + +<P>The following typeface conventions are used in this manual:</P> + <UL> -<LI>Function and constant names are shown in <B><TT>bold courier type</TT> -</B></LI> -<LI>Code samples and commands are shown in <TT>regular courier type</TT></LI> + <LI>Function and constant names are shown in <B><TT>bold courier type</TT></B></LI> + + <LI>Code samples and commands are shown in <TT>regular courier type</TT></LI> + </UL> + <H2>Abbreviations</H2> - The following abbreviations are used in this manual: + +<P>The following abbreviations are used in this manual:</P> + <DL> -<DT>X11</DT> -<DD>The X Window System version 11.</DD> -<DT>Xlib</DT> -<DD>The X Window System interface library.</DD> -<DT>WIN32</DT> -<DD>The Microsoft Windows 32-bit Application Programmer's Interface.</DD> + + <DT>X11</DT> + <DD>The X Window System version 11.</DD> + + <DT>Xlib</DT> + <DD>The X Window System interface library.</DD> + + <DT>WIN32</DT> + <DD>The Microsoft Windows 32-bit Application Programmer's Interface.</DD> + </DL> + <H2>Copyrights and Trademarks</H2> - FLTK is Copyright 1998-2001 by Bill Spitzak and others. Use and + +<P>FLTK is Copyright 1998-2001 by Bill Spitzak and others. Use and distribution of FLTK is governed by the GNU Library General Public -License, located in <A HREF=license.html#license>Appendix G</A>. +License, located in <A HREF="license.html#license">Appendix G</A>.</P> + <P>UNIX is a registered trademark of the X Open Group, Inc. Microsoft and Windows are registered trademarks of Microsoft Corporation. OpenGL is a registered trademark of Silicon Graphics, Inc. </P> -</BODY></HTML> + +</BODY> +</HTML> |
