reanimate-svg 0.8.0.0 → 0.8.1.0
raw patch · 4 files changed
+36/−23 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Graphics.SvgTree.Types: [_groupOfFilter] :: Filter a -> Group a
- Graphics.SvgTree.Types: groupOfFilter :: Lens (Filter s) (Filter t) (Group s) (Group t)
- Graphics.SvgTree.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Graphics.SvgTree.Types.Filter a)
- Graphics.SvgTree.Types: instance GHC.Show.Show a => GHC.Show.Show (Graphics.SvgTree.Types.Filter a)
- Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasDrawAttributes (Graphics.SvgTree.Types.Filter a)
- Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.WithDefaultSvg (Graphics.SvgTree.Types.Filter a)
- Graphics.SvgTree.Types: newtype Filter a
+ Graphics.SvgTree.Types: [_filterChildren] :: Filter -> ![FilterElement]
+ Graphics.SvgTree.Types: [_filterDrawAttributes] :: Filter -> !DrawAttributes
+ Graphics.SvgTree.Types: [_filterSelfAttributes] :: Filter -> !FilterAttributes
+ Graphics.SvgTree.Types: data Filter
+ Graphics.SvgTree.Types: filterChildren :: Lens' Filter [FilterElement]
+ Graphics.SvgTree.Types: instance GHC.Classes.Eq Graphics.SvgTree.Types.Filter
+ Graphics.SvgTree.Types: instance GHC.Show.Show Graphics.SvgTree.Types.Filter
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasDrawAttributes Graphics.SvgTree.Types.Filter
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.HasFilterAttributes Graphics.SvgTree.Types.Filter
+ Graphics.SvgTree.Types: instance Graphics.SvgTree.Types.WithDefaultSvg Graphics.SvgTree.Types.Filter
- Graphics.SvgTree.Types: Filter :: Group a -> Filter a
+ Graphics.SvgTree.Types: Filter :: !DrawAttributes -> !FilterAttributes -> ![FilterElement] -> Filter
- Graphics.SvgTree.Types: FilterTree :: !Filter FilterElement -> Tree
+ Graphics.SvgTree.Types: FilterTree :: !Filter -> Tree
- Graphics.SvgTree.Types: class HasColorMatrix c_axZt
+ Graphics.SvgTree.Types: class HasColorMatrix c_ayea
- Graphics.SvgTree.Types: class HasComposite c_axQc
+ Graphics.SvgTree.Types: class HasComposite c_ay4T
- Graphics.SvgTree.Types: class HasDocument c_ax88
+ Graphics.SvgTree.Types: class HasDocument c_axba
- Graphics.SvgTree.Types: class HasGaussianBlur c_ay4G
+ Graphics.SvgTree.Types: class HasGaussianBlur c_ayjn
- Graphics.SvgTree.Types: class HasTextPath c_au2H
+ Graphics.SvgTree.Types: class HasTextPath c_axTe
- Graphics.SvgTree.Types: colorMatrix :: HasColorMatrix c_axZt => Lens' c_axZt ColorMatrix
+ Graphics.SvgTree.Types: colorMatrix :: HasColorMatrix c_ayea => Lens' c_ayea ColorMatrix
- Graphics.SvgTree.Types: colorMatrixDrawAttributes :: HasColorMatrix c_axZt => Lens' c_axZt DrawAttributes
+ Graphics.SvgTree.Types: colorMatrixDrawAttributes :: HasColorMatrix c_ayea => Lens' c_ayea DrawAttributes
- Graphics.SvgTree.Types: colorMatrixFilterAttr :: HasColorMatrix c_axZt => Lens' c_axZt FilterAttributes
+ Graphics.SvgTree.Types: colorMatrixFilterAttr :: HasColorMatrix c_ayea => Lens' c_ayea FilterAttributes
- Graphics.SvgTree.Types: colorMatrixIn :: HasColorMatrix c_axZt => Lens' c_axZt (Last FilterSource)
+ Graphics.SvgTree.Types: colorMatrixIn :: HasColorMatrix c_ayea => Lens' c_ayea (Last FilterSource)
- Graphics.SvgTree.Types: colorMatrixType :: HasColorMatrix c_axZt => Lens' c_axZt ColorMatrixType
+ Graphics.SvgTree.Types: colorMatrixType :: HasColorMatrix c_ayea => Lens' c_ayea ColorMatrixType
- Graphics.SvgTree.Types: colorMatrixValues :: HasColorMatrix c_axZt => Lens' c_axZt String
+ Graphics.SvgTree.Types: colorMatrixValues :: HasColorMatrix c_ayea => Lens' c_ayea String
- Graphics.SvgTree.Types: composite :: HasComposite c_axQc => Lens' c_axQc Composite
+ Graphics.SvgTree.Types: composite :: HasComposite c_ay4T => Lens' c_ay4T Composite
- Graphics.SvgTree.Types: compositeDrawAttributes :: HasComposite c_axQc => Lens' c_axQc DrawAttributes
+ Graphics.SvgTree.Types: compositeDrawAttributes :: HasComposite c_ay4T => Lens' c_ay4T DrawAttributes
- Graphics.SvgTree.Types: compositeFilterAttr :: HasComposite c_axQc => Lens' c_axQc FilterAttributes
+ Graphics.SvgTree.Types: compositeFilterAttr :: HasComposite c_ay4T => Lens' c_ay4T FilterAttributes
- Graphics.SvgTree.Types: compositeIn :: HasComposite c_axQc => Lens' c_axQc (Last FilterSource)
+ Graphics.SvgTree.Types: compositeIn :: HasComposite c_ay4T => Lens' c_ay4T (Last FilterSource)
- Graphics.SvgTree.Types: compositeIn2 :: HasComposite c_axQc => Lens' c_axQc (Last FilterSource)
+ Graphics.SvgTree.Types: compositeIn2 :: HasComposite c_ay4T => Lens' c_ay4T (Last FilterSource)
- Graphics.SvgTree.Types: compositeK1 :: HasComposite c_axQc => Lens' c_axQc Number
+ Graphics.SvgTree.Types: compositeK1 :: HasComposite c_ay4T => Lens' c_ay4T Number
- Graphics.SvgTree.Types: compositeK2 :: HasComposite c_axQc => Lens' c_axQc Number
+ Graphics.SvgTree.Types: compositeK2 :: HasComposite c_ay4T => Lens' c_ay4T Number
- Graphics.SvgTree.Types: compositeK3 :: HasComposite c_axQc => Lens' c_axQc Number
+ Graphics.SvgTree.Types: compositeK3 :: HasComposite c_ay4T => Lens' c_ay4T Number
- Graphics.SvgTree.Types: compositeK4 :: HasComposite c_axQc => Lens' c_axQc Number
+ Graphics.SvgTree.Types: compositeK4 :: HasComposite c_ay4T => Lens' c_ay4T Number
- Graphics.SvgTree.Types: compositeOperator :: HasComposite c_axQc => Lens' c_axQc CompositeOperator
+ Graphics.SvgTree.Types: compositeOperator :: HasComposite c_ay4T => Lens' c_ay4T CompositeOperator
- Graphics.SvgTree.Types: definitions :: HasDocument c_ax88 => Lens' c_ax88 (Map String Tree)
+ Graphics.SvgTree.Types: definitions :: HasDocument c_axba => Lens' c_axba (Map String Tree)
- Graphics.SvgTree.Types: description :: HasDocument c_ax88 => Lens' c_ax88 String
+ Graphics.SvgTree.Types: description :: HasDocument c_axba => Lens' c_axba String
- Graphics.SvgTree.Types: document :: HasDocument c_ax88 => Lens' c_ax88 Document
+ Graphics.SvgTree.Types: document :: HasDocument c_axba => Lens' c_axba Document
- Graphics.SvgTree.Types: documentLocation :: HasDocument c_ax88 => Lens' c_ax88 FilePath
+ Graphics.SvgTree.Types: documentLocation :: HasDocument c_axba => Lens' c_axba FilePath
- Graphics.SvgTree.Types: elements :: HasDocument c_ax88 => Lens' c_ax88 [Tree]
+ Graphics.SvgTree.Types: elements :: HasDocument c_axba => Lens' c_axba [Tree]
- Graphics.SvgTree.Types: gaussianBlur :: HasGaussianBlur c_ay4G => Lens' c_ay4G GaussianBlur
+ Graphics.SvgTree.Types: gaussianBlur :: HasGaussianBlur c_ayjn => Lens' c_ayjn GaussianBlur
- Graphics.SvgTree.Types: gaussianBlurDrawAttributes :: HasGaussianBlur c_ay4G => Lens' c_ay4G DrawAttributes
+ Graphics.SvgTree.Types: gaussianBlurDrawAttributes :: HasGaussianBlur c_ayjn => Lens' c_ayjn DrawAttributes
- Graphics.SvgTree.Types: gaussianBlurEdgeMode :: HasGaussianBlur c_ay4G => Lens' c_ay4G EdgeMode
+ Graphics.SvgTree.Types: gaussianBlurEdgeMode :: HasGaussianBlur c_ayjn => Lens' c_ayjn EdgeMode
- Graphics.SvgTree.Types: gaussianBlurFilterAttr :: HasGaussianBlur c_ay4G => Lens' c_ay4G FilterAttributes
+ Graphics.SvgTree.Types: gaussianBlurFilterAttr :: HasGaussianBlur c_ayjn => Lens' c_ayjn FilterAttributes
- Graphics.SvgTree.Types: gaussianBlurIn :: HasGaussianBlur c_ay4G => Lens' c_ay4G (Last FilterSource)
+ Graphics.SvgTree.Types: gaussianBlurIn :: HasGaussianBlur c_ayjn => Lens' c_ayjn (Last FilterSource)
- Graphics.SvgTree.Types: gaussianBlurStdDeviationX :: HasGaussianBlur c_ay4G => Lens' c_ay4G Number
+ Graphics.SvgTree.Types: gaussianBlurStdDeviationX :: HasGaussianBlur c_ayjn => Lens' c_ayjn Number
- Graphics.SvgTree.Types: gaussianBlurStdDeviationY :: HasGaussianBlur c_ay4G => Lens' c_ay4G (Last Number)
+ Graphics.SvgTree.Types: gaussianBlurStdDeviationY :: HasGaussianBlur c_ayjn => Lens' c_ayjn (Last Number)
- Graphics.SvgTree.Types: height :: HasDocument c_ax88 => Lens' c_ax88 (Maybe Number)
+ Graphics.SvgTree.Types: height :: HasDocument c_axba => Lens' c_axba (Maybe Number)
- Graphics.SvgTree.Types: textPath :: HasTextPath c_au2H => Lens' c_au2H TextPath
+ Graphics.SvgTree.Types: textPath :: HasTextPath c_axTe => Lens' c_axTe TextPath
- Graphics.SvgTree.Types: textPathMethod :: HasTextPath c_au2H => Lens' c_au2H TextPathMethod
+ Graphics.SvgTree.Types: textPathMethod :: HasTextPath c_axTe => Lens' c_axTe TextPathMethod
- Graphics.SvgTree.Types: textPathName :: HasTextPath c_au2H => Lens' c_au2H String
+ Graphics.SvgTree.Types: textPathName :: HasTextPath c_axTe => Lens' c_axTe String
- Graphics.SvgTree.Types: textPathSpacing :: HasTextPath c_au2H => Lens' c_au2H TextPathSpacing
+ Graphics.SvgTree.Types: textPathSpacing :: HasTextPath c_axTe => Lens' c_axTe TextPathSpacing
- Graphics.SvgTree.Types: textPathStartOffset :: HasTextPath c_au2H => Lens' c_au2H Number
+ Graphics.SvgTree.Types: textPathStartOffset :: HasTextPath c_axTe => Lens' c_axTe Number
- Graphics.SvgTree.Types: viewBox :: HasDocument c_ax88 => Lens' c_ax88 (Maybe (Double, Double, Double, Double))
+ Graphics.SvgTree.Types: viewBox :: HasDocument c_axba => Lens' c_axba (Maybe (Double, Double, Double, Double))
- Graphics.SvgTree.Types: width :: HasDocument c_ax88 => Lens' c_ax88 (Maybe Number)
+ Graphics.SvgTree.Types: width :: HasDocument c_axba => Lens' c_axba (Maybe Number)
Files
- changelog.md +4/−0
- reanimate-svg.cabal +1/−1
- src/Graphics/SvgTree/Types.hs +23/−15
- src/Graphics/SvgTree/XmlParser.hs +8/−7
changelog.md view
@@ -1,5 +1,9 @@ -*-change-log-*- +v0.8.1.0 March 2019++ * Filter attributes.+ v0.8.0.0 March 2019 * Remove WithDrawAttributes type class.
reanimate-svg.cabal view
@@ -1,5 +1,5 @@ name: reanimate-svg-version: 0.8.0.0+version: 0.8.1.0 synopsis: SVG file loader and serializer description: reanimate-svg provides types representing a SVG document,
src/Graphics/SvgTree/Types.hs view
@@ -129,7 +129,7 @@ -- ** Filter , Filter( .. )- , groupOfFilter+ , filterChildren -- * Text related types -- ** Text@@ -920,19 +920,19 @@ defaultSvg = Definitions defaultSvg -- | Define the `<filter>` tag.-newtype Filter a =- Filter { _groupOfFilter :: Group a }+data Filter = Filter+ { _filterDrawAttributes :: !DrawAttributes+ , _filterSelfAttributes :: !FilterAttributes+ , _filterChildren :: ![FilterElement]+ } deriving (Eq, Show) --- | Lenses associated with the Definitions type.-groupOfFilter :: Lens (Filter s) (Filter t) (Group s) (Group t)-groupOfFilter f = fmap Filter . f . _groupOfFilter--instance HasDrawAttributes (Filter a) where- drawAttributes = groupOfFilter . drawAttributes--instance WithDefaultSvg (Filter a) where- defaultSvg = Filter defaultSvg+instance WithDefaultSvg Filter where+ defaultSvg = Filter+ { _filterDrawAttributes = defaultSvg+ , _filterSelfAttributes = defaultSvg+ , _filterChildren = []+ } -- | Define a `<circle>`. data Circle = Circle@@ -1526,8 +1526,7 @@ } deriving (Eq, Show) --- | Lenses for the TextPath type.-makeClassy ''TextPath+-- -- | Lenses for the TextPath type. instance WithDefaultSvg TextPath where defaultSvg = TextPath@@ -1602,7 +1601,7 @@ | GroupTree !(Group Tree) | SymbolTree !(Symbol Tree) | DefinitionTree !(Definitions Tree)- | FilterTree !(Filter FilterElement)+ | FilterTree !Filter | PathTree !Path | CircleTree !Circle | PolyLineTree !PolyLine@@ -2750,9 +2749,18 @@ (f_asYN x5_asYS) +makeClassy ''TextPath+ -- | Lenses for the DrawAttributes type. -- makeClassy ''DrawAttributes +makeLenses ''Filter++instance HasDrawAttributes Filter where+ drawAttributes = filterDrawAttributes++instance HasFilterAttributes Filter where+ filterAttributes = filterSelfAttributes makeClassy ''Composite makeClassy ''ColorMatrix
src/Graphics/SvgTree/XmlParser.hs view
@@ -882,12 +882,16 @@ ,"preserveAspectRatio" `parseIn` (groupOfDefinitions . groupAspectRatio) ] -instance XMLUpdatable (Filter FilterElement) where+instance XMLUpdatable Filter where xmlTagName _ = "filter" serializeTreeNode node =- updateWithAccessor (_groupChildren . _groupOfFilter) node $+ updateWithAccessor _filterChildren node $ genericSerializeWithDrawAttr node- attributes = []+ attributes =+ [ "width" `parseIn` filterWidth+ , "height" `parseIn` filterHeight+ , "x" `parseIn` filterX+ , "y" `parseIn` filterY ] instance XMLUpdatable FilterElement where xmlTagName _ = "FilterElement"@@ -1174,10 +1178,7 @@ groupNode :: Group Tree groupNode = _groupOfSymbol $ xmlUnparseWithDrawAttr e unparse e@(nodeName -> "filter") =- FilterTree . Filter $ groupNode & groupChildren .~ map unparseFE (elChildren e)- where- groupNode :: Group FilterElement- groupNode = undefined -- xmlUnparseWithDrawAttr e+ FilterTree $ xmlUnparseWithDrawAttr e & filterChildren .~ map unparseFE (elChildren e) unparse e@(nodeName -> "symbol") = SymbolTree . Symbol $ groupNode & groupChildren .~ map unparse (elChildren e) where