proof of concept use of \section, \subsection, \par in drawing.dox
experiment replacing html H2 H3 H4 tags in Boxes and Clipping sections with \section, \subsection, functionname and \par for indentation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6398 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
32d164ccdf
commit
9ab5e8b528
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
This chapter covers the drawing functions that are provided with FLTK.
|
This chapter covers the drawing functions that are provided with FLTK.
|
||||||
|
|
||||||
<H2>When Can You Draw Things in FLTK?</H2>
|
\section sect_WhenCanYouDraw When Can You Draw Things in FLTK?
|
||||||
|
|
||||||
There are only certain places you can execute drawing code in FLTK.
|
There are only certain places you can execute drawing code in FLTK.
|
||||||
Calling these functions at other places will result in undefined behavior!
|
Calling these functions at other places will result in undefined behavior!
|
||||||
@ -29,13 +29,13 @@ Calling these functions at other places will result in undefined behavior!
|
|||||||
widget. Use Fl_Widget::window() to find the window.
|
widget. Use Fl_Widget::window() to find the window.
|
||||||
|
|
||||||
|
|
||||||
<H2>FLTK Drawing Functions</H2>
|
\section sect_DrawingFunctions Drawing Functions
|
||||||
|
|
||||||
To use the drawing functions you must first include the <FL/fl_draw.H>
|
To use the drawing functions you must first include the <FL/fl_draw.H>
|
||||||
header file. FLTK provides the following types of drawing functions:
|
header file. FLTK provides the following types of drawing functions:
|
||||||
|
|
||||||
\li <A href="#boxdraw">Boxes</A>
|
\li \ref ssect_Boxes
|
||||||
\li <A href="#clipping">Clipping</A>
|
\li \ref ssect_Clipping
|
||||||
\li <A href="#colors">Colors</A>
|
\li <A href="#colors">Colors</A>
|
||||||
\li <A href="#lines">Line dashes and thickness</A>
|
\li <A href="#lines">Line dashes and thickness</A>
|
||||||
\li <A href="#fast">Fast Shapes</A>
|
\li <A href="#fast">Fast Shapes</A>
|
||||||
@ -45,52 +45,55 @@ header file. FLTK provides the following types of drawing functions:
|
|||||||
\li <A href="#overlay">Overlay</A>
|
\li <A href="#overlay">Overlay</A>
|
||||||
\li <A href="#offscreen">Offscreen Drawing</A>
|
\li <A href="#offscreen">Offscreen Drawing</A>
|
||||||
|
|
||||||
<H3><A name="boxdraw">Boxes</A></H3>
|
<A name="boxdraw"></A> <!-- For old HTML links only ! -->
|
||||||
|
\subsection ssect_Boxes Boxes
|
||||||
|
|
||||||
FLTK provides three functions that can be used to draw boxes for buttons
|
FLTK provides three functions that can be used to draw boxes for buttons
|
||||||
and other UI controls. Each function uses the supplied upper-lefthand corner
|
and other UI controls. Each function uses the supplied upper-lefthand corner
|
||||||
and width and height to determine where to draw the box.
|
and width and height to determine where to draw the box.
|
||||||
|
|
||||||
<H4><A NAME="fl_draw_box">
|
<A NAME="fl_draw_box"> </A> <!-- For old HTML links only ! -->
|
||||||
void fl_draw_box(Fl_Boxtype b, int x, int y, int w, int h, Fl_Color c);
|
void fl_draw_box(Fl_Boxtype b, int x, int y, int w, int h, Fl_Color c);
|
||||||
</A></H4>
|
|
||||||
|
|
||||||
The first box drawing function is <tt>fl_draw_box()</tt>
|
\par
|
||||||
|
The first box drawing function is fl_draw_box()
|
||||||
which draws a standard boxtype \a b in the specified color \a c .
|
which draws a standard boxtype \a b in the specified color \a c .
|
||||||
|
|
||||||
<H4><A NAME="fl_frame">
|
<A NAME="fl_frame"></A> <!-- For old HTML links only ! -->
|
||||||
void fl_frame(const char *s, int x, int y, int w, int h);
|
void fl_frame(const char *s, int x, int y, int w, int h)
|
||||||
</A></H4>
|
|
||||||
|
|
||||||
The <tt>fl_frame()</tt> function draws a series of line segments around the
|
\par
|
||||||
|
The fl_frame() function draws a series of line segments around the
|
||||||
given box. The string \a s must contain groups of 4 letters which specify
|
given box. The string \a s must contain groups of 4 letters which specify
|
||||||
one of 24 standard grayscale values, where 'A' is black and 'X' is white.
|
one of 24 standard grayscale values, where 'A' is black and 'X' is white.
|
||||||
The order of each set of 4 characters is: top, left, bottom, right. The
|
The order of each set of 4 characters is: top, left, bottom, right. The
|
||||||
results of calling <tt>fl_frame()</tt> with a string that is not a multiple
|
results of calling fl_frame() with a string that is not a multiple
|
||||||
of 4 characters in length are undefined.
|
of 4 characters in length are undefined.
|
||||||
|
|
||||||
The only difference between this function and <tt>fl_frame2()</tt> is the
|
\par
|
||||||
|
The only difference between this function and fl_frame2() is the
|
||||||
order of the line segments.
|
order of the line segments.
|
||||||
|
|
||||||
|
\par
|
||||||
See also: <A HREF="common.html#fl_frame">fl_frame boxtype</A>.
|
See also: <A HREF="common.html#fl_frame">fl_frame boxtype</A>.
|
||||||
|
|
||||||
<H4><A NAME="fl_frame2">
|
<A NAME="fl_frame2"></A> <!-- For old HTML links only ! -->
|
||||||
void fl_frame2(const char *s, int x, int y, int w, int h);
|
void fl_frame2(const char *s, int x, int y, int w, int h);
|
||||||
</A></H4>
|
|
||||||
|
|
||||||
The <tt>fl_frame2()</tt> function draws a series of line segments around
|
\par
|
||||||
|
The fl_frame2() function draws a series of line segments around
|
||||||
the given box. The string \a s must contain groups of 4 letters which
|
the given box. The string \a s must contain groups of 4 letters which
|
||||||
specify one of 24 standard grayscale values, where 'A' is black and 'X' is
|
specify one of 24 standard grayscale values, where 'A' is black and 'X' is
|
||||||
white. The order of each set of 4 characters is: bottom, right, top, left.
|
white. The order of each set of 4 characters is: bottom, right, top, left.
|
||||||
The results of calling <tt>fl_frame2()</tt> with a string that is
|
The results of calling fl_frame2() with a string that is
|
||||||
not a multiple of 4 characters in length are undefined.
|
not a multiple of 4 characters in length are undefined.
|
||||||
|
|
||||||
The only difference between this function and <tt>fl_frame()</tt>
|
\par
|
||||||
|
The only difference between this function and fl_frame()
|
||||||
is the order of the line segments.
|
is the order of the line segments.
|
||||||
|
|
||||||
<H3><A name="clipping">
|
<A name="clipping"></A> <!-- For old HTML links only ! -->
|
||||||
Clipping
|
\subsection ssect_Clipping Clipping
|
||||||
</A></H3>
|
|
||||||
|
|
||||||
You can limit all your drawing to a rectangular region by calling
|
You can limit all your drawing to a rectangular region by calling
|
||||||
fl_push_clip(), and put the drawings back by using fl_pop_clip().
|
fl_push_clip(), and put the drawings back by using fl_pop_clip().
|
||||||
@ -100,49 +103,50 @@ transformation matrix.
|
|||||||
In addition, the system may provide clipping when updating windows
|
In addition, the system may provide clipping when updating windows
|
||||||
which may be more complex than a simple rectangle.
|
which may be more complex than a simple rectangle.
|
||||||
|
|
||||||
<H4><A name="fl_push_clip">
|
<A name="fl_push_clip"></A> <!-- For old HTML links only ! -->
|
||||||
void fl_clip(int x, int y, int w, int h)
|
void fl_clip(int x, int y, int w, int h)
|
||||||
</A></H4>
|
|
||||||
<H4>
|
|
||||||
void fl_push_clip(int x, int y, int w, int h)
|
|
||||||
</H4>
|
|
||||||
|
|
||||||
|
void fl_push_clip(int x, int y, int w, int h)
|
||||||
|
|
||||||
|
\par
|
||||||
Intersect the current clip region with a rectangle and push this new
|
Intersect the current clip region with a rectangle and push this new
|
||||||
region onto the stack. The <tt>fl_clip()</tt> name is deprecated and
|
region onto the stack. The fl_clip() name is deprecated and
|
||||||
will be removed from future releases.
|
will be removed from future releases.
|
||||||
|
|
||||||
<H4><A NAME="fl_push_no_clip">
|
<A NAME="fl_push_no_clip"></A> <!-- For old HTML links only ! -->
|
||||||
void fl_push_no_clip()
|
void fl_push_no_clip()
|
||||||
</A></H4>
|
|
||||||
|
|
||||||
|
\par
|
||||||
Pushes an empty clip region on the stack so nothing will be clipped.
|
Pushes an empty clip region on the stack so nothing will be clipped.
|
||||||
|
|
||||||
<H4><A NAME="fl_pop_clip">
|
<A NAME="fl_pop_clip"></A> <!-- For old HTML links only ! -->
|
||||||
void fl_pop_clip()
|
void fl_pop_clip()
|
||||||
</A></H4>
|
|
||||||
|
|
||||||
|
\par
|
||||||
Restore the previous clip region.
|
Restore the previous clip region.
|
||||||
|
|
||||||
\note
|
\par
|
||||||
|
\b Note:
|
||||||
You must call fl_pop_clip() once for every time you call fl_push_clip().
|
You must call fl_pop_clip() once for every time you call fl_push_clip().
|
||||||
If you return to FLTK with the clip stack not empty unpredictable results
|
If you return to FLTK with the clip stack not empty unpredictable results
|
||||||
occur.
|
occur.
|
||||||
|
|
||||||
<H4><A NAME="fl_not_clipped">
|
<A NAME="fl_not_clipped"></A> <!-- For old HTML links only ! -->
|
||||||
int fl_not_clipped(int x, int y, int w, int h)
|
int fl_not_clipped(int x, int y, int w, int h)
|
||||||
</A></H4>
|
|
||||||
|
|
||||||
|
\par
|
||||||
Returns non-zero if any of the rectangle intersects the current clip
|
Returns non-zero if any of the rectangle intersects the current clip
|
||||||
region. If this returns 0 you don't have to draw the object.
|
region. If this returns 0 you don't have to draw the object.
|
||||||
|
|
||||||
\note
|
\par
|
||||||
|
\b Note:
|
||||||
Under X this returns 2 if the rectangle is partially clipped,
|
Under X this returns 2 if the rectangle is partially clipped,
|
||||||
and 1 if it is entirely inside the clip region.
|
and 1 if it is entirely inside the clip region.
|
||||||
|
|
||||||
<H4><A NAME="fl_clip_box">
|
<A NAME="fl_clip_box"></A> <!-- For old HTML links only ! -->
|
||||||
int fl_clip_box(int x, int y, int w, int h, int &X, int &Y, int &W, int &H)
|
int fl_clip_box(int x, int y, int w, int h, int &X, int &Y, int &W, int &H)
|
||||||
</A></H4>
|
|
||||||
|
|
||||||
|
\par
|
||||||
Intersect the rectangle <tt>x,y,w,h</tt> with the current
|
Intersect the rectangle <tt>x,y,w,h</tt> with the current
|
||||||
clip region and returns the bounding box of the result in
|
clip region and returns the bounding box of the result in
|
||||||
<tt>X,Y,W,H</tt>. Returns non-zero if the resulting rectangle is
|
<tt>X,Y,W,H</tt>. Returns non-zero if the resulting rectangle is
|
||||||
@ -150,13 +154,12 @@ different than the original. This can be used to limit the
|
|||||||
necessary drawing to a rectangle. \c W and \c H are
|
necessary drawing to a rectangle. \c W and \c H are
|
||||||
set to zero if the rectangle is completely outside the region.
|
set to zero if the rectangle is completely outside the region.
|
||||||
|
|
||||||
<H4><A NAME="fl_clip_region">
|
<A NAME="fl_clip_region"></A> <!-- For old HTML links only ! -->
|
||||||
void fl_clip_region(Fl_Region r)
|
void fl_clip_region(Fl_Region r)
|
||||||
</A></H4>
|
|
||||||
<H4>
|
|
||||||
Fl_Region fl_clip_region()
|
|
||||||
</H4>
|
|
||||||
|
|
||||||
|
Fl_Region fl_clip_region()
|
||||||
|
|
||||||
|
\par
|
||||||
Replace the top of the clip stack with a clipping region of any shape.
|
Replace the top of the clip stack with a clipping region of any shape.
|
||||||
Fl_Region is an operating system specific type. The second form returns
|
Fl_Region is an operating system specific type. The second form returns
|
||||||
the current clipping region.
|
the current clipping region.
|
||||||
|
Loading…
Reference in New Issue
Block a user