import wx.lib.wxcairo as wxcairo from .backend_cairo import cairo, FigureCanvasCairo from .backend_wx import _BackendWx, _FigureCanvasWxBase from .backend_wx import ( # noqa: F401 # pylint: disable=W0611 NavigationToolbar2Wx as NavigationToolbar2WxCairo) class FigureCanvasWxCairo(FigureCanvasCairo, _FigureCanvasWxBase): def draw(self, drawDC=None): size = self.figure.bbox.size.astype(int) surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, *size) self._renderer.set_context(cairo.Context(surface)) self._renderer.dpi = self.figure.dpi self.figure.draw(self._renderer) self.bitmap = wxcairo.BitmapFromImageSurface(surface) self._isDrawn = True self.gui_repaint(drawDC=drawDC) @_BackendWx.export class _BackendWxCairo(_BackendWx): FigureCanvas = FigureCanvasWxCairo