packages feed

xhb 0.4.2010.12.26 → 0.5.2011.10.21

raw patch · 15 files changed

+919/−129 lines, 15 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Graphics.XHB.Gen.XF86Dri: drm_client_key_high_OpenConnectionReply :: OpenConnectionReply -> Word32
- Graphics.XHB.Gen.XF86Dri: drm_client_key_low_OpenConnectionReply :: OpenConnectionReply -> Word32
+ Graphics.XHB.Gen.DPMS: MkDisable :: Disable
+ Graphics.XHB.Gen.DPMS: MkEnable :: Enable
+ Graphics.XHB.Gen.DPMS: data Disable
+ Graphics.XHB.Gen.DPMS: data Enable
+ Graphics.XHB.Gen.DPMS: disable :: Connection -> IO ()
+ Graphics.XHB.Gen.DPMS: enable :: Connection -> IO ()
+ Graphics.XHB.Gen.DRI2: AttachmentBufferAccum :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferBackLeft :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferBackRight :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferDepth :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferDepthStencil :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferFakeFrontLeft :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferFakeFrontRight :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferFrontLeft :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferFrontRight :: Attachment
+ Graphics.XHB.Gen.DRI2: AttachmentBufferStencil :: Attachment
+ Graphics.XHB.Gen.DRI2: DriverTypeDRI :: DriverType
+ Graphics.XHB.Gen.DRI2: MkAttachFormat :: Attachment -> Word32 -> AttachFormat
+ Graphics.XHB.Gen.DRI2: MkAuthenticate :: WINDOW -> Word32 -> Authenticate
+ Graphics.XHB.Gen.DRI2: MkAuthenticateReply :: Word32 -> AuthenticateReply
+ Graphics.XHB.Gen.DRI2: MkConnect :: WINDOW -> DriverType -> Connect
+ Graphics.XHB.Gen.DRI2: MkConnectReply :: Word32 -> Word32 -> [CChar] -> [CChar] -> ConnectReply
+ Graphics.XHB.Gen.DRI2: MkCopyRegion :: DRAWABLE -> Word32 -> Word32 -> Word32 -> CopyRegion
+ Graphics.XHB.Gen.DRI2: MkCopyRegionReply :: CopyRegionReply
+ Graphics.XHB.Gen.DRI2: MkCreateDrawable :: DRAWABLE -> CreateDrawable
+ Graphics.XHB.Gen.DRI2: MkDRI2Buffer :: Attachment -> Word32 -> Word32 -> Word32 -> Word32 -> DRI2Buffer
+ Graphics.XHB.Gen.DRI2: MkDestroyDrawable :: DRAWABLE -> DestroyDrawable
+ Graphics.XHB.Gen.DRI2: MkGetBuffers :: DRAWABLE -> Word32 -> [Word32] -> GetBuffers
+ Graphics.XHB.Gen.DRI2: MkGetBuffersReply :: Word32 -> Word32 -> Word32 -> [DRI2Buffer] -> GetBuffersReply
+ Graphics.XHB.Gen.DRI2: MkGetBuffersWithFormat :: DRAWABLE -> Word32 -> [AttachFormat] -> GetBuffersWithFormat
+ Graphics.XHB.Gen.DRI2: MkGetBuffersWithFormatReply :: Word32 -> Word32 -> Word32 -> [DRI2Buffer] -> GetBuffersWithFormatReply
+ Graphics.XHB.Gen.DRI2: MkQueryVersion :: Word32 -> Word32 -> QueryVersion
+ Graphics.XHB.Gen.DRI2: MkQueryVersionReply :: Word32 -> Word32 -> QueryVersionReply
+ Graphics.XHB.Gen.DRI2: attachment_AttachFormat :: AttachFormat -> Attachment
+ Graphics.XHB.Gen.DRI2: attachment_DRI2Buffer :: DRI2Buffer -> Attachment
+ Graphics.XHB.Gen.DRI2: attachments_GetBuffers :: GetBuffers -> [Word32]
+ Graphics.XHB.Gen.DRI2: attachments_GetBuffersWithFormat :: GetBuffersWithFormat -> [AttachFormat]
+ Graphics.XHB.Gen.DRI2: authenticate :: Connection -> WINDOW -> Word32 -> IO (Receipt Word32)
+ Graphics.XHB.Gen.DRI2: authenticated_AuthenticateReply :: AuthenticateReply -> Word32
+ Graphics.XHB.Gen.DRI2: buffers_GetBuffersReply :: GetBuffersReply -> [DRI2Buffer]
+ Graphics.XHB.Gen.DRI2: buffers_GetBuffersWithFormatReply :: GetBuffersWithFormatReply -> [DRI2Buffer]
+ Graphics.XHB.Gen.DRI2: connect :: Connection -> WINDOW -> DriverType -> IO (Receipt ConnectReply)
+ Graphics.XHB.Gen.DRI2: copyRegion :: Connection -> CopyRegion -> IO (Receipt CopyRegionReply)
+ Graphics.XHB.Gen.DRI2: count_GetBuffers :: GetBuffers -> Word32
+ Graphics.XHB.Gen.DRI2: count_GetBuffersReply :: GetBuffersReply -> Word32
+ Graphics.XHB.Gen.DRI2: count_GetBuffersWithFormat :: GetBuffersWithFormat -> Word32
+ Graphics.XHB.Gen.DRI2: count_GetBuffersWithFormatReply :: GetBuffersWithFormatReply -> Word32
+ Graphics.XHB.Gen.DRI2: cpp_DRI2Buffer :: DRI2Buffer -> Word32
+ Graphics.XHB.Gen.DRI2: createDrawable :: Connection -> DRAWABLE -> IO ()
+ Graphics.XHB.Gen.DRI2: data AttachFormat
+ Graphics.XHB.Gen.DRI2: data Attachment
+ Graphics.XHB.Gen.DRI2: data Authenticate
+ Graphics.XHB.Gen.DRI2: data AuthenticateReply
+ Graphics.XHB.Gen.DRI2: data Connect
+ Graphics.XHB.Gen.DRI2: data ConnectReply
+ Graphics.XHB.Gen.DRI2: data CopyRegion
+ Graphics.XHB.Gen.DRI2: data CopyRegionReply
+ Graphics.XHB.Gen.DRI2: data CreateDrawable
+ Graphics.XHB.Gen.DRI2: data DRI2Buffer
+ Graphics.XHB.Gen.DRI2: data DestroyDrawable
+ Graphics.XHB.Gen.DRI2: data DriverType
+ Graphics.XHB.Gen.DRI2: data GetBuffers
+ Graphics.XHB.Gen.DRI2: data GetBuffersReply
+ Graphics.XHB.Gen.DRI2: data GetBuffersWithFormat
+ Graphics.XHB.Gen.DRI2: data GetBuffersWithFormatReply
+ Graphics.XHB.Gen.DRI2: data QueryVersion
+ Graphics.XHB.Gen.DRI2: data QueryVersionReply
+ Graphics.XHB.Gen.DRI2: deserializeError :: Word8 -> Maybe (Get SomeError)
+ Graphics.XHB.Gen.DRI2: deserializeEvent :: Word8 -> Maybe (Get SomeEvent)
+ Graphics.XHB.Gen.DRI2: dest_CopyRegion :: CopyRegion -> Word32
+ Graphics.XHB.Gen.DRI2: destroyDrawable :: Connection -> DRAWABLE -> IO ()
+ Graphics.XHB.Gen.DRI2: device_name_ConnectReply :: ConnectReply -> [CChar]
+ Graphics.XHB.Gen.DRI2: device_name_length_ConnectReply :: ConnectReply -> Word32
+ Graphics.XHB.Gen.DRI2: drawable_CopyRegion :: CopyRegion -> DRAWABLE
+ Graphics.XHB.Gen.DRI2: drawable_CreateDrawable :: CreateDrawable -> DRAWABLE
+ Graphics.XHB.Gen.DRI2: drawable_DestroyDrawable :: DestroyDrawable -> DRAWABLE
+ Graphics.XHB.Gen.DRI2: drawable_GetBuffers :: GetBuffers -> DRAWABLE
+ Graphics.XHB.Gen.DRI2: drawable_GetBuffersWithFormat :: GetBuffersWithFormat -> DRAWABLE
+ Graphics.XHB.Gen.DRI2: driver_name_ConnectReply :: ConnectReply -> [CChar]
+ Graphics.XHB.Gen.DRI2: driver_name_length_ConnectReply :: ConnectReply -> Word32
+ Graphics.XHB.Gen.DRI2: driver_type_Connect :: Connect -> DriverType
+ Graphics.XHB.Gen.DRI2: extension :: ExtensionId
+ Graphics.XHB.Gen.DRI2: flags_DRI2Buffer :: DRI2Buffer -> Word32
+ Graphics.XHB.Gen.DRI2: format_AttachFormat :: AttachFormat -> Word32
+ Graphics.XHB.Gen.DRI2: getBuffers :: Connection -> GetBuffers -> IO (Receipt GetBuffersReply)
+ Graphics.XHB.Gen.DRI2: getBuffersWithFormat :: Connection -> GetBuffersWithFormat -> IO (Receipt GetBuffersWithFormatReply)
+ Graphics.XHB.Gen.DRI2: height_GetBuffersReply :: GetBuffersReply -> Word32
+ Graphics.XHB.Gen.DRI2: height_GetBuffersWithFormatReply :: GetBuffersWithFormatReply -> Word32
+ Graphics.XHB.Gen.DRI2: magic_Authenticate :: Authenticate -> Word32
+ Graphics.XHB.Gen.DRI2: major_version_QueryVersion :: QueryVersion -> Word32
+ Graphics.XHB.Gen.DRI2: major_version_QueryVersionReply :: QueryVersionReply -> Word32
+ Graphics.XHB.Gen.DRI2: minor_version_QueryVersion :: QueryVersion -> Word32
+ Graphics.XHB.Gen.DRI2: minor_version_QueryVersionReply :: QueryVersionReply -> Word32
+ Graphics.XHB.Gen.DRI2: name_DRI2Buffer :: DRI2Buffer -> Word32
+ Graphics.XHB.Gen.DRI2: pitch_DRI2Buffer :: DRI2Buffer -> Word32
+ Graphics.XHB.Gen.DRI2: queryVersion :: Connection -> Word32 -> Word32 -> IO (Receipt QueryVersionReply)
+ Graphics.XHB.Gen.DRI2: region_CopyRegion :: CopyRegion -> Word32
+ Graphics.XHB.Gen.DRI2: src_CopyRegion :: CopyRegion -> Word32
+ Graphics.XHB.Gen.DRI2: width_GetBuffersReply :: GetBuffersReply -> Word32
+ Graphics.XHB.Gen.DRI2: width_GetBuffersWithFormatReply :: GetBuffersWithFormatReply -> Word32
+ Graphics.XHB.Gen.DRI2: window_Authenticate :: Authenticate -> WINDOW
+ Graphics.XHB.Gen.DRI2: window_Connect :: Connect -> WINDOW
+ Graphics.XHB.Gen.XPrint: MkPrintRehashPrinterList :: PrintRehashPrinterList
+ Graphics.XHB.Gen.XPrint: data PrintRehashPrinterList
+ Graphics.XHB.Gen.XPrint: printRehashPrinterList :: Connection -> IO ()
+ Graphics.XHB.Gen.Xproto: AtomARC :: Atom
+ Graphics.XHB.Gen.Xproto: AtomATOM :: Atom
+ Graphics.XHB.Gen.Xproto: AtomAny :: Atom
+ Graphics.XHB.Gen.Xproto: AtomBITMAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCAP_HEIGHT :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCARDINAL :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCOLORMAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCOPYRIGHT :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCURSOR :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCUT_BUFFER0 :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCUT_BUFFER1 :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCUT_BUFFER2 :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCUT_BUFFER3 :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCUT_BUFFER4 :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCUT_BUFFER5 :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCUT_BUFFER6 :: Atom
+ Graphics.XHB.Gen.Xproto: AtomCUT_BUFFER7 :: Atom
+ Graphics.XHB.Gen.Xproto: AtomDRAWABLE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomEND_SPACE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomFAMILY_NAME :: Atom
+ Graphics.XHB.Gen.Xproto: AtomFONT :: Atom
+ Graphics.XHB.Gen.Xproto: AtomFONT_NAME :: Atom
+ Graphics.XHB.Gen.Xproto: AtomFULL_NAME :: Atom
+ Graphics.XHB.Gen.Xproto: AtomINTEGER :: Atom
+ Graphics.XHB.Gen.Xproto: AtomITALIC_ANGLE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomMAX_SPACE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomMIN_SPACE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomNORM_SPACE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomNOTICE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomPIXMAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomPOINT :: Atom
+ Graphics.XHB.Gen.Xproto: AtomPOINT_SIZE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomPRIMARY :: Atom
+ Graphics.XHB.Gen.Xproto: AtomQUAD_WIDTH :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRECTANGLE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRESOLUTION :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRESOURCE_MANAGER :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRGB_BEST_MAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRGB_BLUE_MAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRGB_COLOR_MAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRGB_DEFAULT_MAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRGB_GRAY_MAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRGB_GREEN_MAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomRGB_RED_MAP :: Atom
+ Graphics.XHB.Gen.Xproto: AtomSECONDARY :: Atom
+ Graphics.XHB.Gen.Xproto: AtomSTRIKEOUT_ASCENT :: Atom
+ Graphics.XHB.Gen.Xproto: AtomSTRIKEOUT_DESCENT :: Atom
+ Graphics.XHB.Gen.Xproto: AtomSTRING :: Atom
+ Graphics.XHB.Gen.Xproto: AtomSUBSCRIPT_X :: Atom
+ Graphics.XHB.Gen.Xproto: AtomSUBSCRIPT_Y :: Atom
+ Graphics.XHB.Gen.Xproto: AtomSUPERSCRIPT_X :: Atom
+ Graphics.XHB.Gen.Xproto: AtomSUPERSCRIPT_Y :: Atom
+ Graphics.XHB.Gen.Xproto: AtomUNDERLINE_POSITION :: Atom
+ Graphics.XHB.Gen.Xproto: AtomUNDERLINE_THICKNESS :: Atom
+ Graphics.XHB.Gen.Xproto: AtomVISUALID :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWEIGHT :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWINDOW :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_CLASS :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_CLIENT_MACHINE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_COMMAND :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_HINTS :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_ICON_NAME :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_ICON_SIZE :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_NAME :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_NORMAL_HINTS :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_SIZE_HINTS :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_TRANSIENT_FOR :: Atom
+ Graphics.XHB.Gen.Xproto: AtomWM_ZOOM_HINTS :: Atom
+ Graphics.XHB.Gen.Xproto: AtomX_HEIGHT :: Atom
+ Graphics.XHB.Gen.Xproto: MkGrabServer :: GrabServer
+ Graphics.XHB.Gen.Xproto: MkNoOperation :: NoOperation
+ Graphics.XHB.Gen.Xproto: MkUngrabServer :: UngrabServer
+ Graphics.XHB.Gen.Xproto: data GrabServer
+ Graphics.XHB.Gen.Xproto: data NoOperation
+ Graphics.XHB.Gen.Xproto: data UngrabServer
+ Graphics.XHB.Gen.Xproto: grabServer :: Connection -> IO ()
+ Graphics.XHB.Gen.Xproto: noOperation :: Connection -> IO ()
+ Graphics.XHB.Gen.Xproto: ungrabServer :: Connection -> IO ()
+ Graphics.XHB.Gen.Xproto: value_mask_ConfigureWindow :: ConfigureWindow -> Word16
- Graphics.XHB.Gen.XF86Dri: MkOpenConnectionReply :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> [CChar] -> OpenConnectionReply
+ Graphics.XHB.Gen.XF86Dri: MkOpenConnectionReply :: Word32 -> Word32 -> Word32 -> [CChar] -> OpenConnectionReply
- Graphics.XHB.Gen.Xproto: MkConfigureWindow :: WINDOW -> ValueParam Word16 -> ConfigureWindow
+ Graphics.XHB.Gen.Xproto: MkConfigureWindow :: WINDOW -> Word16 -> ValueParam Word16 -> ConfigureWindow
- Graphics.XHB.Gen.Xproto: configureWindow :: Connection -> WINDOW -> ValueParam Word16 -> IO ()
+ Graphics.XHB.Gen.Xproto: configureWindow :: Connection -> ConfigureWindow -> IO ()

