h-raylib 4.5.0.8 → 4.5.0.9
raw patch · 4 files changed
+14/−10 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Raylib: setConfigFlags :: Integer -> IO ()
+ Raylib: setConfigFlags :: [ConfigFlag] -> IO ()
- Raylib: setGesturesEnabled :: Integer -> IO ()
+ Raylib: setGesturesEnabled :: [Gesture] -> IO ()
Files
- CHANGELOG.md +6/−1
- h-raylib.cabal +1/−1
- src/Raylib.hs +4/−4
- src/Raylib/Util.hs +3/−4
CHANGELOG.md view
@@ -31,4 +31,9 @@ \[[#9](https://github.com/Anut-py/h-raylib/issues/9)\] -- Fixed an issue on Mac where `clang` failed to detect that `rglfw.c` was using objective-c+- Fixed an issue on Mac where `clang` failed to detect that `rglfw.c` was using objective-c + +## Version 4.5.0.9 +_23 December 2022_ + +- Changed `setConfigFlags` and `setGesturesEnabled` to use an array of flags
h-raylib.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: h-raylib -version: 4.5.0.8 +version: 4.5.0.9 synopsis: Raylib bindings for Haskell category: graphics description:
src/Raylib.hs view
@@ -1058,8 +1058,8 @@ c'setConfigFlags :: CUInt -> IO () -setConfigFlags :: Integer -> IO () -setConfigFlags flags = c'setConfigFlags $ fromIntegral flags +setConfigFlags :: [ConfigFlag] -> IO () +setConfigFlags flags = c'setConfigFlags $ fromIntegral $ configsToBitflag flags foreign import ccall safe "raylib.h &SetConfigFlags" p'setConfigFlags :: @@ -1955,8 +1955,8 @@ c'setGesturesEnabled :: CUInt -> IO () -setGesturesEnabled :: Integer -> IO () -setGesturesEnabled flags = c'setGesturesEnabled (fromIntegral flags) +setGesturesEnabled :: [Gesture] -> IO () +setGesturesEnabled flags = c'setGesturesEnabled (fromIntegral $ configsToBitflag flags) foreign import ccall safe "raylib.h &SetGesturesEnabled" p'setGesturesEnabled ::
src/Raylib/Util.hs view
@@ -1,7 +1,6 @@ {-# OPTIONS -Wall #-} module Raylib.Util (c'free, pop, popCArray, withArray2D, configsToBitflag) where -import Raylib.Types (ConfigFlag) import Foreign (Ptr, Storable (peek), castPtr, newArray, free, peekArray) import Control.Monad (forM_) import Data.Bits ((.|.)) @@ -30,6 +29,6 @@ free ptr return res -configsToBitflag :: [ConfigFlag] -> Integer -configsToBitflag = fromIntegral . foldr folder (toEnum 0) - where folder a b = (fromEnum a) .|. b +configsToBitflag :: (Enum a) => [a] -> Integer +configsToBitflag = fromIntegral . foldr folder (toEnum 0) + where folder a b = fromEnum a .|. b