Skip to content

Commit 548e08c

Browse files
committed
Deprecate cleared kwarg to get_renderer.
This makes it easier for to mock the agg backend (e.g., in mplcairo). Note that this is anyways only a shorthand for calling a method (`.clear()`) on the renderer itself, so just issuing that call is just as simple, more explicit, and can be done even when one just has access to the renderer and not to the canvas (an admittedly rather hypothetical case).
1 parent 719c6b7 commit 548e08c

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
*cleared* parameter of ``get_renderer``
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
This parameter, which only existed for agg-based backends, has been deprecated.
4+
Use ``renderer.clear()`` instead to explicitly clear the renderer buffer.

lib/matplotlib/backends/backend_agg.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,8 @@ def restore_region(self, region, bbox=None, xy=None):
427427

428428
def draw(self):
429429
# docstring inherited
430-
self.renderer = self.get_renderer(cleared=True)
430+
self.renderer = self.get_renderer()
431+
self.renderer.clear()
431432
# Acquire a lock on the shared font cache.
432433
with RendererAgg.lock, \
433434
(self.toolbar._wait_cursor_for_draw_cm() if self.toolbar
@@ -437,6 +438,7 @@ def draw(self):
437438
# don't forget to call the superclass.
438439
super().draw()
439440

441+
@_api.delete_parameter("3.6", "cleared", alternative="renderer.clear()")
440442
def get_renderer(self, cleared=False):
441443
w, h = self.figure.bbox.size
442444
key = w, h, self.figure.dpi

lib/matplotlib/backends/backend_macosx.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ def set_cursor(self, cursor):
3636
_macosx.set_cursor(cursor)
3737

3838
def _draw(self):
39-
renderer = self.get_renderer(cleared=self.figure.stale)
39+
renderer = self.get_renderer()
4040
if self.figure.stale:
41+
renderer.clear()
4142
self.figure.draw(renderer)
4243
return renderer
4344

lib/matplotlib/backends/backend_webagg_core.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ def get_diff_image(self):
255255
Image.fromarray(data).save(png, format="png")
256256
return png.getvalue()
257257

258+
@_api.delete_parameter("3.6", "cleared", alternative="renderer.clear()")
258259
def get_renderer(self, cleared=None):
259260
# Mirrors super.get_renderer, but caches the old one so that we can do
260261
# things such as produce a diff image in get_diff_image.

0 commit comments

Comments
 (0)