{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) Attributes to use for a newly-created window. -} module GI.Gdk.Structs.WindowAttr ( -- * Exported types WindowAttr(..) , noWindowAttr , -- * Properties -- ** Cursor windowAttrReadCursor , -- ** EventMask windowAttrReadEventMask , -- ** Height windowAttrReadHeight , -- ** OverrideRedirect windowAttrReadOverrideRedirect , -- ** Title windowAttrReadTitle , -- ** TypeHint windowAttrReadTypeHint , -- ** Visual windowAttrReadVisual , -- ** Wclass windowAttrReadWclass , -- ** Width windowAttrReadWidth , -- ** WindowType windowAttrReadWindowType , -- ** WmclassClass windowAttrReadWmclassClass , -- ** WmclassName windowAttrReadWmclassName , -- ** X windowAttrReadX , -- ** Y windowAttrReadY , ) 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 WindowAttr = WindowAttr (ForeignPtr WindowAttr) noWindowAttr :: Maybe WindowAttr noWindowAttr = Nothing windowAttrReadTitle :: WindowAttr -> IO T.Text windowAttrReadTitle s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO CString val' <- cstringToText val return val' windowAttrReadEventMask :: WindowAttr -> IO Int32 windowAttrReadEventMask s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO Int32 return val windowAttrReadX :: WindowAttr -> IO Int32 windowAttrReadX s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 12) :: IO Int32 return val windowAttrReadY :: WindowAttr -> IO Int32 windowAttrReadY s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO Int32 return val windowAttrReadWidth :: WindowAttr -> IO Int32 windowAttrReadWidth s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 20) :: IO Int32 return val windowAttrReadHeight :: WindowAttr -> IO Int32 windowAttrReadHeight s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 24) :: IO Int32 return val windowAttrReadWclass :: WindowAttr -> IO WindowWindowClass windowAttrReadWclass s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 28) :: IO CUInt let val' = (toEnum . fromIntegral) val return val' windowAttrReadVisual :: WindowAttr -> IO Visual windowAttrReadVisual s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 32) :: IO (Ptr Visual) val' <- (newObject Visual) val return val' windowAttrReadWindowType :: WindowAttr -> IO WindowType windowAttrReadWindowType s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 40) :: IO CUInt let val' = (toEnum . fromIntegral) val return val' windowAttrReadCursor :: WindowAttr -> IO Cursor windowAttrReadCursor s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 48) :: IO (Ptr Cursor) val' <- (newObject Cursor) val return val' windowAttrReadWmclassName :: WindowAttr -> IO T.Text windowAttrReadWmclassName s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 56) :: IO CString val' <- cstringToText val return val' windowAttrReadWmclassClass :: WindowAttr -> IO T.Text windowAttrReadWmclassClass s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 64) :: IO CString val' <- cstringToText val return val' windowAttrReadOverrideRedirect :: WindowAttr -> IO Bool windowAttrReadOverrideRedirect s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 72) :: IO CInt let val' = (/= 0) val return val' windowAttrReadTypeHint :: WindowAttr -> IO WindowTypeHint windowAttrReadTypeHint s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 76) :: IO CUInt let val' = (toEnum . fromIntegral) val return val'