Revision: 7507
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7507&view=rev
Author:   ryanmay
Date:     2009-08-20 06:44:26 +0000 (Thu, 20 Aug 2009)

Log Message:
-----------
Fix problem with call to draw in pong demo.  Also make draw use 10 ms timers 
instead of drawing on idle so that it doesn't peg the CPU.

Modified Paths:
--------------
    trunk/matplotlib/examples/event_handling/pipong.py
    trunk/matplotlib/examples/event_handling/pong_gtk.py
    trunk/matplotlib/examples/event_handling/pong_qt.py

Modified: trunk/matplotlib/examples/event_handling/pipong.py
===================================================================
--- trunk/matplotlib/examples/event_handling/pipong.py  2009-08-19 07:56:33 UTC 
(rev 7506)
+++ trunk/matplotlib/examples/event_handling/pipong.py  2009-08-20 06:44:26 UTC 
(rev 7507)
@@ -12,17 +12,17 @@
   'e'      up     'i'
   'd'     down    'k'
 
-press 't' -- close these instructions 
+press 't' -- close these instructions
             (animation will be much faster)
-press 'a' -- add a puck                
-press 'A' -- remove a puck             
-press '1' -- slow down all pucks       
-press '2' -- speed up all pucks        
-press '3' -- slow down distractors     
-press '4' -- speed up distractors      
+press 'a' -- add a puck
+press 'A' -- remove a puck
+press '1' -- slow down all pucks
+press '2' -- speed up all pucks
+press '3' -- slow down distractors
+press '4' -- speed up distractors
 press ' ' -- reset the first puck
-press 'n' -- toggle distractors on/off    
-press 'g' -- toggle the game on/off    
+press 'n' -- toggle distractors on/off
+press 'g' -- toggle the game on/off
 
   """
 
@@ -56,7 +56,7 @@
     def _reset(self,pad):
         self.x = pad.x + pad.xoffset
         if pad.y < 0:
-            self.y = pad.y +  pad.yoffset 
+            self.y = pad.y +  pad.yoffset
         else:
             self.y = pad.y - pad.yoffset
         self.vx = pad.x - self.x
@@ -84,7 +84,7 @@
             self._reset(pads[1])
             return True
         if self.y < -1+fudge or self.y > 1-fudge:
-            self.vy *= -1.0 
+            self.vy *= -1.0
             # add some randomness, just to make it interesting
             self.vy -= (randn()/300.0 + 1/300.0) * np.sign(self.vy)
         self._speedlimit()
@@ -106,7 +106,7 @@
         if self.vy < -self.vmax:
             self.vy = -self.vmax
 
-class Game(object):        
+class Game(object):
 
     def __init__(self, ax):
         # create the initial line
@@ -137,7 +137,7 @@
         self.pads = []
         self.pads.append( Pad(pA,0,padAy))
         self.pads.append( Pad(pB,padBx,padBy,'r'))
-        self.pucks =[] 
+        self.pucks =[]
         self.i = self.ax.annotate(instructions,(.5,0.5),
                      name='monospace',
                      verticalalignment='center',
@@ -180,8 +180,8 @@
             for puck in self.pucks:
                 if puck.update(self.pads):
                     # we only get here if someone scored
-                    self.pads[0].disp.set_label("   "+ 
str(self.pads[0].score)) 
-                    self.pads[1].disp.set_label("   "+ 
str(self.pads[1].score)) 
+                    self.pads[0].disp.set_label("   "+ str(self.pads[0].score))
+                    self.pads[1].disp.set_label("   "+ str(self.pads[1].score))
                     self.ax.legend(loc='center')
                     self.leg = self.ax.get_legend()
                     #self.leg.draw_frame(False) #don't draw the legend border
@@ -189,7 +189,7 @@
                     
plt.setp(self.leg.get_texts(),fontweight='bold',fontsize='xx-large')
                     self.leg.get_frame().set_facecolor('0.2')
                     self.background = None
-                    self.ax.draw()
+                    self.ax.figure.canvas.draw()
                     return True
                 puck.disp.set_offsets([puck.x,puck.y])
                 self.ax.draw_artist(puck.disp)
@@ -229,7 +229,7 @@
             self.pads[1].y -= .1
             if self.pads[1].y < -1:
                 self.pads[1].y = -1
-        
+
         if event.key == 'a':
             
self.pucks.append(Puck(self.puckdisp,self.pads[randint(2)],self.ax.bbox))
         if event.key == 'A' and len(self.pucks):
@@ -242,7 +242,7 @@
         if event.key == '2':
             for p in self.pucks:
                 p._faster()
-        
+
         if event.key == 'n':
             self.distract = not self.distract
 
@@ -254,4 +254,4 @@
             self.inst = not self.inst
             self.i.set_visible(self.i.get_visible())
         if event.key == 'q':
-            plt.close() 
+            plt.close()

Modified: trunk/matplotlib/examples/event_handling/pong_gtk.py
===================================================================
--- trunk/matplotlib/examples/event_handling/pong_gtk.py        2009-08-19 
07:56:33 UTC (rev 7506)
+++ trunk/matplotlib/examples/event_handling/pong_gtk.py        2009-08-20 
06:44:26 UTC (rev 7507)
@@ -12,7 +12,7 @@
 
 import numpy as np
 import matplotlib.pyplot as plt
-import pipong 
+import pipong
 from numpy.random import randn, randint
 
 
@@ -22,7 +22,8 @@
 
 
 def start_anim(event):
-    gobject.idle_add(animation.draw,animation)
+#    gobject.idle_add(animation.draw,animation)
+    gobject.timeout_add(10,animation.draw,animation)
     canvas.mpl_disconnect(start_anim.cid)
 
 animation = pipong.Game(ax)

Modified: trunk/matplotlib/examples/event_handling/pong_qt.py
===================================================================
--- trunk/matplotlib/examples/event_handling/pong_qt.py 2009-08-19 07:56:33 UTC 
(rev 7506)
+++ trunk/matplotlib/examples/event_handling/pong_qt.py 2009-08-20 06:44:26 UTC 
(rev 7507)
@@ -18,7 +18,7 @@
 import matplotlib.pyplot as plt
 import numpy as np
 import time
-import pipong 
+import pipong
 from numpy.random import randn, randint
 
 class BlitQT(QObject):
@@ -36,7 +36,7 @@
 app = BlitQT()
 # for profiling
 app.tstart = time.time()
-app.startTimer(0)
+app.startTimer(10)
 
 plt.show()
 print 'FPS:' , app.animation.cnt/(time.time()-app.tstart)


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to