haskgame 0.0.3 → 0.0.4
raw patch · 4 files changed
+13/−8 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Graphics.UI.HaskGame: type Size = Vector2 Int
- Graphics.UI.HaskGame: surfaceSize :: Surface -> Vector2 Int
+ Graphics.UI.HaskGame: surfaceSize :: Surface -> Size
- Graphics.UI.HaskGame.Font: textSize :: Font -> String -> IO (Vector2 Int)
+ Graphics.UI.HaskGame.Font: textSize :: Font -> String -> Vector2 Int
Files
- haskgame.cabal +1/−1
- src/Graphics/UI/HaskGame.hs +3/−2
- src/Graphics/UI/HaskGame/Font.hs +5/−4
- src/Graphics/UI/HaskGame/Utils.hs +4/−1
haskgame.cabal view
@@ -1,5 +1,5 @@ Name: haskgame-Version: 0.0.3+Version: 0.0.4 Cabal-Version: >= 1.2 Synopsis: Haskell game library. Category: graphics
src/Graphics/UI/HaskGame.hs view
@@ -1,7 +1,7 @@ {-# OPTIONS -Wall -O2 #-} module Graphics.UI.HaskGame- (Surface,Event+ (Surface,Event,Size ,createRGBSurface,blit,fillRect,fillSurface ,withInit,getEvents,surfaceSize,setVideoMode )@@ -11,6 +11,7 @@ import qualified Graphics.UI.HaskGame.Rect as Rect import qualified Graphics.UI.HaskGame.Font as Font import qualified Graphics.UI.HaskGame.Utils as Utils+import Graphics.UI.HaskGame.Utils(Size) import Graphics.UI.HaskGame.Color(Color(..)) import Graphics.UI.HaskGame.Vector2(Vector2(..)) import Control.Monad(liftM)@@ -65,7 +66,7 @@ getEvents :: IO [Event] getEvents = whileM (/=SDL.NoEvent) SDL.pollEvent -surfaceSize :: Surface -> Vector2 Int+surfaceSize :: Surface -> Size surfaceSize surface = Vector2 (SDL.surfaceGetWidth surface) (SDL.surfaceGetHeight surface)
src/Graphics/UI/HaskGame/Font.hs view
@@ -11,6 +11,7 @@ import qualified Graphics.UI.HaskGame.Utils as Utils import Graphics.UI.HaskGame.Color(Color(..)) import Graphics.UI.HaskGame.Vector2(Vector2(..))+import System.IO.Unsafe(unsafePerformIO) type Font = TTF.Font @@ -21,10 +22,10 @@ else TTF.renderTextBlended font text (SDL.Color r g b) -textSize :: Font -> String -> IO (Vector2 Int)-textSize font text = do- (w, h) <- TTF.textSize font text- return $ Vector2 w h+textSize :: Font -> String -> Vector2 Int+textSize font text =+ let (w, h) = unsafePerformIO $ TTF.textSize font text+ in Vector2 w h defaultFont :: Int -> IO Font defaultFont = TTF.openFont "/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf"
src/Graphics/UI/HaskGame/Utils.hs view
@@ -1,10 +1,13 @@ {-# OPTIONS -Wall -O2 #-} module Graphics.UI.HaskGame.Utils- (bracket__,ioBoolToError)+ (Size, bracket__,ioBoolToError) where import qualified IO+import Graphics.UI.HaskGame.Vector2(Vector2)++type Size = Vector2 Int bracket__ :: IO () -> IO () -> IO () -> IO () bracket__ pre post code = IO.bracket_ pre (const post) code