mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-24 21:53:37 +02:00
Make enumeration counts constant expressions
This change allows now having these variables as array sizes that are not Variable Length Arrays like in structs for example. To note however that this changes the type from unsigned int to an implementation defined type which usually `int` which is signed and not unsigned.
This commit is contained in:
1 parent
cc92ca36b7
commit
884dcde3c3
9 files changed
+20
-24
No files matched your search
@@ -144,8 +144,10 @@ typedef enum
|
||||
sfKeyPause, ///< The Pause key
|
||||
} sfKeyCode;
|
||||
|
||||
CSFML_WINDOW_API const unsigned int sfKeyCount; ///< The total number of keyboard keys
|
||||
|
||||
enum
|
||||
{
|
||||
sfKeyCount = sfKeyPause + 1 ///< The total number of keyboard keys
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Scancodes
|
||||
@@ -312,8 +314,10 @@ typedef enum
|
||||
sfScanLaunchMediaSelect, //!< Keyboard Launch Media Select key
|
||||
} sfScancode;
|
||||
|
||||
CSFML_WINDOW_API const unsigned int sfScancodeCount; //!< The total number of scancodes
|
||||
|
||||
enum
|
||||
{
|
||||
sfScancodeCount = sfScanLaunchMediaSelect + 1 //!< The total number of scancodes
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Check if a key is pressed
|
||||
|
||||
@@ -46,7 +46,10 @@ typedef enum
|
||||
sfMouseButtonExtra2, ///< The second extra mouse button
|
||||
} sfMouseButton;
|
||||
|
||||
CSFML_WINDOW_API const unsigned int sfMouseButtonCount; ///< The total number of mouse buttons
|
||||
enum
|
||||
{
|
||||
sfMouseButtonCount = sfMouseButtonExtra2 + 1 ///< The total number of mouse buttons
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Mouse wheels
|
||||
|
||||
@@ -47,8 +47,10 @@ typedef enum
|
||||
sfSensorOrientation, ///< Measures the absolute 3D orientation (degrees)
|
||||
} sfSensorType;
|
||||
|
||||
CSFML_WINDOW_API const unsigned int sfSensorCount; ///< The total number of sensor types
|
||||
|
||||
enum
|
||||
{
|
||||
sfSensorCount = sfSensorOrientation + 1 ///< The total number of sensor types
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Check if a sensor is available on the underlying platform
|
||||
|
||||
@@ -33,11 +33,6 @@
|
||||
#include <cstring>
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
const unsigned int sfKeyCount = sfKeyPause + 1;
|
||||
const unsigned int sfScancodeCount = sfScanLaunchMediaSelect + 1;
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
bool sfKeyboard_isKeyPressed(sfKeyCode key)
|
||||
{
|
||||
|
||||
@@ -33,10 +33,6 @@
|
||||
#include <SFML/Window/Mouse.hpp>
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
const unsigned int sfMouseButtonCount = sfMouseButtonExtra2 + 1;
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
bool sfMouse_isButtonPressed(sfMouseButton button)
|
||||
{
|
||||
|
||||
@@ -31,10 +31,6 @@
|
||||
#include <SFML/Window/Sensor.hpp>
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
const unsigned int sfSensorCount = sfSensorOrientation + 1;
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
bool sfSensor_isAvailable(sfSensorType sensor)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ TEST_CASE("[Window] sfKeyboard")
|
||||
STATIC_CHECK(sfKeyC == static_cast<int>(sf::Keyboard::Key::C));
|
||||
STATIC_CHECK(sfKeyD == static_cast<int>(sf::Keyboard::Key::D));
|
||||
STATIC_CHECK(sfKeyPause == static_cast<int>(sf::Keyboard::Key::Pause));
|
||||
CHECK(sfKeyCount == sf::Keyboard::KeyCount);
|
||||
STATIC_CHECK(sfKeyCount == sf::Keyboard::KeyCount);
|
||||
}
|
||||
|
||||
SECTION("sfScancode")
|
||||
@@ -24,6 +24,6 @@ TEST_CASE("[Window] sfKeyboard")
|
||||
STATIC_CHECK(sfScanB == static_cast<int>(sf::Keyboard::Scan::B));
|
||||
STATIC_CHECK(sfScanC == static_cast<int>(sf::Keyboard::Scan::C));
|
||||
STATIC_CHECK(sfScanD == static_cast<int>(sf::Keyboard::Scan::D));
|
||||
CHECK(sfScancodeCount == sf::Keyboard::ScancodeCount);
|
||||
STATIC_CHECK(sfScancodeCount == sf::Keyboard::ScancodeCount);
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ TEST_CASE("[Window] sfMouse")
|
||||
STATIC_CHECK(sfMouseMiddle == static_cast<int>(sf::Mouse::Button::Middle));
|
||||
STATIC_CHECK(sfMouseButtonExtra1 == static_cast<int>(sf::Mouse::Button::Extra1));
|
||||
STATIC_CHECK(sfMouseButtonExtra2 == static_cast<int>(sf::Mouse::Button::Extra2));
|
||||
CHECK(sfMouseButtonCount == sf::Mouse::ButtonCount);
|
||||
STATIC_CHECK(sfMouseButtonCount == sf::Mouse::ButtonCount);
|
||||
}
|
||||
|
||||
SECTION("sfMouseWheel")
|
||||
|
||||
@@ -14,6 +14,6 @@ TEST_CASE("[Window] sfSensor")
|
||||
STATIC_CHECK(sfSensorGravity == static_cast<int>(sf::Sensor::Type::Gravity));
|
||||
STATIC_CHECK(sfSensorUserAcceleration == static_cast<int>(sf::Sensor::Type::UserAcceleration));
|
||||
STATIC_CHECK(sfSensorOrientation == static_cast<int>(sf::Sensor::Type::Orientation));
|
||||
CHECK(sfSensorCount == sf::Sensor::Count);
|
||||
STATIC_CHECK(sfSensorCount == sf::Sensor::Count);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user