Files

CONTRIBUTORS view
@@ -3,4 +3,4 @@ Antoine Latter <aslatter@gmail.com> Spencer Janssen Artyom Shalkhakov-+Bart Massey
patched/Graphics/XHB/Gen/DPMS.hs view
@@ -1,6 +1,6 @@ module Graphics.XHB.Gen.DPMS-       (extension, getVersion, capable, getTimeouts, setTimeouts,-        forceLevel, info, module Graphics.XHB.Gen.DPMS.Types)+       (extension, getVersion, capable, getTimeouts, setTimeouts, enable,+        disable, forceLevel, info, module Graphics.XHB.Gen.DPMS.Types)        where import Graphics.XHB.Gen.DPMS.Types import Graphics.XHB.Connection.Internal@@ -54,6 +54,20 @@               Graphics.XHB.Connection.Types.Connection -> SetTimeouts -> IO () setTimeouts c req   = do putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequest c chunk+ +enable :: Graphics.XHB.Connection.Types.Connection -> IO ()+enable c+  = do let req = MkEnable+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequest c chunk+ +disable :: Graphics.XHB.Connection.Types.Connection -> IO ()+disable c+  = do let req = MkDisable+       putAction <- serializeExtensionRequest c req        let chunk = runPut putAction        sendRequest c chunk  
patched/Graphics/XHB/Gen/DPMS/Types.hs view
@@ -1,8 +1,8 @@ module Graphics.XHB.Gen.DPMS.Types        (deserializeError, deserializeEvent, GetVersion(..),         GetVersionReply(..), Capable(..), CapableReply(..),-        GetTimeouts(..), GetTimeoutsReply(..), SetTimeouts(..),-        DPMSMode(..), ForceLevel(..), Info(..), InfoReply(..))+        GetTimeouts(..), GetTimeoutsReply(..), SetTimeouts(..), Enable(..),+        Disable(..), DPMSMode(..), ForceLevel(..), Info(..), InfoReply(..))        where import Data.Word import Data.Int@@ -135,6 +135,30 @@                serialize (standby_timeout_SetTimeouts x)                serialize (suspend_timeout_SetTimeouts x)                serialize (off_timeout_SetTimeouts x)+               putSkip (requiredPadding size__)+ +data Enable = MkEnable{}+            deriving (Show, Typeable)+ +instance ExtensionRequest Enable where+        extensionId _ = "DPMS"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 4+               let size__ = 4+               serialize (convertBytesToRequestSize size__ :: Int16)+               putSkip (requiredPadding size__)+ +data Disable = MkDisable{}+             deriving (Show, Typeable)+ +instance ExtensionRequest Disable where+        extensionId _ = "DPMS"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 5+               let size__ = 4+               serialize (convertBytesToRequestSize size__ :: Int16)                putSkip (requiredPadding size__)   data DPMSMode = DPMSModeOn
+ patched/Graphics/XHB/Gen/DRI2.hs view
@@ -0,0 +1,102 @@+module Graphics.XHB.Gen.DRI2+       (extension, queryVersion, connect, authenticate, createDrawable,+        destroyDrawable, getBuffers, copyRegion, getBuffersWithFormat,+        module Graphics.XHB.Gen.DRI2.Types)+       where+import Graphics.XHB.Gen.DRI2.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.Word+import Data.Int+import Data.Binary.Get+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 = "DRI2"+ +queryVersion ::+               Graphics.XHB.Connection.Types.Connection ->+                 Word32 -> Word32 -> IO (Receipt QueryVersionReply)+queryVersion c major_version minor_version+  = do (receipt, rReceipt) <- newDeserReceipt+       let req = MkQueryVersion major_version minor_version+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequestWithReply c chunk rReceipt+       return receipt+ +connect ::+          Graphics.XHB.Connection.Types.Connection ->+            WINDOW -> DriverType -> IO (Receipt ConnectReply)+connect c window driver_type+  = do (receipt, rReceipt) <- newDeserReceipt+       let req = MkConnect window driver_type+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequestWithReply c chunk rReceipt+       return receipt+ +authenticate ::+               Graphics.XHB.Connection.Types.Connection ->+                 WINDOW -> Word32 -> IO (Receipt Word32)+authenticate c window magic+  = do (receipt, rReceipt) <- newEmptyReceipt+                                (runGet (authenticated_AuthenticateReply `fmap` deserialize))+       let req = MkAuthenticate window magic+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequestWithReply c chunk rReceipt+       return receipt+ +createDrawable ::+                 Graphics.XHB.Connection.Types.Connection -> DRAWABLE -> IO ()+createDrawable c drawable+  = do let req = MkCreateDrawable drawable+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequest c chunk+ +destroyDrawable ::+                  Graphics.XHB.Connection.Types.Connection -> DRAWABLE -> IO ()+destroyDrawable c drawable+  = do let req = MkDestroyDrawable drawable+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequest c chunk+ +getBuffers ::+             Graphics.XHB.Connection.Types.Connection ->+               GetBuffers -> IO (Receipt GetBuffersReply)+getBuffers c req+  = do (receipt, rReceipt) <- newDeserReceipt+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequestWithReply c chunk rReceipt+       return receipt+ +copyRegion ::+             Graphics.XHB.Connection.Types.Connection ->+               CopyRegion -> IO (Receipt CopyRegionReply)+copyRegion c req+  = do (receipt, rReceipt) <- newDeserReceipt+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequestWithReply c chunk rReceipt+       return receipt+ +getBuffersWithFormat ::+                       Graphics.XHB.Connection.Types.Connection ->+                         GetBuffersWithFormat -> IO (Receipt GetBuffersWithFormatReply)+getBuffersWithFormat c req+  = do (receipt, rReceipt) <- newDeserReceipt+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequestWithReply c chunk rReceipt+       return receipt
+ patched/Graphics/XHB/Gen/DRI2/Types.hs view
@@ -0,0 +1,364 @@+module Graphics.XHB.Gen.DRI2.Types+       (deserializeError, deserializeEvent, Attachment(..),+        DriverType(..), DRI2Buffer(..), AttachFormat(..), QueryVersion(..),+        QueryVersionReply(..), Connect(..), ConnectReply(..),+        Authenticate(..), AuthenticateReply(..), CreateDrawable(..),+        DestroyDrawable(..), GetBuffers(..), GetBuffersReply(..),+        CopyRegion(..), CopyRegionReply(..), GetBuffersWithFormat(..),+        GetBuffersWithFormatReply(..))+       where+import Data.Word+import Data.Int+import Foreign.C.Types+import Data.Bits+import Data.Binary.Put+import Data.Binary.Get+import Data.Typeable+import Control.Monad+import Control.Exception+import Data.List+import Graphics.XHB.Shared hiding (Event, Error)+import qualified Graphics.XHB.Shared+import Graphics.XHB.Gen.Xproto.Types+       hiding (deserializeError, deserializeEvent)+import qualified Graphics.XHB.Gen.Xproto.Types+ +deserializeError :: Word8 -> Maybe (Get SomeError)+deserializeError _ = Nothing+ +deserializeEvent :: Word8 -> Maybe (Get SomeEvent)+deserializeEvent _ = Nothing+ +data Attachment = AttachmentBufferFrontLeft+                | AttachmentBufferBackLeft+                | AttachmentBufferFrontRight+                | AttachmentBufferBackRight+                | AttachmentBufferDepth+                | AttachmentBufferStencil+                | AttachmentBufferAccum+                | AttachmentBufferFakeFrontLeft+                | AttachmentBufferFakeFrontRight+                | AttachmentBufferDepthStencil+                deriving Show+ +instance SimpleEnum Attachment where+        toValue AttachmentBufferFrontLeft{} = 0+        toValue AttachmentBufferBackLeft{} = 1+        toValue AttachmentBufferFrontRight{} = 2+        toValue AttachmentBufferBackRight{} = 3+        toValue AttachmentBufferDepth{} = 4+        toValue AttachmentBufferStencil{} = 5+        toValue AttachmentBufferAccum{} = 6+        toValue AttachmentBufferFakeFrontLeft{} = 7+        toValue AttachmentBufferFakeFrontRight{} = 8+        toValue AttachmentBufferDepthStencil{} = 9+        fromValue 0 = AttachmentBufferFrontLeft+        fromValue 1 = AttachmentBufferBackLeft+        fromValue 2 = AttachmentBufferFrontRight+        fromValue 3 = AttachmentBufferBackRight+        fromValue 4 = AttachmentBufferDepth+        fromValue 5 = AttachmentBufferStencil+        fromValue 6 = AttachmentBufferAccum+        fromValue 7 = AttachmentBufferFakeFrontLeft+        fromValue 8 = AttachmentBufferFakeFrontRight+        fromValue 9 = AttachmentBufferDepthStencil+ +data DriverType = DriverTypeDRI+                deriving Show+ +instance SimpleEnum DriverType where+        toValue DriverTypeDRI{} = 0+        fromValue 0 = DriverTypeDRI+ +data DRI2Buffer = MkDRI2Buffer{attachment_DRI2Buffer :: Attachment,+                               name_DRI2Buffer :: Word32, pitch_DRI2Buffer :: Word32,+                               cpp_DRI2Buffer :: Word32, flags_DRI2Buffer :: Word32}+                deriving (Show, Typeable)+ +instance Serialize DRI2Buffer where+        serialize x+          = do serialize (toValue (attachment_DRI2Buffer x) :: Word32)+               serialize (name_DRI2Buffer x)+               serialize (pitch_DRI2Buffer x)+               serialize (cpp_DRI2Buffer x)+               serialize (flags_DRI2Buffer x)+        size x+          = size (undefined :: Word32) + size (name_DRI2Buffer x) ++              size (pitch_DRI2Buffer x)+              + size (cpp_DRI2Buffer x)+              + size (flags_DRI2Buffer x)+ +instance Deserialize DRI2Buffer where+        deserialize+          = do attachment <- liftM fromValue (deserialize :: Get Word32)+               name <- deserialize+               pitch <- deserialize+               cpp <- deserialize+               flags <- deserialize+               return (MkDRI2Buffer attachment name pitch cpp flags)+ +data AttachFormat = MkAttachFormat{attachment_AttachFormat ::+                                   Attachment,+                                   format_AttachFormat :: Word32}+                  deriving (Show, Typeable)+ +instance Serialize AttachFormat where+        serialize x+          = do serialize (toValue (attachment_AttachFormat x) :: Word32)+               serialize (format_AttachFormat x)+        size x = size (undefined :: Word32) + size (format_AttachFormat x)+ +instance Deserialize AttachFormat where+        deserialize+          = do attachment <- liftM fromValue (deserialize :: Get Word32)+               format <- deserialize+               return (MkAttachFormat attachment format)+ +data QueryVersion = MkQueryVersion{major_version_QueryVersion ::+                                   Word32,+                                   minor_version_QueryVersion :: Word32}+                  deriving (Show, Typeable)+ +instance ExtensionRequest QueryVersion where+        extensionId _ = "DRI2"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 0+               let size__+                     = 4 + size (major_version_QueryVersion x) ++                         size (minor_version_QueryVersion x)+               serialize (convertBytesToRequestSize size__ :: Int16)+               serialize (major_version_QueryVersion x)+               serialize (minor_version_QueryVersion x)+               putSkip (requiredPadding size__)+ +data QueryVersionReply = MkQueryVersionReply{major_version_QueryVersionReply+                                             :: Word32,+                                             minor_version_QueryVersionReply :: Word32}+                       deriving (Show, Typeable)+ +instance Deserialize QueryVersionReply where+        deserialize+          = do skip 1+               skip 1+               skip 2+               length <- deserialize+               major_version <- deserialize+               minor_version <- deserialize+               let _ = isCard32 length+               return (MkQueryVersionReply major_version minor_version)+ +data Connect = MkConnect{window_Connect :: WINDOW,+                         driver_type_Connect :: DriverType}+             deriving (Show, Typeable)+ +instance ExtensionRequest Connect where+        extensionId _ = "DRI2"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 1+               let size__+                     = 4 + size (window_Connect x) + size (undefined :: Word32)+               serialize (convertBytesToRequestSize size__ :: Int16)+               serialize (window_Connect x)+               serialize (toValue (driver_type_Connect x) :: Word32)+               putSkip (requiredPadding size__)+ +data ConnectReply = MkConnectReply{driver_name_length_ConnectReply+                                   :: Word32,+                                   device_name_length_ConnectReply :: Word32,+                                   driver_name_ConnectReply :: [CChar],+                                   device_name_ConnectReply :: [CChar]}+                  deriving (Show, Typeable)+ +instance Deserialize ConnectReply where+        deserialize+          = do skip 1+               skip 1+               skip 2+               length <- deserialize+               driver_name_length <- deserialize+               device_name_length <- deserialize+               skip 16+               driver_name <- deserializeList (fromIntegral driver_name_length)+               device_name <- deserializeList (fromIntegral device_name_length)+               let _ = isCard32 length+               return+                 (MkConnectReply driver_name_length device_name_length driver_name+                    device_name)+ +data Authenticate = MkAuthenticate{window_Authenticate :: WINDOW,+                                   magic_Authenticate :: Word32}+                  deriving (Show, Typeable)+ +instance ExtensionRequest Authenticate where+        extensionId _ = "DRI2"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 2+               let size__+                     = 4 + size (window_Authenticate x) + size (magic_Authenticate x)+               serialize (convertBytesToRequestSize size__ :: Int16)+               serialize (window_Authenticate x)+               serialize (magic_Authenticate x)+               putSkip (requiredPadding size__)+ +data AuthenticateReply = MkAuthenticateReply{authenticated_AuthenticateReply+                                             :: Word32}+                       deriving (Show, Typeable)+ +instance Deserialize AuthenticateReply where+        deserialize+          = do skip 1+               skip 1+               skip 2+               length <- deserialize+               authenticated <- deserialize+               let _ = isCard32 length+               return (MkAuthenticateReply authenticated)+ +data CreateDrawable = MkCreateDrawable{drawable_CreateDrawable ::+                                       DRAWABLE}+                    deriving (Show, Typeable)+ +instance ExtensionRequest CreateDrawable where+        extensionId _ = "DRI2"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 3+               let size__ = 4 + size (drawable_CreateDrawable x)+               serialize (convertBytesToRequestSize size__ :: Int16)+               serialize (drawable_CreateDrawable x)+               putSkip (requiredPadding size__)+ +data DestroyDrawable = MkDestroyDrawable{drawable_DestroyDrawable+                                         :: DRAWABLE}+                     deriving (Show, Typeable)+ +instance ExtensionRequest DestroyDrawable where+        extensionId _ = "DRI2"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 4+               let size__ = 4 + size (drawable_DestroyDrawable x)+               serialize (convertBytesToRequestSize size__ :: Int16)+               serialize (drawable_DestroyDrawable x)+               putSkip (requiredPadding size__)+ +data GetBuffers = MkGetBuffers{drawable_GetBuffers :: DRAWABLE,+                               count_GetBuffers :: Word32, attachments_GetBuffers :: [Word32]}+                deriving (Show, Typeable)+ +instance ExtensionRequest GetBuffers where+        extensionId _ = "DRI2"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 5+               let size__+                     = 4 + size (drawable_GetBuffers x) + size (count_GetBuffers x) ++                         sum (map size (attachments_GetBuffers x))+               serialize (convertBytesToRequestSize size__ :: Int16)+               serialize (drawable_GetBuffers x)+               serialize (count_GetBuffers x)+               serializeList (attachments_GetBuffers x)+               putSkip (requiredPadding size__)+ +data GetBuffersReply = MkGetBuffersReply{width_GetBuffersReply ::+                                         Word32,+                                         height_GetBuffersReply :: Word32,+                                         count_GetBuffersReply :: Word32,+                                         buffers_GetBuffersReply :: [DRI2Buffer]}+                     deriving (Show, Typeable)+ +instance Deserialize GetBuffersReply where+        deserialize+          = do skip 1+               skip 1+               skip 2+               length <- deserialize+               width <- deserialize+               height <- deserialize+               count <- deserialize+               skip 12+               buffers <- deserializeList (fromIntegral count)+               let _ = isCard32 length+               return (MkGetBuffersReply width height count buffers)+ +data CopyRegion = MkCopyRegion{drawable_CopyRegion :: DRAWABLE,+                               region_CopyRegion :: Word32, dest_CopyRegion :: Word32,+                               src_CopyRegion :: Word32}+                deriving (Show, Typeable)+ +instance ExtensionRequest CopyRegion where+        extensionId _ = "DRI2"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 6+               let size__+                     = 4 + size (drawable_CopyRegion x) + size (region_CopyRegion x) ++                         size (dest_CopyRegion x)+                         + size (src_CopyRegion x)+               serialize (convertBytesToRequestSize size__ :: Int16)+               serialize (drawable_CopyRegion x)+               serialize (region_CopyRegion x)+               serialize (dest_CopyRegion x)+               serialize (src_CopyRegion x)+               putSkip (requiredPadding size__)+ +data CopyRegionReply = MkCopyRegionReply{}+                     deriving (Show, Typeable)+ +instance Deserialize CopyRegionReply where+        deserialize+          = do skip 1+               skip 1+               skip 2+               length <- deserialize+               let _ = isCard32 length+               return (MkCopyRegionReply)+ +data GetBuffersWithFormat = MkGetBuffersWithFormat{drawable_GetBuffersWithFormat+                                                   :: DRAWABLE,+                                                   count_GetBuffersWithFormat :: Word32,+                                                   attachments_GetBuffersWithFormat ::+                                                   [AttachFormat]}+                          deriving (Show, Typeable)+ +instance ExtensionRequest GetBuffersWithFormat where+        extensionId _ = "DRI2"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 7+               let size__+                     = 4 + size (drawable_GetBuffersWithFormat x) ++                         size (count_GetBuffersWithFormat x)+                         + sum (map size (attachments_GetBuffersWithFormat x))+               serialize (convertBytesToRequestSize size__ :: Int16)+               serialize (drawable_GetBuffersWithFormat x)+               serialize (count_GetBuffersWithFormat x)+               serializeList (attachments_GetBuffersWithFormat x)+               putSkip (requiredPadding size__)+ +data GetBuffersWithFormatReply = MkGetBuffersWithFormatReply{width_GetBuffersWithFormatReply+                                                             :: Word32,+                                                             height_GetBuffersWithFormatReply ::+                                                             Word32,+                                                             count_GetBuffersWithFormatReply ::+                                                             Word32,+                                                             buffers_GetBuffersWithFormatReply ::+                                                             [DRI2Buffer]}+                               deriving (Show, Typeable)+ +instance Deserialize GetBuffersWithFormatReply where+        deserialize+          = do skip 1+               skip 1+               skip 2+               length <- deserialize+               width <- deserialize+               height <- deserialize+               count <- deserialize+               skip 12+               buffers <- deserializeList (fromIntegral count)+               let _ = isCard32 length+               return (MkGetBuffersWithFormatReply width height count buffers)
patched/Graphics/XHB/Gen/Extension.hs view
@@ -6,6 +6,7 @@ import qualified Graphics.XHB.Gen.Composite.Types import qualified Graphics.XHB.Gen.Damage.Types import qualified Graphics.XHB.Gen.DPMS.Types+import qualified Graphics.XHB.Gen.DRI2.Types import qualified Graphics.XHB.Gen.Glx.Types import qualified Graphics.XHB.Gen.RandR.Types import qualified Graphics.XHB.Gen.Record.Types@@ -35,6 +36,7 @@ errorDispatch "DAMAGE"   = Graphics.XHB.Gen.Damage.Types.deserializeError errorDispatch "DPMS" = Graphics.XHB.Gen.DPMS.Types.deserializeError+errorDispatch "DRI2" = Graphics.XHB.Gen.DRI2.Types.deserializeError errorDispatch "GLX" = Graphics.XHB.Gen.Glx.Types.deserializeError errorDispatch "RANDR"   = Graphics.XHB.Gen.RandR.Types.deserializeError@@ -82,6 +84,7 @@ eventDispatch "DAMAGE"   = Graphics.XHB.Gen.Damage.Types.deserializeEvent eventDispatch "DPMS" = Graphics.XHB.Gen.DPMS.Types.deserializeEvent+eventDispatch "DRI2" = Graphics.XHB.Gen.DRI2.Types.deserializeEvent eventDispatch "GLX" = Graphics.XHB.Gen.Glx.Types.deserializeEvent eventDispatch "RANDR"   = Graphics.XHB.Gen.RandR.Types.deserializeEvent
patched/Graphics/XHB/Gen/Render/Types.hs view
@@ -114,30 +114,30 @@         toValue PictOpXor{} = 11         toValue PictOpAdd{} = 12         toValue PictOpSaturate{} = 13-        toValue PictOpDisjointClear{} = 14-        toValue PictOpDisjointSrc{} = 15-        toValue PictOpDisjointDst{} = 16-        toValue PictOpDisjointOver{} = 17-        toValue PictOpDisjointOverReverse{} = 18-        toValue PictOpDisjointIn{} = 19-        toValue PictOpDisjointInReverse{} = 20-        toValue PictOpDisjointOut{} = 21-        toValue PictOpDisjointOutReverse{} = 22-        toValue PictOpDisjointAtop{} = 23-        toValue PictOpDisjointAtopReverse{} = 24-        toValue PictOpDisjointXor{} = 25-        toValue PictOpConjointClear{} = 26-        toValue PictOpConjointSrc{} = 27-        toValue PictOpConjointDst{} = 28-        toValue PictOpConjointOver{} = 29-        toValue PictOpConjointOverReverse{} = 30-        toValue PictOpConjointIn{} = 31-        toValue PictOpConjointInReverse{} = 32-        toValue PictOpConjointOut{} = 33-        toValue PictOpConjointOutReverse{} = 34-        toValue PictOpConjointAtop{} = 35-        toValue PictOpConjointAtopReverse{} = 36-        toValue PictOpConjointXor{} = 37+        toValue PictOpDisjointClear{} = 16+        toValue PictOpDisjointSrc{} = 17+        toValue PictOpDisjointDst{} = 18+        toValue PictOpDisjointOver{} = 19+        toValue PictOpDisjointOverReverse{} = 20+        toValue PictOpDisjointIn{} = 21+        toValue PictOpDisjointInReverse{} = 22+        toValue PictOpDisjointOut{} = 23+        toValue PictOpDisjointOutReverse{} = 24+        toValue PictOpDisjointAtop{} = 25+        toValue PictOpDisjointAtopReverse{} = 26+        toValue PictOpDisjointXor{} = 27+        toValue PictOpConjointClear{} = 32+        toValue PictOpConjointSrc{} = 33+        toValue PictOpConjointDst{} = 34+        toValue PictOpConjointOver{} = 35+        toValue PictOpConjointOverReverse{} = 36+        toValue PictOpConjointIn{} = 37+        toValue PictOpConjointInReverse{} = 38+        toValue PictOpConjointOut{} = 39+        toValue PictOpConjointOutReverse{} = 40+        toValue PictOpConjointAtop{} = 41+        toValue PictOpConjointAtopReverse{} = 42+        toValue PictOpConjointXor{} = 43         fromValue 0 = PictOpClear         fromValue 1 = PictOpSrc         fromValue 2 = PictOpDst@@ -152,30 +152,30 @@         fromValue 11 = PictOpXor         fromValue 12 = PictOpAdd         fromValue 13 = PictOpSaturate-        fromValue 14 = PictOpDisjointClear-        fromValue 15 = PictOpDisjointSrc-        fromValue 16 = PictOpDisjointDst-        fromValue 17 = PictOpDisjointOver-        fromValue 18 = PictOpDisjointOverReverse-        fromValue 19 = PictOpDisjointIn-        fromValue 20 = PictOpDisjointInReverse-        fromValue 21 = PictOpDisjointOut-        fromValue 22 = PictOpDisjointOutReverse-        fromValue 23 = PictOpDisjointAtop-        fromValue 24 = PictOpDisjointAtopReverse-        fromValue 25 = PictOpDisjointXor-        fromValue 26 = PictOpConjointClear-        fromValue 27 = PictOpConjointSrc-        fromValue 28 = PictOpConjointDst-        fromValue 29 = PictOpConjointOver-        fromValue 30 = PictOpConjointOverReverse-        fromValue 31 = PictOpConjointIn-        fromValue 32 = PictOpConjointInReverse-        fromValue 33 = PictOpConjointOut-        fromValue 34 = PictOpConjointOutReverse-        fromValue 35 = PictOpConjointAtop-        fromValue 36 = PictOpConjointAtopReverse-        fromValue 37 = PictOpConjointXor+        fromValue 16 = PictOpDisjointClear+        fromValue 17 = PictOpDisjointSrc+        fromValue 18 = PictOpDisjointDst+        fromValue 19 = PictOpDisjointOver+        fromValue 20 = PictOpDisjointOverReverse+        fromValue 21 = PictOpDisjointIn+        fromValue 22 = PictOpDisjointInReverse+        fromValue 23 = PictOpDisjointOut+        fromValue 24 = PictOpDisjointOutReverse+        fromValue 25 = PictOpDisjointAtop+        fromValue 26 = PictOpDisjointAtopReverse+        fromValue 27 = PictOpDisjointXor+        fromValue 32 = PictOpConjointClear+        fromValue 33 = PictOpConjointSrc+        fromValue 34 = PictOpConjointDst+        fromValue 35 = PictOpConjointOver+        fromValue 36 = PictOpConjointOverReverse+        fromValue 37 = PictOpConjointIn+        fromValue 38 = PictOpConjointInReverse+        fromValue 39 = PictOpConjointOut+        fromValue 40 = PictOpConjointOutReverse+        fromValue 41 = PictOpConjointAtop+        fromValue 42 = PictOpConjointAtopReverse+        fromValue 43 = PictOpConjointXor   data PolyEdge = PolyEdgeSharp               | PolyEdgeSmooth
patched/Graphics/XHB/Gen/Shape/Types.hs view
@@ -372,6 +372,7 @@                skip 2                length <- deserialize                rectangles_len <- deserialize+               skip 20                rectangles <- deserializeList (fromIntegral rectangles_len)                let _ = isCard32 length                return (MkGetRectanglesReply ordering rectangles_len rectangles)
patched/Graphics/XHB/Gen/XF86Dri/Types.hs view
@@ -128,10 +128,8 @@                serialize (screen_OpenConnection x)                putSkip (requiredPadding size__)  -data OpenConnectionReply = MkOpenConnectionReply{drm_client_key_low_OpenConnectionReply+data OpenConnectionReply = MkOpenConnectionReply{sarea_handle_low_OpenConnectionReply                                                  :: Word32,-                                                 drm_client_key_high_OpenConnectionReply :: Word32,-                                                 sarea_handle_low_OpenConnectionReply :: Word32,                                                  sarea_handle_high_OpenConnectionReply :: Word32,                                                  bus_id_len_OpenConnectionReply :: Word32,                                                  bus_id_OpenConnectionReply :: [CChar]}@@ -143,8 +141,6 @@                skip 1                skip 2                length <- deserialize-               drm_client_key_low <- deserialize-               drm_client_key_high <- deserialize                sarea_handle_low <- deserialize                sarea_handle_high <- deserialize                bus_id_len <- deserialize@@ -152,9 +148,7 @@                bus_id <- deserializeList (fromIntegral bus_id_len)                let _ = isCard32 length                return-                 (MkOpenConnectionReply drm_client_key_low drm_client_key_high-                    sarea_handle_low-                    sarea_handle_high+                 (MkOpenConnectionReply sarea_handle_low sarea_handle_high                     bus_id_len                     bus_id)  @@ -219,9 +213,9 @@                     client_driver_name_len                     client_driver_name)  -data CreateContext = MkCreateContext{visual_CreateContext ::+data CreateContext = MkCreateContext{screen_CreateContext ::                                      Word32,-                                     screen_CreateContext :: Word32,+                                     visual_CreateContext :: Word32,                                      context_CreateContext :: Word32}                    deriving (Show, Typeable)  @@ -231,11 +225,11 @@           = do putWord8 extOpCode                putWord8 5                let size__-                     = 4 + size (visual_CreateContext x) + size (screen_CreateContext x)+                     = 4 + size (screen_CreateContext x) + size (visual_CreateContext x)                          + size (context_CreateContext x)                serialize (convertBytesToRequestSize size__ :: Int16)-               serialize (visual_CreateContext x)                serialize (screen_CreateContext x)+               serialize (visual_CreateContext x)                serialize (context_CreateContext x)                putSkip (requiredPadding size__)  
patched/Graphics/XHB/Gen/XFixes/Types.hs view
@@ -612,7 +612,8 @@                length <- deserialize                extents <- deserialize                skip 16-               rectangles <- deserializeList (fromIntegral length)+               rectangles <- deserializeList+                               (fromIntegral (fromIntegral (length `div` 2)))                let _ = isCard32 length                return (MkFetchRegionReply extents rectangles)  
patched/Graphics/XHB/Gen/XPrint.hs view
@@ -1,9 +1,10 @@ module Graphics.XHB.Gen.XPrint-       (extension, printQueryVersion, printGetPrinterList, createContext,-        printSetContext, printGetContext, printDestroyContext,-        printGetScreenOfContext, printStartJob, printEndJob, printStartDoc,-        printEndDoc, printPutDocumentData, printGetDocumentData,-        printStartPage, printEndPage, printSelectInput, printInputSelected,+       (extension, printQueryVersion, printGetPrinterList,+        printRehashPrinterList, 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)@@ -46,6 +47,14 @@        let chunk = runPut putAction        sendRequestWithReply c chunk rReceipt        return receipt+ +printRehashPrinterList ::+                         Graphics.XHB.Connection.Types.Connection -> IO ()+printRehashPrinterList c+  = do let req = MkPrintRehashPrinterList+       putAction <- serializeExtensionRequest c req+       let chunk = runPut putAction+       sendRequest c chunk   createContext ::                 Graphics.XHB.Connection.Types.Connection -> CreateContext -> IO ()
patched/Graphics/XHB/Gen/XPrint/Types.hs view
@@ -3,22 +3,22 @@         PCONTEXT, GetDoc(..), EvMask(..), Detail(..), Attr(..),         PrintQueryVersion(..), PrintQueryVersionReply(..),         PrintGetPrinterList(..), PrintGetPrinterListReply(..),-        CreateContext(..), PrintSetContext(..), PrintGetContext(..),-        PrintGetContextReply(..), PrintDestroyContext(..),-        PrintGetScreenOfContext(..), PrintGetScreenOfContextReply(..),-        PrintStartJob(..), PrintEndJob(..), PrintStartDoc(..),-        PrintEndDoc(..), PrintPutDocumentData(..),-        PrintGetDocumentData(..), PrintGetDocumentDataReply(..),-        PrintStartPage(..), PrintEndPage(..), PrintSelectInput(..),-        PrintInputSelected(..), PrintInputSelectedReply(..),-        PrintGetAttributes(..), PrintGetAttributesReply(..),-        PrintGetOneAttributes(..), PrintGetOneAttributesReply(..),-        PrintSetAttributes(..), PrintGetPageDimensions(..),-        PrintGetPageDimensionsReply(..), PrintQueryScreens(..),-        PrintQueryScreensReply(..), PrintSetImageResolution(..),-        PrintSetImageResolutionReply(..), PrintGetImageResolution(..),-        PrintGetImageResolutionReply(..), NotifyEvent(..),-        AttributNotifyEvent(..))+        PrintRehashPrinterList(..), CreateContext(..), PrintSetContext(..),+        PrintGetContext(..), PrintGetContextReply(..),+        PrintDestroyContext(..), PrintGetScreenOfContext(..),+        PrintGetScreenOfContextReply(..), PrintStartJob(..),+        PrintEndJob(..), PrintStartDoc(..), PrintEndDoc(..),+        PrintPutDocumentData(..), PrintGetDocumentData(..),+        PrintGetDocumentDataReply(..), PrintStartPage(..),+        PrintEndPage(..), PrintSelectInput(..), PrintInputSelected(..),+        PrintInputSelectedReply(..), PrintGetAttributes(..),+        PrintGetAttributesReply(..), PrintGetOneAttributes(..),+        PrintGetOneAttributesReply(..), PrintSetAttributes(..),+        PrintGetPageDimensions(..), PrintGetPageDimensionsReply(..),+        PrintQueryScreens(..), PrintQueryScreensReply(..),+        PrintSetImageResolution(..), PrintSetImageResolutionReply(..),+        PrintGetImageResolution(..), PrintGetImageResolutionReply(..),+        NotifyEvent(..), AttributNotifyEvent(..))        where import Data.Word import Data.Int@@ -212,6 +212,18 @@                printers <- deserializeList (fromIntegral listCount)                let _ = isCard32 length                return (MkPrintGetPrinterListReply listCount printers)+ +data PrintRehashPrinterList = MkPrintRehashPrinterList{}+                            deriving (Show, Typeable)+ +instance ExtensionRequest PrintRehashPrinterList where+        extensionId _ = "XpExtension"+        serializeRequest x extOpCode+          = do putWord8 extOpCode+               putWord8 20+               let size__ = 4+               serialize (convertBytesToRequestSize size__ :: Int16)+               putSkip (requiredPadding size__)   data CreateContext = MkCreateContext{context_id_CreateContext ::                                      Word32,
patched/Graphics/XHB/Gen/Xproto.hs view
@@ -7,27 +7,28 @@         getProperty, listProperties, setSelectionOwner, getSelectionOwner,         convertSelection, sendEvent, grabPointer, ungrabPointer,         grabButton, ungrabButton, changeActivePointerGrab, grabKeyboard,-        ungrabKeyboard, grabKey, ungrabKey, allowEvents, queryPointer,-        getMotionEvents, translateCoordinates, warpPointer, setInputFocus,-        getInputFocus, queryKeymap, openFont, closeFont, queryFont,-        queryTextExtents, listFonts, listFontsWithInfo, setFontPath,-        getFontPath, createPixmap, freePixmap, createGC, changeGC, copyGC,-        setDashes, setClipRectangles, freeGC, clearArea, copyArea,-        copyPlane, polyPoint, polyLine, polySegment, polyRectangle,-        polyArc, fillPoly, polyFillRectangle, polyFillArc, putImage,-        getImage, polyText8, polyText16, imageText8, imageText16,-        createColormap, freeColormap, copyColormapAndFree, installColormap,-        uninstallColormap, listInstalledColormaps, allocColor,-        allocNamedColor, allocColorCells, allocColorPlanes, freeColors,-        storeColors, storeNamedColor, queryColors, lookupColor,-        createCursor, createGlyphCursor, freeCursor, recolorCursor,-        queryBestSize, queryExtension, listExtensions,-        changeKeyboardMapping, getKeyboardMapping, changeKeyboardControl,-        getKeyboardControl, bell, changePointerControl, getPointerControl,-        setScreenSaver, getScreenSaver, changeHosts, listHosts,-        setAccessControl, setCloseDownMode, killClient, rotateProperties,-        forceScreenSaver, setPointerMapping, getPointerMapping,-        setModifierMapping, getModifierMapping,+        ungrabKeyboard, grabKey, ungrabKey, allowEvents, grabServer,+        ungrabServer, queryPointer, getMotionEvents, translateCoordinates,+        warpPointer, setInputFocus, getInputFocus, queryKeymap, openFont,+        closeFont, queryFont, queryTextExtents, listFonts,+        listFontsWithInfo, setFontPath, getFontPath, createPixmap,+        freePixmap, createGC, changeGC, copyGC, setDashes,+        setClipRectangles, freeGC, clearArea, copyArea, copyPlane,+        polyPoint, polyLine, polySegment, polyRectangle, polyArc, fillPoly,+        polyFillRectangle, polyFillArc, putImage, getImage, polyText8,+        polyText16, imageText8, imageText16, createColormap, freeColormap,+        copyColormapAndFree, installColormap, uninstallColormap,+        listInstalledColormaps, allocColor, allocNamedColor,+        allocColorCells, allocColorPlanes, freeColors, storeColors,+        storeNamedColor, queryColors, lookupColor, createCursor,+        createGlyphCursor, freeCursor, recolorCursor, queryBestSize,+        queryExtension, listExtensions, changeKeyboardMapping,+        getKeyboardMapping, changeKeyboardControl, getKeyboardControl,+        bell, changePointerControl, getPointerControl, setScreenSaver,+        getScreenSaver, changeHosts, listHosts, setAccessControl,+        setCloseDownMode, killClient, rotateProperties, forceScreenSaver,+        setPointerMapping, getPointerMapping, setModifierMapping,+        getModifierMapping, noOperation,         module Graphics.XHB.Gen.Xproto.Types)        where import Graphics.XHB.Gen.Xproto.Types@@ -123,10 +124,9 @@   configureWindow ::                   Graphics.XHB.Connection.Types.Connection ->-                    WINDOW -> ValueParam Word16 -> IO ()-configureWindow c window value-  = do let req = MkConfigureWindow window value-       let chunk = runPut (serialize req)+                    ConfigureWindow -> IO ()+configureWindow c req+  = do let chunk = runPut (serialize req)        sendRequest c chunk   circulateWindow ::@@ -313,6 +313,18 @@        let chunk = runPut (serialize req)        sendRequest c chunk  +grabServer :: Graphics.XHB.Connection.Types.Connection -> IO ()+grabServer c+  = do let req = MkGrabServer+       let chunk = runPut (serialize req)+       sendRequest c chunk+ +ungrabServer :: Graphics.XHB.Connection.Types.Connection -> IO ()+ungrabServer c+  = do let req = MkUngrabServer+       let chunk = runPut (serialize req)+       sendRequest c chunk+  queryPointer ::                Graphics.XHB.Connection.Types.Connection ->                  WINDOW -> IO (Receipt QueryPointerReply)@@ -943,3 +955,9 @@        let chunk = runPut (serialize req)        sendRequestWithReply c chunk rReceipt        return receipt+ +noOperation :: Graphics.XHB.Connection.Types.Connection -> IO ()+noOperation c+  = do let req = MkNoOperation+       let chunk = runPut (serialize req)+       sendRequest c chunk
patched/Graphics/XHB/Gen/Xproto/Types.hs view
@@ -47,16 +47,17 @@         UngrabPointer(..), ButtonIndex(..), GrabButton(..),         UngrabButton(..), ChangeActivePointerGrab(..), GrabKeyboard(..),         GrabKeyboardReply(..), UngrabKeyboard(..), Grab(..), GrabKey(..),-        UngrabKey(..), Allow(..), AllowEvents(..), QueryPointer(..),-        QueryPointerReply(..), TIMECOORD(..), GetMotionEvents(..),-        GetMotionEventsReply(..), TranslateCoordinates(..),-        TranslateCoordinatesReply(..), WarpPointer(..), InputFocus(..),-        SetInputFocus(..), GetInputFocus(..), GetInputFocusReply(..),-        QueryKeymap(..), QueryKeymapReply(..), OpenFont(..), CloseFont(..),-        FontDraw(..), FONTPROP(..), CHARINFO(..), QueryFont(..),-        QueryFontReply(..), odd_length_QueryTextExtents,-        QueryTextExtents(..), QueryTextExtentsReply(..), STR(..),-        ListFonts(..), ListFontsReply(..), ListFontsWithInfo(..),+        UngrabKey(..), Allow(..), AllowEvents(..), GrabServer(..),+        UngrabServer(..), QueryPointer(..), QueryPointerReply(..),+        TIMECOORD(..), GetMotionEvents(..), GetMotionEventsReply(..),+        TranslateCoordinates(..), TranslateCoordinatesReply(..),+        WarpPointer(..), InputFocus(..), SetInputFocus(..),+        GetInputFocus(..), GetInputFocusReply(..), QueryKeymap(..),+        QueryKeymapReply(..), OpenFont(..), CloseFont(..), FontDraw(..),+        FONTPROP(..), CHARINFO(..), QueryFont(..), QueryFontReply(..),+        odd_length_QueryTextExtents, QueryTextExtents(..),+        QueryTextExtentsReply(..), STR(..), ListFonts(..),+        ListFontsReply(..), ListFontsWithInfo(..),         ListFontsWithInfoReply(..), SetFontPath(..), GetFontPath(..),         GetFontPathReply(..), CreatePixmap(..), FreePixmap(..), GC(..),         GX(..), LineStyle(..), CapStyle(..), JoinStyle(..), FillStyle(..),@@ -96,7 +97,7 @@         SetPointerMappingReply(..), GetPointerMapping(..),         GetPointerMappingReply(..), MapIndex(..), SetModifierMapping(..),         SetModifierMappingReply(..), GetModifierMapping(..),-        GetModifierMappingReply(..))+        GetModifierMappingReply(..), NoOperation(..))        where import Data.Word import Data.Int@@ -1832,11 +1833,218 @@         fromValue 0 = TimeCurrentTime   data Atom = AtomNone+          | AtomAny+          | AtomPRIMARY+          | AtomSECONDARY+          | AtomARC+          | AtomATOM+          | AtomBITMAP+          | AtomCARDINAL+          | AtomCOLORMAP+          | AtomCURSOR+          | AtomCUT_BUFFER0+          | AtomCUT_BUFFER1+          | AtomCUT_BUFFER2+          | AtomCUT_BUFFER3+          | AtomCUT_BUFFER4+          | AtomCUT_BUFFER5+          | AtomCUT_BUFFER6+          | AtomCUT_BUFFER7+          | AtomDRAWABLE+          | AtomFONT+          | AtomINTEGER+          | AtomPIXMAP+          | AtomPOINT+          | AtomRECTANGLE+          | AtomRESOURCE_MANAGER+          | AtomRGB_COLOR_MAP+          | AtomRGB_BEST_MAP+          | AtomRGB_BLUE_MAP+          | AtomRGB_DEFAULT_MAP+          | AtomRGB_GRAY_MAP+          | AtomRGB_GREEN_MAP+          | AtomRGB_RED_MAP+          | AtomSTRING+          | AtomVISUALID+          | AtomWINDOW+          | AtomWM_COMMAND+          | AtomWM_HINTS+          | AtomWM_CLIENT_MACHINE+          | AtomWM_ICON_NAME+          | AtomWM_ICON_SIZE+          | AtomWM_NAME+          | AtomWM_NORMAL_HINTS+          | AtomWM_SIZE_HINTS+          | AtomWM_ZOOM_HINTS+          | AtomMIN_SPACE+          | AtomNORM_SPACE+          | AtomMAX_SPACE+          | AtomEND_SPACE+          | AtomSUPERSCRIPT_X+          | AtomSUPERSCRIPT_Y+          | AtomSUBSCRIPT_X+          | AtomSUBSCRIPT_Y+          | AtomUNDERLINE_POSITION+          | AtomUNDERLINE_THICKNESS+          | AtomSTRIKEOUT_ASCENT+          | AtomSTRIKEOUT_DESCENT+          | AtomITALIC_ANGLE+          | AtomX_HEIGHT+          | AtomQUAD_WIDTH+          | AtomWEIGHT+          | AtomPOINT_SIZE+          | AtomRESOLUTION+          | AtomCOPYRIGHT+          | AtomNOTICE+          | AtomFONT_NAME+          | AtomFAMILY_NAME+          | AtomFULL_NAME+          | AtomCAP_HEIGHT+          | AtomWM_CLASS+          | AtomWM_TRANSIENT_FOR           deriving Show   instance SimpleEnum Atom where         toValue AtomNone{} = 0+        toValue AtomAny{} = 0+        toValue AtomPRIMARY{} = 1+        toValue AtomSECONDARY{} = 2+        toValue AtomARC{} = 3+        toValue AtomATOM{} = 4+        toValue AtomBITMAP{} = 5+        toValue AtomCARDINAL{} = 6+        toValue AtomCOLORMAP{} = 7+        toValue AtomCURSOR{} = 8+        toValue AtomCUT_BUFFER0{} = 9+        toValue AtomCUT_BUFFER1{} = 10+        toValue AtomCUT_BUFFER2{} = 11+        toValue AtomCUT_BUFFER3{} = 12+        toValue AtomCUT_BUFFER4{} = 13+        toValue AtomCUT_BUFFER5{} = 14+        toValue AtomCUT_BUFFER6{} = 15+        toValue AtomCUT_BUFFER7{} = 16+        toValue AtomDRAWABLE{} = 17+        toValue AtomFONT{} = 18+        toValue AtomINTEGER{} = 19+        toValue AtomPIXMAP{} = 20+        toValue AtomPOINT{} = 21+        toValue AtomRECTANGLE{} = 22+        toValue AtomRESOURCE_MANAGER{} = 23+        toValue AtomRGB_COLOR_MAP{} = 24+        toValue AtomRGB_BEST_MAP{} = 25+        toValue AtomRGB_BLUE_MAP{} = 26+        toValue AtomRGB_DEFAULT_MAP{} = 27+        toValue AtomRGB_GRAY_MAP{} = 28+        toValue AtomRGB_GREEN_MAP{} = 29+        toValue AtomRGB_RED_MAP{} = 30+        toValue AtomSTRING{} = 31+        toValue AtomVISUALID{} = 32+        toValue AtomWINDOW{} = 33+        toValue AtomWM_COMMAND{} = 34+        toValue AtomWM_HINTS{} = 35+        toValue AtomWM_CLIENT_MACHINE{} = 36+        toValue AtomWM_ICON_NAME{} = 37+        toValue AtomWM_ICON_SIZE{} = 38+        toValue AtomWM_NAME{} = 39+        toValue AtomWM_NORMAL_HINTS{} = 40+        toValue AtomWM_SIZE_HINTS{} = 41+        toValue AtomWM_ZOOM_HINTS{} = 42+        toValue AtomMIN_SPACE{} = 43+        toValue AtomNORM_SPACE{} = 44+        toValue AtomMAX_SPACE{} = 45+        toValue AtomEND_SPACE{} = 46+        toValue AtomSUPERSCRIPT_X{} = 47+        toValue AtomSUPERSCRIPT_Y{} = 48+        toValue AtomSUBSCRIPT_X{} = 49+        toValue AtomSUBSCRIPT_Y{} = 50+        toValue AtomUNDERLINE_POSITION{} = 51+        toValue AtomUNDERLINE_THICKNESS{} = 52+        toValue AtomSTRIKEOUT_ASCENT{} = 53+        toValue AtomSTRIKEOUT_DESCENT{} = 54+        toValue AtomITALIC_ANGLE{} = 55+        toValue AtomX_HEIGHT{} = 56+        toValue AtomQUAD_WIDTH{} = 57+        toValue AtomWEIGHT{} = 58+        toValue AtomPOINT_SIZE{} = 59+        toValue AtomRESOLUTION{} = 60+        toValue AtomCOPYRIGHT{} = 61+        toValue AtomNOTICE{} = 62+        toValue AtomFONT_NAME{} = 63+        toValue AtomFAMILY_NAME{} = 64+        toValue AtomFULL_NAME{} = 65+        toValue AtomCAP_HEIGHT{} = 66+        toValue AtomWM_CLASS{} = 67+        toValue AtomWM_TRANSIENT_FOR{} = 68         fromValue 0 = AtomNone+        fromValue 0 = AtomAny+        fromValue 1 = AtomPRIMARY+        fromValue 2 = AtomSECONDARY+        fromValue 3 = AtomARC+        fromValue 4 = AtomATOM+        fromValue 5 = AtomBITMAP+        fromValue 6 = AtomCARDINAL+        fromValue 7 = AtomCOLORMAP+        fromValue 8 = AtomCURSOR+        fromValue 9 = AtomCUT_BUFFER0+        fromValue 10 = AtomCUT_BUFFER1+        fromValue 11 = AtomCUT_BUFFER2+        fromValue 12 = AtomCUT_BUFFER3+        fromValue 13 = AtomCUT_BUFFER4+        fromValue 14 = AtomCUT_BUFFER5+        fromValue 15 = AtomCUT_BUFFER6+        fromValue 16 = AtomCUT_BUFFER7+        fromValue 17 = AtomDRAWABLE+        fromValue 18 = AtomFONT+        fromValue 19 = AtomINTEGER+        fromValue 20 = AtomPIXMAP+        fromValue 21 = AtomPOINT+        fromValue 22 = AtomRECTANGLE+        fromValue 23 = AtomRESOURCE_MANAGER+        fromValue 24 = AtomRGB_COLOR_MAP+        fromValue 25 = AtomRGB_BEST_MAP+        fromValue 26 = AtomRGB_BLUE_MAP+        fromValue 27 = AtomRGB_DEFAULT_MAP+        fromValue 28 = AtomRGB_GRAY_MAP+        fromValue 29 = AtomRGB_GREEN_MAP+        fromValue 30 = AtomRGB_RED_MAP+        fromValue 31 = AtomSTRING+        fromValue 32 = AtomVISUALID+        fromValue 33 = AtomWINDOW+        fromValue 34 = AtomWM_COMMAND+        fromValue 35 = AtomWM_HINTS+        fromValue 36 = AtomWM_CLIENT_MACHINE+        fromValue 37 = AtomWM_ICON_NAME+        fromValue 38 = AtomWM_ICON_SIZE+        fromValue 39 = AtomWM_NAME+        fromValue 40 = AtomWM_NORMAL_HINTS+        fromValue 41 = AtomWM_SIZE_HINTS+        fromValue 42 = AtomWM_ZOOM_HINTS+        fromValue 43 = AtomMIN_SPACE+        fromValue 44 = AtomNORM_SPACE+        fromValue 45 = AtomMAX_SPACE+        fromValue 46 = AtomEND_SPACE+        fromValue 47 = AtomSUPERSCRIPT_X+        fromValue 48 = AtomSUPERSCRIPT_Y+        fromValue 49 = AtomSUBSCRIPT_X+        fromValue 50 = AtomSUBSCRIPT_Y+        fromValue 51 = AtomUNDERLINE_POSITION+        fromValue 52 = AtomUNDERLINE_THICKNESS+        fromValue 53 = AtomSTRIKEOUT_ASCENT+        fromValue 54 = AtomSTRIKEOUT_DESCENT+        fromValue 55 = AtomITALIC_ANGLE+        fromValue 56 = AtomX_HEIGHT+        fromValue 57 = AtomQUAD_WIDTH+        fromValue 58 = AtomWEIGHT+        fromValue 59 = AtomPOINT_SIZE+        fromValue 60 = AtomRESOLUTION+        fromValue 61 = AtomCOPYRIGHT+        fromValue 62 = AtomNOTICE+        fromValue 63 = AtomFONT_NAME+        fromValue 64 = AtomFAMILY_NAME+        fromValue 65 = AtomFULL_NAME+        fromValue 66 = AtomCAP_HEIGHT+        fromValue 67 = AtomWM_CLASS+        fromValue 68 = AtomWM_TRANSIENT_FOR   data SelectionRequestEvent = MkSelectionRequestEvent{time_SelectionRequestEvent                                                      :: TIMESTAMP,@@ -2681,6 +2889,7 @@   data ConfigureWindow = MkConfigureWindow{window_ConfigureWindow ::                                          WINDOW,+                                         value_mask_ConfigureWindow :: Word16,                                          value_ConfigureWindow :: ValueParam Word16}                      deriving (Show, Typeable)  @@ -2690,11 +2899,15 @@                putSkip 1                serialize (convertBytesToRequestSize (size x) :: Int16)                serialize (window_ConfigureWindow x)-               serializeValueParam 2 (value_ConfigureWindow x)+               serialize (value_mask_ConfigureWindow x)+               putSkip 2+               serialize (value_ConfigureWindow x)                putSkip (requiredPadding (size x))         size x           = 3 + 1 + size (window_ConfigureWindow x) +-              (size (value_ConfigureWindow x) + 2)+              size (value_mask_ConfigureWindow x)+              + 2+              + size (value_ConfigureWindow x)   data Circulate = CirculateRaiseLowest                | CirculateLowerHighest@@ -3444,6 +3657,28 @@                putSkip (requiredPadding (size x))         size x = 3 + size (undefined :: Word8) + size (time_AllowEvents x)  +data GrabServer = MkGrabServer{}+                deriving (Show, Typeable)+ +instance Serialize GrabServer where+        serialize x+          = do putWord8 36+               putSkip 1+               serialize (convertBytesToRequestSize (size x) :: Int16)+               putSkip (requiredPadding (size x))+        size x = 4+ +data UngrabServer = MkUngrabServer{}+                  deriving (Show, Typeable)+ +instance Serialize UngrabServer where+        serialize x+          = do putWord8 37+               putSkip 1+               serialize (convertBytesToRequestSize (size x) :: Int16)+               putSkip (requiredPadding (size x))+        size x = 4+  data QueryPointer = MkQueryPointer{window_QueryPointer :: WINDOW}                   deriving (Show, Typeable)  @@ -6407,3 +6642,14 @@                              (fromIntegral (fromIntegral (keycodes_per_modifier * 8)))                let _ = isCard32 length                return (MkGetModifierMappingReply keycodes_per_modifier keycodes)+ +data NoOperation = MkNoOperation{}+                 deriving (Show, Typeable)+ +instance Serialize NoOperation where+        serialize x+          = do putWord8 127+               putSkip 1+               serialize (convertBytesToRequestSize (size x) :: Int16)+               putSkip (requiredPadding (size x))+        size x = 4
xhb.cabal view
@@ -1,5 +1,5 @@ Name:         xhb-Version:      0.4.2010.12.26+Version:      0.5.2011.10.21 Cabal-Version:  >= 1.2.3 Synopsis:     X Haskell Bindings Description:@@ -7,9 +7,9 @@   .   Similar to XCB - the X C Bindings.   .-  This library is based on version 1.5 of the xcb-proto-  package.  See http://xcb.freedesktop.org/XmlXcb/ and-  http://xcb.freedesktop.org/dist/ .+  This library is based on version 1.6 of the xcb-proto+  package.  See http:\/\/xcb.freedesktop.org\/XmlXcb\/ and+  http:\/\/xcb.freedesktop.org\/dist\/ .  License:      BSD3 License-file: LICENSE@@ -40,6 +40,7 @@    Graphics.XHB.Gen.Composite,    Graphics.XHB.Gen.Damage,    Graphics.XHB.Gen.DPMS,+   Graphics.XHB.Gen.DRI2,    Graphics.XHB.Gen.Glx,    Graphics.XHB.Gen.RandR,    Graphics.XHB.Gen.Record,@@ -71,6 +72,7 @@    Graphics.XHB.Gen.Composite.Types,    Graphics.XHB.Gen.Damage.Types,    Graphics.XHB.Gen.DPMS.Types,+   Graphics.XHB.Gen.DRI2.Types,    Graphics.XHB.Gen.Glx.Types,    Graphics.XHB.Gen.RandR.Types,    Graphics.XHB.Gen.Record.Types,