#self.queue_draw()
self.angle_timer_start=time.time()
gobject.timeout_add(20, self.timerAngle)
-
+ else:
+ if self.mode=='l':
+ self.setAngle(0)
+ else:
+ self.setAngle(90)
+
def timerAngle(self):
- self.queue_draw()
-
if self.angle_timer_start==0:
- self.angle_timer_start=time.time()
+ self.angle_timer_start=time.time()-0.05
dt=time.time()-self.angle_timer_start
- da=90.0*dt/0.5
+ # Duration of the rotation effect
+ rotation_time=0.5
+
+ da=90.0*dt/rotation_time
if self.mode=='l':
angle=90-da
else:
ret=True
- self.setAngle(angle)
+ if self.setAngle(angle):
+ self.queue_draw()
if ret==False:
self.angle_timer_start=0
ico.draw(cr, x2, y2)
def setAngle(self, angle):
+ """ Return True/False indicating that angle has changed """
+ ret=False
for x,y in self.icons:
ic=self.icons.get(x,y)
- ic.setAngle(angle)
+ if ic.setAngle(angle):
+ ret=True
+
+ return(ret)
def do_expose_event(self, event):
cr=self.window.cairo_create()