Rasterific 0.5.2 → 0.5.2.1
raw patch · 3 files changed
+14/−8 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Rasterific.cabal +2/−2
- changelog +4/−0
- src/Graphics/Rasterific.hs +8/−6
Rasterific.cabal view
@@ -1,7 +1,7 @@ -- Initial Rasterific.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ name: Rasterific-version: 0.5.2+version: 0.5.2.1 synopsis: A pure haskell drawing engine. -- A longer description of the package. description:@@ -37,7 +37,7 @@ Source-Repository this Type: git Location: git://github.com/Twinside/Rasterific.git- Tag: v0.5.2+ Tag: v0.5.2.1 flag embed_linear description: Embed a reduced version of Linear avoiding a (huge) dep
changelog view
@@ -1,5 +1,9 @@ -*-change-log-*- +v0.5.2.1 April 2015+ * Fixed: non-composability of cached elements+ * Fixed: Border size when drawing images was twice too large.+ v0.5.2 April 2015 * Enhancement: Added a withGroupOpacity to render elements with a global opacity.
src/Graphics/Rasterific.hs view
@@ -431,8 +431,8 @@ cacheOrders :: forall px. (RenderablePixel px) => Maybe (Image px -> ImageTransformer px) -> [DrawOrder px] -> Drawing px () cacheOrders imageFilter orders = case imageFilter of- Nothing -> drawImage resultImage 0 mini- Just f -> drawImage (pixelMapXY (f resultImage) resultImage) 0 mini+ Nothing -> drawImage resultImage 0 cornerUpperLeft+ Just f -> drawImage (pixelMapXY (f resultImage) resultImage) 0 cornerUpperLeft where PlaneBound mini maxi = foldMap planeBounds orders cornerUpperLeftInt = floor <$> mini :: V2 Int@@ -441,12 +441,14 @@ V2 width height = maxi ^-^ cornerUpperLeft ^+^ V2 1 1 shiftOrder order@DrawOrder { _orderPrimitives = prims } =- order { _orderPrimitives = fmap (transform (^-^ cornerUpperLeft)) <$> prims }+ order { _orderPrimitives = fmap (transform (^-^ cornerUpperLeft)) <$> prims + , _orderTexture =+ transformTexture (translate cornerUpperLeft) $ _orderTexture order+ } resultImage = runST $ runDrawContext (ceiling width) (ceiling height) emptyPx- $ mapM_ fillOrder- $ shiftOrder <$> orders+ $ mapM_ (fillOrder . shiftOrder) orders -- | This function perform an optimisation, it will render a drawing -- to an image interanlly and create a new order to render this image@@ -740,7 +742,7 @@ | otherwise = do withTransformation (translate p <> scale scaleX scaleY) $ withTexture (sampledImageTexture img) $ fill rect- stroke borderSize (JoinMiter 0)+ stroke (borderSize / 2) (JoinMiter 0) (CapStraight 0, CapStraight 0) rect' where p = ip ^-^ V2 0.5 0.5