mirror of
https://github.com/SFML/SFML.git
synced 2024-12-03 08:41:04 +08:00
Renamed Mouse::Count to Mouse::ButtonCount
Renamed Joy::Count to Joy::AxisCount Added Joy::Count and Joy::ButtonCount git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1328 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
e2d0ffcdcf
commit
db72c6e47c
@ -160,7 +160,7 @@ namespace Mouse
|
|||||||
XButton1,
|
XButton1,
|
||||||
XButton2,
|
XButton2,
|
||||||
|
|
||||||
Count // Keep last -- total number of mouse buttons
|
ButtonCount // Keep last -- total number of mouse buttons
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,7 +180,13 @@ namespace Joy
|
|||||||
AxisV,
|
AxisV,
|
||||||
AxisPOV,
|
AxisPOV,
|
||||||
|
|
||||||
Count // Keep last -- total number of joystick axis
|
AxisCount // Keep last -- total number of joystick axis
|
||||||
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
Count = 4, ///< Total number of supported joysticks
|
||||||
|
ButtonCount = 32 ///< Total number of supported joystick buttons
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,24 +123,15 @@ private :
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void ResetStates();
|
void ResetStates();
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
// Joystick limits
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
NbJoysticks = 4,
|
|
||||||
NbJoystickButtons = 32
|
|
||||||
};
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Member data
|
// Member data
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool myKeys[Key::Count]; ///< Array containing the state of all keyboard keys
|
bool myKeys[Key::Count]; ///< Array containing the state of all keyboard keys
|
||||||
bool myMouseButtons[Mouse::Count]; ///< Array containing the state of all mouse buttons
|
bool myMouseButtons[Mouse::ButtonCount]; ///< Array containing the state of all mouse buttons
|
||||||
int myMouseX; ///< Mouse position on X
|
int myMouseX; ///< Mouse position on X
|
||||||
int myMouseY; ///< Mouse position on Y
|
int myMouseY; ///< Mouse position on Y
|
||||||
bool myJoystickButtons[NbJoysticks][NbJoystickButtons]; ///< Array containing the state of all joysticks buttons
|
bool myJoystickButtons[Joy::Count][Joy::ButtonCount]; ///< Array containing the state of all joysticks buttons
|
||||||
float myJoystickAxis[NbJoysticks][Joy::Count]; ///< Joysticks position on each axis
|
float myJoystickAxis[Joy::Count][Joy::AxisCount]; ///< Joysticks position on each axis
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace sf
|
} // namespace sf
|
||||||
|
@ -64,7 +64,7 @@ bool Input::IsMouseButtonDown(Mouse::Button Button) const
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool Input::IsJoystickButtonDown(unsigned int JoyId, unsigned int Button) const
|
bool Input::IsJoystickButtonDown(unsigned int JoyId, unsigned int Button) const
|
||||||
{
|
{
|
||||||
if ((JoyId < NbJoysticks) && (Button < NbJoystickButtons))
|
if ((JoyId < Joy::Count) && (Button < Joy::ButtonCount))
|
||||||
return myJoystickButtons[JoyId][Button];
|
return myJoystickButtons[JoyId][Button];
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
@ -94,7 +94,7 @@ int Input::GetMouseY() const
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
float Input::GetJoystickAxis(unsigned int JoyId, Joy::Axis Axis) const
|
float Input::GetJoystickAxis(unsigned int JoyId, Joy::Axis Axis) const
|
||||||
{
|
{
|
||||||
if (JoyId < NbJoysticks)
|
if (JoyId < Joy::Count)
|
||||||
return myJoystickAxis[JoyId][Axis];
|
return myJoystickAxis[JoyId][Axis];
|
||||||
else
|
else
|
||||||
return 0.f;
|
return 0.f;
|
||||||
@ -152,15 +152,15 @@ void Input::ResetStates()
|
|||||||
for (int i = 0; i < Key::Count; ++i)
|
for (int i = 0; i < Key::Count; ++i)
|
||||||
myKeys[i] = false;
|
myKeys[i] = false;
|
||||||
|
|
||||||
for (int i = 0; i < Mouse::Count; ++i)
|
for (int i = 0; i < Mouse::ButtonCount; ++i)
|
||||||
myMouseButtons[i] = false;
|
myMouseButtons[i] = false;
|
||||||
|
|
||||||
for (int i = 0; i < NbJoysticks; ++i)
|
for (int i = 0; i < Joy::Count; ++i)
|
||||||
{
|
{
|
||||||
for (int j = 0; j < NbJoystickButtons; ++j)
|
for (int j = 0; j < Joy::ButtonCount; ++j)
|
||||||
myJoystickButtons[i][j] = false;
|
myJoystickButtons[i][j] = false;
|
||||||
|
|
||||||
for (int j = 0; j < Joy::Count; ++j)
|
for (int j = 0; j < Joy::AxisCount; ++j)
|
||||||
myJoystickAxis[i][j] = 0.f;
|
myJoystickAxis[i][j] = 0.f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,10 +41,8 @@ namespace priv
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
struct JoystickState
|
struct JoystickState
|
||||||
{
|
{
|
||||||
enum {MaxButtons = 32};
|
float Axis[Joy::AxisCount]; ///< Position on each axis in range [-100, 100] (except POV which is [0, 360])
|
||||||
|
bool Buttons[Joy::ButtonCount]; ///< Status of each button (true = pressed)
|
||||||
float Axis[Joy::Count]; ///< Position on each axis in range [-100, 100] (except POV which is [0, 360])
|
|
||||||
bool Buttons[MaxButtons]; ///< Status of each button (true = pressed)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace priv
|
} // namespace priv
|
||||||
|
@ -51,11 +51,11 @@ void Joystick::Initialize(unsigned int Index)
|
|||||||
myNbButtons = 0;
|
myNbButtons = 0;
|
||||||
myPovX = 0;
|
myPovX = 0;
|
||||||
myPovY = 0;
|
myPovY = 0;
|
||||||
for (int i = 0; i < JoystickState::MaxButtons; ++i)
|
for (int i = 0; i < Joy::ButtonCount; ++i)
|
||||||
{
|
{
|
||||||
myState.Buttons[i] = false;
|
myState.Buttons[i] = false;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < Joy::Count; ++i)
|
for (int i = 0; i < Joy::AxisCount; ++i)
|
||||||
{
|
{
|
||||||
myState.Axis[i] = 0.f;
|
myState.Axis[i] = 0.f;
|
||||||
myAxes[i] = false;
|
myAxes[i] = false;
|
||||||
@ -74,6 +74,8 @@ void Joystick::Initialize(unsigned int Index)
|
|||||||
char NbButtons;
|
char NbButtons;
|
||||||
ioctl(myDescriptor, JSIOCGBUTTONS, &NbButtons);
|
ioctl(myDescriptor, JSIOCGBUTTONS, &NbButtons);
|
||||||
myNbButtons = NbButtons;
|
myNbButtons = NbButtons;
|
||||||
|
if (myNbButtons > Joy::ButtonCount)
|
||||||
|
myNbButtons = Joy::ButtonCount;
|
||||||
|
|
||||||
// Get the supported axes
|
// Get the supported axes
|
||||||
char NbAxes, Axes[ABS_MAX + 1];
|
char NbAxes, Axes[ABS_MAX + 1];
|
||||||
@ -120,8 +122,8 @@ JoystickState Joystick::UpdateState()
|
|||||||
case ABS_RZ: case ABS_RUDDER: myState.Axis[Joy::AxisR] = JoyState.value * 100.f / 32767.f; break;
|
case ABS_RZ: case ABS_RUDDER: myState.Axis[Joy::AxisR] = JoyState.value * 100.f / 32767.f; break;
|
||||||
case ABS_RX : myState.Axis[Joy::AxisU] = JoyState.value * 100.f / 32767.f; break;
|
case ABS_RX : myState.Axis[Joy::AxisU] = JoyState.value * 100.f / 32767.f; break;
|
||||||
case ABS_RY : myState.Axis[Joy::AxisV] = JoyState.value * 100.f / 32767.f; break;
|
case ABS_RY : myState.Axis[Joy::AxisV] = JoyState.value * 100.f / 32767.f; break;
|
||||||
case ABS_HAT0X : myPovX = JoyState.value; break;
|
case ABS_HAT0X : myPovX = JoyState.value; break;
|
||||||
case ABS_HAT0Y : myPovY = JoyState.value; break;
|
case ABS_HAT0Y : myPovY = JoyState.value; break;
|
||||||
default : break;
|
default : break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -80,12 +80,12 @@ private :
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Member data
|
// Member data
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
int myDescriptor; ///< Linux descriptor of the joystick
|
int myDescriptor; ///< Linux descriptor of the joystick
|
||||||
unsigned int myNbButtons; ///< Number of buttons supported by the joystick
|
unsigned int myNbButtons; ///< Number of buttons supported by the joystick
|
||||||
bool myAxes[Joy::Count]; ///< Supported axes
|
bool myAxes[Joy::AxisCount]; ///< Supported axes
|
||||||
JoystickState myState; ///< Current state of the joystick
|
JoystickState myState; ///< Current state of the joystick
|
||||||
int myPovX; ///< Last X position of the POV
|
int myPovX; ///< Last X position of the POV
|
||||||
int myPovY; ///< Last Y position of the POV
|
int myPovY; ///< Last Y position of the POV
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace priv
|
} // namespace priv
|
||||||
|
@ -46,7 +46,7 @@ void Joystick::Initialize(unsigned int Index)
|
|||||||
myNbButtons = 0;
|
myNbButtons = 0;
|
||||||
myIsConnected = false;
|
myIsConnected = false;
|
||||||
myHasContinuousPOV = false;
|
myHasContinuousPOV = false;
|
||||||
for (int i = 0; i < Joy::Count; ++i)
|
for (int i = 0; i < Joy::AxisCount; ++i)
|
||||||
myAxes[i] = false;
|
myAxes[i] = false;
|
||||||
|
|
||||||
// Get the Index-th connected joystick
|
// Get the Index-th connected joystick
|
||||||
@ -67,8 +67,8 @@ void Joystick::Initialize(unsigned int Index)
|
|||||||
JOYCAPS Caps;
|
JOYCAPS Caps;
|
||||||
joyGetDevCaps(myIndex, &Caps, sizeof(Caps));
|
joyGetDevCaps(myIndex, &Caps, sizeof(Caps));
|
||||||
myNbButtons = Caps.wNumButtons;
|
myNbButtons = Caps.wNumButtons;
|
||||||
if (myNbButtons > JoystickState::MaxButtons)
|
if (myNbButtons > Joy::ButtonCount)
|
||||||
myNbButtons = JoystickState::MaxButtons;
|
myNbButtons = Joy::ButtonCount;
|
||||||
|
|
||||||
myAxes[Joy::AxisX] = true;
|
myAxes[Joy::AxisX] = true;
|
||||||
myAxes[Joy::AxisY] = true;
|
myAxes[Joy::AxisY] = true;
|
||||||
|
@ -80,11 +80,11 @@ private :
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Member data
|
// Member data
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool myIsConnected; ///< Is there a joystick connected?
|
bool myIsConnected; ///< Is there a joystick connected?
|
||||||
unsigned int myIndex; ///< Windows ID of the joystick
|
unsigned int myIndex; ///< Windows ID of the joystick
|
||||||
unsigned int myNbButtons; ///< Number of buttons supported by the joystick
|
unsigned int myNbButtons; ///< Number of buttons supported by the joystick
|
||||||
bool myAxes[Joy::Count]; ///< Supported axes
|
bool myAxes[Joy::AxisCount]; ///< Supported axes
|
||||||
bool myHasContinuousPOV; ///< True if the driver supports continuous values for the POV
|
bool myHasContinuousPOV; ///< True if the driver supports continuous values for the POV
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace priv
|
} // namespace priv
|
||||||
|
@ -125,7 +125,7 @@ void WindowImpl::RemoveListener(WindowListener* Listener)
|
|||||||
void WindowImpl::Initialize()
|
void WindowImpl::Initialize()
|
||||||
{
|
{
|
||||||
// Initialize the joysticks
|
// Initialize the joysticks
|
||||||
for (unsigned int i = 0; i < JoysticksCount; ++i)
|
for (unsigned int i = 0; i < Joy::Count; ++i)
|
||||||
{
|
{
|
||||||
myJoysticks[i].Initialize(i);
|
myJoysticks[i].Initialize(i);
|
||||||
myJoyStates[i] = myJoysticks[i].UpdateState();
|
myJoyStates[i] = myJoysticks[i].UpdateState();
|
||||||
@ -214,14 +214,14 @@ int WindowImpl::EvaluateConfig(const VideoMode& Mode, const WindowSettings& Sett
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void WindowImpl::ProcessJoystickEvents()
|
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
|
// Copy the previous state of the joystick and get the new one
|
||||||
JoystickState PreviousState = myJoyStates[i];
|
JoystickState PreviousState = myJoyStates[i];
|
||||||
myJoyStates[i] = myJoysticks[i].UpdateState();
|
myJoyStates[i] = myJoysticks[i].UpdateState();
|
||||||
|
|
||||||
// Axis
|
// Axis
|
||||||
for (unsigned int j = 0; j < Joy::Count; ++j)
|
for (unsigned int j = 0; j < Joy::AxisCount; ++j)
|
||||||
{
|
{
|
||||||
Joy::Axis Axis = static_cast<Joy::Axis>(j);
|
Joy::Axis Axis = static_cast<Joy::Axis>(j);
|
||||||
if (myJoysticks[i].HasAxis(Axis))
|
if (myJoysticks[i].HasAxis(Axis))
|
||||||
|
@ -290,18 +290,13 @@ private :
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
virtual void ProcessEvents() = 0;
|
virtual void ProcessEvents() = 0;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
// Total number of joysticks supported
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
enum {JoysticksCount = 4};
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Member data
|
// Member data
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
std::set<WindowListener*> myListeners; ///< Array of listeners connected to the window
|
std::set<WindowListener*> myListeners; ///< Array of listeners connected to the window
|
||||||
Joystick myJoysticks[JoysticksCount]; ///< Joysticks to observe
|
Joystick myJoysticks[Joy::Count]; ///< Joysticks to observe
|
||||||
JoystickState myJoyStates[JoysticksCount]; ///< Current states of the joysticks
|
JoystickState myJoyStates[Joy::Count]; ///< Current states of the joysticks
|
||||||
float myJoyThreshold; ///< Joystick threshold (minimum motion for MOVE event to be generated)
|
float myJoyThreshold; ///< Joystick threshold (minimum motion for MOVE event to be generated)
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace priv
|
} // namespace priv
|
||||||
|
Loading…
Reference in New Issue
Block a user