retour à la gamme de Do majeur.
[minwii.git] / src / app / widgets / cursors.py
index 863b757..9315211 100755 (executable)
@@ -12,7 +12,7 @@ from eventutils import EventHandlerMixin, event_handler
 from events import TIMEOUT
 from itertools import cycle
 
 from events import TIMEOUT
 from itertools import cycle
 
-class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin):
+class WarpingCursor(pygame.sprite.DirtySprite, EventHandlerMixin):
     '''
     The class for animating the warping cursor
     '''
     '''
     The class for animating the warping cursor
     '''
@@ -28,7 +28,7 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin):
 
     
     def __init__(self, theme='black', duration=50, blinkMode=True):
 
     
     def __init__(self, theme='black', duration=50, blinkMode=True):
-        pygame.sprite.Sprite.__init__(self)
+        pygame.sprite.DirtySprite.__init__(self)
         pygame.mouse.set_visible(False)
         imagesPath, images = WarpingCursor._get_theme_images(theme)
         flashImage = images.pop(images.index('flash.png'))
         pygame.mouse.set_visible(False)
         imagesPath, images = WarpingCursor._get_theme_images(theme)
         flashImage = images.pop(images.index('flash.png'))
@@ -66,15 +66,18 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin):
     @event_handler(TIMEOUT)
     def loadNext(self, event) :
         if self._blinking :
     @event_handler(TIMEOUT)
     def loadNext(self, event) :
         if self._blinking :
+            self.dirty = 1
             self.image = self.iterator.next()
     
     @event_handler(pygame.MOUSEBUTTONDOWN)
     def flashOn(self, event) :
             self.image = self.iterator.next()
     
     @event_handler(pygame.MOUSEBUTTONDOWN)
     def flashOn(self, event) :
+        self.dirty = 1
         self._blinking = False
         self.image = self.flashImage
 
     @event_handler(pygame.MOUSEBUTTONUP)
     def flashOff(self, event) :
         self._blinking = False
         self.image = self.flashImage
 
     @event_handler(pygame.MOUSEBUTTONUP)
     def flashOff(self, event) :
+        self.dirty = 1
         if self.blinkMode :
             self._blinking = True
             self.loadNext(event)
         if self.blinkMode :
             self._blinking = True
             self.loadNext(event)
@@ -83,4 +86,5 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin):
     
     @event_handler(pygame.MOUSEMOTION)
     def move(self, event) :
     
     @event_handler(pygame.MOUSEMOTION)
     def move(self, event) :
+        self.dirty = 1
         self.rect.move_ip(event.rel)
         self.rect.move_ip(event.rel)