reanimate-svg 0.9.8.0 → 0.10.0.0
raw patch · 3 files changed
+186/−13 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Graphics.SvgTree.Types: ChannelA :: ChannelSelector
+ Graphics.SvgTree.Types: ChannelB :: ChannelSelector
+ Graphics.SvgTree.Types: ChannelG :: ChannelSelector
+ Graphics.SvgTree.Types: ChannelR :: ChannelSelector
+ Graphics.SvgTree.Types: DisplacementMap :: !DrawAttributes -> !FilterAttributes -> !Last FilterSource -> !Last FilterSource -> !Last Double -> ChannelSelector -> ChannelSelector -> DisplacementMap
+ Graphics.SvgTree.Types: FractalNoiseType :: TurbulenceType
+ Graphics.SvgTree.Types: NoStitch :: StitchTiles
+ Graphics.SvgTree.Types: Stitch :: StitchTiles
+ Graphics.SvgTree.Types: Turbulence :: !DrawAttributes -> !FilterAttributes -> !(Double, Last Double) -> Int -> Double -> StitchTiles -> TurbulenceType -> Turbulence
+ Graphics.SvgTree.Types: TurbulenceType :: TurbulenceType
+ Graphics.SvgTree.Types: [_displacementMapDrawAttributes] :: DisplacementMap -> !DrawAttributes
+ Graphics.SvgTree.Types: [_displacementMapFilterAttr] :: DisplacementMap -> !FilterAttributes
+ Graphics.SvgTree.Types: [_displacementMapIn2] :: DisplacementMap -> !Last FilterSource
+ Graphics.SvgTree.Types: [_displacementMapIn] :: DisplacementMap -> !Last FilterSource
+ Graphics.SvgTree.Types: [_displacementMapScale] :: DisplacementMap -> !Last Double
+ Graphics.SvgTree.Types: [_displacementMapXChannelSelector] :: DisplacementMap -> ChannelSelector
+ Graphics.SvgTree.Types: [_displacementMapYChannelSelector] :: DisplacementMap -> ChannelSelector
+ Graphics.SvgTree.Types: [_turbulenceBaseFrequency] :: Turbulence -> !(Double, Last Double)
+ Graphics.SvgTree.Types: [_turbulenceDrawAttributes] :: Turbulence -> !DrawAttributes
+ Graphics.SvgTree.Types: [_turbulenceFilterAttr] :: Turbulence -> !FilterAttributes
+ Graphics.SvgTree.Types: [_turbulenceNumOctaves] :: Turbulence -> Int
+ Graphics.SvgTree.Types: [_turbulenceSeed] :: Turbulence -> Double
+ Graphics.SvgTree.Types: [_turbulenceStitchTiles] :: Turbulence -> StitchTiles
+ Graphics.SvgTree.Types: [_turbulenceType] :: Turbulence -> TurbulenceType
+ Graphics.SvgTree.Types: class HasDisplacementMap c_azM7
+ Graphics.SvgTree.Types: class HasTurbulence c_azEW
+ Graphics.SvgTree.Types: data ChannelSelector
+ Graphics.SvgTree.Types: data DisplacementMap
+ Graphics.SvgTree.Types: data StitchTiles
+ Graphics.SvgTree.Types: data Turbulence
+ Graphics.SvgTree.Types: data TurbulenceType
+ Graphics.SvgTree.Types: displacementMap :: HasDisplacementMap c_azM7 => Lens' c_azM7 DisplacementMap
+ Graphics.SvgTree.Types: displacementMapDrawAttributes :: HasDisplacementMap c_azM7 => Lens' c_azM7 DrawAttributes
+ Graphics.SvgTree.Types: displacementMapFilterAttr :: HasDisplacementMap c_azM7 => Lens' c_azM7 FilterAttributes
+ Graphics.SvgTree.Types: displacementMapIn :: HasDisplacementMap c_azM7 => Lens' c_azM7 (Last FilterSource)
+ Graphics.SvgTree.Types: displacementMapIn2 :: HasDisplacementMap c_azM7 => Lens' c_azM7 (Last FilterSource)
+ Graphics.SvgTree.Types: displacementMapScale :: HasDisplacementMap c_azM7 => Lens' c_azM7 (Last Double)
+ Graphics.SvgTree.Types: displacementMapXChannelSelector :: HasDisplacementMap c_azM7 => Lens' c_azM7 ChannelSelector
+ Graphics.SvgTree.Types: displacementMapYChannelSelector :: HasDisplacementMap c_azM7 => Lens' c_azM7 ChannelSelector
+ Graphics.SvgTree.Types: instance GHC.Classes.Eq Graphics.SvgTree.Types.ChannelSelector
+ Graphics.SvgTree.Types: instance GHC.Classes.Eq Graphics.SvgTree.Types.DisplacementMap
+ Graphics.SvgTree.Types: instance GHC.Classes.Eq Graphics.SvgTree.Types.StitchTiles
+ Graphics.SvgTree.Types: instance GHC.Classes.Eq Graphics.SvgTree.Types.TransferFunction
+ Graphics.SvgTree.Types: instance GHC.Classes.Eq Graphics.SvgTree.Types.TransferFunctionType
+ Graphics.SvgTree.Types: instance GHC.Classes.Eq Graphics.SvgTree.Types.Turbulence
+ Graphics.SvgTree.Types: instance GHC.Classes.Eq Graphics.SvgTree.Types.TurbulenceType
+ Graphics.SvgTree.Types: instance GHC.Show.Show Graphics.SvgTree.Types.ChannelSelector
+ Graphics.SvgTree.Types: instance GHC.Show.Show Graphics.SvgTree.Types.DisplacementMap
+ Graphics.SvgTree.Types: instance GHC.Show.Show Graphics.SvgTree.Types.StitchTiles
+ Graphics.SvgTree.Types: instance GHC.Show.Show Graphics.SvgTree.Types.TransferFunction
+ Graphics.SvgTree.Types: instance GHC.Show.Show Graphics.SvgTree.Types.TransferFunctionType
+ Graphics.SvgTree.Types: instance GHC.Show.Show Graphics.SvgTree.Types.Turbulence
+ Graphics.SvgTree.Types: instance GHC.Show.Show Graphics.SvgTree.Types.TurbulenceType
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasDisplacementMap Graphics.SvgTree.Types.DisplacementMap
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasDrawAttributes Graphics.SvgTree.Types.DisplacementMap
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasDrawAttributes Graphics.SvgTree.Types.Turbulence
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasFilterAttributes Graphics.SvgTree.Types.DisplacementMap
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasFilterAttributes Graphics.SvgTree.Types.Turbulence
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasTurbulence Graphics.SvgTree.Types.Turbulence
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.WithDefaultSvg Graphics.SvgTree.Types.DisplacementMap
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.WithDefaultSvg Graphics.SvgTree.Types.Turbulence
+ Graphics.SvgTree.Types: turbulence :: HasTurbulence c_azEW => Lens' c_azEW Turbulence
+ Graphics.SvgTree.Types: turbulenceBaseFrequency :: HasTurbulence c_azEW => Lens' c_azEW (Double, Last Double)
+ Graphics.SvgTree.Types: turbulenceDrawAttributes :: HasTurbulence c_azEW => Lens' c_azEW DrawAttributes
+ Graphics.SvgTree.Types: turbulenceFilterAttr :: HasTurbulence c_azEW => Lens' c_azEW FilterAttributes
+ Graphics.SvgTree.Types: turbulenceNumOctaves :: HasTurbulence c_azEW => Lens' c_azEW Int
+ Graphics.SvgTree.Types: turbulenceSeed :: HasTurbulence c_azEW => Lens' c_azEW Double
+ Graphics.SvgTree.Types: turbulenceStitchTiles :: HasTurbulence c_azEW => Lens' c_azEW StitchTiles
+ Graphics.SvgTree.Types: turbulenceType :: HasTurbulence c_azEW => Lens' c_azEW TurbulenceType
- Graphics.SvgTree.Types: FEDisplacementMap :: FilterElement
+ Graphics.SvgTree.Types: FEDisplacementMap :: DisplacementMap -> FilterElement
- Graphics.SvgTree.Types: FETurbulence :: FilterElement
+ Graphics.SvgTree.Types: FETurbulence :: Turbulence -> FilterElement
- Graphics.SvgTree.Types: attrClass :: HasDrawAttributes c_apLg => Lens' c_apLg [Text]
+ Graphics.SvgTree.Types: attrClass :: HasDrawAttributes c_apWv => Lens' c_apWv [Text]
- Graphics.SvgTree.Types: attrId :: HasDrawAttributes c_apLg => Lens' c_apLg (Maybe String)
+ Graphics.SvgTree.Types: attrId :: HasDrawAttributes c_apWv => Lens' c_apWv (Maybe String)
- Graphics.SvgTree.Types: class HasColorMatrix c_ayWt
+ Graphics.SvgTree.Types: class HasColorMatrix c_azty
- Graphics.SvgTree.Types: class HasComposite c_ayNc
+ Graphics.SvgTree.Types: class HasComposite c_azkh
- Graphics.SvgTree.Types: class HasDocument c_axZ4
+ Graphics.SvgTree.Types: class HasDocument c_ayw9
- Graphics.SvgTree.Types: class HasDrawAttributes c_apLg
+ Graphics.SvgTree.Types: class HasDrawAttributes c_apWv
- Graphics.SvgTree.Types: class HasGaussianBlur c_az1G
+ Graphics.SvgTree.Types: class HasGaussianBlur c_azyL
- Graphics.SvgTree.Types: class HasTextPath c_ayBm
+ Graphics.SvgTree.Types: class HasTextPath c_az8r
- Graphics.SvgTree.Types: clipPathRef :: HasDrawAttributes c_apLg => Lens' c_apLg (Last ElementRef)
+ Graphics.SvgTree.Types: clipPathRef :: HasDrawAttributes c_apWv => Lens' c_apWv (Last ElementRef)
- Graphics.SvgTree.Types: clipRule :: HasDrawAttributes c_apLg => Lens' c_apLg (Last FillRule)
+ Graphics.SvgTree.Types: clipRule :: HasDrawAttributes c_apWv => Lens' c_apWv (Last FillRule)
- Graphics.SvgTree.Types: colorMatrix :: HasColorMatrix c_ayWt => Lens' c_ayWt ColorMatrix
+ Graphics.SvgTree.Types: colorMatrix :: HasColorMatrix c_azty => Lens' c_azty ColorMatrix
- Graphics.SvgTree.Types: colorMatrixDrawAttributes :: HasColorMatrix c_ayWt => Lens' c_ayWt DrawAttributes
+ Graphics.SvgTree.Types: colorMatrixDrawAttributes :: HasColorMatrix c_azty => Lens' c_azty DrawAttributes
- Graphics.SvgTree.Types: colorMatrixFilterAttr :: HasColorMatrix c_ayWt => Lens' c_ayWt FilterAttributes
+ Graphics.SvgTree.Types: colorMatrixFilterAttr :: HasColorMatrix c_azty => Lens' c_azty FilterAttributes
- Graphics.SvgTree.Types: colorMatrixIn :: HasColorMatrix c_ayWt => Lens' c_ayWt (Last FilterSource)
+ Graphics.SvgTree.Types: colorMatrixIn :: HasColorMatrix c_azty => Lens' c_azty (Last FilterSource)
- Graphics.SvgTree.Types: colorMatrixType :: HasColorMatrix c_ayWt => Lens' c_ayWt ColorMatrixType
+ Graphics.SvgTree.Types: colorMatrixType :: HasColorMatrix c_azty => Lens' c_azty ColorMatrixType
- Graphics.SvgTree.Types: colorMatrixValues :: HasColorMatrix c_ayWt => Lens' c_ayWt String
+ Graphics.SvgTree.Types: colorMatrixValues :: HasColorMatrix c_azty => Lens' c_azty String
- Graphics.SvgTree.Types: composite :: HasComposite c_ayNc => Lens' c_ayNc Composite
+ Graphics.SvgTree.Types: composite :: HasComposite c_azkh => Lens' c_azkh Composite
- Graphics.SvgTree.Types: compositeDrawAttributes :: HasComposite c_ayNc => Lens' c_ayNc DrawAttributes
+ Graphics.SvgTree.Types: compositeDrawAttributes :: HasComposite c_azkh => Lens' c_azkh DrawAttributes
- Graphics.SvgTree.Types: compositeFilterAttr :: HasComposite c_ayNc => Lens' c_ayNc FilterAttributes
+ Graphics.SvgTree.Types: compositeFilterAttr :: HasComposite c_azkh => Lens' c_azkh FilterAttributes
- Graphics.SvgTree.Types: compositeIn :: HasComposite c_ayNc => Lens' c_ayNc (Last FilterSource)
+ Graphics.SvgTree.Types: compositeIn :: HasComposite c_azkh => Lens' c_azkh (Last FilterSource)
- Graphics.SvgTree.Types: compositeIn2 :: HasComposite c_ayNc => Lens' c_ayNc (Last FilterSource)
+ Graphics.SvgTree.Types: compositeIn2 :: HasComposite c_azkh => Lens' c_azkh (Last FilterSource)
- Graphics.SvgTree.Types: compositeK1 :: HasComposite c_ayNc => Lens' c_ayNc Number
+ Graphics.SvgTree.Types: compositeK1 :: HasComposite c_azkh => Lens' c_azkh Number
- Graphics.SvgTree.Types: compositeK2 :: HasComposite c_ayNc => Lens' c_ayNc Number
+ Graphics.SvgTree.Types: compositeK2 :: HasComposite c_azkh => Lens' c_azkh Number
- Graphics.SvgTree.Types: compositeK3 :: HasComposite c_ayNc => Lens' c_ayNc Number
+ Graphics.SvgTree.Types: compositeK3 :: HasComposite c_azkh => Lens' c_azkh Number
- Graphics.SvgTree.Types: compositeK4 :: HasComposite c_ayNc => Lens' c_ayNc Number
+ Graphics.SvgTree.Types: compositeK4 :: HasComposite c_azkh => Lens' c_azkh Number
- Graphics.SvgTree.Types: compositeOperator :: HasComposite c_ayNc => Lens' c_ayNc CompositeOperator
+ Graphics.SvgTree.Types: compositeOperator :: HasComposite c_azkh => Lens' c_azkh CompositeOperator
- Graphics.SvgTree.Types: description :: HasDocument c_axZ4 => Lens' c_axZ4 String
+ Graphics.SvgTree.Types: description :: HasDocument c_ayw9 => Lens' c_ayw9 String
- Graphics.SvgTree.Types: document :: HasDocument c_axZ4 => Lens' c_axZ4 Document
+ Graphics.SvgTree.Types: document :: HasDocument c_ayw9 => Lens' c_ayw9 Document
- Graphics.SvgTree.Types: documentAspectRatio :: HasDocument c_axZ4 => Lens' c_axZ4 PreserveAspectRatio
+ Graphics.SvgTree.Types: documentAspectRatio :: HasDocument c_ayw9 => Lens' c_ayw9 PreserveAspectRatio
- Graphics.SvgTree.Types: documentLocation :: HasDocument c_axZ4 => Lens' c_axZ4 FilePath
+ Graphics.SvgTree.Types: documentLocation :: HasDocument c_ayw9 => Lens' c_ayw9 FilePath
- Graphics.SvgTree.Types: drawAttributes :: HasDrawAttributes c_apLg => Lens' c_apLg DrawAttributes
+ Graphics.SvgTree.Types: drawAttributes :: HasDrawAttributes c_apWv => Lens' c_apWv DrawAttributes
- Graphics.SvgTree.Types: elements :: HasDocument c_axZ4 => Lens' c_axZ4 [Tree]
+ Graphics.SvgTree.Types: elements :: HasDocument c_ayw9 => Lens' c_ayw9 [Tree]
- Graphics.SvgTree.Types: fillColor :: HasDrawAttributes c_apLg => Lens' c_apLg (Last Texture)
+ Graphics.SvgTree.Types: fillColor :: HasDrawAttributes c_apWv => Lens' c_apWv (Last Texture)
- Graphics.SvgTree.Types: fillOpacity :: HasDrawAttributes c_apLg => Lens' c_apLg (Maybe Float)
+ Graphics.SvgTree.Types: fillOpacity :: HasDrawAttributes c_apWv => Lens' c_apWv (Maybe Float)
- Graphics.SvgTree.Types: fillRule :: HasDrawAttributes c_apLg => Lens' c_apLg (Last FillRule)
+ Graphics.SvgTree.Types: fillRule :: HasDrawAttributes c_apWv => Lens' c_apWv (Last FillRule)
- Graphics.SvgTree.Types: filterRef :: HasDrawAttributes c_apLg => Lens' c_apLg (Last ElementRef)
+ Graphics.SvgTree.Types: filterRef :: HasDrawAttributes c_apWv => Lens' c_apWv (Last ElementRef)
- Graphics.SvgTree.Types: fontFamily :: HasDrawAttributes c_apLg => Lens' c_apLg (Last [String])
+ Graphics.SvgTree.Types: fontFamily :: HasDrawAttributes c_apWv => Lens' c_apWv (Last [String])
- Graphics.SvgTree.Types: fontSize :: HasDrawAttributes c_apLg => Lens' c_apLg (Last Number)
+ Graphics.SvgTree.Types: fontSize :: HasDrawAttributes c_apWv => Lens' c_apWv (Last Number)
- Graphics.SvgTree.Types: fontStyle :: HasDrawAttributes c_apLg => Lens' c_apLg (Last FontStyle)
+ Graphics.SvgTree.Types: fontStyle :: HasDrawAttributes c_apWv => Lens' c_apWv (Last FontStyle)
- Graphics.SvgTree.Types: gaussianBlur :: HasGaussianBlur c_az1G => Lens' c_az1G GaussianBlur
+ Graphics.SvgTree.Types: gaussianBlur :: HasGaussianBlur c_azyL => Lens' c_azyL GaussianBlur
- Graphics.SvgTree.Types: gaussianBlurDrawAttributes :: HasGaussianBlur c_az1G => Lens' c_az1G DrawAttributes
+ Graphics.SvgTree.Types: gaussianBlurDrawAttributes :: HasGaussianBlur c_azyL => Lens' c_azyL DrawAttributes
- Graphics.SvgTree.Types: gaussianBlurEdgeMode :: HasGaussianBlur c_az1G => Lens' c_az1G EdgeMode
+ Graphics.SvgTree.Types: gaussianBlurEdgeMode :: HasGaussianBlur c_azyL => Lens' c_azyL EdgeMode
- Graphics.SvgTree.Types: gaussianBlurFilterAttr :: HasGaussianBlur c_az1G => Lens' c_az1G FilterAttributes
+ Graphics.SvgTree.Types: gaussianBlurFilterAttr :: HasGaussianBlur c_azyL => Lens' c_azyL FilterAttributes
- Graphics.SvgTree.Types: gaussianBlurIn :: HasGaussianBlur c_az1G => Lens' c_az1G (Last FilterSource)
+ Graphics.SvgTree.Types: gaussianBlurIn :: HasGaussianBlur c_azyL => Lens' c_azyL (Last FilterSource)
- Graphics.SvgTree.Types: gaussianBlurStdDeviationX :: HasGaussianBlur c_az1G => Lens' c_az1G Number
+ Graphics.SvgTree.Types: gaussianBlurStdDeviationX :: HasGaussianBlur c_azyL => Lens' c_azyL Number
- Graphics.SvgTree.Types: gaussianBlurStdDeviationY :: HasGaussianBlur c_az1G => Lens' c_az1G (Last Number)
+ Graphics.SvgTree.Types: gaussianBlurStdDeviationY :: HasGaussianBlur c_azyL => Lens' c_azyL (Last Number)
- Graphics.SvgTree.Types: groupOpacity :: HasDrawAttributes c_apLg => Lens' c_apLg (Maybe Float)
+ Graphics.SvgTree.Types: groupOpacity :: HasDrawAttributes c_apWv => Lens' c_apWv (Maybe Float)
- Graphics.SvgTree.Types: height :: HasDocument c_axZ4 => Lens' c_axZ4 (Maybe Number)
+ Graphics.SvgTree.Types: height :: HasDocument c_ayw9 => Lens' c_ayw9 (Maybe Number)
- Graphics.SvgTree.Types: markerEnd :: HasDrawAttributes c_apLg => Lens' c_apLg (Last ElementRef)
+ Graphics.SvgTree.Types: markerEnd :: HasDrawAttributes c_apWv => Lens' c_apWv (Last ElementRef)
- Graphics.SvgTree.Types: markerMid :: HasDrawAttributes c_apLg => Lens' c_apLg (Last ElementRef)
+ Graphics.SvgTree.Types: markerMid :: HasDrawAttributes c_apWv => Lens' c_apWv (Last ElementRef)
- Graphics.SvgTree.Types: markerStart :: HasDrawAttributes c_apLg => Lens' c_apLg (Last ElementRef)
+ Graphics.SvgTree.Types: markerStart :: HasDrawAttributes c_apWv => Lens' c_apWv (Last ElementRef)
- Graphics.SvgTree.Types: maskRef :: HasDrawAttributes c_apLg => Lens' c_apLg (Last ElementRef)
+ Graphics.SvgTree.Types: maskRef :: HasDrawAttributes c_apWv => Lens' c_apWv (Last ElementRef)
- Graphics.SvgTree.Types: preRendered :: HasDrawAttributes c_apLg => Lens' c_apLg (Maybe String)
+ Graphics.SvgTree.Types: preRendered :: HasDrawAttributes c_apWv => Lens' c_apWv (Maybe String)
- Graphics.SvgTree.Types: strokeColor :: HasDrawAttributes c_apLg => Lens' c_apLg (Last Texture)
+ Graphics.SvgTree.Types: strokeColor :: HasDrawAttributes c_apWv => Lens' c_apWv (Last Texture)
- Graphics.SvgTree.Types: strokeDashArray :: HasDrawAttributes c_apLg => Lens' c_apLg (Last [Number])
+ Graphics.SvgTree.Types: strokeDashArray :: HasDrawAttributes c_apWv => Lens' c_apWv (Last [Number])
- Graphics.SvgTree.Types: strokeLineCap :: HasDrawAttributes c_apLg => Lens' c_apLg (Last Cap)
+ Graphics.SvgTree.Types: strokeLineCap :: HasDrawAttributes c_apWv => Lens' c_apWv (Last Cap)
- Graphics.SvgTree.Types: strokeLineJoin :: HasDrawAttributes c_apLg => Lens' c_apLg (Last LineJoin)
+ Graphics.SvgTree.Types: strokeLineJoin :: HasDrawAttributes c_apWv => Lens' c_apWv (Last LineJoin)
- Graphics.SvgTree.Types: strokeMiterLimit :: HasDrawAttributes c_apLg => Lens' c_apLg (Last Double)
+ Graphics.SvgTree.Types: strokeMiterLimit :: HasDrawAttributes c_apWv => Lens' c_apWv (Last Double)
- Graphics.SvgTree.Types: strokeOffset :: HasDrawAttributes c_apLg => Lens' c_apLg (Last Number)
+ Graphics.SvgTree.Types: strokeOffset :: HasDrawAttributes c_apWv => Lens' c_apWv (Last Number)
- Graphics.SvgTree.Types: strokeOpacity :: HasDrawAttributes c_apLg => Lens' c_apLg (Maybe Float)
+ Graphics.SvgTree.Types: strokeOpacity :: HasDrawAttributes c_apWv => Lens' c_apWv (Maybe Float)
- Graphics.SvgTree.Types: strokeWidth :: HasDrawAttributes c_apLg => Lens' c_apLg (Last Number)
+ Graphics.SvgTree.Types: strokeWidth :: HasDrawAttributes c_apWv => Lens' c_apWv (Last Number)
- Graphics.SvgTree.Types: textAnchor :: HasDrawAttributes c_apLg => Lens' c_apLg (Last TextAnchor)
+ Graphics.SvgTree.Types: textAnchor :: HasDrawAttributes c_apWv => Lens' c_apWv (Last TextAnchor)
- Graphics.SvgTree.Types: textPath :: HasTextPath c_ayBm => Lens' c_ayBm TextPath
+ Graphics.SvgTree.Types: textPath :: HasTextPath c_az8r => Lens' c_az8r TextPath
- Graphics.SvgTree.Types: textPathMethod :: HasTextPath c_ayBm => Lens' c_ayBm TextPathMethod
+ Graphics.SvgTree.Types: textPathMethod :: HasTextPath c_az8r => Lens' c_az8r TextPathMethod
- Graphics.SvgTree.Types: textPathName :: HasTextPath c_ayBm => Lens' c_ayBm String
+ Graphics.SvgTree.Types: textPathName :: HasTextPath c_az8r => Lens' c_az8r String
- Graphics.SvgTree.Types: textPathSpacing :: HasTextPath c_ayBm => Lens' c_ayBm TextPathSpacing
+ Graphics.SvgTree.Types: textPathSpacing :: HasTextPath c_az8r => Lens' c_az8r TextPathSpacing
- Graphics.SvgTree.Types: textPathStartOffset :: HasTextPath c_ayBm => Lens' c_ayBm Number
+ Graphics.SvgTree.Types: textPathStartOffset :: HasTextPath c_az8r => Lens' c_az8r Number
- Graphics.SvgTree.Types: transform :: HasDrawAttributes c_apLg => Lens' c_apLg (Maybe [Transformation])
+ Graphics.SvgTree.Types: transform :: HasDrawAttributes c_apWv => Lens' c_apWv (Maybe [Transformation])
- Graphics.SvgTree.Types: viewBox :: HasDocument c_axZ4 => Lens' c_axZ4 (Maybe (Double, Double, Double, Double))
+ Graphics.SvgTree.Types: viewBox :: HasDocument c_ayw9 => Lens' c_ayw9 (Maybe (Double, Double, Double, Double))
- Graphics.SvgTree.Types: width :: HasDocument c_axZ4 => Lens' c_axZ4 (Maybe Number)
+ Graphics.SvgTree.Types: width :: HasDocument c_ayw9 => Lens' c_ayw9 (Maybe Number)
Files
- reanimate-svg.cabal +1/−1
- src/Graphics/SvgTree/Types.hs +108/−8
- src/Graphics/SvgTree/XmlParser.hs +77/−4
reanimate-svg.cabal view
@@ -1,5 +1,5 @@ name: reanimate-svg-version: 0.9.8.0+version: 0.10.0.0 synopsis: SVG file loader and serializer description: reanimate-svg provides types representing a SVG document,
src/Graphics/SvgTree/Types.hs view
@@ -63,6 +63,13 @@ , EdgeMode(..) , HasGaussianBlur(..) , GaussianBlur(..)+ , HasTurbulence(..)+ , Turbulence(..)+ , TurbulenceType(..)+ , StitchTiles(..)+ , HasDisplacementMap(..)+ , DisplacementMap(..)+ , ChannelSelector(..) -- * SVG drawing primitives -- ** Rectangle@@ -1633,14 +1640,14 @@ data FilterElement = FEBlend | FEColorMatrix ColorMatrix- | FEComponentTransfer+ | FEComponentTransfer -- Need | FEComposite Composite | FEConvolveMatrix | FEDiffuseLighting- | FEDisplacementMap+ | FEDisplacementMap DisplacementMap | FEDropShadow | FEFlood- | FEFuncA+ | FEFuncA -- Need | FEFuncB | FEFuncG | FEFuncR@@ -1652,13 +1659,61 @@ | FEOffset | FESpecularLighting | FETile- | FETurbulence+ | FETurbulence Turbulence | FENone deriving (Eq,Show) instance WithDefaultSvg FilterElement where defaultSvg = FENone +data TransferFunctionType+ = TFIdentity+ | TFTable+ | TFDiscrete+ | TFLinear+ | TFGamma+ deriving (Eq, Show)++data TransferFunction = TransferFunction+ { _transferFunctionDrawAttributes :: !DrawAttributes+ , _transferFunctionFilterAttr :: !FilterAttributes+ , _transferFunctionType :: TransferFunctionType+ , _transferFunctionTableValues :: [Double]+ , _transferFunctionSlope :: Double+ , _transferFunctionIntercept :: Double+ , _transferFunctionAmplitude :: Double+ , _transferFunctionExponent :: Double+ , _transferFunctionOffset :: Double+ } deriving (Eq, Show)++data ChannelSelector+ = ChannelR+ | ChannelG+ | ChannelB+ | ChannelA+ deriving (Eq, Show)++data DisplacementMap = DisplacementMap+ { _displacementMapDrawAttributes :: !DrawAttributes+ , _displacementMapFilterAttr :: !FilterAttributes+ , _displacementMapIn :: !(Last FilterSource)+ , _displacementMapIn2 :: !(Last FilterSource)+ , _displacementMapScale :: !(Last Double)+ , _displacementMapXChannelSelector :: ChannelSelector+ , _displacementMapYChannelSelector :: ChannelSelector+ } deriving (Eq, Show)++instance WithDefaultSvg DisplacementMap where+ defaultSvg = DisplacementMap+ { _displacementMapDrawAttributes = defaultSvg+ , _displacementMapFilterAttr = defaultSvg+ , _displacementMapIn = Last Nothing+ , _displacementMapIn2 = Last Nothing+ , _displacementMapScale = Last Nothing+ , _displacementMapXChannelSelector = ChannelA+ , _displacementMapYChannelSelector = ChannelA+ }+ data ColorMatrixType = Matrix | Saturate@@ -1717,6 +1772,37 @@ , _compositeK4 = Num 0 } +data Turbulence = Turbulence+ { _turbulenceDrawAttributes :: !DrawAttributes+ , _turbulenceFilterAttr :: !FilterAttributes+ , _turbulenceBaseFrequency :: !(Double, Last Double) -- Not negative+ , _turbulenceNumOctaves :: Int -- Not negative+ , _turbulenceSeed :: Double+ , _turbulenceStitchTiles :: StitchTiles+ , _turbulenceType :: TurbulenceType+ } deriving (Eq, Show)++data StitchTiles+ = NoStitch+ | Stitch+ deriving (Eq, Show)++data TurbulenceType+ = FractalNoiseType+ | TurbulenceType+ deriving (Eq, Show)++instance WithDefaultSvg Turbulence where+ defaultSvg = Turbulence+ { _turbulenceDrawAttributes = defaultSvg+ , _turbulenceFilterAttr = defaultSvg+ , _turbulenceBaseFrequency = (0, Last Nothing)+ , _turbulenceNumOctaves = 1+ , _turbulenceSeed = 0+ , _turbulenceStitchTiles = NoStitch+ , _turbulenceType = TurbulenceType+ }+ data EdgeMode = EdgeDuplicate | EdgeWrap@@ -2784,6 +2870,8 @@ makeClassy ''Composite makeClassy ''ColorMatrix makeClassy ''GaussianBlur+makeClassy ''Turbulence+makeClassy ''DisplacementMap instance HasDrawAttributes Composite where drawAttributes = compositeDrawAttributes@@ -2795,6 +2883,12 @@ instance HasDrawAttributes GaussianBlur where drawAttributes = gaussianBlurDrawAttributes +instance HasDrawAttributes Turbulence where+ drawAttributes = turbulenceDrawAttributes++instance HasDrawAttributes DisplacementMap where+ drawAttributes = displacementMapDrawAttributes+ instance HasFilterAttributes Composite where filterAttributes = compositeFilterAttr @@ -2804,6 +2898,12 @@ instance HasFilterAttributes GaussianBlur where filterAttributes = gaussianBlurFilterAttr +instance HasFilterAttributes Turbulence where+ filterAttributes = turbulenceFilterAttr++instance HasFilterAttributes DisplacementMap where+ filterAttributes = displacementMapFilterAttr+ instance HasFilterAttributes FilterElement where filterAttributes = lens getter setter where@@ -2814,7 +2914,7 @@ FEComposite c -> c ^. filterAttributes FEConvolveMatrix -> defaultSvg FEDiffuseLighting -> defaultSvg- FEDisplacementMap -> defaultSvg+ FEDisplacementMap d -> d ^. filterAttributes FEDropShadow -> defaultSvg FEFlood -> defaultSvg FEFuncA -> defaultSvg@@ -2829,7 +2929,7 @@ FEOffset -> defaultSvg FESpecularLighting -> defaultSvg FETile -> defaultSvg- FETurbulence -> defaultSvg+ FETurbulence t -> t ^. filterAttributes FENone -> defaultSvg setter fe attr = case fe of FEBlend -> fe@@ -2838,7 +2938,7 @@ FEComposite c -> FEComposite $ c & filterAttributes .~ attr FEConvolveMatrix -> fe FEDiffuseLighting -> fe- FEDisplacementMap -> fe+ FEDisplacementMap d -> FEDisplacementMap $ d & filterAttributes .~ attr FEDropShadow -> fe FEFlood -> fe FEFuncA -> fe@@ -2853,5 +2953,5 @@ FEOffset -> fe FESpecularLighting -> fe FETile -> fe- FETurbulence -> fe+ FETurbulence t -> FETurbulence $ t & filterAttributes .~ attr FENone -> fe
src/Graphics/SvgTree/XmlParser.hs view
@@ -93,6 +93,10 @@ aparse = parse dashArray aserialize = Just . serializeDashArray +instance ParseableAttribute [Double] where+ aparse = parse numberList+ aserialize = Just . serializeDashArray . map Num+ instance ParseableAttribute PixelRGBA8 where aparse = parse colorParser aserialize = Just . colorSerializer@@ -113,6 +117,10 @@ aparse = parseMayStartDot num aserialize v = Just $ printf "%s" (ppD v) +instance ParseableAttribute Int where+ aparse = fmap (round :: Double -> Int) . aparse+ aserialize v = Just $ printf "%d" v+ instance ParseableAttribute Texture where aparse = parse textureParser aserialize = Just . textureSerializer@@ -390,6 +398,40 @@ HueRotate -> "hueRotate" LuminanceToAlpha -> "luminanceToAlpha" +instance ParseableAttribute StitchTiles where+ aparse s = case s of+ "noStitch" -> Just NoStitch+ "stitch" -> Just Stitch+ _ -> Nothing++ aserialize v = Just $ case v of+ NoStitch -> "noStitch"+ Stitch -> "stitch"++instance ParseableAttribute TurbulenceType where+ aparse s = case s of+ "fractalNoise" -> Just FractalNoiseType+ "turbulence" -> Just TurbulenceType+ _ -> Nothing++ aserialize v = Just $ case v of+ FractalNoiseType -> "fractalNoise"+ TurbulenceType -> "turbulence"++instance ParseableAttribute ChannelSelector where+ aparse s = case s of+ "R" -> Just ChannelR+ "G" -> Just ChannelG+ "B" -> Just ChannelB+ "A" -> Just ChannelA+ _ -> Nothing++ aserialize v = Just $ case v of+ ChannelR -> "R"+ ChannelG -> "G"+ ChannelB -> "B"+ ChannelA -> "A"+ instance ParseableAttribute EdgeMode where aparse s = case s of "duplicate" -> Just EdgeDuplicate@@ -411,6 +453,15 @@ aserialize (x, Last Nothing) = aserialize [x] aserialize (x, Last (Just y)) = aserialize [x, y] +instance ParseableAttribute (Double, Last Double) where+ aparse s = case aparse s of+ Just [x] -> Just (x, Last Nothing)+ Just [x,y] -> Just (x, Last (Just y))+ _ -> Nothing++ aserialize (x, Last Nothing) = aserialize [x]+ aserialize (x, Last (Just y)) = aserialize [x, y]+ parse :: Parser a -> String -> Maybe a parse p str = case parseOnly p (T.pack str) of Left _ -> Nothing@@ -900,10 +951,12 @@ xmlTagName _ = "FilterElement" serializeTreeNode fe = flip mergeAttributes <$> (genericSerializeNode fe) <*> case fe of- FEColorMatrix m -> serializeTreeNode m- FEComposite c -> serializeTreeNode c- FEGaussianBlur b -> serializeTreeNode b- _ -> error $+ FEColorMatrix m -> serializeTreeNode m+ FEComposite c -> serializeTreeNode c+ FEGaussianBlur b -> serializeTreeNode b+ FETurbulence t -> serializeTreeNode t+ FEDisplacementMap d -> serializeTreeNode d+ _ -> error $ "Unsupported element: " ++ show fe ++ ". Please submit bug on github." attributes = [ "result" `parseIn` (filterAttributes . filterResult)]@@ -935,6 +988,26 @@ [ "in" `parseIn` gaussianBlurIn , "stdDeviation" `parseIn` lensProduct gaussianBlurStdDeviationX gaussianBlurStdDeviationY , "edgeMode" `parseIn` gaussianBlurEdgeMode ]++instance XMLUpdatable DisplacementMap where+ xmlTagName _ = "feDisplacementMap"+ serializeTreeNode = genericSerializeWithDrawAttr+ attributes =+ [ "in" `parseIn` displacementMapIn+ , "in2" `parseIn` displacementMapIn2+ , "scale" `parseIn` displacementMapScale+ , "xChannelSelector" `parseIn` displacementMapXChannelSelector+ , "yChannelSelector" `parseIn` displacementMapYChannelSelector ]++instance XMLUpdatable Turbulence where+ xmlTagName _ = "feTurbulence"+ serializeTreeNode = genericSerializeWithDrawAttr+ attributes =+ [ "baseFrequency" `parseIn` turbulenceBaseFrequency+ , "numOctaves" `parseIn` turbulenceNumOctaves+ , "seed" `parseIn` turbulenceSeed+ , "stitchTiles" `parseIn` turbulenceStitchTiles+ , "type" `parseIn` turbulenceType ] instance XMLUpdatable RadialGradient where xmlTagName _ = "radialGradient"