Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWade Brainerd <wadetb@gmail.com>2009-04-06 11:33:22 (GMT)
committer Wade Brainerd <wadetb@gmail.com>2009-04-06 11:33:22 (GMT)
commitd04ac9a774e8d91b3fa7e55e8e4afe78eb71e202 (patch)
treedb62d441dd76be5548bd902702632c6f32fd5807
parent06a8fac4cb75a5d047a6002045a73b19c8e755e0 (diff)
Fix AmountObject drawing.
-rw-r--r--amountobject.py65
1 files changed, 21 insertions, 44 deletions
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)