123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #include "Mouse.h"
- Mouse Mouse::mouseArray[Mouse::NUMBER_OF_BUTTONS];
- int Mouse::mappingArray[Mouse::NUMBER_OF_BUTTONS];
- Mouse::Mouse()
- {
- }
- bool Mouse::isDown(int mapping)
- {
- return isInRange(mapping) && mouseArray[mappingArray[mapping]].down;
- }
- bool Mouse::isReleased(int mapping)
- {
- return isInRange(mapping) && mouseArray[mappingArray[mapping]].shouldRelease;
- }
- unsigned int Mouse::getDownTime(int mapping)
- {
- bool m = isInRange(mapping);
- return m * mouseArray[mappingArray[mapping * m]].downTime;
- }
- void Mouse::resetDownTime(int mapping)
- {
- mouseArray[mappingArray[mapping * isInRange(mapping)]].downTime = 0;
- }
- bool Mouse::map(int mapping, int mouse)
- {
- bool b = isInRange(mapping) && isInRange(mouse);
- mappingArray[mapping * b] = b * mouse;
- }
- bool Mouse::isInRange(int i)
- {
- return i >= 0 && i < NUMBER_OF_BUTTONS;
- }
- void Mouse::init()
- {
- for(int i = 0; i < NUMBER_OF_BUTTONS; i++)
- {
- mappingArray[i] = 0;
- }
- }
- void Mouse::tick()
- {
- for(int i = 0; i < NUMBER_OF_BUTTONS; i++)
- {
- mouseArray[i].downTime += mouseArray[i].down;
-
- mouseArray[i].down = mouseArray[i].down && !mouseArray[i].shouldRelease;
- mouseArray[i].downTime *= !mouseArray[i].shouldRelease;
- mouseArray[i].shouldRelease = false;
- }
- }
- bool Mouse::press(int mouse)
- {
- int index = isInRange(mouse) * mouse;
- mouseArray[index].down = true;
- mouseArray[index].shouldRelease = false;
- }
- bool Mouse::release(int mouse)
- {
- int index = isInRange(mouse) * mouse;
- mouseArray[index].shouldRelease = true;
- }
|