HGamer3D-CEGUI-Binding-0.1.9: HGamer3D/Bindings/CEGUI/ClassMenuBase.hs
-- 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\\CEGUI\\ClassMenuBase.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.
--
-- ClassMenuBase.chs
-- abstrakte Klasse!
module HGamer3D.Bindings.CEGUI.ClassMenuBase 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.CEGUI.Utils
{-# LINE 40 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
import HGamer3D.Bindings.CEGUI.ClassPtr
{-# LINE 41 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
import HGamer3D.Bindings.CEGUI.StructHG3DClass
{-# LINE 42 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | Get the item spacing for this menu.
getItemSpacing :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> IO (Float)
-- ^ return value - A float value with the current item spacing for this menu
getItemSpacing a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getItemSpacing'_ a1' a2' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
return (a2'')
{-# LINE 48 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | Return whether this menu allows multiple popup menus to open at the same time.
isMultiplePopupsAllowed :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> IO (Bool)
-- ^ return value - true if this menu allows multiple popup menus to be opened simultaneously. false if not
isMultiplePopupsAllowed a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
isMultiplePopupsAllowed'_ a1' a2' >>= \res ->
peekBoolUtil a2'>>= \a2'' ->
return (a2'')
{-# LINE 53 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | Return whether this menu should close all its open child popups, when it gets hidden.
getAutoCloseNestedPopups :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> IO (Bool)
-- ^ return value - true if the menu should close all its open child popups, when it gets hidden
getAutoCloseNestedPopups a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getAutoCloseNestedPopups'_ a1' a2' >>= \res ->
peekBoolUtil a2'>>= \a2'' ->
return (a2'')
{-# LINE 58 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | Get currently opened MenuItem
getPopupMenuItem :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> IO (HG3DClass)
-- ^ return value - Pointer to the
getPopupMenuItem a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getPopupMenuItem'_ a1' a2' >>= \res ->
peek a2'>>= \a2'' ->
return (a2'')
{-# LINE 63 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | Set the item spacing for this menu.
setItemSpacing :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> Float -- ^ spacing
-> IO ()
-- ^
setItemSpacing a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
setItemSpacing'_ a1' a2' >>= \res ->
return ()
{-# LINE 68 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | Change the currently open MenuItem
changePopupMenuItem :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> HG3DClass -- ^ item - Pointer to a MenuItem to open or NULL to close any opened.
-> IO ()
-- ^
changePopupMenuItem a1 a2 =
withHG3DClass a1 $ \a1' ->
withHG3DClass a2 $ \a2' ->
changePopupMenuItem'_ a1' a2' >>= \res ->
return ()
{-# LINE 73 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | Set whether this menu allows multiple popup menus to be opened simultaneously.
setAllowMultiplePopups :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> Bool -- ^ setting
-> IO ()
-- ^
setAllowMultiplePopups a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = fromBool a2} in
setAllowMultiplePopups'_ a1' a2' >>= \res ->
return ()
{-# LINE 78 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | Set whether the menu should close all its open child popups, when it gets hidden.
setAutoCloseNestedPopups :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> Bool -- ^ setting
-> IO ()
-- ^
setAutoCloseNestedPopups a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = fromBool a2} in
setAutoCloseNestedPopups'_ a1' a2' >>= \res ->
return ()
{-# LINE 83 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
-- | tells the current popup that it should start its closing timer.
setPopupMenuItemClosing :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called.
-> IO ()
-- ^
setPopupMenuItemClosing a1 =
withHG3DClass a1 $ \a1' ->
setPopupMenuItemClosing'_ a1' >>= \res ->
return ()
{-# LINE 87 ".\\HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs" #-}
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_getItemSpacing"
getItemSpacing'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_isMultiplePopupsAllowed"
isMultiplePopupsAllowed'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_getAutoCloseNestedPopups"
getAutoCloseNestedPopups'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_getPopupMenuItem"
getPopupMenuItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_setItemSpacing"
setItemSpacing'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_changePopupMenuItem"
changePopupMenuItem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_setAllowMultiplePopups"
setAllowMultiplePopups'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_setAutoCloseNestedPopups"
setAutoCloseNestedPopups'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\CEGUI\\ClassMenuBase.chs.h cegui_mnbs_setPopupMenuItemClosing"
setPopupMenuItemClosing'_ :: ((HG3DClassPtr) -> (IO ()))