{- | 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 all or part of a window becomes visible and needs to be redrawn. -} module GI.Gdk.Structs.EventExpose ( -- * Exported types EventExpose(..) , noEventExpose , -- * Properties -- ** Area eventExposeReadArea , -- ** Count eventExposeReadCount , -- ** Region eventExposeReadRegion , -- ** SendEvent eventExposeReadSendEvent , -- ** Type eventExposeReadType , -- ** Window eventExposeReadWindow , ) 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 import qualified GI.Cairo as Cairo newtype EventExpose = EventExpose (ForeignPtr EventExpose) noEventExpose :: Maybe EventExpose noEventExpose = Nothing eventExposeReadType :: EventExpose -> IO EventType eventExposeReadType s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO CUInt let val' = (toEnum . fromIntegral) val return val' eventExposeReadWindow :: EventExpose -> IO Window eventExposeReadWindow s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window) val' <- (newObject Window) val return val' eventExposeReadSendEvent :: EventExpose -> IO Int8 eventExposeReadSendEvent s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO Int8 return val eventExposeReadArea :: EventExpose -> IO Cairo.RectangleInt eventExposeReadArea s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 20) :: IO (Ptr Cairo.RectangleInt) val' <- (newBoxed Cairo.RectangleInt) val return val' eventExposeReadRegion :: EventExpose -> IO Cairo.Region eventExposeReadRegion s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 40) :: IO (Ptr Cairo.Region) val' <- (newBoxed Cairo.Region) val return val' eventExposeReadCount :: EventExpose -> IO Int32 eventExposeReadCount s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 48) :: IO Int32 return val