X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/46e3b6be9bc0e13866d44cca212b8ef94899c64d..46f3ffd7fdde386f41020171b5733e55a8e64a85:/src/app/widgets/cursors.py diff --git a/src/app/widgets/cursors.py b/src/app/widgets/cursors.py deleted file mode 100755 index 6729fc9..0000000 --- a/src/app/widgets/cursors.py +++ /dev/null @@ -1,114 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Curseurs winwii - -$Id$ -$URL$ -""" - -import pygame -import os - - -class WarpingCursor(pygame.sprite.Sprite): - ''' - The class for animating the warping cursor - - durations: - 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] - basePath.append('data') - basePath.append(name) - basePath = os.path.sep.join(basePath) - images = [f for f in os.listdir(basePath) if os.path.splitext(f)[1] == '.png'] - return basePath, images - - - def __init__(self, theme='black', duration=75): - pygame.sprite.Sprite.__init__(self) - imagesPath, images = WarpingCursor._get_theme_images(theme) - flashImage = images.pop(images.index('flash.png')) - images.sort(lambda a, b : cmp(*[int(os.path.splitext(f)[0]) for f in [a, b]])) - - self.images = [] - for img in images : - imagePath = os.path.sep.join([imagesPath, img]) - self.images = pygame.image.load(imagePath).convert_alpha() - - self.duration = duration - - #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 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.durations[self._imagePointer]: - #New animation offset is computed first, before updating the pointer - self._animationOffset -= self.durations[self._imagePointer] - #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)