1
2[subsection Elements]
3
4This section lists the commands for the predefined drawing elements,
5aka shapes. These commands are all defined in the language's context.
6
7All commands of this section return the handle of the newly created
8element as their result. This handle also exists as a command which
9can be used to query the element for its corners (names, values).
10
11See section [sectref {Miscellaneous Commands}].
12
13[image figure-02-basic-shapes]
14
15[list_begin definitions]
16[include elem/arc.inc]
17[include elem/arrow.inc]
18[include elem/block.inc]
19[include elem/box.inc]
20[include elem/circle.inc]
21[include elem/diamond.inc]
22[include elem/drum.inc]
23[include elem/ellipse.inc]
24[include elem/line.inc]
25[include elem/move.inc]
26[include elem/spline.inc]
27[include elem/text.inc]
28[list_end]
29
30
31[subsection Attributes]
32
33The set of all attributes supported by all the element commands is
34shown below.
35
36While we speak of them as commands, and provide a syntax, they are not
37truly available as actual commands, but only as part of the arguments
38for an element command.
39
40[para]
41
42Note that some of the attribute names are overloaded, i.e. have
43multiple, different, definitions. During processing of attributes for
44an element the actual definition used is chosen based on the type of
45the element the processing is for.
46
47[para]
48
49Further, as a catch-all clause, any attribute which could not be
50processed according to the definitions below will be treated as the
51argument of an implicit [cmd text] attribute.
52
53[list_begin definitions]
54[include attr/anchor.inc]
55[include attr/arrowhead.inc]
56[include attr/diam_aspect.inc]
57[include attr/drum_aspect.inc]
58[include attr/at.inc]
59[include attr/line_at.inc]
60[include attr/chop.inc]
61[include attr/clockwise.inc]
62[include attr/color.inc]
63[include attr/counterclockwise.inc]
64[include attr/diameter.inc]
65[include attr/fillcolor.inc]
66[include attr/from.inc]
67[include attr/arc_from.inc]
68[include attr/height.inc]
69[include attr/diam_height.inc]
70[include attr/text_height.inc]
71[include attr/justify.inc]
72[include attr/noturn.inc]
73[include attr/circle_radius.inc]
74[include attr/arc_radius.inc]
75[include attr/slant.inc]
76[include attr/smooth.inc]
77[include attr/stroke.inc]
78[include attr/style.inc]
79[include attr/text.inc]
80[include attr/textcolor.inc]
81[include attr/textfont.inc]
82[include attr/then.inc]
83[include attr/to.inc]
84[include attr/arc_to.inc]
85[include attr/width.inc]
86[include attr/diam_width.inc]
87[include attr/text_width.inc]
88[include attr/with.inc]
89[include attr/line_with.inc]
90[list_end]
91
92
93[subsection Corners]
94[include corners.inc]
95
96[subsection {Named directions}]
97[include directions.inc]
98
99[subsection {Miscellaneous Commands}]
100
101[list_begin definitions]
102[include distances.inc]
103[include pointarith.inc]
104[include elementq.inc]
105[include history.inc]
106[list_end]
107
108[subsection {Variables}]
109
110The language context contains a number of predefined variables which
111hold the default values for various attributes. These variables, their
112uses, and values are:
113
114[list_begin definitions]
115[include var/anchor.inc]
116[include var/arcradius.inc]
117[include var/arrowhead.inc]
118[include var/boxheight.inc]
119[include var/boxwidth.inc]
120[include var/clockwise.inc]
121[include var/circleradius.inc]
122[include var/drumaspect.inc]
123[include var/fillcolor.inc]
124[include var/justify.inc]
125[include var/linecolor.inc]
126[include var/linestyle.inc]
127[include var/linewidth.inc]
128[include var/movelength.inc]
129[include var/slant.inc]
130[include var/textcolor.inc]
131[include var/textfont.inc]
132[list_end]
133