{- | 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 owner of a selection changes. On X11, this information is only available if the X server supports the XFIXES extension. -} module GI.Gdk.Structs.EventOwnerChange ( -- * Exported types EventOwnerChange(..) , noEventOwnerChange , -- * Properties -- ** Owner eventOwnerChangeReadOwner , -- ** Reason eventOwnerChangeReadReason , -- ** Selection eventOwnerChangeReadSelection , -- ** SelectionTime eventOwnerChangeReadSelectionTime , -- ** SendEvent eventOwnerChangeReadSendEvent , -- ** Time eventOwnerChangeReadTime , -- ** Type eventOwnerChangeReadType , -- ** Window eventOwnerChangeReadWindow , ) 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 EventOwnerChange = EventOwnerChange (ForeignPtr EventOwnerChange) noEventOwnerChange :: Maybe EventOwnerChange noEventOwnerChange = Nothing eventOwnerChangeReadType :: EventOwnerChange -> IO EventType eventOwnerChangeReadType s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO CUInt let val' = (toEnum . fromIntegral) val return val' eventOwnerChangeReadWindow :: EventOwnerChange -> IO Window eventOwnerChangeReadWindow s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window) val' <- (newObject Window) val return val' eventOwnerChangeReadSendEvent :: EventOwnerChange -> IO Int8 eventOwnerChangeReadSendEvent s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO Int8 return val eventOwnerChangeReadOwner :: EventOwnerChange -> IO Window eventOwnerChangeReadOwner s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 24) :: IO (Ptr Window) val' <- (newObject Window) val return val' eventOwnerChangeReadReason :: EventOwnerChange -> IO OwnerChange eventOwnerChangeReadReason s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 32) :: IO CUInt let val' = (toEnum . fromIntegral) val return val' eventOwnerChangeReadSelection :: EventOwnerChange -> IO Atom eventOwnerChangeReadSelection s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 40) :: IO (Ptr Atom) -- XXX Wrapping a foreign struct/union with no known destructor, leak? val' <- (\x -> Atom <$> newForeignPtr_ x) val return val' eventOwnerChangeReadTime :: EventOwnerChange -> IO Word32 eventOwnerChangeReadTime s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 48) :: IO Word32 return val eventOwnerChangeReadSelectionTime :: EventOwnerChange -> IO Word32 eventOwnerChangeReadSelectionTime s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 52) :: IO Word32 return val