packages feed

null-canvas 0.2.4 → 0.2.5

raw patch · 4 files changed

+34/−17 lines, 4 filesdep ~stm

Dependency ranges changed: stm

Files

Graphics/Blank.hs view
@@ -29,11 +29,13 @@ import Network.Wai.Handler.Warp (run) import Web.Scotty as S import Network.Wai.Middleware.RequestLogger+import Network.Wai.Middleware.Rewrite  import qualified Data.Text.Lazy as T import qualified Data.Text as TS  import qualified Data.Map as Map import Data.Maybe (fromMaybe)+import Data.List (stripPrefix)  import Graphics.Blank.Events import Graphics.Blank.Context@@ -61,10 +63,14 @@ blankCanvas :: Int -> (Context -> IO ()) -> IO () blankCanvas port actions = do    dataDir <- getDataDir-   blankCanvasParams port actions dataDir False+   blankCanvasParams port actions dataDir False Nothing -blankCanvasParams :: Int -> (Context -> IO ()) -> FilePath -> Bool -> IO ()-blankCanvasParams port actions dataDir performLogging = do+-- | similar to blankCanvas but takes extra dataDir, performLogging, extraPathElements (to be stripped) args+blankCanvasParams :: Int -> (Context -> IO ()) -> FilePath -> Bool -> Maybe [TS.Text] -> IO ()+blankCanvasParams port actions dataDir performLogging extraPathElements = do+   let performRewrite = extraPathElements /= Nothing+       extraPath = fromMaybe [] extraPathElements+    uVar <- newMVar 0    let getUniq :: IO Int        getUniq = do@@ -86,6 +92,11 @@             return uq     app <- scottyApp $ do+        when performRewrite (middleware (rewrite (\ pathOrig headers -> do+                                                    print (pathOrig, headers, extraPath)+                                                    let fixed = stripPrefix extraPath pathOrig+                                                    print fixed+                                                    return (fromMaybe pathOrig fixed))))         when performLogging (middleware logStdoutDev)  --        middleware $ staticRoot $ TS.pack $ (dataDir ++ "/static")
Graphics/Blank/Canvas.hs view
@@ -34,6 +34,7 @@         | BezierCurveTo (Float,Float,Float,Float,Float,Float)         | ClearRect (Float,Float,Float,Float)         | ClosePath+        | Custom String         | Fill         | FillRect (Float,Float,Float,Float)         | FillStyle String
Graphics/Blank/Generated.hs view
@@ -9,6 +9,7 @@   show (BezierCurveTo (a1,a2,a3,a4,a5,a6)) = "c.bezierCurveTo(" ++ showJ a1 ++ "," ++ showJ a2 ++ "," ++ showJ a3 ++ "," ++ showJ a4 ++ "," ++ showJ a5 ++ "," ++ showJ a6 ++ ");"   show (ClearRect (a1,a2,a3,a4)) = "c.clearRect(" ++ showJ a1 ++ "," ++ showJ a2 ++ "," ++ showJ a3 ++ "," ++ showJ a4 ++ ");"   show ClosePath = "c.closePath();"+  show (Custom str) = str   show Fill = "c.fill();"   show (FillRect (a1,a2,a3,a4)) = "c.fillRect(" ++ showJ a1 ++ "," ++ showJ a2 ++ "," ++ showJ a3 ++ "," ++ showJ a4 ++ ");"   show (FillStyle (a1)) = "c.fillStyle = (" ++ show a1 ++ ");"@@ -39,8 +40,8 @@ arc :: (Float,Float,Float,Float,Float,Bool) -> Canvas () arc = Command . Arc -beginPath :: () -> Canvas ()-beginPath () = Command BeginPath+beginPath :: Canvas ()+beginPath = Command BeginPath  bezierCurveTo :: (Float,Float,Float,Float,Float,Float) -> Canvas () bezierCurveTo = Command . BezierCurveTo@@ -48,12 +49,16 @@ clearRect :: (Float,Float,Float,Float) -> Canvas () clearRect = Command . ClearRect -closePath :: () -> Canvas ()-closePath () = Command ClosePath+closePath :: Canvas ()+closePath = Command ClosePath -fill :: () -> Canvas ()-fill () = Command Fill+-- | sends command (JS) unchanged +custom :: String -> Canvas ()+custom = Command . Custom +fill :: Canvas ()+fill = Command Fill+ fillRect :: (Float,Float,Float,Float) -> Canvas () fillRect = Command . FillRect @@ -87,8 +92,8 @@ moveTo :: (Float,Float) -> Canvas () moveTo = Command . MoveTo -restore :: () -> Canvas ()-restore () = Command Restore+restore :: Canvas ()+restore = Command Restore  rotate :: Float -> Canvas () rotate = Command . Rotate@@ -96,11 +101,11 @@ scale :: (Float,Float) -> Canvas () scale = Command . Scale -save :: () -> Canvas ()-save () = Command Save+save :: Canvas ()+save = Command Save -stroke :: () -> Canvas ()-stroke () = Command Stroke+stroke :: Canvas ()+stroke = Command Stroke  strokeRect :: (Float,Float,Float,Float) -> Canvas () strokeRect = Command . StrokeRect
null-canvas.cabal view
@@ -1,5 +1,5 @@ Name:                null-canvas-Version:             0.2.4+Version:             0.2.5 Synopsis:            HTML5 Canvas Graphics Library - forked Blank Canvas Description:         A Haskell port of the HTML5 Canvas API.                      blank-canvas works by providing a web service that@@ -48,7 +48,7 @@                        transformers     >= 0.2.2,                        wai-extra        == 1.3.*,                        warp             >= 1.3.1        && < 1.4,-                       stm              == 2.2.*+                       stm              == 2.*    GHC-options:  -Wall -fno-warn-orphans