diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index 25cab904b77c..89bd3550f3a6 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -350,8 +350,12 @@ def get_window_extent(self, renderer=None): # docstring inherited if renderer is None: renderer = self.figure._get_renderer() - w, h, xd, yd, offsets = self.get_extent_offsets(renderer) - px, py = self.get_offset(w, h, xd, yd, renderer) + w, h, xd, yd = self.get_extent(renderer) + # Some subclasses redefine get_offset to take no args. + try: + px, py = self.get_offset(w, h, xd, yd, renderer) + except TypeError: + px, py = self.get_offset() return mtransforms.Bbox.from_bounds(px - xd, py - yd, w, h) def draw(self, renderer): @@ -636,15 +640,6 @@ def get_offset(self): """Return offset of the container.""" return self._offset - def get_window_extent(self, renderer=None): - # docstring inherited - if renderer is None: - renderer = self.figure._get_renderer() - w, h, xd, yd = self.get_extent(renderer) - ox, oy = self.get_offset() # w, h, xd, yd) - - return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h) - def get_extent(self, renderer): """Return width, height, xdescent, ydescent of box.""" dpi_cor = renderer.points_to_pixels(1.) @@ -773,14 +768,6 @@ def get_offset(self): """Return offset of the container.""" return self._offset - def get_window_extent(self, renderer=None): - # docstring inherited - if renderer is None: - renderer = self.figure._get_renderer() - w, h, xd, yd = self.get_extent(renderer) - ox, oy = self.get_offset() - return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h) - def get_extent(self, renderer): _, h_, d_ = renderer.get_text_width_height_descent( "lp", self._text._fontproperties, @@ -876,14 +863,6 @@ def get_offset(self): """Return offset of the container.""" return self._offset - def get_window_extent(self, renderer=None): - # docstring inherited - if renderer is None: - renderer = self.figure._get_renderer() - w, h, xd, yd = self.get_extent(renderer) - ox, oy = self.get_offset() # w, h, xd, yd) - return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h) - def get_extent(self, renderer): # clear the offset transforms _off = self.offset_transform.get_matrix() # to be restored later @@ -1061,26 +1040,14 @@ def set_bbox_to_anchor(self, bbox, transform=None): self._bbox_to_anchor_transform = transform self.stale = True - def get_window_extent(self, renderer=None): + def get_offset(self, width, height, xdescent, ydescent, renderer): # docstring inherited - if renderer is None: - renderer = self.figure._get_renderer() - - # Update the offset func, which depends on the dpi of the renderer - # (because of the padding). - fontsize = renderer.points_to_pixels(self.prop.get_size_in_points()) - - def _offset(w, h, xd, yd, renderer): - bbox = Bbox.from_bounds(0, 0, w, h) - pad = self.borderpad * fontsize - bbox_to_anchor = self.get_bbox_to_anchor() - x0, y0 = _get_anchored_bbox(self.loc, bbox, bbox_to_anchor, pad) - return x0 + xd, y0 + yd - - self.set_offset(_offset) - w, h, xd, yd = self.get_extent(renderer) - ox, oy = self.get_offset(w, h, xd, yd, renderer) - return Bbox.from_bounds(ox - xd, oy - yd, w, h) + bbox = Bbox.from_bounds(0, 0, width, height) + pad = (self.borderpad + * renderer.points_to_pixels(self.prop.get_size_in_points())) + bbox_to_anchor = self.get_bbox_to_anchor() + x0, y0 = _get_anchored_bbox(self.loc, bbox, bbox_to_anchor, pad) + return x0 + xdescent, y0 + ydescent def update_frame(self, bbox, fontsize=None): self.patch.set_bounds(bbox.bounds) @@ -1220,14 +1187,6 @@ def get_offset(self): def get_children(self): return [self.image] - def get_window_extent(self, renderer=None): - # docstring inherited - if renderer is None: - renderer = self.figure._get_renderer() - w, h, xd, yd = self.get_extent(renderer) - ox, oy = self.get_offset() - return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h) - def get_extent(self, renderer): if self._dpi_cor: # True, do correction dpi_cor = renderer.points_to_pixels(1.) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy