diff options
Diffstat (limited to 'h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window')
10 files changed, 1274 insertions, 0 deletions
diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Context.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Context.h new file mode 100755 index 0000000..1053adb --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Context.h @@ -0,0 +1,63 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com) +// +// 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_H +#define SFML_CONTEXT_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Window/Export.h> +#include <SFML/Window/Types.h> + + +//////////////////////////////////////////////////////////// +/// \brief Create a new context +/// +/// This function activates the new context. +/// +/// \return New sfContext object +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfContext* sfContext_create(void); + +//////////////////////////////////////////////////////////// +/// \brief Destroy a context +/// +/// \param context Context to destroy +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfContext_destroy(sfContext* context); + +//////////////////////////////////////////////////////////// +/// \brief Activate or deactivate explicitely a context +/// +/// \param context Context object +/// \param active sfTrue to activate, sfFalse to deactivate +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfContext_setActive(sfContext* context, sfBool active); + + +#endif // SFML_CONTEXT_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Event.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Event.h new file mode 100755 index 0000000..cb4d141 --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Event.h @@ -0,0 +1,189 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)// +// 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_H +#define SFML_EVENT_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Window/Export.h> +#include <SFML/Window/Joystick.h> +#include <SFML/Window/Keyboard.h> +#include <SFML/Window/Mouse.h> + + +//////////////////////////////////////////////////////////// +/// \brief Definition of all the event types +/// +//////////////////////////////////////////////////////////// +typedef enum +{ + sfEvtClosed, + sfEvtResized, + sfEvtLostFocus, + sfEvtGainedFocus, + sfEvtTextEntered, + sfEvtKeyPressed, + sfEvtKeyReleased, + sfEvtMouseWheelMoved, + sfEvtMouseButtonPressed, + sfEvtMouseButtonReleased, + sfEvtMouseMoved, + sfEvtMouseEntered, + sfEvtMouseLeft, + sfEvtJoystickButtonPressed, + sfEvtJoystickButtonReleased, + sfEvtJoystickMoved, + sfEvtJoystickConnected, + sfEvtJoystickDisconnected +} sfEventType; + + +//////////////////////////////////////////////////////////// +/// \brief Keyboard event parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + sfKeyCode code; + sfBool alt; + sfBool control; + sfBool shift; + sfBool system; +} sfKeyEvent; + +//////////////////////////////////////////////////////////// +/// \brief Text event parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + sfUint32 unicode; +} sfTextEvent; + +//////////////////////////////////////////////////////////// +/// \brief Mouse move event parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + int x; + int y; +} sfMouseMoveEvent; + +//////////////////////////////////////////////////////////// +/// \brief Mouse buttons events parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + sfMouseButton button; + int x; + int y; +} sfMouseButtonEvent; + +//////////////////////////////////////////////////////////// +/// \brief Mouse wheel events parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + int delta; + int x; + int y; +} sfMouseWheelEvent; + +//////////////////////////////////////////////////////////// +/// \brief Joystick axis move event parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + unsigned int joystickId; + sfJoystickAxis axis; + float position; +} sfJoystickMoveEvent; + +//////////////////////////////////////////////////////////// +/// \brief Joystick buttons events parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + unsigned int joystickId; + unsigned int button; +} sfJoystickButtonEvent; + +//////////////////////////////////////////////////////////// +/// \brief Joystick connection/disconnection event parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + unsigned int joystickId; +} sfJoystickConnectEvent; + +//////////////////////////////////////////////////////////// +/// \brief Size events parameters +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + sfEventType type; + unsigned int width; + unsigned int height; +} sfSizeEvent; + + +//////////////////////////////////////////////////////////// +/// \brief sfEvent defines a system event and its parameters +/// +//////////////////////////////////////////////////////////// +typedef union +{ + //////////////////////////////////////////////////////////// + // Member data + //////////////////////////////////////////////////////////// + sfEventType type; ///< Type of the event + sfSizeEvent size; + sfKeyEvent key; + sfTextEvent text; + sfMouseMoveEvent mouseMove; + sfMouseButtonEvent mouseButton; + sfMouseWheelEvent mouseWheel; + sfJoystickMoveEvent joystickMove; + sfJoystickButtonEvent joystickButton; + sfJoystickConnectEvent joystickConnect; +} sfEvent; + + +#endif // SFML_EVENT_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Export.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Export.h new file mode 100755 index 0000000..f972fa3 --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Export.h @@ -0,0 +1,48 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com) +// +// 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_H +#define SFML_WINDOW_EXPORT_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Config.h> + + +//////////////////////////////////////////////////////////// +// Define portable import / export macros +//////////////////////////////////////////////////////////// +#if defined(CSFML_WINDOW_EXPORTS) + + #define CSFML_WINDOW_API CSFML_API_EXPORT + +#else + + #define CSFML_WINDOW_API CSFML_API_IMPORT + +#endif + + +#endif // SFML_WINDOW_EXPORT_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Joystick.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Joystick.h new file mode 100755 index 0000000..fd9bbc4 --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Joystick.h @@ -0,0 +1,135 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)// +// 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_H +#define SFML_JOYSTICK_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Window/Export.h> + + +//////////////////////////////////////////////////////////// +/// \brief Global joysticks capabilities +/// +//////////////////////////////////////////////////////////// +enum +{ + sfJoystickCount = 8, ///< Maximum number of supported joysticks + sfJoystickButtonCount = 32, ///< Maximum number of supported buttons + sfJoystickAxisCount = 8 ///< Maximum number of supported axes +}; + + +//////////////////////////////////////////////////////////// +/// \brief Axes supported by SFML joysticks +/// +//////////////////////////////////////////////////////////// +typedef enum +{ + sfJoystickX, ///< The X axis + sfJoystickY, ///< The Y axis + sfJoystickZ, ///< The Z axis + sfJoystickR, ///< The R axis + sfJoystickU, ///< The U axis + sfJoystickV, ///< The V axis + sfJoystickPovX, ///< The X axis of the point-of-view hat + sfJoystickPovY ///< The Y axis of the point-of-view hat +} sfJoystickAxis; + + +//////////////////////////////////////////////////////////// +/// \brief Check if a joystick is connected +/// +/// \param joystick Index of the joystick to check +/// +/// \return sfTrue if the joystick is connected, sfFalse otherwise +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfJoystick_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 +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API unsigned int sfJoystick_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 sfTrue if the joystick supports the axis, sfFalse otherwise +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfJoystick_hasAxis(unsigned int joystick, sfJoystickAxis 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 sfTrue if the button is pressed, sfFalse otherwise +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfJoystick_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] +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API float sfJoystick_getAxisPosition(unsigned int joystick, sfJoystickAxis axis); + +//////////////////////////////////////////////////////////// +/// \brief Update the states of all joysticks +/// +/// This function is used internally by SFML, so you normally +/// don't have to call it explicitely. However, you may need to +/// call it if you have no window yet (or no window at all): +/// in this case the joysticks states are not updated automatically. +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfJoystick_update(void); + + +#endif // SFML_JOYSTICK_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Keyboard.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Keyboard.h new file mode 100755 index 0000000..c8951e2 --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Keyboard.h @@ -0,0 +1,157 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)// +// 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_H +#define SFML_KEYBOARD_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Window/Export.h> + + +//////////////////////////////////////////////////////////// +/// \brief Key codes +/// +//////////////////////////////////////////////////////////// +typedef enum +{ + sfKeyUnknown = -1, ///< Unhandled key + sfKeyA, ///< The A key + sfKeyB, ///< The B key + sfKeyC, ///< The C key + sfKeyD, ///< The D key + sfKeyE, ///< The E key + sfKeyF, ///< The F key + sfKeyG, ///< The G key + sfKeyH, ///< The H key + sfKeyI, ///< The I key + sfKeyJ, ///< The J key + sfKeyK, ///< The K key + sfKeyL, ///< The L key + sfKeyM, ///< The M key + sfKeyN, ///< The N key + sfKeyO, ///< The O key + sfKeyP, ///< The P key + sfKeyQ, ///< The Q key + sfKeyR, ///< The R key + sfKeyS, ///< The S key + sfKeyT, ///< The T key + sfKeyU, ///< The U key + sfKeyV, ///< The V key + sfKeyW, ///< The W key + sfKeyX, ///< The X key + sfKeyY, ///< The Y key + sfKeyZ, ///< The Z key + sfKeyNum0, ///< The 0 key + sfKeyNum1, ///< The 1 key + sfKeyNum2, ///< The 2 key + sfKeyNum3, ///< The 3 key + sfKeyNum4, ///< The 4 key + sfKeyNum5, ///< The 5 key + sfKeyNum6, ///< The 6 key + sfKeyNum7, ///< The 7 key + sfKeyNum8, ///< The 8 key + sfKeyNum9, ///< The 9 key + sfKeyEscape, ///< The Escape key + sfKeyLControl, ///< The left Control key + sfKeyLShift, ///< The left Shift key + sfKeyLAlt, ///< The left Alt key + sfKeyLSystem, ///< The left OS specific key: window (Windows and Linux), apple (MacOS X), ... + sfKeyRControl, ///< The right Control key + sfKeyRShift, ///< The right Shift key + sfKeyRAlt, ///< The right Alt key + sfKeyRSystem, ///< The right OS specific key: window (Windows and Linux), apple (MacOS X), ... + sfKeyMenu, ///< The Menu key + sfKeyLBracket, ///< The [ key + sfKeyRBracket, ///< The ] key + sfKeySemiColon, ///< The ; key + sfKeyComma, ///< The , key + sfKeyPeriod, ///< The . key + sfKeyQuote, ///< The ' key + sfKeySlash, ///< The / key + sfKeyBackSlash, ///< The \ key + sfKeyTilde, ///< The ~ key + sfKeyEqual, ///< The = key + sfKeyDash, ///< The - key + sfKeySpace, ///< The Space key + sfKeyReturn, ///< The Return key + sfKeyBack, ///< The Backspace key + sfKeyTab, ///< The Tabulation key + sfKeyPageUp, ///< The Page up key + sfKeyPageDown, ///< The Page down key + sfKeyEnd, ///< The End key + sfKeyHome, ///< The Home key + sfKeyInsert, ///< The Insert key + sfKeyDelete, ///< The Delete key + sfKeyAdd, ///< + + sfKeySubtract, ///< - + sfKeyMultiply, ///< * + sfKeyDivide, ///< / + sfKeyLeft, ///< Left arrow + sfKeyRight, ///< Right arrow + sfKeyUp, ///< Up arrow + sfKeyDown, ///< Down arrow + sfKeyNumpad0, ///< The numpad 0 key + sfKeyNumpad1, ///< The numpad 1 key + sfKeyNumpad2, ///< The numpad 2 key + sfKeyNumpad3, ///< The numpad 3 key + sfKeyNumpad4, ///< The numpad 4 key + sfKeyNumpad5, ///< The numpad 5 key + sfKeyNumpad6, ///< The numpad 6 key + sfKeyNumpad7, ///< The numpad 7 key + sfKeyNumpad8, ///< The numpad 8 key + sfKeyNumpad9, ///< The numpad 9 key + sfKeyF1, ///< The F1 key + sfKeyF2, ///< The F2 key + sfKeyF3, ///< The F3 key + sfKeyF4, ///< The F4 key + sfKeyF5, ///< The F5 key + sfKeyF6, ///< The F6 key + sfKeyF7, ///< The F7 key + sfKeyF8, ///< The F8 key + sfKeyF9, ///< The F8 key + sfKeyF10, ///< The F10 key + sfKeyF11, ///< The F11 key + sfKeyF12, ///< The F12 key + sfKeyF13, ///< The F13 key + sfKeyF14, ///< The F14 key + sfKeyF15, ///< The F15 key + sfKeyPause, ///< The Pause key + + sfKeyCount ///< Keep last -- the total number of keyboard keys +} sfKeyCode; + + +//////////////////////////////////////////////////////////// +/// \brief Check if a key is pressed +/// +/// \param key Key to check +/// +/// \return sfTrue if the key is pressed, sfFalse otherwise +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfKeyboard_isKeyPressed(sfKeyCode key); + + +#endif // SFML_KEYBOARD_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Mouse.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Mouse.h new file mode 100755 index 0000000..a1c1ce7 --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Mouse.h @@ -0,0 +1,87 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)// +// 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_H +#define SFML_MOUSE_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Window/Export.h> +#include <SFML/Window/Types.h> +#include <SFML/System/Vector2.h> + + +//////////////////////////////////////////////////////////// +/// \brief Mouse buttons +/// +//////////////////////////////////////////////////////////// +typedef enum +{ + sfMouseLeft, ///< The left mouse button + sfMouseRight, ///< The right mouse button + sfMouseMiddle, ///< The middle (wheel) mouse button + sfMouseXButton1, ///< The first extra mouse button + sfMouseXButton2, ///< The second extra mouse button + + sfMouseButtonCount ///< Keep last -- the total number of mouse buttons +} sfMouseButton; + + +//////////////////////////////////////////////////////////// +/// \brief Check if a mouse button is pressed +/// +/// \param button Button to check +/// +/// \return sfTrue if the button is pressed, sfFalse otherwise +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfMouse_isButtonPressed(sfMouseButton button); + +//////////////////////////////////////////////////////////// +/// \brief Get the current position of the mouse +/// +/// This function returns the current position of the mouse +/// cursor relative to the given window, or desktop if NULL is passed. +/// +/// \param relativeTo Reference window +/// +/// \return Position of the mouse cursor, relative to the given window +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfVector2i sfMouse_getPosition(const sfWindow* relativeTo); + +//////////////////////////////////////////////////////////// +/// \brief Set the current position of the mouse +/// +/// This function sets the current position of the mouse +/// cursor relative to the given window, or desktop if NULL is passed. +/// +/// \param position New position of the mouse +/// \param relativeTo Reference window +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfMouse_setPosition(sfVector2i position, const sfWindow* relativeTo); + + +#endif // SFML_MOUSE_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Types.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Types.h new file mode 100755 index 0000000..bc4b3a0 --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Types.h @@ -0,0 +1,33 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com) +// +// 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_TYPES_H +#define SFML_WINDOW_TYPES_H + + +typedef struct sfContext sfContext; +typedef struct sfWindow sfWindow; + + +#endif // SFML_WINDOW_TYPES_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/VideoMode.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/VideoMode.h new file mode 100755 index 0000000..5d5bc6a --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/VideoMode.h @@ -0,0 +1,89 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)// +// 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_H +#define SFML_VIDEOMODE_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Window/Export.h> +#include <stddef.h> + + +//////////////////////////////////////////////////////////// +/// \brief sfVideoMode defines a video mode (width, height, bpp, frequency) +/// and provides functions for getting modes supported +/// by the display device +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + 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 +} sfVideoMode; + + +//////////////////////////////////////////////////////////// +/// \brief Get the current desktop video mode +/// +/// \return Current desktop video mode +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfVideoMode sfVideoMode_getDesktopMode(void); + +//////////////////////////////////////////////////////////// +/// \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). +/// +/// \param count Pointer to a variable that will be filled with the number of modes in the array +/// +/// \return Pointer to an array containing all the supported fullscreen modes +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API const sfVideoMode* sfVideoMode_getFullscreenModes(size_t* Count); + +//////////////////////////////////////////////////////////// +/// \brief Tell whether or not a 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. +/// +/// \param mode Video mode +/// +/// \return sfTrue if the video mode is valid for fullscreen mode +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfVideoMode_isValid(sfVideoMode mode); + + +#endif // SFML_VIDEOMODE_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Window.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Window.h new file mode 100755 index 0000000..624bd6d --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/Window.h @@ -0,0 +1,416 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com) +// +// 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_H +#define SFML_WINDOW_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Window/Export.h> +#include <SFML/Window/Event.h> +#include <SFML/Window/VideoMode.h> +#include <SFML/Window/WindowHandle.h> +#include <SFML/Window/Types.h> +#include <SFML/System/Vector2.h> + + +//////////////////////////////////////////////////////////// +/// \brief Enumeration of window creation styles +/// +//////////////////////////////////////////////////////////// +enum +{ + sfNone = 0, ///< No border / title bar (this flag and all others are mutually exclusive) + sfTitlebar = 1 << 0, ///< Title bar + fixed border + sfResize = 1 << 1, ///< Titlebar + resizable border + maximize button + sfClose = 1 << 2, ///< Titlebar + close button + sfFullscreen = 1 << 3, ///< Fullscreen mode (this flag and all others are mutually exclusive) + sfDefaultStyle = sfTitlebar | sfResize | sfClose ///< Default window style +}; + + +//////////////////////////////////////////////////////////// +/// \brief Structure defining the window's creation settings +/// +//////////////////////////////////////////////////////////// +typedef struct +{ + 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 +} sfContextSettings; + + +//////////////////////////////////////////////////////////// +/// \brief Construct a new window +/// +/// This function creates the window with the size and pixel +/// depth defined in \a mode. An optional style can be passed to +/// customize the look and behaviour of the window (borders, +/// title bar, resizable, closable, ...). If \a style contains +/// sfFullscreen, then \a mode must be a valid video mode. +/// +/// The fourth parameter is a pointer to a 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 +/// \param settings Additional settings for the underlying OpenGL context +/// +/// \return A new sfWindow object +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfWindow* sfWindow_create(sfVideoMode mode, const char* title, sfUint32 style, const sfContextSettings* settings); + +//////////////////////////////////////////////////////////// +/// \brief Construct a new window (with a UTF-32 title) +/// +/// This function creates the window with the size and pixel +/// depth defined in \a mode. An optional style can be passed to +/// customize the look and behaviour of the window (borders, +/// title bar, resizable, closable, ...). If \a style contains +/// sfFullscreen, then \a mode must be a valid video mode. +/// +/// The fourth parameter is a pointer to a 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 (UTF-32) +/// \param style Window style +/// \param settings Additional settings for the underlying OpenGL context +/// +/// \return A new sfWindow object +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfWindow* sfWindow_createUnicode(sfVideoMode mode, const sfUint32* title, sfUint32 style, const sfContextSettings* settings); + +//////////////////////////////////////////////////////////// +/// \brief Construct a 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 a pointer to a structure specifying +/// advanced OpenGL context settings such as antialiasing, +/// depth-buffer bits, etc. +/// +/// \param handle Platform-specific handle of the control +/// \param settings Additional settings for the underlying OpenGL context +/// +/// \return A new sfWindow object +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfWindow* sfWindow_createFromHandle(sfWindowHandle handle, const sfContextSettings* settings); + +//////////////////////////////////////////////////////////// +/// \brief Destroy a window +/// +/// \param window Window to destroy +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_destroy(sfWindow* window); + +//////////////////////////////////////////////////////////// +/// \brief Close a window and destroy all the attached resources +/// +/// After calling this function, the sfWindow object remains +/// valid, you must call sfWindow_destroy to actually delete it. +/// All other functions such as sfWindow_pollEvent or sfWindow_display +/// will still work (i.e. you don't have to test sfWindow_isOpen +/// every time), and will have no effect on closed windows. +/// +/// \param window Window object +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_close(sfWindow* window); + +//////////////////////////////////////////////////////////// +/// \brief Tell whether or not a window is opened +/// +/// This function returns whether or not the window exists. +/// Note that a hidden window (sfWindow_setVisible(sfFalse)) will return +/// sfTrue. +/// +/// \param window Window object +/// +/// \return sfTrue if the window is opened, sfFalse if it has been closed +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfWindow_isOpen(const sfWindow* window); + +//////////////////////////////////////////////////////////// +/// \brief Get the settings of the OpenGL context of a window +/// +/// Note that these settings may be different from what was +/// passed to the sfWindow_create function, +/// if one or more settings were not supported. In this case, +/// SFML chose the closest match. +/// +/// \param window Window object +/// +/// \return Structure containing the OpenGL context settings +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfContextSettings sfWindow_getSettings(const sfWindow* window); + +//////////////////////////////////////////////////////////// +/// \brief Pop the event on top of 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. +/// +/// \param window Window object +/// \param event Event to be returned +/// +/// \return sfTrue if an event was returned, or sfFalse if the event queue was empty +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfWindow_pollEvent(sfWindow* window, sfEvent* 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 occured), +/// 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. +/// +/// \param window Window object +/// \param event Event to be returned +/// +/// \return sfFalse if any error occured +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfWindow_waitEvent(sfWindow* window, sfEvent* event); + +//////////////////////////////////////////////////////////// +/// \brief Get the position of a window +/// +/// \param window Window object +/// +/// \return Position in pixels +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfVector2i sfWindow_getPosition(const sfWindow* window); + +//////////////////////////////////////////////////////////// +/// \brief Change the position of a 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 window Window object +/// \param position New position of the window, in pixels +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setPosition(sfWindow* window, sfVector2i position); + +//////////////////////////////////////////////////////////// +/// \brief Get the size of the rendering region of a window +/// +/// The size doesn't include the titlebar and borders +/// of the window. +/// +/// \param window Window object +/// +/// \return Size in pixels +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfVector2u sfWindow_getSize(const sfWindow* window); + +//////////////////////////////////////////////////////////// +/// \brief Change the size of the rendering region of a window +/// +/// \param window Window object +/// \param size New size, in pixels +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setSize(sfWindow* window, sfVector2u size); + +//////////////////////////////////////////////////////////// +/// \brief Change the title of a window +/// +/// \param window Window object +/// \param title New title +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setTitle(sfWindow* window, const char* title); + +//////////////////////////////////////////////////////////// +/// \brief Change the title of a window (with a UTF-32 string) +/// +/// \param window Window object +/// \param title New title +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setUnicodeTitle(sfWindow* window, const sfUint32* title); + +//////////////////////////////////////////////////////////// +/// \brief Change a window's icon +/// +/// \a pixels must be an array of \a width x \a height pixels +/// in 32-bits RGBA format. +/// +/// \param window Window object +/// \param width Icon's width, in pixels +/// \param height Icon's height, in pixels +/// \param pixels Pointer to the array of pixels in memory +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setIcon(sfWindow* window, unsigned int width, unsigned int height, const sfUint8* pixels); + +//////////////////////////////////////////////////////////// +/// \brief Show or hide a window +/// +/// \param window Window object +/// \param visible sfTrue to show the window, sfFalse to hide it +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setVisible(sfWindow* window, sfBool visible); + +//////////////////////////////////////////////////////////// +/// \brief Show or hide the mouse cursor +/// +/// \param window Window object +/// \param visible sfTrue to show, sfFalse to hide +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setMouseCursorVisible(sfWindow* window, sfBool 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). +/// +/// \param window Window object +/// \param enabled sfTrue to enable v-sync, sfFalse to deactivate +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setVerticalSyncEnabled(sfWindow* window, sfBool enabled); + +//////////////////////////////////////////////////////////// +/// \brief Enable or disable automatic key-repeat +/// +/// If key repeat is enabled, you will receive repeated +/// KeyPress 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 window Window object +/// \param enabled sfTrue to enable, sfFalse to disable +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setKeyRepeatEnabled(sfWindow* window, sfBool enabled); + +//////////////////////////////////////////////////////////// +/// \brief Activate or deactivate a 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. +/// +/// \param window Window object +/// \param active sfTrue to activate, sfFalse to deactivate +/// +/// \return sfTrue if operation was successful, sfFalse otherwise +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfBool sfWindow_setActive(sfWindow* window, sfBool active); + +//////////////////////////////////////////////////////////// +/// \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. +/// +/// \param window Window object +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_display(sfWindow* window); + +//////////////////////////////////////////////////////////// +/// \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 sfWindow_display to ensure that the current frame +/// lasted long enough to match the framerate limit. +/// +/// \param window Window object +/// \param limit Framerate limit, in frames per seconds (use 0 to disable limit) +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setFramerateLimit(sfWindow* window, unsigned int limit); + +//////////////////////////////////////////////////////////// +/// \brief Change the joystick threshold +/// +/// The joystick threshold is the value below which +/// no JoyMoved event will be generated. +/// +/// \param window Window object +/// \param threshold New threshold, in the range [0, 100] +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API void sfWindow_setJoystickThreshold(sfWindow* window, float threshold); + +//////////////////////////////////////////////////////////// +/// \brief Get the OS-specific handle of the window +/// +/// The type of the returned handle is sfWindowHandle, +/// 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. +/// +/// \param window Window object +/// +/// \return System handle of the window +/// +//////////////////////////////////////////////////////////// +CSFML_WINDOW_API sfWindowHandle sfWindow_getSystemHandle(const sfWindow* window); + + +#endif // SFML_WINDOW_H diff --git a/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/WindowHandle.h b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/WindowHandle.h new file mode 100755 index 0000000..89319cb --- /dev/null +++ b/h1z1/libghack/CSFML-2.1-windows-64bits/CSFML-2.1/include/SFML/Window/WindowHandle.h @@ -0,0 +1,57 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com) +// +// 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_H +#define SFML_WINDOWHANDLE_H + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include <SFML/Window/Export.h> + + +//////////////////////////////////////////////////////////// +/// Define a low-level window handle type, specific to +/// each platform +//////////////////////////////////////////////////////////// +#if defined(CSFML_SYSTEM_WINDOWS) + + // Window handle is HWND (HWND__*) on Windows + struct HWND__; + typedef struct HWND__* sfWindowHandle; + +#elif defined(CSFML_SYSTEM_LINUX) || defined(CSFML_SYSTEM_FREEBSD) + + // Window handle is Window (unsigned long) on Unix - X11 + typedef unsigned long sfWindowHandle; + +#elif defined(CSFML_SYSTEM_MACOS) + + // Window handle is NSWindow (void*) on Mac OS X - Cocoa + typedef void* sfWindowHandle; + +#endif + + +#endif // SFML_WINDOWHANDLE_H |