(self, renderer)
| 811 | return mtransforms.Bbox.from_bounds(ox - xd, oy - yd, w, h) |
| 812 | |
| 813 | def get_extent(self, renderer): |
| 814 | clean_line, ismath = self._text.is_math_text(self._text._text) |
| 815 | _, h_, d_ = renderer.get_text_width_height_descent( |
| 816 | "lp", self._text._fontproperties, ismath=False) |
| 817 | |
| 818 | bbox, info, d = self._text._get_layout(renderer) |
| 819 | w, h = bbox.width, bbox.height |
| 820 | |
| 821 | line = info[-1][0] # last line |
| 822 | |
| 823 | self._baseline_transform.clear() |
| 824 | |
| 825 | if len(info) > 1 and self._multilinebaseline: |
| 826 | d_new = 0.5 * h - 0.5 * (h_ - d_) |
| 827 | self._baseline_transform.translate(0, d - d_new) |
| 828 | d = d_new |
| 829 | |
| 830 | else: # single line |
| 831 | |
| 832 | h_d = max(h_ - d_, h - d) |
| 833 | |
| 834 | if self.get_minimumdescent(): |
| 835 | ## to have a minimum descent, #i.e., "l" and "p" have same |
| 836 | ## descents. |
| 837 | d = max(d, d_) |
| 838 | #else: |
| 839 | # d = d |
| 840 | |
| 841 | h = h_d + d |
| 842 | |
| 843 | return w, h, 0., d |
| 844 | |
| 845 | def draw(self, renderer): |
| 846 | """ |
no test coverage detected