projects
/
physics.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
moved event pumping onto the draw thread, should fix windows event problems
[physics.git]
/
src
/
input
/
inputManager.cpp
diff --git
a/src/input/inputManager.cpp
b/src/input/inputManager.cpp
index
21934c4
..
94b645d
100644
(file)
--- a/
src/input/inputManager.cpp
+++ b/
src/input/inputManager.cpp
@@
-18,6
+18,8
@@
#include "inputManager.h"
#include "../debug.h"
#include "inputManager.h"
#include "../debug.h"
+#include <SDL/SDL.h>
+
#include "../config/keys.h"
#include "../config/keys.h"
@@
-48,6
+50,8
@@
void input::clean()
/// ***** Public Methods *****
/// ***** Public Methods *****
+const Uint32 eventMask = -1; // ALL events
+
void input::update()
{
SDL_Event event;
void input::update()
{
SDL_Event event;
@@
-60,7
+64,7
@@
void input::update()
keyState[i] = isP;
}
keyState[i] = isP;
}
- while(
SDL_PollEvent(&event
))
+ while(
0 < SDL_PeepEvents(&event, 1, SDL_GETEVENT, eventMask
))
{
switch(event.type)
{
{
switch(event.type)
{
@@
-73,6
+77,8
@@
void input::update()
case SDL_QUIT:
keyState[key::end] = wasR;
break;
case SDL_QUIT:
keyState[key::end] = wasR;
break;
+ default:
+ break;
}
}
}
}
}
}
@@
-98,20
+104,20
@@
bool input::mouseRight()
return state & SDL_BUTTON(3);
}
return state & SDL_BUTTON(3);
}
-bool input::isPressed(
SDLKey
key)
+bool input::isPressed(
const SDLKey&
key)
{
return keyState[key] == isP || keyState[key] == wasP;
}
{
return keyState[key] == isP || keyState[key] == wasP;
}
-bool input::isReleased(
SDLKey
key)
+bool input::isReleased(
const SDLKey&
key)
{
return keyState[key] == isR || keyState[key] == wasR;
}
{
return keyState[key] == isR || keyState[key] == wasR;
}
-bool input::wasPressed(
SDLKey
key)
+bool input::wasPressed(
const SDLKey&
key)
{
return keyState[key] == wasP;
}
{
return keyState[key] == wasP;
}
-bool input::wasReleased(
SDLKey
key)
+bool input::wasReleased(
const SDLKey&
key)
{
return keyState[key] == wasR;
}
{
return keyState[key] == wasR;
}