--- wxPython-src-2.8.12.1/wxPython/wx/lib/wxcairo.py +++ wxPython-src-2.8.12.1/wxPython/wx/lib/wxcairo.py @@ -401,6 +401,48 @@ ctypes.py_object)), ('Check_Status', ctypes.PYFUNCTYPE(ctypes.c_int, ctypes.c_int))] + # This structure is known good with pycairo 1.10.0. The keep adding stuff + # to the middle of the structure instead of only adding to the end! + elif cairo.version_info < (1,11): + _fields_ = [ + ('Context_Type', ctypes.py_object), + ('Context_FromContext', ctypes.PYFUNCTYPE(ctypes.py_object, + ctypes.c_void_p, + ctypes.py_object, + ctypes.py_object)), + ('FontFace_Type', ctypes.py_object), + ('ToyFontFace_Type', ctypes.py_object), #** new in 1.8.4 + ('FontFace_FromFontFace', ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p)), + ('FontOptions_Type', ctypes.py_object), + ('FontOptions_FromFontOptions', ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p)), + ('Matrix_Type', ctypes.py_object), + ('Matrix_FromMatrix', ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p)), + ('Path_Type', ctypes.py_object), + ('Path_FromPath', ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p)), + ('Pattern_Type', ctypes.py_object), + ('SolidPattern_Type', ctypes.py_object), + ('SurfacePattern_Type', ctypes.py_object), + ('Gradient_Type', ctypes.py_object), + ('LinearGradient_Type', ctypes.py_object), + ('RadialGradient_Type', ctypes.py_object), + ('Pattern_FromPattern', ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p, + ctypes.py_object)), #** changed in 1.8.4 + ('ScaledFont_Type', ctypes.py_object), + ('ScaledFont_FromScaledFont', ctypes.PYFUNCTYPE(ctypes.py_object, ctypes.c_void_p)), + ('Surface_Type', ctypes.py_object), + ('ImageSurface_Type', ctypes.py_object), + ('PDFSurface_Type', ctypes.py_object), + ('PSSurface_Type', ctypes.py_object), + ('SVGSurface_Type', ctypes.py_object), + ('Win32Surface_Type', ctypes.py_object), + ('Win32PrintingSurface_Type', ctypes.py_object), + ('XCBSurface_Type', ctypes.py_object), + ('XlibSurface_Type', ctypes.py_object), + ('Surface_FromSurface', ctypes.PYFUNCTYPE(ctypes.py_object, + ctypes.c_void_p, + ctypes.py_object)), + ('Check_Status', ctypes.PYFUNCTYPE(ctypes.c_int, ctypes.c_int))] + def _loadPycairoAPI(): global pycairoAPI