packages feed

diagrams-rasterific 1.4.1 → 1.4.1.1

raw patch · 8 files changed

+104/−48 lines, 8 filesdep ~JuicyPixelsdep ~Rasterificdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: JuicyPixels, Rasterific, base, containers, lens

API changes (from Hackage documentation)

- Diagrams.Backend.Rasterific: instance Data.Semigroup.Semigroup (Diagrams.Core.Types.Render Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n)
- Diagrams.Backend.Rasterific.CmdLine: instance Diagrams.Backend.CmdLine.ToResult [(Diagrams.Core.Types.QDiagram Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n Data.Monoid.Any, Codec.Picture.Gif.GifDelay)]
- Diagrams.Backend.Rasterific.CmdLine: instance Diagrams.Core.Types.TypeableFloat n => Diagrams.Backend.CmdLine.Mainable (Diagrams.Core.Types.QDiagram Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n Data.Monoid.Any)
- Diagrams.Backend.Rasterific.CmdLine: instance Diagrams.Core.Types.TypeableFloat n => Diagrams.Backend.CmdLine.Mainable [(Diagrams.Core.Types.QDiagram Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n Data.Monoid.Any, Codec.Picture.Gif.GifDelay)]
- Diagrams.Backend.Rasterific.CmdLine: instance Diagrams.Core.Types.TypeableFloat n => Diagrams.Backend.CmdLine.Mainable [(GHC.Base.String, Diagrams.Core.Types.QDiagram Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n Data.Monoid.Any)]
+ Diagrams.Backend.Rasterific: instance GHC.Base.Semigroup (Diagrams.Core.Types.Render Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n)
+ Diagrams.Backend.Rasterific.CmdLine: instance Diagrams.Backend.CmdLine.ToResult [(Diagrams.Core.Types.QDiagram Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n Data.Semigroup.Internal.Any, Codec.Picture.Gif.GifDelay)]
+ Diagrams.Backend.Rasterific.CmdLine: instance Diagrams.Core.Types.TypeableFloat n => Diagrams.Backend.CmdLine.Mainable (Diagrams.Core.Types.QDiagram Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n Data.Semigroup.Internal.Any)
+ Diagrams.Backend.Rasterific.CmdLine: instance Diagrams.Core.Types.TypeableFloat n => Diagrams.Backend.CmdLine.Mainable [(Diagrams.Core.Types.QDiagram Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n Data.Semigroup.Internal.Any, Codec.Picture.Gif.GifDelay)]
+ Diagrams.Backend.Rasterific.CmdLine: instance Diagrams.Core.Types.TypeableFloat n => Diagrams.Backend.CmdLine.Mainable [(GHC.Base.String, Diagrams.Core.Types.QDiagram Diagrams.Backend.Rasterific.Rasterific Linear.V2.V2 n Data.Semigroup.Internal.Any)]
- Diagrams.Backend.Rasterific: data GifLooping :: *
+ Diagrams.Backend.Rasterific: data GifLooping
- Diagrams.Backend.Rasterific: data PaletteOptions :: *
+ Diagrams.Backend.Rasterific: data PaletteOptions
- Diagrams.Backend.Rasterific: size :: ((~) (* -> *) V a v, (~) * N a n, Enveloped a, HasBasis v) => a -> v n
+ Diagrams.Backend.Rasterific: size :: (V a ~ v, N a ~ n, Enveloped a, HasBasis v) => a -> v n
- Diagrams.Backend.Rasterific.CmdLine: mainWith :: (Mainable d, Parseable MainOpts d) => d -> IO ()
+ Diagrams.Backend.Rasterific.CmdLine: mainWith :: Mainable d => d -> IO ()

Files

