def lines(self): textsize = self.textsize(self._result, scaled=True) dx, _ = self.box.get_padding_for(textsize, halign=self.halign, padding=self.padding) width = self.box.width - dx + self.line_spacing base_xy = XY(self.box.x1, self.box.y1) for string in self._result: textsize = self.textsize(string, scaled=True) _, dy = self.box.get_padding_for(textsize, valign=self.valign, padding=self.line_spacing) height = dy width -= textsize.width + self.line_spacing for char in string: charsize = self.textsize(char, scaled=True) if self.adjustBaseline: draw_xy = base_xy.shift(width, height + charsize.height) else: draw_xy = base_xy.shift(width, height) yield char, draw_xy height += charsize.height + self.line_spacing
def lines(self): textsize = self.textsize(self._result, scaled=True) _, dy = self.box.get_padding_for(textsize, valign=self.valign, padding=self.line_spacing) height = dy base_xy = XY(self.box.x1, self.box.y1) for string in self._result: textsize = self.textsize(string, scaled=True) dx, _ = self.box.get_padding_for(textsize, halign=self.halign, padding=self.padding) if self.adjustBaseline: draw_xy = base_xy.shift(dx, height + textsize.height) else: draw_xy = base_xy.shift(dx, height) yield string, draw_xy height += textsize.height + self.line_spacing