Safe Haskell | None |
---|---|
Language | Haskell2010 |
Graphics.Svg.Types
Contents
Description
This module define all the types used in the definition of a svg scene.
Most of the types are lensified.
- type Coord = Double
- data Origin
- type Point = (Number, Number)
- type RPoint = V2 Coord
- data PathCommand
- = MoveTo !Origin ![RPoint]
- | LineTo !Origin ![RPoint]
- | HorizontalTo !Origin ![Coord]
- | VerticalTo !Origin ![Coord]
- | CurveTo !Origin ![(RPoint, RPoint, RPoint)]
- | SmoothCurveTo !Origin ![(RPoint, RPoint)]
- | QuadraticBezier !Origin ![(RPoint, RPoint)]
- | SmoothQuadraticBezierCurveTo !Origin ![RPoint]
- | EllipticalArc !Origin ![(Coord, Coord, Coord, Bool, Bool, RPoint)]
- | EndPath
- data Transformation
- data ElementRef
- data CoordinateUnits
- toPoint :: Number -> Number -> Point
- serializeNumber :: Number -> String
- serializeTransformation :: Transformation -> String
- serializeTransformations :: [Transformation] -> String
- data Cap
- data LineJoin
- data Tree
- = None
- | UseTree {
- useInformation :: !Use
- useSubTree :: !(Maybe Tree)
- | GroupTree !(Group Tree)
- | SymbolTree !(Symbol Tree)
- | PathTree !Path
- | CircleTree !Circle
- | PolyLineTree !PolyLine
- | PolygonTree !Polygon
- | EllipseTree !Ellipse
- | LineTree !Line
- | RectangleTree !Rectangle
- | TextTree !(Maybe TextPath) !Text
- | ImageTree !Image
- | MeshGradientTree !MeshGradient
- data Number
- data Spread
- data Texture
- data Element
- data FillRule
- data FontStyle
- type Dpi = Int
- class WithDefaultSvg a where
- data Document = Document {}
- class HasDocument c_aqpq where
- documentSize :: Dpi -> Document -> (Int, Int)
- data DrawAttributes = DrawAttributes {
- _strokeWidth :: !(Last Number)
- _strokeColor :: !(Last Texture)
- _strokeOpacity :: !(Maybe Float)
- _strokeLineCap :: !(Last Cap)
- _strokeLineJoin :: !(Last LineJoin)
- _strokeMiterLimit :: !(Last Double)
- _fillColor :: !(Last Texture)
- _fillOpacity :: !(Maybe Float)
- _groupOpacity :: !(Maybe Float)
- _transform :: !(Maybe [Transformation])
- _fillRule :: !(Last FillRule)
- _maskRef :: !(Last ElementRef)
- _clipPathRef :: !(Last ElementRef)
- _clipRule :: !(Last FillRule)
- _attrClass :: ![Text]
- _attrId :: !(Maybe String)
- _strokeOffset :: !(Last Number)
- _strokeDashArray :: !(Last [Number])
- _fontSize :: !(Last Number)
- _fontFamily :: !(Last [String])
- _fontStyle :: !(Last FontStyle)
- _textAnchor :: !(Last TextAnchor)
- _markerStart :: !(Last ElementRef)
- _markerMid :: !(Last ElementRef)
- _markerEnd :: !(Last ElementRef)
- class HasDrawAttributes a where
- class WithDrawAttributes a where
- data Rectangle = Rectangle {}
- class HasRectangle a where
- data Line = Line {}
- class HasLine a where
- data Polygon = Polygon {}
- class HasPolygon a where
- data PolyLine = PolyLine {}
- class HasPolyLine a where
- data Path = Path {}
- class HasPath c_alhy where
- data Circle = Circle {}
- class HasCircle a where
- data Ellipse = Ellipse {}
- class HasEllipse c_amWt where
- data GradientPathCommand
- data MeshGradientType
- data MeshGradient = MeshGradient {}
- class HasMeshGradient c_anxG where
- data MeshGradientRow = MeshGradientRow {}
- class HasMeshGradientRow c_antr where
- data MeshGradientPatch = MeshGradientPatch {}
- class HasMeshGradientPatch c_annx where
- data Image = Image {}
- class HasImage c_anI7 where
- data Use = Use {}
- class HasUse c_anR3 where
- data Group a = Group {
- _groupDrawAttributes :: !DrawAttributes
- _groupChildren :: ![a]
- _groupViewBox :: !(Maybe (Double, Double, Double, Double))
- _groupAspectRatio :: !PreserveAspectRatio
- class HasGroup g a | g -> a where
- newtype Symbol a = Symbol {
- _groupOfSymbol :: Group a
- groupOfSymbol :: Lens (Symbol s) (Symbol t) (Group s) (Group t)
- data Text = Text {
- _textAdjust :: !TextAdjust
- _textRoot :: !TextSpan
- class HasText c_aorD where
- data TextAnchor
- textAt :: Point -> Text -> Text
- data TextPath = TextPath {}
- class HasTextPath c_aojU where
- data TextPathSpacing
- data TextPathMethod
- data TextSpanContent
- data TextSpan = TextSpan {}
- class HasTextSpan c_aobD where
- data TextInfo = TextInfo {
- _textInfoX :: ![Number]
- _textInfoY :: ![Number]
- _textInfoDX :: ![Number]
- _textInfoDY :: ![Number]
- _textInfoRotate :: ![Double]
- _textInfoLength :: !(Maybe Number)
- class HasTextInfo c_ao0m where
- data TextAdjust
- data Marker = Marker {
- _markerDrawAttributes :: DrawAttributes
- _markerRefPoint :: !(Number, Number)
- _markerWidth :: !(Maybe Number)
- _markerHeight :: !(Maybe Number)
- _markerOrient :: !(Maybe MarkerOrientation)
- _markerUnits :: !(Maybe MarkerUnit)
- _markerViewBox :: !(Maybe (Double, Double, Double, Double))
- _markerOverflow :: !(Maybe Overflow)
- _markerAspectRatio :: !PreserveAspectRatio
- _markerElements :: [Tree]
- data Overflow
- data MarkerOrientation
- data MarkerUnit
- class HasMarker c_aoKc where
- data GradientStop = GradientStop {}
- class HasGradientStop c_anhM where
- data LinearGradient = LinearGradient {}
- class HasLinearGradient c_apmJ where
- data RadialGradient = RadialGradient {}
- class HasRadialGradient c_apwt where
- data Pattern = Pattern {
- _patternDrawAttributes :: !DrawAttributes
- _patternViewBox :: !(Maybe (Double, Double, Double, Double))
- _patternWidth :: !Number
- _patternHeight :: !Number
- _patternPos :: !Point
- _patternHref :: !String
- _patternElements :: ![Tree]
- _patternUnit :: !CoordinateUnits
- _patternAspectRatio :: !PreserveAspectRatio
- _patternTransform :: !(Maybe [Transformation])
- class HasPattern c_aq6G where
- data Mask = Mask {}
- class HasMask c_apHI where
- data ClipPath = ClipPath {}
- class HasClipPath c_apZq where
- data PreserveAspectRatio = PreserveAspectRatio {}
- data Alignment
- data MeetSlice
- class HasPreserveAspectRatio a where
- isPathArc :: PathCommand -> Bool
- isPathWithArc :: Foldable f => f PathCommand -> Bool
- nameOfTree :: Tree -> Text
- zipTree :: ([[Tree]] -> Tree) -> Tree -> Tree
- mapTree :: (Tree -> Tree) -> Tree -> Tree
- foldTree :: (a -> Tree -> a) -> a -> Tree -> a
- toUserUnit :: Dpi -> Number -> Number
- mapNumber :: (Double -> Double) -> Number -> Number
Basic building types
Tell if a path command is absolute (in the current user coordiante) or relative to the previous poitn.
Constructors
OriginAbsolute | Next point in absolute coordinate |
OriginRelative | Next point relative to the previous |
data PathCommand #
Path command definition.
Constructors
MoveTo !Origin ![RPoint] |
|
LineTo !Origin ![RPoint] | Line to, |
HorizontalTo !Origin ![Coord] | Equivalent to the |
VerticalTo !Origin ![Coord] | Equivalent to the |
CurveTo !Origin ![(RPoint, RPoint, RPoint)] | Cubic bezier, |
SmoothCurveTo !Origin ![(RPoint, RPoint)] | Smooth cubic bezier, equivalent to |
QuadraticBezier !Origin ![(RPoint, RPoint)] | Quadratic bezier, |
SmoothQuadraticBezierCurveTo !Origin ![RPoint] | Quadratic bezier, |
EllipticalArc !Origin ![(Coord, Coord, Coord, Bool, Bool, RPoint)] | Eliptical arc, |
EndPath | Close the path, |
Instances
data Transformation #
Describe the content of the transformation
attribute.
see _transform
and transform
.
Constructors
TransformMatrix !Coord !Coord !Coord !Coord !Coord !Coord | Directly encode the translation matrix. |
Translate !Double !Double | Translation along a vector |
Scale !Double !(Maybe Double) | Scaling on both axis or on X axis and Y axis. |
Rotate !Double !(Maybe (Double, Double)) | Rotation around `(0, 0)` or around an optional point. |
SkewX !Double | Skew transformation along the X axis. |
SkewY !Double | Skew transformation along the Y axis. |
TransformUnknown | Unkown transformation, like identity. |
Instances
data ElementRef #
Correspond to the possible values of the
the attributes which are either none
or
`url(#elem)`
Instances
data CoordinateUnits #
Define the possible values of various *units attributes used in the definition of the gradients and masks.
Constructors
CoordUserSpace |
|
CoordBoundingBox |
|
Instances
Building helpers
serializeNumber :: Number -> String #
Encode the number to string which can be used in a CSS or a svg attributes.
serializeTransformation :: Transformation -> String #
Convert the Transformation to a string which can be directly used in a svg attributes.
serializeTransformations :: [Transformation] -> String #
Transform a list of transformations to a string for svg
transform
attributes.
Drawing control types
Describe how the line should be terminated
when stroking them. Describe the values of the
`stroke-linecap` attribute.
See _strokeLineCap
Define the possible values of the `stroke-linejoin`
attribute.
see _strokeLineJoin
Main type for the scene description, reorient to specific type describing each tag.
Constructors
None | |
UseTree | |
Fields
| |
GroupTree !(Group Tree) | |
SymbolTree !(Symbol Tree) | |
PathTree !Path | |
CircleTree !Circle | |
PolyLineTree !PolyLine | |
PolygonTree !Polygon | |
EllipseTree !Ellipse | |
LineTree !Line | |
RectangleTree !Rectangle | |
TextTree !(Maybe TextPath) !Text | |
ImageTree !Image | |
MeshGradientTree !MeshGradient |
Instances
Encode complex number possibly dependant to the current render size.
Constructors
Num Double | Simple coordinate in current user coordinate. |
Px Double | With suffix "px" |
Em Double | Number relative to the current font size. |
Percent Double | Number relative to the current viewport size. |
Pc Double | |
Mm Double | Number in millimeters, relative to DPI. |
Cm Double | Number in centimeters, relative to DPI. |
Point Double | Number in points, relative to DPI. |
Inches Double | Number in inches, relative to DPI. |
Define the possible values for the spreadMethod
values used for the gradient definitions.
Constructors
SpreadRepeat |
|
SpreadPad |
|
SpreadReflect | `reflect value` |
Describe the different value which can be used
in the fill
or stroke
attributes.
Constructors
ColorRef PixelRGBA8 | |
TextureRef String | Link to a complex texture (url(#name)) |
FillNone | Equivalent to the |
Sum types helping keeping track of all the namable elemens in a SVG document.
Describe the possile filling algorithms. Map the values of the `fill-rule` attributes.
Constructors
FillEvenOdd | Correspond to the |
FillNonZero | Correspond to the |
Classify the font style, used to search a matching font in the FontCache.
Constructors
FontStyleNormal | |
FontStyleItalic | |
FontStyleOblique |
Alias describing a "dot per inch" information used for size calculation (see toUserUnit).
class WithDefaultSvg a where #
Define an empty 'default' element for the SVG tree. It is used as base when parsing the element from XML.
Minimal complete definition
Instances
Main type
Represent a full svg document with style, geometry and named elements.
Constructors
Document | |
class HasDocument c_aqpq where #
Lenses associated to a SVG document.
Minimal complete definition
Methods
document :: Lens' c_aqpq Document #
definitions :: Lens' c_aqpq (Map String Element) #
description :: Lens' c_aqpq String #
documentLocation :: Lens' c_aqpq FilePath #
elements :: Lens' c_aqpq [Tree] #
height :: Lens' c_aqpq (Maybe Number) #
styleRules :: Lens' c_aqpq [CssRule] #
viewBox :: Lens' c_aqpq (Maybe (Double, Double, Double, Double)) #
Instances
documentSize :: Dpi -> Document -> (Int, Int) #
Calculate the document size in function of the different available attributes in the document.
Drawing attributes
data DrawAttributes #
This type define how to draw any primitives, which color to use, how to stroke the primitives and the potential transformations to use.
All these attributes are propagated to the children.
Constructors
DrawAttributes | |
Fields
|
class HasDrawAttributes a where #
Lenses for the DrawAttributes type.
Minimal complete definition
Methods
drawAttributes :: Lens' a DrawAttributes #
attrId :: Lens' a (Maybe String) #
clipPathRef :: Lens' a (Last ElementRef) #
clipRule :: Lens' a (Last FillRule) #
fillColor :: Lens' a (Last Texture) #
fillOpacity :: Lens' a (Maybe Float) #
fillRule :: Lens' a (Last FillRule) #
fontFamily :: Lens' a (Last [String]) #
fontSize :: Lens' a (Last Number) #
fontStyle :: Lens' a (Last FontStyle) #
groupOpacity :: Lens' a (Maybe Float) #
markerEnd :: Lens' a (Last ElementRef) #
markerMid :: Lens' a (Last ElementRef) #
markerStart :: Lens' a (Last ElementRef) #
maskRef :: Lens' a (Last ElementRef) #
strokeColor :: Lens' a (Last Texture) #
strokeDashArray :: Lens' a (Last [Number]) #
strokeLineCap :: Lens' a (Last Cap) #
strokeLineJoin :: Lens' a (Last LineJoin) #
strokeMiterLimit :: Lens' a (Last Double) #
strokeOffset :: Lens' a (Last Number) #
strokeOpacity :: Lens' a (Maybe Float) #
strokeWidth :: Lens' a (Last Number) #
textAnchor :: Lens' a (Last TextAnchor) #
transform :: Lens' a (Maybe [Transformation]) #
Instances
class WithDrawAttributes a where #
Class helping find the drawing attributes for all the SVG attributes.
Minimal complete definition
Instances
SVG drawing primitives
Rectangle
Define a rectangle. Correspond to `<rectangle>` svg tag.
Constructors
Rectangle | |
Fields
|
class HasRectangle a where #
Lenses for the Rectangle type.
Minimal complete definition
Methods
rectangle :: Lens' a Rectangle #
rectCornerRadius :: Lens' a (Number, Number) #
rectDrawAttributes :: Lens' a DrawAttributes #
rectHeight :: Lens' a Number #
rectUpperLeftCorner :: Lens' a Point #
Instances
Line
Define a simple line. Correspond to the `<line>` tag.
Constructors
Line | |
Fields
|
Lenses for the Line type.
Minimal complete definition
Methods
lineDrawAttributes :: Lens' a DrawAttributes #
linePoint1 :: Lens' a Point #
linePoint2 :: Lens' a Point #
Polygon
Primitive decriving polygon composed of segements. Correspond to the `<polygon>` tag
Constructors
Polygon | |
Fields
|
Instances
class HasPolygon a where #
Lenses for the Polygon type
Minimal complete definition
Instances
Polyline
This primitive describe an unclosed suite of segments. Correspond to the `<polyline>` tag.
Constructors
PolyLine | |
Fields
|
Instances
class HasPolyLine a where #
Lenses for the PolyLine type.
Minimal complete definition
Methods
polyLine :: Lens' a PolyLine #
polyLineDrawAttributes :: Lens' a DrawAttributes #
polyLinePoints :: Lens' a [RPoint] #
Instances
Path
Type mapping the `<path>` svg tag.
Constructors
Path | |
Fields
|
Lenses for the Path type
Minimal complete definition
Methods
pathDefinition :: Lens' c_alhy [PathCommand] #
pathDrawAttributes :: Lens' c_alhy DrawAttributes #
Circle
Define a `<circle>`.
Constructors
Circle | |
Fields
|
Lenses for the Circle type.
Minimal complete definition
Methods
circleCenter :: Lens' a Point #
circleDrawAttributes :: Lens' a DrawAttributes #
circleRadius :: Lens' a Number #
Ellipse
Define an `<ellipse>`
Constructors
Ellipse | |
Fields
|
Instances
class HasEllipse c_amWt where #
Lenses for the ellipse type.
Minimal complete definition
Methods
ellipse :: Lens' c_amWt Ellipse #
ellipseCenter :: Lens' c_amWt Point #
ellipseDrawAttributes :: Lens' c_amWt DrawAttributes #
ellipseXRadius :: Lens' c_amWt Number #
ellipseYRadius :: Lens' c_amWt Number #
Instances
Mesh (gradient mesh)
data GradientPathCommand #
Description of path used in meshgradient tag
Constructors
GLine !Origin !(Maybe RPoint) | Line to, |
GCurve !Origin !RPoint !RPoint !(Maybe RPoint) | Cubic bezier, |
GClose |
|
Instances
data MeshGradient #
Define a `<meshgradient>` tag.
Constructors
MeshGradient | |
Fields
|
class HasMeshGradient c_anxG where #
Minimal complete definition
Methods
meshGradient :: Lens' c_anxG MeshGradient #
meshGradientDrawAttributes :: Lens' c_anxG DrawAttributes #
meshGradientRows :: Lens' c_anxG [MeshGradientRow] #
meshGradientTransform :: Lens' c_anxG [Transformation] #
meshGradientType :: Lens' c_anxG MeshGradientType #
meshGradientUnits :: Lens' c_anxG CoordinateUnits #
meshGradientX :: Lens' c_anxG Number #
meshGradientY :: Lens' c_anxG Number #
Instances
data MeshGradientRow #
Define a `<meshrow>` tag.
Constructors
MeshGradientRow | |
Fields
|
class HasMeshGradientRow c_antr where #
Minimal complete definition
Methods
meshGradientRow :: Lens' c_antr MeshGradientRow #
meshGradientRowPatches :: Lens' c_antr [MeshGradientPatch] #
Instances
data MeshGradientPatch #
Define `<meshpatch>` SVG tag
Constructors
MeshGradientPatch | |
Fields
|
class HasMeshGradientPatch c_annx where #
Minimal complete definition
Methods
meshGradientPatch :: Lens' c_annx MeshGradientPatch #
meshGradientPatchStops :: Lens' c_annx [GradientStop] #
Instances
Image
Define an `<image>` tag.
Constructors
Image | |
Fields
|
Lenses for the Image type.
Minimal complete definition
Methods
imageAspectRatio :: Lens' c_anI7 PreserveAspectRatio #
imageCornerUpperLeft :: Lens' c_anI7 Point #
imageDrawAttributes :: Lens' c_anI7 DrawAttributes #
imageHeight :: Lens' c_anI7 Number #
imageHref :: Lens' c_anI7 String #
imageWidth :: Lens' c_anI7 Number #
Use
Define an `<use>` for a named content. Every named content can be reused in the document using this element.
Constructors
Use | |
Fields
|
Lenses for the Use type.
Minimal complete definition
Grouping primitives
Group
Define a SVG group, corresponding `<g>` tag.
Constructors
Group | |
Fields
|
class HasGroup g a | g -> a where #
Lenses associated to the Group type.
Minimal complete definition
Methods
groupAspectRatio :: Lens' g PreserveAspectRatio #
groupChildren :: Lens' g [a] #
groupDrawAttributes :: Lens' g DrawAttributes #
groupViewBox :: Lens' g (Maybe (Double, Double, Double, Double)) #
Symbol
Define the `<symbol>` tag, equivalent to a named group.
Constructors
Symbol | |
Fields
|
groupOfSymbol :: Lens (Symbol s) (Symbol t) (Group s) (Group t) #
Lenses associated with the Symbol type.
Text related types
Text
Define the global `<tag>` SVG tag.
Constructors
Text | |
Fields
|
data TextAnchor #
Tell where to anchor the text, where the position given is realative to the text.
Constructors
TextAnchorStart | The text with left aligned, or start at the postion
If the point is the *THE_TEXT_TO_PRINT Equivalent to the |
TextAnchorMiddle | The text is middle aligned, so the text will be at the left and right of the position: THE_TEXT*TO_PRINT Equivalent to the |
TextAnchorEnd | The text is right aligned. THE_TEXT_TO_PRINT* Equivalent to the |
Instances
Text path
Describe the `<textpath>` SVG tag.
Constructors
TextPath | |
Fields
|
class HasTextPath c_aojU where #
Lenses for the TextPath type.
Minimal complete definition
Methods
textPath :: Lens' c_aojU TextPath #
textPathData :: Lens' c_aojU [PathCommand] #
textPathMethod :: Lens' c_aojU TextPathMethod #
textPathName :: Lens' c_aojU String #
textPathSpacing :: Lens' c_aojU TextPathSpacing #
textPathStartOffset :: Lens' c_aojU Number #
Instances
data TextPathSpacing #
Describe the content of the spacing
text path
attribute.
Constructors
TextPathSpacingExact | Map to the |
TextPathSpacingAuto | Map to the |
Instances
data TextPathMethod #
Describe the content of the method
attribute on
text path.
Constructors
TextPathAlign | Map to the |
TextPathStretch | Map to the |
Instances
Text span.
data TextSpanContent #
Define the content of a `<tspan>` tag.
Constructors
SpanText !Text | Raw text |
SpanTextRef !String | Equivalent to a `<tref>` |
SpanSub !TextSpan | Define a `<tspan>` |
Instances
Define a `<tspan>` tag.
Constructors
TextSpan | |
Fields
|
class HasTextSpan c_aobD where #
Lenses for the TextSpan type.
Minimal complete definition
Methods
textSpan :: Lens' c_aobD TextSpan #
spanContent :: Lens' c_aobD [TextSpanContent] #
spanDrawAttributes :: Lens' c_aobD DrawAttributes #
Instances
Define position information associated to `<text>` or `<tspan>` svg tag.
Constructors
TextInfo | |
Fields
|
class HasTextInfo c_ao0m where #
Lenses for the TextInfo type.
Minimal complete definition
Methods
textInfo :: Lens' c_ao0m TextInfo #
textInfoDX :: Lens' c_ao0m [Number] #
textInfoDY :: Lens' c_ao0m [Number] #
textInfoLength :: Lens' c_ao0m (Maybe Number) #
textInfoRotate :: Lens' c_ao0m [Double] #
Instances
data TextAdjust #
Define the possible values of the lengthAdjust
attribute.
Constructors
TextAdjustSpacing | Value |
TextAdjustSpacingAndGlyphs | Value |
Instances
Marker definition
Define the `<marker>` tag.
Constructors
Marker | |
Fields
|
Define the content of the markerUnits
attribute
on the Marker.
Constructors
OverflowVisible | Value |
OverflowHidden | Value |
data MarkerOrientation #
Define the orientation, associated to the
orient
attribute on the Marker
Constructors
OrientationAuto | Auto value |
OrientationAngle Coord | Specific angle. |
Instances
data MarkerUnit #
Define the content of the markerUnits
attribute
on the Marker.
Constructors
MarkerUnitStrokeWidth | Value |
MarkerUnitUserSpaceOnUse | Value |
Instances
class HasMarker c_aoKc where #
Lenses for the Marker type.
Minimal complete definition
Methods
marker :: Lens' c_aoKc Marker #
markerAspectRatio :: Lens' c_aoKc PreserveAspectRatio #
markerDrawAttributes :: Lens' c_aoKc DrawAttributes #
markerElements :: Lens' c_aoKc [Tree] #
markerHeight :: Lens' c_aoKc (Maybe Number) #
markerOrient :: Lens' c_aoKc (Maybe MarkerOrientation) #
markerOverflow :: Lens' c_aoKc (Maybe Overflow) #
markerRefPoint :: Lens' c_aoKc (Number, Number) #
markerUnits :: Lens' c_aoKc (Maybe MarkerUnit) #
markerViewBox :: Lens' c_aoKc (Maybe (Double, Double, Double, Double)) #
markerWidth :: Lens' c_aoKc (Maybe Number) #
Gradient definition
data GradientStop #
Define a color stop for the gradients. Represent the `<stop>` SVG tag.
Constructors
GradientStop | |
Fields
|
class HasGradientStop c_anhM where #
Lenses for the GradientStop type.
Minimal complete definition
Methods
gradientStop :: Lens' c_anhM GradientStop #
gradientColor :: Lens' c_anhM PixelRGBA8 #
gradientOffset :: Lens' c_anhM Float #
gradientOpacity :: Lens' c_anhM (Maybe Float) #
gradientPath :: Lens' c_anhM (Maybe GradientPathCommand) #
Instances
Linear Gradient
data LinearGradient #
Define a `<linearGradient>` tag.
Constructors
LinearGradient | |
Fields
|
class HasLinearGradient c_apmJ where #
Lenses for the LinearGradient type.
Minimal complete definition
Methods
linearGradient :: Lens' c_apmJ LinearGradient #
linearGradientSpread :: Lens' c_apmJ Spread #
linearGradientStart :: Lens' c_apmJ Point #
linearGradientStop :: Lens' c_apmJ Point #
linearGradientStops :: Lens' c_apmJ [GradientStop] #
linearGradientTransform :: Lens' c_apmJ [Transformation] #
linearGradientUnits :: Lens' c_apmJ CoordinateUnits #
Instances
Radial Gradient
data RadialGradient #
Define a `<radialGradient>` tag.
Constructors
RadialGradient | |
Fields
|
class HasRadialGradient c_apwt where #
Lenses for the RadialGradient type.
Minimal complete definition
Methods
radialGradient :: Lens' c_apwt RadialGradient #
radialGradientCenter :: Lens' c_apwt Point #
radialGradientFocusX :: Lens' c_apwt (Maybe Number) #
radialGradientFocusY :: Lens' c_apwt (Maybe Number) #
radialGradientRadius :: Lens' c_apwt Number #
radialGradientSpread :: Lens' c_apwt Spread #
radialGradientStops :: Lens' c_apwt [GradientStop] #
radialGradientTransform :: Lens' c_apwt [Transformation] #
radialGradientUnits :: Lens' c_apwt CoordinateUnits #
Instances
Pattern definition
Define a `<pattern>` tag.
Constructors
Pattern | |
Fields
|
Instances
class HasPattern c_aq6G where #
Lenses for the Patter type.
Minimal complete definition
Methods
pattern :: Lens' c_aq6G Pattern #
patternAspectRatio :: Lens' c_aq6G PreserveAspectRatio #
patternDrawAttributes :: Lens' c_aq6G DrawAttributes #
patternElements :: Lens' c_aq6G [Tree] #
patternHeight :: Lens' c_aq6G Number #
patternHref :: Lens' c_aq6G String #
patternPos :: Lens' c_aq6G Point #
patternTransform :: Lens' c_aq6G (Maybe [Transformation]) #
patternUnit :: Lens' c_aq6G CoordinateUnits #
patternViewBox :: Lens' c_aq6G (Maybe (Double, Double, Double, Double)) #
patternWidth :: Lens' c_aq6G Number #
Instances
Mask definition
Define a SVG `<mask>` tag.
Constructors
Mask | |
Fields
|
Lenses for the Mask type.
Minimal complete definition
Methods
maskContent :: Lens' c_apHI [Tree] #
maskContentUnits :: Lens' c_apHI CoordinateUnits #
maskDrawAttributes :: Lens' c_apHI DrawAttributes #
maskHeight :: Lens' c_apHI Number #
maskPosition :: Lens' c_apHI Point #
maskUnits :: Lens' c_apHI CoordinateUnits #
Clip path definition
Define a `<clipPath>` tag.
Constructors
ClipPath | |
Fields
|
Instances
class HasClipPath c_apZq where #
Lenses for the ClipPath type.
Minimal complete definition
Methods
clipPath :: Lens' c_apZq ClipPath #
clipPathContent :: Lens' c_apZq [Tree] #
clipPathDrawAttributes :: Lens' c_apZq DrawAttributes #
clipPathUnits :: Lens' c_apZq CoordinateUnits #
Instances
Aspect Ratio description
data PreserveAspectRatio #
Describe the content of the preserveAspectRatio attribute.
Constructors
PreserveAspectRatio | |
Fields |
This type represent the align information of the preserveAspectRatio SVGattribute
Constructors
AlignNone | "none" value |
AlignxMinYMin | |
AlignxMidYMin | "xMidYMin" value |
AlignxMaxYMin | "xMaxYMin" value |
AlignxMinYMid | "xMinYMid" value |
AlignxMidYMid | "xMidYMid" value |
AlignxMaxYMid | "xMaxYMid" value |
AlignxMinYMax | "xMinYMax" value |
AlignxMidYMax | "xMidYMax" value |
AlignxMaxYMax | "xMaxYMax" value |
This type represent the "meet or slice" information of the preserveAspectRatio SVGattribute
class HasPreserveAspectRatio a where #
Lenses for the PreserveAspectRatio type
Minimal complete definition
Methods
preserveAspectRatio :: Lens' a PreserveAspectRatio #
aspectRatioAlign :: Lens' a Alignment #
aspectRatioDefer :: Lens' a Bool #
aspectRatioMeetSlice :: Lens' a (Maybe MeetSlice) #
Instances
MISC functions
isPathArc :: PathCommand -> Bool #
Tell if the path command is an EllipticalArc.
isPathWithArc :: Foldable f => f PathCommand -> Bool #
Tell if a full path contain an EllipticalArc.
nameOfTree :: Tree -> Text #
For every element of a svg tree, associate it's SVG tag name.
zipTree :: ([[Tree]] -> Tree) -> Tree -> Tree #
Map a tree while propagating context information. The function passed in parameter receive a list representing the the path used to go arrive to the current node.
toUserUnit :: Dpi -> Number -> Number #
This function replace all device dependant units to user units given it's DPI configuration. Preserve percentage and "em" notation.