Changeset 90

Show
Ignore:
Timestamp:
12/14/07 11:56:19
Author:
slee
Message:

attmept to improve blinker artifacts

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • action_groups/trunk/Blinker.py

    r86 r90  
    66class Blinker(object): 
    77  max_blinks = -1 
     8  blink_pre_time = 200 
    89  blink_on_time = 200 
    910  blink_off_time = 450 
     
    1920                                gtk.gdk.JOIN_MITER) 
    2021  
    21     self.blinks = 0 
     22    self.blinks = -1 
    2223     
    2324  def start(self): 
    2425    self.stopping = False 
    25     self.blinks = 0 
     26    self.blinks = -1 
    2627    self._drawRectangle() 
    2728 
     
    4344    Draw a rectangle on the screen using L{extents} for position and size. 
    4445    ''' 
    45     if self.stopping: 
     46    if self.blinks == -1: 
     47      blink_time = self.blink_pre_time 
     48    else:       
     49      if self.stopping: 
     50        if self.blinks % 2 == 1: 
     51          self.draw() 
     52        #self.inv.grab_remove() 
     53        try: 
     54          gobject.source_remove(self.id) 
     55          self.inv.destroy() 
     56        except: 
     57          pass 
     58        return False 
     59      # draw a blinking rectangle  
     60      if self.blinks % 2 == 0: 
     61        self.inv = gtk.Invisible() 
     62        self.inv.set_screen(self.screen) 
     63        self.inv.show() 
     64        blink_time = self.blink_on_time 
     65        #self.inv.grab_add() 
     66      self.draw() 
    4667      if self.blinks % 2 == 1: 
    47         self.draw() 
    48       #self.inv.grab_remove() 
    49       gobject.source_remove(self.id) 
    50       self.inv.destroy() 
    51       return False 
    52     # draw a blinking rectangle  
    53     if self.blinks % 2 == 0: 
    54       self.inv = gtk.Invisible() 
    55       self.inv.set_screen(self.screen) 
    56       self.inv.show() 
    57       #self.inv.grab_add() 
    58     self.draw() 
    59     if self.blinks % 2 == 1: 
    60       #self.inv.grab_remove() 
    61       self.inv.destroy() 
     68        #self.inv.grab_remove() 
     69        self.inv.destroy() 
     70        blink_time = self.blink_off_time 
    6271    self.blinks += 1 
    63     if self.max_blinks <> -1 and self.blinks >= self.max_blinks: 
    64       self.inv.grab_remove() 
    65       self.inv.destroy() 
    66       return False 
    67     blink_time = (self.blink_on_time if self.blinks % 2 == 1 else self.blink_off_time) 
    6872    self.id = gobject.timeout_add(blink_time, self._drawRectangle) 
    6973    return False