sdl2-cairo 0.1.0.2 → 0.1.0.3
raw patch · 4 files changed
+39/−37 lines, 4 filesdep ~basedep ~sdl2PVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, sdl2
API changes (from Hackage documentation)
Files
- example/Main.hs +4/−5
- sdl2-cairo.cabal +5/−5
- src/SDL/Cairo/Canvas.hs +29/−25
- src/SDL/Cairo/Canvas/Interactive.hs +1/−2
example/Main.hs view
@@ -2,9 +2,8 @@ module Main where import Control.Monad (unless) -import SDL+import SDL hiding (point, rotate) import Linear.V2 (V2(..))-import Linear.V4 (V4(..)) import Linear.Affine (Point(..)) import SDL.Cairo@@ -12,7 +11,7 @@ main :: IO () main = do- initialize [InitEverything]+ initializeAll window <- createWindow "SDL2 Cairo Canvas" defaultWindow renderer <- createRenderer window (-1) defaultRenderer @@ -99,7 +98,7 @@ -- ported star example from Processing home page drawStars :: Double -> Canvas () drawStars frameCount = do- sz@(V2 w h) <- getCanvasSize+ (V2 w h) <- getCanvasSize stroke $ gray 0 pushMatrix@@ -133,7 +132,7 @@ -- ported triangle strip example from Processing homepage drawTriangleStrip :: V2 Double -> Canvas () drawTriangleStrip mousePos = do- sz@(V2 w h) <- getCanvasSize+ (V2 w h) <- getCanvasSize let (V2 mouseX mouseY) = mousePos pos = V2 (w/2) (h/4*3) n = fromIntegral $ round $ mapRange mouseX (0,w) (6,60)
sdl2-cairo.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: sdl2-cairo-version: 0.1.0.2+version: 0.1.0.3 synopsis: Render with Cairo on SDL textures. Includes optional convenience drawing API. description: This small library provides convenience functions to draw on SDL2 textures with Cairo. As Cairo is complicated, it also@@ -24,8 +24,8 @@ default-language: Haskell2010 exposed-modules: SDL.Cairo, SDL.Cairo.Canvas, SDL.Cairo.Canvas.Interactive --other-modules:- build-depends: base >=4.7 && <=5- , sdl2 >=2.0.0+ build-depends: base >=4.7 && <5+ , sdl2 >=2.1.0 , cairo >=0.13 , linear , mtl@@ -42,8 +42,8 @@ default-language: Haskell2010 default-extensions: OverloadedStrings if flag(builddemo)- build-depends: base >=4 && <=5- , sdl2 >=2.0.0 && <2.1+ build-depends: base >=4 && <5+ , sdl2 >=2.1.0 , cairo >=0.13 , sdl2-cairo , linear
src/SDL/Cairo/Canvas.hs view
@@ -15,31 +15,35 @@ deviates where necessary or appropriate. Nevertheless most Processing examples should be trivial to port to the Canvas API. Example: ->import SDL->import Linear.V2 (V2(..))->import SDL.Cairo->import SDL.Cairo.Canvas->->main :: IO ()->main = do-> initialize [InitEverything]-> window <- createWindow "SDL2 Cairo Canvas" defaultWindow-> renderer <- createRenderer window (-1) defaultRenderer-> texture <- createCairoTexture' renderer window->-> withCanvas texture $ do-> background $ gray 102-> fill $ red 255 !@ 128-> noStroke-> rect $ D 200 200 100 100-> stroke $ green 255 !@ 128-> fill $ blue 255 !@ 128-> rect $ D 250 250 100 100-> triangle (V2 400 300) (V2 350 400) (V2 400 400)->-> copy renderer texture Nothing Nothing-> present renderer-> delay 5000+@+\{\-\# LANGUAGE OverloadedStrings \#\-\}+import SDL+import Linear.V2 (V2(..))+import SDL.Cairo+import SDL.Cairo.Canvas++main :: IO ()+main = do+ initialize [InitEverything]+ window <- createWindow "SDL2 Cairo Canvas" defaultWindow+ renderer <- createRenderer window (-1) defaultRenderer+ texture <- createCairoTexture' renderer window++ withCanvas texture $ do+ background $ gray 102+ fill $ red 255 !\@ 128+ noStroke+ rect $ D 200 200 100 100+ stroke $ green 255 !\@ 128+ fill $ blue 255 !\@ 128+ rect $ D 250 250 100 100+ triangle (V2 400 300) (V2 350 400) (V2 400 400)++ copy renderer texture Nothing Nothing+ present renderer+ delay 5000+@+ -} module SDL.Cairo.Canvas ( -- * Entry point
src/SDL/Cairo/Canvas/Interactive.hs view
@@ -21,7 +21,7 @@ -- forks a rendering loop and returns a function to draw in this window. getInteractive :: IO (Canvas () -> IO ()) getInteractive = do- initialize [InitEverything]+ initializeAll w <- createWindow "SDL2 Cairo Canvas Interactive" defaultWindow r <- createRenderer w (-1) defaultRenderer t <- createCairoTexture' r w@@ -33,4 +33,3 @@ return $ draw t where draw :: Texture -> Canvas () -> IO () draw = withCanvas-