From d04ac9a774e8d91b3fa7e55e8e4afe78eb71e202 Mon Sep 17 00:00:00 2001 From: Wade Brainerd Date: Mon, 06 Apr 2009 11:33:22 +0000 Subject: Fix AmountObject drawing. --- diff --git a/amountobject.py b/amountobject.py index b303a88..330ac9a 100644 --- a/amountobject.py +++ b/amountobject.py @@ -63,66 +63,43 @@ class AmountObject(MovableObject): def get_bounds(self): return self.pos + Vector(-50, -50), self.pos + Vector(50, 50) - def draw_circle(self, cr, color): - cr.arc(self.pos.x, self.pos.y, 35, 0.0, 2.0 * math.pi) - + def draw_shape(self, cr): + # Draw the fill. if self.selected: - cr.set_source_rgb(color[0]*1.6, color[1]*1.6, color[2]*1.6) + cr.set_source_rgb(self.color[0]*1.6, self.color[1]*1.6, self.color[2]*1.6) else: - cr.set_source_rgb(color[0], color[1], color[2]) + cr.set_source_rgb(self.color[0], self.color[1], self.color[2]) cr.fill_preserve() # Draw the outline. - cr.set_source_rgb(color[0]*0.75, color[1]*0.75, color[2]*0.75) + cr.set_source_rgb(self.color[0]*0.75, self.color[1]*0.75, self.color[2]*0.75) if self.selected: cr.set_dash((10, 10), 0) cr.set_line_width(4.0) cr.stroke() + def draw_circle(self, cr, color): + cr.arc(self.pos.x, self.pos.y, 35, 0.0, 2.0 * math.pi) + self.draw_shape(cr) + def draw_square(self, cr, color): square_side = 65 - SQUARE = [ Vector(0, 0), Vector(square_side, 0), Vector(square_side, square_side), Vector(0, square_side) ] - # Draw the fill. - cr.move_to(self.pos.x + SQUARE[0].x, self.pos.y + SQUARE[0].y) - cr.line_to(self.pos.x + SQUARE[1].x, self.pos.y + SQUARE[1].y) - cr.line_to(self.pos.x + SQUARE[2].x, self.pos.y + SQUARE[2].y) - cr.line_to(self.pos.x + SQUARE[3].x, self.pos.y + SQUARE[3].y) + cr.move_to(self.pos.x - square_side/2, self.pos.y - square_side/2) + cr.line_to(self.pos.x + square_side/2, self.pos.y - square_side/2) + cr.line_to(self.pos.x + square_side/2, self.pos.y + square_side/2) + cr.line_to(self.pos.x - square_side/2, self.pos.y + square_side/2) cr.close_path() - if self.selected: - cr.set_source_rgb(color[0]*1.6, color[1]*1.6, color[2]*1.6) - else: - cr.set_source_rgb(color[0], color[1], color[2]) - cr.fill_preserve() - - # Draw the outline. - cr.set_source_rgb(color[0]*0.75, color[1]*0.75, color[2]*0.75) - if self.selected: - cr.set_dash((10, 10), 0) - cr.set_line_width(4.0) - cr.stroke() - + self.draw_shape(cr) + def draw_triangle(self, cr, color): - triangle_side = 80 - TRIANGLE = [ Vector(0, 0), Vector(triangle_side/2, -triangle_side * math.sqrt(3)/2), Vector(triangle_side, 0) ] + triangle_width = 80 + triangle_height = triangle_width * math.sqrt(3)/2 - # Draw the fill. - cr.move_to(self.pos.x + TRIANGLE[0].x, self.pos.y + TRIANGLE[0].y) - cr.line_to(self.pos.x + TRIANGLE[1].x, self.pos.y + TRIANGLE[1].y) - cr.line_to(self.pos.x + TRIANGLE[2].x, self.pos.y + TRIANGLE[2].y) + cr.move_to(self.pos.x, self.pos.y - triangle_height/2) + cr.line_to(self.pos.x + triangle_width/2, self.pos.y + triangle_height/2) + cr.line_to(self.pos.x - triangle_width/2, self.pos.y + triangle_height/2) cr.close_path() - if self.selected: - cr.set_source_rgb(color[0]*1.6, color[1]*1.6, color[2]*1.6) - else: - cr.set_source_rgb(color[0], color[1], color[2]) - cr.fill_preserve() - - # Draw the outline. - cr.set_source_rgb(color[0]*0.75, color[1]*0.75, color[2]*0.75) - if self.selected: - cr.set_dash((10, 10), 0) - cr.set_line_width(4.0) - cr.stroke() - + self.draw_shape(cr) -- cgit v0.9.1