summaryrefslogtreecommitdiff
path: root/src/SFML/Window/WindowImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SFML/Window/WindowImpl.cpp')
-rwxr-xr-xsrc/SFML/Window/WindowImpl.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/SFML/Window/WindowImpl.cpp b/src/SFML/Window/WindowImpl.cpp
index bc60543..dd0584f 100755
--- a/src/SFML/Window/WindowImpl.cpp
+++ b/src/SFML/Window/WindowImpl.cpp
@@ -125,7 +125,7 @@ void WindowImpl::RemoveListener(WindowListener* Listener)
void WindowImpl::Initialize()
{
// Initialize the joysticks
- for (unsigned int i = 0; i < JoysticksCount; ++i)
+ for (unsigned int i = 0; i < Joy::Count; ++i)
{
myJoysticks[i].Initialize(i);
myJoyStates[i] = myJoysticks[i].UpdateState();
@@ -214,25 +214,29 @@ int WindowImpl::EvaluateConfig(const VideoMode& Mode, const WindowSettings& Sett
////////////////////////////////////////////////////////////
void WindowImpl::ProcessJoystickEvents()
{
- for (unsigned int i = 0; i < JoysticksCount; ++i)
+ for (unsigned int i = 0; i < Joy::Count; ++i)
{
// Copy the previous state of the joystick and get the new one
JoystickState PreviousState = myJoyStates[i];
myJoyStates[i] = myJoysticks[i].UpdateState();
// Axis
- for (unsigned int j = 0; j < myJoysticks[i].GetAxesCount(); ++j)
+ for (unsigned int j = 0; j < Joy::AxisCount; ++j)
{
- float PrevPos = PreviousState.Axis[j];
- float CurrPos = myJoyStates[i].Axis[j];
- if (fabs(CurrPos - PrevPos) >= myJoyThreshold)
+ Joy::Axis Axis = static_cast<Joy::Axis>(j);
+ if (myJoysticks[i].HasAxis(Axis))
{
- Event Event;
- Event.Type = Event::JoyMoved;
- Event.JoyMove.JoystickId = i;
- Event.JoyMove.Axis = static_cast<Joy::Axis>(j);
- Event.JoyMove.Position = CurrPos;
- SendEvent(Event);
+ float PrevPos = PreviousState.Axis[j];
+ float CurrPos = myJoyStates[i].Axis[j];
+ if (fabs(CurrPos - PrevPos) >= myJoyThreshold)
+ {
+ Event Event;
+ Event.Type = Event::JoyMoved;
+ Event.JoyMove.JoystickId = i;
+ Event.JoyMove.Axis = Axis;
+ Event.JoyMove.Position = CurrPos;
+ SendEvent(Event);
+ }
}
}