X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/blobdiff_plain/8e4a9825b3464ea2600eb193151b03f903aed5f4..e4e71a016e3c9457744817ed104b0b497aaa5ddd:/src/app/widgets/cursors.py?ds=sidebyside diff --git a/src/app/widgets/cursors.py b/src/app/widgets/cursors.py index 863b757..9315211 100755 --- a/src/app/widgets/cursors.py +++ b/src/app/widgets/cursors.py @@ -12,7 +12,7 @@ from eventutils import EventHandlerMixin, event_handler 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 ''' @@ -28,7 +28,7 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin): 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')) @@ -66,15 +66,18 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin): @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.dirty = 1 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) @@ -83,4 +86,5 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin): @event_handler(pygame.MOUSEMOTION) def move(self, event) : + self.dirty = 1 self.rect.move_ip(event.rel)