def pagesize(self, width, height): margin = self.metrics.page_margin padding = self.metrics.page_padding dummy = DiagramNode(None) dummy.xy = XY(width - 1, height - 1) x, y = self._node_bottomright(dummy, use_padding=False) x_span = self.span_width[width] y_span = self.span_height[height] return Size(x + margin.x + padding[1] + x_span, y + margin.y + padding[2] + y_span)