xhb-0.0.2009.1.6: patched/Graphics/XHB/Gen/RandR.hs
module Graphics.XHB.Gen.RandR
(extension, queryVersion, setScreenConfig, selectInput,
getScreenInfo, getScreenSizeRange, setScreenSize,
getScreenResources, getOutputInfo, listOutputProperties,
queryOutputProperty, configureOutputProperty, changeOutputProperty,
deleteOutputProperty, getOutputProperty, createMode, destroyMode,
addOutputMode, deleteOutputMode, getCrtcInfo, setCrtcConfig,
getCrtcGammaSize, getCrtcGamma, setCrtcGamma,
module Graphics.XHB.Gen.RandR.Types)
where
import Graphics.XHB.Gen.RandR.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 = "RANDR"
queryVersion ::
Graphics.XHB.Connection.Types.Connection ->
CARD32 -> CARD32 -> IO (Receipt QueryVersionReply)
queryVersion c major_version minor_version
= do receipt <- newEmptyReceiptIO
let req = MkQueryVersion major_version minor_version
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
setScreenConfig ::
Graphics.XHB.Connection.Types.Connection ->
SetScreenConfig -> IO (Receipt SetScreenConfigReply)
setScreenConfig c req
= do receipt <- newEmptyReceiptIO
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
selectInput ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> CARD16 -> IO ()
selectInput c window enable
= do let req = MkSelectInput window enable
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
getScreenInfo ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> IO (Receipt GetScreenInfoReply)
getScreenInfo c window
= do receipt <- newEmptyReceiptIO
let req = MkGetScreenInfo window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
getScreenSizeRange ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> IO (Receipt GetScreenSizeRangeReply)
getScreenSizeRange c window
= do receipt <- newEmptyReceiptIO
let req = MkGetScreenSizeRange window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
setScreenSize ::
Graphics.XHB.Connection.Types.Connection -> SetScreenSize -> IO ()
setScreenSize c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
getScreenResources ::
Graphics.XHB.Connection.Types.Connection ->
WINDOW -> IO (Receipt GetScreenResourcesReply)
getScreenResources c window
= do receipt <- newEmptyReceiptIO
let req = MkGetScreenResources window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
getOutputInfo ::
Graphics.XHB.Connection.Types.Connection ->
OUTPUT -> TIMESTAMP -> IO (Receipt GetOutputInfoReply)
getOutputInfo c output config_timestamp
= do receipt <- newEmptyReceiptIO
let req = MkGetOutputInfo output config_timestamp
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
listOutputProperties ::
Graphics.XHB.Connection.Types.Connection ->
OUTPUT -> IO (Receipt ListOutputPropertiesReply)
listOutputProperties c output
= do receipt <- newEmptyReceiptIO
let req = MkListOutputProperties output
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
queryOutputProperty ::
Graphics.XHB.Connection.Types.Connection ->
OUTPUT -> ATOM -> IO (Receipt QueryOutputPropertyReply)
queryOutputProperty c output property
= do receipt <- newEmptyReceiptIO
let req = MkQueryOutputProperty output property
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
configureOutputProperty ::
Graphics.XHB.Connection.Types.Connection ->
ConfigureOutputProperty -> IO ()
configureOutputProperty c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
changeOutputProperty ::
Graphics.XHB.Connection.Types.Connection ->
ChangeOutputProperty -> IO ()
changeOutputProperty c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
deleteOutputProperty ::
Graphics.XHB.Connection.Types.Connection -> OUTPUT -> ATOM -> IO ()
deleteOutputProperty c output property
= do let req = MkDeleteOutputProperty output property
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
getOutputProperty ::
Graphics.XHB.Connection.Types.Connection ->
GetOutputProperty -> IO (Receipt GetOutputPropertyReply)
getOutputProperty c req
= do receipt <- newEmptyReceiptIO
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
createMode ::
Graphics.XHB.Connection.Types.Connection ->
CreateMode -> IO (Receipt CreateModeReply)
createMode c req
= do receipt <- newEmptyReceiptIO
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
destroyMode ::
Graphics.XHB.Connection.Types.Connection -> MODE -> IO ()
destroyMode c mode
= do let req = MkDestroyMode mode
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
addOutputMode ::
Graphics.XHB.Connection.Types.Connection -> OUTPUT -> MODE -> IO ()
addOutputMode c output mode
= do let req = MkAddOutputMode output mode
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
deleteOutputMode ::
Graphics.XHB.Connection.Types.Connection -> OUTPUT -> MODE -> IO ()
deleteOutputMode c output mode
= do let req = MkDeleteOutputMode output mode
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
getCrtcInfo ::
Graphics.XHB.Connection.Types.Connection ->
CRTC -> TIMESTAMP -> IO (Receipt GetCrtcInfoReply)
getCrtcInfo c crtc config_timestamp
= do receipt <- newEmptyReceiptIO
let req = MkGetCrtcInfo crtc config_timestamp
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
setCrtcConfig ::
Graphics.XHB.Connection.Types.Connection ->
SetCrtcConfig -> IO (Receipt SetCrtcConfigReply)
setCrtcConfig c req
= do receipt <- newEmptyReceiptIO
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
getCrtcGammaSize ::
Graphics.XHB.Connection.Types.Connection ->
CRTC -> IO (Receipt GetCrtcGammaSizeReply)
getCrtcGammaSize c crtc
= do receipt <- newEmptyReceiptIO
let req = MkGetCrtcGammaSize crtc
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
getCrtcGamma ::
Graphics.XHB.Connection.Types.Connection ->
CRTC -> IO (Receipt GetCrtcGammaReply)
getCrtcGamma c crtc
= do receipt <- newEmptyReceiptIO
let req = MkGetCrtcGamma crtc
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
setCrtcGamma ::
Graphics.XHB.Connection.Types.Connection -> SetCrtcGamma -> IO ()
setCrtcGamma c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk