def draw(self, ctx): ctx.save() ctx.save() ctx.set_font_size(self.labelFontSize * 10) ascent, descent, height, max_x_advance, max_y_advance = ctx.font_extents() ctx.move_to(0, ascent) ctx.show_text(self.label) ctx.restore() ctx.translate(0, ascent + descent + 5) drawer = Drawer(ctx) r, u, d = self.node.getExtents(drawer) ctx.translate(0, u) drawer.drawStart() self.node.draw(drawer) drawer.drawStop() ctx.restore()