-- GENERATED by C->Haskell Compiler, version 0.16.3 Crystal Seed, 24 Jan 2009 (Haskell) -- Edit the ORIGNAL .chs file instead! {-# LINE 1 ".\\HGamer3D\\Bindings\\SFML\\ClassListener.chs" #-}{-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE TypeSynonymInstances #-} -- This source file is part of HGamer3D -- (A project to enable 3D game development in Haskell) -- For the latest info, see http://www.althainz.de/HGamer3D.html -- -- (c) 2011, 2012 Peter Althainz -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- -- ClassListener.chs -- module HGamer3D.Bindings.SFML.ClassListener where import Foreign import Foreign.Ptr import Foreign.C import HGamer3D.Data.HG3DClass import HGamer3D.Data.Vector import HGamer3D.Data.Colour import HGamer3D.Data.Angle import HGamer3D.Bindings.SFML.Utils {-# LINE 40 ".\\HGamer3D\\Bindings\\SFML\\ClassListener.chs" #-} import HGamer3D.Bindings.SFML.ClassPtr {-# LINE 41 ".\\HGamer3D\\Bindings\\SFML\\ClassListener.chs" #-} import HGamer3D.Bindings.SFML.StructHG3DClass {-# LINE 42 ".\\HGamer3D\\Bindings\\SFML\\ClassListener.chs" #-} -- | Change the global volume of all the sounds and musics. - Details: The volume is a number between 0 and 100; it is combined with the individual volume of each sound / music. The default value for the volume is 100 (maximum). setGlobalVolume :: Float -- ^ volume -> IO () -- ^ setGlobalVolume a1 = let {a1' = realToFrac a1} in setGlobalVolume'_ a1' >>= \res -> return () {-# LINE 47 ".\\HGamer3D\\Bindings\\SFML\\ClassListener.chs" #-} -- | Get the current value of the global volume. - Details: setGlobalVolume getGlobalVolume :: IO (Float) -- ^ return value - Current global volume, in the range [0, 100] getGlobalVolume = alloca $ \a1' -> getGlobalVolume'_ a1' >>= \res -> peekFloatConv a1'>>= \a1'' -> return (a1'') {-# LINE 51 ".\\HGamer3D\\Bindings\\SFML\\ClassListener.chs" #-} -- | Set the position of the listener in the scene. - Details: The default listener's position is (0, 0, 0). setPosition :: Float -- ^ x -> Float -- ^ y -> Float -- ^ z -> IO () -- ^ setPosition a1 a2 a3 = let {a1' = realToFrac a1} in let {a2' = realToFrac a2} in let {a3' = realToFrac a3} in setPosition'_ a1' a2' a3' >>= \res -> return () {-# LINE 57 ".\\HGamer3D\\Bindings\\SFML\\ClassListener.chs" #-} -- | Set the orientation of the listener in the scene. - Details: The orientation defines the 3D axes of the listener (left, up, front) in the scene. The orientation vector doesn't have to be normalized. The default listener's orientation is (0, 0, -1). setDirection :: Float -- ^ x -> Float -- ^ y -> Float -- ^ z -> IO () -- ^ setDirection a1 a2 a3 = let {a1' = realToFrac a1} in let {a2' = realToFrac a2} in let {a3' = realToFrac a3} in setDirection'_ a1' a2' a3' >>= \res -> return () {-# LINE 63 ".\\HGamer3D\\Bindings\\SFML\\ClassListener.chs" #-} foreign import ccall safe "HGamer3D\\Bindings\\SFML\\ClassListener.chs.h sfml_lst_setGlobalVolume" setGlobalVolume'_ :: (CFloat -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\SFML\\ClassListener.chs.h sfml_lst_getGlobalVolume" getGlobalVolume'_ :: ((Ptr CFloat) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\SFML\\ClassListener.chs.h sfml_lst_setPosition" setPosition'_ :: (CFloat -> (CFloat -> (CFloat -> (IO ())))) foreign import ccall safe "HGamer3D\\Bindings\\SFML\\ClassListener.chs.h sfml_lst_setDirection" setDirection'_ :: (CFloat -> (CFloat -> (CFloat -> (IO ()))))