Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > af7a4b7f1ee5a4a084c41b9005da5527 > files > 1438

libfox1.1_46-devel-1.1.46-1mdk.i586.rpm

<html>
<head>
<link rel="stylesheet" href="page.css" type="text/css">
<title>fox-toolkit.org - Documentation</title>
</head>
<body bgcolor=#ffffff link=#990033 vlink=#990033 alink=#990033 text=#000000>
<font face='verdana,sans-serif' size=2 >

<!---- TOPIC TITLE WITH LOGO--->
<table border=0 cellpadding= cellspacing=2 width=100% ><tr><td><a href='http://www.fox-toolkit.org/doc.html'><img src='../art/foxlogo_small.jpg' border=0></a></td><td width=100% valign=bottom><font face='verdana,sans-serif' size=2 ><b>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a>
<br><img src='../art/line.gif' width=100% height=1></b></font></td></tr></table>
<p>
<!--- TOPIC TITLE WITH LOGO --->
<!-- Generated by Doxygen 1.3.3 -->
<h1>FXDC.h</h1><div class="fragment"><pre>00001 <span class="comment">/********************************************************************************</span>
00002 <span class="comment">*                                                                               *</span>
00003 <span class="comment">*               D e v i c e   C o n t e x t   B a s e   C l a s s               *</span>
00004 <span class="comment">*                                                                               *</span>
00005 <span class="comment">*********************************************************************************</span>
00006 <span class="comment">* Copyright (C) 1999,2004 by Jeroen van der Zijp.   All Rights Reserved.        *</span>
00007 <span class="comment">*********************************************************************************</span>
00008 <span class="comment">* This library is free software; you can redistribute it and/or                 *</span>
00009 <span class="comment">* modify it under the terms of the GNU Lesser General Public                    *</span>
00010 <span class="comment">* License as published by the Free Software Foundation; either                  *</span>
00011 <span class="comment">* version 2.1 of the License, or (at your option) any later version.            *</span>
00012 <span class="comment">*                                                                               *</span>
00013 <span class="comment">* This library is distributed in the hope that it will be useful,               *</span>
00014 <span class="comment">* but WITHOUT ANY WARRANTY; without even the implied warranty of                *</span>
00015 <span class="comment">* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU             *</span>
00016 <span class="comment">* Lesser General Public License for more details.                               *</span>
00017 <span class="comment">*                                                                               *</span>
00018 <span class="comment">* You should have received a copy of the GNU Lesser General Public              *</span>
00019 <span class="comment">* License along with this library; if not, write to the Free Software           *</span>
00020 <span class="comment">* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.    *</span>
00021 <span class="comment">*********************************************************************************</span>
00022 <span class="comment">* $Id: FXDC.h,v 1.29 2004/02/08 17:17:33 fox Exp $                              *</span>
00023 <span class="comment">********************************************************************************/</span>
00024 <span class="preprocessor">#ifndef FXDC_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define FXDC_H</span>
00026 <span class="preprocessor"></span>
00027 <span class="keyword">namespace </span>FX {
00028 <span class="comment"></span>
00029 <span class="comment">/// Drawing (BITBLT) functions</span>
00030 <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="group__FXDC__0.html#a0">FXFunction</a> {
00031   <a class="code" href="group__FXDC__0.html#a0a88">BLT_CLR</a>,                        <span class="comment">/// D := 0</span>
00032 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a89">BLT_SRC_AND_DST</a>,                <span class="comment">/// D := S &amp; D</span>
<a name="l00033"></a><a class="code" href="group__FXDC__0.html#a0">00033</a> <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a90">BLT_SRC_AND_NOT_DST</a>,            <span class="comment">/// D := S &amp; ~D</span>
00034 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a91">BLT_SRC</a>,                        <span class="comment">/// D := S</span>
00035 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a92">BLT_NOT_SRC_AND_DST</a>,            <span class="comment">/// D := ~S &amp; D</span>
00036 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a93">BLT_DST</a>,                        <span class="comment">/// D := D</span>
00037 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a94">BLT_SRC_XOR_DST</a>,                <span class="comment">/// D := S ^ D</span>
00038 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a95">BLT_SRC_OR_DST</a>,                 <span class="comment">/// D := S | D</span>
00039 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a96">BLT_NOT_SRC_AND_NOT_DST</a>,        <span class="comment">/// D := ~S &amp; ~D  ==  D := ~(S | D)</span>
00040 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a97">BLT_NOT_SRC_XOR_DST</a>,            <span class="comment">/// D := ~S ^ D</span>
00041 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a98">BLT_NOT_DST</a>,                    <span class="comment">/// D := ~D</span>
00042 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a99">BLT_SRC_OR_NOT_DST</a>,             <span class="comment">/// D := S | ~D</span>
00043 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a100">BLT_NOT_SRC</a>,                    <span class="comment">/// D := ~S</span>
00044 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a101">BLT_NOT_SRC_OR_DST</a>,             <span class="comment">/// D := ~S | D</span>
00045 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a102">BLT_NOT_SRC_OR_NOT_DST</a>,         <span class="comment">/// D := ~S | ~D  ==  ~(S &amp; D)</span>
00046 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0a103">BLT_SET</a>                         <span class="comment">/// D := 1</span>
00047 <span class="comment"></span>  };
00048 
00049 <span class="comment"></span>
00050 <span class="comment">/// Line Styles</span>
00051 <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="group__FXDC__1.html#a0">FXLineStyle</a> {
00052   <a class="code" href="group__FXDC__1.html#a0a104">LINE_SOLID</a>,                     <span class="comment">/// Solid lines</span>
00053 <span class="comment"></span>  <a class="code" href="group__FXDC__1.html#a0a105">LINE_ONOFF_DASH</a>,                <span class="comment">/// On-off dashed lines</span>
00054 <span class="comment"></span>  <a class="code" href="group__FXDC__1.html#a0a106">LINE_DOUBLE_DASH</a>                <span class="comment">/// Double dashed lines</span>
00055 <span class="comment"></span>  };
00056 
00057 <span class="comment"></span>
<a name="l00058"></a><a class="code" href="group__FXDC__1.html#a0">00058</a> <span class="comment">/// Line Cap Styles</span>
00059 <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="group__FXDC__2.html#a0">FXCapStyle</a> {
00060   <a class="code" href="group__FXDC__2.html#a0a107">CAP_NOT_LAST</a>,                   <span class="comment">/// Don't include last end cap</span>
00061 <span class="comment"></span>  <a class="code" href="group__FXDC__2.html#a0a108">CAP_BUTT</a>,                       <span class="comment">/// Butting line end caps</span>
00062 <span class="comment"></span>  <a class="code" href="group__FXDC__2.html#a0a109">CAP_ROUND</a>,                      <span class="comment">/// Round line end caps</span>
00063 <span class="comment"></span>  <a class="code" href="group__FXDC__2.html#a0a110">CAP_PROJECTING</a>                  <span class="comment">/// Projecting line end caps</span>
00064 <span class="comment"></span>  };
00065 
00066 <span class="comment"></span>
00067 <span class="comment">/// Line Join Styles</span>
00068 <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="group__FXDC__3.html#a0">FXJoinStyle</a> {
00069   <a class="code" href="group__FXDC__3.html#a0a111">JOIN_MITER</a>,                     <span class="comment">/// Mitered or pointy joints</span>
<a name="l00070"></a><a class="code" href="group__FXDC__2.html#a0">00070</a> <span class="comment"></span>  <a class="code" href="group__FXDC__3.html#a0a112">JOIN_ROUND</a>,                     <span class="comment">/// Round line joints</span>
00071 <span class="comment"></span>  <a class="code" href="group__FXDC__3.html#a0a113">JOIN_BEVEL</a>                      <span class="comment">/// Beveled or flat joints</span>
00072 <span class="comment"></span>  };
00073 
00074 <span class="comment"></span>
00075 <span class="comment">/// Fill Styles</span>
00076 <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="group__FXDC__4.html#a0">FXFillStyle</a> {
00077   <a class="code" href="group__FXDC__4.html#a0a114">FILL_SOLID</a>,                     <span class="comment">/// Fill with solid color</span>
00078 <span class="comment"></span>  <a class="code" href="group__FXDC__4.html#a0a115">FILL_TILED</a>,                     <span class="comment">/// Fill with tiled bitmap</span>
00079 <span class="comment"></span>  <a class="code" href="group__FXDC__4.html#a0a116">FILL_STIPPLED</a>,                  <span class="comment">/// Fill where stipple mask is 1</span>
00080 <span class="comment"></span>  <a class="code" href="group__FXDC__4.html#a0a117">FILL_OPAQUESTIPPLED</a>             <span class="comment">/// Fill with foreground where mask is 1, background otherwise</span>
00081 <span class="comment"></span>  };
00082 
<a name="l00083"></a><a class="code" href="group__FXDC__3.html#a0">00083</a> <span class="comment"></span>
00084 <span class="comment">/// Fill Rules</span>
00085 <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="group__FXDC__5.html#a0">FXFillRule</a> {
00086   <a class="code" href="group__FXDC__5.html#a0a118">RULE_EVEN_ODD</a>,                  <span class="comment">/// Even odd polygon filling</span>
00087 <span class="comment"></span>  <a class="code" href="group__FXDC__5.html#a0a119">RULE_WINDING</a>                    <span class="comment">/// Winding rule polygon filling</span>
00088 <span class="comment"></span>  };
00089 
00090 <span class="comment"></span>
00091 <span class="comment">/// Stipple/dither patterns</span>
00092 <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="group__FXDC__6.html#a0">FXStipplePattern</a> {
00093   STIPPLE_0         = 0,
00094   STIPPLE_NONE      = 0,
<a name="l00095"></a><a class="code" href="group__FXDC__4.html#a0">00095</a>   <a class="code" href="group__FXDC__6.html#a0a122">STIPPLE_BLACK</a>     = 0,            <span class="comment">/// All ones</span>
00096 <span class="comment"></span>  STIPPLE_1         = 1,
00097   STIPPLE_2         = 2,
00098   STIPPLE_3         = 3,
00099   STIPPLE_4         = 4,
00100   STIPPLE_5         = 5,
00101   STIPPLE_6         = 6,
00102   STIPPLE_7         = 7,
00103   STIPPLE_8         = 8,
00104   <a class="code" href="group__FXDC__6.html#a0a131">STIPPLE_GRAY</a>      = 8,            <span class="comment">/// 50% gray</span>
00105 <span class="comment"></span>  STIPPLE_9         = 9,
00106   STIPPLE_10        = 10,
00107   STIPPLE_11        = 11,
<a name="l00108"></a><a class="code" href="group__FXDC__5.html#a0">00108</a>   STIPPLE_12        = 12,
00109   STIPPLE_13        = 13,
00110   STIPPLE_14        = 14,
00111   STIPPLE_15        = 15,
00112   STIPPLE_16        = 16,
00113   <a class="code" href="group__FXDC__6.html#a0a140">STIPPLE_WHITE</a>     = 16,           <span class="comment">/// All zeroes</span>
00114 <span class="comment"></span>  <a class="code" href="group__FXDC__6.html#a0a141">STIPPLE_HORZ</a>      = 17,           <span class="comment">/// Horizontal hatch pattern</span>
00115 <span class="comment"></span>  <a class="code" href="group__FXDC__6.html#a0a142">STIPPLE_VERT</a>      = 18,           <span class="comment">/// Vertical hatch pattern</span>
00116 <span class="comment"></span>  <a class="code" href="group__FXDC__6.html#a0a143">STIPPLE_CROSS</a>     = 19,           <span class="comment">/// Cross-hatch pattern</span>
00117 <span class="comment"></span>  <a class="code" href="group__FXDC__6.html#a0a144">STIPPLE_DIAG</a>      = 20,           <span class="comment">/// Diagonal // hatch pattern</span>
00118 <span class="comment"></span>  <a class="code" href="group__FXDC__6.html#a0a145">STIPPLE_REVDIAG</a>   = 21,           <span class="comment">/// Reverse diagonal \\ hatch pattern</span>
<a name="l00119"></a><a class="code" href="group__FXDC__6.html#a0">00119</a> <span class="comment"></span>  <a class="code" href="group__FXDC__6.html#a0a146">STIPPLE_CROSSDIAG</a> = 22            <span class="comment">/// Cross-diagonal hatch pattern</span>
00120 <span class="comment"></span>  };
00121 
00122 <span class="comment"></span>
00123 <span class="comment">/// Line segment</span>
00124 <span class="comment"></span><span class="keyword">struct </span>FXSegment {
00125   FXshort x1,y1,x2,y2;
00126   };
00127 
00128 <span class="comment"></span>
00129 <span class="comment">/// Arc</span>
00130 <span class="comment"></span><span class="keyword">struct </span>FXArc {
00131   FXshort x,y,w,h,a,b;
00132   };
00133 
00134 
00135 <span class="keyword">class </span>FXApp;
00136 <span class="keyword">class </span>FXImage;
00137 <span class="keyword">class </span>FXBitmap;
00138 <span class="keyword">class </span>FXIcon;
00139 <span class="keyword">class </span>FXFont;
00140 <span class="keyword">class </span>FXDrawable;
00141 <span class="keyword">class </span>FXRegion;
00142 
00143 <span class="comment"></span>
00144 <span class="comment">/**</span>
00145 <span class="comment">* Abstract Device Context</span>
00146 <span class="comment">*</span>
00147 <span class="comment">* A Device Context is used to maintain the state of the graphics drawing system.</span>
00148 <span class="comment">* Defining your drawing code in terms of the Abstract Device Context allows the</span>
00149 <span class="comment">* drawing commands to be rendered on different types of surfaces, such as windows</span>
00150 <span class="comment">* and images (FXDCWindow), or on paper (FXDCPrint).</span>
00151 <span class="comment">* WYSYWYG may be obtained by using the same identical drawing code in your</span>
<a name="l00152"></a><a class="code" href="structFX_1_1FXSegment.html">00152</a> <span class="comment">* application regardless of the actual device surface being utilized.</span>
00153 <span class="comment">*/</span>
00154 <span class="keyword">class </span>FXAPI FXDC {
00155 <span class="keyword">private</span>:
00156   <a class="code" href="classFX_1_1FXApp.html">FXApp</a>           *app;         <span class="comment">// Application</span>
00157 <span class="keyword">protected</span>:
<a name="l00158"></a><a class="code" href="structFX_1_1FXArc.html">00158</a>   <span class="keywordtype">void</span>            *ctx;         <span class="comment">// Context handle</span>
00159   <a class="code" href="classFX_1_1FXFont.html">FXFont</a>          *font;        <span class="comment">// Drawing font</span>
00160   <a class="code" href="group__FXDC__6.html#a0">FXStipplePattern</a> pattern;     <span class="comment">// Stipple pattern</span>
00161   <a class="code" href="classFX_1_1FXBitmap.html">FXBitmap</a>        *stipple;     <span class="comment">// Stipple bitmap</span>
00162   <a class="code" href="classFX_1_1FXImage.html">FXImage</a>         *tile;        <span class="comment">// Tile image</span>
00163   <a class="code" href="classFX_1_1FXBitmap.html">FXBitmap</a>        *mask;        <span class="comment">// Mask bitmap</span>
00164   <a class="code" href="classFX_1_1FXRectangle.html">FXRectangle</a>      clip;        <span class="comment">// Clip rectangle</span>
00165   FXColor          fg;          <span class="comment">// Foreground color</span>
00166   FXColor          bg;          <span class="comment">// Background color</span>
00167   FXuint           width;       <span class="comment">// Line width</span>
00168   <a class="code" href="group__FXDC__2.html#a0">FXCapStyle</a>       cap;         <span class="comment">// Line cap style</span>
00169   <a class="code" href="group__FXDC__3.html#a0">FXJoinStyle</a>      join;        <span class="comment">// Line join style</span>
00170   <a class="code" href="group__FXDC__1.html#a0">FXLineStyle</a>      style;       <span class="comment">// Line style</span>
00171   <a class="code" href="group__FXDC__4.html#a0">FXFillStyle</a>      fill;        <span class="comment">// Fill style</span>
00172   <a class="code" href="group__FXDC__5.html#a0">FXFillRule</a>       rule;        <span class="comment">// Fill rule</span>
00173   <a class="code" href="group__FXDC__0.html#a0">FXFunction</a>       rop;         <span class="comment">// RasterOp</span>
00174   FXchar           dashpat[32]; <span class="comment">// Line dash pattern data</span>
00175   FXuint           dashlen;     <span class="comment">// Line dash pattern length</span>
00176   FXuint           dashoff;     <span class="comment">// Line dash pattern offset</span>
00177   FXint            tx;          <span class="comment">// Tile dx</span>
00178   FXint            ty;          <span class="comment">// Tile dy</span>
00179   FXint            cx;          <span class="comment">// Clip x</span>
00180   FXint            cy;          <span class="comment">// Clip y</span>
00181 <span class="keyword">private</span>:
00182   FXDC();
00183   FXDC(<span class="keyword">const</span> FXDC&amp;);
00184   FXDC &amp;operator=(<span class="keyword">const</span> FXDC&amp;);
00185 <span class="keyword">public</span>:
00186 <span class="comment"></span>
00187 <span class="comment">  /// Construct dummy DC</span>
00188 <span class="comment"></span>  FXDC(<a class="code" href="classFX_1_1FXApp.html">FXApp</a>* a);
00189 <span class="comment"></span>
00190 <span class="comment">  /// Get application</span>
<a name="l00191"></a><a class="code" href="classFX_1_1FXDC.html">00191</a> <span class="comment"></span>  <a class="code" href="classFX_1_1FXApp.html">FXApp</a>* getApp()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> app; }
00192 <span class="comment"></span>
00193 <span class="comment">  /// Get context handle</span>
00194 <span class="comment"></span>  <span class="keywordtype">void</span>* context()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ctx; }
00195 <span class="comment"></span>
00196 <span class="comment">  /// Read back pixel</span>
00197 <span class="comment"></span>  <span class="keyword">virtual</span> FXColor readPixel(FXint x,FXint y);
<a name="l00198"></a><a class="code" href="classFX_1_1FXDC.html#a1">00198</a> <span class="comment"></span>
00199 <span class="comment">  /// Draw points</span>
00200 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawPoint(FXint x,FXint y);
<a name="l00201"></a><a class="code" href="classFX_1_1FXDC.html#a2">00201</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawPoints(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00202   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawPointsRel(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00203 <span class="comment"></span>
00204 <span class="comment">  /// Draw lines</span>
00205 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawLine(FXint x1,FXint y1,FXint x2,FXint y2);
00206   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawLines(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00207   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawLinesRel(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00208   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawLineSegments(<span class="keyword">const</span> <a class="code" href="structFX_1_1FXSegment.html">FXSegment</a>* segments,FXuint nsegments);
00209 <span class="comment"></span>
00210 <span class="comment">  /// Draw rectangles</span>
00211 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawRectangle(FXint x,FXint y,FXint w,FXint h);
00212   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawRectangles(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXRectangle.html">FXRectangle</a>* rectangles,FXuint nrectangles);
00213 <span class="comment"></span>
00214 <span class="comment">  /**</span>
00215 <span class="comment">  * Draw arcs.</span>
00216 <span class="comment">  * The argument ang1 specifies the start of the arc relative to the</span>
00217 <span class="comment">  * three-o'clock position from the center, in units of degrees*64.</span>
00218 <span class="comment">  * The argument ang2 specifies the path and extent of the arc relative</span>
00219 <span class="comment">  * to the start of the arc, in units of degrees*64.</span>
00220 <span class="comment">  * The arguments x,y,w,h specify the bounding rectangle.</span>
00221 <span class="comment">  */</span>
00222   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawArc(FXint x,FXint y,FXint w,FXint h,FXint ang1,FXint ang2);
00223   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawArcs(<span class="keyword">const</span> <a class="code" href="structFX_1_1FXArc.html">FXArc</a>* arcs,FXuint narcs);
00224 <span class="comment"></span>
00225 <span class="comment">  /// Filled rectangles</span>
00226 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillRectangle(FXint x,FXint y,FXint w,FXint h);
00227   <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillRectangles(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXRectangle.html">FXRectangle</a>* rectangles,FXuint nrectangles);
00228 <span class="comment"></span>
00229 <span class="comment">  /// Fill chord</span>
00230 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillChord(FXint x,FXint y,FXint w,FXint h,FXint ang1,FXint ang2);
00231   <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillChords(<span class="keyword">const</span> <a class="code" href="structFX_1_1FXArc.html">FXArc</a>* chords,FXuint nchords);
00232 <span class="comment"></span>
00233 <span class="comment">  /// Draw arcs</span>
00234 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillArc(FXint x,FXint y,FXint w,FXint h,FXint ang1,FXint ang2);
00235   <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillArcs(<span class="keyword">const</span> <a class="code" href="structFX_1_1FXArc.html">FXArc</a>* arcs,FXuint narcs);
00236 <span class="comment"></span>
00237 <span class="comment">  /// Filled polygon</span>
00238 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillPolygon(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00239   <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillConcavePolygon(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00240   <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillComplexPolygon(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00241 <span class="comment"></span>
00242 <span class="comment">  /// Filled polygon with relative points</span>
00243 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillPolygonRel(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00244   <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillConcavePolygonRel(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00245   <span class="keyword">virtual</span> <span class="keywordtype">void</span> fillComplexPolygonRel(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXPoint.html">FXPoint</a>* points,FXuint npoints);
00246 <span class="comment"></span>
00247 <span class="comment">  /// Draw hashed box</span>
00248 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawHashBox(FXint x,FXint y,FXint w,FXint h,FXint b=1);
00249 <span class="comment"></span>
00250 <span class="comment">  /// Draw focus rectangle</span>
00251 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawFocusRectangle(FXint x,FXint y,FXint w,FXint h);
00252 <span class="comment"></span>
00253 <span class="comment">  /// Draw area from source</span>
00254 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawArea(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXDrawable.html">FXDrawable</a>* source,FXint sx,FXint sy,FXint sw,FXint sh,FXint dx,FXint dy);
00255 <span class="comment"></span>
00256 <span class="comment">  /// Draw image</span>
00257 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawImage(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXImage.html">FXImage</a>* image,FXint dx,FXint dy);
00258 <span class="comment"></span>
00259 <span class="comment">  /// Draw bitmap</span>
00260 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawBitmap(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXBitmap.html">FXBitmap</a>* bitmap,FXint dx,FXint dy);
00261 <span class="comment"></span>
00262 <span class="comment">  /// Draw icon</span>
00263 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawIcon(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXIcon.html">FXIcon</a>* icon,FXint dx,FXint dy);
00264   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawIconShaded(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXIcon.html">FXIcon</a>* icon,FXint dx,FXint dy);
00265   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawIconSunken(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXIcon.html">FXIcon</a>* icon,FXint dx,FXint dy);
00266 <span class="comment"></span>
00267 <span class="comment">  /// Draw string</span>
00268 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawText(FXint x,FXint y,<span class="keyword">const</span> FXchar* string,FXuint length);
00269   <span class="keyword">virtual</span> <span class="keywordtype">void</span> drawImageText(FXint x,FXint y,<span class="keyword">const</span> FXchar* string,FXuint length);
00270 <span class="comment"></span>
00271 <span class="comment">  /// Set foreground drawing color</span>
00272 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setForeground(FXColor clr);
00273 <span class="comment"></span>
00274 <span class="comment">  /// Get foreground drawing color</span>
00275 <span class="comment"></span>  FXColor getForeground()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fg; }
00276 <span class="comment"></span>
00277 <span class="comment">  /// Set background drawing color</span>
00278 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setBackground(FXColor clr);
00279 <span class="comment"></span>
00280 <span class="comment">  /// Get background drawing color</span>
00281 <span class="comment"></span>  FXColor getBackground()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> bg; }
<a name="l00282"></a><a class="code" href="classFX_1_1FXDC.html#a38">00282</a> <span class="comment"></span>
00283 <span class="comment">  /**</span>
00284 <span class="comment">  * Set dash pattern and dash offset.</span>
00285 <span class="comment">  * A dash pattern of [1 2 3 4] is a repeating pattern of 1 foreground pixel,</span>
00286 <span class="comment">  * 2 background pixels, 3 foreground pixels, and 4 background pixels.</span>
00287 <span class="comment">  * The offset is where in the pattern the system will start counting.</span>
<a name="l00288"></a><a class="code" href="classFX_1_1FXDC.html#a40">00288</a> <span class="comment">  * The maximum length of the dash pattern is 32.</span>
00289 <span class="comment">  */</span>
00290   <span class="keyword">virtual</span> <span class="keywordtype">void</span> setDashes(FXuint dashoffset,<span class="keyword">const</span> FXchar *dashpattern,FXuint dashlength);
00291 <span class="comment"></span>
00292 <span class="comment">  /// Get dash pattern</span>
00293 <span class="comment"></span>  <span class="keyword">const</span> FXchar* getDashPattern()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dashpat; }
00294 <span class="comment"></span>
00295 <span class="comment">  /// Get dash offset</span>
00296 <span class="comment"></span>  FXuint getDashOffset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dashoff; }
00297 <span class="comment"></span>
00298 <span class="comment">  /// Get dash length</span>
00299 <span class="comment"></span>  FXuint getDashLength()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dashlen; }
<a name="l00300"></a><a class="code" href="classFX_1_1FXDC.html#a42">00300</a> <span class="comment"></span>
00301 <span class="comment">  /// Set line width:- 0 means thinnest/fastest possible</span>
00302 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLineWidth(FXuint linewidth=0);
<a name="l00303"></a><a class="code" href="classFX_1_1FXDC.html#a43">00303</a> <span class="comment"></span>
00304 <span class="comment">  /// Get line width</span>
00305 <span class="comment"></span>  FXuint getLineWidth()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> width; }
<a name="l00306"></a><a class="code" href="classFX_1_1FXDC.html#a44">00306</a> <span class="comment"></span>
00307 <span class="comment">  /// Set line cap style</span>
00308 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLineCap(FXCapStyle capstyle=CAP_BUTT);
00309 <span class="comment"></span>
00310 <span class="comment">  /// Get line cap style</span>
00311 <span class="comment"></span>  <a class="code" href="group__FXDC__2.html#a0">FXCapStyle</a> getLineCap()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> cap; }
<a name="l00312"></a><a class="code" href="classFX_1_1FXDC.html#a46">00312</a> <span class="comment"></span>
00313 <span class="comment">  /// Set line join style</span>
00314 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLineJoin(FXJoinStyle joinstyle=JOIN_MITER);
00315 <span class="comment"></span>
00316 <span class="comment">  /// Get line join style</span>
00317 <span class="comment"></span>  <a class="code" href="group__FXDC__3.html#a0">FXJoinStyle</a> getLineJoin()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> join; }
<a name="l00318"></a><a class="code" href="classFX_1_1FXDC.html#a48">00318</a> <span class="comment"></span>
00319 <span class="comment">  /// Set line style</span>
00320 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLineStyle(FXLineStyle linestyle=LINE_SOLID);
00321 <span class="comment"></span>
00322 <span class="comment">  /// Get line style</span>
00323 <span class="comment"></span>  <a class="code" href="group__FXDC__1.html#a0">FXLineStyle</a> getLineStyle()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> style; }
<a name="l00324"></a><a class="code" href="classFX_1_1FXDC.html#a50">00324</a> <span class="comment"></span>
00325 <span class="comment">  /// Set fill style</span>
00326 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setFillStyle(FXFillStyle fillstyle=FILL_SOLID);
00327 <span class="comment"></span>
00328 <span class="comment">  /// Get fill style</span>
00329 <span class="comment"></span>  <a class="code" href="group__FXDC__4.html#a0">FXFillStyle</a> getFillStyle()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fill; }
<a name="l00330"></a><a class="code" href="classFX_1_1FXDC.html#a52">00330</a> <span class="comment"></span>
00331 <span class="comment">  /// Set fill rule</span>
00332 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setFillRule(FXFillRule fillrule=RULE_EVEN_ODD);
00333 <span class="comment"></span>
00334 <span class="comment">  /// Get fill rule</span>
00335 <span class="comment"></span>  <a class="code" href="group__FXDC__5.html#a0">FXFillRule</a> getFillRule()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rule; }
<a name="l00336"></a><a class="code" href="classFX_1_1FXDC.html#a54">00336</a> <span class="comment"></span>
00337 <span class="comment">  /// Set rasterop function</span>
00338 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setFunction(FXFunction func=BLT_SRC);
00339 <span class="comment"></span>
00340 <span class="comment">  /// Get rasterop function</span>
00341 <span class="comment"></span>  <a class="code" href="group__FXDC__0.html#a0">FXFunction</a> getFunction()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rop; }
<a name="l00342"></a><a class="code" href="classFX_1_1FXDC.html#a56">00342</a> <span class="comment"></span>
00343 <span class="comment">  /// Set the tile image</span>
00344 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setTile(<a class="code" href="classFX_1_1FXImage.html">FXImage</a>* image,FXint dx=0,FXint dy=0);
00345 <span class="comment"></span>
00346 <span class="comment">  /// Get the tile image</span>
00347 <span class="comment"></span>  <a class="code" href="classFX_1_1FXImage.html">FXImage</a> *getTile()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> tile; }
<a name="l00348"></a><a class="code" href="classFX_1_1FXDC.html#a58">00348</a> <span class="comment"></span>
00349 <span class="comment">  /// Set the stipple pattern</span>
00350 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStipple(<a class="code" href="classFX_1_1FXBitmap.html">FXBitmap</a> *bitmap,FXint dx=0,FXint dy=0);
00351 <span class="comment"></span>
00352 <span class="comment">  /// Get stipple bitmap</span>
00353 <span class="comment"></span>  <a class="code" href="classFX_1_1FXBitmap.html">FXBitmap</a> *getStippleBitmap()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stipple; }
<a name="l00354"></a><a class="code" href="classFX_1_1FXDC.html#a60">00354</a> <span class="comment"></span>
00355 <span class="comment">  /// Set the stipple pattern</span>
00356 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStipple(FXStipplePattern pat,FXint dx=0,FXint dy=0);
00357 <span class="comment"></span>
00358 <span class="comment">  /// Get pattern</span>
00359 <span class="comment"></span>  <a class="code" href="group__FXDC__6.html#a0">FXStipplePattern</a> getStipplePattern()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> pattern; }
<a name="l00360"></a><a class="code" href="classFX_1_1FXDC.html#a62">00360</a> <span class="comment"></span>
00361 <span class="comment">  /// Set clip region</span>
00362 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipRegion(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXRegion.html">FXRegion</a>&amp; region);
00363 <span class="comment"></span>
00364 <span class="comment">  /// Set clip rectangle</span>
00365 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipRectangle(FXint x,FXint y,FXint w,FXint h);
<a name="l00366"></a><a class="code" href="classFX_1_1FXDC.html#a64">00366</a> <span class="comment"></span>
00367 <span class="comment">  /// Change clip rectangle</span>
00368 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipRectangle(<span class="keyword">const</span> <a class="code" href="classFX_1_1FXRectangle.html">FXRectangle</a>&amp; rectangle);
00369 <span class="comment"></span>
00370 <span class="comment">  /// Return clip rectangle</span>
00371 <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classFX_1_1FXRectangle.html">FXRectangle</a>&amp; getClipRectangle()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> clip; }
00372 <span class="comment"></span>
00373 <span class="comment">  /// Return clip x</span>
00374 <span class="comment"></span>  FXint getClipX()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> clip.x; }
00375 <span class="comment"></span>
00376 <span class="comment">  /// Return clip y</span>
00377 <span class="comment"></span>  FXint getClipY()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> clip.y; }
<a name="l00378"></a><a class="code" href="classFX_1_1FXDC.html#a68">00378</a> <span class="comment"></span>
00379 <span class="comment">  /// Return clip width</span>
00380 <span class="comment"></span>  FXint getClipWidth()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> clip.w; }
<a name="l00381"></a><a class="code" href="classFX_1_1FXDC.html#a69">00381</a> <span class="comment"></span>
00382 <span class="comment">  /// Return clip height</span>
00383 <span class="comment"></span>  FXint getClipHeight()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> clip.h; }
<a name="l00384"></a><a class="code" href="classFX_1_1FXDC.html#a70">00384</a> <span class="comment"></span>
00385 <span class="comment">  /// Clear clipping</span>
00386 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearClipRectangle();
<a name="l00387"></a><a class="code" href="classFX_1_1FXDC.html#a71">00387</a> <span class="comment"></span>
00388 <span class="comment">  /// Set clip mask</span>
00389 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipMask(<a class="code" href="classFX_1_1FXBitmap.html">FXBitmap</a>* bitmap,FXint dx=0,FXint dy=0);
<a name="l00390"></a><a class="code" href="classFX_1_1FXDC.html#a72">00390</a> <span class="comment"></span>
00391 <span class="comment">  /// Clear clip mask</span>
00392 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearClipMask();
00393 <span class="comment"></span>
00394 <span class="comment">  /// Set font to draw text with</span>
00395 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setFont(<a class="code" href="classFX_1_1FXFont.html">FXFont</a> *fnt);
00396 <span class="comment"></span>
00397 <span class="comment">  /// Get text font</span>
00398 <span class="comment"></span>  <a class="code" href="classFX_1_1FXFont.html">FXFont</a>* getFont()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> font; }
00399 <span class="comment"></span>
00400 <span class="comment">  /// Clip against child windows</span>
00401 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> clipChildren(FXbool yes);
00402 <span class="comment"></span>
00403 <span class="comment">  /// Destructor</span>
00404 <span class="comment"></span>  <span class="keyword">virtual</span> ~FXDC();
<a name="l00405"></a><a class="code" href="classFX_1_1FXDC.html#a77">00405</a>   };
00406 
00407 }
00408 
00409 <span class="preprocessor">#endif</span>
</pre></div></font>

<!--- COPYRIGHT -->
<p>
<table width=100% cellpadding=0 cellspacing=0><tr><td width=100% valign=top id=HEADLINE align=right>
<img src='../art/line.gif' width=100% height=1><font size=-1>
Copyright &copy; 1997-2004 Jeroen van der Zijp</font>
</td></tr></table>
</p>
<!--- COPYRIGHT -->
</body>
</html>