Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamus_ <mail2samus@gmail.com>2010-03-21 08:19:22 (GMT)
committer Samus_ <mail2samus@gmail.com>2010-03-21 08:19:22 (GMT)
commit06ef334c55d59a6cda05f1ebb525ff8b1a4fe9de (patch)
tree5da58faa89cab4a0af510e4b4e603df18a4527b8
parent3e8b292bc74538147bb8f32e276804390fdb6cca (diff)
cleanup logic
-rwxr-xr-xfracciones.activity/gtkcake.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/fracciones.activity/gtkcake.py b/fracciones.activity/gtkcake.py
index a66bc64..d4e874d 100755
--- a/fracciones.activity/gtkcake.py
+++ b/fracciones.activity/gtkcake.py
@@ -32,7 +32,7 @@ class Cake(gtk.DrawingArea):
self.add_events(gtk.gdk.BUTTON_PRESS_MASK)
# variables de estado de la torta
self.subdivisions = subdivisions
- self.selected = subdivisions * [0]
+ self.selected_list = subdivisions * [False]
# Carga imagenes
self.image_bg = cairo.ImageSurface.create_from_png(os.path.join("data", "bg.png"))
@@ -73,17 +73,16 @@ class Cake(gtk.DrawingArea):
context.stroke()
- def mask_image(context, selected, image):
+ def mask_image(context, image):
"""Enmascara la imagen de la torta y dibuja solo los trozos que no
fueron seleccionados
"""
- subdivisions = len(selected)
image_ctx = cairo.Context(image)
image_ctx.set_operator(cairo.OPERATOR_CLEAR)
- for sector in xrange(subdivisions):
- if selected[sector]:
- angle_start = 2 * math.pi * sector / subdivisions
- angle_end = 2 * math.pi * (sector + 1) / subdivisions
+ for index, selected in enumerate(self.selected_list):
+ if selected:
+ angle_start = 2 * math.pi * index / self.subdivisions
+ angle_end = 2 * math.pi * (index + 1) / self.subdivisions
image_ctx.move_to(WIDTH/2, HEIGHT/2)
image_ctx.line_to(
WIDTH/2 + RADIUS*math.cos(angle_start),
@@ -111,7 +110,7 @@ class Cake(gtk.DrawingArea):
context.paint()
# Dibuja el frente
- mask_image(context, self.selected, self.image_fg)
+ mask_image(context, self.image_fg)
# Dibuja la rejilla
draw_grid(context, self.subdivisions)
@@ -135,7 +134,7 @@ class Cake(gtk.DrawingArea):
angle += 2 * math.pi
sector = angle * self.subdivisions / (2 * math.pi)
index = int(math.floor(sector))
- self.selected[index] = 1 - self.selected[index]
+ self.selected_list[index] = not self.selected_list[index]
return True