xhb-0.0.2009.1.6: patched/Graphics/XHB/Gen/XPrint.hs
module Graphics.XHB.Gen.XPrint
(extension, printQueryVersion, printGetPrinterList, createContext,
printSetContext, printGetContext, printDestroyContext,
printGetScreenOfContext, printStartJob, printEndJob, printStartDoc,
printEndDoc, printPutDocumentData, printGetDocumentData,
printStartPage, printEndPage, printSelectInput, printInputSelected,
printGetAttributes, printGetOneAttributes, printSetAttributes,
printGetPageDimensions, printQueryScreens, printSetImageResolution,
printGetImageResolution, module Graphics.XHB.Gen.XPrint.Types)
where
import Graphics.XHB.Gen.XPrint.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 = "XpExtension"
printQueryVersion ::
Graphics.XHB.Connection.Types.Connection ->
IO (Receipt PrintQueryVersionReply)
printQueryVersion c
= do receipt <- newEmptyReceiptIO
let req = MkPrintQueryVersion
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printGetPrinterList ::
Graphics.XHB.Connection.Types.Connection ->
PrintGetPrinterList -> IO (Receipt PrintGetPrinterListReply)
printGetPrinterList c req
= do receipt <- newEmptyReceiptIO
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
createContext ::
Graphics.XHB.Connection.Types.Connection -> CreateContext -> IO ()
createContext c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printSetContext ::
Graphics.XHB.Connection.Types.Connection -> CARD32 -> IO ()
printSetContext c context
= do let req = MkPrintSetContext context
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printGetContext ::
Graphics.XHB.Connection.Types.Connection ->
IO (Receipt PrintGetContextReply)
printGetContext c
= do receipt <- newEmptyReceiptIO
let req = MkPrintGetContext
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printDestroyContext ::
Graphics.XHB.Connection.Types.Connection -> CARD32 -> IO ()
printDestroyContext c context
= do let req = MkPrintDestroyContext context
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printGetScreenOfContext ::
Graphics.XHB.Connection.Types.Connection ->
IO (Receipt PrintGetScreenOfContextReply)
printGetScreenOfContext c
= do receipt <- newEmptyReceiptIO
let req = MkPrintGetScreenOfContext
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printStartJob ::
Graphics.XHB.Connection.Types.Connection -> CARD8 -> IO ()
printStartJob c output_mode
= do let req = MkPrintStartJob output_mode
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printEndJob ::
Graphics.XHB.Connection.Types.Connection -> BOOL -> IO ()
printEndJob c cancel
= do let req = MkPrintEndJob cancel
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printStartDoc ::
Graphics.XHB.Connection.Types.Connection -> CARD8 -> IO ()
printStartDoc c driver_mode
= do let req = MkPrintStartDoc driver_mode
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printEndDoc ::
Graphics.XHB.Connection.Types.Connection -> BOOL -> IO ()
printEndDoc c cancel
= do let req = MkPrintEndDoc cancel
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printPutDocumentData ::
Graphics.XHB.Connection.Types.Connection ->
PrintPutDocumentData -> IO ()
printPutDocumentData c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printGetDocumentData ::
Graphics.XHB.Connection.Types.Connection ->
PCONTEXT -> CARD32 -> IO (Receipt PrintGetDocumentDataReply)
printGetDocumentData c context max_bytes
= do receipt <- newEmptyReceiptIO
let req = MkPrintGetDocumentData context max_bytes
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printStartPage ::
Graphics.XHB.Connection.Types.Connection -> WINDOW -> IO ()
printStartPage c window
= do let req = MkPrintStartPage window
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printEndPage ::
Graphics.XHB.Connection.Types.Connection -> BOOL -> IO ()
printEndPage c cancel
= do let req = MkPrintEndPage cancel
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printSelectInput ::
Graphics.XHB.Connection.Types.Connection ->
PCONTEXT -> ValueParam CARD32 -> IO ()
printSelectInput c context event
= do let req = MkPrintSelectInput context event
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printInputSelected ::
Graphics.XHB.Connection.Types.Connection ->
PCONTEXT -> IO (Receipt PrintInputSelectedReply)
printInputSelected c context
= do receipt <- newEmptyReceiptIO
let req = MkPrintInputSelected context
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printGetAttributes ::
Graphics.XHB.Connection.Types.Connection ->
PCONTEXT -> CARD8 -> IO (Receipt PrintGetAttributesReply)
printGetAttributes c context pool
= do receipt <- newEmptyReceiptIO
let req = MkPrintGetAttributes context pool
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printGetOneAttributes ::
Graphics.XHB.Connection.Types.Connection ->
PrintGetOneAttributes -> IO (Receipt PrintGetOneAttributesReply)
printGetOneAttributes c req
= do receipt <- newEmptyReceiptIO
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printSetAttributes ::
Graphics.XHB.Connection.Types.Connection ->
PrintSetAttributes -> IO ()
printSetAttributes c req
= do putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequest c chunk
printGetPageDimensions ::
Graphics.XHB.Connection.Types.Connection ->
PCONTEXT -> IO (Receipt PrintGetPageDimensionsReply)
printGetPageDimensions c context
= do receipt <- newEmptyReceiptIO
let req = MkPrintGetPageDimensions context
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printQueryScreens ::
Graphics.XHB.Connection.Types.Connection ->
IO (Receipt PrintQueryScreensReply)
printQueryScreens c
= do receipt <- newEmptyReceiptIO
let req = MkPrintQueryScreens
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printSetImageResolution ::
Graphics.XHB.Connection.Types.Connection ->
PCONTEXT -> CARD16 -> IO (Receipt PrintSetImageResolutionReply)
printSetImageResolution c context image_resolution
= do receipt <- newEmptyReceiptIO
let req = MkPrintSetImageResolution context image_resolution
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt
printGetImageResolution ::
Graphics.XHB.Connection.Types.Connection ->
PCONTEXT -> IO (Receipt PrintGetImageResolutionReply)
printGetImageResolution c context
= do receipt <- newEmptyReceiptIO
let req = MkPrintGetImageResolution context
putAction <- serializeExtensionRequest c req
let chunk = runPut putAction
sendRequestWithReply c chunk receipt
return receipt