{- | 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 a pointer or keyboard grab is broken. On X11, this happens when the grab window becomes unviewable (i.e. it or one of its ancestors is unmapped), or if the same application grabs the pointer or keyboard again. Note that implicit grabs (which are initiated by button presses) can also cause #GdkEventGrabBroken events. -} module GI.Gdk.Structs.EventGrabBroken ( -- * Exported types EventGrabBroken(..) , noEventGrabBroken , -- * Properties -- ** GrabWindow eventGrabBrokenReadGrabWindow , -- ** Implicit eventGrabBrokenReadImplicit , -- ** Keyboard eventGrabBrokenReadKeyboard , -- ** SendEvent eventGrabBrokenReadSendEvent , -- ** Type eventGrabBrokenReadType , -- ** Window eventGrabBrokenReadWindow , ) where import Prelude () import Data.GI.Base.ShortPrelude 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 EventGrabBroken = EventGrabBroken (ForeignPtr EventGrabBroken) noEventGrabBroken :: Maybe EventGrabBroken noEventGrabBroken = Nothing eventGrabBrokenReadType :: EventGrabBroken -> IO EventType eventGrabBrokenReadType s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO CUInt let val' = (toEnum . fromIntegral) val return val' eventGrabBrokenReadWindow :: EventGrabBroken -> IO Window eventGrabBrokenReadWindow s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window) val' <- (newObject Window) val return val' eventGrabBrokenReadSendEvent :: EventGrabBroken -> IO Int8 eventGrabBrokenReadSendEvent s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO Int8 return val eventGrabBrokenReadKeyboard :: EventGrabBroken -> IO Bool eventGrabBrokenReadKeyboard s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 20) :: IO CInt let val' = (/= 0) val return val' eventGrabBrokenReadImplicit :: EventGrabBroken -> IO Bool eventGrabBrokenReadImplicit s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 24) :: IO CInt let val' = (/= 0) val return val' eventGrabBrokenReadGrabWindow :: EventGrabBroken -> IO Window eventGrabBrokenReadGrabWindow s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 32) :: IO (Ptr Window) val' <- (newObject Window) val return val'