xhb-0.0.2009.1.6: patched/Graphics/XHB/Gen/Composite.hs
module Graphics.XHB.Gen.Composite
(extension, queryVersion, redirectWindow, redirectSubwindows,
unredirectWindow, unredirectSubwindows, createRegionFromBorderClip,
nameWindowPixmap, getOverlayWindow, releaseOverlayWindow,
module Graphics.XHB.Gen.Composite.Types)
where
import Graphics.XHB.Gen.Composite.Types
import Graphics.XHB.Connection.Internal
import Graphics.XHB.Connection.Extension
import Graphics.XHB.Connection.Types
import Control.Concurrent.STM
import Foreign.C.Types
import Data.Binary.Put (runPut)
import Graphics.XHB.Shared hiding (Event(..), Error(..))
import Graphics.XHB.Gen.Xproto.Types
hiding (deserializeError, deserializeEvent)
import qualified Graphics.XHB.Gen.Xproto.Types
import Graphics.XHB.Gen.XFixes.Types
hiding (QueryVersion(..), QueryVersionReply(..), deserializeError,
deserializeEvent)
import qualified Graphics.XHB.Gen.XFixes.Types
extension :: ExtensionId
extension = "Composite"
queryVersion ::
Graphics.XHB.Connection.Types.Connection ->
CARD32 -> CARD32 -> IO (Receipt QueryVersionReply)
queryVersion c client_major_version client_minor_version
= do receipt <- newEmptyReceiptIO
let req = MkQueryVersion client_major_version client_minor_version
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
redirectWindow ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> CARD8 -> IO ()
redirectWindow c window update
= do let req = MkRedirectWindow window update
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
redirectSubwindows ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> CARD8 -> IO ()
redirectSubwindows c window update
= do let req = MkRedirectSubwindows window update
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
unredirectWindow ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> CARD8 -> IO ()
unredirectWindow c window update
= do let req = MkUnredirectWindow window update
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
unredirectSubwindows ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> CARD8 -> IO ()
unredirectSubwindows c window update
= do let req = MkUnredirectSubwindows window update
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
createRegionFromBorderClip ::
Graphics.XHB.Connection.Types.Connection ->
REGION -> WINDOW -> IO ()
createRegionFromBorderClip c region window
= do let req = MkCreateRegionFromBorderClip region window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
nameWindowPixmap ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> PIXMAP -> IO ()
nameWindowPixmap c window pixmap
= do let req = MkNameWindowPixmap window pixmap
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
getOverlayWindow ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> IO (Receipt GetOverlayWindowReply)
getOverlayWindow c window
= do receipt <- newEmptyReceiptIO
let req = MkGetOverlayWindow window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
releaseOverlayWindow ::
Graphics.XHB.Connection.Types.Connection -> WINDOW -> IO ()
releaseOverlayWindow c window
= do let req = MkReleaseOverlayWindow window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk