xhb-0.0.2009.1.6: patched/Graphics/XHB/Gen/Xinerama.hs
module Graphics.XHB.Gen.Xinerama
(extension, queryVersion, getState, getScreenCount, getScreenSize,
isActive, queryScreens, module Graphics.XHB.Gen.Xinerama.Types)
where
import Graphics.XHB.Gen.Xinerama.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
extension :: ExtensionId
extension = "XINERAMA"
queryVersion ::
Graphics.XHB.Connection.Types.Connection ->
CARD8 -> CARD8 -> IO (Receipt QueryVersionReply)
queryVersion c major minor
= do receipt <- newEmptyReceiptIO
let req = MkQueryVersion major minor
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
getState ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> IO (Receipt GetStateReply)
getState c window
= do receipt <- newEmptyReceiptIO
let req = MkGetState window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
getScreenCount ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> IO (Receipt GetScreenCountReply)
getScreenCount c window
= do receipt <- newEmptyReceiptIO
let req = MkGetScreenCount window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
getScreenSize ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> CARD32 -> IO (Receipt GetScreenSizeReply)
getScreenSize c window screen
= do receipt <- newEmptyReceiptIO
let req = MkGetScreenSize window screen
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
isActive ::
Graphics.XHB.Connection.Types.Connection ->
IO (Receipt IsActiveReply)
isActive c
= do receipt <- newEmptyReceiptIO
let req = MkIsActive
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
queryScreens ::
Graphics.XHB.Connection.Types.Connection ->
IO (Receipt QueryScreensReply)
queryScreens c
= do receipt <- newEmptyReceiptIO
let req = MkQueryScreens
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt