Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions doc/api/api_changes_3.3/deprecations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,16 @@ what the docs stated). They are deprecated; if you write a backend
which needs to customize such events, please directly override
``press_pan``/``press_zoom``/``release_pan``/``release_zoom`` instead.

FigureCanvasGTK3._renderer_init
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Overriding this method to initialize renderers for GTK3 canvases is deprecated.
Instead, the renderer should be initialized in the ``__init__`` method of the
subclass (which should call the base-class' ``__init__`` as appropriate). To
keep back-compatibility with earlier versions of Matplotlib (which *required*
``_renderer_init`` to be overridden), a fully empty implementation (``def
_renderer_init(self): pass``) may be kept and will not trigger the deprecation
warning.

Path helpers in :mod:`.bezier`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
14 changes: 13 additions & 1 deletion lib/matplotlib/backends/backend_gtk3.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,19 @@ def __init__(self, figure):

self.set_double_buffered(True)
self.set_can_focus(True)
self._renderer_init()

renderer_init = cbook._deprecate_method_override(
__class__._renderer_init, self, allow_empty=True, since="3.3",
addendum="Please initialize the renderer, if needed, in the "
"subclass' __init__; a fully empty _renderer_init implementation "
"may be kept for compatibility with earlier versions of "
"Matplotlib.")
if renderer_init:
renderer_init()

@cbook.deprecated("3.3", alternative="__init__")
def _renderer_init(self):
pass

def destroy(self):
#Gtk.DrawingArea.destroy(self)
Expand Down
3 changes: 0 additions & 3 deletions lib/matplotlib/backends/backend_gtk3agg.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ def __init__(self, figure):
backend_gtk3.FigureCanvasGTK3.__init__(self, figure)
self._bbox_queue = []

def _renderer_init(self):
pass

def _render_figure(self, width, height):
backend_agg.FigureCanvasAgg.draw(self)

Expand Down
4 changes: 2 additions & 2 deletions lib/matplotlib/backends/backend_gtk3cairo.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ def set_context(self, ctx):
class FigureCanvasGTK3Cairo(backend_gtk3.FigureCanvasGTK3,
backend_cairo.FigureCanvasCairo):

def _renderer_init(self):
"""Use cairo renderer."""
def __init__(self, figure):
super().__init__(figure)
self._renderer = RendererGTK3Cairo(self.figure.dpi)

def _render_figure(self, width, height):
Expand Down