Added optimization for SGI builds (mike: please run autoconf before making
a distribution). Documentation fixes. git-svn-id: file:///fltk/svn/fltk/trunk@259 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
4b8754ace4
commit
4c53a5d8f4
19
configure.in
19
configure.in
@ -1,7 +1,7 @@
|
||||
dnl# -*- sh -*-
|
||||
dnl# the "configure" script is made from this by running GNU "autoconf"
|
||||
dnl#
|
||||
dnl# "$Id: configure.in,v 1.18 1999/01/27 17:52:23 mike Exp $"
|
||||
dnl# "$Id: configure.in,v 1.19 1999/01/31 07:43:08 bill Exp $"
|
||||
dnl#
|
||||
dnl# Configuration script for the Fast Light Tool Kit (FLTK).
|
||||
dnl#
|
||||
@ -39,7 +39,7 @@ fi
|
||||
DEBUGFLAG=""
|
||||
|
||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],if eval "test x$enable_debug = xyes"; then
|
||||
DEBUGFLAG="-g"
|
||||
DEBUGFLAG="-g "
|
||||
fi)
|
||||
AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries [default=no]],[
|
||||
if eval "test x$enable_shared = xyes"; then
|
||||
@ -70,9 +70,6 @@ if eval "test x$enable_shared = xyes"; then
|
||||
esac
|
||||
fi])
|
||||
|
||||
CFLAGS="$DEBUGFLAG $CFLAGS"
|
||||
CXXFLAGS="$DEBUGFLAG $CXXFLAGS"
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
dnl# AC_PROG_INSTALL
|
||||
@ -148,17 +145,19 @@ dnl# Uncomment these if you don't have IDO 7.2 or higher
|
||||
dnl# CXX="CC -n32"
|
||||
dnl# CC="cc -n32"
|
||||
dnl# LD="ld -n32"
|
||||
MAKEDEPEND="CC -M"
|
||||
dnl# MAKEDEPEND="CC -M"
|
||||
# -woff 3322 is necessary due to errors in Xlib headers on IRIX
|
||||
CFLAGS="-fullwarn $CFLAGS"
|
||||
CXXFLAGS="-fullwarn -woff 1685 -woff 3322 $CXXFLAGS"
|
||||
MAKEDEPEND="CC -M"
|
||||
CFLAGS="-O2 -fullwarn $CFLAGS"
|
||||
CXXFLAGS="-O2 -fullwarn -woff 1685 -woff 3322 $CXXFLAGS"
|
||||
else
|
||||
CXXFLAGS="+w +pp $CXXFLAGS"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
CFLAGS="$DEBUGFLAG$CFLAGS"
|
||||
CXXFLAGS="$DEBUGFLAG$CXXFLAGS"
|
||||
|
||||
AC_SUBST(LIBNAME)
|
||||
AC_SUBST(LIBCOMMAND)
|
||||
AC_SUBST(MAKEDEPEND)
|
||||
@ -166,5 +165,5 @@ AC_CONFIG_HEADER(config.h:configh.in)
|
||||
AC_OUTPUT(makeinclude)
|
||||
|
||||
dnl#
|
||||
dnl# End of "$Id: configure.in,v 1.18 1999/01/27 17:52:23 mike Exp $".
|
||||
dnl# End of "$Id: configure.in,v 1.19 1999/01/31 07:43:08 bill Exp $".
|
||||
dnl#
|
||||
|
@ -93,6 +93,7 @@ other slow operation. </P>
|
||||
</UL>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<i>Sorry, documentation is incomplete at this time</i>
|
||||
</CENTER>
|
||||
<H4><A name=Fl_Browser_.Fl_Browser_>Fl_Browser::Fl_Browser(int, int,
|
||||
int, int, const char * = 0)</A></H4>
|
||||
@ -131,4 +132,5 @@ browser.
|
||||
The first form gets the default text size for the lines in the
|
||||
browser.
|
||||
<P>The second form sets the default text size to <TT>size</TT></P>
|
||||
|
||||
</BODY></HTML>
|
@ -18,8 +18,8 @@
|
||||
</UL>
|
||||
<H3>Description</H3>
|
||||
The <TT>Fl_Float_Input</TT> class is a subclass of <TT>Fl_Input</TT>
|
||||
that displays its input in red when the value string is not a legal
|
||||
floating point value.
|
||||
that only allows the user to type floating point numbers (sign,
|
||||
digits, decimal point, more digits, 'E' or 'e', sign, digits).
|
||||
<H3>Methods</H3>
|
||||
<UL>
|
||||
<LI><A href=#Fl_Float_Input.Fl_Float_Input>Fl_Float_Input</A></LI>
|
||||
|
@ -73,27 +73,31 @@ variables, but you must declare the <TT>Fl_Group</TT> <I>first</I>, so
|
||||
that it is destroyed last.
|
||||
<H4><A name=Fl_Group.add>void Fl_Group::add(Fl_Widget &w)
|
||||
<BR> void Fl_Group::add(Fl_Widget *w)</A></H4>
|
||||
Adds a widget to the group at the end of the child array. If the
|
||||
widget is already in a group it is removed from that group before
|
||||
adding to this one.
|
||||
|
||||
<H4><A name=Fl_Group.insert>void Fl_Group::insert(Fl_Widget &w, int n)
|
||||
<BR> void Fl_Group::insert(Fl_Widget &w, Fl_Widget
|
||||
*beforethis)</A></H4>
|
||||
The widget is removed from it's current group (if any) and then added
|
||||
to the end of this group.
|
||||
|
||||
<H4><A name=Fl_Group.insert>void Fl_Group::insert(Fl_Widget &w, int n)</A></H4>
|
||||
|
||||
The widget is removed from it's current group (if any) and then
|
||||
inserted into this group. It is put at index <TT>n</TT> (or at the end
|
||||
if <tt>n >= children()</tt>. The second version does a <TT>
|
||||
find(beforethis)</TT> and inserts using that index (at the end if
|
||||
<tt>beforethis</tt> is not in this group).
|
||||
if <tt>n >= children()</tt>. This can also be used to rearrange
|
||||
the windgets inside a group.
|
||||
|
||||
<H4>void Fl_Group::insert(Fl_Widget &w, Fl_Widget* beforethis)</H4>
|
||||
|
||||
This does <tt>insert(w, find(beforethis))</tt>. This will append the
|
||||
widget if <tt>beforethis</tt> is not in the group.
|
||||
|
||||
<H4><A name=Fl_Group.remove>void Fl_Group::remove(Fl_Widget &w)</A></H4>
|
||||
Removes a widget from the group. This does nothing if the widget is
|
||||
not currently a child of this group.
|
||||
|
||||
<H4><A name=Fl_Group.array>const Fl_Widget **Fl_Group::array() const</A></H4>
|
||||
Returns a pointer to the array of children. <I>This pointer can change
|
||||
when children are added or removed!</I>
|
||||
<H4><A name=Fl_Group.current>static Fl_Group *Fl_Group::current()
|
||||
<BR> static void Fl_Group::current(Fl_Group *w)</A></H4>
|
||||
<TT>current()</TT> returns the currently active group. The Fl_Widget
|
||||
constructor automatically does <tt>current()->add(widget)</tt> if this is not null.
|
||||
To prevent new widgets from being added to a group, call <TT>Fl_Group::current(0)</TT>.
|
||||
<H4><A name=Fl_Group.begin>void Fl_Group::begin()</A></H4>
|
||||
<TT>begin()</TT> sets the current group so you can build the widget
|
||||
tree by just constructing the widgets. <TT>begin()</TT> is
|
||||
@ -103,13 +107,11 @@ Fl_Window as well). <TT>begin()</TT> <i>is exactly the same as</i> <TT>current(t
|
||||
<H4><A name=Fl_Group.end>void Fl_Group::end()</A></H4>
|
||||
<TT>end()</TT> <i>is exactly the same as</i> <TT>current(this->parent())</TT>. Any new widgets
|
||||
added to the widget tree will be added to the parent of the group.
|
||||
<H4><A name=Fl_Group.current>static Fl_Group *Fl_Group::current()
|
||||
<BR> static void Fl_Group::current(Fl_Group *w)</A></H4>
|
||||
<TT>current()</TT> returns the currently active group. The Fl_Widget
|
||||
constructor automatically does <tt>current()->add(widget)</tt> if this is not null.
|
||||
To prevent new widgets from being added to a group, call <TT>Fl_Group::current(0)</TT>.
|
||||
<H4><A name=Fl_Group.array>const Fl_Widget **Fl_Group::array() const</A></H4>
|
||||
Returns a pointer to the array of children. <I>This pointer is only
|
||||
valid until the next time a child is added or removed.</I>
|
||||
<H4><A name=Fl_Group.child>Fl_Widget *Fl_Group::child(int n) const</A></H4>
|
||||
Returns child <TT>n</TT>, where <TT>0 <= n < children()</TT>.
|
||||
Returns <tt>array()[n]</tt>. <i>No range checking is done!</i>
|
||||
<H4><A name=Fl_Group.children>int Fl_Group::children() const</A></H4>
|
||||
Returns how many child widgets the group has.
|
||||
<H4><A name=Fl_Group.find>int Fl_Group::find(const Fl_Widget *w) const
|
||||
|
@ -18,8 +18,8 @@
|
||||
</UL>
|
||||
<H3>Description</H3>
|
||||
The <TT>Fl_Int_Input</TT> class is a subclass of <TT>Fl_Input</TT>
|
||||
that displays its input in red when the value string is not a legal
|
||||
integer value.
|
||||
that only allows the user to type decimal digits (or hex numbers of
|
||||
the form <tt>0xaef</tt>).
|
||||
<H3>Methods</H3>
|
||||
<UL>
|
||||
<LI><A href=#Fl_Int_Input.Fl_Int_Input>Fl_Int_Input</A></LI>
|
||||
|
@ -36,7 +36,7 @@ maximum()</TT> to reverse the slider direction.
|
||||
<H4><A name=Fl_Slider.Fl_Slider>Fl_Slider::Fl_Slider(int x, int y, int
|
||||
w, int h, const char *label = 0)</A></H4>
|
||||
Creates a new <TT>Fl_Slider</TT> widget using the given position,
|
||||
size, and label string. The default boxtype is <TT>FL_NO_BOX</TT>.
|
||||
size, and label string. The default boxtype is <TT>FL_DOWN_BOX</TT>.
|
||||
<H4><A name=Fl_Slider.~Fl_Slider>virtual Fl_Slider::~Fl_Slider()</A></H4>
|
||||
Destroys the valuator.
|
||||
<H4><A name=Fl_Slider.scrollvalue>int Fl_Slider::scrollvalue(int
|
||||
|
@ -24,7 +24,7 @@
|
||||
and provides a consistent interface to set the value, range, and step,
|
||||
and insures that callbacks are done the same for every object.
|
||||
<P>There are probably more of these classes in FLTK than any others: </P>
|
||||
<P ALIGN=CENTER><IMG src=valuators.gif WIDTH=480></P>
|
||||
<P ALIGN=CENTER><IMG src=valuators.gif></P>
|
||||
<P>In the above diagram each box surrounds an actual subclass. These
|
||||
are further differentiated by setting the <A href=#Fl_Widget.type><TT>
|
||||
type()</TT></A> of the widget to the symbolic value labeling the
|
||||
|
@ -42,7 +42,7 @@ cursor. </P>
|
||||
Fl_Value_Input::Fl_Value_Input(int x, int y, int w, int h, const char
|
||||
*label = 0)</A></H4>
|
||||
Creates a new <TT>Fl_Value_Input</TT> widget using the given position,
|
||||
size, and label string. The default boxtype is <TT>FL_NO_BOX</TT>.
|
||||
size, and label string. The default boxtype is <TT>FL_DOWN_BOX</TT>.
|
||||
<H4><A name=Fl_Value_Input.~Fl_Value_Input>virtual
|
||||
Fl_Value_Input::~Fl_Value_Input()</A></H4>
|
||||
Destroys the valuator.
|
||||
@ -55,7 +55,7 @@ Fl_Value_Input::cursor_color() const
|
||||
If "soft" is turned on, the user is allowed to drag the value outside
|
||||
the range. If they drag the value to one of the ends, let go, then
|
||||
grab again and continue to drag, they can get to any value. Default is
|
||||
one.
|
||||
true.
|
||||
<H4><A name=Fl_Value_Input.textcolor>Fl_Color
|
||||
Fl_Value_Input::textcolor() const
|
||||
<BR> void Fl_Value_Input::textcolor(Fl_Color)</A></H4>
|
||||
|
@ -45,6 +45,7 @@ exit(0)</TT> if this is the last top-level window. </P>
|
||||
<LI><A href=#Fl_Window.border>border</A></LI>
|
||||
<LI><A href=#Fl_Window.clear_border>clear_border</A></LI>
|
||||
<LI><A href=#Fl_Window.current>current</A></LI>
|
||||
<LI><A href=#Fl_Window.cursor>cursor</A></LI>
|
||||
</UL>
|
||||
</TD><TD align=left valign=top>
|
||||
<UL>
|
||||
@ -265,4 +266,17 @@ debug and maintain!</B>
|
||||
<P>This method only works for the <TT>Fl_Window</TT> and <TT>
|
||||
Fl_Gl_Window</TT> classes. </P>
|
||||
<H4><A name=Fl_Window.current>static Fl_Window* Fl_Window::current()</A></H4>
|
||||
Returns the last window that was made current. </BODY></HTML>
|
||||
Returns the last window that was made current.
|
||||
<H4><A name=Fl_Window.cursor>void Fl_Window::cursor(Fl_Cursor, Fl_Color = FL_WHITE, Fl_Color = FL_BLACK)</H4>
|
||||
Change the cursor for this window. This always calls the system, if
|
||||
you are changing the cursor a lot you may want to keep track of how
|
||||
you set it in a static varaible and call this only if the new cursor
|
||||
is different.
|
||||
|
||||
<P>The type <TT>Fl_Cursor</TT> is an enumeration defined in <A
|
||||
href=enumerations.html#cursor> <TT><Enumerations.H></TT></A>.
|
||||
(Under X you can get any XC_cursor value by passing <TT>
|
||||
Fl_Cursor((XC_foo/2)+1)</TT>). The colors only work on X, they are
|
||||
not implemented on WIN32.
|
||||
|
||||
</BODY></HTML>
|
||||
|
@ -20,13 +20,12 @@ FLTK.
|
||||
</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:
|
||||
slash (/) to separate directories. <i>Do not do any of the following:</i>
|
||||
<UL>
|
||||
<PRE>
|
||||
#include <fl\fl_xyz.h>
|
||||
#include <fl/fl_xyz.h>
|
||||
#include <FL\Fl_xyz.H>
|
||||
#include <fl/fl_xyz.h>
|
||||
#include <Fl/fl_xyz.h>
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2>Compiling Programs with Standard Compilers</H2>
|
||||
@ -75,7 +74,8 @@ display the window.
|
||||
|
||||
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!");
|
||||
Fl_Box *box = new Fl_Box(20,40,260,100,"Hello, World!");
|
||||
box->box(FL_UP_BOX);
|
||||
box->labelsize(36);
|
||||
box->labelfont(FL_BOLD+FL_ITALIC);
|
||||
box->labeltype(FL_SHADOW_LABEL);
|
||||
@ -95,12 +95,13 @@ Fl_Window *window = new <A href=Fl_Window.html#Fl_Window>Fl_Window</A>(300,180);
|
||||
and a box with the "Hello, World!" 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,"Hello, World!");
|
||||
Fl_Box *box = new <A href=Fl_Box.html#Fl_Box>Fl_Box</A>(20,40,260,100,"Hello, World!");
|
||||
</PRE>
|
||||
</UL>
|
||||
Next, we set the size, font, and style of the label:
|
||||
Next, we set the type of box and the size, font, and style of the label:
|
||||
<UL>
|
||||
<PRE>
|
||||
box->box(FL_UP_BOX);
|
||||
box-><A href=Fl_Widget.html#Fl_Widget.labelsize>labelsize</A>(36);
|
||||
box-><A href=Fl_Widget.html#Fl_Widget.labelfont>labelfont</A>(FL_BOLD+FL_ITALIC);
|
||||
box-><A href=Fl_Widget.html#Fl_Widget.labeltype>labeltype</A>(FL_SHADOW_LABEL);
|
||||
@ -118,21 +119,13 @@ The resulting program will display the window below. You can quit the
|
||||
program by closing the window or pressing the ESCape key.
|
||||
<P ALIGN=CENTER><IMG src=./hello.C.gif></P>
|
||||
<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:
|
||||
The widgets are created using the C++ <TT>new</TT> operator. For
|
||||
most widgets the arguments to the constructor are:
|
||||
<UL>
|
||||
<PRE>
|
||||
Fl_Widget(boxtype, x, y, width, height, label)
|
||||
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
|
||||
@ -145,6 +138,23 @@ widget with or <tt>NULL</tt>. If not specified the label defaults to
|
||||
<tt>NULL</tt>. The label string must be in static storage (such as a
|
||||
string constant) because FLTK does not make a copy of it (it just uses
|
||||
the pointer).
|
||||
<H3>Get/Set Methods</H3>
|
||||
<tt>box->box(FL_UP_BOX)</tt> sets the type of box the
|
||||
Fl_Box draws, changing it from the default of <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>You could examine the boxtype in by doing
|
||||
<tt>box->box()</tt>. Fltk uses method name overloading to make
|
||||
short names for get/set methods. A "set" method is always of the form
|
||||
"void name(type)", and a "get" method is always of the form
|
||||
"type name() const".
|
||||
<p>Almost all of these set/get pairs are very fast and short inline
|
||||
functions and thus very efficient. However, <i>the "set" methods do
|
||||
not call redraw()</i>, you have to call it yourself. This greatly
|
||||
reduces code size and execution time. The only common exception is
|
||||
<tt>value()</tt>, this does redraw() if necessary.
|
||||
<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.html#Fl_Widget.labelfont>
|
||||
|
@ -149,7 +149,8 @@ already on the screen remains. The <TT>FL_..._FRAME</TT> types only
|
||||
draw their edges, leaving the interior unchanged. In the above diagram
|
||||
the blue color is the area that is not drawn by the box. </P>
|
||||
<H3>Making your own Boxtypes</H3>
|
||||
You can define your own boxtypes by making a small function that draws
|
||||
<i>Warning: this interface may change in future versions of fltk!</i>
|
||||
<p>You can define your own boxtypes by making a small function that draws
|
||||
the box and adding it to the table of boxtypes.
|
||||
<H4>The Drawing Function</H4>
|
||||
The drawing function is passed the bounding box and background color
|
||||
@ -228,7 +229,8 @@ raised </LI>
|
||||
<TT>Fl_Bitmap</TT></A> or <A href=drawing.html#Fl_Pixmap><TT>Fl_Pixmap</TT>
|
||||
</A> objects.
|
||||
<H4>Making Your Own Label Types</H4>
|
||||
Label types are actually indexes into a table of functions that draw
|
||||
<i>Warning: this interface may change in future versions of fltk!</i>
|
||||
<p>Label types are actually indexes into a table of functions that draw
|
||||
them. The primary purpose of this is to let you reuse the <TT>label()</TT>
|
||||
pointer as a pointer to arbitrary data such as a bitmap or pixmap. You
|
||||
can also use this to draw the labels in ways inaccessible through the <TT>
|
||||
|
@ -18,9 +18,7 @@ identified by an 8-bit index that is stored in the widget's <TT>box()</TT>
|
||||
<LI>You can call <A href=Fl_Window.html#Fl_Window.make_current><TT>
|
||||
Fl_Window::make_current()</TT></A> to do incremental update of a
|
||||
widget. Use <A href=Fl_Widget.html#Fl_Widget.window><TT>
|
||||
Fl_Widget::window()</TT></A> to find the window. <I>Under X this only
|
||||
works for the base <TT>Fl_Window</TT> class, not for double buffered,
|
||||
overlay, or OpenGL windows!</I></LI>
|
||||
Fl_Widget::window()</TT></A> to find the window.</LI>
|
||||
</UL>
|
||||
<H2>FLTK Drawing Functions</H2>
|
||||
To use the drawing functions you must first include the <TT>
|
||||
@ -33,7 +31,6 @@ drawing functions:
|
||||
<LI><A href=#complex>Complex Shapes</A></LI>
|
||||
<LI><A href=#text>Text</A></LI>
|
||||
<LI><A href=#images>Images</A></LI>
|
||||
<LI><A href=#cursor>Cursor</A></LI>
|
||||
<LI><A href=#overlay>Overlay</A></LI>
|
||||
</UL>
|
||||
<H3><A name=clipping>Clipping</A></H3>
|
||||
@ -72,7 +69,7 @@ is completely outside the region.
|
||||
is <I>not</I> the X or WIN32 pixel, it is an index into an internal
|
||||
table! The table provides several general colors, a 24-entry gray
|
||||
ramp, and a 5x8x5 color cube. All of these are named with
|
||||
symbols in <A href=enumerations.html#enumerations>
|
||||
symbols in <A href=enumerations.html#colors>
|
||||
<TT><FL/Enumerations.H></TT></A>.
|
||||
<P>For colormapped displays, a color cell will be allocated out of <TT>
|
||||
fl_colormap</TT> the first time you use a color. If the colormap fills
|
||||
@ -144,9 +141,9 @@ w - 1</TT> and <TT>h - 1</TT>. </P>
|
||||
transformations. The functionality matches that found in Adobe®
|
||||
PostScript<SUP>TM</SUP>. The exact pixels that are filled is less defined
|
||||
than for the previous calls so that FLTK can take advantage of drawing
|
||||
hardware. The transformed vertices are rounded to integers before
|
||||
drawing the line segments. This severely limits the accuracy of these
|
||||
functions for complex graphics. Use OpenGL when greater accuracy
|
||||
hardware. On both X and WIN32 the transformed vertices are rounded to integers before
|
||||
drawing the line segments: this severely limits the accuracy of these
|
||||
functions for complex graphics, so use OpenGL when greater accuracy
|
||||
and/or performance is required.
|
||||
<H4>void fl_push_matrix()
|
||||
<BR> void fl_pop_matrix()</H4>
|
||||
@ -249,9 +246,8 @@ value points at a static buffer that is overwritten with each call.
|
||||
above. You may call this outside a draw context if necessary to call <TT>
|
||||
fl_width()</TT>, but on X this will open the display.
|
||||
<P>The font is identified by a <TT>face</TT> and a <TT>size</TT>. The
|
||||
size of the font is measured in <TT>pixels</TT> (i.e. it is not
|
||||
"resolution [in]dependent"). Lines should be spaced <TT>size</TT>
|
||||
pixels apart (or more). </P>
|
||||
size of the font is measured in <TT>pixels</TT> (not "points"). Lines
|
||||
should be spaced <TT>size</TT> pixels apart (or more). </P>
|
||||
<P>The <TT>face</TT> is an index into an internal table. Initially
|
||||
only the first 16 faces are filled in. There are symbolic names for
|
||||
them: <TT>FL_HELVETICA</TT>, <TT>FL_TIMES</TT>, <TT>FL_COURIER</TT>,
|
||||
@ -263,33 +259,6 @@ since it stores the index as a byte. </P>
|
||||
<BR> int fl_size()</H4>
|
||||
Returns the face and size set by the most recent call to <TT>
|
||||
fl_font(a,b)</TT>. This can be used to save/restore the font.
|
||||
<H3><A name=cursor>Cursor</A></H3>
|
||||
<H4>void fl_cursor(Fl_Cursor, Fl_Color = FL_WHITE, Fl_Color = FL_BLACK)</H4>
|
||||
Change the cursor. Depending on the system this may affect the cursor
|
||||
everywhere, or only when it is pointing at the window that is current
|
||||
when you call this. For portability you should change the cursor back
|
||||
to the default in response to <TT>FL_LEAVE</TT> events.
|
||||
<P>The type <TT>Fl_Cursor</TT> is an enumeration defined in <A href=enumerations.html#enumerations>
|
||||
<TT><Enumerations.H></TT></A>. The double-headed arrows are bitmaps
|
||||
provided by FLTK on X, the others are provided by system-defined
|
||||
cursors. Under X you can get any XC_cursor value by passing <TT>
|
||||
Fl_Cursor((XC_foo/2)+1)</TT>. </P>
|
||||
<P>The following standard cursors are available: </P>
|
||||
<UL>
|
||||
<LI><TT>FL_CURSOR_DEFAULT</TT> - the default cursor, usually an arrow </LI>
|
||||
<LI><TT>FL_CURSOR_ARROW</TT> - an arrow pointer </LI>
|
||||
<LI><TT>FL_CURSOR_CROSS</TT> - crosshair </LI>
|
||||
<LI><TT>FL_CURSOR_WAIT</TT> - watch or hourglass </LI>
|
||||
<LI><TT>FL_CURSOR_INSERT</TT> - I-beam </LI>
|
||||
<LI><TT>FL_CURSOR_HAND</TT> - hand (uparrow on MSWindows) </LI>
|
||||
<LI><TT>FL_CURSOR_HELP</TT> - question mark </LI>
|
||||
<LI><TT>FL_CURSOR_MOVE</TT> - 4-pointed arrow </LI>
|
||||
<LI><TT>FL_CURSOR_NS</TT> - up/down arrow </LI>
|
||||
<LI><TT>FL_CURSOR_WE</TT> - left/right arrow </LI>
|
||||
<LI><TT>FL_CURSOR_NWSE</TT> - diagonal arrow </LI>
|
||||
<LI><TT>FL_CURSOR_NESW</TT> - diagonal arrow </LI>
|
||||
<LI><TT>FL_CURSOR_NONE</TT> - invisible </LI>
|
||||
</UL>
|
||||
<H3><A name=overlay>Overlays</A></H3>
|
||||
<H4>void fl_overlay_rect(int x, int y, int w, int h)
|
||||
<BR> void fl_overlay_clear()</H4>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<HTML><BODY>
|
||||
<H1 ALIGN=RIGHT><A NAME=enumerations>C - FLTK Enumerations</A></H1>
|
||||
<H1 ALIGN=RIGHT><A NAME=Enumerations>C - FLTK Enumerations</A></H1>
|
||||
This appendix lists the enumerations provided in the <TT>
|
||||
<FL/Enumerations.H></TT> header file, organized by section.
|
||||
Constants whose value is zero are marked with "(0)", this is often
|
||||
@ -14,7 +14,7 @@ constants:
|
||||
<LI><TT>FL_VERSION</TT> - A combined floating-point version number for
|
||||
the major and minor release numbers, currently 1.0. </LI>
|
||||
</UL>
|
||||
<H2>Events</H2>
|
||||
<H2><a name=events>Events</H2>
|
||||
Events are identified by an <TT>Fl_Event</TT> enumeration value. The
|
||||
following events are currently defined:
|
||||
<UL>
|
||||
@ -42,7 +42,7 @@ understand) occurred (0).</LI>
|
||||
<LI><TT>FL_SELECTIONCLEAR</TT> - The widget should clear any selections
|
||||
made for the clipboard. </LI>
|
||||
</UL>
|
||||
<H2>Callback "When" Conditions</H2>
|
||||
<H2><a name=when>Callback "When" Conditions</H2>
|
||||
The following constants determine when a callback is performed:
|
||||
<UL>
|
||||
<LI><TT>FL_WHEN_NEVER</TT> - Never call the callback (0). </LI>
|
||||
@ -114,7 +114,7 @@ FL_KEYBOARD</TT> and <TT>FL_SHORTCUT</TT> events:
|
||||
<LI><TT>FL_BUTTON2</TT> - Mouse button 2 is pushed. </LI>
|
||||
<LI><TT>FL_BUTTON3</TT> - Mouse button 3 is pushed. </LI>
|
||||
</UL>
|
||||
<H2>Alignment Values</H2>
|
||||
<H2><a name=align>Alignment Values</H2>
|
||||
The following constants define bits that can be used with <A href=Fl_Widget.html#Fl_Widget.align>
|
||||
<TT>Fl_Widget::align()</TT></A> to control the positioning of the
|
||||
label:
|
||||
@ -138,7 +138,7 @@ label:
|
||||
label inside the widget. </LI>
|
||||
|
||||
</UL>
|
||||
<H2>Fonts</H2>
|
||||
<H2><a name=fonts>Fonts</H2>
|
||||
The following constants define the standard FLTK fonts:
|
||||
<ul>
|
||||
<LI><TT>FL_HELVETICA</TT> - Helvetica (or Arial) normal (0). </LI>
|
||||
@ -160,7 +160,7 @@ bold-oblique. </LI>
|
||||
<LI><TT>FL_ZAPF_DINGBATS</TT> - Zapf-dingbats font.
|
||||
</ul>
|
||||
|
||||
<H2>Colors</H2>
|
||||
<H2><a name=colors>Colors</H2>
|
||||
The following color constants can be used to access the colors in the
|
||||
FLTK standard color palette:
|
||||
<UL>
|
||||
@ -196,9 +196,12 @@ To get the closest color to a 8-bit set of R,G,B values use
|
||||
<tt>fl_color_cube(R*FL_NUM_RED/256, G*FL_NUM_GREEN/256,
|
||||
B*FL_NUM_BLUE/256);</tt>
|
||||
|
||||
<H2>Cursors</H2>
|
||||
The following constants define the mouse cursors that are available in
|
||||
FLTK:
|
||||
<H2><a name=cursor>Cursors</H2>
|
||||
|
||||
The following constants define the mouse cursors that are available in
|
||||
FLTK. The double-headed arrows are bitmaps
|
||||
provided by FLTK on X, the others are provided by system-defined
|
||||
cursors.</P>
|
||||
<UL>
|
||||
<LI><TT>FL_CURSOR_DEFAULT</TT> - the default cursor, usually an arrow (0)</LI>
|
||||
<LI><TT>FL_CURSOR_ARROW</TT> - an arrow pointer </LI>
|
||||
@ -223,7 +226,7 @@ FLTK:
|
||||
<LI><TT>FL_EXCEPT</TT> - Call the callback if an exception occurs on
|
||||
the file. </LI>
|
||||
</UL>
|
||||
<H2>Damage Masks</H2>
|
||||
<H2><a name=damage>Damage Masks</H2>
|
||||
The following damage mask bits are used by the standard FLTK widgets:
|
||||
<UL>
|
||||
<LI><TT>FL_DAMAGE_CHILD</TT> - A child needs to be redrawn. </LI>
|
||||
|
@ -189,6 +189,7 @@ calls <TT>XK_Multi_key</TT>.
|
||||
<th>Keys</th><th>Char</th>
|
||||
<th>Keys</th><th>Char</th>
|
||||
<th>Keys</th><th>Char</th>
|
||||
<th>Keys</th><th>Char</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><TT>sp</TT></td><td>nbsp</td>
|
||||
|
@ -174,36 +174,36 @@ FLTK provides some useful OpenGL drawing functions. They can be
|
||||
freely mixed with any OpenGL calls, and are defined by including <TT>
|
||||
<FL/gl.H></TT> (which you should include instead of the OpenGL header <TT>
|
||||
<GL/gl.h></TT>).
|
||||
<H3>void gl_color(Fl_Color)</H3>
|
||||
<H4>void gl_color(Fl_Color)</H4>
|
||||
Set the current color to a FLTK color. <I>For color-index modes
|
||||
it will use <TT>fl_xpixel(c)</TT>, which is only right if this window
|
||||
uses the default colormap!</I>
|
||||
<H3>void gl_rect(int x, int y, int w, int h)
|
||||
<BR> void gl_rectf(int x, int y, int w, int h)</H3>
|
||||
<H4>void gl_rect(int x, int y, int w, int h)
|
||||
<BR> void gl_rectf(int x, int y, int w, int h)</H4>
|
||||
Outline or fill a rectangle with the current color. If
|
||||
<A HREF="Fl_Gl_Window.html#Fl_Gl_Window.ortho"><TT>Fl_Gl_Window::ortho()</TT></A>
|
||||
has been called, then the rectangle will exactly fill the pixel
|
||||
rectangle passed.
|
||||
<H3>void gl_font(Fl_Font fontid, int size)</H3>
|
||||
<H4>void gl_font(Fl_Font fontid, int size)</H4>
|
||||
Set the current OpenGL font to the same font you get by calling <A href=drawing.html#fl_font>
|
||||
<TT>fl_font()</TT></A>.
|
||||
<H3>int gl_height()
|
||||
<H4>int gl_height()
|
||||
<BR> int gl_descent()
|
||||
<BR> float gl_width(const char *)
|
||||
<BR> float gl_width(const char *, int n)
|
||||
<BR> float gl_width(uchar)</H3>
|
||||
<BR> float gl_width(uchar)</H4>
|
||||
Return information about the current OpenGL font.
|
||||
<H3>void gl_draw(const char *)
|
||||
<BR> void gl_draw(const char *, int n)</H3>
|
||||
<H4>void gl_draw(const char *)
|
||||
<BR> void gl_draw(const char *, int n)</H4>
|
||||
Draw a nul-terminated string or an array of <TT>n</TT> characters in
|
||||
the current OpenGL font at the current raster position.
|
||||
<H3>void gl_draw(const char *, int x, int y)
|
||||
<H4>void gl_draw(const char *, int x, int y)
|
||||
<BR> void gl_draw(const char *, int n, int x, int y)
|
||||
<BR> void gl_draw(const char *, float x, float y)
|
||||
<BR> void gl_draw(const char *, int n, float x, float y)</H3>
|
||||
<BR> void gl_draw(const char *, int n, float x, float y)</H4>
|
||||
Draw a nul-terminated string or an array of <TT>n</TT> characters in
|
||||
the current OpenGL font at the given position.
|
||||
<H3>void gl_draw(const char *, int x, int y, int w, int h, Fl_Align)</H3>
|
||||
<H4>void gl_draw(const char *, int x, int y, int w, int h, Fl_Align)</H4>
|
||||
Draw a string formatted into a box, with newlines and tabs expanded,
|
||||
other control characters changed to ^X, and aligned with the edges or
|
||||
center. Exactly the same output as <A href=#fl_draw><TT>fl_draw()</TT></A>
|
||||
@ -214,7 +214,7 @@ scene graph toolkit for OpenGL available from Silicon Graphics for IRIX
|
||||
and Microsoft Windows. Versions are in the works for Solaris and
|
||||
HP-UX. It allows you to view large scenes without writing a lot of
|
||||
OpenGL code.
|
||||
<H3>OptimizerWindow Class Definition</H3>
|
||||
<H4>OptimizerWindow Class Definition</H4>
|
||||
To use OpenGL Optimizer with FLTK you'll need to create a subclass of <TT>
|
||||
Fl_Gl_Widget</TT> that includes several state variables:
|
||||
<UL>
|
||||
@ -252,11 +252,11 @@ public:
|
||||
<PRE>
|
||||
|
||||
</PRE>
|
||||
<H3>The camera() Method</H3>
|
||||
<H4>The camera() Method</H4>
|
||||
The <TT>camera()</TT> method sets the camera (projection and
|
||||
viewpoint) to use when drawing the scene. The scene is redrawn after
|
||||
this call.
|
||||
<H3>The draw() Method</H3>
|
||||
<H4>The draw() Method</H4>
|
||||
The <TT>draw()</TT> method performs the needed initialization and does
|
||||
the actual drawing:
|
||||
<UL>
|
||||
@ -301,7 +301,7 @@ void OptimizerWindow::draw() {
|
||||
}
|
||||
</PRE>
|
||||
</UL>
|
||||
<H3>The scene() Method</H3>
|
||||
<H4>The scene() Method</H4>
|
||||
The <TT>scene()</TT> method sets the scene to be drawn. The scene is
|
||||
a collection of 3D objects in a <TT>csGroup</TT>. The scene is redrawn
|
||||
after this call. </BODY></HTML>
|
||||
|
@ -71,9 +71,9 @@ flags(ACTIVE|VISIBLE);
|
||||
<LI><A href=#test_shortcut><TT>Fl_Widget::test_shortcut</TT></A></LI>
|
||||
<LI><A href=#type><TT>Fl_Widget::type</TT></A></LI>
|
||||
</UL>
|
||||
<H3><A name=damage>void Fl_Widget::damage(uchar mask)
|
||||
<H4><A name=damage>void Fl_Widget::damage(uchar mask)
|
||||
<BR> void Fl_Widget::damage(uchar mask, int x, int y, int w, int h)
|
||||
<BR> uchar Fl_Widget::damage()</A></H3>
|
||||
<BR> uchar Fl_Widget::damage()</A></H4>
|
||||
The first form indicates that a partial update of the object is
|
||||
needed. The bits in mask are OR'd into <TT>damage()</TT>. Your <TT>
|
||||
draw()</TT> routine can examine these bits to limit what it is
|
||||
@ -109,15 +109,15 @@ MyClass::draw() {
|
||||
if (damage() & (FL_DAMAGE_ALL | 4)) draw_part3();
|
||||
}
|
||||
</PRE></UL>
|
||||
<H3><A name=draw_box>void Fl_Widget::draw_box() const
|
||||
<BR></A>void Fl_Widget::draw_box(Fl_Boxtype b, ulong c) const</H3>
|
||||
<H4><A name=draw_box>void Fl_Widget::draw_box() const
|
||||
<BR></A>void Fl_Widget::draw_box(Fl_Boxtype b, ulong c) const</H4>
|
||||
The first form draws this widget's <TT>box()</TT>, using the
|
||||
dimensions of the widget. The second form uses <TT>b</TT> as the box
|
||||
type and <TT>c</TT> as the color for the box.
|
||||
<H3><A name=draw_label>void Fl_Widget::draw_label() const
|
||||
<H4><A name=draw_label>void Fl_Widget::draw_label() const
|
||||
<BR> void Fl_Widget::draw_label(int x, int y, int w, int h) const
|
||||
<BR> void Fl_Widget::draw_label(int x, int y, int w, int h, Fl_Align
|
||||
align) const</A></H3>
|
||||
align) const</A></H4>
|
||||
This is the usual function for a <TT>draw()</TT> method to call to
|
||||
draw the widget's label. It does not draw the label if it is supposed
|
||||
to be outside the box (on the assumption that the enclosing group will
|
||||
@ -129,16 +129,16 @@ feature, like a moving slider. </P>
|
||||
FL_ALIGN_INSIDE</TT> has been forced on so the label will appear inside
|
||||
the passed bounding box. This is designed for parent groups to draw
|
||||
labels with. </P>
|
||||
<H3><A name=set_flag>void Fl_Widget::set_flag(SHORTCUT_LABEL)</A></H3>
|
||||
<H4><A name=set_flag>void Fl_Widget::set_flag(SHORTCUT_LABEL)</A></H4>
|
||||
Modifies <TT>draw_label()</TT> so that '&' characters cause an underscore
|
||||
to be printed under the next letter.
|
||||
<H3><A name=set_visible>void Fl_Widget::set_visible()</A>
|
||||
<BR><A name=clear_visible>void Fl_Widget::clear_visible()</A></H3>
|
||||
<H4><A name=set_visible>void Fl_Widget::set_visible()</A>
|
||||
<BR><A name=clear_visible>void Fl_Widget::clear_visible()</A></H4>
|
||||
Fast inline versions of <TT>Fl_Widget::hide()</TT> and <TT>
|
||||
Fl_Widget::show()</TT>. These do not send the <TT>FL_HIDE</TT> and <TT>
|
||||
FL_SHOW</TT> events to the widget.
|
||||
<H3><A name=test_shortcut>int Fl_Widget::test_shortcut() const
|
||||
<BR> static int Fl_Widget::test_shortcut(const char *s)</A></H3>
|
||||
<H4><A name=test_shortcut>int Fl_Widget::test_shortcut() const
|
||||
<BR> static int Fl_Widget::test_shortcut(const char *s)</A></H4>
|
||||
The first version tests <TT>Fl_Widget::label()</TT> against the
|
||||
current event (which should be a <TT>FL_SHORTCUT</TT> event). If the
|
||||
label contains a '&' character and the character after it matches the key
|
||||
@ -147,8 +147,8 @@ flag is off, if the label is <TT>NULL</TT> or does not have a
|
||||
'&' character in it, or if the keypress does not match the character.
|
||||
<P>The second version lets you do this test against an arbitrary
|
||||
string. </P>
|
||||
<H3><A name=type>uchar Fl_Widget::type() const
|
||||
<BR> void Fl_Widget::type(uchar t)</A></H3>
|
||||
<H4><A name=type>uchar Fl_Widget::type() const
|
||||
<BR> void Fl_Widget::type(uchar t)</A></H4>
|
||||
The property <TT>Fl_Widget::type()</TT> can return an arbitrary 8-bit
|
||||
identifier, and can be set with the protected method <TT>type(uchar t)</TT>
|
||||
. This value had to be provided for Forms compatibility, but you can
|
||||
@ -240,7 +240,7 @@ must be redrawn (e.g. for an expose event). </P>
|
||||
<P>Expose events (and the above <TT>damage(b,x,y,w,h)</TT>) will cause <TT>
|
||||
draw()</TT> to be called with FLTK's <A href=drawing.html#clipping>
|
||||
clipping</A> turned on. You can greatly speed up redrawing in some
|
||||
cases by testing <TT>fl_clipped</TT> and <TT>fl_current_clip</TT> and
|
||||
cases by testing <TT>fl_not_clipped(x,y,w,h)</TT> or <TT>fl_clip_box(...)</TT> and
|
||||
skipping invisible parts. </P>
|
||||
<P>Besides the protected methods described above, FLTK provides a large
|
||||
number of basic drawing functions, which are described <A href=drawing.html#drawing>
|
||||
@ -343,19 +343,19 @@ easier:
|
||||
<LI><A href=#draw_outside_label>draw_outside_label</A></LI>
|
||||
<LI><A href=#update_child>update_child</A></LI>
|
||||
</UL>
|
||||
<H3><A name=draw_child>void Fl_Group::draw_child(Fl_Widget&)</A></H3>
|
||||
<H4><A name=draw_child>void Fl_Group::draw_child(Fl_Widget&)</A></H4>
|
||||
This will force the child's <TT>damage()</TT> bits all to one and call <TT>
|
||||
draw()</TT> on it, then clear the <TT>damage()</TT>. You should call
|
||||
this on all children if a total redraw of your widget is requested, or
|
||||
if you draw something (like a background box) that damages the child.
|
||||
Nothing is done if the child is not <TT>visible()</TT> or if it is
|
||||
clipped.
|
||||
<H3><A name=draw_outside_label>void
|
||||
Fl_Group::draw_outside_label(Fl_Widget&) const</A></H3>
|
||||
<H4><A name=draw_outside_label>void
|
||||
Fl_Group::draw_outside_label(Fl_Widget&) const</A></H4>
|
||||
Draw the labels that are <I>not</I> drawn by <A href=#draw_label><TT>
|
||||
draw_label()</TT></A>. If you want more control over the label
|
||||
positions you might want to call <TT>child->draw_label(x,y,w,h,a)</TT>.
|
||||
<H3><A name=update_child>void Fl_Group::update_child(Fl_Widget&)</A></H3>
|
||||
<H4><A name=update_child>void Fl_Group::update_child(Fl_Widget&)</A></H4>
|
||||
Draws the child only if its <TT>damage()</TT> is non-zero. You
|
||||
should call this on all the children if your own damage is equal to
|
||||
FL_DAMAGE_CHILD. Nothing is done if the child is not <TT>visible()</TT>
|
||||
@ -377,7 +377,7 @@ can be useful if your widget wants to occupy an entire window, and can
|
||||
also be used to take advantage of system-provided clipping, or to work
|
||||
with a library that expects a system window ID to indicate where to
|
||||
draw.
|
||||
<P>Subclassing <TT>Fl_Window</TT> is almost exactly like subclassing <TT>
|
||||
<P>Subclassing <TT>Fl_Window </TT>is almost exactly like subclassing <TT>
|
||||
Fl_Widget</TT>, and in fact you can easily switch a subclass back and
|
||||
forth. Watch out for the following differences: </P>
|
||||
<OL>
|
||||
|
@ -76,6 +76,7 @@ see <A href=functions.html#functions>Appendix B</A>.
|
||||
|
||||
<UL>
|
||||
<LI><A HREF=Fl_End.html#Fl_End>Fl_End</A>
|
||||
<LI><A HREF=Fl_Menu_Item.html#Fl_Menu_Item>Fl_Menu_Item</A>
|
||||
<LI><A HREF=Fl_Widget.html#Fl_Widget>Fl_Widget</A>
|
||||
<UL>
|
||||
<LI><A HREF=Fl_Box.html#Fl_Box>Fl_Box</A>
|
||||
@ -98,10 +99,10 @@ see <A href=functions.html#functions>Appendix B</A>.
|
||||
</UL>
|
||||
<LI><A HREF=Fl_Chart.html#Fl_Chart>Fl_Chart</A>
|
||||
<LI><A HREF=Fl_Clock.html#Fl_Clock>Fl_Clock</A>
|
||||
<LI><A HREF=Fl_Color_Chooser.html#Fl_Color_Chooser>Fl_Color_Chooser</A>
|
||||
<LI><A HREF=Fl_Free.html#Fl_Free>Fl_Free</A>
|
||||
<LI><A HREF=Fl_Group.html#Fl_Group>Fl_Group</A>
|
||||
<UL>
|
||||
<LI><A HREF=Fl_Color_Chooser.html#Fl_Color_Chooser>Fl_Color_Chooser</A>
|
||||
<LI><A HREF=Fl_Pack.html#Fl_Pack>Fl_Pack</A>
|
||||
<LI><A HREF=Fl_Scroll.html#Fl_Scroll>Fl_Scroll</A>
|
||||
<LI><A HREF=Fl_Tabs.html#Fl_Tabs>Fl_Tabs</A>
|
||||
@ -135,7 +136,6 @@ see <A href=functions.html#functions>Appendix B</A>.
|
||||
<LI><A HREF=Fl_Menu_Bar.html#Fl_Menu_Bar>Fl_Menu_Bar</A>
|
||||
<LI><A HREF=Fl_Menu_Button.html#Fl_Menu_Button>Fl_Menu_Button</A>
|
||||
</UL>
|
||||
<LI><A HREF=Fl_Menu_Item.html#Fl_Menu_Item>Fl_Menu_Item</A>
|
||||
<LI><A HREF=Fl_Positioner.html#Fl_Positioner>Fl_Positioner</A>
|
||||
<LI><A HREF=Fl_Timer.html#Fl_Timer>Fl_Timer</A>
|
||||
<LI><A HREF=Fl_Valuator.html#Fl_Valuator>Fl_Valuator</A>
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: Makefile,v 1.7 1999/01/07 18:49:36 mike Exp $"
|
||||
# "$Id: Makefile,v 1.8 1999/01/31 07:43:14 bill Exp $"
|
||||
#
|
||||
# Fluid makefile for the Fast Light Tool Kit (FLTK).
|
||||
#
|
||||
@ -52,18 +52,14 @@ include ../makeinclude
|
||||
.SUFFIXES : .cxx .c .o
|
||||
|
||||
.cxx.o :
|
||||
@echo $<:
|
||||
@$(CXX) -I.. $(CXXFLAGS) -c $<
|
||||
$(CXX) -I.. $(CXXFLAGS) -c $<
|
||||
.c.o :
|
||||
@echo $<:
|
||||
@$(CC) -I.. $(CFLAGS) -c $<
|
||||
$(CC) -I.. $(CFLAGS) -c $<
|
||||
.cxx :
|
||||
@echo $@:
|
||||
@$(CXX) -I.. $(CXXFLAGS) -o $@ $< -L../lib -lfltk $(LDLIBS)
|
||||
$(CXX) -I.. $(CXXFLAGS) -o $@ $< -L../lib -lfltk $(LDLIBS)
|
||||
|
||||
$(PROGRAM) : $(OBJECTS) ../lib/$(LIBNAME)
|
||||
@echo linking $@:
|
||||
@$(CXX) $(CXXFLAGS) -o $(PROGRAM) $(OBJECTS) -L../lib -lfltk $(LDLIBS)
|
||||
$(CXX) $(LDFLAGS) -o $(PROGRAM) $(OBJECTS) -L../lib -lfltk $(LDLIBS)
|
||||
|
||||
clean :
|
||||
-@ rm -f *.o $(PROGRAM) $(CLEAN) core *~ makedepend
|
||||
@ -94,5 +90,5 @@ rebuild:
|
||||
./fluid -c widget_panel.fl
|
||||
|
||||
#
|
||||
# End of "$Id: Makefile,v 1.7 1999/01/07 18:49:36 mike Exp $".
|
||||
# End of "$Id: Makefile,v 1.8 1999/01/31 07:43:14 bill Exp $".
|
||||
#
|
||||
|
15
src/Makefile
15
src/Makefile
@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: Makefile,v 1.9 1999/01/27 14:44:32 mike Exp $"
|
||||
# "$Id: Makefile,v 1.10 1999/01/31 07:43:15 bill Exp $"
|
||||
#
|
||||
# Library makefile for the Fast Light Tool Kit (FLTK).
|
||||
#
|
||||
@ -150,26 +150,23 @@ LIBRARY = ../lib/$(LIBNAME)
|
||||
OBJECTS = $(CPPFILES:.cxx=.o) $(CFILES:.c=.o)
|
||||
|
||||
$(LIBRARY) : $(OBJECTS)
|
||||
@echo Building $(LIBRARY)
|
||||
@echo $(LIBCOMMAND) $(LIBRARY) ...
|
||||
@$(LIBCOMMAND) $(LIBRARY) $(OBJECTS)
|
||||
@$(RANLIB) $(LIBRARY)
|
||||
|
||||
.SUFFIXES: .cxx .h .o
|
||||
|
||||
.cxx.o :
|
||||
@echo $<:
|
||||
@$(CXX) -I.. $(CXXFLAGS) -c $<
|
||||
$(CXX) -I.. $(CXXFLAGS) -c $<
|
||||
.c.o :
|
||||
@echo $<:
|
||||
@$(CC) -I.. $(CFLAGS) -c -o $@ $<
|
||||
$(CC) -I.. $(CFLAGS) -c -o $@ $<
|
||||
|
||||
clean :
|
||||
-@ rm -f *.o *.do $(LIBRARY) $(CLEAN) core *~ ../include/*~ makedepend cmap
|
||||
@touch makedepend
|
||||
|
||||
depend:
|
||||
@echo Making makedepend
|
||||
@$(MAKEDEPEND) -I.. $(CXXFLAGS) $(CPPFILES) $(CFILES) > makedepend
|
||||
$(MAKEDEPEND) -I.. $(CXXFLAGS) $(CPPFILES) $(CFILES) > makedepend
|
||||
include makedepend
|
||||
|
||||
################################################################
|
||||
@ -185,5 +182,5 @@ install: ../lib/$(LIBNAME)
|
||||
-ln -s FL $(includedir)/Fl
|
||||
|
||||
#
|
||||
# End of "$Id: Makefile,v 1.9 1999/01/27 14:44:32 mike Exp $".
|
||||
# End of "$Id: Makefile,v 1.10 1999/01/31 07:43:15 bill Exp $".
|
||||
#
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: Makefile,v 1.15 1999/01/07 19:17:48 mike Exp $"
|
||||
# "$Id: Makefile,v 1.16 1999/01/31 07:43:16 bill Exp $"
|
||||
#
|
||||
# Test/example program makefile for the Fast Light Tool Kit (FLTK).
|
||||
#
|
||||
@ -52,34 +52,27 @@ $(ALL): ../lib/$(LIBNAME)
|
||||
.SUFFIXES: .cxx .c .o .fl .H
|
||||
|
||||
.cxx:
|
||||
@echo $@:
|
||||
@$(CXX) -I.. $(CXXFLAGS) $< -L../lib -lfltk $(LDLIBS) -o $@
|
||||
$(CXX) -I.. $(CXXFLAGS) $< -L../lib -lfltk $(LDLIBS) -o $@
|
||||
|
||||
.fl.cxx:
|
||||
@echo $@:
|
||||
@../fluid/fluid -c $<
|
||||
../fluid/fluid -c $<
|
||||
|
||||
.fl:
|
||||
@echo $@:
|
||||
@../fluid/fluid -c $<
|
||||
@$(CXX) -I.. $(CXXFLAGS) $@.cxx -L../lib -lfltk $(LDLIBS) -o $@
|
||||
../fluid/fluid -c $<
|
||||
$(CXX) -I.. $(CXXFLAGS) $@.cxx -L../lib -lfltk $(LDLIBS) -o $@
|
||||
|
||||
# Other programs needing special "help"...
|
||||
shiny: shiny.cxx shiny_panel.cxx
|
||||
@echo $@:
|
||||
@$(CXX) -I.. $(CXXFLAGS) shiny.cxx -L../lib -lfltk $(LDLIBS) -o $@
|
||||
$(CXX) -I.. $(CXXFLAGS) shiny.cxx -L../lib -lfltk $(LDLIBS) -o $@
|
||||
keyboard: keyboard.cxx keyboard_ui.cxx
|
||||
@echo $@:
|
||||
@$(CXX) -I.. $(CXXFLAGS) keyboard.cxx -L../lib -lfltk $(LDLIBS) -o $@
|
||||
$(CXX) -I.. $(CXXFLAGS) keyboard.cxx -L../lib -lfltk $(LDLIBS) -o $@
|
||||
mandelbrot: mandelbrot.cxx mandelbrot_ui.cxx
|
||||
@echo $@:
|
||||
@$(CXX) -I.. $(CXXFLAGS) mandelbrot.cxx -L../lib -lfltk $(LDLIBS) -o $@
|
||||
$(CXX) -I.. $(CXXFLAGS) mandelbrot.cxx -L../lib -lfltk $(LDLIBS) -o $@
|
||||
|
||||
# If you have libjpeg installed, you might want to try this test program:
|
||||
|
||||
jpeg_image: jpeg_image.cxx
|
||||
@echo $@:
|
||||
@$(CXX) -I.. $(CXXFLAGS) -I../../../local/jpeg-6b -L../../../local/jpeg-6b jpeg_image.cxx -L../lib -lfltk $(LDLIBS) -ljpeg -lXext -o $@
|
||||
$(CXX) -I.. $(CXXFLAGS) -I../../../local/jpeg-6b -L../../../local/jpeg-6b jpeg_image.cxx -L../lib -lfltk $(LDLIBS) -ljpeg -lXext -o $@
|
||||
|
||||
depend:
|
||||
$(MAKEDEPEND) -I.. $(CXXFLAGS) $(CPPFILES) > makedepend
|
||||
@ -91,5 +84,5 @@ install:
|
||||
@echo Nothing to install in test directory.
|
||||
|
||||
#
|
||||
# End of "$Id: Makefile,v 1.15 1999/01/07 19:17:48 mike Exp $".
|
||||
# End of "$Id: Makefile,v 1.16 1999/01/31 07:43:16 bill Exp $".
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user