packages feed

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 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