SDL 0.5.5 → 0.5.6
raw patch · 2 files changed
+29/−24 lines, 2 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- Graphics/UI/SDL/Events.hsc +26/−21
- SDL.cabal +3/−3
Graphics/UI/SDL/Events.hsc view
@@ -46,7 +46,7 @@ Storable(poke, sizeOf, alignment, peekByteOff, pokeByteOff, peek), unsafePerformIO, toBool, new, alloca) import Foreign.C (peekCString, CString, CInt)-import Data.Bits (Bits((.&.), shiftL))+import Data.Bits (Bits((.&.))) import Control.Concurrent (threadDelay) import Prelude hiding (Enum(..)) import qualified Prelude (Enum(..))@@ -183,21 +183,31 @@ fromEnum ButtonRight = #{const SDL_BUTTON_RIGHT} fromEnum ButtonWheelUp = #{const SDL_BUTTON_WHEELUP} fromEnum ButtonWheelDown = #{const SDL_BUTTON_WHEELDOWN}- succ ButtonLeft = ButtonMiddle- succ ButtonMiddle = ButtonRight- succ ButtonRight = ButtonWheelUp- succ ButtonWheelUp = ButtonWheelDown- succ _ = error "Graphics.UI.SDL.Events.succ: bad argument"- pred ButtonMiddle = ButtonLeft- pred ButtonRight = ButtonMiddle- pred ButtonWheelUp = ButtonRight- pred ButtonWheelDown = ButtonWheelUp- pred _ = error "Graphics.UI.SDL.Events.pred: bad argument"- enumFromTo x y | x > y = []- | x == y = [y]- | True = x : enumFromTo (succ x) y+ succ = toEnum . (+1) . fromEnum+ pred = toEnum . (subtract 1) . fromEnum+ enumFromTo = defEnumFromTo +mouseButtonMask :: MouseButton -> Word8+mouseButtonMask ButtonLeft = #{const SDL_BUTTON(SDL_BUTTON_LEFT)}+mouseButtonMask ButtonMiddle = #{const SDL_BUTTON(SDL_BUTTON_MIDDLE)}+mouseButtonMask ButtonRight = #{const SDL_BUTTON(SDL_BUTTON_RIGHT)}+mouseButtonMask ButtonWheelUp = #{const SDL_BUTTON(SDL_BUTTON_WHEELUP)}+mouseButtonMask ButtonWheelDown = #{const SDL_BUTTON(SDL_BUTTON_WHEELDOWN)} +allButtons :: [MouseButton]+allButtons = [ButtonLeft+ ,ButtonMiddle+ ,ButtonRight+ ,ButtonWheelUp+ ,ButtonWheelDown+ ]++defEnumFromTo :: (Enum a b, Ord a) => a -> a -> [a]+defEnumFromTo x y | x > y = []+ | x == y = [y]+ | otherwise = x : defEnumFromTo (succ x) y++ data Focus = MouseFocus | InputFocus@@ -514,8 +524,7 @@ mousePressed :: Word8 -> MouseButton -> Bool mousePressed mask b- = mask .&. (1 `shiftL` num) /= 0- where num = fromIntegral (fromEnum b)+ = mask .&. (mouseButtonMask b) /= 0 -- Uint8 SDL_GetMouseState(int *x, int *y);@@ -538,11 +547,7 @@ do ret <- getter xPtr yPtr [x,y] <- mapM peek [xPtr,yPtr] return (fromIntegral x,fromIntegral y- ,filter (mousePressed ret) [ButtonLeft- ,ButtonMiddle- ,ButtonRight- ,ButtonWheelUp- ,ButtonWheelDown])+ ,filter (mousePressed ret) allButtons)
SDL.cabal view
@@ -1,11 +1,11 @@ Name: SDL-Version: 0.5.5+Version: 0.5.6 Maintainer: Lemmih (lemmih@gmail.com) Author: Lemmih (lemmih@gmail.com)-Copyright: 2004-2008, Lemmih+Copyright: 2004-2009, Lemmih License-File: LICENSE License: BSD3-Build-Depends: base+Build-Depends: base < 5 Build-Type: Custom Category: Foreign binding Synopsis: Binding to libSDL