Generated: Monday, November 14, 2011, 09:18:22 Copyright © 2011 , Kurt NÝrmark The local LAML software home page

The SVG Extension Library

Kurt NÝrmark © normark@cs.aau.dk Department of Computer Science, Aalborg University, Denmark.

LAML Source file: lib/svg-extensions.scm

This library provides a number of SVG abstractions on top of the SVG mirror library. The primary abstractions are related to drawing of graph-like structures, composed of nodes and edges. There exists a set of examples which accompany the paper A Graph Library Extension of SVG.

Table of Contents:
1. SVG configuration constants. 4. Graph Animations. 7. Aditional basic shapes
2. Graph Abstractions. 5. Transform attribute functions. 8. Extended text management.
3. SVG node shape path functions. 6. Path functions.

Alphabetic index:
aa-p (aa-p rx ry x-axis-rotation large-arc? sweep? x y path) An elliptic arc from the current point to the point with the absolute coordinates (x,y).
ac-p (ac-p cx1 cy1 cx2 cy2 x y path) Absolute cubic bezier curve from the implicity starting point to the ending point (x,y).
ah-p (ah-p x path) Absolute horizontal path to x continued in path.
al-p (al-p x y path) Absolute line path to x,y continued in path.
am-p (am-p x y path) Absolute move to x,y - without drawing.
append-path (append-path p1 p2) Append path p2 to path p1
aq-p (aq-p cx cy x y path) Absolute quadratic bezier curve from the implicit starting point to the ending point (x,y).
as-p (as-p cx2 cy2 x y path) Absolute cubic bezier curve from the implicity starting point to the ending point (x,y).
at-p (at-p x y path) Absolute quadratic bezier curve from the implicit starting point to the ending point (x,y).
av-p (av-p y path) Absolute vertical path to y continued in path.
button-color button-color The color used for control buttons.
circular (circular x y w h . attributes) A circular svg node shape path function.
cloud (cloud x y w h . attributes) A cloud svg node shape path function.
diamond (diamond x y w h . attributes) A diamond svg node shape path function.
disappear-dur disappear-dur The time periode for disappearance of some element during animation.
e-p (e-p) The empty path.
edge-dur edge-dur The time period used to reveal an edge during animation
edge-move-dur edge-move-dur The time period used to move the token on an edge during animation
emphasis-color emphasis-color The color used to emphasize a node or edge, during the supported animations.
empty-svg-node (empty-svg-node x y . xml-contents-and-attributes) An invisible SVG node with empty textual content.
expl-dur expl-dur The time periode used to reveal an explanation during animation.
explanation (explanation 'step s explanation-text) A single explanation clause.
explanations (explanations explanation-list) A container of a number of explanation clauses.
node-dur node-dur The time period used to reveal a node during animation
ra-p (ra-p rx ry x-axis-rotation large-arc? sweep? x y path) An elliptic arc from the current point to the point with the relative coordinates (x,y).
rc-p (rc-p cx1 cy1 cx2 cy2 x y path) Relative cubic bezier curve from the implicity starting point to the ending point (x,y).
rectangular (rectangular x y w h . attributes) A rectangular svg node shape path function.
rh-p (rh-p x path) Relative horizontal path to x continued in path.
rl-p (rl-p x y path) Relative line path to x,y continued in path.
rm-p (rm-p x y path) Relative move to x, y - without drawing.
rq-p (rq-p cx cy x y path) Relative quadratic bezier curve from the implicit starting point to the ending point (x,y).
rs-p (rs-p cx2 cy2 x y path) Relative cubic bezier curve from the implicity starting point to the ending point (x,y).
rt-p (rt-p x y path) Relative quadratic bezier curve from the implicit starting point to the ending point (x,y).
rv-p (rv-p y path) Relative vertical path to y continued in path.
standard-svg-1-1-element-attributes standard-svg-1-1-element-attributes Recommended list of attributes of the svg element in SVG 1.1 which should always be used.
svg-composite-node (svg-composite-node x y inner-graph . xml-contents-and-attributes) Draw a node with an embeded svg graph.
svg-edge (svg-edge from-node from-locator to-node to-locator . xml-contents-and-attributes) Draw a line or arrow from one svg-node to another.
svg-edge-broken (svg-edge-broke from-node from-locator to-node to-locator node-break-list . xml-contents-and-attributes) Almost identical with svg-edge.
svg-graph (svg-graph . xml-contents-and-attributes) Draw an SVG graph.
svg-language svg-language The version of SVG to be used in this library.
svg-node (svg-node shape-path-function x y . xml-contents-and-attributes) Draws a graph node with embedded textual contents within a given rectangular bounding box.
svg-rotate (svg-rotate angle [cx cy]) The rotate expression.
svg-scale (svg-scale sx [sy]) The scale expression.
svg-skewX (svg-skewX angle) The skewX expression.
svg-skewY (svg-skewY angle) The skewY expression.
svg-translate (svg-translate tx ty) The translate expression.
text-box text-box Type set the textual content of textbox within the box formed by the x, y, width and height attributes.
triangle (triangle x1 y1 x2 y2 x3 y3 . cont-and-attr) A triangle defined as a path through three points x1, y1, x2, y2, x3, and y3.
triangular (triangular x y w h . attributes) A triangle svg node shape path function.
with-animation (with-animation animation-type . forms) Set the variable current-animation-type fluidly while evaluating forms.
z-p (z-p) Closing of path.


1 SVG configuration constants.
A number of constants. Most of the constant details of the graph library extension of SVG.

svg-language
Form svg-language
Description The version of SVG to be used in this library. Either svg10 or svg11 (a symbol). The given version must be supported by LAML (the DTD must be parsed, and the mirror of the XML in Scheme must be generated). Use the value svg11.
See also Scheme source file svg-language

standard-svg-1-1-element-attributes
Form standard-svg-1-1-element-attributes
Description Recommended list of attributes of the svg element in SVG 1.1 which should always be used. The list contains the attributes version, baseProfile, xmlsn, and xmlsn:xlink.
See also Scheme source file standard-svg-1-1-element-attributes

emphasis-color
Form emphasis-color
Description The color used to emphasize a node or edge, during the supported animations.
See also Scheme source file emphasis-color

button-color
Form button-color
Description The color used for control buttons.
See also Scheme source file button-color

expl-dur
Form expl-dur
Description The time periode used to reveal an explanation during animation.
See also Scheme source file expl-dur

node-dur
Form node-dur
Description The time period used to reveal a node during animation
See also Scheme source file node-dur

edge-dur
Form edge-dur
Description The time period used to reveal an edge during animation
See also Scheme source file edge-dur

edge-move-dur
Form edge-move-dur
Description The time period used to move the token on an edge during animation
See also Scheme source file edge-move-dur

disappear-dur
Form disappear-dur
Description The time periode for disappearance of some element during animation.
See also Scheme source file disappear-dur


2 Graph Abstractions.
The major SVG abstractions of this library allows convenient drawing of graphs, in terms of (text) nodes and edges.

svg-graph
Form (svg-graph . xml-contents-and-attributes)
Description Draw an SVG graph. The outer abstraction of an an SVG graph. The contentes of this elements is the svg-node and svg-edge elements together with an optional explanations clause. (Notice plural form of explanations. Explanations are only used together with animated graphs). The nodes, edges, and the explanations form can be given in arbitrary order. It is good style, however, to pass two separate lists of nodes and edges to svg-graph. This abstraction is mainly syntactic sugar for an SVG g (group) element.
Attributes
Required: *
from-step The initial step number. Used only when the graph is animated.
to-step The final step number. Used only when the graph is animated.
button-x The x coordinate of the animation control buttons. Used only when the graph is animated.
button-y The y coordinate of the animation control buttons (bottom of triangle). Used only when the graph is animated.
See also Scheme source file svg-graph
possible embedded forms svg-node empty-svg-node svg-composite-node svg-edge svg-edge-broken explanations

svg-node
Form (svg-node shape-path-function x y . xml-contents-and-attributes)
Description Draws a graph node with embedded textual contents within a given rectangular bounding box. The graph node is placed at (x,y) relative to the lc locator attribute. More specifically, the point determined by the lc locator attribute (defaulted to the center of the node) is placed at (x,y). The size of the rectangular bounding box is, in part, controlled by the min-width and min-height attributes, and in part by the required size of the embedded textual node contents. The drawn shape is controlled by shape-path-function (which must draw a closed figure inside the given bounding box). There exists a number of predefined shape path functions (see below). The element contents passed to svg-node becomes the textual contents (the label) of the node. Defaults to "cc", which means that the given (x,y) coordinate denotes the center.\ As an example, the locator "lt" places the left top corner of the rectangle at (x,y).
Parameters x the x coordinate of the node (in pixels, without units)
y the y coordinate of the node (in pixels, without units)
shape-path-function A function that draws the boundary of the svg node. A shape function accepts five required parameters: (shape-path-function x y w h . rest-attributes). (x,y) is the upper left corner of the bounding box. w is the horizontal width and h is the vertical height. The rest-attributes is SVG attributes passed on to the path. See more about shape path functions in a separate section of the documentation.
Attributes
Required: *
lc A locator (a two letter string) which determines the node's position relative to the given x and y parameters. The first letter defines the horizontal location (l,c,r), left, center, or right. The second leter defines the vertical location (t,c,b), top, center, or bottom. Notice that in the vertical dimension, top has a lower y coordinate that bottom. (This may be slightly confusing).
id An id to be part of the underlying rect element instance. The id can also be used in svg-edge for exact identification of the from-node and to-node.
font-size The font size of the text which is embeded in the node.
font-style Native SVG attribute propagated to the node text.
text-color The color of the text in the rectangle
text-align A locator that defines the alignment of the textual label within the rectangular bounding box of the node. A two letter string. Defaults to "cc". The first letter defines the horizontal alignment (l,c,r). The second leter defines the vertical alingment (t,c,b).
bg-color The background color of the rectangle.
min-width The minimum width (pixels, no units) of the rectangle. You can supply this attribute if the automatically computed width of the node turns out to be inappropriate.
min-height The minimum height (pixels, no units) of the rectangle. You can supply this attribute if the automatically computed height of the node turns out to be inappropriate.
delta-width A compensating delta width (pixels, no units) added to the computed width. Use this attribute to fine tune the node width.
delta-height A compensating delta height (pixels, no units) added to the computed height. Use this attribute to fine tune the node height.
stroke Native SVG attribute propagated to the boundary shape (including the mandatory visible or invisible rectangle)
stroke-width Native SVG attribute propagated to the boundary shape (including the mandatory visible or invisible rectangle)
stroke-dasharray Native SVG attribute propagated to the boundary shape (including the mandatory visible or invisible rectangle)
stroke-offset Native SVG attribute propagated to the boundary shape (including the mandatory visible or invisible rectangle)
rx Native SVG attribute propagated to the boundary shape (including the mandatory visible or invisible rectangle)
ry Native SVG attribute propagated to the boundary shape (including the mandatory visible or invisible rectangle)
ldx A delta x used to move the label text relative to its default position. The default value of ldx is 0.
ldy A delta y used to move the label text relative to its default position. The default value of ldy is 0.
step The step number of this node. Only used when the surrounding graph is animated.
steps The step numbers of this node. Comma separated. Used instead of singular step.
See also Scheme source file svg-node
simple alternative empty-svg-node
shape path functions shape-path-functions

empty-svg-node
Form (empty-svg-node x y . xml-contents-and-attributes)
Description An invisible SVG node with empty textual content. Empty nodes are often useful for source or target of svg-edges. A list of empty svg nodes can also be used as the fifth parameter of svg-edge-broken.
See also Scheme source file empty-svg-node
non empty svg node svg-node
broken edges svg-edge-broken

svg-composite-node
Form (svg-composite-node x y inner-graph . xml-contents-and-attributes)
Description Draw a node with an embeded svg graph. You can think of a composite node as a node that consists of an entire graph. This is a convenient way to compose nodes of nodes. Per default, the surrounding node is rectangular, but you can use the rx and ry attributes to obtain elliplic or circular boundaries.
Parameters x x coordinate (in pixels, without units)
y y coordinate (in pixels, without units)
inner-graph The graph that plays the role as the node contents. An instance of svg-graph (underlying an SVG g (group) element).
Attributes
Required: *
lc A locator (a two letter string) which determines the node's position relative to x and y. First letter defines the horizontal location (l,c,r). The second leter defines the vertical location (t,c,b).
bg-color The background color of the rectangle.
padding A number of blank pixels between the outer rectangle boundary and the embedded graph.
width The width (pixels, no units) of the composite graph node. The height is automatically determined (preserving the aspect ratio of the embedded graph).
stroke Native SVG attribute propagated to the rectangle
stroke-width Native SVG attribute propagated to the rectangle
stroke-dasharray Native SVG attribute propagated to the rectangle
stroke-offset Native SVG attribute propagated to the rectangle
rx Native SVG attribute propagated to the rectangle
ry Native SVG attribute propagated to the rectangle
step The step number of this node. Used only when surrounding graph is animated.
steps The step numbers of this node. Comma separated. Used instead of singular step.
See also Scheme source file svg-composite-node

svg-edge
Form (svg-edge from-node from-locator to-node to-locator . xml-contents-and-attributes)
Description Draw a line or arrow from one svg-node to another. The contents of svg-edge is used as the textual label of the edge. As a special property, svg-edge either accepts two or four required, positional parameters. If two parameters are supplied, it must be two svg-nodes (from and two node resp). If four parameters are supplied, it must be (1) the svg from node, (2) the from connector, (3) the svg to node, and (4) the svg to connector.
Parameters from-node The source node of the edge. An AST as returned by svg-node or svg-composite-node.
from-connector A locator (a two letter string) which determines where the edge leaves the from-node. First letter defines the horizontal location (l,c,r). The second leter defines the vertical location (t,c,b).
to-node The destination node of the edge. An AST as returned by svg-node or svg-composite-node.
to-connector A locator (a two letter string) which determines where the edge enters the to-node. First letter defines the horizontal location (l,c,r). The second leter defines the vertical location (t,c,b).
Attributes
Required: *
from-connector A locator (a two letter string) which determines where the edge leaves the from-node. First letter defines the horizontal location (l,c,r). The second leter defines the vertical location (t,c,b). Only applicable in the variant of svg-edge that takes two required parameters. The from-connector defaults to a connector calculated from the mutual positions of from-node and to-node. The default connector may turn out to be surprising in case the widths of the involved nodes are large.
to-connector A locator (a two letter string) which determines where the edge enters the to-node. First letter defines the horizontal location (l,c,r). The second leter defines the vertical location (t,c,b). Only applicable in the variant of svg-edge that takes two required parameters. The to-connector defaults to a connector calculated from the mutual positions of from-node and to-node. The default connector may turn out to be surprising in case the widths of the involved nodes are large.
break-path A path relative to the source node, which makes it possible to break the edge in a number of segments. The final segment is implicitly given, and it goes from the end of the given break-path to the designated attachment point of the destination node.
style The edge style. Either straight, hv, or hv. Straight means a straight lined edge. hv gives a broken, right angeled edge, first horizontal then vertical. vh gives a broken, right angeled edge, first vertical then horizontal. If break-path is given it overrules the style attribute.
arrow Draw an arrow (yes or no). Default is no.
from-id The id of the from-node. Useful in case the from-node is a group of two or more svg-nodes. In this case, a particular of these svg-nodes can be addressed.
to-id The id of the to-node. Useful in case the to-node is a group of two or more svg-nodes. In this case, a particular of these svg-nodes can be addressed.
step The step number of this edge. Used only when surrounding graph is animated.
steps The step numbers of this edge. Comma separated. Used instead of singular step.
dx An value to be added to both the source and destination x coordinates of the edge connection points. Defaults to 0.
dy An value to be added to both the source and destination y coordinates of the edge connection points. Defaults to 0.
ldx A delta x used to move the label text relative to its default position. The default value of ldx is 0.
ldy A delta y used to move the label text relative to its default position. The default value of ldy is 0.
font-size The font size of the label text.
font-style The font style of the label text.
text-color The color of the edge label text.
stroke The stroke attribute of the edge, passed directly to the underlying edge path.
stroke-width The stroke-width attribute of the edge, passed directly to the underlying edge path.
stroke-dasharray The stroke-dasharray attribute of the edge, passed directly to the underlying edge path.
stroke-dashoffset The stroke-dashoffset attribute of the edge, passed directly to the underlying edge path.
stroke-linecap The stroke-line attribute of the edge, passed directly to the underlying edge path.
dur The duration of an animation of the edge. Only applied for step-buttons-walk-through-edge-motion animation. Either a string or an integer (implicitly given as a number of seconds).
See also Scheme source file svg-edge
similar function svg-edge-broken

svg-edge-broken
Form (svg-edge-broke from-node from-locator to-node to-locator node-break-list . xml-contents-and-attributes)
Description Almost identical with svg-edge. The only difference is that this function requires an extra fifth parameter, name a list of (empty) svg nodes used for edge breaking. Causes a call the svg-edge with an appropriate break-path attribute. Do not pass any explicit break-path attribute to this function.
See also Scheme source file svg-edge-broken
similar function svg-edge

explanations
Form (explanations explanation-list)
Description A container of a number of explanation clauses. The explanations clause is a possible constituent of an svg-graph.
Attributes
Required: *
x The x coordinate of the explanation text
y The y coordinate of the explanation text
font-size The font size of the explanation text
See also Scheme source file explanations

explanation
Form (explanation 'step s explanation-text)
Description A single explanation clause. Holds a step attribute and the textual explanational content. A given step should be explained at most once within an explanations clause. A list of explanation clauses can be nested in an explanations clause, which is a possible constituent of svg-graph. Defined as an XML-in-LAML abstraction.
See also Scheme source file explanation


3 SVG node shape path functions.
The shape path functions are used as the first parameter to the svg-node function. The svg-node function calls the shape path function, which is passed as the first parameter to svg-node. A shape path function is supposed to draw a path that serves as the boundary around the svg node. The first four parameters of an SVG node shape path function receives a bounding box in terms of x, y, w, and h. (x,y) is the upper left corner of the bounding box. w is the width (pixels), and h the height (pixels). Internally a shape path function MUST draw a visible or hidden SVG rect, possibly together with another path inside a group element.

rectangular
Form (rectangular x y w h . attributes)
Description A rectangular svg node shape path function.
See also Scheme source file rectangular
relevant for svg-node

circular
Form (circular x y w h . attributes)
Description A circular svg node shape path function.
See also Scheme source file circular
relevant for svg-node

diamond
Form (diamond x y w h . attributes)
Description A diamond svg node shape path function.
See also Scheme source file diamond
relevant for svg-node

triangular
Form (triangular x y w h . attributes)
Description A triangle svg node shape path function.
See also Scheme source file triangular
relevant for svg-node

cloud
Form (cloud x y w h . attributes)
Description A cloud svg node shape path function.
See also Scheme source file cloud
relevant for svg-node


4 Graph Animations.
Svg graphs can be animated in a number of different ways. Use the syntactic form with-animation around an svg-graph form to specify the kind of animation to use. The following kinds are supported:
  • none. Do not use any animation at all.
  • node-emphasize: Emphasize the node with a particular color when it gets focus with the mouse.
  • edge-emphasize: Emphasize the edge with a particular color and thickness when it gets focus with the mouse.
  • step-buttons-reveal: The nodes and edges are revealed one after the other, controlled by triangular shaped buttons. The step attribute tells when to reveal the graph node or edge. A given step attribute value should only appear once with this kind of animation. As an alternative to the step attribute, you can use the step-from and step-to attributes to given step interval. The node or edge is revealed at step step-to and and hidden at step step-from. Several nodes or edges can have the same step value. This leads to simultaneous revealing of these nodes and edges.
  • step-buttons-walk-through: The nodes and edges are highlighted in a given order, controlled by triangular shaped buttons. By means of the steps attribute (plural) a given node or edge can be highlighted more than once during the walk through. Several nodes or edges can have the same step value.
  • step-buttons-walk-through-edge-motion: The nodes are highlighted in a given order. The edges are animated with a moving token. The animation is controlled by triangular shaped buttons.
Within with-animation, you can use node-emphasize and edge-emphasize together. You can also use node-emphasize or edge-emphasize (or both) together with step-buttons-reveal and step-buttons-walk-through. step-buttons-reveal and step-buttons-walk-through cannot be used together.

The non-animated part of the graph has implicitly assigned step number 0. You can Assign step numbers higher than 0 to selected nodes and edges. Use the svg-graph attributes to from-step and to-step to control the animated step interval.


with-animation
Form (with-animation animation-type . forms)
Description Set the variable current-animation-type fluidly while evaluating forms. The animation taking place in the svg graph forms depend on animation-type. A syntactic abstraction (macro) intended to be used around an svg-graph form.
Parameters animation-type A symbol, or a list of symbols. The following types of animation are supported: none, node-emphasize, edge-emphasize, step-buttons-reveal, step-buttons-walk-through, and step-buttons-walk-through-edge-motion.
See also Scheme source file with-animation


5 Transform attribute functions.
SVG uses a little language for values of transform attributes. In this section you will find Scheme counterparts of such expresssions.

svg-translate
Form (svg-translate tx ty)
Description The translate expression.
See also Scheme source file svg-translate

svg-scale
Form (svg-scale sx [sy])
Description The scale expression.
See also Scheme source file svg-scale

svg-rotate
Form (svg-rotate angle [cx cy])
Description The rotate expression.
See also Scheme source file svg-rotate

svg-skewX
Form (svg-skewX angle)
Description The skewX expression.
See also Scheme source file svg-skewX

svg-skewY
Form (svg-skewY angle)
Description The skewY expression.
See also Scheme source file svg-skewY


6 Path functions.
Functions for definition of SVG paths. You can think of the functions as constructors of SVG paths. The functions in this section can be used as the value of d attributes of the SVG path element. The functions model a path as a linear recursive structures for instance in the style of lists in Lisp. All functions return strings. As a naming convention, the first letter in the prefix tells if we draw in absolute or relative mode ('a' or 'r'). The next letter in the prefix mimics the type of the path ('l' for line, 'm' for move). This letter corresponds to the (lower case) SVG path letter name. The suffix of the name is always "-p", which is a short name for "-path". If you dislike the functions you can use native SVG path strings, or you can program your own set of path constructors.

e-p
Form (e-p)
Description The empty path.
See also Scheme source file e-p

al-p
Form (al-p x y path)
Description Absolute line path to x,y continued in path.
See also Scheme source file al-p

rl-p
Form (rl-p x y path)
Description Relative line path to x,y continued in path.
See also Scheme source file rl-p

ah-p
Form (ah-p x path)
Description Absolute horizontal path to x continued in path.
See also Scheme source file ah-p

rh-p
Form (rh-p x path)
Description Relative horizontal path to x continued in path.
See also Scheme source file rh-p

av-p
Form (av-p y path)
Description Absolute vertical path to y continued in path.
See also Scheme source file av-p

rv-p
Form (rv-p y path)
Description Relative vertical path to y continued in path.
See also Scheme source file rv-p

rm-p
Form (rm-p x y path)
Description Relative move to x, y - without drawing. The path is continued in path.
See also Scheme source file rm-p

am-p
Form (am-p x y path)
Description Absolute move to x,y - without drawing. The path is continued in path.
See also Scheme source file am-p

ra-p
Form (ra-p rx ry x-axis-rotation large-arc? sweep? x y path)
Description An elliptic arc from the current point to the point with the relative coordinates (x,y). The path is continued in path.
Parameters x the target x coordinate (absolute)
y the target y coordinate (absolute)
x-axis-rotation the rotation of the x axis (degrees).
large-arc? controls if the large arc or small arc is drawn. Boolean or one of 0 or 1.
sweep? if true, draw in positive direction, else draw in negative direction. Boolean or one of 0 or 1.
path The continuation of the arc path.
See also Scheme source file ra-p

aa-p
Form (aa-p rx ry x-axis-rotation large-arc? sweep? x y path)
Description An elliptic arc from the current point to the point with the absolute coordinates (x,y). The path is continued in path. See the similar relative function for description of the parameters.
See also Scheme source file aa-p
similar function ra-p

rq-p
Form (rq-p cx cy x y path)
Description Relative quadratic bezier curve from the implicit starting point to the ending point (x,y). (cx, cy) control point of the curve
See also Scheme source file rq-p

aq-p
Form (aq-p cx cy x y path)
Description Absolute quadratic bezier curve from the implicit starting point to the ending point (x,y). (cx, cy) control point of the curve
See also Scheme source file aq-p

rt-p
Form (rt-p x y path)
Description Relative quadratic bezier curve from the implicit starting point to the ending point (x,y). The control point is the reflection of the quadratic bezier curve.
See also Scheme source file rt-p

at-p
Form (at-p x y path)
Description Absolute quadratic bezier curve from the implicit starting point to the ending point (x,y). The control point is the reflection of the quadratic bezier curve.
See also Scheme source file at-p

rc-p
Form (rc-p cx1 cy1 cx2 cy2 x y path)
Description Relative cubic bezier curve from the implicity starting point to the ending point (x,y). (cx1, cy1) controls the curve at the starting point. (cx2, cy2) controls the curve at the ending point.
See also Scheme source file rc-p

ac-p
Form (ac-p cx1 cy1 cx2 cy2 x y path)
Description Absolute cubic bezier curve from the implicity starting point to the ending point (x,y). (cx1, cy1) controls the curve at the starting point. (cx2, cy2) controls the curve at the ending point.
See also Scheme source file ac-p

rs-p
Form (rs-p cx2 cy2 x y path)
Description Relative cubic bezier curve from the implicity starting point to the ending point (x,y). Thus, (x,y) is given relative to the implicit starting point of this curve. The control point of the implicit starting point is the reflection of the previous cubic bezier curve. (cx2, cy2) controls the curve at the ending point.
See also Scheme source file rs-p

as-p
Form (as-p cx2 cy2 x y path)
Description Absolute cubic bezier curve from the implicity starting point to the ending point (x,y). The control point of the implicit starting point is the reflection of the previous cubic bezier curve. (cx2, cy2) controls the curve at the ending point.
See also Scheme source file as-p

z-p
Form (z-p)
Description Closing of path. With this alternative to the (e-p) closing, the path returns to its starting point.
See also Scheme source file z-p

append-path
Form (append-path p1 p2)
Description Append path p2 to path p1
See also Scheme source file append-path


7 Aditional basic shapes

triangle
Form (triangle x1 y1 x2 y2 x3 y3 . cont-and-attr)
Description A triangle defined as a path through three points x1, y1, x2, y2, x3, and y3. Attributes and additional content is passed to the underlying path.
See also Scheme source file triangle


8 Extended text management.
Not yet completed. Please disregard this function.

text-box
Form text-box
Description Type set the textual content of textbox within the box formed by the x, y, width and height attributes. Break the text into lines. It is possible to use em, kbd, and b to achieve italic, keyboard, and bold effects. The elements em, kbd, and b are ad hoc SVG elements, but similar to the XHTML elements of the same name.
Attributes
Required: *
x * x coordiate of the text box
y * y coordiate of the text box
width * the with of the text box (pixels)
height * the height of the text box
font-family the name of the font family. Defaults to times-roman.
font-size the size of the font (in user units). Defaults to 30.
See also Scheme source file text-box

Generated: Monday, November 14, 2011, 09:18:23
Generated by LAML SchemeDoc using LAML Version 38.0 (November 14, 2011, full)