gi-gdk-0.3.18.15: GI/Gdk/Structs/EventWindowState.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
Generated when the state of a toplevel window changes.
-}
module GI.Gdk.Structs.EventWindowState
(
-- * Exported types
EventWindowState(..) ,
newZeroEventWindowState ,
noEventWindowState ,
-- * Properties
-- ** ChangedMask
eventWindowStateChangedMask ,
eventWindowStateReadChangedMask ,
eventWindowStateWriteChangedMask ,
-- ** NewWindowState
eventWindowStateNewWindowState ,
eventWindowStateReadNewWindowState ,
eventWindowStateWriteNewWindowState ,
-- ** SendEvent
eventWindowStateReadSendEvent ,
eventWindowStateSendEvent ,
eventWindowStateWriteSendEvent ,
-- ** Type
eventWindowStateReadType ,
eventWindowStateType ,
eventWindowStateWriteType ,
-- ** Window
eventWindowStateClearWindow ,
eventWindowStateReadWindow ,
eventWindowStateWindow ,
eventWindowStateWriteWindow ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gdk.Types
import GI.Gdk.Callbacks
newtype EventWindowState = EventWindowState (ForeignPtr EventWindowState)
instance WrappedPtr EventWindowState where
wrappedPtrCalloc = callocBytes 32
wrappedPtrCopy = copyPtr 32
wrappedPtrFree = Just ptr_to_g_free
-- | Construct a `EventWindowState` struct initialized to zero.
newZeroEventWindowState :: MonadIO m => m EventWindowState
newZeroEventWindowState = liftIO $ wrappedPtrCalloc >>= wrapPtr EventWindowState
instance tag ~ 'AttrSet => Constructible EventWindowState tag where
new _ attrs = do
o <- newZeroEventWindowState
GI.Attributes.set o attrs
return o
noEventWindowState :: Maybe EventWindowState
noEventWindowState = Nothing
eventWindowStateReadType :: MonadIO m => EventWindowState -> m EventType
eventWindowStateReadType s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
eventWindowStateWriteType :: MonadIO m => EventWindowState -> EventType -> m ()
eventWindowStateWriteType s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 0) (val' :: CUInt)
data EventWindowStateTypeFieldInfo
instance AttrInfo EventWindowStateTypeFieldInfo where
type AttrAllowedOps EventWindowStateTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint EventWindowStateTypeFieldInfo = (~) EventType
type AttrBaseTypeConstraint EventWindowStateTypeFieldInfo = (~) EventWindowState
type AttrGetType EventWindowStateTypeFieldInfo = EventType
type AttrLabel EventWindowStateTypeFieldInfo = "type"
attrGet _ = eventWindowStateReadType
attrSet _ = eventWindowStateWriteType
attrConstruct = undefined
attrClear _ = undefined
eventWindowStateType :: AttrLabelProxy "type"
eventWindowStateType = AttrLabelProxy
eventWindowStateReadWindow :: MonadIO m => EventWindowState -> m (Maybe Window)
eventWindowStateReadWindow s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
result <- convertIfNonNull val $ \val' -> do
val'' <- (newObject Window) val'
return val''
return result
eventWindowStateWriteWindow :: MonadIO m => EventWindowState -> Ptr Window -> m ()
eventWindowStateWriteWindow s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: Ptr Window)
eventWindowStateClearWindow :: MonadIO m => EventWindowState -> m ()
eventWindowStateClearWindow s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (nullPtr :: Ptr Window)
data EventWindowStateWindowFieldInfo
instance AttrInfo EventWindowStateWindowFieldInfo where
type AttrAllowedOps EventWindowStateWindowFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint EventWindowStateWindowFieldInfo = (~) (Ptr Window)
type AttrBaseTypeConstraint EventWindowStateWindowFieldInfo = (~) EventWindowState
type AttrGetType EventWindowStateWindowFieldInfo = Maybe Window
type AttrLabel EventWindowStateWindowFieldInfo = "window"
attrGet _ = eventWindowStateReadWindow
attrSet _ = eventWindowStateWriteWindow
attrConstruct = undefined
attrClear _ = eventWindowStateClearWindow
eventWindowStateWindow :: AttrLabelProxy "window"
eventWindowStateWindow = AttrLabelProxy
eventWindowStateReadSendEvent :: MonadIO m => EventWindowState -> m Int8
eventWindowStateReadSendEvent s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO Int8
return val
eventWindowStateWriteSendEvent :: MonadIO m => EventWindowState -> Int8 -> m ()
eventWindowStateWriteSendEvent s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: Int8)
data EventWindowStateSendEventFieldInfo
instance AttrInfo EventWindowStateSendEventFieldInfo where
type AttrAllowedOps EventWindowStateSendEventFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint EventWindowStateSendEventFieldInfo = (~) Int8
type AttrBaseTypeConstraint EventWindowStateSendEventFieldInfo = (~) EventWindowState
type AttrGetType EventWindowStateSendEventFieldInfo = Int8
type AttrLabel EventWindowStateSendEventFieldInfo = "send_event"
attrGet _ = eventWindowStateReadSendEvent
attrSet _ = eventWindowStateWriteSendEvent
attrConstruct = undefined
attrClear _ = undefined
eventWindowStateSendEvent :: AttrLabelProxy "sendEvent"
eventWindowStateSendEvent = AttrLabelProxy
eventWindowStateReadChangedMask :: MonadIO m => EventWindowState -> m [WindowState]
eventWindowStateReadChangedMask s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 20) :: IO CUInt
let val' = wordToGFlags val
return val'
eventWindowStateWriteChangedMask :: MonadIO m => EventWindowState -> [WindowState] -> m ()
eventWindowStateWriteChangedMask s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = gflagsToWord val
poke (ptr `plusPtr` 20) (val' :: CUInt)
data EventWindowStateChangedMaskFieldInfo
instance AttrInfo EventWindowStateChangedMaskFieldInfo where
type AttrAllowedOps EventWindowStateChangedMaskFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint EventWindowStateChangedMaskFieldInfo = (~) [WindowState]
type AttrBaseTypeConstraint EventWindowStateChangedMaskFieldInfo = (~) EventWindowState
type AttrGetType EventWindowStateChangedMaskFieldInfo = [WindowState]
type AttrLabel EventWindowStateChangedMaskFieldInfo = "changed_mask"
attrGet _ = eventWindowStateReadChangedMask
attrSet _ = eventWindowStateWriteChangedMask
attrConstruct = undefined
attrClear _ = undefined
eventWindowStateChangedMask :: AttrLabelProxy "changedMask"
eventWindowStateChangedMask = AttrLabelProxy
eventWindowStateReadNewWindowState :: MonadIO m => EventWindowState -> m [WindowState]
eventWindowStateReadNewWindowState s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO CUInt
let val' = wordToGFlags val
return val'
eventWindowStateWriteNewWindowState :: MonadIO m => EventWindowState -> [WindowState] -> m ()
eventWindowStateWriteNewWindowState s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = gflagsToWord val
poke (ptr `plusPtr` 24) (val' :: CUInt)
data EventWindowStateNewWindowStateFieldInfo
instance AttrInfo EventWindowStateNewWindowStateFieldInfo where
type AttrAllowedOps EventWindowStateNewWindowStateFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint EventWindowStateNewWindowStateFieldInfo = (~) [WindowState]
type AttrBaseTypeConstraint EventWindowStateNewWindowStateFieldInfo = (~) EventWindowState
type AttrGetType EventWindowStateNewWindowStateFieldInfo = [WindowState]
type AttrLabel EventWindowStateNewWindowStateFieldInfo = "new_window_state"
attrGet _ = eventWindowStateReadNewWindowState
attrSet _ = eventWindowStateWriteNewWindowState
attrConstruct = undefined
attrClear _ = undefined
eventWindowStateNewWindowState :: AttrLabelProxy "newWindowState"
eventWindowStateNewWindowState = AttrLabelProxy
type instance AttributeList EventWindowState = EventWindowStateAttributeList
type EventWindowStateAttributeList = ('[ '("type", EventWindowStateTypeFieldInfo), '("window", EventWindowStateWindowFieldInfo), '("sendEvent", EventWindowStateSendEventFieldInfo), '("changedMask", EventWindowStateChangedMaskFieldInfo), '("newWindowState", EventWindowStateNewWindowStateFieldInfo)] :: [(Symbol, *)])
type family ResolveEventWindowStateMethod (t :: Symbol) (o :: *) :: * where
ResolveEventWindowStateMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveEventWindowStateMethod t EventWindowState, MethodInfo info EventWindowState p) => IsLabelProxy t (EventWindowState -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveEventWindowStateMethod t EventWindowState, MethodInfo info EventWindowState p) => IsLabel t (EventWindowState -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif