packages feed

free-game 1.1.78 → 1.1.79

raw patch · 4 files changed

+39/−6 lines, 4 filesdep ~OpenGLRawdep ~mtlPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: OpenGLRaw, mtl

API changes (from Hackage documentation)

- FreeGame.Instances: instance (Affine m, Monad m, Error e) => Affine (ErrorT e m)
- FreeGame.Instances: instance (FreeGame m, Monad m, Error e) => FreeGame (ErrorT e m)
- FreeGame.Instances: instance (FromFinalizer m, Monad m, Error e) => FromFinalizer (ErrorT e m)
- FreeGame.Instances: instance (Keyboard m, Monad m, Error e) => Keyboard (ErrorT e m)
- FreeGame.Instances: instance (Local m, Monad m, Error e) => Local (ErrorT e m)
- FreeGame.Instances: instance (Mouse m, Monad m, Error e) => Mouse (ErrorT e m)
- FreeGame.Instances: instance (Picture2D m, Monad m, Error e) => Picture2D (ErrorT e m)
+ FreeGame: clipBitmap :: Bitmap -> Box V2 Int -> Bitmap
+ FreeGame.Data.Bitmap: bitmapHash :: Bitmap -> Int
+ FreeGame.Data.Bitmap: bitmapImage :: Bitmap -> Image PixelRGBA8
+ FreeGame.Instances: instance (Affine m, Monad m) => Affine (ExceptT e m)
+ FreeGame.Instances: instance (FreeGame m, Monad m) => FreeGame (ExceptT e m)
+ FreeGame.Instances: instance (FromFinalizer m, Monad m) => FromFinalizer (ExceptT e m)
+ FreeGame.Instances: instance (Keyboard m, Monad m) => Keyboard (ExceptT e m)
+ FreeGame.Instances: instance (Local m, Monad m) => Local (ExceptT e m)
+ FreeGame.Instances: instance (Mouse m, Monad m) => Mouse (ExceptT e m)
+ FreeGame.Instances: instance (Picture2D m, Monad m) => Picture2D (ExceptT e m)
- FreeGame.Data.Bitmap: Bitmap :: (Image PixelRGBA8) -> Int -> Bitmap
+ FreeGame.Data.Bitmap: Bitmap :: Image PixelRGBA8 -> Int -> Bitmap

Files

FreeGame.hs view
@@ -41,6 +41,7 @@     bitmapSize,
     readBitmap,
     cropBitmap,
+    clipBitmap,
     loadBitmaps,
     loadBitmapsWith,
     writeBitmap,
FreeGame/Data/Bitmap.hs view
@@ -22,9 +22,9 @@ 
     -- * Bitmap operations
     ,cropBitmap
+    ,clipBitmap
     -- * V2
     ,sizeBitmap
-    ,clipBitmap
     ) where
 
 import qualified Codec.Picture as C
@@ -36,7 +36,7 @@ import Control.Applicative
 import Data.Hashable
 
-data Bitmap = Bitmap (C.Image C.PixelRGBA8) Int
+data Bitmap = Bitmap { bitmapImage :: C.Image C.PixelRGBA8, bitmapHash :: Int }
 
 -- | Get the size of the 'Bitmap'.
 bitmapSize :: Bitmap -> (Int, Int)
FreeGame/Instances.hs view
@@ -9,7 +9,11 @@ import Control.Monad.Trans.Cont
 import Control.Monad.Trans.Maybe
 import Control.Monad.Trans.List
+#if MIN_VERSION_transformers(0,4,0)
+import Control.Monad.Trans.Except
+#else
 import Control.Monad.Trans.Error
+#endif
 import Control.Monad.Trans.Identity
 import qualified Control.Monad.State.Lazy as Lazy
 import qualified Control.Monad.State.Strict as Strict
@@ -97,7 +101,11 @@ MK_AFFINE(_COMMA_ Monad m, IdentityT m, mapIdentityT)
 MK_AFFINE(_COMMA_ Monad m, MaybeT m, mapMaybeT)
 MK_AFFINE(_COMMA_ Monad m, ListT m, mapListT)
+#if MIN_VERSION_transformers(0,4,0)
+MK_AFFINE(_COMMA_ Monad m, ExceptT e m, mapExceptT)
+#else
 MK_AFFINE(_COMMA_ Monad m _COMMA_ Error e, ErrorT e m, mapErrorT)
+#endif
 MK_AFFINE(_COMMA_ Monad m, ContT r m, mapContT)
 
 MK_PICTURE_2D(_COMMA_ Functor m, F m, Church.liftF, hoistF)
@@ -113,7 +121,11 @@ MK_PICTURE_2D(_COMMA_ Monad m, IdentityT m, lift, mapIdentityT)
 MK_PICTURE_2D(_COMMA_ Monad m, MaybeT m, lift, mapMaybeT)
 MK_PICTURE_2D(_COMMA_ Monad m, ListT m, lift, mapListT)
