helm 0.7.0 → 0.7.1
raw patch · 4 files changed
+17/−6 lines, 4 filesdep ~sdl2
Dependency ranges changed: sdl2
Files
- helm.cabal +3/−3
- src/FRP/Helm.hs +5/−1
- src/FRP/Helm/Signal.hs +5/−0
- src/FRP/Helm/Time.hs +4/−2
helm.cabal view
@@ -1,5 +1,5 @@ name: helm-version: 0.7.0+version: 0.7.1 synopsis: A functionally reactive game engine. description: A functionally reactive game engine, with headgear to protect you from the headache of game development provided.@@ -48,7 +48,7 @@ containers >= 0.5 && < 1, elerea >= 2.7 && < 3, filepath >= 1.3 && < 2,- sdl2 >= 1.1 && < 2,+ sdl2 >= 1.1 && < 1.3, text >= 1.1.1.3, time >= 1.4 && < 1.5, random >= 1.0.1.1 && < 1.2,@@ -77,4 +77,4 @@ test-framework-quickcheck2 >= 0.3 && < 1, time >= 1.4 && < 1.5, elerea >= 2.7 && < 3,- sdl2 >= 1.1 && < 2+ sdl2 >= 1.1 && < 1.3
src/FRP/Helm.hs view
@@ -251,7 +251,11 @@ Cairo.setSourceSurface surface 0 0 Cairo.translate (fromIntegral sx) (fromIntegral sy) Cairo.rectangle 0 0 (fromIntegral sw) (fromIntegral sh)- Cairo.fill+ if stretch then+ Cairo.paint+ else+ Cairo.fill+ Cairo.restore renderElement (TextElement (Text { textColor = (Color r g b a), .. })) = do
src/FRP/Helm/Signal.hs view
@@ -105,6 +105,11 @@ wrapper around the 'transfer' function that automatically binds the input signal out of the signal generator. This function is useful for making a render function that depends on some accumulated state.+ + > playerPosition :: (Int, Int) -> SignalGen (Signal (Int, Int))+ > playerPosition initial = foldp update initial arrows+ > where update (dx, dy) (x, y) = (x + dx, y + dy)+ -} foldp :: (a -> b -> b) -> b -> Signal a -> Signal b foldp f ini (Signal gen) =
src/FRP/Helm/Time.hs view
@@ -102,9 +102,11 @@ {-| Another utility signal that does all the magic for 'every'' by working on the Elerea SignalGen level -} every'' :: Time -> SignalGen p (Elerea.Signal (Time, Time))-every'' t = getTime >>= transfer (0,0) update_+every'' t = do+ it <- execute getTime+ effectful getTime >>= transfer (it,0) update_ where- getTime = effectful $ liftM ((second *) . realToFrac) getPOSIXTime+ getTime = liftM ((second *) . realToFrac) getPOSIXTime update_ _ new old = let delta = new - fst old in if delta >= t then (new, delta) else old