svg-tree 0.4.1 → 0.4.2
raw patch · 4 files changed
+28/−12 lines, 4 filesdep ~linear
Dependency ranges changed: linear
Files
- changelog +5/−0
- src/Graphics/Svg/CssTypes.hs +4/−2
- src/Graphics/Svg/XmlParser.hs +17/−8
- svg-tree.cabal +2/−2
changelog view
@@ -1,5 +1,10 @@ -*-change-log-*- +v0.4.2: March 2016+ * Enhancement: avoiding serializatinon of empty class attribute+ * Fix: incorrect deserialization of complex CSS+ * Fix: Really fixing duplicate ID with serialization+ v0.4.1: February 2016 * Fix: fixing duplicate ID with serialization
src/Graphics/Svg/CssTypes.hs view
@@ -107,8 +107,10 @@ where ft = TB.fromText tserializeDecl d = ft " " <> tserialize d <> ft ";\n"- tselectors =- intersperse (ft ",\n") . fmap tserialize $ concat selectors+ tselector =+ mconcat . intersperse (ft " ") . fmap tserialize+ tselectors = + intersperse (ft ",\n") $ fmap tselector selectors -- | Interface for elements to be matched against -- some CssRule.
src/Graphics/Svg/XmlParser.hs view
@@ -397,8 +397,9 @@ updater el str = el & attrClass .~ (T.split (== ' ') $ T.pack str) - serializer a =- Just . T.unpack . T.intercalate " " $ a ^. attrClass+ serializer a = case a ^. attrClass of+ [] -> Nothing+ lst -> Just . T.unpack $ T.intercalate " " lst cssUniqueNumber :: ASetter DrawAttributes DrawAttributes a (Last Number)@@ -1051,14 +1052,22 @@ defs = catMaybes [elementRender k e | (k, e) <- M.assocs $ _definitions doc] elementRender k e = case e of- ElementGeometry t -> serializeTreeNode t- ElementMarker m -> serializeTreeNode m- ElementMask m -> serializeTreeNode m- ElementClipPath c -> addId $ serializeTreeNode c- ElementPattern p -> addId $ serializeTreeNode p+ ElementGeometry t -> serialize t+ ElementMarker m -> serialize m+ ElementMask m -> serialize m+ ElementClipPath c -> serialize c+ ElementPattern p -> serialize p ElementLinearGradient lg -> addId $ serializeTreeNode lg ElementRadialGradient rg -> addId $ serializeTreeNode rg- where addId = fmap $ X.add_attr (attr "id" k)+ where+ addId = fmap (X.add_attr $ attr "id" k)++ serialize :: (WithDrawAttributes e, XMLUpdatable e) => e -> Maybe X.Element+ serialize el = case el^.drawAttr.attrId of+ Nothing -> addId $ serializeTreeNode el+ Just _id ->+ let newNode = el & drawAttr.attrId .~ Just k in+ serializeTreeNode newNode docViewBox = case _viewBox doc of Nothing -> []
svg-tree.cabal view
@@ -1,5 +1,5 @@ name: svg-tree-version: 0.4.1+version: 0.4.2 synopsis: SVG file loader and serializer description: svg-tree provides types representing a SVG document,@@ -29,7 +29,7 @@ Source-Repository this Type: git Location: git://github.com/Twinside/svg-tree.git- Tag: v0.4.1+ Tag: v0.4.2 library hs-source-dirs: src