+#if MIN_VERSION_transformers(0,4,0)
+MK_PICTURE_2D(_COMMA_ Monad m, ExceptT e m, lift, mapExceptT)
+#else
 MK_PICTURE_2D(_COMMA_ Monad m _COMMA_ Error e, ErrorT e m, lift, mapErrorT)
+#endif
 MK_PICTURE_2D(_COMMA_ Monad m, ContT r m, lift, mapContT)
 
 MK_LOCAL(_COMMA_ Functor m, F m, Church.liftF)
@@ -129,7 +141,11 @@ MK_LOCAL(_COMMA_ Monad m, IdentityT m, lift)
 MK_LOCAL(_COMMA_ Monad m, MaybeT m, lift)
 MK_LOCAL(_COMMA_ Monad m, ListT m, lift)
+#if MIN_VERSION_transformers(0,4,0)
+MK_LOCAL(_COMMA_ Monad m, ExceptT e m, lift)
+#else
 MK_LOCAL(_COMMA_ Monad m _COMMA_ Error e, ErrorT e m, lift)
+#endif
 MK_LOCAL(_COMMA_ Monad m, ContT r m, lift)
 
 MK_KEYBOARD(_COMMA_ Functor m, F m, Church.liftF)
@@ -145,7 +161,11 @@ MK_KEYBOARD(_COMMA_ Monad m, IdentityT m, lift)
 MK_KEYBOARD(_COMMA_ Monad m, MaybeT m, lift)
 MK_KEYBOARD(_COMMA_ Monad m, ListT m, lift)
+#if MIN_VERSION_transformers(0,4,0)
+MK_KEYBOARD(_COMMA_ Monad m, ExceptT e m, lift)
+#else
 MK_KEYBOARD(_COMMA_ Monad m _COMMA_ Error e, ErrorT e m, lift)
+#endif
 MK_KEYBOARD(_COMMA_ Monad m, ContT r m, lift)
 
 MK_MOUSE(_COMMA_ Functor m, F m, liftF)
@@ -161,7 +181,11 @@ MK_MOUSE(_COMMA_ Monad m, IdentityT m, lift)
 MK_MOUSE(_COMMA_ Monad m, MaybeT m, lift)
 MK_MOUSE(_COMMA_ Monad m, ListT m, lift)
+#if MIN_VERSION_transformers(0,4,0)
+MK_MOUSE(_COMMA_ Monad m, ExceptT e m, lift)
+#else
 MK_MOUSE(_COMMA_ Monad m _COMMA_ Error e, ErrorT e m, lift)
+#endif
 MK_MOUSE(_COMMA_ Monad m, ContT r m, lift)
 
 MK_FROM_FINALIZER(_COMMA_ Functor m, F m, liftF)
@@ -176,7 +200,11 @@ MK_FROM_FINALIZER(_COMMA_ Monad m, IdentityT m, lift)
 MK_FROM_FINALIZER(_COMMA_ Monad m, MaybeT m, lift)
 MK_FROM_FINALIZER(_COMMA_ Monad m, ListT m, lift)
+#if MIN_VERSION_transformers(0,4,0)
+MK_FROM_FINALIZER(_COMMA_ Monad m, ExceptT e m, lift)
+#else
 MK_FROM_FINALIZER(_COMMA_ Monad m _COMMA_ Error e, ErrorT e m, lift)
+#endif
 MK_FROM_FINALIZER(_COMMA_ Monad m, ContT r m, lift)
 
 MK_FREE_GAME(_COMMA_ Functor m, F m, liftF)
@@ -191,5 +219,9 @@ MK_FREE_GAME(_COMMA_ Monad m, IdentityT m, lift)
 MK_FREE_GAME(_COMMA_ Monad m, MaybeT m, lift)
 MK_FREE_GAME(_COMMA_ Monad m, ListT m, lift)
+#if MIN_VERSION_transformers(0,4,0)
+MK_FREE_GAME(_COMMA_ Monad m, ExceptT e m, lift)
+#else
 MK_FREE_GAME(_COMMA_ Monad m _COMMA_ Error e, ErrorT e m, lift)
-MK_FREE_GAME(_COMMA_ Monad m, ContT r m, lift)+#endif
+MK_FREE_GAME(_COMMA_ Monad m, ContT r m, lift)
free-game.cabal view
@@ -1,5 +1,5 @@ name:                free-game
-version:             1.1.78
+version:             1.1.79
 synopsis:            Create games for free
 description:
     free-game defines a monad that integrates features to create 2D games.
@@ -62,9 +62,9 @@     JuicyPixels,
     JuicyPixels-util == 0.1.*,
     linear >= 1.0 && < 2,
-    mtl >= 2.1,
+    mtl >= 2.1 && <3,
     OpenGL == 2.9.*,
-    OpenGLRaw == 1.4.*,
+    OpenGLRaw >= 1.3 && < 1.6,
     random == 1.*,
     reflection == 1.*,
     template-haskell,