Skip to content

Commit 00b6c3c

Browse files
committed
Override open_group, close_group methods in PathEffectRenderer
1 parent f007886 commit 00b6c3c

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

lib/matplotlib/patheffects.py

+6
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@ def __getattribute__(self, name):
152152
else:
153153
return object.__getattribute__(self, name)
154154

155+
def open_group(self, s, gid=None):
156+
return self._renderer.open_group(s, gid)
157+
158+
def close_group(self, s):
159+
return self._renderer.close_group(s)
160+
155161

156162
class Normal(AbstractPathEffect):
157163
"""

lib/matplotlib/tests/test_patheffects.py

+19
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import matplotlib.patheffects as path_effects
66
from matplotlib.path import Path
77
import matplotlib.patches as patches
8+
from matplotlib.backend_bases import RendererBase
9+
from matplotlib.patheffects import PathEffectRenderer
810

911

1012
@image_comparison(['patheffect1'], remove_text=True)
@@ -192,3 +194,20 @@ def test_patheffects_spaces_and_newlines():
192194
bbox={'color': 'thistle'})
193195
text1.set_path_effects([path_effects.Normal()])
194196
text2.set_path_effects([path_effects.Normal()])
197+
198+
199+
def test_patheffects_overridden_methods_open_close_group():
200+
class CustomRenderer(RendererBase):
201+
def __init__(self):
202+
super().__init__()
203+
204+
def open_group(self, s, gid=None):
205+
return "open_group overridden"
206+
207+
def close_group(self, s):
208+
return "close_group overridden"
209+
210+
renderer = PathEffectRenderer([path_effects.Normal()], CustomRenderer())
211+
212+
assert renderer.open_group('s') == "open_group overridden"
213+
assert renderer.close_group('s') == "close_group overridden"

0 commit comments

Comments
 (0)