diff options
Diffstat (limited to 'src/api/Mouse.py')
-rw-r--r-- | src/api/Mouse.py | 47 |
1 files changed, 31 insertions, 16 deletions
diff --git a/src/api/Mouse.py b/src/api/Mouse.py index 0db50d4..da27c30 100644 --- a/src/api/Mouse.py +++ b/src/api/Mouse.py @@ -7,7 +7,6 @@ class CMouse(object): mInstance = None mInitialized = False mPressed = False - #mPressedLeastThanOneFrame = False mPrevPressed = False def __new__(self, *args, **kargs): @@ -25,23 +24,43 @@ class CMouse(object): if (self.mInitialized): return self.mInitialized = True - + self.mScale = 1 self.mPressed = False - #self.mPressedLeastThanOneFrame = False self.mPrevPressed = False + + def set_scale(self, aScale): + self.mScale = aScale + if self.mScale == 1: + self.getPos = self._getPosN + self.getX = self._getXN + self.getY = self._getYN + else: + self.getPos = self._getPosS + self.getX = self._getXS + self.getY = self._getYS - def getPos(self): + def _getPosN(self): return pygame.mouse.get_pos() - - def getX(self): + + def _getXN(self): return pygame.mouse.get_pos()[0] - - def getY(self): + + def _getYN(self): return pygame.mouse.get_pos()[1] + def _getPosS(self): + x, y = pygame.mouse.get_pos() + return ( int(x / self.mScale) , int(y / self.mScale) ) + + def _getXS(self): + return int(pygame.mouse.get_pos()[0] / self.mScale) + + def _getYS(self): + return int(pygame.mouse.get_pos()[1] / self.mScale) + def pressed(self): return self.mPressed - + def firstPress(self): return (self.mPressed and not self.mPrevPressed) @@ -49,14 +68,10 @@ class CMouse(object): return (not(self.mPressed) and self.mPrevPressed) def update(self): - #print("mouse update") - #print("x=" + str(self.getX())) - #print("y=" + str(self.getY())) - - self.mPrevPressed = self.mPressed; + self.mPrevPressed = self.mPressed pp = pygame.mouse.get_pressed() self.mPressed = (pp[0] == 1 and pp[1] == 0 and pp[2] == 0) - + def destroy(self): self.mInstance = None - #print "destroy" + |