From: pin Date: Tue, 23 Feb 2010 10:10:05 +0000 (+0000) Subject: nettoyage / implémentation de la méthode update. X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/commitdiff_plain/855472fc15f855881b98149078b6645309278b8a?ds=inline nettoyage / implémentation de la méthode update. git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@53 fe552daf-6dbe-4428-90eb-1537e0879342 --- diff --git a/src/app/widgets/cursors.py b/src/app/widgets/cursors.py index 29ce61c..6b0d6e8 100755 --- a/src/app/widgets/cursors.py +++ b/src/app/widgets/cursors.py @@ -16,23 +16,8 @@ TIMEOUT = USEREVENT + 1 class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin): ''' The class for animating the warping cursor - - duration: - The duration of each image in the animation - centerPosition: - The Position of the center of the cursor - _imagePointer: - A pointer to the current image - _animationOffset: - The time elapsed since when the current image should have been displayed ''' - #screen = None - #images = None - #durations = None - #centerPosition = None - #_imagePointer = None - #_animationOffset = None - + @staticmethod def _get_theme_images(name) : basePath = os.path.abspath(__file__).split(os.path.sep)[:-1] @@ -64,23 +49,12 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin): self.image = self.images[0] self.rect = pygame.Rect((0,0), (self.width, self.height)) + self.update() - surface = pygame.display.get_surface() - surface.blit(self.image, self.rect) self.blink = blink if blink : self._startBlink() - - #self.flashImagePath = flashImage - #self.durations = durations - #self.centerPosition = initCenterPosition - #self.flashLength = 100 - #self.flashing = False - #self.image = pygame.image.load(self.images[0]).convert_alpha() - #self._imagePointer = 0 - #self._animationOffset = 0 - #self._flashTimer = 0 - + def _startBlink(self) : pygame.time.set_timer(TIMEOUT, self.duration) self.iterator = self.iterImages() @@ -93,15 +67,13 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin): def loadNext(self, event) : if self.blink : self.image = self.iterator.next() - surface = pygame.display.get_surface() - surface.blit(self.image, self.rect) + self.update() @event_handler(MOUSEBUTTONDOWN) def flashOn(self, event) : self.blink=False self.image = self.flashImage - surface = pygame.display.get_surface() - surface.blit(self.image, self.rect) + self.update() @event_handler(MOUSEBUTTONUP) def flashOff(self, event) : @@ -109,54 +81,5 @@ class WarpingCursor(pygame.sprite.Sprite, EventHandlerMixin): self.loadNext(event) def update(self) : - print 'cursor update' - -# def update(self, elapsedTime, centerPosition): -# ''' -# Update the cursor's look and position -# -# elapsedTime: -# The time passed since the previous update -# centerPosition: -# the new position of the creep -# ''' -# self._updateImage(elapsedTime) -# self.centerPosition = centerPosition -# if self.flashing : -# self._flashTimer += elapsedTime -# if self._flashTimer > self.flashLength: -# self.flashing = False - - def _updateImage(self, elapsedTime): - ''' - Update the cursor's image - - elapsedTime: - The time passed since the previous update - ''' - self._animationOffset += elapsedTime - - if self._animationOffset > self.duration : - #New animation offset is computed first, before updating the pointer - self._animationOffset -= self.duration - #point to the next image (restarts from the beginning when it reaches the end) - self._imagePointer = (self._imagePointer + 1) % len(self.images) - - if self.flashing: - self.image = pygame.image.load(self.flashImagePath).convert_alpha() - else : - self.image = pygame.image.load(self.images[self._imagePointer]).convert_alpha() - - def flash(self,flashLength = None): - self._flashTimer = 0 - self.flashing = True - if flashLength: - self.flashlength = flashLength - - def blit(self,surface): - ''' - Draw the circle on surface - ''' - - newPos = (self.centerPosition[0] - self.image.get_width() / 2, self.centerPosition[1] - self.image.get_height() / 2) - surface.blit(self.image, newPos) + surface = pygame.display.get_surface() + surface.blit(self.image, self.rect)