packages feed

hcg-minus-cairo 0.12 → 0.14

raw patch · 4 files changed

+41/−38 lines, 4 filesdep −SGdep ~hcg-minus

Dependencies removed: SG

Dependency ranges changed: hcg-minus

Files

README view
@@ -1,4 +1,12 @@-hcg-minus-cairo -- cairo rendering for hcg-minus+hcg-minus-cairo+=============== -(c) rohan drape, 2009-2011-    gpl, http://gnu.org/copyleft/+[cairo][cairo] rendering for [hcg-minus][hcg-minus]++[cairo]: http://cairographics.org/+[hcg-minus]: http://rd.slavepianos.org/?t=hcg-minus++© [rd][rd], 2009-2013, [gpl][gpl]++[rd]: http://rd.slavepianos.org/+[gpl]: http://gnu.org/copyleft/
Render/CG/Minus.hs view
@@ -2,11 +2,11 @@ module Render.CG.Minus where  import qualified Codec.Binary.UTF8.String as U {- utf8-string -}-import Data.CG.Minus-import Data.CG.Minus.Colour-import Data.Colour+import Data.CG.Minus {- hcg-minus -}+import Data.CG.Minus.Colour {- hcg-minus -}+import Data.Colour {- colour -} import qualified Graphics.Rendering.Cairo as C {- cairo -}-import System.FilePath+import System.FilePath {- filepath -}  -- * Paths @@ -19,10 +19,10 @@ line l =   case l of     [] -> nil-    (p0:pp) -> do let (x0,y0) = pt_xy p0-                  C.moveTo x0 y0-                  let f p = let (x,y) = pt_xy p in C.lineTo x y-                  mapM_ f pp+    Pt x0 y0 : pp ->+        do C.moveTo x0 y0+           let f (Pt x y) = C.lineTo x y+           mapM_ f pp  -- | Variant of 'line' that runs 'C.closePath'. polygon :: Ls R -> C.Render ()@@ -35,16 +35,12 @@ -- Runs 'C.fill' on each square. points :: R -> Ls R -> C.Render () points n l = do-  let f p = do let (x,y) = pt_xy p-               C.rectangle x y n n-               C.fill+  let f (Pt x y) = C.rectangle x y n n >> C.fill   mapM_ f l  -- | Circle centred at 'Pt' with radius 'R'. circle :: Pt R -> R -> C.Render ()-circle o z =-    let (x,y) = pt_xy o-    in C.arc x y z 0 (2 * pi)+circle (Pt x y) z = C.arc x y z 0 (2 * pi)  -- * Context & drawing @@ -85,8 +81,7 @@ -- | Render rectangle given colour 'Ca', upper-left 'Pt' and -- /(width,height)/. rect :: Ca -> Pt R -> (R,R) -> C.Render ()-rect c p (w,h) = do-  let (x,y) = pt_xy p+rect c (Pt x y) (w,h) = do   C.rectangle x y w h   pen 0.05 c   C.stroke@@ -95,9 +90,8 @@  -- | Render text 'String' in colour 'Ca' at 'Pt' in font size /sz/. text :: Ca -> Pt R -> R -> String -> C.Render ()-text c p sz txt = do-  let (x,y) = pt_xy p-      (r,g,b,_) = unCa c+text c (Pt x y) sz txt = do+  let (r,g,b,_) = unCa c   C.save   C.selectFontFace "Times" C.FontSlantNormal C.FontWeightNormal   C.setFontSize sz
Render/CG/Minus/Arrow.hs view
@@ -1,10 +1,11 @@ -- | Rendering of "Data.CG.Minus.Arrow". module Render.CG.Minus.Arrow where -import Data.CG.Minus-import Data.CG.Minus.Arrow-import Data.CG.Minus.Colour-import qualified Graphics.Rendering.Cairo as C+import Data.CG.Minus {- hcg-minus -}+import Data.CG.Minus.Arrow {- hcg-minus -}+import Data.CG.Minus.Colour {- hcg-minus -}+import qualified Graphics.Rendering.Cairo as C {- cairo -}+ import Render.CG.Minus  arrow_strk :: Ca -> C.Render ()@@ -16,24 +17,24 @@ -- | Render 'Ln' with solid arrow tip at endpoint.  Arrow tip -- co-ordinates are given by 'arrow_coord'. arrow_ep :: R -> R -> Ca -> Ln R -> C.Render ()-arrow_ep n a c l = do-  let (p0,p1) = ln_pt l-      (p2,p3) = arrow_coord l n a-  line [p0,ln_midpoint (ln p2 p3)]+arrow_ep n a c ln = do+  let Ln p0 p1 = ln+      (p2,p3) = arrow_coord ln n a+  line [p0,ln_midpoint (Ln p2 p3)]   arrow_strk c   polygon [p2,p1,p3]   C.fill  -- | Variant of 'arrow_ep' to render 'Ls' as sequence of arrows. arrows_ep :: R -> R -> Ca -> Ls R -> C.Render ()-arrows_ep n a c xs = mapM_ (arrow_ep n a c) (zipWith ln xs (tail xs))+arrows_ep n a c xs = mapM_ (arrow_ep n a c) (zipWith Ln xs (tail xs))  -- | Variant of 'arrow_ep' with draws tip at mid-point of 'Ln'. arrow_mp :: R -> R -> Ca -> Ln R -> C.Render ()-arrow_mp n a c l = do-  let (p0,p1) = ln_pt l-      p1' = ln_midpoint (ln p0 (pt_linear_extension n l))-      (p2,p3) = arrow_coord (ln p0 p1') n a+arrow_mp n a c ln = do+  let Ln p0 p1 = ln+      p1' = ln_midpoint (Ln p0 (pt_linear_extension n ln))+      (p2,p3) = arrow_coord (Ln p0 p1') n a   line [p0,p1]   arrow_strk c   polygon [p2,p1',p3]@@ -41,4 +42,4 @@  -- | Variant of 'arrow_mp' to render 'Ls' as sequence of arrows. arrows_mp :: R -> R -> Ca -> Ls R -> C.Render ()-arrows_mp n a c xs = mapM_ (arrow_mp n a c) (zipWith ln xs (tail xs))+arrows_mp n a c xs = mapM_ (arrow_mp n a c) (zipWith Ln xs (tail xs))
hcg-minus-cairo.cabal view
@@ -1,5 +1,5 @@ name:              hcg-minus-cairo-version:           0.12+version:           0.14 synopsis:          haskell cg (minus) (cairo rendering) description:       cg (minus) library (cairo rendering) license:           BSD3@@ -14,7 +14,7 @@ data-files:        README  library-  build-depends:   base==4.*,cairo,colour,hcg-minus==0.12.*,filepath,SG,utf8-string+  build-depends:   base==4.*,cairo,colour,hcg-minus==0.14.*,filepath,utf8-string   ghc-options:     -Wall -fwarn-tabs   exposed-modules: Render.CG.Minus                    Render.CG.Minus.Arrow