drawVBL: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
(Modified usage)
(Modified usage)
Line 1: Line 1:
{{stub|Needs a proper description.<br />
{{stub|Lacks examples.}}
Parameters need to be defined.<br />
Lacks examples.}}
{{MacroFunction
{{MacroFunction
|name=drawVBL
|name=drawVBL
Line 8: Line 6:
|version=1.3b89
|version=1.3b89
|description=
|description=
This function draws a VBL shape at the supplied coordinates.
This function draws VBL shapes.


|usage=
|usage=
<source lang="mtmacro" line>
<source lang="mtmacro" line>
drawVBL(???)
drawVBL(shapesList)
</source>
</source>


'''Parameters'''
'''Parameters'''
{{note|Consist of [[JSON Object|JSON objects]] nested in a [[JSON Array]]. The objects' keys seem to be "shape" ''("polygon", "rectangle", "circle", "cross")'', "r" ''(???)'', "fill" ''(boolean)'', "close" ''(???)'', "thickness" ''(pixels)'', "points" ''(object)'', "x" ''(pixels)'', "y" ''(pixels)'', "w" ''(pixels)'', "h" ''(pixels)'', "scale" ''(???)'', "radius" ''(pixels)'', "sides" ''(integer)'', "facing" ''(degrees from ??? rotating ???)'', "rx" ''(pixels)'', "ry" ''(pixels)''.}}
{{param|shapesList|A [[JSON Array]] of [[JSON Object|JSON objects]], one of the latter for each VBL shape.}}
The shapes can be one of Rectangle, Circle, Polygon or Cross.
 
* For {{code|"Rectangle"}}, you need to supply {{code|"x"}}, {{code|"y"}}, {{code|"w"}}, {{code|"h"}} in pixels and optionally you can specify {{code|"r"}} (rotation on center axis in degrees), {{code|"fill"}} ({{code|1}} = fill rectangle otherwise create empty shape), {{code|"thickness"}} (line thickness {{code|1}} to {{code|n}}, {{code|0}} or empty defaults to {{code|2}}), and {{code|"scale"}} (if provided number not {{code|0}}, will scale rectangle by {{code|x}}, ie scale: {{code|2}} is double, scale: {{code|0.5}} is half).
: Example:<source lang="mtmacro">
{"shape":"rectangle","x":1743,"y":2198,"w":100,"h":100,"r":45,"fill":1,"thickness":1,"scale":0}
</source><br />
 
* For {{code|"Circle"}}, you need to supply {{code|"x"}}, {{code|"y"}}, {{code|"radius"}} in pixels, {{code|"fill"}} ({{code|1}} = fill circle otherwise create empty shape), {{code|"thickness"}} (line thickness {{code|1}} to {{code|n}}, {{code|0}} or empty defaults to {{code|2}}), and {{code|"sides"}} (specify how many sides the polygon will have to approximate a circle).
: Example:<source lang="mtmacro">
{"shape":"circle", "X":50, "Y":100, "radius":200, "sides":12, "thickness":3, "fill":0}</source><br />
 
* For {{code|"Polygon"}}, you can supply {{code|"r"}} (rotation on center axis in degrees) and {{code|"thickness"}} (line thickness {{code|1}} to {{code|n}}, {{code|0}} or empty defaults to {{code|2}}). If you specify {{code|"close":1}} then it will close the polygon otherwise it will leave it open. If it is closed, you can supply {{code|"fill":1}} to make the polygon solid. In addition you need to supply an array (named {{code|"points"}}) of 2 or more {{code|"x"}}, {{code|"y"}} coordinates.
: Example:<source lang="mtmacro">
{"shape":"polygon","r":0,"fill":1,"close":1,"thickness":10,"points":[{"x":1993,"y":1998},{"x":2043,"y":1998},{"x":1993,"y":2148}]}</source><br />
 
* For {{code|"Cross"}}, you need to supply {{code|"x"}}, {{code|"y"}}, {{code|"w"}}, {{code|"h"}} in pixels and optionally you can specify {{code|"r"}} (rotation on center axis in degrees), {{code|"thickness"}} (line thickness {{code|1}} to {{code|n}}, {{code|0}} or empty defaults to {{code|2}}), and {{code|"scale"}} (if provided number not {{code|0}}, will scale rectangle by {{code|x}}, ie scale: {{code|2}} is double, scale: {{code|0.5}} is half).
: Example:<source lang="mtmacro">{"shape":"cross","x":1593,"y":2198,"w":50,"h":50,"r":22,"thickness":5,"scale":0.75}</source><br />
 
|example=
|example=
This example doesn't really do anything.
This example doesn't really do anything.

Revision as of 16:59, 8 April 2013

 This article is a stub, you can help the RPTools Wiki project by contributing content to expand this article.
 This article needs: Lacks examples.

drawVBL() Function

 Note: This function can only be used in a Trusted Macro

Introduced in version 1.3b89
This function draws VBL shapes.

Usage

drawVBL(shapesList)

Parameters

The shapes can be one of Rectangle, Circle, Polygon or Cross.

  • For "Rectangle", you need to supply "x", "y", "w", "h" in pixels and optionally you can specify "r" (rotation on center axis in degrees), "fill" (1 = fill rectangle otherwise create empty shape), "thickness" (line thickness 1 to n, 0 or empty defaults to 2), and "scale" (if provided number not 0, will scale rectangle by x, ie scale: 2 is double, scale: 0.5 is half).
Example:
{"shape":"rectangle","x":1743,"y":2198,"w":100,"h":100,"r":45,"fill":1,"thickness":1,"scale":0}

  • For "Circle", you need to supply "x", "y", "radius" in pixels, "fill" (1 = fill circle otherwise create empty shape), "thickness" (line thickness 1 to n, 0 or empty defaults to 2), and "sides" (specify how many sides the polygon will have to approximate a circle).
Example:
{"shape":"circle", "X":50, "Y":100, "radius":200, "sides":12, "thickness":3, "fill":0}

  • For "Polygon", you can supply "r" (rotation on center axis in degrees) and "thickness" (line thickness 1 to n, 0 or empty defaults to 2). If you specify "close":1 then it will close the polygon otherwise it will leave it open. If it is closed, you can supply "fill":1 to make the polygon solid. In addition you need to supply an array (named "points") of 2 or more "x", "y" coordinates.
Example:
{"shape":"polygon","r":0,"fill":1,"close":1,"thickness":10,"points":[{"x":1993,"y":1998},{"x":2043,"y":1998},{"x":1993,"y":2148}]}

  • For "Cross", you need to supply "x", "y", "w", "h" in pixels and optionally you can specify "r" (rotation on center axis in degrees), "thickness" (line thickness 1 to n, 0 or empty defaults to 2), and "scale" (if provided number not 0, will scale rectangle by x, ie scale: 2 is double, scale: 0.5 is half).
Example:
{"shape":"cross","x":1593,"y":2198,"w":50,"h":50,"r":22,"thickness":5,"scale":0.75}

Example

This example doesn't really do anything.
[h: exampleVariable = "a,b,c"]
[r: exampleFunction(exampleVariable, reverse)]

Returns:

c,b,a

See Also