xcffib 1.11.0 → 1.11.1
raw patch · 9 files changed
+17/−44 lines, 9 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- generator/Data/XCB/Python/Parse.hs +16/−27
- test/generator/eventstruct.py +0/−2
- test/generator/randr.py +0/−2
- test/generator/render.py +0/−2
- test/generator/request.py +0/−2
- test/generator/request_reply.py +0/−2
- test/generator/switch.py +0/−4
- test/generator/type_pad.py +0/−2
- xcffib.cabal +1/−1
generator/Data/XCB/Python/Parse.hs view
@@ -96,9 +96,8 @@ globals = [mkDict "_events", mkDict "_errors"] name = xheader_header header add = [mkAddExt header]- partsList <- mapM (processXDecl name) $ xheader_decls header- let parts = concat partsList- (requests, decls) = collectBindings parts+ parts <- mapM (processXDecl name) $ xheader_decls header+ let (requests, decls) = collectBindings parts ext = if length requests > 0 then [mkClass (name ++ "Extension") "xcffib.Extension" requests] else []@@ -675,18 +674,18 @@ processXDecl :: String -> XDecl- -> State TypeInfoMap [BindingPart]+ -> State TypeInfoMap BindingPart processXDecl ext (XTypeDef name typ) = do modify $ \m -> mkModify ext name (m M.! typ) m- return [Noop]+ return Noop processXDecl ext (XidType name) = -- http://www.markwitmer.com/guile-xcb/doc/guile-xcb/XIDs.html do modify $ mkModify ext name (BaseType "I")- return [Noop]+ return Noop processXDecl _ (XImport n) =- return [Declaration [ mkRelImport n]]+ return $ Declaration [ mkRelImport n] processXDecl _ (XEnum name membs) =- return [Declaration [mkEnum name $ xEnumElemsToPyEnum id membs]]+ return $ Declaration [mkEnum name $ xEnumElemsToPyEnum id membs] processXDecl ext (XStruct n _ membs) = do m <- get let (statements, len) = mkStructStyleUnpack "" ext m membs@@ -697,7 +696,7 @@ let rhs = Int theLen return $ mkAssign "fixed_size" rhs modify $ mkModify ext n (CompositeType ext n)- return [Declaration [mkXClass n "xcffib.Struct" False statements (pack : fixedLength ++ synthetic)]]+ return $ Declaration [mkXClass n "xcffib.Struct" False statements (pack : fixedLength ++ synthetic)] processXDecl ext (XEvent name opcode _ xge membs noSequence) = do m <- get let cname = name ++ "Event"@@ -708,9 +707,9 @@ eventsUpd = mkDictUpdate "_events" opcode cname isxge = fromMaybe False xge -- xgeexp = mkAssign "xge" (if fromMaybe False xge then (mkName "True") else (mkName "False"))- return [Declaration [ mkXClass cname "xcffib.Event" isxge statements (pack : synthetic)+ return $ Declaration [ mkXClass cname "xcffib.Event" isxge statements (pack : synthetic) , eventsUpd- ]]+ ] processXDecl ext (XError name opcode _ membs) = do m <- get let cname = name ++ "Error"@@ -719,10 +718,10 @@ (statements, _) = mkStructStyleUnpack prefix ext m membs errorsUpd = mkDictUpdate "_errors" opcode cname alias = mkAssign ("Bad" ++ name) (mkName cname)- return [Declaration [ mkXClass cname "xcffib.Error" False statements [pack]+ return $ Declaration [ mkXClass cname "xcffib.Error" False statements [pack] , alias , errorsUpd- ]]+ ] processXDecl ext (XRequest name opcode _ membs reply) = do m <- get let@@ -757,17 +756,7 @@ ++ [argChecked]) requestBody = buf ++ packStmts ++ [ret] request = mkMethod name allArgs requestBody-- -- Generate the non-default variant method- baseArgs = ("self" : (filter (not . null) args))- isCheckedDefault = isJust reply- (variantName, variantCall) =- if isCheckedDefault- then ("Unchecked", mkReturn $ mkCall ("self." ++ name) (map mkName (tail baseArgs) ++ [mkName "is_checked=False"]))- else ("Checked", mkReturn $ mkCall ("self." ++ name) (map mkName (tail baseArgs) ++ [mkName "is_checked=True"]))- variantMethod = mkMethod (name ++ variantName) baseArgs [variantCall]-- return [Request request replyDecl, Request variantMethod []]+ return $ Request request replyDecl processXDecl ext (XUnion name _ membs) = do m <- get let unpackF = structElemToPyUnpack unpackerCopy ext m@@ -783,7 +772,7 @@ pack = mkPackMethod ext name m Nothing [head membs] Nothing decl = [mkXClass name "xcffib.Union" False initMethodStmts [pack]] modify $ mkModify ext name (CompositeType ext name)- return [Declaration decl]+ return $ Declaration decl where unpackerCopy = mkCall "unpacker.copy" [] mkUnionUnpack :: (Maybe String, String)@@ -799,7 +788,7 @@ processXDecl ext (XidUnion name _) = -- These are always unions of only XIDs. do modify $ mkModify ext name (BaseType "I")- return [Noop]+ return Noop -- EventStruct basically describes a set of possible events that could be -- represented by this one member. Slated to land in 1.13, it is only used in@@ -814,7 +803,7 @@ -- again. processXDecl ext (XEventStruct name _) = do modify $ mkModify ext name (CompositeType ext name)- return [Declaration $ [mkXClass name "xcffib.Buffer" False [] []]]+ return $ Declaration $ [mkXClass name "xcffib.Buffer" False [] []] mkVersion :: XHeader -> Suite mkVersion header =
test/generator/eventstruct.py view
@@ -12,6 +12,4 @@ buf.write(xcffib.pack_list(events, EventForSend)) buf.write(xcffib.pack_list(classes, "B")) return self.send_request(31, buf, is_checked=is_checked)- def SendExtensionEventChecked(self, device_id, propagate, num_classes, num_events, events, classes):- return self.SendExtensionEvent(device_id, propagate, num_classes, num_events, events, classes, is_checked=True) xcffib._add_ext(key, eventstructExtension, _events, _errors)
test/generator/randr.py view
@@ -62,6 +62,4 @@ buf = io.BytesIO() buf.write(struct.pack("=xx2xI", crtc)) return self.send_request(27, buf, GetCrtcTransformCookie, is_checked=is_checked)- def GetCrtcTransformUnchecked(self, crtc):- return self.GetCrtcTransform(crtc, is_checked=False) xcffib._add_ext(key, randrExtension, _events, _errors)
test/generator/render.py view
@@ -57,6 +57,4 @@ buf.write(color.pack() if hasattr(color, "pack") else COLOR.synthetic(*color).pack()) buf.write(xcffib.pack_list(rects, RECTANGLE)) return self.send_request(26, buf, is_checked=is_checked)- def FillRectanglesChecked(self, op, dst, color, rects_len, rects):- return self.FillRectangles(op, dst, color, rects_len, rects, is_checked=True) xcffib._add_ext(key, renderExtension, _events, _errors)
test/generator/request.py view
@@ -10,6 +10,4 @@ buf.write(struct.pack("=I", value_mask)) buf.write(xcffib.pack_list(value_list, "I")) return self.send_request(1, buf, is_checked=is_checked)- def CreateWindowChecked(self, depth, wid, parent, x, y, width, height, border_width, _class, visual, value_mask, value_list):- return self.CreateWindow(depth, wid, parent, x, y, width, height, border_width, _class, visual, value_mask, value_list, is_checked=True) xcffib._add_ext(key, requestExtension, _events, _errors)
test/generator/request_reply.py view
@@ -41,6 +41,4 @@ buf = io.BytesIO() buf.write(struct.pack("=xx2x")) return self.send_request(99, buf, ListExtensionsCookie, is_checked=is_checked)- def ListExtensionsUnchecked(self):- return self.ListExtensions(is_checked=False) xcffib._add_ext(key, request_replyExtension, _events, _errors)
test/generator/switch.py view
@@ -78,12 +78,8 @@ events = items.pop(0) buf.write(struct.pack("=I", events)) return self.send_request(59, buf, GetPropertyCookie, is_checked=is_checked)- def GetPropertyUnchecked(self, value_mask, items):- return self.GetProperty(value_mask, items, is_checked=False) def GetPropertyWithPad(self, is_checked=True): buf = io.BytesIO() buf.write(struct.pack("=xx2x")) return self.send_request(60, buf, GetPropertyWithPadCookie, is_checked=is_checked)- def GetPropertyWithPadUnchecked(self):- return self.GetPropertyWithPad(is_checked=False) xcffib._add_ext(key, switchExtension, _events, _errors)
test/generator/type_pad.py view
@@ -73,6 +73,4 @@ buf.write(struct.pack("=xx2xxHH", max_names, pattern_len)) buf.write(xcffib.pack_list(pattern, "c")) return self.send_request(50, buf, ListFontsWithInfoCookie, is_checked=is_checked)- def ListFontsWithInfoUnchecked(self, max_names, pattern_len, pattern):- return self.ListFontsWithInfo(max_names, pattern_len, pattern, is_checked=False) xcffib._add_ext(key, type_padExtension, _events, _errors)
xcffib.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: xcffib-version: 1.11.0+version: 1.11.1 synopsis: A cffi-based python binding for X homepage: http://github.com/tych0/xcffib license: Apache-2.0