From: Antonio Ospite Date: Fri, 12 Jun 2015 20:27:47 +0000 (+0200) Subject: Diagram.py: simplify draw_rect_from_center() by reusing draw_rect() X-Git-Url: https://git.ao2.it/experiments/RadialSymmetry.git/commitdiff_plain/d384fe52ac8dec5263fed96acbd511780d14b0d7?ds=inline;hp=d61a76f33cbf0f18f63e0b365e9d7f0ba6732323 Diagram.py: simplify draw_rect_from_center() by reusing draw_rect() --- diff --git a/Diagram.py b/Diagram.py index ff5a500..8cb41ad 100755 --- a/Diagram.py +++ b/Diagram.py @@ -161,30 +161,17 @@ class Diagram(object): stroke=False, stroke_color=[0, 0, 0, 0.5]): cr = self.cr + # the position of the center of a rectangle at (0,0) mx = width / 2.0 my = height / 2.0 + # calculate the position of the bottom-left corner after rotating the + # rectangle around the center rx = cx - (mx * cos(theta) - my * sin(theta)) ry = cy - (mx * sin(theta) + my * cos(theta)) - cr.save() - cr.translate(rx, ry) - cr.rotate(theta) - - if fill: - cr.rectangle(0, 0, width, height) - r, g, b, a = self.color_to_rgba(fill_color) - cr.set_source_rgba(r, g, b, a) - cr.fill() - - if stroke: - cr.rectangle(0, 0, width, height) - r, g, b, a = self.color_to_rgba(stroke_color) - cr.set_source_rgba(r, g, b, a) - cr.stroke() - self.draw_dot(0, 0, 3.0, stroke_color) - - cr.restore() + self.draw_rect(rx, ry, width, height, theta, fill, fill_color, stroke, + stroke_color) def draw_rect(self, x, y, width, height, theta=0, fill=True, fill_color=[1, 1, 1, 0.8], stroke=False, stroke_color=[0, 0, 0, 0.5]):