blaze-svg-0.3.6.1: SVG combinator library

Text.Blaze.Svg

Synopsis

# Documentation

type Svg = Markup Source #

Type to represent an SVG document fragment.

Type to accumulate an SVG path.

toSvg :: ToMarkup a => a -> Svg Source #

# SVG Path combinators

Construct SVG path values using path instruction combinators. See simple example below of how you can use mkPath to specify a path using the path instruction combinators that are included as part of the same module.

import Text.Blaze.Svg11 ((!), mkPath, l, m)
import qualified Text.Blaze.Svg11 as S
import qualified Text.Blaze.Svg11.Attributes as A

svgDoc :: S.Svg
svgDoc = S.docTypeSvg ! A.version "1.1" ! A.width "150" ! A.height "100" \$ do
S.path ! A.d makeSimplePath

makeSimplePath :: S.AttributeValue
makeSimplePath =  mkPath do
l 2 3
m 4 5

## "moveto" commands

m :: Show a => a -> a -> Path Source #

Moveto

mr :: Show a => a -> a -> Path Source #

Moveto (relative)

ClosePath

## "lineto" commands

l :: Show a => a -> a -> Path Source #

Lineto

lr :: Show a => a -> a -> Path Source #

Lineto (relative)

h :: Show a => a -> Path Source #

Horizontal lineto

hr :: Show a => a -> Path Source #

Horizontal lineto (relative)

v :: Show a => a -> Path Source #

Vertical lineto

vr :: Show a => a -> Path Source #

Vertical lineto (relative)

## The cubic Bézier curve commands

c :: Show a => a -> a -> a -> a -> a -> a -> Path Source #

Cubic Bezier curve

cr :: Show a => a -> a -> a -> a -> a -> a -> Path Source #

Cubic Bezier curve (relative)

s :: Show a => a -> a -> a -> a -> Path Source #

Smooth Cubic Bezier curve

sr :: Show a => a -> a -> a -> a -> Path Source #

Smooth Cubic Bezier curve (relative)

## The quadratic Bézier curve commands

q :: Show a => a -> a -> a -> a -> Path Source #

qr :: Show a => a -> a -> a -> a -> Path Source #

t :: Show a => a -> a -> Path Source #

tr :: Show a => a -> a -> Path Source #

## Elliptical arc

Arguments

 :: Show a => a Radius in the x-direction -> a Radius in the y-direction -> a The rotation of the arc's x-axis compared to the normal x-axis -> Bool Draw the smaller or bigger arc satisfying the start point -> Bool To mirror or not -> a The x-coordinate of the end point -> a The y-coordinate of the end point -> Path

Elliptical Arc (absolute).

Note that this function is an alias for the function a, defined in Text.Blaze.Svg.Internal. aa is exported from Text.Blaze.Svg instead of a due to naming conflicts with a from Text.Blaze.SVG11.

Arguments

 :: Show a => a Radius in the x-direction -> a Radius in the y-direction -> a The rotation of the arc's x-axis compared to the normal x-axis -> Bool True to draw the larger of the two arcs satisfying constraints. -> Bool To mirror or not -> a The x-coordinate of the end point -> a The y-coordinate of the end point -> Path

Elliptical Arc (relative)

# SVG Transform combinators

translate :: Show a => a -> a -> AttributeValue Source #

Specifies a translation by x and y

rotate :: Show a => a -> AttributeValue Source #

Specifies a rotation by rotate-angle degrees

rotateAround :: Show a => a -> a -> a -> AttributeValue Source #

Specifies a rotation by rotate-angle degrees about the given time rx,ry

scale :: Show a => a -> a -> AttributeValue Source #

Specifies a scale operation by x and y

skewX :: Show a => a -> AttributeValue Source #

Skew tansformation along x-axis

skewY :: Show a => a -> AttributeValue Source #

Skew tansformation along y-axis

matrix :: Show a => a -> a -> a -> a -> a -> a -> AttributeValue Source #

Specifies a transform in the form of a transformation matrix