summaryrefslogtreecommitdiff
path: root/documentation/basics.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/basics.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/basics.html')
-rw-r--r--documentation/basics.html334
1 files changed, 147 insertions, 187 deletions
diff --git a/documentation/basics.html b/documentation/basics.html
index 57bec8472..563179b59 100644
--- a/documentation/basics.html
+++ b/documentation/basics.html
@@ -1,210 +1,170 @@
-<HTML>
-<BODY>
-
+<HTML><BODY>
<H1 ALIGN=RIGHT><A NAME=basics>2 - FLTK Basics</A></H1>
-
-This chapter will teach you the basics of compiling programs that use
-FLTK.
-
+ This chapter will teach you the basics of compiling programs that use
+FLTK.
<H2>Naming</H2>
-
-All public symbols in FLTK start with the characters 'F' and 'L':
-
-<ul>
-
- <li>Functions are either <tt>Fl::foo()</tt> or <tt>fl_foo()</tt>.
-
- <li>Class and type names are capitalized: <tt>Fl_Foo</tt>.
-
- <li><a href=#Enumerations>Constants and enumerations</a> are
- uppercase: <tt>FL_FOO</tt>.
-
- <li>All header files start with <tt>&lt;FL/...></tt>.
-
-</ul>
-
+ All public symbols in FLTK start with the characters 'F' and 'L':
+<UL>
+<LI>Functions are either <TT>Fl::foo()</TT> or <TT>fl_foo()</TT>. </LI>
+<LI>Class and type names are capitalized: <TT>Fl_Foo</TT>. </LI>
+<LI><A href=enumerations.html#Enumerations>Constants and enumerations</A>
+ are uppercase: <TT>FL_FOO</TT>. </LI>
+<LI>All header files start with <TT>&lt;FL/...&gt;</TT>. </LI>
+</UL>
<H2>Header Files</H2>
-
-The proper way to include FLTK header files is:
-
-<ul><pre>
-#include &lt;FL/Fl_xyz.H>
-</pre></ul>
-
-<b>Microsoft Windows developers please note:</b> case *is* significant
-under other operating systems, and the C standard uses the forward
-slash (/) to separate directories. The following <tt>#include</tt>
-directives are *not* recommended for portability reasons:
-
-<ul><pre>
-#include &lt;fl\fl_xyz.h>
-#include &lt;fl/fl_xyz.h>
-#include &lt;FL\Fl_xyz.H>
-</pre></ul>
-
+ The proper way to include FLTK header files is:
+<UL>
+<PRE>
+#include &lt;FL/Fl_xyz.H&gt;
+</PRE>
+</UL>
+<B>Microsoft Windows developers please note:</B> case *is* significant
+under other operating systems, and the C standard uses the forward
+slash (/) to separate directories. The following <TT>#include</TT>
+ directives are *not* recommended for portability reasons:
+<UL>
+<PRE>
+#include &lt;fl\fl_xyz.h&gt;
+#include &lt;fl/fl_xyz.h&gt;
+#include &lt;FL\Fl_xyz.H&gt;
+</PRE>
+</UL>
<H2>Compiling Programs with Standard Compilers</H2>
-
-Under UNIX (and under Microsoft Windows when using the GNU development tools)
-you will probably need to tell the compiler where to find the header files.
-This is usually done using the <tt>-I</tt> option:
-
-<ul><pre>
+ Under UNIX (and under Microsoft Windows when using the GNU development
+tools) you will probably need to tell the compiler where to find the
+header files. This is usually done using the <TT>-I</TT> option:
+<UL>
+<PRE>
CC -I/usr/local/include ...
gcc -I/usr/local/include ...
-</pre></ul>
-
-Similarly, when linking your application you will need to tell the compiler
-to use the FLTK library:
-
-<ul><pre>
+</PRE>
+</UL>
+ Similarly, when linking your application you will need to tell the
+compiler to use the FLTK library:
+<UL>
+<PRE>
CC ... -L/usr/local/lib -lfltk -lXext -lX11 -lm
gcc ... -L/usr/local/lib -lfltk -lXext -lX11 -lm
-</pre></ul>
-
+</PRE>
+</UL>
<H2>Compiling Programs with Microsoft Visual C++</H2>
-
-In Visual C++ you will need to tell the compiler where to find the FLTK
-header files. This can be done by selecting "Settings" from the
-"Project" menu and then changing the "Preprocessor" settings under the
-"C/C++" tab. Similarly, you will need to add the FLTK library to the
-"Link" settings.
-
-<p>You can build your Microsoft Windows applications as Console or
-WIN32 applications. If you want to use the standard C <tt>main()</tt>
-function as the entry point, FLTK includes a <tt>WinMain()</tt> function
-that will call your <tt>main()</tt> function for you.
-
-<p><i>Note: The Visual C++ optimizer is known to cause problems with
-many programs. We only recommend using the "Favor Small Code"
-optimization setting.</i>
-
+ In Visual C++ you will need to tell the compiler where to find the
+FLTK header files. This can be done by selecting &quot;Settings&quot; from the
+&quot;Project&quot; menu and then changing the &quot;Preprocessor&quot; settings under the
+&quot;C/C++&quot; tab. Similarly, you will need to add the FLTK library to the
+&quot;Link&quot; settings.
+<P>You can build your Microsoft Windows applications as Console or
+WIN32 applications. If you want to use the standard C <TT>main()</TT>
+ function as the entry point, FLTK includes a <TT>WinMain()</TT>
+ function that will call your <TT>main()</TT> function for you. </P>
+<P><I>Note: The Visual C++ optimizer is known to cause problems with
+many programs. We only recommend using the &quot;Favor Small Code&quot;
+optimization setting.</I></P>
<H2>Writing Your First FLTK Program</H2>
-
-All programs must include the file <tt>&lt;FL/Fl.H&gt</tt>. In
-addition the program must include a header file for each FLTK class it
-uses. Listing 1 shows a simple "Hello, World!" program that uses
-FLTK to display the window.
-
-<ul>
-<i>Listing 1 - "hello.cxx"</i>
-<br>&nbsp;
-<pre>
-#include &lt;FL/Fl.H>
-#include &lt;FL/Fl_Window.H>
-#include &lt;FL/Fl_Box.H>
+ All programs must include the file <TT>&lt;FL/Fl.H In addition the
+program must include a header file for each FLTK class it uses.
+ Listing 1 shows a simple &quot;Hello, World!&quot; program that uses FLTK to
+display the window.
+<UL><I>Listing 1 - &quot;hello.cxx&quot;</I>
+<BR>&nbsp;
+<PRE>
+#include &lt;FL/Fl.H&gt;
+#include &lt;FL/Fl_Window.H&gt;
+#include &lt;FL/Fl_Box.H&gt;
int main(int argc, char **argv) {
Fl_Window *window = new Fl_Window(300,180);
- Fl_Box *box = new Fl_Box(FL_UP_BOX,20,40,260,100,"Hello, World!");
- box->labelsize(36);
- box->labelfont(FL_BOLD+FL_ITALIC);
- box->labeltype(FL_SHADOW_LABEL);
- window->end();
- window->show(argc, argv);
+ Fl_Box *box = new Fl_Box(FL_UP_BOX,20,40,260,100,&quot;Hello, World!&quot;);
+ box-&gt;labelsize(36);
+ box-&gt;labelfont(FL_BOLD+FL_ITALIC);
+ box-&gt;labeltype(FL_SHADOW_LABEL);
+ window-&gt;end();
+ window-&gt;show(argc, argv);
return Fl::run();
}
-</pre></ul>
-
-After including the required header files, the program then creates a
-window:
-
-<ul><pre>
-Fl_Window *window = new <a href="#Fl_Window">Fl_Window</a>(300,180);
-</pre></ul>
-
-and a box with the "Hello, World!" string in it:
-
-<ul><pre>
-Fl_Box *box = new <a href="#Fl_Box">Fl_Box</a>(FL_UP_BOX,20,40,260,100,"Hello, World!");
-</pre></ul>
-
-Next, we set the size, font, and style of the label:
-
-<ul><pre>
-box-><a href="#Fl_Widget.labelsize">labelsize</a>(36);
-box-><a href="#Fl_Widget.labelfont">labelfont</a>(FL_BOLD+FL_ITALIC);
-box-><a href="#Fl_Widget.labeltype">labeltype</a>(FL_SHADOW_LABEL);
-</pre></ul>
-
-Finally, we show the window and enter the FLTK event loop:
-
-<ul><pre>
-window-><a href="#Fl_Group.end">end</a>();
-window-><a href="#Fl_Window.show">show</a>(argc, argv);
-return <a href="#run">Fl::run</a>();
-</pre></ul>
-
-The resulting program will display the window below. You can quit
-the program by closing the window or pressing the ESCape key.
-
-<center><img src=hello.C.gif></center>
-
+</PRE>
+</UL>
+ After including the required header files, the program then creates a
+window:
+<UL>
+<PRE>
+Fl_Window *window = new <A href=Fl_Window.html#Fl_Window>Fl_Window</A>(300,180);
+</PRE>
+</UL>
+ and a box with the &quot;Hello, World!&quot; string in it:
+<UL>
+<PRE>
+Fl_Box *box = new <A href=Fl_Box.html#Fl_Box>Fl_Box</A>(FL_UP_BOX,20,40,260,100,&quot;Hello, World!&quot;);
+</PRE>
+</UL>
+ Next, we set the size, font, and style of the label:
+<UL>
+<PRE>
+box-&gt;<A href=Fl_Widget.html#Fl_Widget.labelsize>labelsize</A>(36);
+box-&gt;<A href=Fl_Widget.html#Fl_Widget.labelfont>labelfont</A>(FL_BOLD+FL_ITALIC);
+box-&gt;<A href=Fl_Widget.html#Fl_Widget.labeltype>labeltype</A>(FL_SHADOW_LABEL);
+</PRE>
+</UL>
+ Finally, we show the window and enter the FLTK event loop:
+<UL>
+<PRE>
+window-&gt;<A href=Fl_Group.html#Fl_Group.end>end</A>();
+window-&gt;<A href=Fl_Window.html#Fl_Window.show>show</A>(argc, argv);
+return <A href=functions.html#run>Fl::run</A>();
+</PRE>
+</UL>
+ The resulting program will display the window below. You can quit the
+program by closing the window or pressing the ESCape key.
+<CENTER><IMG src=./hello.C.gif></CENTER>
<H3>Creating the Widgets</H3>
-
-The widgets are created using the C++ <tt>new</tt> operator; the arguments
-to the constructors are usually one of the following:
-
-<ul><pre>
+ The widgets are created using the C++ <TT>new</TT> operator; the
+arguments to the constructors are usually one of the following:
+<UL>
+<PRE>
Fl_Widget(boxtype, x, y, width, height)
Fl_Widget(x, y, width, height)
Fl_Widget(width, height)
-</pre></ul>
-
-The <tt>boxtype</tt> value is the style of the box that is drawn around
-the widget. Usually this is <tt>FL_NO_BOX</tt>, which means that no
-box is drawn. In our "Hello, World!" example we use <tt>FL_UP_BOX</tt>,
-which means that a raised button border will be drawn around the
-widget. You can learn more about boxtypes in <a href="#boytypes">Chapter
-3</a>.
-
-<p>The <tt>x</tt> and <tt>y</tt> parameters determine where the widget
-or window is placed on the screen. In FLTK the top left corner of the
-window or screen is the origin (i.e. x = 0, y = 0) and the units are in
-pixels.
-
-<p>The <tt>width</tt> and <tt>height</tt> parameters determine the size
-of the widget or window in pixels. The maximum widget size is typically
-governed by the underlying window system or hardware.
-
+</PRE>
+</UL>
+ The <TT>boxtype</TT> value is the style of the box that is drawn
+around the widget. Usually this is <TT>FL_NO_BOX</TT>, which means
+that no box is drawn. In our &quot;Hello, World!&quot; example we use <TT>
+FL_UP_BOX</TT>, which means that a raised button border will be drawn
+around the widget. You can learn more about boxtypes in <A href=#boytypes>
+Chapter 3</A>.
+<P>The <TT>x</TT> and <TT>y</TT> parameters determine where the widget
+or window is placed on the screen. In FLTK the top left corner of the
+window or screen is the origin (i.e. x = 0, y = 0) and the units are in
+pixels. </P>
+<P>The <TT>width</TT> and <TT>height</TT> parameters determine the size
+of the widget or window in pixels. The maximum widget size is
+typically governed by the underlying window system or hardware. </P>
<H3>Labels</H3>
-
-All widgets support labels. In the case of window widgets, the label
-is used for the label in the title bar. Our example program calls the
-<a href="#Fl_Widget.labelfont"><tt>labelfont</tt></a>,
-<a href="#Fl_Widget.labelsize"><tt>labelsize</tt></a>, and
-<a href="#Fl_Widget.labeltype"><tt>labeltype</tt></a> methods.
-
-<p>The <tt>labelfont</tt> method sets the typeface and style that is
-used for the label, which for this example we are using
-<tt>FL_BOLD</tt> and <tt>FL_ITALIC</tt>. You can also specify typefaces
-directly.
-
-<p>The <tt>labelsize</tt> method sets the height of the font in pixels.
-
-<p>The <tt>labeltype</tt> method sets the type of label. FLTK supports
-normal, embossed, shadowed, symbol, and image labels.
-
-<p>A complete list of all label options can be found in <a href="#labels">
-Chapter 3</a>.
-
+ All widgets support labels. In the case of window widgets, the label
+is used for the label in the title bar. Our example program calls the <A href=Fl_Widget.html#Fl_Widget.labelfont>
+<TT>labelfont</TT></A>, <A href=Fl_Widget.html#Fl_Widget.labelsize><TT>
+labelsize</TT></A>, and <A href=Fl_Widget.html#Fl_Widget.labeltype><TT>
+labeltype</TT></A> methods.
+<P>The <TT>labelfont</TT> method sets the typeface and style that is
+used for the label, which for this example we are using <TT>FL_BOLD</TT>
+ and <TT>FL_ITALIC</TT>. You can also specify typefaces directly. </P>
+<P>The <TT>labelsize</TT> method sets the height of the font in pixels. </P>
+<P>The <TT>labeltype</TT> method sets the type of label. FLTK supports
+normal, embossed, shadowed, symbol, and image labels. </P>
+<P>A complete list of all label options can be found in <A href=common.html#labels>
+Chapter 3</A>. </P>
<H3>Showing the Window</H3>
-
-The <tt>show()</tt> method shows the widget or window. For windows you can
-also provide the command-line arguments to allow users to customize the
-appearance, size, and position of your windows.
-
+ The <TT>show()</TT> method shows the widget or window. For windows
+you can also provide the command-line arguments to allow users to
+customize the appearance, size, and position of your windows.
<H3>The Main Event Loop</H3>
-
-FLTK provides the <a href="#run"><tt>Fl:run()</tt></a> method to enter
-a standard event processing loop. This is equivalent to the following
-code:
-
-<ul><pre>
+ FLTK provides the <A href=functions.html#run><TT>Fl:run()</TT></A>
+ method to enter a standard event processing loop. This is equivalent
+to the following code:
+<UL>
+<PRE>
while (Fl::wait());
-</pre></ul>
-
-<tt>Fl::run()</tt> does not return until all of the windows under FLTK control
-are closed (either by the user or your program).
-
-</BODY>
-</HTML>
+</PRE>
+</UL>
+<TT>Fl::run()</TT> does not return until all of the windows under FLTK
+control are closed (either by the user or your program). </TT></BODY></HTML> \ No newline at end of file