Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 6c9c44d

Browse filesBrowse files
authored
Merge pull request #23907 from anntzer/ogwe
Inherit OffsetBox.get_window_extent.
2 parents 4896ec1 + 2b50a5c commit 6c9c44d
Copy full SHA for 6c9c44d

File tree

Expand file treeCollapse file tree

1 file changed

+13
-54
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+13
-54
lines changed

‎lib/matplotlib/offsetbox.py

Copy file name to clipboardExpand all lines: lib/matplotlib/offsetbox.py
+13-54Lines changed: 13 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,12 @@ def get_window_extent(self, renderer=None):
350350
# docstring inherited
351351
if renderer is None:
352352
renderer = self.figure._get_renderer()
353-
w, h, xd, yd, offsets = self.get_extent_offsets(renderer)
354-
px, py = self.get_offset(w, h, xd, yd, renderer)
353+
w, h, xd, yd = self.get_extent(renderer)
354+
# Some subclasses redefine get_offset to take no args.
355+
try:
356+
px, py = self.get_offset(w, h, xd, yd, renderer)
357+
except TypeError:
358+
px, py = self.get_offset()
355359
return mtransforms.Bbox.from_bounds(px - xd, py - yd, w, h)
356360

357361
def draw(self, renderer):
@@ -636,15 +640,6 @@ def get_offset(self):
636640
"""Return offset of the container."""
637641
return self._offset
638642

639-
def get_window_extent(self, renderer=None):
640-
# docstring inherited
641-
if renderer is None:
642-
renderer = self.figure._get_renderer()
643-
w, h, xd, yd = self.get_extent(renderer)
644-
ox, oy = self.get_offset() # w, h, xd, yd)
645-
646-
return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h)
647-
648643
def get_extent(self, renderer):
649644
"""Return width, height, xdescent, ydescent of box."""
650645
dpi_cor = renderer.points_to_pixels(1.)
@@ -773,14 +768,6 @@ def get_offset(self):
773768
"""Return offset of the container."""
774769
return self._offset
775770

776-
def get_window_extent(self, renderer=None):
777-
# docstring inherited
778-
if renderer is None:
779-
renderer = self.figure._get_renderer()
780-
w, h, xd, yd = self.get_extent(renderer)
781-
ox, oy = self.get_offset()
782-
return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h)
783-
784771
def get_extent(self, renderer):
785772
_, h_, d_ = renderer.get_text_width_height_descent(
786773
"lp", self._text._fontproperties,
@@ -876,14 +863,6 @@ def get_offset(self):
876863
"""Return offset of the container."""
877864
return self._offset
878865

879-
def get_window_extent(self, renderer=None):
880-
# docstring inherited
881-
if renderer is None:
882-
renderer = self.figure._get_renderer()
883-
w, h, xd, yd = self.get_extent(renderer)
884-
ox, oy = self.get_offset() # w, h, xd, yd)
885-
return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h)
886-
887866
def get_extent(self, renderer):
888867
# clear the offset transforms
889868
_off = self.offset_transform.get_matrix() # to be restored later
@@ -1061,26 +1040,14 @@ def set_bbox_to_anchor(self, bbox, transform=None):
10611040
self._bbox_to_anchor_transform = transform
10621041
self.stale = True
10631042

1064-
def get_window_extent(self, renderer=None):
1043+
def get_offset(self, width, height, xdescent, ydescent, renderer):
10651044
# docstring inherited
1066-
if renderer is None:
1067-
renderer = self.figure._get_renderer()
1068-
1069-
# Update the offset func, which depends on the dpi of the renderer
1070-
# (because of the padding).
1071-
fontsize = renderer.points_to_pixels(self.prop.get_size_in_points())
1072-
1073-
def _offset(w, h, xd, yd, renderer):
1074-
bbox = Bbox.from_bounds(0, 0, w, h)
1075-
pad = self.borderpad * fontsize
1076-
bbox_to_anchor = self.get_bbox_to_anchor()
1077-
x0, y0 = _get_anchored_bbox(self.loc, bbox, bbox_to_anchor, pad)
1078-
return x0 + xd, y0 + yd
1079-
1080-
self.set_offset(_offset)
1081-
w, h, xd, yd = self.get_extent(renderer)
1082-
ox, oy = self.get_offset(w, h, xd, yd, renderer)
1083-
return Bbox.from_bounds(ox - xd, oy - yd, w, h)
1045+
bbox = Bbox.from_bounds(0, 0, width, height)
1046+
pad = (self.borderpad
1047+
* renderer.points_to_pixels(self.prop.get_size_in_points()))
1048+
bbox_to_anchor = self.get_bbox_to_anchor()
1049+
x0, y0 = _get_anchored_bbox(self.loc, bbox, bbox_to_anchor, pad)
1050+
return x0 + xdescent, y0 + ydescent
10841051

10851052
def update_frame(self, bbox, fontsize=None):
10861053
self.patch.set_bounds(bbox.bounds)
@@ -1220,14 +1187,6 @@ def get_offset(self):
12201187
def get_children(self):
12211188
return [self.image]
12221189

1223-
def get_window_extent(self, renderer=None):
1224-
# docstring inherited
1225-
if renderer is None:
1226-
renderer = self.figure._get_renderer()
1227-
w, h, xd, yd = self.get_extent(renderer)
1228-
ox, oy = self.get_offset()
1229-
return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h)
1230-
12311190
def get_extent(self, renderer):
12321191
if self._dpi_cor: # True, do correction
12331192
dpi_cor = renderer.points_to_pixels(1.)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.