xcffib 1.1.1 → 1.1.2
raw patch · 3 files changed
+87/−3 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- generator/Data/XCB/Python/Parse.hs +4/−2
- test/generator/xinput.xml +82/−0
- xcffib.cabal +1/−1
generator/Data/XCB/Python/Parse.hs view
@@ -484,11 +484,13 @@ mkPop :: String -> String -> Statement ()- mkPop toPop n = mkAssign n $ mkCall (mkDot toPop "pop") [mkInt 0]+ mkPop toPop n =+ let pop = mkCall (mkDot toPop "pop") [mkInt 0]+ in if null n then StmtExpr pop () else mkAssign n pop mkBasePack (Nothing, "") = [] mkBasePack (n, c) =- let n' = maybe "_" id n+ let n' = maybe "" id n in [(n', Left (Just (mkCall "struct.pack" [mkStr ('=' : c), mkName n'])))] mkPackMethod :: String
+ test/generator/xinput.xml view
@@ -0,0 +1,82 @@+<!-- a request with padding *after* a complex type -->+<enum name="DeviceClassType">+ <item name="Key"> <value>0</value> </item>+ <item name="Button"> <value>1</value> </item>+ <item name="Valuator"> <value>2</value> </item>+ <item name="Scroll"> <value>3</value> </item>+ <item name="Touch"> <value>8</value> </item>+ <item name="Gesture"> <value>9</value> </item>+</enum>++<struct name="DeviceClass">+ <length>+ <op op="*">+ <fieldref>len</fieldref>+ <value>4</value>+ </op>+ </length>+ <field type="CARD16" name="type" enum="DeviceClassType" />+ <field type="CARD16" name="len" />+ <field type="DeviceId" name="sourceid" />+ <switch name="data">+ <fieldref>type</fieldref>+ <required_start_align align="4" offset="2" />+ <case name="key">+ <enumref ref="DeviceClassType">Key</enumref>+ <required_start_align align="4" offset="2" />+ <field type="CARD16" name="num_keys" />+ <list type="CARD32" name="keys">+ <fieldref>num_keys</fieldref>+ </list>+ </case>+ <case name="button">+ <enumref ref="DeviceClassType">Button</enumref>+ <required_start_align align="4" offset="2" />+ <field type="CARD16" name="num_buttons" />+ <list type="CARD32" name="state">+ <op op="/">+ <op op="+">+ <fieldref>num_buttons</fieldref>+ <value>31</value>+ </op>+ <value>32</value>+ </op>+ </list>+ <list type="ATOM" name="labels">+ <fieldref>num_buttons</fieldref>+ </list>+ </case>+ <case name="valuator">+ <enumref ref="DeviceClassType">Valuator</enumref>+ <required_start_align align="4" offset="2" />+ <field type="CARD16" name="number" />+ <field type="ATOM" name="label" />+ <field type="FP3232" name="min" />+ <field type="FP3232" name="max" />+ <field type="FP3232" name="value" />+ <field type="CARD32" name="resolution" />+ <field type="CARD8" name="mode" enum="ValuatorMode" />+ <pad bytes="3" />+ </case>+ <case name="scroll">+ <enumref ref="DeviceClassType">Scroll</enumref>+ <required_start_align align="4" offset="2" />+ <field type="CARD16" name="number" />+ <field type="CARD16" name="scroll_type" enum="ScrollType" />+ <pad bytes="2" />+ <field type="CARD32" name="flags" mask="ScrollFlags" />+ <field type="FP3232" name="increment" />+ </case>+ <case name="touch">+ <enumref ref="DeviceClassType">Touch</enumref>+ <field type="CARD8" name="mode" enum="TouchMode" />+ <field type="CARD8" name="num_touches" />+ </case>+ <case name="gesture">+ <enumref ref="DeviceClassType">Gesture</enumref>+ <field type="CARD8" name="num_touches" />+ <pad bytes="1" />+ </case>+</switch>+</struct>+
xcffib.cabal view
@@ -1,5 +1,5 @@ name: xcffib-version: 1.1.1+version: 1.1.2 synopsis: A cffi-based python binding for X homepage: http://github.com/tych0/xcffib license: OtherLicense