# Macro Language: Text & Graphic Commands

`text <tag> <x> <y> <font> <font size> <text> [c] [c] [c] [angle] [align] [pos] [offset] [cb] [cb] [cb]`

Adds a text label to the document.
`<tag>`: The `tag` argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
`<x>`, `<y>`: the position in screen coordinates of the text.
`<font>`: The font for the text (e.g. Helvetica-Bold)
`<font size>`: The font size of the text.
`[c] [c] [c]`: The color of the text. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB).
`[angle]`: The text angle.
`[align]`: The text alignment (0=left, 1=center, 2=right).
`[pos]`: The position for automatically positioned text label (0=off, 1-21 fixed text positions).
`[offset]`: Offset for automatically positioned text label.
`[cb] [cb] [cb]`: The color of the text background. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB).

`ftext <tag> <COOR> <x> <y> <font> <font size> <text> [c] [c] [c] [angle] [align] [tbalign] [cb] [cb] [cb]`

Adds a floating text label to the document.
`<tag>`: The `tag` argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
`<COOR>`: The coordinate system to which the rectangle belongs.
`<x>`, `<y>`: the position of the text in the defined coordinate system.
`<font>`: The font for the text (e.g. Helvetica-Bold)
`<font size>`: The font size of the text.
`[c] [c] [c]`: The color of the text. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB).
`[angle]`: The text angle.
`[align]`: The text alignment (0=left, 1=center, 2=right).
`[tbalign]` : The text box alignment.
`[pos]`: The position for automatically positioned text label (0=off, 1-21 fixed text positions).
`[offset]`: Offset for automatically positioned text label.
`[cb] [cb] [cb]`: The color of the text background. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB).

`qtext <COOR> <x> <y> <text> [angle] [align] [tbalign] [COLOR]`

Adds a text label to the document. This command uses the default color and the default font. The generated text label has the tag 999.
`<COOR>`: The coordinate system to which the rectangle belongs.
`<x>`, `<y>`: the position in screen coordinates of the text.
`[angle]`: The text angle.
`[align]`: The text alignment (0=left, 1=center, 2=right).
`[tbalign]`: The text box alignment.
`[COLOR]`: The text color as hexadecimal string.

`rect <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [c] [c] [c]`
`rect <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [COLOR]`

Draw a rectangle with the given attributes.
`<tag>`: The `tag` argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
`<COOR>`: The coordinate system to which the rectangle belongs.
`<x>`, `<y>`: The position of the rectangle in the defined coordinate system.
`<w>`, `<h>`: The size of the rectangle in the defined coordinate system.
`[linewidth]`: The rectangles line width.
`[dash]`: The dash pattern for the rectangle (0-15).
`[c] [c] [c]`: The color of the rectangle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.

`frect <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [c] [c] [c] [cf] [cf] [cf]`
`frect <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [COLOR] [COLOR]`

Draw a filled rectangle with the given attributes.
`<tag>`: The `tag` argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
`<COOR>`: The coordinate system to which the rectangle belongs.
`<x>`, `<y>`: The position of the rectangle in the defined coordinate system.
`<w>`, `<h>`: The size of the rectangle in the defined coordinate system.
`[linewidth]`: The rectangles line width.
`[dash]`: The dash pattern for the rectangle (0-15).
`[c] [c] [c]`: The color of the rectangle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
`[cf] [cf] [cf]`: The fill color of the rectangle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.

`circle <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [c] [c] [c]`
`circle <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [COLOR]`

Draw a circle with the given attributes.
`<tag>`: The `tag` argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
`<COOR>`: The coordinate system to which the circle belongs.
`<x>`, `<y>`: The position of the circle in the defined coordinate system.
`<w>`, `<h>`: The size of the circle of the defined coordinate system.
`[linewidth]`: The circles line width.
`[dash]`: The dash pattern for the circle (0-15).
`[c] [c] [c]`: The color of the circle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.

`fcircle <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [c] [c] [c] [cf] [cf] [cf]`
`fcircle <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [COLOR] [COLOR]`

Draw a filled circle with the given attributes.
`<tag>`: The `tag` argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
`<COOR>`: The coordinate system to which the circle belongs.
`<x>`, `<y>`: The position of the circle in the defined coordinate system.
`<w>`, `<h>`: The size of the circle of the defined coordinate system.
`[linewidth]`: The circles line width.
`[dash]`: The dash pattern for the circle (0-15).
`[c] [c] [c]`: The color of the circle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
`[cf] [cf] [cf]`: The fill color of the circle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.

`arrow <tag> <COOR> <x1> <y1> <x2> <y2> <a1> <a2> <at> <as> [linewidth] [dash] [c] [c] [c]`
`arrow <tag> <COOR> <x1> <y1> <x2> <y2> <a1> <a2> <at> <as> [linewidth] [dash] [COLOR]`

Draw an arrow with the given attributes.
`<tag>`: The `tag` argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
`<COOR>`: The coordinate system to which the arrow belongs.
`<x1>`, `<y1>`, `<x2>`, `<y2>`: The start and end position of the arrow in the defined coordinate system.
`<a1>`, `<a2>`: Draw arrow at line start and/or end (possible values: yes/no)
`<at>`: The arrow type (0=open, 1=closed, 2=triangle, 3=double).
`<as>`: The arrow size.
`[linewidth]`: The arrow line width.
`[dash]`: The dash pattern for the arrow (0-15).
`[c] [c] [c]`: The color of the arrow. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.

`line <tag> <COOR> <x1> <y1> <x2> <y2> [linewidth] [dash] [c] [c] [c]`
`line <tag> <COOR> <x1> <y1> <x2> <y2> [linewidth] [dash] [COLOR]`

Draw a line with the given attributes.
`<tag>`: The `tag` argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
`<COOR>`: The coordinate system to which the line belongs.
`<x1>`, `<y1>`, `<x2>`, `<y2>`: The start and end position of the line in the defined coordinate system.
`[linewidth]`: The line width.
`[dash]`: The dash pattern for the line (0-15).
`[c] [c] [c]`: The color of the line. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.

`bgraphic [tag]`

By default graphic objects will be placed in the foreground of the document. With this command you can send graphic objects to the background.

`rmtext [tag]`

Remove text objects with a given tag or all text objects.

`rmgraphic [tag]`

Remove graphic objects with a given tag or all graphic objects.

`defaultfont <font> <font size>`

Defines a default font for all text and graphic commands.

`defaultcolor <c> <c> <c>`
`defaultcolor <COLOR>`

Defines a default color for all text and graphic commands.
`<c> <c> <c>`: The color of the circle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command `colormode` (0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.