xhb-0.0.2009.1.6: patched/Graphics/XHB/Gen/Shm.hs
module Graphics.XHB.Gen.Shm
(extension, queryVersion, attach, detach, putImage, getImage,
createPixmap, module Graphics.XHB.Gen.Shm.Types)
where
import Graphics.XHB.Gen.Shm.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 (PutImage(..), GetImage(..), GetImageReply(..),
CreatePixmap(..), deserializeError, deserializeEvent)
import qualified Graphics.XHB.Gen.Xproto.Types
extension :: ExtensionId
extension = "MIT-SHM"
queryVersion ::
Graphics.XHB.Connection.Types.Connection ->
IO (Receipt QueryVersionReply)
queryVersion c
= do receipt <- newEmptyReceiptIO
let req = MkQueryVersion
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
attach ::
Graphics.XHB.Connection.Types.Connection -> Attach -> IO ()
attach c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
detach :: Graphics.XHB.Connection.Types.Connection -> SEG -> IO ()
detach c shmseg
= do let req = MkDetach shmseg
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
putImage ::
Graphics.XHB.Connection.Types.Connection -> PutImage -> IO ()
putImage c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
getImage ::
Graphics.XHB.Connection.Types.Connection ->
GetImage -> IO (Receipt GetImageReply)
getImage c req
= do receipt <- newEmptyReceiptIO
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
createPixmap ::
Graphics.XHB.Connection.Types.Connection -> CreatePixmap -> IO ()
createPixmap c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk