Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/example.py
diff options
context:
space:
mode:
Diffstat (limited to 'example.py')
-rwxr-xr-xexample.py63
1 files changed, 46 insertions, 17 deletions
diff --git a/example.py b/example.py
index 5cdebf4..2d2aaa2 100755
--- a/example.py
+++ b/example.py
@@ -42,7 +42,7 @@ class MyApp():
#imagen de fondo
self.pixbuf = gtk.gdk.pixbuf_new_from_file('images/arco.jpg')
- window.connect('destroy', self.destroy)
+ window.connect("destroy", lambda w: gtk.main_quit())
self.drawing_area.connect('configure_event', self.__configure_cb)
self.drawing_area.connect('expose-event', self.__expose_cb)
@@ -61,8 +61,7 @@ class MyApp():
#invocacion de la funcion que realiza loop del slider horizontal
gobject.timeout_add(DELAY, self.__hslider_move_cb)
-
-
+
#funcion que se activa al presionar cualquier tecla y pregunta sobre el estado de los indicadores
def __key_press_event_cb(self, window, event):
gobject.timeout_add(DELAY, self.__vslider_move_cb)
@@ -111,7 +110,7 @@ class MyApp():
self.indicator_x = 0
#impresion temporal de prueba
- print self.cv_x
+ #print self.cv_x
#funcion que captura el valor del slider vertical despues de pulsar una tecla
def capturar_valor_vslider_cb(self):
@@ -119,10 +118,6 @@ class MyApp():
#variable en donde se captura el valor al presionar un tecla
self.vslide_value = self.vslide.get_value()
- #valida el estilo del area de dibujo
- self.style = self.drawing_area.get_style()
- self.gc = self.style.fg_gc[gtk.STATE_NORMAL]
-
#convierte el valor de changed_value a int
self.cv_y = (((int(self.vslide_value)) * 600) / 100)
@@ -133,15 +128,48 @@ class MyApp():
self.indicator_y = 0
#impresion temporal de prueba
- print self.cv_y
+ #print self.cv_y
+
+ self.dimensiones_arco()
#funcion que dibuja la pelota
def draw_ball(self, x, y):
- self.drawing_area.window.draw_arc(self.gc, False, x, y, 70, 70, 0, 360*64)
-
- def destroy(self, window, data=None):
- gtk.main_quit()
-
+ c_x = x
+ c_y = y
+ c_a = 70
+ c_l = 70
+ self.canvas.draw_arc(self.context, True, c_x, c_y, c_a, c_l, 0, 360*64)
+ pi = 3.14159265
+ r = 35
+ area_pelota = pi * (r ** 2)
+ #msg = "area pelota"
+ #print msg + "" + str(area_pelota)
+
+ self.calculo_gol(c_x, c_y)
+
+ def calculo_gol(self, c_x, c_y):
+ if c_x > 58 and c_y > 144 and c_x < 58+507 and c_y < 144+324:
+ print "gol"
+
+ def dimensiones_arco(self):
+ #Coordenadas del rectangulo del travesanho
+ t_x = 46
+ t_y = 133
+ t_a = 507
+ t_l = 336
+ #Coordenadas del rectangulo interior del arco
+ i_x = 58
+ i_y = 144
+ i_a = 484
+ i_l = 324
+ #Dibujo temporal de los rectangulos del travesanho y el interior
+ self.travesanho = self.canvas.draw_rectangle(self.context, False, t_x, t_y, t_a, t_l)
+ self.interior_arco = self.canvas.draw_rectangle(self.context, False, i_x, i_y, i_a, i_l)
+ self.area_travesanho = t_l * t_a
+ self.area_interior_arco = i_l * i_a
+ #print self.area_travesanho
+ #print self.area_interior_arco
+
def __configure_cb(self, drawing_area, data=None):
x, y, width, height = drawing_area.get_allocation()
@@ -154,10 +182,11 @@ class MyApp():
def __expose_cb(self, drawing_area, data=None):
x, y, width, height = data.area
- context = drawing_area.get_style().fg_gc[gtk.STATE_NORMAL]
+ style = drawing_area.get_style()
+ self.context = style.fg_gc[gtk.STATE_NORMAL]
- canvas = drawing_area.window
- canvas.draw_drawable(context, self.pixmap, x, y, x, y, width, height)
+ self.canvas = drawing_area.window
+ self.canvas.draw_drawable(self.context, self.pixmap, x, y, x, y, width, height)
return False