packages feed

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 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