summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--html/en/func/wd.html29
-rw-r--r--html/en/history.html6
-rw-r--r--html/wb/wb_usr.lua16
-rw-r--r--html/wb_tree.html280
-rw-r--r--include/wd.h4
-rw-r--r--src/cd.def3
-rw-r--r--src/lua5/cdlua5_canvas.c54
-rw-r--r--src/wd.c141
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) -&gt; (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() -&gt; (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);
diff --git a/src/cd.def b/src/cd.def
index 0aa2c35..61ac5cf 100644
--- a/src/cd.def
+++ b/src/cd.def
@@ -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},
diff --git a/src/wd.c b/src/wd.c
index 85e01dd..0bd4f9a 100644
--- a/src/wd.c
+++ b/src/wd.c
@@ -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);