CHANGELOG.md view
@@ -1,3 +1,15 @@+## [v1.4.1.1](https://github.com/diagrams/diagrams-rasterific/tree/v1.4.1.1) (2018-10-12)++- Require `Rasterific-0.7.4` to+  - fix PDF rendering of zero-width paths ([#43](https://github.com/diagrams/diagrams-rasterific/issues/43))+  - fix disappearing small elements ([#51](https://github.com/diagrams/diagrams-rasterific/issues/51))++- Allow:+    - `base-4.12` (GHC 8.6)+    - `lens-4.17`+    - `containers-0.6`+    - `JuicyPixels-3.3`+ ## [v1.4.1](https://github.com/diagrams/diagrams-rasterific/tree/v1.4.1) (2018-05-09)      - Bug fix: stroke entire paths at once ([#42](https://github.com/diagrams/diagrams-rasterific/issues/42))
diagrams-rasterific.cabal view
@@ -1,5 +1,5 @@ name:                diagrams-rasterific-version:             1.4.1+version:             1.4.1.1 synopsis:            Rasterific backend for diagrams. description:         A full-featured backend for rendering                      diagrams using the Rasterific rendering engine.@@ -13,7 +13,7 @@ build-type:          Simple data-files:          fonts/*.ttf extra-source-files:  README.md, CHANGELOG.md-tested-with:         GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.2+tested-with:         GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.1 cabal-version:       1.18 Source-repository head   type:     git@@ -25,17 +25,17 @@                        Diagrams.Backend.Rasterific.Text   hs-source-dirs:      src   other-modules:       Paths_diagrams_rasterific-  build-depends:       base >= 4.2 && < 4.12,+  build-depends:       base >= 4.2 && < 4.13,                        diagrams-core >= 1.4 && < 1.5,                        diagrams-lib >= 1.4 && < 1.5,                        hashable >= 1.1 && < 1.3,-                       Rasterific >= 0.6.1 && < 0.8,+                       Rasterific >= 0.7.4 && < 0.8,                        FontyFruity >= 0.5 && < 0.6,-                       JuicyPixels >= 3.1.5 && < 3.3,-                       lens >= 4.0 && < 4.17,+                       JuicyPixels >= 3.1.5 && < 3.4,+                       lens >= 4.0 && < 4.18,                        mtl >= 2.1 && < 2.3,                        data-default-class >= 0.0 && < 0.2,-                       containers >= 0.5 && < 0.6,+                       containers >= 0.5 && < 0.7,                        filepath >= 1.2 && < 1.5,                        optparse-applicative >= 0.13 && < 0.15,                        bytestring >= 0.9 && < 0.11,@@ -44,22 +44,33 @@   default-language:    Haskell2010   ghc-options:         -Wall -test-suite test0+test-suite test-render   type:                exitcode-stdio-1.0-  main-is:             test0.hs+  main-is:             test-render.hs   hs-source-dirs:      test-  build-depends:       base >= 4.2 && < 4.12,+  build-depends:       base >= 4.2 && < 4.13,                        diagrams-rasterific,                        diagrams-core >= 1.4 && < 1.5,                        diagrams-lib >= 1.4 && < 1.5   ghc-options:         -Wall   default-language:    Haskell2010 -test-suite test1+test-suite test-widths   type:                exitcode-stdio-1.0-  main-is:             test1.hs+  main-is:             test-widths.hs   hs-source-dirs:      test-  build-depends:       base >= 4.2 && < 4.12,+  build-depends:       base >= 4.2 && < 4.13,+                       diagrams-rasterific,+                       diagrams-core >= 1.4 && < 1.5,+                       diagrams-lib >= 1.4 && < 1.5+  ghc-options:         -Wall+  default-language:    Haskell2010++test-suite test-size+  type:                exitcode-stdio-1.0+  main-is:             test-size.hs+  hs-source-dirs:      test+  build-depends:       base >= 4.2 && < 4.13,                        diagrams-rasterific,                        diagrams-core >= 1.4 && < 1.5,                        diagrams-lib >= 1.4 && < 1.5
src/Diagrams/Backend/Rasterific.hs view
@@ -448,7 +448,21 @@     _      -> writePng outFile img   where     img = renderDia Rasterific (RasterificOptions spec) d-    V2 w h = specToSize 100 spec+    (w, h) = specToDims (aspectRatio d) spec++aspectRatio :: (V a ~ V2, Enveloped a) => a -> N a+aspectRatio d = h / w+  where+    V2 w h = boxExtents (boundingBox d)++specToDims :: (Fractional a, Ord a) => a -> SizeSpec V2 a -> (a, a)+specToDims ar s =+  case getSpec s of+    V2 (Just w) (Just h) -> (w, h)+    V2 (Just w) Nothing  -> (w, ar * w)+    V2 Nothing (Just h)  -> (h / ar, h)+    V2 Nothing Nothing   -> (100, 100)+  -- | Render a 'Rasterific' diagram to an animated gif with the given --   size and uniform delay. Diagrams should be the same size.
+ test/test-render.hs view
@@ -0,0 +1,13 @@+import           Diagrams.Prelude+import           Diagrams.Backend.Rasterific++dia :: Diagram B+dia = circle 35 # fc red+   <> regPoly 16 200 # fc blue+   <> regPoly 5 400 # fc orange # rotateBy (1/6)++sizeSpec :: SizeSpec V2 Double+sizeSpec = mkSizeSpec2D (Just 600) Nothing++main :: IO ()+main = renderRasterific "test-render.png" sizeSpec dia
+ test/test-size.hs view
@@ -0,0 +1,20 @@+import           Diagrams.Prelude+import           Diagrams.Backend.Rasterific++{- non-square diagram should yield non-square output -}++dia :: Diagram B+dia = ellipseXY 1 1.5++sizeSpec :: SizeSpec V2 Double+sizeSpec = mkSizeSpec2D (Just 200) Nothing++sizeSpecBoth :: SizeSpec V2 Double+sizeSpecBoth = mkSizeSpec2D (Just 200) (Just 300)++main :: IO ()+main = do+  renderRasterific "test-size.png" sizeSpec dia+  renderRasterific "test-size.pdf" sizeSpec dia+  renderRasterific "test-size-both.png" sizeSpecBoth dia+  renderRasterific "test-size-both.pdf" sizeSpecBoth dia
+ test/test-widths.hs view
@@ -0,0 +1,20 @@+import           Diagrams.Prelude+import           Diagrams.Backend.Rasterific++dia :: Diagram B+dia = bgFrame 1 white $+  vsep 0.5+    [ l # lw thick+    , l # lw thin+    , l # lwG 0+    ]+  where+    l = stroke (straight unitX `at` origin)++sizeSpec :: SizeSpec V2 Double+sizeSpec = mkSizeSpec2D (Just 600) Nothing++main :: IO ()+main = do+  renderRasterific "test-widths.png" sizeSpec dia+  renderRasterific "test-widths.pdf" sizeSpec dia
− test/test0.hs
@@ -1,14 +0,0 @@-import           Diagrams.Prelude-import           Diagrams.Backend.Rasterific--dia :: Diagram B-dia = circle 35 # fc red-   <> regPoly 16 200 # fc blue-   <> regPoly 5 400 # fc orange # rotateBy (1/6)--sizeSpec :: SizeSpec V2 Double-sizeSpec = mkSizeSpec2D (Just 600) Nothing--main :: IO ()-main = renderRasterific "test0.png" sizeSpec dia-  --(dia # translateX 0 # translateY (-300))
− test/test1.hs
@@ -1,20 +0,0 @@-import           Diagrams.Prelude-import           Diagrams.Backend.Rasterific--dia :: Diagram B-dia = bgFrame 1 white $-  vsep 0.5-    [ l # lw thick-    , l # lw thin-    , l # lwG 0-    ]-  where-    l = stroke (straight unitX `at` origin)--sizeSpec :: SizeSpec V2 Double-sizeSpec = mkSizeSpec2D (Just 600) Nothing--main :: IO ()-main = do-  renderRasterific "test1.png" sizeSpec dia-  renderRasterific "test1.pdf" sizeSpec dia