X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/e4e71a016e3c9457744817ed104b0b497aaa5ddd..21025650d4d91bd0e1848bf1a78208301180e604:/src/app/widgets/cursors.py diff --git a/src/app/widgets/cursors.py b/src/app/widgets/cursors.py index 9315211..db1ac56 100755 --- a/src/app/widgets/cursors.py +++ b/src/app/widgets/cursors.py @@ -29,7 +29,6 @@ class WarpingCursor(pygame.sprite.DirtySprite, EventHandlerMixin): def __init__(self, theme='black', duration=50, blinkMode=True): pygame.sprite.DirtySprite.__init__(self) - pygame.mouse.set_visible(False) imagesPath, images = WarpingCursor._get_theme_images(theme) flashImage = images.pop(images.index('flash.png')) flashImagePath = os.path.sep.join([imagesPath, flashImage]) @@ -48,10 +47,22 @@ class WarpingCursor(pygame.sprite.DirtySprite, EventHandlerMixin): self.duration = duration self.image = self.images[0] - self.rect = pygame.Rect((-self.width/2,-self.height/2), (self.width, self.height)) + # workarround cursor alignement problem + pygame.event.set_blocked(pygame.MOUSEMOTION) + pygame.mouse.set_pos(pygame.mouse.get_pos()) + pygame.event.set_allowed(pygame.MOUSEMOTION) + # --- + x, y = pygame.mouse.get_pos() + left = x - self.width / 2 + top = y - self.height / 2 + self.rect = pygame.Rect((left, top), (self.width, self.height)) self.blinkMode = blinkMode self._startBlink() + + def _stopBlink(self) : + if self.blinkMode : + pygame.time.set_timer(TIMEOUT, 0) def _startBlink(self) : if self.blinkMode :