def _draw(self, renderer, transformation, **style): style.update(self.style) text = self.text position = transformation(self.position) font_family = style.get("font", "Times") font_size = style.get("font_size", 10 * point) color = style.get("color", black) alignment = style.get("alignment", (0, 0)) renderer.font = (font_family, font_size) renderer.color = color import latex latex.render(renderer, position, text, style, alignment)
def _render(self, renderer, region): import latex text = self.text style = self.style font_family = style.get("font", "Times") font_size = style.get("font_size", 10 * point) color = style.get("color", black) leading = style.get("leading", 1.2 * font_size) tab_width = style.get("tab_width", 10 * font_size) region = adjustRegionForStyle(region, style) x0 = region[0] y = region[3] - leading for line in text.split("\n"): x = x0 for tab_part in line.split("\t"): latex.render(renderer, (x, y), tab_part, style, (0, 0)) x += tab_width y -= leading
def _render(self, renderer, region): import latex header = self.header footer = self.footer style = self.style font_size = style.get("font_size", 10 * point) # Adjust the region according to the style parameters. x0, y0, x1, y1 = adjustRegionForStyle(region, style) # Render header and footer, if any, adjusting the region. if header is not None: latex.render(renderer, (x0, y1), header, style, (0, 1)) y1 -= 1.5 * font_size if footer is not None: latex.render(renderer, (x0, y0), header, style, (0, 0)) y0 += 1.5 * font_size # Return the adjusted region. A subclass should lay out its # contents inside this region. return x0, y0, x1, y1