packages feed

cubicbezier 0.6.0.4 → 0.6.0.5

raw patch · 2 files changed

+16/−6 lines, 2 filesdep +semigroupsdep ~basedep ~mtlPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: semigroups

Dependency ranges changed: base, mtl

API changes (from Hackage documentation)

+ Geom2D.CubicBezier.Basic: instance Data.Semigroup.Semigroup (Geom2D.CubicBezier.Basic.OpenPath a)
- Geom2D.CubicBezier.Basic: degree :: (GenericBezier b, Unbox a) => b a -> Int
+ Geom2D.CubicBezier.Basic: degree :: (GenericBezier b, (Unbox a)) => b a -> Int
- Geom2D.CubicBezier.Basic: toVector :: (GenericBezier b, Unbox a) => b a -> Vector (a, a)
+ Geom2D.CubicBezier.Basic: toVector :: (GenericBezier b, (Unbox a)) => b a -> Vector (a, a)
- Geom2D.CubicBezier.Basic: unsafeFromVector :: (GenericBezier b, Unbox a) => Vector (a, a) -> b a
+ Geom2D.CubicBezier.Basic: unsafeFromVector :: (GenericBezier b, (Unbox a)) => Vector (a, a) -> b a

Files

Geom2D/CubicBezier/Basic.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE PatternGuards #-}-{-# LANGUAGE BangPatterns, FlexibleInstances, MultiParamTypeClasses, DeriveTraversable, ViewPatterns, PatternSynonyms, MultiWayIf #-}+{-# LANGUAGE BangPatterns, CPP, FlexibleInstances, MultiParamTypeClasses, DeriveTraversable, ViewPatterns, PatternSynonyms, MultiWayIf #-} module Geom2D.CubicBezier.Basic        (CubicBezier (..), QuadBezier (..), AnyBezier (..), GenericBezier(..),         PathJoin (..), ClosedPath(..), OpenPath (..), AffineTransform (..), anyToCubic, anyToQuad,@@ -16,6 +16,9 @@ import Math.BernsteinPoly import Numeric.Integration.TanhSinh import Data.Monoid ()+#if !MIN_VERSION_base(4,11,0)+import Data.Semigroup (Semigroup(..))+#endif import Data.List (minimumBy) import Data.Function (on) import Data.VectorSpace@@ -93,12 +96,17 @@ data ClosedPath a = ClosedPath [(Point a, PathJoin a)]                   deriving (Show, Functor, Foldable, Traversable) +instance Semigroup (OpenPath a) where+  p1 <> OpenPath [] _ = p1+  OpenPath [] _ <> p2 = p2+  OpenPath joins1 _ <> OpenPath joins2 p =+    OpenPath (joins1 ++ joins2) p+ instance Monoid (OpenPath a) where   mempty = OpenPath [] (error "empty path")-  mappend p1 (OpenPath [] _) = p1-  mappend (OpenPath [] _) p2 = p2-  mappend (OpenPath joins1 _) (OpenPath joins2 p) =-    OpenPath (joins1 ++ joins2) p+#if !MIN_VERSION_base(4,11,0)+  mappend = (<>)+#endif  instance (Num a) => AffineTransform (PathJoin a) a where   transform _ JoinLine = JoinLine
cubicbezier.cabal view
@@ -1,5 +1,5 @@ Name:		cubicbezier-Version: 	0.6.0.4+Version: 	0.6.0.5 Synopsis:	Efficient manipulating of 2D cubic bezier curves. Category: 	Graphics, Geometry, Typography Copyright: 	Kristof Bastiaensen (2017)@@ -36,6 +36,8 @@   Build-depends: base >= 4.8 && < 5, containers >= 0.5.3, integration >= 0.1.1, vector >= 0.10,                  matrices >= 0.4.1, microlens >= 0.1.2, microlens-th >= 0.1.2, microlens-mtl >= 0.1.2, mtl >= 2.1.1,                  fast-math >= 1.0.0, vector-space >= 0.10.4+  if !impl(ghc>=8.0)+    Build-depends: semigroups >= 0.16   Exposed-Modules:     Geom2D     Geom2D.CubicBezier