diff options
-rw-r--r-- | html/en/func/wd.html | 29 | ||||
-rw-r--r-- | html/en/history.html | 6 | ||||
-rw-r--r-- | html/wb/wb_usr.lua | 16 | ||||
-rw-r--r-- | html/wb_tree.html | 280 | ||||
-rw-r--r-- | include/wd.h | 4 | ||||
-rw-r--r-- | src/cd.def | 3 | ||||
-rw-r--r-- | src/lua5/cdlua5_canvas.c | 54 | ||||
-rw-r--r-- | src/wd.c | 141 |
8 files changed, 390 insertions, 143 deletions
diff --git a/html/en/func/wd.html b/html/en/func/wd.html index eaef72d..938d19d 100644 --- a/html/en/func/wd.html +++ b/html/en/func/wd.html @@ -67,6 +67,34 @@ canvas:wCanvas2World(xv, yv: number) -> (xw, yw: number) [in Lua]</pre> <p>Converts canvas coordinates into world coordinates. It is not necessary to provide all return pointers, you can provide only the desired values and <font>NULL</font> for the others.</p> + + <pre class="function"><span class="mainFunction">void <a name="wdSetTransform">wdCanvasSetTransform</a>(cdCanvas* canvas, double sx, double sy, double tx, double ty); [in C]</span> + +canvas:wSetTransform(sx, sy, tx, ty: number) [in Lua]</pre> + <p>Configures the world coordinate system transformation to be used to + convert world coordinates (with values in real numbers) into canvas + coordinates (with values in integers). The transformation is automatically + set by <strong>wdCanvasWindow</strong> and <strong>wdCanvasViewport</strong>.</p> + <pre class="function"><span class="mainFunction">void <a name="wdGetTransform">wdCanvasGetTransform</a>(cdCanvas* canvas, double *sx, double *sy, double *tx, double *ty); [in C]</span> + +canvas:wGetTransform() -> (sx, sy, tx, ty: number) [in Lua]</pre> + <p>Queries the current transformation being used to + convert world coordinates into canvas coordinates (and the other way round). It + is not necessary to provide all return pointers, you can provide only the + desired values.</p> + + <pre class="function"><span class="mainFunction">void <a name="wdTranslate">wdCanvasTranslate</a>(cdCanvas* canvas, double dtx, double dty); [in C]</span> + +canvas:wTranslate(dtx, dty: number) [in Lua]</pre> + <p>Translates the transformation by a delta, by adding the given values to + the current tx and ty values.</p> + + <pre class="function"><span class="mainFunction">void <a name="wdScale">wdCanvasScale</a>(cdCanvas* canvas, double dsx, double dsy); [in C]</span> + +canvas:wScale(dsx, dsy: number) [in Lua]</pre> + <p>Scales the transformation by a delta, by multiplying the given values by + the current sx and sy values.</p> + <h3>Extra</h3> <pre class="function"><span class="mainFunction">void <a name="wdHardcopy">wdCanvasHardcopy</a>(cdCanvas *canvas, cdContext* ctx, void *data, void(*draw_func)(cdCanvas *canvas_copy)); [in C]</span> @@ -77,5 +105,6 @@ canvas:wCanvasHardcopy(ctx: number, data: string or userdata, draw_func: functio must use routines in WC) and, finally, removes the new canvas.</p> <p>It is usually used for "hard copies" of drawings (print equivalent copy). The most common used contexts are Printer, PS and PDF.</p> + </body> </html> diff --git a/html/en/history.html b/html/en/history.html index 8a83f67..ba6be12 100644 --- a/html/en/history.html +++ b/html/en/history.html @@ -19,10 +19,14 @@ <body> <h2>History of Changes</h2> -<h3>CVS (01/Dec/2009)</h3> +<h3>CVS (02/Dec/2009)</h3> <ul> <li><span style="color: #0000FF">New:</span> function <strong> CanvasYAxisMode</strong> to control the Y axis orientation.</li> + <li><span style="color: #0000FF">New:</span> functions <strong> + wdCanvasSetTransform</strong>, <strong>wdCanvasGetTransform</strong>, + <strong>wdCanvasTranslate</strong> and <strong>wdCanvasScale</strong>, to + better control the WD transformation.</li> <li><span class="style1">Changed</span><span class="hist_changed">:</span> Freetype updated to version 2.3.11.</li> <li><span class="style1">Changed</span><span class="hist_changed">:</span> diff --git a/html/wb/wb_usr.lua b/html/wb/wb_usr.lua index eee41ec..fb8c4a7 100644 --- a/html/wb/wb_usr.lua +++ b/html/wb/wb_usr.lua @@ -320,6 +320,22 @@ wb_usr.tree = link= "func/wd.html#wdCanvas2World" }, { + name= {nl= "SetTransform"}, + link= "func/wd.html#wdSetTransform" + }, + { + name= {nl= "GetTransform"}, + link= "func/wd.html#wdGetTransform" + }, + { + name= {nl= "Translate"}, + link= "func/wd.html#wdTranslate" + }, + { + name= {nl= "Scale"}, + link= "func/wd.html#wdScale" + }, + { name= {en= "Extra"}, folder= { diff --git a/html/wb_tree.html b/html/wb_tree.html index b83fa8d..f6d45f5 100644 --- a/html/wb_tree.html +++ b/html/wb_tree.html @@ -308,235 +308,239 @@ <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link64folder.3.4" href="en/func/wd.html#wdGetViewport">GetViewport</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link65folder.3.4" href="en/func/wd.html#wdWorld2Canvas">World2Canvas</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link66folder.3.4" href="en/func/wd.html#wdCanvas2World">Canvas2World</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link67folder.3.4" href="en/func/wd.html#wdSetTransform">SetTransform</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link68folder.3.4" href="en/func/wd.html#wdGetTransform">GetTransform</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link69folder.3.4" href="en/func/wd.html#wdTranslate">Translate</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link70folder.3.4" href="en/func/wd.html#wdScale">Scale</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.3.4.1" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.3.4.1')"> Extra</p> <div id="folder.3.4.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link67folder.3.4.1" href="en/func/wd.html#wdHardcopy">Hardcopy</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link71folder.3.4.1" href="en/func/wd.html#wdHardcopy">Hardcopy</a></p> </div> </div> <p><img src="wb_img/vertline.png"><img name="imgfolder.3.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3.5')"> General Attributes</p> <div id="folder.3.5"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link68folder.3.5" href="en/func/attributes.html#cdForeground">Foreground</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link69folder.3.5" href="en/func/attributes.html#cdBackground">Background</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link70folder.3.5" href="en/func/attributes.html#cdWriteMode">WriteMode</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link72folder.3.5" href="en/func/attributes.html#cdForeground">Foreground</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link73folder.3.5" href="en/func/attributes.html#cdBackground">Background</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link74folder.3.5" href="en/func/attributes.html#cdWriteMode">WriteMode</a></p> </div> - <p><img src="wb_img/vertline.png"><img name="imgfolder.3.6" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.3.6')"><a name="link71folder.3.6" class="el" href="en/func/clipping.html">Clipping</a></p> + <p><img src="wb_img/vertline.png"><img name="imgfolder.3.6" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.3.6')"><a name="link75folder.3.6" class="el" href="en/func/clipping.html">Clipping</a></p> <div id="folder.3.6"> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link72folder.3.6" href="en/func/clipping.html#cdClip">Clip</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link73folder.3.6" href="en/func/clipping.html#cdClipArea">ClipArea</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link74folder.3.6" href="en/func/clipping.html#cdGetClipArea">GetClipArea</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link75folder.3.6" href="en/func/clipping.html#Polygons">Polygons</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img name="imgfolder.3.6.1" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.3.6.1')"><a name="link76folder.3.6.1" class="el" href="en/func/region.html">Regions</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link76folder.3.6" href="en/func/clipping.html#cdClip">Clip</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link77folder.3.6" href="en/func/clipping.html#cdClipArea">ClipArea</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link78folder.3.6" href="en/func/clipping.html#cdGetClipArea">GetClipArea</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link79folder.3.6" href="en/func/clipping.html#Polygons">Polygons</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img name="imgfolder.3.6.1" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.3.6.1')"><a name="link80folder.3.6.1" class="el" href="en/func/region.html">Regions</a></p> <div id="folder.3.6.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link77folder.3.6.1" href="en/func/region.html#Creating">Creating</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link78folder.3.6.1" href="en/func/region.html#cdRegionCombineMode">RegionCombineMode</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link79folder.3.6.1" href="en/func/region.html#cdRegionCombineMode">RegionCombineMode</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link80folder.3.6.1" href="en/func/region.html#cdPointInRegion">PointInRegion</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link81folder.3.6.1" href="en/func/region.html#cdOffsetRegion">OffsetRegion</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link82folder.3.6.1" href="en/func/region.html#cdRegionBox">RegionBox</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link81folder.3.6.1" href="en/func/region.html#Creating">Creating</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link82folder.3.6.1" href="en/func/region.html#cdRegionCombineMode">RegionCombineMode</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link83folder.3.6.1" href="en/func/region.html#cdRegionCombineMode">RegionCombineMode</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link84folder.3.6.1" href="en/func/region.html#cdPointInRegion">PointInRegion</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link85folder.3.6.1" href="en/func/region.html#cdOffsetRegion">OffsetRegion</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link86folder.3.6.1" href="en/func/region.html#cdRegionBox">RegionBox</a></p> </div> </div> </div> <p><img name="imgfolder.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4')"> Primitives</p> <div id="folder.4"> - <p><img src="wb_img/vertline.png"><img name="imgfolder.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.1')"><a name="link83folder.4.1" class="el" href="en/func/marks.html">Marks</a></p> + <p><img src="wb_img/vertline.png"><img name="imgfolder.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.1')"><a name="link87folder.4.1" class="el" href="en/func/marks.html">Marks</a></p> <div id="folder.4.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link84folder.4.1" href="en/func/marks.html#cdPixel">Pixel</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link85folder.4.1" href="en/func/marks.html#cdMark">Mark</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link88folder.4.1" href="en/func/marks.html#cdPixel">Pixel</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link89folder.4.1" href="en/func/marks.html#cdMark">Mark</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.1.1" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.1.1')"> Attributes</p> <div id="folder.4.1.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link86folder.4.1.1" href="en/func/marks.html#cdMarkType">MarkType</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link87folder.4.1.1" href="en/func/marks.html#cdMarkSize">MarkSize</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link90folder.4.1.1" href="en/func/marks.html#cdMarkType">MarkType</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link91folder.4.1.1" href="en/func/marks.html#cdMarkSize">MarkSize</a></p> </div> </div> - <p><img src="wb_img/vertline.png"><img name="imgfolder.4.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.2')"><a name="link88folder.4.2" class="el" href="en/func/lines.html">Lines</a></p> + <p><img src="wb_img/vertline.png"><img name="imgfolder.4.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.2')"><a name="link92folder.4.2" class="el" href="en/func/lines.html">Lines</a></p> <div id="folder.4.2"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link89folder.4.2" href="en/func/lines.html#cdLine">Line</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.2.1')"><a name="link90folder.4.2.1" class="el" href="en/func/lines.html#Polygons">Line Polygons/Bezier Curves</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link93folder.4.2" href="en/func/lines.html#cdLine">Line</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.2.1')"><a name="link94folder.4.2.1" class="el" href="en/func/lines.html#Polygons">Line Polygons/Bezier Curves</a></p> <div id="folder.4.2.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link91folder.4.2.1" href="en/func/polygon.html">Polygons and Regions</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link95folder.4.2.1" href="en/func/polygon.html">Polygons and Regions</a></p> </div> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link92folder.4.2" href="en/func/lines.html#cdRect">Rect</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link93folder.4.2" href="en/func/lines.html#cdArc">Arc</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link96folder.4.2" href="en/func/lines.html#cdRect">Rect</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link97folder.4.2" href="en/func/lines.html#cdArc">Arc</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.2.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.2.2')"> Attributes</p> <div id="folder.4.2.2"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link94folder.4.2.2" href="en/func/lines.html#cdLineStyle">LineStyle</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link95folder.4.2.2" href="en/func/lines.html#cdLineStyleDashes">LineStyleDashes</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link96folder.4.2.2" href="en/func/lines.html#cdLineWidth">LineWidth</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link97folder.4.2.2" href="en/func/lines.html#cdLineJoin">LineJoin</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link98folder.4.2.2" href="en/func/lines.html#cdLineCap">LineCap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link98folder.4.2.2" href="en/func/lines.html#cdLineStyle">LineStyle</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link99folder.4.2.2" href="en/func/lines.html#cdLineStyleDashes">LineStyleDashes</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link100folder.4.2.2" href="en/func/lines.html#cdLineWidth">LineWidth</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link101folder.4.2.2" href="en/func/lines.html#cdLineJoin">LineJoin</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link102folder.4.2.2" href="en/func/lines.html#cdLineCap">LineCap</a></p> </div> </div> - <p><img src="wb_img/vertline.png"><img name="imgfolder.4.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.3')"><a name="link99folder.4.3" class="el" href="en/func/filled.html">Filled Areas</a></p> + <p><img src="wb_img/vertline.png"><img name="imgfolder.4.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.3')"><a name="link103folder.4.3" class="el" href="en/func/filled.html">Filled Areas</a></p> <div id="folder.4.3"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link100folder.4.3" href="en/func/filled.html#Polygons">Polygons</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link101folder.4.3" href="en/func/filled.html#cdBox">Box</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link102folder.4.3" href="en/func/filled.html#cdSector">Sector</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link103folder.4.3" href="en/func/filled.html#cdChord">Chord</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link104folder.4.3" href="en/func/filled.html#Polygons">Polygons</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link105folder.4.3" href="en/func/filled.html#cdBox">Box</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link106folder.4.3" href="en/func/filled.html#cdSector">Sector</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link107folder.4.3" href="en/func/filled.html#cdChord">Chord</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.3.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.3.1')"> Attributes</p> <div id="folder.4.3.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link104folder.4.3.1" href="en/func/filled.html#cdBackOpacity">BackOpacity</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link105folder.4.3.1" href="en/func/filled.html#cdFillMode">FillMode</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link106folder.4.3.1" href="en/func/filled.html#cdInteriorStyle">InteriorStyle</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link107folder.4.3.1" href="en/func/filled.html#cdHatch">Hatch</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link108folder.4.3.1" href="en/func/filled.html#cdStipple">Stipple</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link109folder.4.3.1" href="en/func/filled.html#wdStipple">Stipple (WC)</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link110folder.4.3.1" href="en/func/filled.html#cdGetStipple">GetStipple</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link111folder.4.3.1" href="en/func/filled.html#cdPattern">Pattern</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link112folder.4.3.1" href="en/func/filled.html#wdPattern">Pattern (WC)</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link113folder.4.3.1" href="en/func/filled.html#cdGetPattern">GetPattern</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link114folder.4.3.1" href="en/func/filled.html#DataAccess">Data Access</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link108folder.4.3.1" href="en/func/filled.html#cdBackOpacity">BackOpacity</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link109folder.4.3.1" href="en/func/filled.html#cdFillMode">FillMode</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link110folder.4.3.1" href="en/func/filled.html#cdInteriorStyle">InteriorStyle</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link111folder.4.3.1" href="en/func/filled.html#cdHatch">Hatch</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link112folder.4.3.1" href="en/func/filled.html#cdStipple">Stipple</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link113folder.4.3.1" href="en/func/filled.html#wdStipple">Stipple (WC)</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link114folder.4.3.1" href="en/func/filled.html#cdGetStipple">GetStipple</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link115folder.4.3.1" href="en/func/filled.html#cdPattern">Pattern</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link116folder.4.3.1" href="en/func/filled.html#wdPattern">Pattern (WC)</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link117folder.4.3.1" href="en/func/filled.html#cdGetPattern">GetPattern</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link118folder.4.3.1" href="en/func/filled.html#DataAccess">Data Access</a></p> </div> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.3.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.3.2')"> Extras in Lua</p> <div id="folder.4.3.2"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link115folder.4.3.2" href="en/func/filled.html#cdCreatePattern">CreatePattern</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link116folder.4.3.2" href="en/func/filled.html#cdKillPattern">KillPattern</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link117folder.4.3.2" href="en/func/filled.html#cdCreateStipple">CreateStipple</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link118folder.4.3.2" href="en/func/filled.html#cdKillStipple">KillStipple</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link119folder.4.3.2" href="en/func/filled.html#cdCreatePattern">CreatePattern</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link120folder.4.3.2" href="en/func/filled.html#cdKillPattern">KillPattern</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link121folder.4.3.2" href="en/func/filled.html#cdCreateStipple">CreateStipple</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link122folder.4.3.2" href="en/func/filled.html#cdKillStipple">KillStipple</a></p> </div> </div> - <p><img src="wb_img/vertline.png"><img name="imgfolder.4.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.4')"><a name="link119folder.4.4" class="el" href="en/func/text.html">Text</a></p> + <p><img src="wb_img/vertline.png"><img name="imgfolder.4.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.4')"><a name="link123folder.4.4" class="el" href="en/func/text.html">Text</a></p> <div id="folder.4.4"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link120folder.4.4" href="en/func/text.html#cdText">Text</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link124folder.4.4" href="en/func/text.html#cdText">Text</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.4.1')"> Attributes</p> <div id="folder.4.4.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link121folder.4.4.1" href="en/func/text.html#cdFont">Font</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link122folder.4.4.1" href="en/func/text.html#cdGetFont">GetFont</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link123folder.4.4.1" href="en/func/text.html#cdNativeFont">NativeFont</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link124folder.4.4.1" href="en/func/text.html#cdTextAlignment">TextAlignment</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link125folder.4.4.1" href="en/func/text.html#cdTextOrientation">TextOrientation</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link125folder.4.4.1" href="en/func/text.html#cdFont">Font</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link126folder.4.4.1" href="en/func/text.html#cdGetFont">GetFont</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link127folder.4.4.1" href="en/func/text.html#cdNativeFont">NativeFont</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link128folder.4.4.1" href="en/func/text.html#cdTextAlignment">TextAlignment</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link129folder.4.4.1" href="en/func/text.html#cdTextOrientation">TextOrientation</a></p> </div> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.4.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.4.2')"> Properties</p> <div id="folder.4.4.2"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link126folder.4.4.2" href="en/func/text.html#cdFontDim">GetFontDim</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link127folder.4.4.2" href="en/func/text.html#cdTextSize">GetTextSize</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link128folder.4.4.2" href="en/func/text.html#cdTextBounds">GetTextBounds</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link129folder.4.4.2" href="en/func/text.html#cdTextBox">GetTextBox</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link130folder.4.4.2" href="en/func/text.html#cdFontDim">GetFontDim</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link131folder.4.4.2" href="en/func/text.html#cdTextSize">GetTextSize</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link132folder.4.4.2" href="en/func/text.html#cdTextBounds">GetTextBounds</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link133folder.4.4.2" href="en/func/text.html#cdTextBox">GetTextBox</a></p> </div> </div> - <p><img src="wb_img/vertline.png"><img name="imgfolder.4.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.5')"><a name="link130folder.4.5" class="el" href="en/func/vectortext.html">Vector Text</a></p> + <p><img src="wb_img/vertline.png"><img name="imgfolder.4.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.5')"><a name="link134folder.4.5" class="el" href="en/func/vectortext.html">Vector Text</a></p> <div id="folder.4.5"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link131folder.4.5" href="en/func/vectortext.html#cdVectorText">VectorText</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link135folder.4.5" href="en/func/vectortext.html#cdVectorText">VectorText</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.5.1')"> Attributes</p> <div id="folder.4.5.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link132folder.4.5.1" href="en/func/vectortext.html#cdVectorTextDirection">VectorTextDirection</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link133folder.4.5.1" href="en/func/vectortext.html#cdVectorTextTransform">VectorTextTransform</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link134folder.4.5.1" href="en/func/vectortext.html#cdVectorTextSize">VectorTextSize</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link135folder.4.5.1" href="en/func/vectortext.html#cdVectorCharSize">VectorCharSize</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link136folder.4.5.1" href="en/func/vectortext.html#cdVectorFont">VectorFont</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link136folder.4.5.1" href="en/func/vectortext.html#cdVectorTextDirection">VectorTextDirection</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link137folder.4.5.1" href="en/func/vectortext.html#cdVectorTextTransform">VectorTextTransform</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link138folder.4.5.1" href="en/func/vectortext.html#cdVectorTextSize">VectorTextSize</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link139folder.4.5.1" href="en/func/vectortext.html#cdVectorCharSize">VectorCharSize</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link140folder.4.5.1" href="en/func/vectortext.html#cdVectorFont">VectorFont</a></p> </div> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.5.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.5.2')"> Properties</p> <div id="folder.4.5.2"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link137folder.4.5.2" href="en/func/vectortext.html#cdGetVectorTextSize">GetVectorTextSize</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link138folder.4.5.2" href="en/func/vectortext.html#cdGetVectorTextBounds">GetVectorTextBounds</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link139folder.4.5.2" href="en/func/vectortext.html#cdGetVectorTextBox">GetVectorTextBox</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link141folder.4.5.2" href="en/func/vectortext.html#cdGetVectorTextSize">GetVectorTextSize</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link142folder.4.5.2" href="en/func/vectortext.html#cdGetVectorTextBounds">GetVectorTextBounds</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link143folder.4.5.2" href="en/func/vectortext.html#cdGetVectorTextBox">GetVectorTextBox</a></p> </div> </div> - <p><img src="wb_img/vertline.png"><img name="imgfolder.4.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.6')"><a name="link140folder.4.6" class="el" href="en/func/client.html">Client Images</a></p> + <p><img src="wb_img/vertline.png"><img name="imgfolder.4.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.6')"><a name="link144folder.4.6" class="el" href="en/func/client.html">Client Images</a></p> <div id="folder.4.6"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link141folder.4.6" href="en/func/client.html#cdGetImageRGB">GetImageRGB</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link142folder.4.6" href="en/func/client.html#cdPutImageRectRGB">PutImageRectRGB</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link143folder.4.6" href="en/func/client.html#cdPutImageRectRGBA">PutImageRectRGBA</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link144folder.4.6" href="en/func/client.html#cdPutImageRectMap">PutImageRectMap</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link145folder.4.6" href="en/func/client.html#cdRGB2Map">RGB2Map</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link145folder.4.6" href="en/func/client.html#cdGetImageRGB">GetImageRGB</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link146folder.4.6" href="en/func/client.html#cdPutImageRectRGB">PutImageRectRGB</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link147folder.4.6" href="en/func/client.html#cdPutImageRectRGBA">PutImageRectRGBA</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link148folder.4.6" href="en/func/client.html#cdPutImageRectMap">PutImageRectMap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link149folder.4.6" href="en/func/client.html#cdRGB2Map">RGB2Map</a></p> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.6.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.6.1')"> Extras</p> <div id="folder.4.6.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link146folder.4.6.1" href="en/func/client.html#cdCreateBitmap">CreateBitmap</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link147folder.4.6.1" href="en/func/client.html#cdInitBitmap">InitBitmap</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link148folder.4.6.1" href="en/func/client.html#cdKillBitmap">KillBitmap</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link149folder.4.6.1" href="en/func/client.html#cdBitmapGetData">BitmapGetData</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link150folder.4.6.1" href="en/func/client.html#cdBitmapSetRect">BitmapSetRect</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link151folder.4.6.1" href="en/func/client.html#cdGetBitmap">GetBitmap</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link152folder.4.6.1" href="en/func/client.html#cdPutBitmap">PutBitmap</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link153folder.4.6.1" href="en/func/client.html#cdBitmapRGB2Map">BitmapRGB2Map</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link150folder.4.6.1" href="en/func/client.html#cdCreateBitmap">CreateBitmap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link151folder.4.6.1" href="en/func/client.html#cdInitBitmap">InitBitmap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link152folder.4.6.1" href="en/func/client.html#cdKillBitmap">KillBitmap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link153folder.4.6.1" href="en/func/client.html#cdBitmapGetData">BitmapGetData</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link154folder.4.6.1" href="en/func/client.html#cdBitmapSetRect">BitmapSetRect</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link155folder.4.6.1" href="en/func/client.html#cdGetBitmap">GetBitmap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link156folder.4.6.1" href="en/func/client.html#cdPutBitmap">PutBitmap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link157folder.4.6.1" href="en/func/client.html#cdBitmapRGB2Map">BitmapRGB2Map</a></p> </div> <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.6.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.6.2')"> Extras in Lua</p> <div id="folder.4.6.2"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link154folder.4.6.2" href="en/func/client.html#cdCreateImageRGB">CreateImageRGB</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link155folder.4.6.2" href="en/func/client.html#cdKillImageRGB">KillImageRGB</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link156folder.4.6.2" href="en/func/client.html#cdCreateImageRGBA">CreateImageRGBA</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link157folder.4.6.2" href="en/func/client.html#cdKillImageRGBA">KillImageRGBA</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link158folder.4.6.2" href="en/func/client.html#cdCreateImageMap">CreateImageMap</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link159folder.4.6.2" href="en/func/client.html#cdKillImageMap">KillImageMap</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link160folder.4.6.2" href="en/func/client.html#DataAccess">Data Access</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link158folder.4.6.2" href="en/func/client.html#cdCreateImageRGB">CreateImageRGB</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link159folder.4.6.2" href="en/func/client.html#cdKillImageRGB">KillImageRGB</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link160folder.4.6.2" href="en/func/client.html#cdCreateImageRGBA">CreateImageRGBA</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link161folder.4.6.2" href="en/func/client.html#cdKillImageRGBA">KillImageRGBA</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link162folder.4.6.2" href="en/func/client.html#cdCreateImageMap">CreateImageMap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link163folder.4.6.2" href="en/func/client.html#cdKillImageMap">KillImageMap</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link164folder.4.6.2" href="en/func/client.html#DataAccess">Data Access</a></p> </div> </div> - <p><img src="wb_img/vertline.png"><img name="imgfolder.4.7" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.7')"><a name="link161folder.4.7" class="el" href="en/func/server.html">Server Images</a></p> + <p><img src="wb_img/vertline.png"><img name="imgfolder.4.7" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.7')"><a name="link165folder.4.7" class="el" href="en/func/server.html">Server Images</a></p> <div id="folder.4.7"> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link162folder.4.7" href="en/func/server.html#cdCreateImage">CreateImage</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link163folder.4.7" href="en/func/server.html#cdKillImage">KillImage</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link164folder.4.7" href="en/func/server.html#cdGetImage">GetImage</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link165folder.4.7" href="en/func/server.html#cdPutImageRect">PutImageRect</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link166folder.4.7" href="en/func/server.html#cdScrollArea">ScrollArea</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link166folder.4.7" href="en/func/server.html#cdCreateImage">CreateImage</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link167folder.4.7" href="en/func/server.html#cdKillImage">KillImage</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link168folder.4.7" href="en/func/server.html#cdGetImage">GetImage</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link169folder.4.7" href="en/func/server.html#cdPutImageRect">PutImageRect</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link170folder.4.7" href="en/func/server.html#cdScrollArea">ScrollArea</a></p> </div> </div> <p><img name="imgfolder.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5')"> Other</p> <div id="folder.5"> <p><img src="wb_img/vertline.png"><img name="imgfolder.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.1')"> System</p> <div id="folder.5.1"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link167folder.5.1" href="en/func/other.html#cdVersion">Version</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link171folder.5.1" href="en/func/other.html#cdVersion">Version</a></p> </div> <p><img src="wb_img/vertline.png"><img name="imgfolder.5.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.2')"> Metafile Interpretation</p> <div id="folder.5.2"> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link168folder.5.2" href="en/func/other.html#cdPlay">Play</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link169folder.5.2" href="en/func/other.html#cdRegisterCallback">RegisterCallback</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link172folder.5.2" href="en/func/other.html#cdPlay">Play</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link173folder.5.2" href="en/func/other.html#cdRegisterCallback">RegisterCallback</a></p> </div> <p><img src="wb_img/vertline.png"><img name="imgfolder.5.3" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.5.3')"> Color Coding</p> <div id="folder.5.3"> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link170folder.5.3" href="en/func/color.html#cdEncodeColor">EncodeColor</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link171folder.5.3" href="en/func/color.html#cdDecodeColor">DecodeColor</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link172folder.5.3" href="en/func/color.html#cdEncodeAlpha">EncodeAlpha</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link173folder.5.3" href="en/func/color.html#cdDecodeAlpha">DecodeAlpha</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link174folder.5.3" href="en/func/color.html#cdRed">Red</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link175folder.5.3" href="en/func/color.html#cdGreen">Green</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link176folder.5.3" href="en/func/color.html#cdBlue">Blue</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link174folder.5.3" href="en/func/color.html#cdEncodeColor">EncodeColor</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link175folder.5.3" href="en/func/color.html#cdDecodeColor">DecodeColor</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link176folder.5.3" href="en/func/color.html#cdEncodeAlpha">EncodeAlpha</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link177folder.5.3" href="en/func/color.html#cdDecodeAlpha">DecodeAlpha</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link178folder.5.3" href="en/func/color.html#cdRed">Red</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link179folder.5.3" href="en/func/color.html#cdGreen">Green</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link180folder.5.3" href="en/func/color.html#cdBlue">Blue</a></p> <p class="sep"><img src="wb_img/sepvertline.png"><img src="wb_img/sepblank.png"><img src="wb_img/sepnode.png"></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link177folder.5.3" href="en/func/color.html#cdGetColorPlanes">GetColorPlanes</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link178folder.5.3" href="en/func/color.html#cdPalette">Palette</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link179folder.5.3" href="en/func/color.html#cdCreatePalette">CreatePalette</a></p> - <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link180folder.5.3" href="en/func/color.html#cdKillPalette">KillPalette</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link181folder.5.3" href="en/func/color.html#cdGetColorPlanes">GetColorPlanes</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link182folder.5.3" href="en/func/color.html#cdPalette">Palette</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link183folder.5.3" href="en/func/color.html#cdCreatePalette">CreatePalette</a></p> + <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link184folder.5.3" href="en/func/color.html#cdKillPalette">KillPalette</a></p> </div> </div> - <p><img name="imgfolder.6" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6')"><a name="link181folder.6" class="el" href="en/drv.html">Drivers</a></p> + <p><img name="imgfolder.6" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6')"><a name="link185folder.6" class="el" href="en/drv.html">Drivers</a></p> <div id="folder.6"> <p><img src="wb_img/blank.png"><img name="imgfolder.6.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1')"> Window Systems</p> <div id="folder.6.1"> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link182folder.6.1" href="en/drv/iup.html">IUP</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link183folder.6.1" href="en/drv/native.html">Native Window</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link186folder.6.1" href="en/drv/iup.html">IUP</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link187folder.6.1" href="en/drv/native.html">Native Window</a></p> </div> <p><img src="wb_img/blank.png"><img name="imgfolder.6.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.2')"> Devices</p> <div id="folder.6.2"> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link184folder.6.2" href="en/drv/clipbd.html">Clipboard</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link185folder.6.2" href="en/drv/printer.html">Printer</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link186folder.6.2" href="en/drv/picture.html">Picture</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link188folder.6.2" href="en/drv/clipbd.html">Clipboard</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link189folder.6.2" href="en/drv/printer.html">Printer</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link190folder.6.2" href="en/drv/picture.html">Picture</a></p> </div> <p><img src="wb_img/blank.png"><img name="imgfolder.6.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.3')"> Images</p> <div id="folder.6.3"> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link187folder.6.3" href="en/drv/irgb.html">Client Image</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link188folder.6.3" href="en/drv/image.html">Server Image</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link189folder.6.3" href="en/drv/dbufrgb.html">Client Double Buffer</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link190folder.6.3" href="en/drv/dbuf.html">Server Double Buffer</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link191folder.6.3" href="en/drv/irgb.html">Client Image</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link192folder.6.3" href="en/drv/image.html">Server Image</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link193folder.6.3" href="en/drv/dbufrgb.html">Client Double Buffer</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link194folder.6.3" href="en/drv/dbuf.html">Server Double Buffer</a></p> </div> <p><img src="wb_img/blank.png"><img name="imgfolder.6.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.4')"> File</p> <div id="folder.6.4"> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link191folder.6.4" href="en/drv/pdf.html">PDF</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link192folder.6.4" href="en/drv/ps.html">PS</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link193folder.6.4" href="en/drv/mf.html">MF</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link195folder.6.4" href="en/drv/pdf.html">PDF</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link196folder.6.4" href="en/drv/ps.html">PS</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link197folder.6.4" href="en/drv/mf.html">MF</a></p> <p class="sep"><img src="wb_img/sepblank.png"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link194folder.6.4" href="en/drv/cgm.html">CGM</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link195folder.6.4" href="en/drv/dgn.html">DGN</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link196folder.6.4" href="en/drv/dxf.html">DXF</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link198folder.6.4" href="en/drv/cgm.html">CGM</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link199folder.6.4" href="en/drv/dgn.html">DGN</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link200folder.6.4" href="en/drv/dxf.html">DXF</a></p> <p class="sep"><img src="wb_img/sepblank.png"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link197folder.6.4" href="en/drv/emf.html">EMF</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link198folder.6.4" href="en/drv/wmf.html">WMF</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link199folder.6.4" href="en/drv/debug.html">DEBUG</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link201folder.6.4" href="en/drv/emf.html">EMF</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link202folder.6.4" href="en/drv/wmf.html">WMF</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link203folder.6.4" href="en/drv/debug.html">DEBUG</a></p> </div> <p><img src="wb_img/blank.png"><img name="imgfolder.6.5" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6.5')"> Base Drivers</p> <div id="folder.6.5"> - <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link200folder.6.5" href="en/drv/sim.html">Simulation</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link201folder.6.5" href="en/drv/win32.html">Win32</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link202folder.6.5" href="en/drv/gdiplus.html">Win32 GDI+</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link203folder.6.5" href="en/drv/xwin.html">X-Win</a></p> - <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link204folder.6.5" href="en/drv/xrender.html">XRender</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link204folder.6.5" href="en/drv/sim.html">Simulation</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link205folder.6.5" href="en/drv/win32.html">Win32</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link206folder.6.5" href="en/drv/gdiplus.html">Win32 GDI+</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link207folder.6.5" href="en/drv/xwin.html">X-Win</a></p> + <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link208folder.6.5" href="en/drv/xrender.html">XRender</a></p> </div> </div> </div> diff --git a/include/wd.h b/include/wd.h index 80ee7b0..f238027 100644 --- a/include/wd.h +++ b/include/wd.h @@ -19,6 +19,10 @@ void wdCanvasGetViewport(cdCanvas* canvas, int *xmin, int *xmax, int *ymin, i void wdCanvasWorld2Canvas(cdCanvas* canvas, double xw, double yw, int *xv, int *yv); void wdCanvasWorld2CanvasSize(cdCanvas* canvas, double hw, double vw, int *hv, int *vv); void wdCanvasCanvas2World(cdCanvas* canvas, int xv, int yv, double *xw, double *yw); +void wdCanvasSetTransform(cdCanvas* canvas, double sx, double sy, double tx, double ty); +void wdCanvasGetTransform(cdCanvas* canvas, double *sx, double *sy, double *tx, double *ty); +void wdCanvasTranslate(cdCanvas* canvas, double dtx, double dty); +void wdCanvasScale(cdCanvas* canvas, double dsx, double dsy); void wdCanvasClipArea(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax); int wdCanvasGetClipArea(cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax); @@ -145,6 +145,9 @@ EXPORTS wdGetViewport wdWorld2Canvas wdCanvas2World + wdCanvasSetTransform + wdCanvasTranslate + wdCanvasScale wdClipArea wdGetClipArea diff --git a/src/lua5/cdlua5_canvas.c b/src/lua5/cdlua5_canvas.c index 7fb5402..f3b929d 100644 --- a/src/lua5/cdlua5_canvas.c +++ b/src/lua5/cdlua5_canvas.c @@ -471,6 +471,56 @@ static int cdlua5_ftransformpoint(lua_State *L) \***************************************************************************/ /***************************************************************************\ +* wd.GetTransform() -> (sx, sy, tx, ty: number) * +\***************************************************************************/ +static int wdlua5_gettransform(lua_State *L) +{ + double sx, sy, tx, ty; + + wdCanvasGetTransform(cdlua_checkcanvas(L, 1), &sx, &sy, &tx, &ty); + lua_pushnumber(L, sx); + lua_pushnumber(L, sy); + lua_pushnumber(L, tx); + lua_pushnumber(L, ty); + return 4; +} + +/***************************************************************************\ +* wd.SetTransform(sx, sy, tx, ty: number) * +\***************************************************************************/ +static int wdlua5_settransform(lua_State *L) +{ + double sx = luaL_checknumber(L, 2); + double sy = luaL_checknumber(L, 3); + double tx = luaL_checknumber(L, 4); + double ty = luaL_checknumber(L, 5); + wdCanvasSetTransform(cdlua_checkcanvas(L, 1), sx, sy, tx, ty); + return 0; +} + +/***************************************************************************\ +* wd.Translate(tx, ty: number) * +\***************************************************************************/ +static int wdlua5_translate(lua_State *L) +{ + double tx = luaL_checknumber(L, 2); + double ty = luaL_checknumber(L, 3); + wdCanvasTranslate(cdlua_checkcanvas(L, 1), tx, ty); + return 0; +} + +/***************************************************************************\ +* wd.Scale(sx, sy: number) * +\***************************************************************************/ +static int wdlua5_scale(lua_State *L) +{ + double sx = luaL_checknumber(L, 2); + double sy = luaL_checknumber(L, 3); + wdCanvasScale(cdlua_checkcanvas(L, 1), sx, sy); + return 0; +} + +/***************************************************************************\ * wd.Window(xmin, xmax, ymin, ymax: number) * \***************************************************************************/ static int wdlua5_window(lua_State *L) @@ -2224,6 +2274,10 @@ static const struct luaL_reg cdlib_canvas_meta[] = { {"wGetViewport" , wdlua5_getviewport}, {"wWorld2Canvas" , wdlua5_world2canvas}, {"wCanvas2World" , wdlua5_canvas2world}, + {"wGetTransform" , wdlua5_gettransform}, + {"wSetTransform" , wdlua5_settransform}, + {"wScale" , wdlua5_scale}, + {"wTranslate" , wdlua5_translate}, {"wHardcopy" , wdlua5_hardcopy}, @@ -8,6 +8,7 @@ #include <stdio.h> #include <math.h> #include <string.h> +#include <assert.h> #include <memory.h> #include "cd.h" @@ -33,6 +34,47 @@ static void wdUpdateTransformation(cdCanvas* canvas) canvas->s = sqrt(canvas->sx * canvas->sx + canvas->sy * canvas->sy); } +void wdCanvasSetTransform(cdCanvas* canvas, double sx, double sy, double tx, double ty) +{ + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + + canvas->sx = sx; + canvas->tx = tx; + canvas->sy = sy; + canvas->ty = ty; + canvas->s = sqrt(canvas->sx * canvas->sx + canvas->sy * canvas->sy); +} + +void wdCanvasGetTransform(cdCanvas* canvas, double *sx, double *sy, double *tx, double *ty) +{ + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + + if (sx) *sx = canvas->sx; + if (tx) *tx = canvas->tx; + if (sy) *sy = canvas->sy; + if (ty) *ty = canvas->ty; +} + +void wdCanvasTranslate(cdCanvas* canvas, double dtx, double dty) +{ + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + + canvas->tx += dtx; + canvas->ty += dty; +} + +void wdCanvasScale(cdCanvas* canvas, double dsx, double dsy) +{ + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + + canvas->sx *= dsx; + canvas->sy *= dsy; +} + void wdSetDefaults(cdCanvas* canvas) { canvas->window.xmin = 0; @@ -50,6 +92,9 @@ void wdSetDefaults(cdCanvas* canvas) void wdCanvasWindow(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax) { + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + canvas->window.xmin = xmin; canvas->window.xmax = xmax; canvas->window.ymin = ymin; @@ -60,6 +105,9 @@ void wdCanvasWindow(cdCanvas* canvas, double xmin, double xmax, double ymin, do void wdCanvasGetWindow (cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax) { + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + if (xmin) *xmin = canvas->window.xmin; if (xmax) *xmax = canvas->window.xmax; if (ymin) *ymin = canvas->window.ymin; @@ -68,6 +116,9 @@ void wdCanvasGetWindow (cdCanvas* canvas, double *xmin, double *xmax, double void wdCanvasViewport(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax) { + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + canvas->viewport.xmin = xmin; canvas->viewport.xmax = xmax; canvas->viewport.ymin = ymin; @@ -78,6 +129,9 @@ void wdCanvasViewport(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax) void wdCanvasGetViewport(cdCanvas* canvas, int *xmin, int *xmax, int *ymin, int *ymax) { + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + if (xmin) *xmin = canvas->viewport.xmin; if (xmax) *xmax = canvas->viewport.xmax; if (ymin) *ymin = canvas->viewport.ymin; @@ -135,6 +189,8 @@ void wdCanvasCanvas2World(cdCanvas* canvas, int xv, int yv, double *xw, double * void wdCanvasClipArea(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax) { int xminr, xmaxr, yminr, ymaxr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; _wWorld2Canvas(canvas, xmin, ymin, xminr, yminr); _wWorld2Canvas(canvas, xmax, ymax, xmaxr, ymaxr); @@ -145,6 +201,9 @@ void wdCanvasClipArea(cdCanvas* canvas, double xmin, double xmax, double ymin, d int wdCanvasIsPointInRegion(cdCanvas* canvas, double x, double y) { int xr, yr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return CD_ERROR; + _wWorld2Canvas(canvas, x, y, xr, yr); return cdCanvasIsPointInRegion(canvas, xr, yr); } @@ -152,6 +211,9 @@ int wdCanvasIsPointInRegion(cdCanvas* canvas, double x, double y) void wdCanvasOffsetRegion(cdCanvas* canvas, double x, double y) { int xr, yr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wWorld2Canvas(canvas, x, y, xr, yr); cdCanvasOffsetRegion(canvas, xr, yr); } @@ -159,6 +221,9 @@ void wdCanvasOffsetRegion(cdCanvas* canvas, double x, double y) void wdCanvasGetRegionBox(cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax) { int xminr, xmaxr, yminr, ymaxr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + cdCanvasGetRegionBox(canvas, &xminr, &xmaxr, &yminr, &ymaxr); _wCanvas2World(canvas, xminr, yminr, *xmin, *ymin); _wCanvas2World(canvas, xmaxr, ymaxr, *xmax, *ymax); @@ -166,8 +231,11 @@ void wdCanvasGetRegionBox(cdCanvas* canvas, double *xmin, double *xmax, double * int wdCanvasGetClipArea(cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax) { - int xminr, xmaxr, yminr, ymaxr; - int clip = cdCanvasGetClipArea(canvas, &xminr, &xmaxr, &yminr, &ymaxr); + int xminr, xmaxr, yminr, ymaxr, clip; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return CD_ERROR; + + clip = cdCanvasGetClipArea(canvas, &xminr, &xmaxr, &yminr, &ymaxr); _wCanvas2World(canvas, xminr, yminr, *xmin, *ymin); _wCanvas2World(canvas, xmaxr, ymaxr, *xmax, *ymax); return clip; @@ -176,6 +244,9 @@ int wdCanvasGetClipArea(cdCanvas* canvas, double *xmin, double *xmax, double *ym void wdCanvasLine(cdCanvas* canvas, double x1, double y1, double x2, double y2) { double xr1, xr2, yr1, yr2; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wfWorld2Canvas(canvas, x1, y1, xr1, yr1); _wfWorld2Canvas(canvas, x2, y2, xr2, yr2); cdfCanvasLine(canvas, xr1, yr1, xr2, yr2); @@ -184,6 +255,9 @@ void wdCanvasLine(cdCanvas* canvas, double x1, double y1, double x2, double y2) void wdCanvasBox(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax) { double xminr, xmaxr, yminr, ymaxr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wfWorld2Canvas(canvas, xmin, ymin, xminr, yminr); _wfWorld2Canvas(canvas, xmax, ymax, xmaxr, ymaxr); cdfCanvasBox(canvas, xminr, xmaxr, yminr, ymaxr); @@ -192,6 +266,9 @@ void wdCanvasBox(cdCanvas* canvas, double xmin, double xmax, double ymin, double void wdCanvasRect(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax) { double xminr, xmaxr, yminr, ymaxr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wfWorld2Canvas(canvas, xmin, ymin, xminr, yminr); _wfWorld2Canvas(canvas, xmax, ymax, xmaxr, ymaxr); cdfCanvasRect(canvas, xminr, xmaxr, yminr, ymaxr); @@ -200,6 +277,9 @@ void wdCanvasRect(cdCanvas* canvas, double xmin, double xmax, double ymin, doubl void wdCanvasArc(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2) { double xcr, ycr, wr, hr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wfWorld2Canvas(canvas, xc, yc, xcr, ycr); _wfWorld2CanvasSize(canvas, w, h, wr, hr); cdfCanvasArc(canvas, xcr, ycr, wr, hr, angle1, angle2); @@ -208,6 +288,9 @@ void wdCanvasArc(cdCanvas* canvas, double xc, double yc, double w, double h, dou void wdCanvasSector(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2) { double xcr, ycr, wr, hr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wfWorld2Canvas(canvas, xc, yc, xcr, ycr); _wfWorld2CanvasSize(canvas, w, h, wr, hr); cdfCanvasSector(canvas, xcr, ycr, wr, hr, angle1, angle2); @@ -216,6 +299,9 @@ void wdCanvasSector(cdCanvas* canvas, double xc, double yc, double w, double h, void wdCanvasChord(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2) { double xcr, ycr, wr, hr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wfWorld2Canvas(canvas, xc, yc, xcr, ycr); _wfWorld2CanvasSize(canvas, w, h, wr, hr); cdfCanvasChord(canvas, xcr, ycr, wr, hr, angle1, angle2); @@ -224,6 +310,9 @@ void wdCanvasChord(cdCanvas* canvas, double xc, double yc, double w, double h, d void wdCanvasText(cdCanvas* canvas, double x, double y, const char *s) { double xr, yr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wfWorld2Canvas(canvas, x, y, xr, yr); cdfCanvasText(canvas, xr, yr, s); } @@ -231,6 +320,9 @@ void wdCanvasText(cdCanvas* canvas, double x, double y, const char *s) void wdCanvasVertex(cdCanvas* canvas, double x, double y) { double xr, yr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wfWorld2Canvas(canvas, x, y, xr, yr); cdfCanvasVertex(canvas, xr, yr); } @@ -238,6 +330,9 @@ void wdCanvasVertex(cdCanvas* canvas, double x, double y) void wdCanvasMark(cdCanvas* canvas, double x, double y) { int xr, yr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wWorld2Canvas(canvas, x, y, xr, yr); cdCanvasMark(canvas, xr, yr); } @@ -245,6 +340,9 @@ void wdCanvasMark(cdCanvas* canvas, double x, double y) void wdCanvasPixel(cdCanvas* canvas, double x, double y, long color) { int xr, yr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wWorld2Canvas(canvas, x, y, xr, yr); cdCanvasPixel(canvas, xr, yr, color); } @@ -252,6 +350,9 @@ void wdCanvasPixel(cdCanvas* canvas, double x, double y, long color) void wdCanvasPutImageRect(cdCanvas* canvas, cdImage* image, double x, double y, int xmin, int xmax, int ymin, int ymax) { int xr, yr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wWorld2Canvas(canvas, x, y, xr, yr); cdCanvasPutImageRect(canvas, image, xr, yr, xmin, xmax, ymin, ymax); } @@ -259,6 +360,9 @@ void wdCanvasPutImageRect(cdCanvas* canvas, cdImage* image, double x, double y, void wdCanvasPutImageRectRGB(cdCanvas* canvas, int iw, int ih, const unsigned char *r, const unsigned char *g, const unsigned char *b, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) { int xr, yr, wr, hr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wWorld2Canvas(canvas, x, y, xr, yr); _wWorld2CanvasSize(canvas, w, h, wr, hr); cdCanvasPutImageRectRGB(canvas, iw, ih, r, g, b, xr, yr, wr, hr, xmin, xmax, ymin, ymax); @@ -267,6 +371,9 @@ void wdCanvasPutImageRectRGB(cdCanvas* canvas, int iw, int ih, const unsigned ch void wdCanvasPutImageRectRGBA(cdCanvas* canvas, int iw, int ih, const unsigned char *r, const unsigned char *g, const unsigned char *b, const unsigned char *a, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) { int xr, yr, wr, hr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wWorld2Canvas(canvas, x, y, xr, yr); _wWorld2CanvasSize(canvas, w, h, wr, hr); cdCanvasPutImageRectRGBA(canvas, iw, ih, r, g, b, a, xr, yr, wr, hr, xmin, xmax, ymin, ymax); @@ -275,6 +382,9 @@ void wdCanvasPutImageRectRGBA(cdCanvas* canvas, int iw, int ih, const unsigned c void wdCanvasPutImageRectMap(cdCanvas* canvas, int iw, int ih, const unsigned char *index, const long *colors, double x, double y, double w, double h, int xmin, int xmax, int ymin, int ymax) { int xr, yr, wr, hr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wWorld2Canvas(canvas, x, y, xr, yr); _wWorld2CanvasSize(canvas, w, h, wr, hr); cdCanvasPutImageRectMap(canvas, iw, ih, index, colors, xr, yr, wr, hr, xmin, xmax, ymin, ymax); @@ -283,6 +393,9 @@ void wdCanvasPutImageRectMap(cdCanvas* canvas, int iw, int ih, const unsigned ch void wdCanvasPutBitmap(cdCanvas* canvas, cdBitmap* image, double x, double y, double w, double h) { int xr, yr, wr, hr; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wWorld2Canvas(canvas, x, y, xr, yr); _wWorld2CanvasSize(canvas, w, h, wr, hr); cdCanvasPutBitmap(canvas, image, xr, yr, wr, hr); @@ -291,8 +404,11 @@ void wdCanvasPutBitmap(cdCanvas* canvas, cdBitmap* image, double x, double y, do double wdCanvasLineWidth(cdCanvas* canvas, double width_mm) { int width; - double line_width_mm = canvas->line_width/canvas->xres; + double line_width_mm; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return CD_ERROR; + line_width_mm = canvas->line_width/canvas->xres; if (width_mm == CD_QUERY) return line_width_mm; @@ -326,8 +442,11 @@ void wdCanvasGetFont(cdCanvas* canvas, char *type_face, int *style, double *size double wdCanvasMarkSize(cdCanvas* canvas, double size_mm) { int size; - double mark_size_mm = canvas->mark_size/canvas->xres; + double mark_size_mm; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return CD_ERROR; + mark_size_mm = canvas->mark_size/canvas->xres; if (size_mm == CD_QUERY) return mark_size_mm; @@ -344,6 +463,9 @@ void wdCanvasGetFontDim(cdCanvas* canvas, double *max_width, double *height, dou double origin_x, origin_y, tmp = 0; double distance_x, distance_y; int font_max_width, font_height, font_ascent, font_descent; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + cdCanvasGetFontDim(canvas, &font_max_width, &font_height, &font_ascent, &font_descent); _wCanvas2World(canvas, 0, 0, origin_x, origin_y); _wCanvas2World(canvas, font_max_width, font_height, distance_x, distance_y); @@ -360,6 +482,9 @@ void wdCanvasGetTextSize(cdCanvas* canvas, const char *s, double *width, double int text_width, text_height; double origin_x, origin_y; double text_x, text_y; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; + _wCanvas2World(canvas, 0, 0, origin_x, origin_y); cdCanvasGetTextSize(canvas, s, &text_width, &text_height); _wCanvas2World(canvas, text_width, text_height, text_x, text_y); @@ -370,6 +495,8 @@ void wdCanvasGetTextSize(cdCanvas* canvas, const char *s, double *width, double void wdCanvasGetTextBox(cdCanvas* canvas, double x, double y, const char *s, double *xmin, double *xmax, double *ymin, double *ymax) { int rx, ry, rxmin, rxmax, rymin, rymax; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; _wWorld2Canvas(canvas, x, y, rx, ry); cdCanvasGetTextBox(canvas, rx, ry, s, &rxmin, &rxmax, &rymin, &rymax); @@ -381,6 +508,8 @@ void wdCanvasGetTextBox(cdCanvas* canvas, double x, double y, const char *s, dou void wdCanvasGetTextBounds(cdCanvas* canvas, double x, double y, const char *s, double *rect) { int rx, ry, rrect[8]; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; _wWorld2Canvas(canvas, x, y, rx, ry); cdCanvasGetTextBounds(canvas, rx, ry, s, rrect); @@ -397,6 +526,8 @@ void wdCanvasPattern(cdCanvas* canvas, int w, int h, const long *color, double w int w_pxl, h_pxl, x, y, cx, cy; int wratio, hratio; int *XTab, *YTab; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; cdCanvasMM2Pixel(canvas, w_mm, h_mm, &w_pxl, &h_pxl); @@ -437,6 +568,8 @@ void wdCanvasStipple(cdCanvas* canvas, int w, int h, const unsigned char *fgbg, int w_pxl, h_pxl, x, y, cx, cy; int wratio, hratio; int *XTab, *YTab; + assert(canvas); + if (!_cdCheckCanvas(canvas)) return; cdCanvasMM2Pixel(canvas, w_mm, h_mm, &w_pxl, &h_pxl); |