Retrait d'instances de mc"clone"
This commit is contained in:
		
							
								
								
									
										151
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Context.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Context.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,151 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_CONTEXT_HPP | ||||
| #define SFML_CONTEXT_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
| #include <SFML/Window/GlResource.hpp> | ||||
| #include <SFML/Window/ContextSettings.hpp> | ||||
| #include <SFML/System/NonCopyable.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| namespace priv | ||||
| { | ||||
|     class GlContext; | ||||
| } | ||||
|  | ||||
| typedef void (*GlFunctionPointer)(); | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Class holding a valid drawing context | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API Context : GlResource, NonCopyable | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Default constructor | ||||
|     /// | ||||
|     /// The constructor creates and activates the context | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     Context(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Destructor | ||||
|     /// | ||||
|     /// The destructor deactivates and destroys the context | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     ~Context(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Activate or deactivate explicitly the context | ||||
|     /// | ||||
|     /// \param active True to activate, false to deactivate | ||||
|     /// | ||||
|     /// \return True on success, false on failure | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     bool setActive(bool active); | ||||
|  | ||||
| public: | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the address of an OpenGL function | ||||
|     /// | ||||
|     /// \param name Name of the function to get the address of | ||||
|     /// | ||||
|     /// \return Address of the OpenGL function, 0 on failure | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static GlFunctionPointer getFunction(const char* name); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Construct a in-memory context | ||||
|     /// | ||||
|     /// This constructor is for internal use, you don't need | ||||
|     /// to bother with it. | ||||
|     /// | ||||
|     /// \param settings Creation parameters | ||||
|     /// \param width    Back buffer width | ||||
|     /// \param height   Back buffer height | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     Context(const ContextSettings& settings, unsigned int width, unsigned int height); | ||||
|  | ||||
| private: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     // Member data | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     priv::GlContext* m_context; ///< Internal OpenGL context | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_CONTEXT_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::Context | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// If you need to make OpenGL calls without having an | ||||
| /// active window (like in a thread), you can use an | ||||
| /// instance of this class to get a valid context. | ||||
| /// | ||||
| /// Having a valid context is necessary for *every* OpenGL call. | ||||
| /// | ||||
| /// Note that a context is only active in its current thread, | ||||
| /// if you create a new thread it will have no valid context | ||||
| /// by default. | ||||
| /// | ||||
| /// To use a sf::Context instance, just construct it and let it | ||||
| /// live as long as you need a valid context. No explicit activation | ||||
| /// is needed, all it has to do is to exist. Its destructor | ||||
| /// will take care of deactivating and freeing all the attached | ||||
| /// resources. | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// void threadFunction(void*) | ||||
| /// { | ||||
| ///    sf::Context context; | ||||
| ///    // from now on, you have a valid context | ||||
| /// | ||||
| ///    // you can make OpenGL calls | ||||
| ///    glClear(GL_DEPTH_BUFFER_BIT); | ||||
| /// } | ||||
| /// // the context is automatically deactivated and destroyed | ||||
| /// // by the sf::Context destructor | ||||
| /// \endcode | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										145
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/ContextSettings.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										145
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/ContextSettings.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,145 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_CONTEXTSETTINGS_HPP | ||||
| #define SFML_CONTEXTSETTINGS_HPP | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Structure defining the settings of the OpenGL | ||||
| ///        context attached to a window | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| struct ContextSettings | ||||
| { | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Enumeration of the context attribute flags | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum Attribute | ||||
|     { | ||||
|         Default = 0,      ///< Non-debug, compatibility context (this and the core attribute are mutually exclusive) | ||||
|         Core    = 1 << 0, ///< Core attribute | ||||
|         Debug   = 1 << 2  ///< Debug attribute | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Default constructor | ||||
|     /// | ||||
|     /// \param depth        Depth buffer bits | ||||
|     /// \param stencil      Stencil buffer bits | ||||
|     /// \param antialiasing Antialiasing level | ||||
|     /// \param major        Major number of the context version | ||||
|     /// \param minor        Minor number of the context version | ||||
|     /// \param attributes   Attribute flags of the context | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     explicit ContextSettings(unsigned int depth = 0, unsigned int stencil = 0, unsigned int antialiasing = 0, unsigned int major = 1, unsigned int minor = 1, unsigned int attributes = Default) : | ||||
|     depthBits        (depth), | ||||
|     stencilBits      (stencil), | ||||
|     antialiasingLevel(antialiasing), | ||||
|     majorVersion     (major), | ||||
|     minorVersion     (minor), | ||||
|     attributeFlags   (attributes) | ||||
|     { | ||||
|     } | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     // Member data | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     unsigned int depthBits;         ///< Bits of the depth buffer | ||||
|     unsigned int stencilBits;       ///< Bits of the stencil buffer | ||||
|     unsigned int antialiasingLevel; ///< Level of antialiasing | ||||
|     unsigned int majorVersion;      ///< Major number of the context version to create | ||||
|     unsigned int minorVersion;      ///< Minor number of the context version to create | ||||
|     Uint32       attributeFlags;    ///< The attribute flags to create the context with | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_CONTEXTSETTINGS_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::ContextSettings | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// ContextSettings allows to define several advanced settings | ||||
| /// of the OpenGL context attached to a window. All these | ||||
| /// settings with the exception of the compatibility flag | ||||
| /// and anti-aliasing level have no impact on the regular | ||||
| /// SFML rendering (graphics module), so you may need to use | ||||
| /// this structure only if you're using SFML as a windowing | ||||
| /// system for custom OpenGL rendering. | ||||
| /// | ||||
| /// The depthBits and stencilBits members define the number | ||||
| /// of bits per pixel requested for the (respectively) depth | ||||
| /// and stencil buffers. | ||||
| /// | ||||
| /// antialiasingLevel represents the requested number of | ||||
| /// multisampling levels for anti-aliasing. | ||||
| /// | ||||
| /// majorVersion and minorVersion define the version of the | ||||
| /// OpenGL context that you want. Only versions greater or | ||||
| /// equal to 3.0 are relevant; versions lesser than 3.0 are | ||||
| /// all handled the same way (i.e. you can use any version | ||||
| /// < 3.0 if you don't want an OpenGL 3 context). | ||||
| /// | ||||
| /// When requesting a context with a version greater or equal | ||||
| /// to 3.2, you have the option of specifying whether the | ||||
| /// context should follow the core or compatibility profile | ||||
| /// of all newer (>= 3.2) OpenGL specifications. For versions | ||||
| /// 3.0 and 3.1 there is only the core profile. By default | ||||
| /// a compatibility context is created. You only need to specify | ||||
| /// the core flag if you want a core profile context to use with | ||||
| /// your own OpenGL rendering. | ||||
| /// <b>Warning: The graphics module will not function if you | ||||
| /// request a core profile context. Make sure the attributes are | ||||
| /// set to Default if you want to use the graphics module.</b> | ||||
| /// | ||||
| /// Setting the debug attribute flag will request a context with | ||||
| /// additional debugging features enabled. Depending on the | ||||
| /// system, this might be required for advanced OpenGL debugging. | ||||
| /// OpenGL debugging is disabled by default. | ||||
| /// | ||||
| /// <b>Special Note for OS X:</b> | ||||
| /// Apple only supports choosing between either a legacy context | ||||
| /// (OpenGL 2.1) or a core context (OpenGL version depends on the | ||||
| /// operating system version but is at least 3.2). Compatibility | ||||
| /// contexts are not supported. Further information is available on the | ||||
| /// <a href="https://developer.apple.com/opengl/capabilities/index.html"> | ||||
| /// OpenGL Capabilities Tables</a> page. OS X also currently does | ||||
| /// not support debug contexts. | ||||
| /// | ||||
| /// Please note that these values are only a hint. | ||||
| /// No failure will be reported if one or more of these values | ||||
| /// are not supported by the system; instead, SFML will try to | ||||
| /// find the closest valid match. You can then retrieve the | ||||
| /// settings that the window actually used to create its context, | ||||
| /// with Window::getSettings(). | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										284
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Event.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										284
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Event.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,284 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_EVENT_HPP | ||||
| #define SFML_EVENT_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Config.hpp> | ||||
| #include <SFML/Window/Joystick.hpp> | ||||
| #include <SFML/Window/Keyboard.hpp> | ||||
| #include <SFML/Window/Mouse.hpp> | ||||
| #include <SFML/Window/Sensor.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Defines a system event and its parameters | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class Event | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Size events parameters (Resized) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct SizeEvent | ||||
|     { | ||||
|         unsigned int width;  ///< New width, in pixels | ||||
|         unsigned int height; ///< New height, in pixels | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Keyboard event parameters (KeyPressed, KeyReleased) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct KeyEvent | ||||
|     { | ||||
|         Keyboard::Key code;    ///< Code of the key that has been pressed | ||||
|         bool          alt;     ///< Is the Alt key pressed? | ||||
|         bool          control; ///< Is the Control key pressed? | ||||
|         bool          shift;   ///< Is the Shift key pressed? | ||||
|         bool          system;  ///< Is the System key pressed? | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Text event parameters (TextEntered) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct TextEvent | ||||
|     { | ||||
|         Uint32 unicode; ///< UTF-32 Unicode value of the character | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Mouse move event parameters (MouseMoved) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct MouseMoveEvent | ||||
|     { | ||||
|         int x; ///< X position of the mouse pointer, relative to the left of the owner window | ||||
|         int y; ///< Y position of the mouse pointer, relative to the top of the owner window | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Mouse buttons events parameters | ||||
|     ///        (MouseButtonPressed, MouseButtonReleased) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct MouseButtonEvent | ||||
|     { | ||||
|         Mouse::Button button; ///< Code of the button that has been pressed | ||||
|         int           x;      ///< X position of the mouse pointer, relative to the left of the owner window | ||||
|         int           y;      ///< Y position of the mouse pointer, relative to the top of the owner window | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Mouse wheel events parameters (MouseWheelMoved) | ||||
|     /// | ||||
|     /// \deprecated This event is deprecated and potentially inaccurate. | ||||
|     ///             Use MouseWheelScrollEvent instead. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct MouseWheelEvent | ||||
|     { | ||||
|         int delta; ///< Number of ticks the wheel has moved (positive is up, negative is down) | ||||
|         int x;     ///< X position of the mouse pointer, relative to the left of the owner window | ||||
|         int y;     ///< Y position of the mouse pointer, relative to the top of the owner window | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Mouse wheel events parameters (MouseWheelScrolled) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct MouseWheelScrollEvent | ||||
|     { | ||||
|         Mouse::Wheel wheel; ///< Which wheel (for mice with multiple ones) | ||||
|         float        delta; ///< Wheel offset (positive is up/left, negative is down/right). High-precision mice may use non-integral offsets. | ||||
|         int          x;     ///< X position of the mouse pointer, relative to the left of the owner window | ||||
|         int          y;     ///< Y position of the mouse pointer, relative to the top of the owner window | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Joystick connection events parameters | ||||
|     ///        (JoystickConnected, JoystickDisconnected) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct JoystickConnectEvent | ||||
|     { | ||||
|         unsigned int joystickId; ///< Index of the joystick (in range [0 .. Joystick::Count - 1]) | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Joystick axis move event parameters (JoystickMoved) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct JoystickMoveEvent | ||||
|     { | ||||
|         unsigned int   joystickId; ///< Index of the joystick (in range [0 .. Joystick::Count - 1]) | ||||
|         Joystick::Axis axis;       ///< Axis on which the joystick moved | ||||
|         float          position;   ///< New position on the axis (in range [-100 .. 100]) | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Joystick buttons events parameters | ||||
|     ///        (JoystickButtonPressed, JoystickButtonReleased) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct JoystickButtonEvent | ||||
|     { | ||||
|         unsigned int joystickId; ///< Index of the joystick (in range [0 .. Joystick::Count - 1]) | ||||
|         unsigned int button;     ///< Index of the button that has been pressed (in range [0 .. Joystick::ButtonCount - 1]) | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Touch events parameters (TouchBegan, TouchMoved, TouchEnded) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct TouchEvent | ||||
|     { | ||||
|         unsigned int finger; ///< Index of the finger in case of multi-touch events | ||||
|         int x;               ///< X position of the touch, relative to the left of the owner window | ||||
|         int y;               ///< Y position of the touch, relative to the top of the owner window | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Sensor event parameters (SensorChanged) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct SensorEvent | ||||
|     { | ||||
|         Sensor::Type type; ///< Type of the sensor | ||||
|         float x;           ///< Current value of the sensor on X axis | ||||
|         float y;           ///< Current value of the sensor on Y axis | ||||
|         float z;           ///< Current value of the sensor on Z axis | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Enumeration of the different types of events | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum EventType | ||||
|     { | ||||
|         Closed,                 ///< The window requested to be closed (no data) | ||||
|         Resized,                ///< The window was resized (data in event.size) | ||||
|         LostFocus,              ///< The window lost the focus (no data) | ||||
|         GainedFocus,            ///< The window gained the focus (no data) | ||||
|         TextEntered,            ///< A character was entered (data in event.text) | ||||
|         KeyPressed,             ///< A key was pressed (data in event.key) | ||||
|         KeyReleased,            ///< A key was released (data in event.key) | ||||
|         MouseWheelMoved,        ///< The mouse wheel was scrolled (data in event.mouseWheel) (deprecated) | ||||
|         MouseWheelScrolled,     ///< The mouse wheel was scrolled (data in event.mouseWheelScroll) | ||||
|         MouseButtonPressed,     ///< A mouse button was pressed (data in event.mouseButton) | ||||
|         MouseButtonReleased,    ///< A mouse button was released (data in event.mouseButton) | ||||
|         MouseMoved,             ///< The mouse cursor moved (data in event.mouseMove) | ||||
|         MouseEntered,           ///< The mouse cursor entered the area of the window (no data) | ||||
|         MouseLeft,              ///< The mouse cursor left the area of the window (no data) | ||||
|         JoystickButtonPressed,  ///< A joystick button was pressed (data in event.joystickButton) | ||||
|         JoystickButtonReleased, ///< A joystick button was released (data in event.joystickButton) | ||||
|         JoystickMoved,          ///< The joystick moved along an axis (data in event.joystickMove) | ||||
|         JoystickConnected,      ///< A joystick was connected (data in event.joystickConnect) | ||||
|         JoystickDisconnected,   ///< A joystick was disconnected (data in event.joystickConnect) | ||||
|         TouchBegan,             ///< A touch event began (data in event.touch) | ||||
|         TouchMoved,             ///< A touch moved (data in event.touch) | ||||
|         TouchEnded,             ///< A touch event ended (data in event.touch) | ||||
|         SensorChanged,          ///< A sensor value changed (data in event.sensor) | ||||
|  | ||||
|         Count                   ///< Keep last -- the total number of event types | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     // Member data | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     EventType type; ///< Type of the event | ||||
|  | ||||
|     union | ||||
|     { | ||||
|         SizeEvent             size;              ///< Size event parameters (Event::Resized) | ||||
|         KeyEvent              key;               ///< Key event parameters (Event::KeyPressed, Event::KeyReleased) | ||||
|         TextEvent             text;              ///< Text event parameters (Event::TextEntered) | ||||
|         MouseMoveEvent        mouseMove;         ///< Mouse move event parameters (Event::MouseMoved) | ||||
|         MouseButtonEvent      mouseButton;       ///< Mouse button event parameters (Event::MouseButtonPressed, Event::MouseButtonReleased) | ||||
|         MouseWheelEvent       mouseWheel;        ///< Mouse wheel event parameters (Event::MouseWheelMoved) (deprecated) | ||||
|         MouseWheelScrollEvent mouseWheelScroll;  ///< Mouse wheel event parameters (Event::MouseWheelScrolled) | ||||
|         JoystickMoveEvent     joystickMove;      ///< Joystick move event parameters (Event::JoystickMoved) | ||||
|         JoystickButtonEvent   joystickButton;    ///< Joystick button event parameters (Event::JoystickButtonPressed, Event::JoystickButtonReleased) | ||||
|         JoystickConnectEvent  joystickConnect;   ///< Joystick (dis)connect event parameters (Event::JoystickConnected, Event::JoystickDisconnected) | ||||
|         TouchEvent            touch;             ///< Touch events parameters (Event::TouchBegan, Event::TouchMoved, Event::TouchEnded) | ||||
|         SensorEvent           sensor;            ///< Sensor event parameters (Event::SensorChanged) | ||||
|     }; | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_EVENT_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::Event | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// sf::Event holds all the informations about a system event | ||||
| /// that just happened. Events are retrieved using the | ||||
| /// sf::Window::pollEvent and sf::Window::waitEvent functions. | ||||
| /// | ||||
| /// A sf::Event instance contains the type of the event | ||||
| /// (mouse moved, key pressed, window closed, ...) as well | ||||
| /// as the details about this particular event. Please note that | ||||
| /// the event parameters are defined in a union, which means that | ||||
| /// only the member matching the type of the event will be properly | ||||
| /// filled; all other members will have undefined values and must not | ||||
| /// be read if the type of the event doesn't match. For example, | ||||
| /// if you received a KeyPressed event, then you must read the | ||||
| /// event.key member, all other members such as event.MouseMove | ||||
| /// or event.text will have undefined values. | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// sf::Event event; | ||||
| /// while (window.pollEvent(event)) | ||||
| /// { | ||||
| ///     // Request for closing the window | ||||
| ///     if (event.type == sf::Event::Closed) | ||||
| ///         window.close(); | ||||
| /// | ||||
| ///     // The escape key was pressed | ||||
| ///     if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape)) | ||||
| ///         window.close(); | ||||
| /// | ||||
| ///     // The window was resized | ||||
| ///     if (event.type == sf::Event::Resized) | ||||
| ///         doSomethingWithTheNewSize(event.size.width, event.size.height); | ||||
| /// | ||||
| ///     // etc ... | ||||
| /// } | ||||
| /// \endcode | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										48
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Export.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Export.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_WINDOW_EXPORT_HPP | ||||
| #define SFML_WINDOW_EXPORT_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Config.hpp> | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Define portable import / export macros | ||||
| //////////////////////////////////////////////////////////// | ||||
| #if defined(SFML_WINDOW_EXPORTS) | ||||
|  | ||||
|     #define SFML_WINDOW_API SFML_API_EXPORT | ||||
|  | ||||
| #else | ||||
|  | ||||
|     #define SFML_WINDOW_API SFML_API_IMPORT | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #endif // SFML_WINDOW_EXPORT_HPP | ||||
							
								
								
									
										76
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/GlResource.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/GlResource.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_GLRESOURCE_HPP | ||||
| #define SFML_GLRESOURCE_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Base class for classes that require an OpenGL context | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API GlResource | ||||
| { | ||||
| protected: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Default constructor | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     GlResource(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Destructor | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     ~GlResource(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Make sure that a valid OpenGL context exists in the current thread | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static void ensureGlContext(); | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_GLRESOURCE_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::GlResource | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// This class is for internal use only, it must be the base | ||||
| /// of every class that requires a valid OpenGL context in | ||||
| /// order to work. | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										227
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Joystick.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										227
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Joystick.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,227 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_JOYSTICK_HPP | ||||
| #define SFML_JOYSTICK_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
| #include <SFML/System/String.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Give access to the real-time state of the joysticks | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API Joystick | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Constants related to joysticks capabilities | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum | ||||
|     { | ||||
|         Count       = 8,  ///< Maximum number of supported joysticks | ||||
|         ButtonCount = 32, ///< Maximum number of supported buttons | ||||
|         AxisCount   = 8   ///< Maximum number of supported axes | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Axes supported by SFML joysticks | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum Axis | ||||
|     { | ||||
|         X,    ///< The X axis | ||||
|         Y,    ///< The Y axis | ||||
|         Z,    ///< The Z axis | ||||
|         R,    ///< The R axis | ||||
|         U,    ///< The U axis | ||||
|         V,    ///< The V axis | ||||
|         PovX, ///< The X axis of the point-of-view hat | ||||
|         PovY  ///< The Y axis of the point-of-view hat | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Structure holding a joystick's identification | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     struct SFML_WINDOW_API Identification | ||||
|     { | ||||
|         Identification(); | ||||
|  | ||||
|         String       name;      ///< Name of the joystick | ||||
|         unsigned int vendorId;  ///< Manufacturer identifier | ||||
|         unsigned int productId; ///< Product identifier | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Check if a joystick is connected | ||||
|     /// | ||||
|     /// \param joystick Index of the joystick to check | ||||
|     /// | ||||
|     /// \return True if the joystick is connected, false otherwise | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static bool isConnected(unsigned int joystick); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Return the number of buttons supported by a joystick | ||||
|     /// | ||||
|     /// If the joystick is not connected, this function returns 0. | ||||
|     /// | ||||
|     /// \param joystick Index of the joystick | ||||
|     /// | ||||
|     /// \return Number of buttons supported by the joystick | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static unsigned int getButtonCount(unsigned int joystick); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Check if a joystick supports a given axis | ||||
|     /// | ||||
|     /// If the joystick is not connected, this function returns false. | ||||
|     /// | ||||
|     /// \param joystick Index of the joystick | ||||
|     /// \param axis     Axis to check | ||||
|     /// | ||||
|     /// \return True if the joystick supports the axis, false otherwise | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static bool hasAxis(unsigned int joystick, Axis axis); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Check if a joystick button is pressed | ||||
|     /// | ||||
|     /// If the joystick is not connected, this function returns false. | ||||
|     /// | ||||
|     /// \param joystick Index of the joystick | ||||
|     /// \param button   Button to check | ||||
|     /// | ||||
|     /// \return True if the button is pressed, false otherwise | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static bool isButtonPressed(unsigned int joystick, unsigned int button); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the current position of a joystick axis | ||||
|     /// | ||||
|     /// If the joystick is not connected, this function returns 0. | ||||
|     /// | ||||
|     /// \param joystick Index of the joystick | ||||
|     /// \param axis     Axis to check | ||||
|     /// | ||||
|     /// \return Current position of the axis, in range [-100 .. 100] | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static float getAxisPosition(unsigned int joystick, Axis axis); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the joystick information | ||||
|     /// | ||||
|     /// \param joystick Index of the joystick | ||||
|     /// | ||||
|     /// \return Structure containing joystick information. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static Identification getIdentification(unsigned int joystick); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Update the states of all joysticks | ||||
|     /// | ||||
|     /// This function is used internally by SFML, so you normally | ||||
|     /// don't have to call it explicitly. However, you may need to | ||||
|     /// call it if you have no window yet (or no window at all): | ||||
|     /// in this case the joystick states are not updated automatically. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static void update(); | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_JOYSTICK_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::Joystick | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// sf::Joystick provides an interface to the state of the | ||||
| /// joysticks. It only contains static functions, so it's not | ||||
| /// meant to be instantiated. Instead, each joystick is identified | ||||
| /// by an index that is passed to the functions of this class. | ||||
| /// | ||||
| /// This class allows users to query the state of joysticks at any | ||||
| /// time and directly, without having to deal with a window and | ||||
| /// its events. Compared to the JoystickMoved, JoystickButtonPressed | ||||
| /// and JoystickButtonReleased events, sf::Joystick can retrieve the | ||||
| /// state of axes and buttons of joysticks at any time | ||||
| /// (you don't need to store and update a boolean on your side | ||||
| /// in order to know if a button is pressed or released), and you | ||||
| /// always get the real state of joysticks, even if they are | ||||
| /// moved, pressed or released when your window is out of focus | ||||
| /// and no event is triggered. | ||||
| /// | ||||
| /// SFML supports: | ||||
| /// \li 8 joysticks (sf::Joystick::Count) | ||||
| /// \li 32 buttons per joystick (sf::Joystick::ButtonCount) | ||||
| /// \li 8 axes per joystick (sf::Joystick::AxisCount) | ||||
| /// | ||||
| /// Unlike the keyboard or mouse, the state of joysticks is sometimes | ||||
| /// not directly available (depending on the OS), therefore an update() | ||||
| /// function must be called in order to update the current state of | ||||
| /// joysticks. When you have a window with event handling, this is done | ||||
| /// automatically, you don't need to call anything. But if you have no | ||||
| /// window, or if you want to check joysticks state before creating one, | ||||
| /// you must call sf::Joystick::update explicitly. | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// // Is joystick #0 connected? | ||||
| /// bool connected = sf::Joystick::isConnected(0); | ||||
| /// | ||||
| /// // How many buttons does joystick #0 support? | ||||
| /// unsigned int buttons = sf::Joystick::getButtonCount(0); | ||||
| /// | ||||
| /// // Does joystick #0 define a X axis? | ||||
| /// bool hasX = sf::Joystick::hasAxis(0, sf::Joystick::X); | ||||
| /// | ||||
| /// // Is button #2 pressed on joystick #0? | ||||
| /// bool pressed = sf::Joystick::isButtonPressed(0, 2); | ||||
| /// | ||||
| /// // What's the current position of the Y axis on joystick #0? | ||||
| /// float position = sf::Joystick::getAxisPosition(0, sf::Joystick::Y); | ||||
| /// \endcode | ||||
| /// | ||||
| /// \see sf::Keyboard, sf::Mouse | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										224
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Keyboard.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										224
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Keyboard.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,224 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_KEYBOARD_HPP | ||||
| #define SFML_KEYBOARD_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Give access to the real-time state of the keyboard | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API Keyboard | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Key codes | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum Key | ||||
|     { | ||||
|         Unknown = -1, ///< Unhandled key | ||||
|         A = 0,        ///< The A key | ||||
|         B,            ///< The B key | ||||
|         C,            ///< The C key | ||||
|         D,            ///< The D key | ||||
|         E,            ///< The E key | ||||
|         F,            ///< The F key | ||||
|         G,            ///< The G key | ||||
|         H,            ///< The H key | ||||
|         I,            ///< The I key | ||||
|         J,            ///< The J key | ||||
|         K,            ///< The K key | ||||
|         L,            ///< The L key | ||||
|         M,            ///< The M key | ||||
|         N,            ///< The N key | ||||
|         O,            ///< The O key | ||||
|         P,            ///< The P key | ||||
|         Q,            ///< The Q key | ||||
|         R,            ///< The R key | ||||
|         S,            ///< The S key | ||||
|         T,            ///< The T key | ||||
|         U,            ///< The U key | ||||
|         V,            ///< The V key | ||||
|         W,            ///< The W key | ||||
|         X,            ///< The X key | ||||
|         Y,            ///< The Y key | ||||
|         Z,            ///< The Z key | ||||
|         Num0,         ///< The 0 key | ||||
|         Num1,         ///< The 1 key | ||||
|         Num2,         ///< The 2 key | ||||
|         Num3,         ///< The 3 key | ||||
|         Num4,         ///< The 4 key | ||||
|         Num5,         ///< The 5 key | ||||
|         Num6,         ///< The 6 key | ||||
|         Num7,         ///< The 7 key | ||||
|         Num8,         ///< The 8 key | ||||
|         Num9,         ///< The 9 key | ||||
|         Escape,       ///< The Escape key | ||||
|         LControl,     ///< The left Control key | ||||
|         LShift,       ///< The left Shift key | ||||
|         LAlt,         ///< The left Alt key | ||||
|         LSystem,      ///< The left OS specific key: window (Windows and Linux), apple (MacOS X), ... | ||||
|         RControl,     ///< The right Control key | ||||
|         RShift,       ///< The right Shift key | ||||
|         RAlt,         ///< The right Alt key | ||||
|         RSystem,      ///< The right OS specific key: window (Windows and Linux), apple (MacOS X), ... | ||||
|         Menu,         ///< The Menu key | ||||
|         LBracket,     ///< The [ key | ||||
|         RBracket,     ///< The ] key | ||||
|         SemiColon,    ///< The ; key | ||||
|         Comma,        ///< The , key | ||||
|         Period,       ///< The . key | ||||
|         Quote,        ///< The ' key | ||||
|         Slash,        ///< The / key | ||||
|         BackSlash,    ///< The \ key | ||||
|         Tilde,        ///< The ~ key | ||||
|         Equal,        ///< The = key | ||||
|         Dash,         ///< The - key | ||||
|         Space,        ///< The Space key | ||||
|         Return,       ///< The Return key | ||||
|         BackSpace,    ///< The Backspace key | ||||
|         Tab,          ///< The Tabulation key | ||||
|         PageUp,       ///< The Page up key | ||||
|         PageDown,     ///< The Page down key | ||||
|         End,          ///< The End key | ||||
|         Home,         ///< The Home key | ||||
|         Insert,       ///< The Insert key | ||||
|         Delete,       ///< The Delete key | ||||
|         Add,          ///< The + key | ||||
|         Subtract,     ///< The - key | ||||
|         Multiply,     ///< The * key | ||||
|         Divide,       ///< The / key | ||||
|         Left,         ///< Left arrow | ||||
|         Right,        ///< Right arrow | ||||
|         Up,           ///< Up arrow | ||||
|         Down,         ///< Down arrow | ||||
|         Numpad0,      ///< The numpad 0 key | ||||
|         Numpad1,      ///< The numpad 1 key | ||||
|         Numpad2,      ///< The numpad 2 key | ||||
|         Numpad3,      ///< The numpad 3 key | ||||
|         Numpad4,      ///< The numpad 4 key | ||||
|         Numpad5,      ///< The numpad 5 key | ||||
|         Numpad6,      ///< The numpad 6 key | ||||
|         Numpad7,      ///< The numpad 7 key | ||||
|         Numpad8,      ///< The numpad 8 key | ||||
|         Numpad9,      ///< The numpad 9 key | ||||
|         F1,           ///< The F1 key | ||||
|         F2,           ///< The F2 key | ||||
|         F3,           ///< The F3 key | ||||
|         F4,           ///< The F4 key | ||||
|         F5,           ///< The F5 key | ||||
|         F6,           ///< The F6 key | ||||
|         F7,           ///< The F7 key | ||||
|         F8,           ///< The F8 key | ||||
|         F9,           ///< The F9 key | ||||
|         F10,          ///< The F10 key | ||||
|         F11,          ///< The F11 key | ||||
|         F12,          ///< The F12 key | ||||
|         F13,          ///< The F13 key | ||||
|         F14,          ///< The F14 key | ||||
|         F15,          ///< The F15 key | ||||
|         Pause,        ///< The Pause key | ||||
|  | ||||
|         KeyCount      ///< Keep last -- the total number of keyboard keys | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Check if a key is pressed | ||||
|     /// | ||||
|     /// \param key Key to check | ||||
|     /// | ||||
|     /// \return True if the key is pressed, false otherwise | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static bool isKeyPressed(Key key); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Show or hide the virtual keyboard | ||||
|     /// | ||||
|     /// Warning: the virtual keyboard is not supported on all | ||||
|     /// systems. It will typically be implemented on mobile OSes | ||||
|     /// (Android, iOS) but not on desktop OSes (Windows, Linux, ...). | ||||
|     /// | ||||
|     /// If the virtual keyboard is not available, this function does | ||||
|     /// nothing. | ||||
|     /// | ||||
|     /// \param visible True to show, false to hide | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static void setVirtualKeyboardVisible(bool visible); | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_KEYBOARD_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::Keyboard | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// sf::Keyboard provides an interface to the state of the | ||||
| /// keyboard. It only contains static functions (a single | ||||
| /// keyboard is assumed), so it's not meant to be instantiated. | ||||
| /// | ||||
| /// This class allows users to query the keyboard state at any | ||||
| /// time and directly, without having to deal with a window and | ||||
| /// its events. Compared to the KeyPressed and KeyReleased events, | ||||
| /// sf::Keyboard can retrieve the state of a key at any time | ||||
| /// (you don't need to store and update a boolean on your side | ||||
| /// in order to know if a key is pressed or released), and you | ||||
| /// always get the real state of the keyboard, even if keys are | ||||
| /// pressed or released when your window is out of focus and no | ||||
| /// event is triggered. | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) | ||||
| /// { | ||||
| ///     // move left... | ||||
| /// } | ||||
| /// else if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) | ||||
| /// { | ||||
| ///     // move right... | ||||
| /// } | ||||
| /// else if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) | ||||
| /// { | ||||
| ///     // quit... | ||||
| /// } | ||||
| /// \endcode | ||||
| /// | ||||
| /// \see sf::Joystick, sf::Mouse, sf::Touch | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										177
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Mouse.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										177
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Mouse.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,177 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_MOUSE_HPP | ||||
| #define SFML_MOUSE_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
| #include <SFML/System/Vector2.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| class Window; | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Give access to the real-time state of the mouse | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API Mouse | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Mouse buttons | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum Button | ||||
|     { | ||||
|         Left,       ///< The left mouse button | ||||
|         Right,      ///< The right mouse button | ||||
|         Middle,     ///< The middle (wheel) mouse button | ||||
|         XButton1,   ///< The first extra mouse button | ||||
|         XButton2,   ///< The second extra mouse button | ||||
|  | ||||
|         ButtonCount ///< Keep last -- the total number of mouse buttons | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Mouse wheels | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum Wheel | ||||
|     { | ||||
|         VerticalWheel,  ///< The vertical mouse wheel | ||||
|         HorizontalWheel ///< The horizontal mouse wheel | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Check if a mouse button is pressed | ||||
|     /// | ||||
|     /// \param button Button to check | ||||
|     /// | ||||
|     /// \return True if the button is pressed, false otherwise | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static bool isButtonPressed(Button button); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the current position of the mouse in desktop coordinates | ||||
|     /// | ||||
|     /// This function returns the global position of the mouse | ||||
|     /// cursor on the desktop. | ||||
|     /// | ||||
|     /// \return Current position of the mouse | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static Vector2i getPosition(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the current position of the mouse in window coordinates | ||||
|     /// | ||||
|     /// This function returns the current position of the mouse | ||||
|     /// cursor, relative to the given window. | ||||
|     /// | ||||
|     /// \param relativeTo Reference window | ||||
|     /// | ||||
|     /// \return Current position of the mouse | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static Vector2i getPosition(const Window& relativeTo); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Set the current position of the mouse in desktop coordinates | ||||
|     /// | ||||
|     /// This function sets the global position of the mouse | ||||
|     /// cursor on the desktop. | ||||
|     /// | ||||
|     /// \param position New position of the mouse | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static void setPosition(const Vector2i& position); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Set the current position of the mouse in window coordinates | ||||
|     /// | ||||
|     /// This function sets the current position of the mouse | ||||
|     /// cursor, relative to the given window. | ||||
|     /// | ||||
|     /// \param position New position of the mouse | ||||
|     /// \param relativeTo Reference window | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static void setPosition(const Vector2i& position, const Window& relativeTo); | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_MOUSE_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::Mouse | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// sf::Mouse provides an interface to the state of the | ||||
| /// mouse. It only contains static functions (a single | ||||
| /// mouse is assumed), so it's not meant to be instantiated. | ||||
| /// | ||||
| /// This class allows users to query the mouse state at any | ||||
| /// time and directly, without having to deal with a window and | ||||
| /// its events. Compared to the MouseMoved, MouseButtonPressed | ||||
| /// and MouseButtonReleased events, sf::Mouse can retrieve the | ||||
| /// state of the cursor and the buttons at any time | ||||
| /// (you don't need to store and update a boolean on your side | ||||
| /// in order to know if a button is pressed or released), and you | ||||
| /// always get the real state of the mouse, even if it is | ||||
| /// moved, pressed or released when your window is out of focus | ||||
| /// and no event is triggered. | ||||
| /// | ||||
| /// The setPosition and getPosition functions can be used to change | ||||
| /// or retrieve the current position of the mouse pointer. There are | ||||
| /// two versions: one that operates in global coordinates (relative | ||||
| /// to the desktop) and one that operates in window coordinates | ||||
| /// (relative to a specific window). | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// if (sf::Mouse::isButtonPressed(sf::Mouse::Left)) | ||||
| /// { | ||||
| ///     // left click... | ||||
| /// } | ||||
| /// | ||||
| /// // get global mouse position | ||||
| /// sf::Vector2i position = sf::Mouse::getPosition(); | ||||
| /// | ||||
| /// // set mouse position relative to a window | ||||
| /// sf::Mouse::setPosition(sf::Vector2i(100, 200), window); | ||||
| /// \endcode | ||||
| /// | ||||
| /// \see sf::Joystick, sf::Keyboard, sf::Touch | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										150
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Sensor.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Sensor.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,150 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_SENSOR_HPP | ||||
| #define SFML_SENSOR_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
| #include <SFML/System/Vector3.hpp> | ||||
| #include <SFML/System/Time.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Give access to the real-time state of the sensors | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API Sensor | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Sensor type | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum Type | ||||
|     { | ||||
|         Accelerometer,    ///< Measures the raw acceleration (m/s^2) | ||||
|         Gyroscope,        ///< Measures the raw rotation rates (degrees/s) | ||||
|         Magnetometer,     ///< Measures the ambient magnetic field (micro-teslas) | ||||
|         Gravity,          ///< Measures the direction and intensity of gravity, independent of device acceleration (m/s^2) | ||||
|         UserAcceleration, ///< Measures the direction and intensity of device acceleration, independent of the gravity (m/s^2) | ||||
|         Orientation,      ///< Measures the absolute 3D orientation (degrees) | ||||
|  | ||||
|         Count             ///< Keep last -- the total number of sensor types | ||||
|     }; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Check if a sensor is available on the underlying platform | ||||
|     /// | ||||
|     /// \param sensor Sensor to check | ||||
|     /// | ||||
|     /// \return True if the sensor is available, false otherwise | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static bool isAvailable(Type sensor); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Enable or disable a sensor | ||||
|     /// | ||||
|     /// All sensors are disabled by default, to avoid consuming too | ||||
|     /// much battery power. Once a sensor is enabled, it starts | ||||
|     /// sending events of the corresponding type. | ||||
|     /// | ||||
|     /// This function does nothing if the sensor is unavailable. | ||||
|     /// | ||||
|     /// \param sensor  Sensor to enable | ||||
|     /// \param enabled True to enable, false to disable | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static void setEnabled(Type sensor, bool enabled); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the current sensor value | ||||
|     /// | ||||
|     /// \param sensor Sensor to read | ||||
|     /// | ||||
|     /// \return The current sensor value | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static Vector3f getValue(Type sensor); | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_SENSOR_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::Sensor | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// sf::Sensor provides an interface to the state of the | ||||
| /// various sensors that a device provides. It only contains static | ||||
| /// functions, so it's not meant to be instantiated. | ||||
| /// | ||||
| /// This class allows users to query the sensors values at any | ||||
| /// time and directly, without having to deal with a window and | ||||
| /// its events. Compared to the SensorChanged event, sf::Sensor | ||||
| /// can retrieve the state of a sensor at any time (you don't need to | ||||
| /// store and update its current value on your side). | ||||
| /// | ||||
| /// Depending on the OS and hardware of the device (phone, tablet, ...), | ||||
| /// some sensor types may not be available. You should always check | ||||
| /// the availability of a sensor before trying to read it, with the | ||||
| /// sf::Sensor::isAvailable function. | ||||
| /// | ||||
| /// You may wonder why some sensor types look so similar, for example | ||||
| /// Accelerometer and Gravity / UserAcceleration. The first one | ||||
| /// is the raw measurement of the acceleration, and takes into account | ||||
| /// both the earth gravity and the user movement. The others are | ||||
| /// more precise: they provide these components separately, which is | ||||
| /// usually more useful. In fact they are not direct sensors, they | ||||
| /// are computed internally based on the raw acceleration and other sensors. | ||||
| /// This is exactly the same for Gyroscope vs Orientation. | ||||
| /// | ||||
| /// Because sensors consume a non-negligible amount of current, they are | ||||
| /// all disabled by default. You must call sf::Sensor::setEnabled for each | ||||
| /// sensor in which you are interested. | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// if (sf::Sensor::isAvailable(sf::Sensor::Gravity)) | ||||
| /// { | ||||
| ///     // gravity sensor is available | ||||
| /// } | ||||
| /// | ||||
| /// // enable the gravity sensor | ||||
| /// sf::Sensor::setEnabled(sf::Sensor::Gravity, true); | ||||
| /// | ||||
| /// // get the current value of gravity | ||||
| /// sf::Vector3f gravity = sf::Sensor::getValue(sf::Sensor::Gravity); | ||||
| /// \endcode | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										137
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Touch.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Touch.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,137 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_TOUCH_HPP | ||||
| #define SFML_TOUCH_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
| #include <SFML/System/Vector2.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| class Window; | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Give access to the real-time state of the touches | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API Touch | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Check if a touch event is currently down | ||||
|     /// | ||||
|     /// \param finger Finger index | ||||
|     /// | ||||
|     /// \return True if \a finger is currently touching the screen, false otherwise | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static bool isDown(unsigned int finger); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the current position of a touch in desktop coordinates | ||||
|     /// | ||||
|     /// This function returns the current touch position | ||||
|     /// in global (desktop) coordinates. | ||||
|     /// | ||||
|     /// \param finger Finger index | ||||
|     /// | ||||
|     /// \return Current position of \a finger, or undefined if it's not down | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static Vector2i getPosition(unsigned int finger); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the current position of a touch in window coordinates | ||||
|     /// | ||||
|     /// This function returns the current touch position | ||||
|     /// in global (desktop) coordinates. | ||||
|     /// | ||||
|     /// \param finger Finger index | ||||
|     /// \param relativeTo Reference window | ||||
|     /// | ||||
|     /// \return Current position of \a finger, or undefined if it's not down | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static Vector2i getPosition(unsigned int finger, const Window& relativeTo); | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_TOUCH_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::Touch | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// sf::Touch provides an interface to the state of the | ||||
| /// touches. It only contains static functions, so it's not | ||||
| /// meant to be instantiated. | ||||
| /// | ||||
| /// This class allows users to query the touches state at any | ||||
| /// time and directly, without having to deal with a window and | ||||
| /// its events. Compared to the TouchBegan, TouchMoved | ||||
| /// and TouchEnded events, sf::Touch can retrieve the | ||||
| /// state of the touches at any time (you don't need to store and | ||||
| /// update a boolean on your side in order to know if a touch is down), | ||||
| /// and you always get the real state of the touches, even if they | ||||
| /// happen when your window is out of focus and no event is triggered. | ||||
| /// | ||||
| /// The getPosition function can be used to retrieve the current | ||||
| /// position of a touch. There are two versions: one that operates | ||||
| /// in global coordinates (relative to the desktop) and one that | ||||
| /// operates in window coordinates (relative to a specific window). | ||||
| /// | ||||
| /// Touches are identified by an index (the "finger"), so that in | ||||
| /// multi-touch events, individual touches can be tracked correctly. | ||||
| /// As long as a finger touches the screen, it will keep the same index | ||||
| /// even if other fingers start or stop touching the screen in the | ||||
| /// meantime. As a consequence, active touch indices may not always be | ||||
| /// sequential (i.e. touch number 0 may be released while touch number 1 | ||||
| /// is still down). | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// if (sf::Touch::isDown(0)) | ||||
| /// { | ||||
| ///     // touch 0 is down | ||||
| /// } | ||||
| /// | ||||
| /// // get global position of touch 1 | ||||
| /// sf::Vector2i globalPos = sf::Touch::getPosition(1); | ||||
| /// | ||||
| /// // get position of touch 1 relative to a window | ||||
| /// sf::Vector2i relativePos = sf::Touch::getPosition(1, window); | ||||
| /// \endcode | ||||
| /// | ||||
| /// \see sf::Joystick, sf::Keyboard, sf::Mouse | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										228
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/VideoMode.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/VideoMode.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,228 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_VIDEOMODE_HPP | ||||
| #define SFML_VIDEOMODE_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
| #include <vector> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief VideoMode defines a video mode (width, height, bpp) | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API VideoMode | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Default constructor | ||||
|     /// | ||||
|     /// This constructors initializes all members to 0. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     VideoMode(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Construct the video mode with its attributes | ||||
|     /// | ||||
|     /// \param modeWidth        Width in pixels | ||||
|     /// \param modeHeight       Height in pixels | ||||
|     /// \param modeBitsPerPixel Pixel depths in bits per pixel | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     VideoMode(unsigned int modeWidth, unsigned int modeHeight, unsigned int modeBitsPerPixel = 32); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the current desktop video mode | ||||
|     /// | ||||
|     /// \return Current desktop video mode | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static VideoMode getDesktopMode(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Retrieve all the video modes supported in fullscreen mode | ||||
|     /// | ||||
|     /// When creating a fullscreen window, the video mode is restricted | ||||
|     /// to be compatible with what the graphics driver and monitor | ||||
|     /// support. This function returns the complete list of all video | ||||
|     /// modes that can be used in fullscreen mode. | ||||
|     /// The returned array is sorted from best to worst, so that | ||||
|     /// the first element will always give the best mode (higher | ||||
|     /// width, height and bits-per-pixel). | ||||
|     /// | ||||
|     /// \return Array containing all the supported fullscreen modes | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     static const std::vector<VideoMode>& getFullscreenModes(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Tell whether or not the video mode is valid | ||||
|     /// | ||||
|     /// The validity of video modes is only relevant when using | ||||
|     /// fullscreen windows; otherwise any video mode can be used | ||||
|     /// with no restriction. | ||||
|     /// | ||||
|     /// \return True if the video mode is valid for fullscreen mode | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     bool isValid() const; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     // Member data | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     unsigned int width;        ///< Video mode width, in pixels | ||||
|     unsigned int height;       ///< Video mode height, in pixels | ||||
|     unsigned int bitsPerPixel; ///< Video mode pixel depth, in bits per pixels | ||||
| }; | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \relates VideoMode | ||||
| /// \brief Overload of == operator to compare two video modes | ||||
| /// | ||||
| /// \param left  Left operand (a video mode) | ||||
| /// \param right Right operand (a video mode) | ||||
| /// | ||||
| /// \return True if modes are equal | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| SFML_WINDOW_API bool operator ==(const VideoMode& left, const VideoMode& right); | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \relates VideoMode | ||||
| /// \brief Overload of != operator to compare two video modes | ||||
| /// | ||||
| /// \param left  Left operand (a video mode) | ||||
| /// \param right Right operand (a video mode) | ||||
| /// | ||||
| /// \return True if modes are different | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| SFML_WINDOW_API bool operator !=(const VideoMode& left, const VideoMode& right); | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \relates VideoMode | ||||
| /// \brief Overload of < operator to compare video modes | ||||
| /// | ||||
| /// \param left  Left operand (a video mode) | ||||
| /// \param right Right operand (a video mode) | ||||
| /// | ||||
| /// \return True if \a left is lesser than \a right | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| SFML_WINDOW_API bool operator <(const VideoMode& left, const VideoMode& right); | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \relates VideoMode | ||||
| /// \brief Overload of > operator to compare video modes | ||||
| /// | ||||
| /// \param left  Left operand (a video mode) | ||||
| /// \param right Right operand (a video mode) | ||||
| /// | ||||
| /// \return True if \a left is greater than \a right | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| SFML_WINDOW_API bool operator >(const VideoMode& left, const VideoMode& right); | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \relates VideoMode | ||||
| /// \brief Overload of <= operator to compare video modes | ||||
| /// | ||||
| /// \param left  Left operand (a video mode) | ||||
| /// \param right Right operand (a video mode) | ||||
| /// | ||||
| /// \return True if \a left is lesser or equal than \a right | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| SFML_WINDOW_API bool operator <=(const VideoMode& left, const VideoMode& right); | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \relates VideoMode | ||||
| /// \brief Overload of >= operator to compare video modes | ||||
| /// | ||||
| /// \param left  Left operand (a video mode) | ||||
| /// \param right Right operand (a video mode) | ||||
| /// | ||||
| /// \return True if \a left is greater or equal than \a right | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| SFML_WINDOW_API bool operator >=(const VideoMode& left, const VideoMode& right); | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_VIDEOMODE_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::VideoMode | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// A video mode is defined by a width and a height (in pixels) | ||||
| /// and a depth (in bits per pixel). Video modes are used to | ||||
| /// setup windows (sf::Window) at creation time. | ||||
| /// | ||||
| /// The main usage of video modes is for fullscreen mode: | ||||
| /// indeed you must use one of the valid video modes | ||||
| /// allowed by the OS (which are defined by what the monitor | ||||
| /// and the graphics card support), otherwise your window | ||||
| /// creation will just fail. | ||||
| /// | ||||
| /// sf::VideoMode provides a static function for retrieving | ||||
| /// the list of all the video modes supported by the system: | ||||
| /// getFullscreenModes(). | ||||
| /// | ||||
| /// A custom video mode can also be checked directly for | ||||
| /// fullscreen compatibility with its isValid() function. | ||||
| /// | ||||
| /// Additionally, sf::VideoMode provides a static function | ||||
| /// to get the mode currently used by the desktop: getDesktopMode(). | ||||
| /// This allows to build windows with the same size or pixel | ||||
| /// depth as the current resolution. | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// // Display the list of all the video modes available for fullscreen | ||||
| /// std::vector<sf::VideoMode> modes = sf::VideoMode::getFullscreenModes(); | ||||
| /// for (std::size_t i = 0; i < modes.size(); ++i) | ||||
| /// { | ||||
| ///     sf::VideoMode mode = modes[i]; | ||||
| ///     std::cout << "Mode #" << i << ": " | ||||
| ///               << mode.width << "x" << mode.height << " - " | ||||
| ///               << mode.bitsPerPixel << " bpp" << std::endl; | ||||
| /// } | ||||
| /// | ||||
| /// // Create a window with the same pixel depth as the desktop | ||||
| /// sf::VideoMode desktop = sf::VideoMode::getDesktopMode(); | ||||
| /// window.create(sf::VideoMode(1024, 768, desktop.bitsPerPixel), "SFML window"); | ||||
| /// \endcode | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										585
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Window.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										585
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/Window.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,585 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_WINDOW_HPP | ||||
| #define SFML_WINDOW_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Window/Export.hpp> | ||||
| #include <SFML/Window/ContextSettings.hpp> | ||||
| #include <SFML/Window/VideoMode.hpp> | ||||
| #include <SFML/Window/WindowHandle.hpp> | ||||
| #include <SFML/Window/WindowStyle.hpp> | ||||
| #include <SFML/Window/GlResource.hpp> | ||||
| #include <SFML/System/Clock.hpp> | ||||
| #include <SFML/System/Vector2.hpp> | ||||
| #include <SFML/System/NonCopyable.hpp> | ||||
| #include <SFML/System/String.hpp> | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| namespace priv | ||||
| { | ||||
|     class GlContext; | ||||
|     class WindowImpl; | ||||
| } | ||||
|  | ||||
| class Event; | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \brief Window that serves as a target for OpenGL rendering | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
| class SFML_WINDOW_API Window : GlResource, NonCopyable | ||||
| { | ||||
| public: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Default constructor | ||||
|     /// | ||||
|     /// This constructor doesn't actually create the window, | ||||
|     /// use the other constructors or call create() to do so. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     Window(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Construct a new window | ||||
|     /// | ||||
|     /// This constructor creates the window with the size and pixel | ||||
|     /// depth defined in \a mode. An optional style can be passed to | ||||
|     /// customize the look and behavior of the window (borders, | ||||
|     /// title bar, resizable, closable, ...). If \a style contains | ||||
|     /// Style::Fullscreen, then \a mode must be a valid video mode. | ||||
|     /// | ||||
|     /// The fourth parameter is an optional structure specifying | ||||
|     /// advanced OpenGL context settings such as antialiasing, | ||||
|     /// depth-buffer bits, etc. | ||||
|     /// | ||||
|     /// \param mode     Video mode to use (defines the width, height and depth of the rendering area of the window) | ||||
|     /// \param title    Title of the window | ||||
|     /// \param style    %Window style, a bitwise OR combination of sf::Style enumerators | ||||
|     /// \param settings Additional settings for the underlying OpenGL context | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     Window(VideoMode mode, const String& title, Uint32 style = Style::Default, const ContextSettings& settings = ContextSettings()); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Construct the window from an existing control | ||||
|     /// | ||||
|     /// Use this constructor if you want to create an OpenGL | ||||
|     /// rendering area into an already existing control. | ||||
|     /// | ||||
|     /// The second parameter is an optional structure specifying | ||||
|     /// advanced OpenGL context settings such as antialiasing, | ||||
|     /// depth-buffer bits, etc. | ||||
|     /// | ||||
|     /// \param handle   Platform-specific handle of the control (\a HWND on | ||||
|     ///                 Windows, \a %Window on Linux/FreeBSD, \a NSWindow on OS X) | ||||
|     /// \param settings Additional settings for the underlying OpenGL context | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     explicit Window(WindowHandle handle, const ContextSettings& settings = ContextSettings()); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Destructor | ||||
|     /// | ||||
|     /// Closes the window and frees all the resources attached to it. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     virtual ~Window(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Create (or recreate) the window | ||||
|     /// | ||||
|     /// If the window was already created, it closes it first. | ||||
|     /// If \a style contains Style::Fullscreen, then \a mode | ||||
|     /// must be a valid video mode. | ||||
|     /// | ||||
|     /// The fourth parameter is an optional structure specifying | ||||
|     /// advanced OpenGL context settings such as antialiasing, | ||||
|     /// depth-buffer bits, etc. | ||||
|     /// | ||||
|     /// \param mode     Video mode to use (defines the width, height and depth of the rendering area of the window) | ||||
|     /// \param title    Title of the window | ||||
|     /// \param style    %Window style, a bitwise OR combination of sf::Style enumerators | ||||
|     /// \param settings Additional settings for the underlying OpenGL context | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void create(VideoMode mode, const String& title, Uint32 style = Style::Default, const ContextSettings& settings = ContextSettings()); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Create (or recreate) the window from an existing control | ||||
|     /// | ||||
|     /// Use this function if you want to create an OpenGL | ||||
|     /// rendering area into an already existing control. | ||||
|     /// If the window was already created, it closes it first. | ||||
|     /// | ||||
|     /// The second parameter is an optional structure specifying | ||||
|     /// advanced OpenGL context settings such as antialiasing, | ||||
|     /// depth-buffer bits, etc. | ||||
|     /// | ||||
|     /// \param handle   Platform-specific handle of the control (\a HWND on | ||||
|     ///                 Windows, \a %Window on Linux/FreeBSD, \a NSWindow on OS X) | ||||
|     /// \param settings Additional settings for the underlying OpenGL context | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void create(WindowHandle handle, const ContextSettings& settings = ContextSettings()); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Close the window and destroy all the attached resources | ||||
|     /// | ||||
|     /// After calling this function, the sf::Window instance remains | ||||
|     /// valid and you can call create() to recreate the window. | ||||
|     /// All other functions such as pollEvent() or display() will | ||||
|     /// still work (i.e. you don't have to test isOpen() every time), | ||||
|     /// and will have no effect on closed windows. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void close(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Tell whether or not the window is open | ||||
|     /// | ||||
|     /// This function returns whether or not the window exists. | ||||
|     /// Note that a hidden window (setVisible(false)) is open | ||||
|     /// (therefore this function would return true). | ||||
|     /// | ||||
|     /// \return True if the window is open, false if it has been closed | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     bool isOpen() const; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the settings of the OpenGL context of the window | ||||
|     /// | ||||
|     /// Note that these settings may be different from what was | ||||
|     /// passed to the constructor or the create() function, | ||||
|     /// if one or more settings were not supported. In this case, | ||||
|     /// SFML chose the closest match. | ||||
|     /// | ||||
|     /// \return Structure containing the OpenGL context settings | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     const ContextSettings& getSettings() const; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Pop the event on top of the event queue, if any, and return it | ||||
|     /// | ||||
|     /// This function is not blocking: if there's no pending event then | ||||
|     /// it will return false and leave \a event unmodified. | ||||
|     /// Note that more than one event may be present in the event queue, | ||||
|     /// thus you should always call this function in a loop | ||||
|     /// to make sure that you process every pending event. | ||||
|     /// \code | ||||
|     /// sf::Event event; | ||||
|     /// while (window.pollEvent(event)) | ||||
|     /// { | ||||
|     ///    // process event... | ||||
|     /// } | ||||
|     /// \endcode | ||||
|     /// | ||||
|     /// \param event Event to be returned | ||||
|     /// | ||||
|     /// \return True if an event was returned, or false if the event queue was empty | ||||
|     /// | ||||
|     /// \see waitEvent | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     bool pollEvent(Event& event); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Wait for an event and return it | ||||
|     /// | ||||
|     /// This function is blocking: if there's no pending event then | ||||
|     /// it will wait until an event is received. | ||||
|     /// After this function returns (and no error occurred), | ||||
|     /// the \a event object is always valid and filled properly. | ||||
|     /// This function is typically used when you have a thread that | ||||
|     /// is dedicated to events handling: you want to make this thread | ||||
|     /// sleep as long as no new event is received. | ||||
|     /// \code | ||||
|     /// sf::Event event; | ||||
|     /// if (window.waitEvent(event)) | ||||
|     /// { | ||||
|     ///    // process event... | ||||
|     /// } | ||||
|     /// \endcode | ||||
|     /// | ||||
|     /// \param event Event to be returned | ||||
|     /// | ||||
|     /// \return False if any error occurred | ||||
|     /// | ||||
|     /// \see pollEvent | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     bool waitEvent(Event& event); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the position of the window | ||||
|     /// | ||||
|     /// \return Position of the window, in pixels | ||||
|     /// | ||||
|     /// \see setPosition | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     Vector2i getPosition() const; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Change the position of the window on screen | ||||
|     /// | ||||
|     /// This function only works for top-level windows | ||||
|     /// (i.e. it will be ignored for windows created from | ||||
|     /// the handle of a child window/control). | ||||
|     /// | ||||
|     /// \param position New position, in pixels | ||||
|     /// | ||||
|     /// \see getPosition | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setPosition(const Vector2i& position); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the size of the rendering region of the window | ||||
|     /// | ||||
|     /// The size doesn't include the titlebar and borders | ||||
|     /// of the window. | ||||
|     /// | ||||
|     /// \return Size in pixels | ||||
|     /// | ||||
|     /// \see setSize | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     Vector2u getSize() const; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Change the size of the rendering region of the window | ||||
|     /// | ||||
|     /// \param size New size, in pixels | ||||
|     /// | ||||
|     /// \see getSize | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setSize(const Vector2u& size); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Change the title of the window | ||||
|     /// | ||||
|     /// \param title New title | ||||
|     /// | ||||
|     /// \see setIcon | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setTitle(const String& title); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Change the window's icon | ||||
|     /// | ||||
|     /// \a pixels must be an array of \a width x \a height pixels | ||||
|     /// in 32-bits RGBA format. | ||||
|     /// | ||||
|     /// The OS default icon is used by default. | ||||
|     /// | ||||
|     /// \param width  Icon's width, in pixels | ||||
|     /// \param height Icon's height, in pixels | ||||
|     /// \param pixels Pointer to the array of pixels in memory. The | ||||
|     ///               pixels are copied, so you need not keep the | ||||
|     ///               source alive after calling this function. | ||||
|     /// | ||||
|     /// \see setTitle | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setIcon(unsigned int width, unsigned int height, const Uint8* pixels); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Show or hide the window | ||||
|     /// | ||||
|     /// The window is shown by default. | ||||
|     /// | ||||
|     /// \param visible True to show the window, false to hide it | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setVisible(bool visible); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Enable or disable vertical synchronization | ||||
|     /// | ||||
|     /// Activating vertical synchronization will limit the number | ||||
|     /// of frames displayed to the refresh rate of the monitor. | ||||
|     /// This can avoid some visual artifacts, and limit the framerate | ||||
|     /// to a good value (but not constant across different computers). | ||||
|     /// | ||||
|     /// Vertical synchronization is disabled by default. | ||||
|     /// | ||||
|     /// \param enabled True to enable v-sync, false to deactivate it | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setVerticalSyncEnabled(bool enabled); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Show or hide the mouse cursor | ||||
|     /// | ||||
|     /// The mouse cursor is visible by default. | ||||
|     /// | ||||
|     /// \param visible True to show the mouse cursor, false to hide it | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setMouseCursorVisible(bool visible); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Enable or disable automatic key-repeat | ||||
|     /// | ||||
|     /// If key repeat is enabled, you will receive repeated | ||||
|     /// KeyPressed events while keeping a key pressed. If it is disabled, | ||||
|     /// you will only get a single event when the key is pressed. | ||||
|     /// | ||||
|     /// Key repeat is enabled by default. | ||||
|     /// | ||||
|     /// \param enabled True to enable, false to disable | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setKeyRepeatEnabled(bool enabled); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Limit the framerate to a maximum fixed frequency | ||||
|     /// | ||||
|     /// If a limit is set, the window will use a small delay after | ||||
|     /// each call to display() to ensure that the current frame | ||||
|     /// lasted long enough to match the framerate limit. | ||||
|     /// SFML will try to match the given limit as much as it can, | ||||
|     /// but since it internally uses sf::sleep, whose precision | ||||
|     /// depends on the underlying OS, the results may be a little | ||||
|     /// unprecise as well (for example, you can get 65 FPS when | ||||
|     /// requesting 60). | ||||
|     /// | ||||
|     /// \param limit Framerate limit, in frames per seconds (use 0 to disable limit) | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setFramerateLimit(unsigned int limit); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Change the joystick threshold | ||||
|     /// | ||||
|     /// The joystick threshold is the value below which | ||||
|     /// no JoystickMoved event will be generated. | ||||
|     /// | ||||
|     /// The threshold value is 0.1 by default. | ||||
|     /// | ||||
|     /// \param threshold New threshold, in the range [0, 100] | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void setJoystickThreshold(float threshold); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Activate or deactivate the window as the current target | ||||
|     ///        for OpenGL rendering | ||||
|     /// | ||||
|     /// A window is active only on the current thread, if you want to | ||||
|     /// make it active on another thread you have to deactivate it | ||||
|     /// on the previous thread first if it was active. | ||||
|     /// Only one window can be active on a thread at a time, thus | ||||
|     /// the window previously active (if any) automatically gets deactivated. | ||||
|     /// This is not to be confused with requestFocus(). | ||||
|     /// | ||||
|     /// \param active True to activate, false to deactivate | ||||
|     /// | ||||
|     /// \return True if operation was successful, false otherwise | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     bool setActive(bool active = true) const; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Request the current window to be made the active | ||||
|     ///        foreground window | ||||
|     /// | ||||
|     /// At any given time, only one window may have the input focus | ||||
|     /// to receive input events such as keystrokes or mouse events. | ||||
|     /// If a window requests focus, it only hints to the operating | ||||
|     /// system, that it would like to be focused. The operating system | ||||
|     /// is free to deny the request. | ||||
|     /// This is not to be confused with setActive(). | ||||
|     /// | ||||
|     /// \see hasFocus | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void requestFocus(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Check whether the window has the input focus | ||||
|     /// | ||||
|     /// At any given time, only one window may have the input focus | ||||
|     /// to receive input events such as keystrokes or most mouse | ||||
|     /// events. | ||||
|     /// | ||||
|     /// \return True if window has focus, false otherwise | ||||
|     /// \see requestFocus | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     bool hasFocus() const; | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Display on screen what has been rendered to the window so far | ||||
|     /// | ||||
|     /// This function is typically called after all OpenGL rendering | ||||
|     /// has been done for the current frame, in order to show | ||||
|     /// it on screen. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void display(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Get the OS-specific handle of the window | ||||
|     /// | ||||
|     /// The type of the returned handle is sf::WindowHandle, | ||||
|     /// which is a typedef to the handle type defined by the OS. | ||||
|     /// You shouldn't need to use this function, unless you have | ||||
|     /// very specific stuff to implement that SFML doesn't support, | ||||
|     /// or implement a temporary workaround until a bug is fixed. | ||||
|     /// The type is \a HWND on Windows, \a %Window on Linux/FreeBSD | ||||
|     /// and \a NSWindow on OS X. | ||||
|     /// | ||||
|     /// \return System handle of the window | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     WindowHandle getSystemHandle() const; | ||||
|  | ||||
| protected: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Function called after the window has been created | ||||
|     /// | ||||
|     /// This function is called so that derived classes can | ||||
|     /// perform their own specific initialization as soon as | ||||
|     /// the window is created. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     virtual void onCreate(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Function called after the window has been resized | ||||
|     /// | ||||
|     /// This function is called so that derived classes can | ||||
|     /// perform custom actions when the size of the window changes. | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     virtual void onResize(); | ||||
|  | ||||
| private: | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Processes an event before it is sent to the user | ||||
|     /// | ||||
|     /// This function is called every time an event is received | ||||
|     /// from the internal window (through pollEvent or waitEvent). | ||||
|     /// It filters out unwanted events, and performs whatever internal | ||||
|     /// stuff the window needs before the event is returned to the | ||||
|     /// user. | ||||
|     /// | ||||
|     /// \param event Event to filter | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     bool filterEvent(const Event& event); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \brief Perform some common internal initializations | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     void initialize(); | ||||
|  | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     // Member data | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     priv::WindowImpl* m_impl;           ///< Platform-specific implementation of the window | ||||
|     priv::GlContext*  m_context;        ///< Platform-specific implementation of the OpenGL context | ||||
|     Clock             m_clock;          ///< Clock for measuring the elapsed time between frames | ||||
|     Time              m_frameTimeLimit; ///< Current framerate limit | ||||
|     Vector2u          m_size;           ///< Current size of the window | ||||
| }; | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_WINDOW_HPP | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// \class sf::Window | ||||
| /// \ingroup window | ||||
| /// | ||||
| /// sf::Window is the main class of the Window module. It defines | ||||
| /// an OS window that is able to receive an OpenGL rendering. | ||||
| /// | ||||
| /// A sf::Window can create its own new window, or be embedded into | ||||
| /// an already existing control using the create(handle) function. | ||||
| /// This can be useful for embedding an OpenGL rendering area into | ||||
| /// a view which is part of a bigger GUI with existing windows, | ||||
| /// controls, etc. It can also serve as embedding an OpenGL rendering | ||||
| /// area into a window created by another (probably richer) GUI library | ||||
| /// like Qt or wxWidgets. | ||||
| /// | ||||
| /// The sf::Window class provides a simple interface for manipulating | ||||
| /// the window: move, resize, show/hide, control mouse cursor, etc. | ||||
| /// It also provides event handling through its pollEvent() and waitEvent() | ||||
| /// functions. | ||||
| /// | ||||
| /// Note that OpenGL experts can pass their own parameters (antialiasing | ||||
| /// level, bits for the depth and stencil buffers, etc.) to the | ||||
| /// OpenGL context attached to the window, with the sf::ContextSettings | ||||
| /// structure which is passed as an optional argument when creating the | ||||
| /// window. | ||||
| /// | ||||
| /// Usage example: | ||||
| /// \code | ||||
| /// // Declare and create a new window | ||||
| /// sf::Window window(sf::VideoMode(800, 600), "SFML window"); | ||||
| /// | ||||
| /// // Limit the framerate to 60 frames per second (this step is optional) | ||||
| /// window.setFramerateLimit(60); | ||||
| /// | ||||
| /// // The main loop - ends as soon as the window is closed | ||||
| /// while (window.isOpen()) | ||||
| /// { | ||||
| ///    // Event processing | ||||
| ///    sf::Event event; | ||||
| ///    while (window.pollEvent(event)) | ||||
| ///    { | ||||
| ///        // Request for closing the window | ||||
| ///        if (event.type == sf::Event::Closed) | ||||
| ///            window.close(); | ||||
| ///    } | ||||
| /// | ||||
| ///    // Activate the window for OpenGL rendering | ||||
| ///    window.setActive(); | ||||
| /// | ||||
| ///    // OpenGL drawing commands go here... | ||||
| /// | ||||
| ///    // End the current frame and display its contents on screen | ||||
| ///    window.display(); | ||||
| /// } | ||||
| /// \endcode | ||||
| /// | ||||
| //////////////////////////////////////////////////////////// | ||||
							
								
								
									
										74
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/WindowHandle.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/WindowHandle.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_WINDOWHANDLE_HPP | ||||
| #define SFML_WINDOWHANDLE_HPP | ||||
|  | ||||
| //////////////////////////////////////////////////////////// | ||||
| // Headers | ||||
| //////////////////////////////////////////////////////////// | ||||
| #include <SFML/Config.hpp> | ||||
|  | ||||
| // Windows' HWND is a typedef on struct HWND__* | ||||
| #if defined(SFML_SYSTEM_WINDOWS) | ||||
|     struct HWND__; | ||||
| #endif | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| //////////////////////////////////////////////////////////// | ||||
| /// Define a low-level window handle type, specific to | ||||
| /// each platform | ||||
| //////////////////////////////////////////////////////////// | ||||
| #if defined(SFML_SYSTEM_WINDOWS) | ||||
|  | ||||
|     // Window handle is HWND (HWND__*) on Windows | ||||
|     typedef HWND__* WindowHandle; | ||||
|  | ||||
| #elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD) | ||||
|  | ||||
|     // Window handle is Window (unsigned long) on Unix - X11 | ||||
|     typedef unsigned long WindowHandle; | ||||
|  | ||||
| #elif defined(SFML_SYSTEM_MACOS) | ||||
|  | ||||
|     // Window handle is NSWindow (void*) on Mac OS X - Cocoa | ||||
|     typedef void* WindowHandle; | ||||
|  | ||||
| #elif defined(SFML_SYSTEM_IOS) | ||||
|  | ||||
|     // Window handle is UIWindow (void*) on iOS - UIKit | ||||
|     typedef void* WindowHandle; | ||||
|  | ||||
| #elif defined(SFML_SYSTEM_ANDROID) | ||||
|  | ||||
|     // Window handle is ANativeWindow (void*) on Android | ||||
|     typedef void* WindowHandle; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_WINDOWHANDLE_HPP | ||||
							
								
								
									
										53
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/WindowStyle.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								SQCSim2021/external/sfml23/include/SFML/Window/WindowStyle.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| //////////////////////////////////////////////////////////// | ||||
| // | ||||
| // SFML - Simple and Fast Multimedia Library | ||||
| // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org) | ||||
| // | ||||
| // This software is provided 'as-is', without any express or implied warranty. | ||||
| // In no event will the authors be held liable for any damages arising from the use of this software. | ||||
| // | ||||
| // Permission is granted to anyone to use this software for any purpose, | ||||
| // including commercial applications, and to alter it and redistribute it freely, | ||||
| // subject to the following restrictions: | ||||
| // | ||||
| // 1. The origin of this software must not be misrepresented; | ||||
| //    you must not claim that you wrote the original software. | ||||
| //    If you use this software in a product, an acknowledgment | ||||
| //    in the product documentation would be appreciated but is not required. | ||||
| // | ||||
| // 2. Altered source versions must be plainly marked as such, | ||||
| //    and must not be misrepresented as being the original software. | ||||
| // | ||||
| // 3. This notice may not be removed or altered from any source distribution. | ||||
| // | ||||
| //////////////////////////////////////////////////////////// | ||||
|  | ||||
| #ifndef SFML_WINDOWSTYLE_HPP | ||||
| #define SFML_WINDOWSTYLE_HPP | ||||
|  | ||||
|  | ||||
| namespace sf | ||||
| { | ||||
| namespace Style | ||||
| { | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     /// \ingroup window | ||||
|     /// \brief Enumeration of the window styles | ||||
|     /// | ||||
|     //////////////////////////////////////////////////////////// | ||||
|     enum | ||||
|     { | ||||
|         None       = 0,      ///< No border / title bar (this flag and all others are mutually exclusive) | ||||
|         Titlebar   = 1 << 0, ///< Title bar + fixed border | ||||
|         Resize     = 1 << 1, ///< Title bar + resizable border + maximize button | ||||
|         Close      = 1 << 2, ///< Title bar + close button | ||||
|         Fullscreen = 1 << 3, ///< Fullscreen mode (this flag and all others are mutually exclusive) | ||||
|  | ||||
|         Default = Titlebar | Resize | Close ///< Default window style | ||||
|     }; | ||||
| } | ||||
|  | ||||
| } // namespace sf | ||||
|  | ||||
|  | ||||
| #endif // SFML_WINDOWSTYLE_HPP | ||||
		Reference in New Issue
	
	Block a user