1 <!-- This file is part of Shapes. -->
3 <!-- Shapes is free software: you can redistribute it and/or modify -->
4 <!-- it under the terms of the GNU General Public License as published by -->
5 <!-- the Free Software Foundation, either version 3 of the License, or -->
6 <!-- any later version. -->
8 <!-- Shapes is distributed in the hope that it will be useful, -->
9 <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
10 <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
11 <!-- GNU General Public License for more details. -->
13 <!-- You should have received a copy of the GNU General Public License -->
14 <!-- along with Shapes. If not, see <http://www.gnu.org/licenses/>. -->
16 <!-- Copyright 2008 Henrik Tidefelt -->
18 <section id="bindings/syntax">
19 <title>Syntax equivalents</title>
21 <p>The functions in this section correspond directly to syntactic constructs.</p>
23 <p>The user should generally <em>not</em> use these functions directly.</p>
26 <system-binding name="coords">
28 <case constructor-of="FloatPair">
31 <type><named-type name="Float" /></type>
34 <type><named-type name="Float" /></type>
37 <dynamic-references></dynamic-references>
39 <p>Implements <syntax name="float-pair" />.</p>
42 <case constructor-of="Coords">
45 <type><named-type name="LengthLike" /></type>
48 <type><named-type name="LengthLike" /></type>
51 <dynamic-references></dynamic-references>
53 <p>Implements <syntax name="coords-2D" />.</p>
54 <p>One of the arguments is allowed to be the special <named-type name="Float" /> value zero, which is interpreted as a zero absolute length.</p>
60 <system-binding name="coords3D">
62 <case constructor-of="FloatTriple">
65 <type><named-type name="Float" /></type>
68 <type><named-type name="Float" /></type>
71 <type><named-type name="Float" /></type>
74 <dynamic-references></dynamic-references>
76 <p>Implements <syntax name="float-triple" />.</p>
79 <case constructor-of="Coords3D">
82 <type><named-type name="LengthLike" /></type>
85 <type><named-type name="LengthLike" /></type>
88 <type><named-type name="LengthLike" /></type>
91 <dynamic-references></dynamic-references>
93 <p>Implements <syntax name="coords-3D" />.</p>
94 <p>Note that all arguments must be <named-type name="LengthLike" />, with no exception.</p>
100 <system-binding name="cornercoords">
102 <case constructor-of="Coords">
105 <type><named-type name="LengthLike" /></type>
108 <type><named-type name="LengthLike" /></type>
111 <type><named-type name="Float" /></type>
114 <dynamic-references></dynamic-references>
116 <p>Implements <syntax name="corner-point-2D" />.</p>
122 <system-binding name="polarhandleFree_r">
124 <case constructor-of="PolarHandle">
127 <type><named-type name="Float" /></type>
130 <dynamic-references><dynamic name="defaultunit" /></dynamic-references>
132 <p>Implements <syntax name="polar-handle-2D" /> in the case when the modulus of the handle is not specified.</p>
138 <system-binding name="polarhandleFree_ra">
140 <case constructor-of="PolarHandle">
143 <dynamic-references><dynamic name="defaultunit" /></dynamic-references>
145 <p>Implements <syntax name="polar-handle-2D" /> in the case when neither modulus nor angle of the handle is not specified.</p>
151 <system-binding name="Unicode">
153 <case constructor-of="Character">
156 <type><named-type name="Integer" /></type>
160 <p>The functional alternative to using the form of <syntax name="character" /> based on code points. Using the syntax <syntax name="character" /> is more efficient when the argument is known beforehand.</p>
166 <system-binding name="AdobeGlyphList">
168 <case constructor-of="Character">
171 <type><named-type name="Symbol" /></type>
175 <p>The functional alternative to using the form of <syntax name="character" /> based on glyph names. Using the syntax <syntax name="character" /> is more efficient when the argument is known beforehand.</p>