From c850d3b11189a767fa1b5a7f62c01b04b3ac6589 Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Mon, 4 Jul 2011 08:21:40 +0200 Subject: [PATCH 01/23] Implemented global inputs (sf::Keyboard, sf::Mouse, sf::Joystick) and removed the event-based sf::Input. Window::WaitEvent now works with joystick events as well. Added Event::JoystickConnected and Event::JoystickDisconnected. Added Window::GetCursorPosition. --- examples/opengl/OpenGL.cpp | 6 +- examples/pong/Pong.cpp | 6 +- examples/shader/Shader.cpp | 22 +- examples/window/Window.cpp | 2 +- include/SFML/System/Vector2.hpp | 5 +- include/SFML/Window.hpp | 4 +- include/SFML/Window/Event.hpp | 278 ++++-------------- include/SFML/Window/Input.hpp | 198 ------------- include/SFML/Window/Joystick.hpp | 203 +++++++++++++ include/SFML/Window/Keyboard.hpp | 208 +++++++++++++ include/SFML/Window/Mouse.hpp | 131 +++++++++ include/SFML/Window/Window.hpp | 35 ++- src/SFML/Graphics/Shader.cpp | 2 +- src/SFML/Window/CMakeLists.txt | 25 +- src/SFML/Window/Input.cpp | 149 ---------- src/SFML/Window/InputImpl.hpp | 48 +++ src/SFML/Window/Joystick.cpp | 75 +++++ src/SFML/Window/JoystickImpl.hpp | 95 ++++++ src/SFML/Window/JoystickManager.cpp | 111 +++++++ src/SFML/Window/JoystickManager.hpp | 118 ++++++++ src/SFML/Window/Keyboard.cpp | 40 +++ src/SFML/Window/Linux/InputImpl.cpp | 228 ++++++++++++++ src/SFML/Window/Linux/InputImpl.hpp | 83 ++++++ src/SFML/Window/Linux/Joystick.cpp | 204 ------------- src/SFML/Window/Linux/JoystickImpl.cpp | 168 +++++++++++ .../Linux/{Joystick.hpp => JoystickImpl.hpp} | 214 +++++++------- src/SFML/Window/Linux/WindowImplX11.cpp | 248 ++++++++-------- src/SFML/Window/Linux/WindowImplX11.hpp | 14 +- src/SFML/Window/Mouse.cpp | 58 ++++ src/SFML/Window/OSX/InputImpl.cpp | 60 ++++ src/SFML/Window/OSX/InputImpl.hpp | 83 ++++++ .../{Joystick.hpp => OSX/JoystickImpl.cpp} | 74 +++-- .../Joystick.hpp => OSX/JoystickImpl.hpp} | 196 ++++++------ src/SFML/Window/OSX/SFApplication.h | 4 +- src/SFML/Window/OSX/SFApplication.m | 11 +- src/SFML/Window/OSX/SFWindowController.mm | 4 +- src/SFML/Window/OSX/WindowImplCocoa.hpp | 13 +- src/SFML/Window/OSX/WindowImplCocoa.mm | 12 +- src/SFML/Window/Win32/InputImpl.cpp | 179 +++++++++++ src/SFML/Window/Win32/InputImpl.hpp | 83 ++++++ src/SFML/Window/Win32/Joystick.cpp | 149 ---------- src/SFML/Window/Win32/JoystickImpl.cpp | 134 +++++++++ src/SFML/Window/Win32/JoystickImpl.hpp | 107 +++++++ src/SFML/Window/Win32/WindowImplWin32.cpp | 216 +++++++------- src/SFML/Window/Win32/WindowImplWin32.hpp | 14 +- src/SFML/Window/Window.cpp | 35 ++- src/SFML/Window/WindowImpl.cpp | 114 ++++--- src/SFML/Window/WindowImpl.hpp | 20 +- 48 files changed, 2969 insertions(+), 1517 deletions(-) delete mode 100644 include/SFML/Window/Input.hpp create mode 100644 include/SFML/Window/Joystick.hpp create mode 100644 include/SFML/Window/Keyboard.hpp create mode 100644 include/SFML/Window/Mouse.hpp delete mode 100644 src/SFML/Window/Input.cpp create mode 100644 src/SFML/Window/InputImpl.hpp create mode 100644 src/SFML/Window/Joystick.cpp create mode 100644 src/SFML/Window/JoystickImpl.hpp create mode 100644 src/SFML/Window/JoystickManager.cpp create mode 100644 src/SFML/Window/JoystickManager.hpp create mode 100644 src/SFML/Window/Keyboard.cpp create mode 100644 src/SFML/Window/Linux/InputImpl.cpp create mode 100644 src/SFML/Window/Linux/InputImpl.hpp delete mode 100644 src/SFML/Window/Linux/Joystick.cpp create mode 100644 src/SFML/Window/Linux/JoystickImpl.cpp rename src/SFML/Window/Linux/{Joystick.hpp => JoystickImpl.hpp} (61%) create mode 100644 src/SFML/Window/Mouse.cpp create mode 100644 src/SFML/Window/OSX/InputImpl.cpp create mode 100644 src/SFML/Window/OSX/InputImpl.hpp rename src/SFML/Window/{Joystick.hpp => OSX/JoystickImpl.cpp} (59%) rename src/SFML/Window/{Win32/Joystick.hpp => OSX/JoystickImpl.hpp} (62%) create mode 100644 src/SFML/Window/Win32/InputImpl.cpp create mode 100644 src/SFML/Window/Win32/InputImpl.hpp delete mode 100644 src/SFML/Window/Win32/Joystick.cpp create mode 100644 src/SFML/Window/Win32/JoystickImpl.cpp create mode 100644 src/SFML/Window/Win32/JoystickImpl.hpp diff --git a/examples/opengl/OpenGL.cpp b/examples/opengl/OpenGL.cpp index 33cfd837..3b02e38c 100644 --- a/examples/opengl/OpenGL.cpp +++ b/examples/opengl/OpenGL.cpp @@ -68,7 +68,7 @@ int main() window.Close(); // Escape key : exit - if ((event.Type == sf::Event::KeyPressed) && (event.Key.Code == sf::Key::Escape)) + if ((event.Type == sf::Event::KeyPressed) && (event.Key.Code == sf::Keyboard::Escape)) window.Close(); // Adjust the viewport when the window is resized @@ -90,8 +90,8 @@ int main() glClear(GL_DEPTH_BUFFER_BIT); // We get the position of the mouse cursor, so that we can move the box accordingly - float x = window.GetInput().GetMouseX() * 200.f / window.GetWidth() - 100.f; - float y = -window.GetInput().GetMouseY() * 200.f / window.GetHeight() + 100.f; + float x = window.GetCursorPosition().x * 200.f / window.GetWidth() - 100.f; + float y = -window.GetCursorPosition().y * 200.f / window.GetHeight() + 100.f; // Apply some transformations glMatrixMode(GL_MODELVIEW); diff --git a/examples/pong/Pong.cpp b/examples/pong/Pong.cpp index 84020e2f..1d03d9ef 100644 --- a/examples/pong/Pong.cpp +++ b/examples/pong/Pong.cpp @@ -89,7 +89,7 @@ int main() { // Window closed or escape key pressed : exit if ((event.Type == sf::Event::Closed) || - ((event.Type == sf::Event::KeyPressed) && (event.Key.Code == sf::Key::Escape))) + ((event.Type == sf::Event::KeyPressed) && (event.Key.Code == sf::Keyboard::Escape))) { window.Close(); break; @@ -99,9 +99,9 @@ int main() if (isPlaying) { // Move the player's paddle - if (window.GetInput().IsKeyDown(sf::Key::Up) && (leftPaddle.GetPosition().y > 5.f)) + if (sf::Keyboard::IsKeyPressed(sf::Keyboard::Up) && (leftPaddle.GetPosition().y > 5.f)) leftPaddle.Move(0.f, -leftPaddleSpeed * window.GetFrameTime() / 1000.f); - if (window.GetInput().IsKeyDown(sf::Key::Down) && (leftPaddle.GetPosition().y < window.GetView().GetSize().y - leftPaddle.GetSize().y - 5.f)) + if (sf::Keyboard::IsKeyPressed(sf::Keyboard::Down) && (leftPaddle.GetPosition().y < window.GetView().GetSize().y - leftPaddle.GetSize().y - 5.f)) leftPaddle.Move(0.f, leftPaddleSpeed * window.GetFrameTime() / 1000.f); // Move the computer's paddle diff --git a/examples/shader/Shader.cpp b/examples/shader/Shader.cpp index ee984a97..b30257a1 100644 --- a/examples/shader/Shader.cpp +++ b/examples/shader/Shader.cpp @@ -179,19 +179,19 @@ int main() if (event.Type == sf::Event::KeyPressed) { // Escape key : exit - if (event.Key.Code == sf::Key::Escape) + if (event.Key.Code == sf::Keyboard::Escape) window.Close(); // Numpad : switch effect switch (event.Key.Code) { - case sf::Key::Numpad1 : backgroundShader.GotoPrevious(); break; - case sf::Key::Numpad4 : backgroundShader.GotoNext(); break; - case sf::Key::Numpad2 : entityShader.GotoPrevious(); break; - case sf::Key::Numpad5 : entityShader.GotoNext(); break; - case sf::Key::Numpad3 : globalShader.GotoPrevious(); break; - case sf::Key::Numpad6 : globalShader.GotoNext(); break; - default : break; + case sf::Keyboard::Numpad1 : backgroundShader.GotoPrevious(); break; + case sf::Keyboard::Numpad4 : backgroundShader.GotoNext(); break; + case sf::Keyboard::Numpad2 : entityShader.GotoPrevious(); break; + case sf::Keyboard::Numpad5 : entityShader.GotoNext(); break; + case sf::Keyboard::Numpad3 : globalShader.GotoPrevious(); break; + case sf::Keyboard::Numpad6 : globalShader.GotoNext(); break; + default : break; } // Update the text @@ -202,8 +202,8 @@ int main() } // Get the mouse position in the range [0, 1] - float mouseX = window.GetInput().GetMouseX() / static_cast(window.GetWidth()); - float mouseY = window.GetInput().GetMouseY() / static_cast(window.GetHeight()); + float mouseX = window.GetCursorPosition().x / static_cast(window.GetWidth()); + float mouseY = window.GetCursorPosition().y / static_cast(window.GetHeight()); // Update the shaders backgroundShader.Update(mouseX, mouseY); @@ -265,7 +265,7 @@ void DisplayError() window.Close(); // Escape key : exit - if ((event.Type == sf::Event::KeyPressed) && (event.Key.Code == sf::Key::Escape)) + if ((event.Type == sf::Event::KeyPressed) && (event.Key.Code == sf::Keyboard::Escape)) window.Close(); } diff --git a/examples/window/Window.cpp b/examples/window/Window.cpp index 7a0d9414..fb99a1b1 100644 --- a/examples/window/Window.cpp +++ b/examples/window/Window.cpp @@ -45,7 +45,7 @@ int main() window.Close(); // Escape key : exit - if ((event.Type == sf::Event::KeyPressed) && (event.Key.Code == sf::Key::Escape)) + if ((event.Type == sf::Event::KeyPressed) && (event.Key.Code == sf::Keyboard::Escape)) window.Close(); // Resize event : adjust viewport diff --git a/include/SFML/System/Vector2.hpp b/include/SFML/System/Vector2.hpp index 399710e0..6b50bc49 100644 --- a/include/SFML/System/Vector2.hpp +++ b/include/SFML/System/Vector2.hpp @@ -250,8 +250,9 @@ bool operator !=(const Vector2& left, const Vector2& right); #include // Define the most common types -typedef Vector2 Vector2i; -typedef Vector2 Vector2f; +typedef Vector2 Vector2i; +typedef Vector2 Vector2u; +typedef Vector2 Vector2f; } // namespace sf diff --git a/include/SFML/Window.hpp b/include/SFML/Window.hpp index db1c7b46..7035e958 100644 --- a/include/SFML/Window.hpp +++ b/include/SFML/Window.hpp @@ -33,7 +33,9 @@ #include #include #include -#include +#include +#include +#include #include #include #include diff --git a/include/SFML/Window/Event.hpp b/include/SFML/Window/Event.hpp index 5d1b8834..e294cc0e 100644 --- a/include/SFML/Window/Event.hpp +++ b/include/SFML/Window/Event.hpp @@ -29,174 +29,13 @@ // Headers //////////////////////////////////////////////////////////// #include +#include +#include +#include namespace sf { -namespace Key -{ - //////////////////////////////////////////////////////////// - /// \ingroup window - /// \brief Definition of key codes for keyboard events - /// - //////////////////////////////////////////////////////////// - enum Code - { - A = 'a', ///< The A key - B = 'b', ///< The B key - C = 'c', ///< The C key - D = 'd', ///< The D key - E = 'e', ///< The E key - F = 'f', ///< The F key - G = 'g', ///< The G key - H = 'h', ///< The H key - I = 'i', ///< The I key - J = 'j', ///< The J key - K = 'k', ///< The K key - L = 'l', ///< The L key - M = 'm', ///< The M key - N = 'n', ///< The N key - O = 'o', ///< The O key - P = 'p', ///< The P key - Q = 'q', ///< The Q key - R = 'r', ///< The R key - S = 's', ///< The S key - T = 't', ///< The T key - U = 'u', ///< The U key - V = 'v', ///< The V key - W = 'w', ///< The W key - X = 'x', ///< The X key - Y = 'y', ///< The Y key - Z = 'z', ///< The Z key - Num0 = '0', ///< The 0 key - Num1 = '1', ///< The 1 key - Num2 = '2', ///< The 2 key - Num3 = '3', ///< The 3 key - Num4 = '4', ///< The 4 key - Num5 = '5', ///< The 5 key - Num6 = '6', ///< The 6 key - Num7 = '7', ///< The 7 key - Num8 = '8', ///< The 8 key - Num9 = '9', ///< The 9 key - Escape = 256, ///< The Escape key - LControl, ///< The left Control key - LShift, ///< The left Shift key - LAlt, ///< The left Alt key - LSystem, ///< The left OS specific key : windows (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 : windows (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 - Back, ///< 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, ///< + - Subtract, ///< - - Multiply, ///< * - Divide, ///< / - 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 F8 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 - - Count ///< Keep last -- the total number of keyboard keys - }; -} - - -namespace Mouse -{ - //////////////////////////////////////////////////////////// - /// \ingroup window - /// \brief Definition of button codes for mouse events - /// - //////////////////////////////////////////////////////////// - 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 - }; -} - - -namespace Joy -{ - //////////////////////////////////////////////////////////// - /// \ingroup window - /// \brief Definition of joystick axis for joystick events - /// - //////////////////////////////////////////////////////////// - enum Axis - { - AxisX, ///< The X axis - AxisY, ///< The Y axis - AxisZ, ///< The Z axis - AxisR, ///< The R axis - AxisU, ///< The U axis - AxisV, ///< The V axis - AxisPOV, ///< The Point-Of-View axis (hat) - - AxisCount // Keep last -- total number of joystick axis - }; - - enum - { - Count = 8, ///< Total number of supported joysticks - ButtonCount = 32 ///< Total number of supported joystick buttons - }; -} - - //////////////////////////////////////////////////////////// /// \brief Defines a system event and its parameters /// @@ -205,17 +44,27 @@ 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 { - Key::Code 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? + 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? }; //////////////////////////////////////////////////////////// @@ -261,35 +110,35 @@ public : }; //////////////////////////////////////////////////////////// - /// \brief Joystick axis move event parameters (JoyMoved) + /// \brief Joystick connection events parameters + /// (JoystickConnected, JoystickDisconnected) /// //////////////////////////////////////////////////////////// - struct JoyMoveEvent + struct JoystickConnectEvent { - unsigned int JoystickId; ///< Index of the joystick (in range [0 .. Joy::Count - 1]) - Joy::Axis Axis; ///< Axis on which the joystick moved - float Position; ///< New position on the axis (in range [-100 .. 100]) + 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 - /// (JoyButtonPressed, JoyButtonReleased) + /// (JoystickButtonPressed, JoystickButtonReleased) /// //////////////////////////////////////////////////////////// - struct JoyButtonEvent + struct JoystickButtonEvent { - unsigned int JoystickId; ///< Index of the joystick (in range [0 .. Joy::Count - 1]) - unsigned int Button; ///< Index of the button that has been pressed (in range [0 .. Joy::ButtonCount - 1]) - }; - - //////////////////////////////////////////////////////////// - /// \brief Size events parameters (Resized) - /// - //////////////////////////////////////////////////////////// - struct SizeEvent - { - unsigned int Width; ///< New width, in pixels - unsigned int Height; ///< New height, in pixels + 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]) }; //////////////////////////////////////////////////////////// @@ -298,24 +147,26 @@ public : //////////////////////////////////////////////////////////// enum EventType { - Closed, ///< The window requested to be closed - Resized, ///< The window was resized - LostFocus, ///< The window lost the focus - GainedFocus, ///< The window gained the focus - TextEntered, ///< A character was entered - KeyPressed, ///< A key was pressed - KeyReleased, ///< A key was released - MouseWheelMoved, ///< The mouse wheel was scrolled - MouseButtonPressed, ///< A mouse button was pressed - MouseButtonReleased, ///< A mouse button was released - MouseMoved, ///< The mouse cursor moved - MouseEntered, ///< The mouse cursor entered the area of the window - MouseLeft, ///< The mouse cursor left the area of the window - JoyButtonPressed, ///< A joystick button was pressed - JoyButtonReleased, ///< A joystick button was released - JoyMoved, ///< The joystick moved along an axis + Closed, ///< The window requested to be closed + Resized, ///< The window was resized + LostFocus, ///< The window lost the focus + GainedFocus, ///< The window gained the focus + TextEntered, ///< A character was entered + KeyPressed, ///< A key was pressed + KeyReleased, ///< A key was released + MouseWheelMoved, ///< The mouse wheel was scrolled + MouseButtonPressed, ///< A mouse button was pressed + MouseButtonReleased, ///< A mouse button was released + MouseMoved, ///< The mouse cursor moved + MouseEntered, ///< The mouse cursor entered the area of the window + MouseLeft, ///< The mouse cursor left the area of the window + JoystickButtonPressed, ///< A joystick button was pressed + JoystickButtonReleased, ///< A joystick button was released + JoystickMoved, ///< The joystick moved along an axis + JoystickConnected, ///< A joystick was connected + JoystickDisconnected, ///< A joystick was disconnected - Count ///< Keep last -- the total number of event types + Count ///< Keep last -- the total number of event types }; //////////////////////////////////////////////////////////// @@ -325,14 +176,15 @@ public : union { - KeyEvent Key; ///< Key event parameters - TextEvent Text; ///< Text event parameters - MouseMoveEvent MouseMove; ///< Mouse move event parameters - MouseButtonEvent MouseButton; ///< Mouse button event parameters - MouseWheelEvent MouseWheel; ///< Mouse wheel event parameters - JoyMoveEvent JoyMove; ///< Joystick move event parameters - JoyButtonEvent JoyButton; ///< Joystick button event parameters - SizeEvent Size; ///< Size event parameters + SizeEvent Size; ///< Size event parameters + KeyEvent Key; ///< Key event parameters + TextEvent Text; ///< Text event parameters + MouseMoveEvent MouseMove; ///< Mouse move event parameters + MouseButtonEvent MouseButton; ///< Mouse button event parameters + MouseWheelEvent MouseWheel; ///< Mouse wheel event parameters + JoystickMoveEvent JoystickMove; ///< Joystick move event parameters + JoystickButtonEvent JoystickButton; ///< Joystick button event parameters + JoystickConnectEvent JoystickConnect; ///< Joystick (dis)connect event parameters }; }; diff --git a/include/SFML/Window/Input.hpp b/include/SFML/Window/Input.hpp deleted file mode 100644 index 161cb678..00000000 --- a/include/SFML/Window/Input.hpp +++ /dev/null @@ -1,198 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_INPUT_HPP -#define SFML_INPUT_HPP - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -namespace sf -{ -class Window; - -//////////////////////////////////////////////////////////// -/// \brief Give access to the real-time states of keyboard, -/// mouse and joysticks -/// -//////////////////////////////////////////////////////////// -class SFML_API Input : NonCopyable -{ -public : - - //////////////////////////////////////////////////////////// - /// \brief Default constructor - /// - //////////////////////////////////////////////////////////// - Input(); - - //////////////////////////////////////////////////////////// - /// \brief Get the current state of a key (pressed or released) - /// - /// \param key Code of the key to test - /// - /// \return True if key is down, false if key is up - /// - //////////////////////////////////////////////////////////// - bool IsKeyDown(Key::Code key) const; - - //////////////////////////////////////////////////////////// - /// \brief Get the current state of a mouse button (pressed or released) - /// - /// \param button Code of the mouse button to check - /// - /// \return True if button is down, false if button is up - /// - //////////////////////////////////////////////////////////// - bool IsMouseButtonDown(Mouse::Button button) const; - - //////////////////////////////////////////////////////////// - /// \brief Get the current state of a joystick button (pressed or released) - /// - /// \param joystick Index of the joystick to test (in range [0 .. Joy::Count - 1]) - /// \param button Index of the button to test (in range [0 .. Joy::ButtonCount - 1]) - /// - /// \return True if button is down, false if button is up - /// - //////////////////////////////////////////////////////////// - bool IsJoystickButtonDown(unsigned int joystick, unsigned int button) const; - - //////////////////////////////////////////////////////////// - /// \brief Get the current mouse X position - /// - /// The returned position is relative to the left border - /// of the owner window. - /// - /// \return Current mouse left position - /// - //////////////////////////////////////////////////////////// - int GetMouseX() const; - - //////////////////////////////////////////////////////////// - /// \brief Get the current mouse Y position - /// - /// The returned position is relative to the top border - /// of the owner window. - /// - /// \return Current mouse top position - /// - //////////////////////////////////////////////////////////// - int GetMouseY() const; - - //////////////////////////////////////////////////////////// - /// \brief Get the current position of a joystick axis - /// - /// The returned position is in the range [-100 .. 100], except - /// the POV which is an angle and is thus defined in [0 .. 360]. - /// - /// \param joystick Index of the joystick to test (in range [0 .. Joy::Count - 1]) - /// \param axis Axis to test - /// - /// \return Current axis position - /// - //////////////////////////////////////////////////////////// - float GetJoystickAxis(unsigned int joystick, Joy::Axis axis) const; - -private : - - friend class Window; - - //////////////////////////////////////////////////////////// - /// \brief Notifies the input of a new event - /// - /// This function is for internal use only, it is called by - /// the owner window every time a new event has been triggered. - /// - /// \param event Event received - /// - //////////////////////////////////////////////////////////// - void OnEvent(const Event& event); - - //////////////////////////////////////////////////////////// - /// Reset all the states - /// - //////////////////////////////////////////////////////////// - void ResetStates(); - - //////////////////////////////////////////////////////////// - // Member data - //////////////////////////////////////////////////////////// - bool myKeys[Key::Count]; ///< Array containing the state of all keyboard keys - bool myMouseButtons[Mouse::ButtonCount]; ///< Array containing the state of all mouse buttons - int myMouseX; ///< Mouse position on X - int myMouseY; ///< Mouse position on Y - bool myJoystickButtons[Joy::Count][Joy::ButtonCount]; ///< Array containing the state of all joysticks buttons - float myJoystickAxis[Joy::Count][Joy::AxisCount]; ///< Joysticks position on each axis -}; - -} // namespace sf - - -#endif // SFML_INPUT_HPP - - -//////////////////////////////////////////////////////////// -/// \class sf::Input -/// \ingroup window -/// -/// sf::Input provides a way to access the state of keys, -/// mouse buttons, mouse position, joystick buttons and -/// jostick axis. -/// -/// sf::Input provides the same informations as the event -/// system, but these informations can be accessed at any time, -/// which is more convenient in many situations. -/// -/// For example, to move an entity you can decide to catch the -/// sf::Event::KeyPressed event on arrow keys. But if you do so, -/// you will only receive one event when the key gets pressed -/// (or repeated events if you activated this feature), thus the -/// entity will not move smoothly. The best solution here is to -/// use sf::Input::IsKeyDown so that you can update your entity's -/// position at every iteration of your game loop, not only when you -/// catch a KeyPressed event. -/// -/// Note that instances of sf::Input cannot be created directly, -/// they must be retrieved from a window (sf::Window) with its -/// GetInput() function. -/// -/// Usage example: -/// \code -/// // Retrieve the input object attached to our window -/// const sf::Input& input = window.GetInput(); -/// -/// // Move an entity according to the current keys state -/// float offset = 5.f * window.GetFrameTime(); // 5 pixels/sec -/// if (input.IsKeyDown(sf::Key::Left)) entity.Move(-offset, 0); -/// if (input.IsKeyDown(sf::Key::Right)) entity.Move( offset, 0); -/// if (input.IsKeyDown(sf::Key::Up)) entity.Move(0, -offset); -/// if (input.IsKeyDown(sf::Key::Down)) entity.Move(0, offset); -/// \endcode -/// -//////////////////////////////////////////////////////////// diff --git a/include/SFML/Window/Joystick.hpp b/include/SFML/Window/Joystick.hpp new file mode 100644 index 00000000..b059c2d8 --- /dev/null +++ b/include/SFML/Window/Joystick.hpp @@ -0,0 +1,203 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_HPP +#define SFML_JOYSTICK_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include + + +namespace sf +{ +//////////////////////////////////////////////////////////// +/// \brief Give access to the real-time state of the joysticks +/// +//////////////////////////////////////////////////////////// +class SFML_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 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, 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 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. + /// + //////////////////////////////////////////////////////////// + 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 instanciated. 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 explicitely. +/// +/// 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 +/// +//////////////////////////////////////////////////////////// diff --git a/include/SFML/Window/Keyboard.hpp b/include/SFML/Window/Keyboard.hpp new file mode 100644 index 00000000..abecde05 --- /dev/null +++ b/include/SFML/Window/Keyboard.hpp @@ -0,0 +1,208 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_HPP +#define SFML_KEYBOARD_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include + + +namespace sf +{ +//////////////////////////////////////////////////////////// +/// \brief Give access to the real-time state of the keyboard +/// +//////////////////////////////////////////////////////////// +class SFML_API Keyboard +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Key codes + /// + //////////////////////////////////////////////////////////// + enum Key + { + A, ///< 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 + Back, ///< 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, ///< + + Subtract, ///< - + Multiply, ///< * + Divide, ///< / + 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 F8 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); +}; + +} // 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 instanciated. +/// +/// 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 +/// +//////////////////////////////////////////////////////////// diff --git a/include/SFML/Window/Mouse.hpp b/include/SFML/Window/Mouse.hpp new file mode 100644 index 00000000..34cc0259 --- /dev/null +++ b/include/SFML/Window/Mouse.hpp @@ -0,0 +1,131 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_HPP +#define SFML_MOUSE_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include + + +namespace sf +{ +//////////////////////////////////////////////////////////// +/// \brief Give access to the real-time state of the mouse +/// +//////////////////////////////////////////////////////////// +class SFML_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 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 + /// + /// This function returns the current position of the mouse + /// cursor. + /// If the cursor is over a SFML window, the returned position + /// is relative to this window. Otherwise, the returned position + /// is in desktop coordinates. + /// + /// \return Current position of the mouse + /// + //////////////////////////////////////////////////////////// + static Vector2i GetPosition(); +}; + +} // 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 instanciated. +/// +/// 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. +/// +/// Note that the sf::Mouse::GetPosition function has a special +/// behaviour: it returns the cursor position relative to the +/// window which has the mouse focus (ie. the window on which +/// the cursor is). +/// +/// Usage example: +/// \code +/// if (sf::Mouse::IsButtonPressed(sf::Mouse::Left)) +/// { +/// // left click... +/// } +/// else if (sf::Mouse::IsButtonPressed(sf::Mouse::Right)) +/// { +/// // right click... +/// } +/// +/// sf::Vector2i position = sf::Mouse::GetPosition(); +/// \endcode +/// +/// \see sf::Joystick, sf::Keyboard +/// +//////////////////////////////////////////////////////////// diff --git a/include/SFML/Window/Window.hpp b/include/SFML/Window/Window.hpp index 18fc1189..1189d1a2 100644 --- a/include/SFML/Window/Window.hpp +++ b/include/SFML/Window/Window.hpp @@ -29,12 +29,12 @@ // Headers //////////////////////////////////////////////////////////// #include -#include #include #include #include #include #include +#include #include #include @@ -287,6 +287,14 @@ public : //////////////////////////////////////////////////////////// void SetCursorPosition(unsigned int x, unsigned int y); + //////////////////////////////////////////////////////////// + /// \brief Get the position of the mouse cursor + /// + /// \return Current mouse cursor position, relative to the window + /// + //////////////////////////////////////////////////////////// + Vector2i GetCursorPosition() const; + //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// @@ -384,17 +392,6 @@ public : //////////////////////////////////////////////////////////// void Display(); - //////////////////////////////////////////////////////////// - /// \brief Get the input manager attached the window - /// - /// This input gives access to the real-time state of - /// keyboard, mouse and joysticks for this window. - /// - /// \return Read-only reference to the input manager - /// - //////////////////////////////////////////////////////////// - const Input& GetInput() const; - //////////////////////////////////////////////////////////// /// \brief Limit the framerate to a maximum fixed frequency /// @@ -447,6 +444,16 @@ public : //////////////////////////////////////////////////////////// WindowHandle GetSystemHandle() const; + //////////////////////////////////////////////////////////// + /// \brief Get the window which is under the mouse cursor + /// + /// This function is for internal use. + /// + /// \return Pointer to the mouse focus window (NULL if not) + /// + //////////////////////////////////////////////////////////// + static const Window* GetMouseFocusWindow(); + private : //////////////////////////////////////////////////////////// @@ -493,7 +500,6 @@ private : //////////////////////////////////////////////////////////// priv::WindowImpl* myWindow; ///< Platform-specific implementation of the window priv::GlContext* myContext; ///< Platform-specific implementation of the OpenGL context - Input myInput; ///< Input manager connected to window Clock myClock; ///< Clock for measuring the elapsed time between frames Uint32 myLastFrameTime; ///< Time elapsed since last frame unsigned int myFramerateLimit; ///< Current framerate limit @@ -523,8 +529,7 @@ private : /// 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, and real-time state handling with its attached sf::Input -/// object (see GetInput()). +/// functions. /// /// Note that OpenGL experts can pass their own parameters (antialiasing /// level, bits for the depth and stencil buffers, etc.) to the diff --git a/src/SFML/Graphics/Shader.cpp b/src/SFML/Graphics/Shader.cpp index 8e7be3fe..c078e9f3 100644 --- a/src/SFML/Graphics/Shader.cpp +++ b/src/SFML/Graphics/Shader.cpp @@ -257,7 +257,7 @@ void Shader::SetCurrentTexture(const std::string& name) EnsureGlContext(); // Find the location of the variable in the shader - int myCurrentTexture = glGetUniformLocationARB(myShaderProgram, name.c_str()); + myCurrentTexture = glGetUniformLocationARB(myShaderProgram, name.c_str()); if (myCurrentTexture == -1) Err() << "Texture \"" << name << "\" not found in shader" << std::endl; } diff --git a/src/SFML/Window/CMakeLists.txt b/src/SFML/Window/CMakeLists.txt index 007a4b78..419f044d 100644 --- a/src/SFML/Window/CMakeLists.txt +++ b/src/SFML/Window/CMakeLists.txt @@ -12,9 +12,16 @@ set(SRC ${INCROOT}/GlResource.hpp ${INCROOT}/ContextSettings.hpp ${INCROOT}/Event.hpp - ${SRCROOT}/Input.cpp - ${INCROOT}/Input.hpp - ${SRCROOT}/Joystick.hpp + ${SRCROOT}/InputImpl.hpp + ${INCROOT}/Joystick.hpp + ${SRCROOT}/Joystick.cpp + ${SRCROOT}/JoystickImpl.hpp + ${SRCROOT}/JoystickManager.cpp + ${SRCROOT}/JoystickManager.hpp + ${INCROOT}/Keyboard.hpp + ${SRCROOT}/Keyboard.cpp + ${INCROOT}/Mouse.hpp + ${SRCROOT}/Mouse.cpp ${SRCROOT}/VideoMode.cpp ${INCROOT}/VideoMode.hpp ${SRCROOT}/VideoModeImpl.hpp @@ -32,8 +39,10 @@ if(WINDOWS) ${SRC} ${SRCROOT}/Win32/WglContext.cpp ${SRCROOT}/Win32/WglContext.hpp - ${SRCROOT}/Win32/Joystick.cpp - ${SRCROOT}/Win32/Joystick.hpp + ${SRCROOT}/Win32/InputImpl.cpp + ${SRCROOT}/Win32/InputImpl.hpp + ${SRCROOT}/Win32/JoystickImpl.cpp + ${SRCROOT}/Win32/JoystickImpl.hpp ${SRCROOT}/Win32/VideoModeImpl.cpp ${SRCROOT}/Win32/WindowImplWin32.cpp ${SRCROOT}/Win32/WindowImplWin32.hpp @@ -43,8 +52,10 @@ elseif(LINUX) ${SRC} ${SRCROOT}/Linux/GlxContext.cpp ${SRCROOT}/Linux/GlxContext.hpp - ${SRCROOT}/Linux/Joystick.cpp - ${SRCROOT}/Linux/Joystick.hpp + ${SRCROOT}/Linux/InputImpl.cpp + ${SRCROOT}/Linux/InputImpl.hpp + ${SRCROOT}/Linux/JoystickImpl.cpp + ${SRCROOT}/Linux/JoystickImpl.hpp ${SRCROOT}/Linux/VideoModeImpl.cpp ${SRCROOT}/Linux/WindowImplX11.cpp ${SRCROOT}/Linux/WindowImplX11.hpp diff --git a/src/SFML/Window/Input.cpp b/src/SFML/Window/Input.cpp deleted file mode 100644 index 289ec706..00000000 --- a/src/SFML/Window/Input.cpp +++ /dev/null @@ -1,149 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -namespace sf -{ -//////////////////////////////////////////////////////////// -Input::Input() : -myMouseX(0), -myMouseY(0) -{ - ResetStates(); -} - - -//////////////////////////////////////////////////////////// -bool Input::IsKeyDown(Key::Code key) const -{ - return myKeys[key]; -} - - -//////////////////////////////////////////////////////////// -bool Input::IsMouseButtonDown(Mouse::Button button) const -{ - return myMouseButtons[button]; -} - - -//////////////////////////////////////////////////////////// -bool Input::IsJoystickButtonDown(unsigned int joystick, unsigned int button) const -{ - if ((joystick < Joy::Count) && (button < Joy::ButtonCount)) - return myJoystickButtons[joystick][button]; - else - return false; -} - - -//////////////////////////////////////////////////////////// -int Input::GetMouseX() const -{ - return myMouseX; -} - - -//////////////////////////////////////////////////////////// -int Input::GetMouseY() const -{ - return myMouseY; -} - - -//////////////////////////////////////////////////////////// -float Input::GetJoystickAxis(unsigned int joystick, Joy::Axis axis) const -{ - if (joystick < Joy::Count) - return myJoystickAxis[joystick][axis]; - else - return 0.f; -} - - -//////////////////////////////////////////////////////////// -void Input::OnEvent(const Event& event) -{ - switch (event.Type) - { - // Key events - case Event::KeyPressed : myKeys[event.Key.Code] = true; break; - case Event::KeyReleased : myKeys[event.Key.Code] = false; break; - - // Mouse event - case Event::MouseButtonPressed : myMouseButtons[event.MouseButton.Button] = true; break; - case Event::MouseButtonReleased : myMouseButtons[event.MouseButton.Button] = false; break; - - // Mouse move event - case Event::MouseMoved : - myMouseX = event.MouseMove.X; - myMouseY = event.MouseMove.Y; - break; - - // Joystick button events - case Event::JoyButtonPressed : myJoystickButtons[event.JoyButton.JoystickId][event.JoyButton.Button] = true; break; - case Event::JoyButtonReleased : myJoystickButtons[event.JoyButton.JoystickId][event.JoyButton.Button] = false; break; - - // Joystick move event - case Event::JoyMoved : - myJoystickAxis[event.JoyMove.JoystickId][event.JoyMove.Axis] = event.JoyMove.Position; - break; - - // Lost focus event : we must reset all persistent states - case Event::LostFocus : - ResetStates(); - break; - - default : - break; - } -} - - -//////////////////////////////////////////////////////////// -void Input::ResetStates() -{ - for (int i = 0; i < Key::Count; ++i) - myKeys[i] = false; - - for (int i = 0; i < Mouse::ButtonCount; ++i) - myMouseButtons[i] = false; - - for (int i = 0; i < Joy::Count; ++i) - { - for (int j = 0; j < Joy::ButtonCount; ++j) - myJoystickButtons[i][j] = false; - - for (int j = 0; j < Joy::AxisCount; ++j) - myJoystickAxis[i][j] = 0.f; - myJoystickAxis[i][Joy::AxisPOV] = -1.f; - } -} - -} // namespace sf diff --git a/src/SFML/Window/InputImpl.hpp b/src/SFML/Window/InputImpl.hpp new file mode 100644 index 00000000..7c501471 --- /dev/null +++ b/src/SFML/Window/InputImpl.hpp @@ -0,0 +1,48 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_INPUTIMPL_HPP +#define SFML_INPUTIMPL_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include + +#if defined(SFML_SYSTEM_WINDOWS) + + #include + +#elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD) + + #include + +#elif defined(SFML_SYSTEM_MACOS) + + #include + +#endif + + +#endif // SFML_INPUTIMPL_HPP diff --git a/src/SFML/Window/Joystick.cpp b/src/SFML/Window/Joystick.cpp new file mode 100644 index 00000000..95e29291 --- /dev/null +++ b/src/SFML/Window/Joystick.cpp @@ -0,0 +1,75 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include + + +namespace sf +{ +//////////////////////////////////////////////////////////// +bool Joystick::IsConnected(unsigned int joystick) +{ + return priv::JoystickManager::GetInstance().GetState(joystick).Connected; +} + + +//////////////////////////////////////////////////////////// +unsigned int Joystick::GetButtonCount(unsigned int joystick) +{ + return priv::JoystickManager::GetInstance().GetCapabilities(joystick).ButtonCount; +} + + +//////////////////////////////////////////////////////////// +bool Joystick::HasAxis(unsigned int joystick, Axis axis) +{ + return priv::JoystickManager::GetInstance().GetCapabilities(joystick).Axes[axis]; +} + + +//////////////////////////////////////////////////////////// +bool Joystick::IsButtonPressed(unsigned int joystick, int button) +{ + return priv::JoystickManager::GetInstance().GetState(joystick).Buttons[button]; +} + + +//////////////////////////////////////////////////////////// +float Joystick::GetAxisPosition(unsigned int joystick, Axis axis) +{ + return priv::JoystickManager::GetInstance().GetState(joystick).Axes[axis]; +} + + +//////////////////////////////////////////////////////////// +void Joystick::Update() +{ + return priv::JoystickManager::GetInstance().Update(); +} + +} // namespace sf diff --git a/src/SFML/Window/JoystickImpl.hpp b/src/SFML/Window/JoystickImpl.hpp new file mode 100644 index 00000000..5ec45ecb --- /dev/null +++ b/src/SFML/Window/JoystickImpl.hpp @@ -0,0 +1,95 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_JOYSTICKIMPL_HPP +#define SFML_JOYSTICKIMPL_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief Structure holding a joystick's capabilities +/// +//////////////////////////////////////////////////////////// +struct JoystickCaps +{ + JoystickCaps() + { + ButtonCount = 0; + std::fill(Axes, Axes + Joystick::AxisCount, false); + } + + unsigned int ButtonCount; ///< Number of buttons supported by the joystick + bool Axes[Joystick::AxisCount]; ///< Support for each axis +}; + + +//////////////////////////////////////////////////////////// +/// \brief Structure holding a joystick's state +/// +//////////////////////////////////////////////////////////// +struct JoystickState +{ + JoystickState() + { + Connected = false; + std::fill(Axes, Axes + Joystick::AxisCount, 0.f); + std::fill(Buttons, Buttons + Joystick::ButtonCount, false); + } + + bool Connected; ///< Is the joystick currently connected? + float Axes[Joystick::AxisCount]; ///< Position of each axis, in range [-100, 100] + bool Buttons[Joystick::ButtonCount]; ///< Status of each button (true = pressed) +}; + +} // namespace priv + +} // namespace sf + + +#if defined(SFML_SYSTEM_WINDOWS) + + #include + +#elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD) + + #include + +#elif defined(SFML_SYSTEM_MACOS) + + #include + +#endif + + +#endif // SFML_JOYSTICKIMPL_HPP diff --git a/src/SFML/Window/JoystickManager.cpp b/src/SFML/Window/JoystickManager.cpp new file mode 100644 index 00000000..322815f2 --- /dev/null +++ b/src/SFML/Window/JoystickManager.cpp @@ -0,0 +1,111 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +JoystickManager& JoystickManager::GetInstance() +{ + static JoystickManager instance; + return instance; +} + + +//////////////////////////////////////////////////////////// +const JoystickCaps& JoystickManager::GetCapabilities(unsigned int joystick) const +{ + return myJoysticks[joystick].Capabilities; +} + + +//////////////////////////////////////////////////////////// +const JoystickState& JoystickManager::GetState(unsigned int joystick) const +{ + return myJoysticks[joystick].State; +} + + +//////////////////////////////////////////////////////////// +void JoystickManager::Update() +{ + for (int i = 0; i < Joystick::Count; ++i) + { + Item& item = myJoysticks[i]; + + if (item.State.Connected) + { + // Get the current state of the joystick + item.State = item.Joystick.Update(); + + // Check if it's still connected + if (!item.State.Connected) + { + item.Joystick.Close(); + item.Capabilities = JoystickCaps(); + item.State = JoystickState(); + } + } + else + { + // Check if the joystick was connected since last update + if (JoystickImpl::IsConnected(i)) + { + if (item.Joystick.Open(i)) + { + item.Capabilities = item.Joystick.GetCapabilities(); + item.State = item.Joystick.Update(); + } + } + } + } +} + + +//////////////////////////////////////////////////////////// +JoystickManager::JoystickManager() +{ +} + + +//////////////////////////////////////////////////////////// +JoystickManager::~JoystickManager() +{ + for (int i = 0; i < Joystick::Count; ++i) + { + if (myJoysticks[i].State.Connected) + myJoysticks[i].Joystick.Close(); + } +} + +} // namespace priv + +} // namespace sf diff --git a/src/SFML/Window/JoystickManager.hpp b/src/SFML/Window/JoystickManager.hpp new file mode 100644 index 00000000..32141dd3 --- /dev/null +++ b/src/SFML/Window/JoystickManager.hpp @@ -0,0 +1,118 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_JOYSTICKMANAGER_HPP +#define SFML_JOYSTICKMANAGER_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief Global joystick manager +/// +//////////////////////////////////////////////////////////// +class JoystickManager : NonCopyable +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Get the global unique instance of the manager + /// + /// \return Unique instance of the joystick manager + /// + //////////////////////////////////////////////////////////// + static JoystickManager& GetInstance(); + + //////////////////////////////////////////////////////////// + /// \brief Get the capabilities of an open joystick + /// + /// \param joystick Index of the joystick + /// + /// \return Capabilities of the joystick + /// + //////////////////////////////////////////////////////////// + const JoystickCaps& GetCapabilities(unsigned int joystick) const; + + //////////////////////////////////////////////////////////// + /// \brief Get the current state of an open joystick + /// + /// \param joystick Index of the joystick + /// + /// \return Current state of the joystick + /// + //////////////////////////////////////////////////////////// + const JoystickState& GetState(unsigned int joystick) const; + + //////////////////////////////////////////////////////////// + /// \brief Update the state of all the joysticks + /// + //////////////////////////////////////////////////////////// + void Update(); + +private: + + //////////////////////////////////////////////////////////// + /// \brief Default constructor + /// + //////////////////////////////////////////////////////////// + JoystickManager(); + + //////////////////////////////////////////////////////////// + /// \brief Destructor + /// + //////////////////////////////////////////////////////////// + ~JoystickManager(); + + //////////////////////////////////////////////////////////// + /// \brief Joystick information and state + /// + //////////////////////////////////////////////////////////// + struct Item + { + JoystickImpl Joystick; ///< Joystick implementation + JoystickState State; ///< The current joystick state + JoystickCaps Capabilities; ///< The joystick capabilities + }; + + //////////////////////////////////////////////////////////// + // Member data + //////////////////////////////////////////////////////////// + Item myJoysticks[Joystick::Count]; ///< Joysticks information and state +}; + +} // namespace priv + +} // namespace sf + + +#endif // SFML_JOYSTICKMANAGER_HPP diff --git a/src/SFML/Window/Keyboard.cpp b/src/SFML/Window/Keyboard.cpp new file mode 100644 index 00000000..70d8733b --- /dev/null +++ b/src/SFML/Window/Keyboard.cpp @@ -0,0 +1,40 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include + + +namespace sf +{ +//////////////////////////////////////////////////////////// +bool Keyboard::IsKeyPressed(Key key) +{ + return priv::InputImpl::IsKeyPressed(key); +} + +} // namespace sf diff --git a/src/SFML/Window/Linux/InputImpl.cpp b/src/SFML/Window/Linux/InputImpl.cpp new file mode 100644 index 00000000..0c1a683f --- /dev/null +++ b/src/SFML/Window/Linux/InputImpl.cpp @@ -0,0 +1,228 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include + + +namespace +{ + // Open, store and close a X display + struct GlobalDisplay + { + GlobalDisplay() + { + display = XOpenDisplay(NULL); + window = DefaultRootWindow(display); + } + + ~GlobalDisplay() + { + XCloseDisplay(display); + } + + ::Display* display; + ::Window window; + }; + + // Global connection with the X server, used in global input functions + GlobalDisplay global; +} + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +bool InputImpl::IsKeyPressed(Keyboard::Key key) +{ + // Get the corresponding X11 keysym + KeySym keysym = 0; + switch (key) + { + case Keyboard::A: keysym = XK_A; break; + case Keyboard::B: keysym = XK_B; break; + case Keyboard::C: keysym = XK_C; break; + case Keyboard::D: keysym = XK_D; break; + case Keyboard::E: keysym = XK_E; break; + case Keyboard::F: keysym = XK_F; break; + case Keyboard::G: keysym = XK_G; break; + case Keyboard::H: keysym = XK_H; break; + case Keyboard::I: keysym = XK_I; break; + case Keyboard::J: keysym = XK_J; break; + case Keyboard::K: keysym = XK_K; break; + case Keyboard::L: keysym = XK_L; break; + case Keyboard::M: keysym = XK_M; break; + case Keyboard::N: keysym = XK_N; break; + case Keyboard::O: keysym = XK_O; break; + case Keyboard::P: keysym = XK_P; break; + case Keyboard::Q: keysym = XK_Q; break; + case Keyboard::R: keysym = XK_R; break; + case Keyboard::S: keysym = XK_S; break; + case Keyboard::T: keysym = XK_T; break; + case Keyboard::U: keysym = XK_U; break; + case Keyboard::V: keysym = XK_V; break; + case Keyboard::W: keysym = XK_W; break; + case Keyboard::X: keysym = XK_X; break; + case Keyboard::Y: keysym = XK_Y; break; + case Keyboard::Z: keysym = XK_Z; break; + case Keyboard::Num0: keysym = XK_0; break; + case Keyboard::Num1: keysym = XK_1; break; + case Keyboard::Num2: keysym = XK_2; break; + case Keyboard::Num3: keysym = XK_3; break; + case Keyboard::Num4: keysym = XK_4; break; + case Keyboard::Num5: keysym = XK_5; break; + case Keyboard::Num6: keysym = XK_6; break; + case Keyboard::Num7: keysym = XK_7; break; + case Keyboard::Num8: keysym = XK_8; break; + case Keyboard::Num9: keysym = XK_9; break; + case Keyboard::Escape: keysym = XK_Escape; break; + case Keyboard::LControl: keysym = XK_Control_L; break; + case Keyboard::LShift: keysym = XK_Shift_L; break; + case Keyboard::LAlt: keysym = XK_Alt_L; break; + case Keyboard::LSystem: keysym = XK_Super_L; break; + case Keyboard::RControl: keysym = XK_Control_R; break; + case Keyboard::RShift: keysym = XK_Shift_R; break; + case Keyboard::RAlt: keysym = XK_Alt_R; break; + case Keyboard::RSystem: keysym = XK_Super_R; break; + case Keyboard::Menu: keysym = XK_Menu; break; + case Keyboard::LBracket: keysym = XK_bracketleft; break; + case Keyboard::RBracket: keysym = XK_bracketright; break; + case Keyboard::SemiColon: keysym = XK_semicolon; break; + case Keyboard::Comma: keysym = XK_comma; break; + case Keyboard::Period: keysym = XK_period; break; + case Keyboard::Quote: keysym = XK_dead_acute; break; + case Keyboard::Slash: keysym = XK_slash; break; + case Keyboard::BackSlash: keysym = XK_backslash; break; + case Keyboard::Tilde: keysym = XK_dead_grave; break; + case Keyboard::Equal: keysym = XK_equal; break; + case Keyboard::Dash: keysym = XK_minus; break; + case Keyboard::Space: keysym = XK_space; break; + case Keyboard::Return: keysym = XK_Return; break; + case Keyboard::Back: keysym = XK_BackSpace; break; + case Keyboard::Tab: keysym = XK_Tab; break; + case Keyboard::PageUp: keysym = XK_Prior; break; + case Keyboard::PageDown: keysym = XK_Next; break; + case Keyboard::End: keysym = XK_End; break; + case Keyboard::Home: keysym = XK_Home; break; + case Keyboard::Insert: keysym = XK_Insert; break; + case Keyboard::Delete: keysym = XK_Delete; break; + case Keyboard::Add: keysym = XK_KP_Add; break; + case Keyboard::Subtract: keysym = XK_KP_Subtract; break; + case Keyboard::Multiply: keysym = XK_KP_Multiply; break; + case Keyboard::Divide: keysym = XK_KP_Divide; break; + case Keyboard::Left: keysym = XK_Left; break; + case Keyboard::Right: keysym = XK_Right; break; + case Keyboard::Up: keysym = XK_Up; break; + case Keyboard::Down: keysym = XK_Down; break; + case Keyboard::Numpad0: keysym = XK_KP_0; break; + case Keyboard::Numpad1: keysym = XK_KP_1; break; + case Keyboard::Numpad2: keysym = XK_KP_2; break; + case Keyboard::Numpad3: keysym = XK_KP_3; break; + case Keyboard::Numpad4: keysym = XK_KP_4; break; + case Keyboard::Numpad5: keysym = XK_KP_5; break; + case Keyboard::Numpad6: keysym = XK_KP_6; break; + case Keyboard::Numpad7: keysym = XK_KP_7; break; + case Keyboard::Numpad8: keysym = XK_KP_8; break; + case Keyboard::Numpad9: keysym = XK_KP_9; break; + case Keyboard::F1: keysym = XK_F1; break; + case Keyboard::F2: keysym = XK_F2; break; + case Keyboard::F3: keysym = XK_F3; break; + case Keyboard::F4: keysym = XK_F4; break; + case Keyboard::F5: keysym = XK_F5; break; + case Keyboard::F6: keysym = XK_F6; break; + case Keyboard::F7: keysym = XK_F7; break; + case Keyboard::F8: keysym = XK_F8; break; + case Keyboard::F9: keysym = XK_F9; break; + case Keyboard::F10: keysym = XK_F10; break; + case Keyboard::F11: keysym = XK_F11; break; + case Keyboard::F12: keysym = XK_F12; break; + case Keyboard::F13: keysym = XK_F13; break; + case Keyboard::F14: keysym = XK_F14; break; + case Keyboard::F15: keysym = XK_F15; break; + case Keyboard::Pause: keysym = XK_Pause; break; + } + + // Convert to keycode + KeyCode keycode = XKeysymToKeycode(global.display, keysym); + if (keycode != 0) + { + // Get the whole keyboard state + char keys[32]; + XQueryKeymap(global.display, keys); + + // Check our keycode + return (keys[keycode / 8] & (1 << (keycode % 8))) != 0; + } + + return false; +} + + +//////////////////////////////////////////////////////////// +bool InputImpl::IsMouseButtonPressed(Mouse::Button button) +{ + // we don't care about these but they are required + ::Window root, child; + int wx, wy; + int gx, gy; + + unsigned int buttons = 0; + XQueryPointer(global.display, global.window, &root, &child, &gx, &gy, &wx, &wy, &buttons); + + switch (button) + { + case Mouse::Left: return buttons & Button1Mask; + case Mouse::Right: return buttons & Button3Mask; + case Mouse::Middle: return buttons & Button2Mask; + case Mouse::XButton1: return false; // not supported by X + case Mouse::XButton2: return false; // not supported by X + } + + return false; +} + + +//////////////////////////////////////////////////////////// +Vector2i InputImpl::GetMousePosition() +{ + // we don't care about these but they are required + ::Window root, child; + int wx, wy; + unsigned int buttons; + + int x = 0; + int y = 0; + XQueryPointer(global.display, global.window, &root, &child, &x, &y, &wx, &wy, &buttons); + + return Vector2i(x, y); +} + +} // namespace priv + +} // namespace sf \ No newline at end of file diff --git a/src/SFML/Window/Linux/InputImpl.hpp b/src/SFML/Window/Linux/InputImpl.hpp new file mode 100644 index 00000000..3f3df155 --- /dev/null +++ b/src/SFML/Window/Linux/InputImpl.hpp @@ -0,0 +1,83 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_INPUTIMPLX11_HPP +#define SFML_INPUTIMPLX11_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief Linux (X11) implementation of inputs (keyboard + mouse) +/// +//////////////////////////////////////////////////////////// +class InputImpl +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Check if a key is pressed + /// + /// \param key Key to check + /// + /// \return True if the key is pressed, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsKeyPressed(Keyboard::Key key); + + //////////////////////////////////////////////////////////// + /// \brief Check if a mouse button is pressed + /// + /// \param button Button to check + /// + /// \return True if the button is pressed, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsMouseButtonPressed(Mouse::Button button); + + //////////////////////////////////////////////////////////// + /// \brief Get the current position of the mouse + /// + /// This function returns the mouse position in desktop coordinates. + /// + /// \return Current position of the mouse + /// + //////////////////////////////////////////////////////////// + static Vector2i GetMousePosition(); +}; + +} // namespace priv + +} // namespace sf + + +#endif // SFML_INPUTIMPLX11_HPP \ No newline at end of file diff --git a/src/SFML/Window/Linux/Joystick.cpp b/src/SFML/Window/Linux/Joystick.cpp deleted file mode 100644 index 2ad46b49..00000000 --- a/src/SFML/Window/Linux/Joystick.cpp +++ /dev/null @@ -1,204 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -namespace sf -{ -namespace priv -{ -#if defined(SFML_SYSTEM_LINUX) - -//////////////////////////////////////////////////////////// -void Joystick::Initialize(unsigned int index) -{ - // Initial state - myNbButtons = 0; - myPovX = 0; - myPovY = 0; - for (int i = 0; i < Joy::ButtonCount; ++i) - { - myState.Buttons[i] = false; - } - for (int i = 0; i < Joy::AxisCount; ++i) - { - myState.Axis[i] = 0.f; - myAxes[i] = false; - } - - // Open the joystick handle - std::ostringstream oss; - oss << "/dev/input/js" << index; - myDescriptor = open(oss.str().c_str(), O_RDONLY); - if (myDescriptor > 0) - { - // Use non-blocking mode - fcntl(myDescriptor, F_SETFL, O_NONBLOCK); - - // Get number of buttons - char nbButtons; - ioctl(myDescriptor, JSIOCGBUTTONS, &nbButtons); - myNbButtons = nbButtons; - if (myNbButtons > Joy::ButtonCount) - myNbButtons = Joy::ButtonCount; - - // Get the supported axes - char nbAxes; - ioctl(myDescriptor, JSIOCGAXES, &nbAxes); - ioctl(myDescriptor, JSIOCGAXMAP, myAxesMapping); - for (int i = 0; i < nbAxes; ++i) - { - switch (myAxesMapping[i]) - { - case ABS_X : myAxes[Joy::AxisX] = true; break; - case ABS_Y : myAxes[Joy::AxisY] = true; break; - case ABS_Z : case ABS_THROTTLE : myAxes[Joy::AxisZ] = true; break; - case ABS_RZ: case ABS_RUDDER: myAxes[Joy::AxisR] = true; break; - case ABS_RX : myAxes[Joy::AxisU] = true; break; - case ABS_RY : myAxes[Joy::AxisV] = true; break; - case ABS_HAT0X : case ABS_HAT0Y : myAxes[Joy::AxisPOV] = true; break; - default : break; - } - } - } -} - - -//////////////////////////////////////////////////////////// -JoystickState Joystick::UpdateState() -{ - if (myDescriptor > 0) - { - js_event joyState; - while (read(myDescriptor, &joyState, sizeof(joyState)) > 0) - { - switch (joyState.type & ~JS_EVENT_INIT) - { - // An axis has been moved - case JS_EVENT_AXIS : - { - switch (myAxesMapping[joyState.number]) - { - case ABS_X : myState.Axis[Joy::AxisX] = joyState.value * 100.f / 32767.f; break; - case ABS_Y : myState.Axis[Joy::AxisY] = joyState.value * 100.f / 32767.f; break; - case ABS_Z : case ABS_THROTTLE : myState.Axis[Joy::AxisZ] = joyState.value * 100.f / 32767.f; break; - case ABS_RZ: case ABS_RUDDER: myState.Axis[Joy::AxisR] = joyState.value * 100.f / 32767.f; break; - case ABS_RX : myState.Axis[Joy::AxisU] = joyState.value * 100.f / 32767.f; break; - case ABS_RY : myState.Axis[Joy::AxisV] = joyState.value * 100.f / 32767.f; break; - case ABS_HAT0X : myPovX = joyState.value; break; - case ABS_HAT0Y : myPovY = joyState.value; break; - default : break; - } - - // Compute the new POV angle - if (myPovX > 0) - { - if (myPovY > 0) myState.Axis[Joy::AxisPOV] = 135.f; - else if (myPovY < 0) myState.Axis[Joy::AxisPOV] = 45.f; - else myState.Axis[Joy::AxisPOV] = 90.f; - } - else if (myPovX < 0) - { - if (myPovY > 0) myState.Axis[Joy::AxisPOV] = 225.f; - else if (myPovY < 0) myState.Axis[Joy::AxisPOV] = 315.f; - else myState.Axis[Joy::AxisPOV] = 270.f; - } - else - { - if (myPovY > 0) myState.Axis[Joy::AxisPOV] = 180.f; - else if (myPovY < 0) myState.Axis[Joy::AxisPOV] = 0.f; - else myState.Axis[Joy::AxisPOV] = -1.f; - } - - break; - } - - // A button has been pressed - case JS_EVENT_BUTTON : - { - if (joyState.number < GetButtonsCount()) - myState.Buttons[joyState.number] = (joyState.value != 0); - break; - } - } - } - } - - return myState; -} - - -//////////////////////////////////////////////////////////// -bool Joystick::HasAxis(Joy::Axis Axis) const -{ - return myAxes[Axis]; -} - - -//////////////////////////////////////////////////////////// -unsigned int Joystick::GetButtonsCount() const -{ - return myNbButtons; -} - - -#elif defined(SFML_SYSTEM_FREEBSD) - - -//////////////////////////////////////////////////////////// -void Joystick::Initialize(unsigned int index) -{ -} - - -//////////////////////////////////////////////////////////// -JoystickState Joystick::UpdateState() -{ - return JoystickState(); -} - - -//////////////////////////////////////////////////////////// -bool Joystick::HasAxis(Joy::Axis Axis) const -{ - return false; -} - - -//////////////////////////////////////////////////////////// -unsigned int Joystick::GetButtonsCount() const -{ - return 0; -} - -#endif // defined(SFML_SYSTEM_FREEBSD) - -} // namespace priv - -} // namespace sf diff --git a/src/SFML/Window/Linux/JoystickImpl.cpp b/src/SFML/Window/Linux/JoystickImpl.cpp new file mode 100644 index 00000000..91f22d23 --- /dev/null +++ b/src/SFML/Window/Linux/JoystickImpl.cpp @@ -0,0 +1,168 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +bool JoystickImpl::IsConnected(unsigned int index) +{ + std::ostringstream oss; + oss << "/dev/input/js" << index; + + struct stat info; + return stat(oss.str().c_str(), &info) == 0; +} + + +//////////////////////////////////////////////////////////// +bool JoystickImpl::Open(unsigned int index) +{ + std::ostringstream oss; + oss << "/dev/input/js" << index; + + myFile = open(oss.str().c_str(), O_RDONLY); + if (myFile > 0) + { + // Use non-blocking mode + fcntl(myFile, F_SETFL, O_NONBLOCK); + + // Retrieve the axes mapping + ioctl(myFile, JSIOCGAXMAP, myMapping); + + // Reset the joystick state + myState = JoystickState(); + + return true; + } + else + { + return false; + } +} + + +//////////////////////////////////////////////////////////// +void JoystickImpl::Close() +{ + close(myFile); +} + + +//////////////////////////////////////////////////////////// +JoystickCaps JoystickImpl::GetCapabilities() const +{ + JoystickCaps caps; + + // Get the number of buttons + char buttonCount; + ioctl(myFile, JSIOCGBUTTONS, &buttonCount); + caps.ButtonCount = buttonCount; + if (caps.ButtonCount > Joystick::ButtonCount) + caps.ButtonCount = Joystick::ButtonCount; + + // Get the supported axes + char axesCount; + ioctl(myFile, JSIOCGAXES, &axesCount); + for (int i = 0; i < axesCount; ++i) + { + switch (myMapping[i]) + { + case ABS_X : caps.Axes[Joystick::X] = true; break; + case ABS_Y : caps.Axes[Joystick::Y] = true; break; + case ABS_Z : + case ABS_THROTTLE : caps.Axes[Joystick::Z] = true; break; + case ABS_RZ: + case ABS_RUDDER: caps.Axes[Joystick::R] = true; break; + case ABS_RX : caps.Axes[Joystick::U] = true; break; + case ABS_RY : caps.Axes[Joystick::V] = true; break; + case ABS_HAT0X : caps.Axes[Joystick::PovX] = true; break; + case ABS_HAT0Y : caps.Axes[Joystick::PovY] = true; break; + default : break; + } + } + + return caps; +} + + +//////////////////////////////////////////////////////////// +JoystickState JoystickImpl::JoystickImpl::Update() +{ + // pop events from the joystick file + js_event joyState; + while (read(myFile, &joyState, sizeof(joyState)) > 0) + { + switch (joyState.type & ~JS_EVENT_INIT) + { + // An axis was moved + case JS_EVENT_AXIS : + { + float value = joyState.value * 100.f / 32767.f; + switch (myMapping[joyState.number]) + { + case ABS_X : myState.Axes[Joystick::X] = value; break; + case ABS_Y : myState.Axes[Joystick::Y] = value; break; + case ABS_Z : + case ABS_THROTTLE : myState.Axes[Joystick::Z] = value; break; + case ABS_RZ: + case ABS_RUDDER: myState.Axes[Joystick::R] = value; break; + case ABS_RX : myState.Axes[Joystick::U] = value; break; + case ABS_RY : myState.Axes[Joystick::V] = value; break; + case ABS_HAT0X : myState.Axes[Joystick::PovX] = value; break; + case ABS_HAT0Y : myState.Axes[Joystick::PovY] = value; break; + default : break; + } + break; + } + + // A button was pressed + case JS_EVENT_BUTTON : + { + if (joyState.number < Joystick::ButtonCount) + myState.Buttons[joyState.number] = (joyState.value != 0); + break; + } + } + } + + // Check the connection state of the joystick (read() fails with an error != EGAIN if it's no longer connected) + myState.Connected = (errno == EAGAIN); + + return myState; +} + +} // namespace priv + +} // namespace sf diff --git a/src/SFML/Window/Linux/Joystick.hpp b/src/SFML/Window/Linux/JoystickImpl.hpp similarity index 61% rename from src/SFML/Window/Linux/Joystick.hpp rename to src/SFML/Window/Linux/JoystickImpl.hpp index fd407abe..c3d64f59 100644 --- a/src/SFML/Window/Linux/Joystick.hpp +++ b/src/SFML/Window/Linux/JoystickImpl.hpp @@ -1,105 +1,109 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_JOYSTICKLINUX_HPP -#define SFML_JOYSTICKLINUX_HPP - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#if defined(SFML_SYSTEM_LINUX) - #include - #include -#elif defined(SFML_SYSTEM_FREEBSD) - // #include ? - #define ABS_MAX 1 -#endif - - -namespace sf -{ -namespace priv -{ -//////////////////////////////////////////////////////////// -/// \brief Linux implementation of Joystick -/// -//////////////////////////////////////////////////////////// -class Joystick -{ -public : - - //////////////////////////////////////////////////////////// - /// \brief Initialize the instance and bind it to a physical joystick - /// - /// \param index Index of the physical joystick to bind to - /// - //////////////////////////////////////////////////////////// - void Initialize(unsigned int index); - - //////////////////////////////////////////////////////////// - /// \brief Update the current joystick and return its new state - /// - /// \return Current state of the joystick - /// - //////////////////////////////////////////////////////////// - JoystickState UpdateState(); - - //////////////////////////////////////////////////////////// - /// \brief Check if the joystick supports the given axis - /// - /// \param axis Axis to check - /// - /// \return True of the axis is supported, false otherwise - /// - //////////////////////////////////////////////////////////// - bool HasAxis(Joy::Axis Axis) const; - - //////////////////////////////////////////////////////////// - /// \brief Get the number of buttons supported by the joystick - /// - /// \return Number of buttons - /// - //////////////////////////////////////////////////////////// - unsigned int GetButtonsCount() const; - -private : - - //////////////////////////////////////////////////////////// - // Member data - //////////////////////////////////////////////////////////// - int myDescriptor; ///< Linux descriptor of the joystick - unsigned int myNbButtons; ///< Number of buttons supported by the joystick - bool myAxes[Joy::AxisCount]; ///< Supported axes - JoystickState myState; ///< Current state of the joystick - int myPovX; ///< Last X position of the POV - int myPovY; ///< Last Y position of the POV - char myAxesMapping[ABS_MAX + 1]; ///< Axes mapping (index --> axis id) -}; - -} // namespace priv - -} // namespace sf - - -#endif // SFML_JOYSTICKLINUX_HPP +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_JOYSTICKIMPLLINUX_HPP +#define SFML_JOYSTICKIMPLLINUX_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#if defined(SFML_SYSTEM_LINUX) + #include + #include +#elif defined(SFML_SYSTEM_FREEBSD) + // #include ? + #define ABS_MAX 1 +#endif + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief Linux implementation of joysticks +/// +//////////////////////////////////////////////////////////// +class JoystickImpl +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Check if a joystick is currently connected + /// + /// \param index Index of the joystick to check + /// + /// \return True if the joystick is connected, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsConnected(unsigned int index); + + //////////////////////////////////////////////////////////// + /// \brief Open the joystick + /// + /// \param index Index assigned to the joystick + /// + /// \return True on success, false on failure + /// + //////////////////////////////////////////////////////////// + bool Open(unsigned int index); + + //////////////////////////////////////////////////////////// + /// \brief Close the joystick + /// + //////////////////////////////////////////////////////////// + void Close(); + + //////////////////////////////////////////////////////////// + /// \brief Get the joystick capabilities + /// + /// \return Joystick capabilities + /// + //////////////////////////////////////////////////////////// + JoystickCaps GetCapabilities() const; + + //////////////////////////////////////////////////////////// + /// \brief Update the joystick and get its new state + /// + /// \return Joystick state + /// + //////////////////////////////////////////////////////////// + JoystickState Update(); + +private : + + //////////////////////////////////////////////////////////// + // Member data + //////////////////////////////////////////////////////////// + int myFile; ///< File descriptor of the joystick + char myMapping[ABS_MAX + 1]; ///< Axes mapping (index to axis id) + JoystickState myState; ///< Current state of the joystick +}; + +} // namespace priv + +} // namespace sf + + +#endif // SFML_JOYSTICKIMPLLINUX_HPP diff --git a/src/SFML/Window/Linux/WindowImplX11.cpp b/src/SFML/Window/Linux/WindowImplX11.cpp index 3a64fbc1..942c2378 100644 --- a/src/SFML/Window/Linux/WindowImplX11.cpp +++ b/src/SFML/Window/Linux/WindowImplX11.cpp @@ -284,26 +284,12 @@ WindowHandle WindowImplX11::GetSystemHandle() const //////////////////////////////////////////////////////////// -void WindowImplX11::ProcessEvents(bool block) +void WindowImplX11::ProcessEvents() { - if (block) + XEvent event; + while (XCheckIfEvent(myDisplay, &event, &CheckEvent, reinterpret_cast(myWindow))) { - // Blocking -- wait and process events in the event queue until a valid event is found - XEvent event; - do - { - XIfEvent(myDisplay, &event, &CheckEvent, reinterpret_cast(myWindow)); - } - while (!ProcessEvent(event)); - } - else - { - // Non-blocking -- process all events in the event queue - XEvent event; - while (XCheckIfEvent(myDisplay, &event, &CheckEvent, reinterpret_cast(myWindow))) - { - ProcessEvent(event); - } + ProcessEvent(event); } } @@ -324,6 +310,22 @@ void WindowImplX11::SetCursorPosition(unsigned int x, unsigned int y) } +//////////////////////////////////////////////////////////// +Vector2i WindowImplX11::GetCursorPosition() const +{ + // we don't care about these but they are required + ::Window root, child; + int gx, gy; + unsigned int buttons; + + int x = 0; + int y = 0; + XQueryPointer(myDisplay, myWindow, &root, &child, &gx, &gy, &x, &y, &buttons); + + return Vector2i(x, y); +} + + //////////////////////////////////////////////////////////// void WindowImplX11::SetPosition(int x, int y) { @@ -590,7 +592,7 @@ bool WindowImplX11::ProcessEvent(XEvent windowEvent) // and we need to properly forward the first one. char keys[32]; XQueryKeymap(myDisplay, keys); - if (keys[windowEvent.xkey.keycode >> 3] & (1 << (windowEvent.xkey.keycode % 8))) + if (keys[windowEvent.xkey.keycode / 8] & (1 << (windowEvent.xkey.keycode % 8))) { // KeyRelease event + key down = repeated event --> discard if (windowEvent.type == KeyRelease) @@ -847,7 +849,7 @@ bool WindowImplX11::ProcessEvent(XEvent windowEvent) //////////////////////////////////////////////////////////// -Key::Code WindowImplX11::KeysymToSF(KeySym symbol) +Keyboard::Key WindowImplX11::KeysymToSF(KeySym symbol) { // First convert to uppercase (to avoid dealing with two different keysyms for the same key) KeySym lower, key; @@ -855,111 +857,111 @@ Key::Code WindowImplX11::KeysymToSF(KeySym symbol) switch (key) { - case XK_Shift_L : return Key::LShift; - case XK_Shift_R : return Key::RShift; - case XK_Control_L : return Key::LControl; - case XK_Control_R : return Key::RControl; - case XK_Alt_L : return Key::LAlt; - case XK_Alt_R : return Key::RAlt; - case XK_Super_L : return Key::LSystem; - case XK_Super_R : return Key::RSystem; - case XK_Menu : return Key::Menu; - case XK_Escape : return Key::Escape; - case XK_semicolon : return Key::SemiColon; - case XK_slash : return Key::Slash; - case XK_equal : return Key::Equal; - case XK_minus : return Key::Dash; - case XK_bracketleft : return Key::LBracket; - case XK_bracketright : return Key::RBracket; - case XK_comma : return Key::Comma; - case XK_period : return Key::Period; - case XK_dead_acute : return Key::Quote; - case XK_backslash : return Key::BackSlash; - case XK_dead_grave : return Key::Tilde; - case XK_space : return Key::Space; - case XK_Return : return Key::Return; - case XK_KP_Enter : return Key::Return; - case XK_BackSpace : return Key::Back; - case XK_Tab : return Key::Tab; - case XK_Prior : return Key::PageUp; - case XK_Next : return Key::PageDown; - case XK_End : return Key::End; - case XK_Home : return Key::Home; - case XK_Insert : return Key::Insert; - case XK_Delete : return Key::Delete; - case XK_KP_Add : return Key::Add; - case XK_KP_Subtract : return Key::Subtract; - case XK_KP_Multiply : return Key::Multiply; - case XK_KP_Divide : return Key::Divide; - case XK_Pause : return Key::Pause; - case XK_F1 : return Key::F1; - case XK_F2 : return Key::F2; - case XK_F3 : return Key::F3; - case XK_F4 : return Key::F4; - case XK_F5 : return Key::F5; - case XK_F6 : return Key::F6; - case XK_F7 : return Key::F7; - case XK_F8 : return Key::F8; - case XK_F9 : return Key::F9; - case XK_F10 : return Key::F10; - case XK_F11 : return Key::F11; - case XK_F12 : return Key::F12; - case XK_F13 : return Key::F13; - case XK_F14 : return Key::F14; - case XK_F15 : return Key::F15; - case XK_Left : return Key::Left; - case XK_Right : return Key::Right; - case XK_Up : return Key::Up; - case XK_Down : return Key::Down; - case XK_KP_0 : return Key::Numpad0; - case XK_KP_1 : return Key::Numpad1; - case XK_KP_2 : return Key::Numpad2; - case XK_KP_3 : return Key::Numpad3; - case XK_KP_4 : return Key::Numpad4; - case XK_KP_5 : return Key::Numpad5; - case XK_KP_6 : return Key::Numpad6; - case XK_KP_7 : return Key::Numpad7; - case XK_KP_8 : return Key::Numpad8; - case XK_KP_9 : return Key::Numpad9; - case XK_A : return Key::A; - case XK_Z : return Key::Z; - case XK_E : return Key::E; - case XK_R : return Key::R; - case XK_T : return Key::T; - case XK_Y : return Key::Y; - case XK_U : return Key::U; - case XK_I : return Key::I; - case XK_O : return Key::O; - case XK_P : return Key::P; - case XK_Q : return Key::Q; - case XK_S : return Key::S; - case XK_D : return Key::D; - case XK_F : return Key::F; - case XK_G : return Key::G; - case XK_H : return Key::H; - case XK_J : return Key::J; - case XK_K : return Key::K; - case XK_L : return Key::L; - case XK_M : return Key::M; - case XK_W : return Key::W; - case XK_X : return Key::X; - case XK_C : return Key::C; - case XK_V : return Key::V; - case XK_B : return Key::B; - case XK_N : return Key::N; - case XK_0 : return Key::Num0; - case XK_1 : return Key::Num1; - case XK_2 : return Key::Num2; - case XK_3 : return Key::Num3; - case XK_4 : return Key::Num4; - case XK_5 : return Key::Num5; - case XK_6 : return Key::Num6; - case XK_7 : return Key::Num7; - case XK_8 : return Key::Num8; - case XK_9 : return Key::Num9; + case XK_Shift_L : return Keyboard::LShift; + case XK_Shift_R : return Keyboard::RShift; + case XK_Control_L : return Keyboard::LControl; + case XK_Control_R : return Keyboard::RControl; + case XK_Alt_L : return Keyboard::LAlt; + case XK_Alt_R : return Keyboard::RAlt; + case XK_Super_L : return Keyboard::LSystem; + case XK_Super_R : return Keyboard::RSystem; + case XK_Menu : return Keyboard::Menu; + case XK_Escape : return Keyboard::Escape; + case XK_semicolon : return Keyboard::SemiColon; + case XK_slash : return Keyboard::Slash; + case XK_equal : return Keyboard::Equal; + case XK_minus : return Keyboard::Dash; + case XK_bracketleft : return Keyboard::LBracket; + case XK_bracketright : return Keyboard::RBracket; + case XK_comma : return Keyboard::Comma; + case XK_period : return Keyboard::Period; + case XK_dead_acute : return Keyboard::Quote; + case XK_backslash : return Keyboard::BackSlash; + case XK_dead_grave : return Keyboard::Tilde; + case XK_space : return Keyboard::Space; + case XK_Return : return Keyboard::Return; + case XK_KP_Enter : return Keyboard::Return; + case XK_BackSpace : return Keyboard::Back; + case XK_Tab : return Keyboard::Tab; + case XK_Prior : return Keyboard::PageUp; + case XK_Next : return Keyboard::PageDown; + case XK_End : return Keyboard::End; + case XK_Home : return Keyboard::Home; + case XK_Insert : return Keyboard::Insert; + case XK_Delete : return Keyboard::Delete; + case XK_KP_Add : return Keyboard::Add; + case XK_KP_Subtract : return Keyboard::Subtract; + case XK_KP_Multiply : return Keyboard::Multiply; + case XK_KP_Divide : return Keyboard::Divide; + case XK_Pause : return Keyboard::Pause; + case XK_F1 : return Keyboard::F1; + case XK_F2 : return Keyboard::F2; + case XK_F3 : return Keyboard::F3; + case XK_F4 : return Keyboard::F4; + case XK_F5 : return Keyboard::F5; + case XK_F6 : return Keyboard::F6; + case XK_F7 : return Keyboard::F7; + case XK_F8 : return Keyboard::F8; + case XK_F9 : return Keyboard::F9; + case XK_F10 : return Keyboard::F10; + case XK_F11 : return Keyboard::F11; + case XK_F12 : return Keyboard::F12; + case XK_F13 : return Keyboard::F13; + case XK_F14 : return Keyboard::F14; + case XK_F15 : return Keyboard::F15; + case XK_Left : return Keyboard::Left; + case XK_Right : return Keyboard::Right; + case XK_Up : return Keyboard::Up; + case XK_Down : return Keyboard::Down; + case XK_KP_0 : return Keyboard::Numpad0; + case XK_KP_1 : return Keyboard::Numpad1; + case XK_KP_2 : return Keyboard::Numpad2; + case XK_KP_3 : return Keyboard::Numpad3; + case XK_KP_4 : return Keyboard::Numpad4; + case XK_KP_5 : return Keyboard::Numpad5; + case XK_KP_6 : return Keyboard::Numpad6; + case XK_KP_7 : return Keyboard::Numpad7; + case XK_KP_8 : return Keyboard::Numpad8; + case XK_KP_9 : return Keyboard::Numpad9; + case XK_A : return Keyboard::A; + case XK_Z : return Keyboard::Z; + case XK_E : return Keyboard::E; + case XK_R : return Keyboard::R; + case XK_T : return Keyboard::T; + case XK_Y : return Keyboard::Y; + case XK_U : return Keyboard::U; + case XK_I : return Keyboard::I; + case XK_O : return Keyboard::O; + case XK_P : return Keyboard::P; + case XK_Q : return Keyboard::Q; + case XK_S : return Keyboard::S; + case XK_D : return Keyboard::D; + case XK_F : return Keyboard::F; + case XK_G : return Keyboard::G; + case XK_H : return Keyboard::H; + case XK_J : return Keyboard::J; + case XK_K : return Keyboard::K; + case XK_L : return Keyboard::L; + case XK_M : return Keyboard::M; + case XK_W : return Keyboard::W; + case XK_X : return Keyboard::X; + case XK_C : return Keyboard::C; + case XK_V : return Keyboard::V; + case XK_B : return Keyboard::B; + case XK_N : return Keyboard::N; + case XK_0 : return Keyboard::Num0; + case XK_1 : return Keyboard::Num1; + case XK_2 : return Keyboard::Num2; + case XK_3 : return Keyboard::Num3; + case XK_4 : return Keyboard::Num4; + case XK_5 : return Keyboard::Num5; + case XK_6 : return Keyboard::Num6; + case XK_7 : return Keyboard::Num7; + case XK_8 : return Keyboard::Num8; + case XK_9 : return Keyboard::Num9; } - return Key::Code(0); + return Keyboard::Key(0); } } // namespace priv diff --git a/src/SFML/Window/Linux/WindowImplX11.hpp b/src/SFML/Window/Linux/WindowImplX11.hpp index f46f87cd..14466682 100644 --- a/src/SFML/Window/Linux/WindowImplX11.hpp +++ b/src/SFML/Window/Linux/WindowImplX11.hpp @@ -94,10 +94,8 @@ private : //////////////////////////////////////////////////////////// /// \brief Process incoming events from the operating system /// - /// \param block Use true to block the thread until an event arrives - /// //////////////////////////////////////////////////////////// - virtual void ProcessEvents(bool block); + virtual void ProcessEvents(); //////////////////////////////////////////////////////////// /// \brief Show or hide the mouse cursor @@ -116,6 +114,14 @@ private : //////////////////////////////////////////////////////////// virtual void SetCursorPosition(unsigned int x, unsigned int y); + //////////////////////////////////////////////////////////// + /// \brief Get the position of the mouse cursor + /// + /// \return Current mouse cursor position, relative to the window + /// + //////////////////////////////////////////////////////////// + virtual Vector2i GetCursorPosition() const; + //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// @@ -212,7 +218,7 @@ private : /// \return Corrsponding SFML key code /// //////////////////////////////////////////////////////////// - static Key::Code KeysymToSF(KeySym symbol); + static Keyboard::Key KeysymToSF(KeySym symbol); //////////////////////////////////////////////////////////// // Member data diff --git a/src/SFML/Window/Mouse.cpp b/src/SFML/Window/Mouse.cpp new file mode 100644 index 00000000..afb63b18 --- /dev/null +++ b/src/SFML/Window/Mouse.cpp @@ -0,0 +1,58 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include + + +namespace sf +{ +//////////////////////////////////////////////////////////// +bool Mouse::IsButtonPressed(Button button) +{ + return priv::InputImpl::IsMouseButtonPressed(button); +} + + +//////////////////////////////////////////////////////////// +Vector2i Mouse::GetPosition() +{ + const Window* focusWindow = Window::GetMouseFocusWindow(); + if (focusWindow) + { + // Position relative to the focus window + return focusWindow->GetCursorPosition(); + } + else + { + // Desktop position + return priv::InputImpl::GetMousePosition(); + } +} + +} // namespace sf diff --git a/src/SFML/Window/OSX/InputImpl.cpp b/src/SFML/Window/OSX/InputImpl.cpp new file mode 100644 index 00000000..bfd635c6 --- /dev/null +++ b/src/SFML/Window/OSX/InputImpl.cpp @@ -0,0 +1,60 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +bool InputImpl::IsKeyPressed(Keyboard::Key key) +{ + // @to be implemented + return false; +} + + +//////////////////////////////////////////////////////////// +bool InputImpl::IsMouseButtonPressed(Mouse::Button button) +{ + // @to be implemented + return false; +} + + +//////////////////////////////////////////////////////////// +Vector2i InputImpl::GetMousePosition() +{ + // @to be implemented + return Vector2i(); +} + +} // namespace priv + +} // namespace sf diff --git a/src/SFML/Window/OSX/InputImpl.hpp b/src/SFML/Window/OSX/InputImpl.hpp new file mode 100644 index 00000000..3d52da52 --- /dev/null +++ b/src/SFML/Window/OSX/InputImpl.hpp @@ -0,0 +1,83 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_INPUTIMPLOSX_HPP +#define SFML_INPUTIMPLOSX_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief Mac OS X implementation of inputs (keyboard + mouse) +/// +//////////////////////////////////////////////////////////// +class InputImpl +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Check if a key is pressed + /// + /// \param key Key to check + /// + /// \return True if the key is pressed, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsKeyPressed(Keyboard::Key key); + + //////////////////////////////////////////////////////////// + /// \brief Check if a mouse button is pressed + /// + /// \param button Button to check + /// + /// \return True if the button is pressed, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsMouseButtonPressed(Mouse::Button button); + + //////////////////////////////////////////////////////////// + /// \brief Get the current position of the mouse + /// + /// This function returns the mouse position in desktop coordinates. + /// + /// \return Current position of the mouse + /// + //////////////////////////////////////////////////////////// + static Vector2i GetMousePosition(); +}; + +} // namespace priv + +} // namespace sf + + +#endif // SFML_INPUTIMPLOSX_HPP diff --git a/src/SFML/Window/Joystick.hpp b/src/SFML/Window/OSX/JoystickImpl.cpp similarity index 59% rename from src/SFML/Window/Joystick.hpp rename to src/SFML/Window/OSX/JoystickImpl.cpp index c98baf8e..c45c6722 100644 --- a/src/SFML/Window/Joystick.hpp +++ b/src/SFML/Window/OSX/JoystickImpl.cpp @@ -22,14 +22,10 @@ // //////////////////////////////////////////////////////////// -#ifndef SFML_JOYSTICK_HPP -#define SFML_JOYSTICK_HPP - //////////////////////////////////////////////////////////// // Headers //////////////////////////////////////////////////////////// -#include -#include +#include namespace sf @@ -37,45 +33,43 @@ namespace sf namespace priv { //////////////////////////////////////////////////////////// -/// \brief Structure holding the joystick state's parameters -/// -//////////////////////////////////////////////////////////// -struct JoystickState +bool JoystickImpl::IsConnected(unsigned int index) { - JoystickState() - { - // Default value for axes - for (int i = 0; i < Joy::AxisCount; ++i) - Axis[i] = 0.f; - Axis[Joy::AxisPOV] = -1.f; + // @to be implemented + return false; +} - // Default value for buttons - for (int i = 0; i < Joy::ButtonCount; ++i) - Buttons[i] = false; - } - float Axis[Joy::AxisCount]; ///< Position on each axis in range [-100, 100] (except POV which is [0, 360]) - bool Buttons[Joy::ButtonCount]; ///< Status of each button (true = pressed) -}; +//////////////////////////////////////////////////////////// +bool JoystickImpl::Open(unsigned int index) +{ + // @to be implemented + return false; +} + + +//////////////////////////////////////////////////////////// +void JoystickImpl::Close() +{ + // @to be implemented +} + + +//////////////////////////////////////////////////////////// +JoystickCaps JoystickImpl::GetCapabilities() const +{ + // @to be implemented + return JoystickCaps(); +} + + +//////////////////////////////////////////////////////////// +JoystickState JoystickImpl::Update() +{ + // @to be implemented + return JoystickState(); +} } // namespace priv } // namespace sf - - -#if defined(SFML_SYSTEM_WINDOWS) - - #include - -#elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD) - - #include - -#elif defined(SFML_SYSTEM_MACOS) - - #include - -#endif - - -#endif // SFML_JOYSTICK_HPP diff --git a/src/SFML/Window/Win32/Joystick.hpp b/src/SFML/Window/OSX/JoystickImpl.hpp similarity index 62% rename from src/SFML/Window/Win32/Joystick.hpp rename to src/SFML/Window/OSX/JoystickImpl.hpp index 6b3c3874..970a0dd6 100644 --- a/src/SFML/Window/Win32/Joystick.hpp +++ b/src/SFML/Window/OSX/JoystickImpl.hpp @@ -1,96 +1,100 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_JOYSTICKWIN32_HPP -#define SFML_JOYSTICKWIN32_HPP - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// - - -namespace sf -{ -namespace priv -{ -//////////////////////////////////////////////////////////// -/// \brief Windows implementation of Joystick -/// -//////////////////////////////////////////////////////////// -class Joystick -{ -public : - - //////////////////////////////////////////////////////////// - /// \brief Initialize the instance and bind it to a physical joystick - /// - /// \param index Index of the physical joystick to bind to - /// - //////////////////////////////////////////////////////////// - void Initialize(unsigned int index); - - //////////////////////////////////////////////////////////// - /// \brief Update the current joystick and return its new state - /// - /// \return Current state of the joystick - /// - //////////////////////////////////////////////////////////// - JoystickState UpdateState(); - - //////////////////////////////////////////////////////////// - /// \brief Check if the joystick supports the given axis - /// - /// \param Axis : Axis to check - /// - /// \return True of the axis is supported, false otherwise - /// - //////////////////////////////////////////////////////////// - bool HasAxis(Joy::Axis Axis) const; - - //////////////////////////////////////////////////////////// - /// \brief Get the number of buttons supported by the joystick - /// - /// \return Number of buttons - /// - //////////////////////////////////////////////////////////// - unsigned int GetButtonsCount() const; - -private : - - //////////////////////////////////////////////////////////// - // Member data - //////////////////////////////////////////////////////////// - bool myIsConnected; ///< Is there a joystick connected? - unsigned int myIndex; ///< Windows ID of the joystick - unsigned int myNbButtons; ///< Number of buttons supported by the joystick - bool myAxes[Joy::AxisCount]; ///< Supported axes - bool myHasContinuousPOV; ///< True if the driver supports continuous values for the POV -}; - -} // namespace priv - -} // namespace sf - - -#endif // SFML_JOYSTICKWIN32_HPP +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_JOYSTICKIMPLOSX_HPP +#define SFML_JOYSTICKIMPLOSX_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief Mac OS X implementation of joysticks +/// +//////////////////////////////////////////////////////////// +class JoystickImpl +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Check if a joystick is currently connected + /// + /// \param index Index of the joystick to check + /// + /// \return True if the joystick is connected, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsConnected(unsigned int index); + + //////////////////////////////////////////////////////////// + /// \brief Open the joystick + /// + /// \param index Index assigned to the joystick + /// + /// \return True on success, false on failure + /// + //////////////////////////////////////////////////////////// + bool Open(unsigned int index); + + //////////////////////////////////////////////////////////// + /// \brief Close the joystick + /// + //////////////////////////////////////////////////////////// + void Close(); + + //////////////////////////////////////////////////////////// + /// \brief Get the joystick capabilities + /// + /// \return Joystick capabilities + /// + //////////////////////////////////////////////////////////// + JoystickCaps GetCapabilities() const; + + //////////////////////////////////////////////////////////// + /// \brief Update the joystick and get its new state + /// + /// \return Joystick state + /// + //////////////////////////////////////////////////////////// + JoystickState Update(); + +private : + + //////////////////////////////////////////////////////////// + // Member data + //////////////////////////////////////////////////////////// +}; + +} // namespace priv + +} // namespace sf + + +#endif // SFML_JOYSTICKIMPLOSX_HPP diff --git a/src/SFML/Window/OSX/SFApplication.h b/src/SFML/Window/OSX/SFApplication.h index 92338fea..d3615eb6 100644 --- a/src/SFML/Window/OSX/SFApplication.h +++ b/src/SFML/Window/OSX/SFApplication.h @@ -38,9 +38,7 @@ //////////////////////////////////////////////////////////// /// \brief Event processing /// -/// \param block blocking mode means at least one event is proccessed. -/// //////////////////////////////////////////////////////////// -+(void)processEventWithBlockingMode:(BOOL)block; ++(void)processEvent @end diff --git a/src/SFML/Window/OSX/SFApplication.m b/src/SFML/Window/OSX/SFApplication.m index cc484062..010bcb68 100644 --- a/src/SFML/Window/OSX/SFApplication.m +++ b/src/SFML/Window/OSX/SFApplication.m @@ -35,20 +35,11 @@ //////////////////////////////////////////////////////////// -+(void)processEventWithBlockingMode:(BOOL)block ++(void)processEvent { [NSApplication sharedApplication]; // Make sure NSApp exists NSEvent* event = nil; - if (block) { // At least one event is read. - event = [NSApp nextEventMatchingMask:NSAnyEventMask - untilDate:[NSDate distantFuture] - inMode:NSDefaultRunLoopMode - dequeue:YES]; // Remove the event from the dequeue - [NSApp sendEvent:event]; - } - - // If there are some other event read them. while ((event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSDefaultRunLoopMode diff --git a/src/SFML/Window/OSX/SFWindowController.mm b/src/SFML/Window/OSX/SFWindowController.mm index 958ac647..1f5a1fa7 100644 --- a/src/SFML/Window/OSX/SFWindowController.mm +++ b/src/SFML/Window/OSX/SFWindowController.mm @@ -404,7 +404,7 @@ //////////////////////////////////////////////////////// --(void)processEventWithBlockingMode:(BOOL)block +-(void)processEvent { // If we are not on the main thread we stop here and advice the user. if ([NSThread currentThread] != [NSThread mainThread]) { @@ -421,7 +421,7 @@ // If we don't have a requester we don't fetch event. if (myRequester != 0) { - [SFApplication processEventWithBlockingMode:block]; + [SFApplication processEvent]; } } diff --git a/src/SFML/Window/OSX/WindowImplCocoa.hpp b/src/SFML/Window/OSX/WindowImplCocoa.hpp index ef2c012b..6013abfa 100644 --- a/src/SFML/Window/OSX/WindowImplCocoa.hpp +++ b/src/SFML/Window/OSX/WindowImplCocoa.hpp @@ -233,13 +233,12 @@ public: static void SetUpProcess(void); private: + //////////////////////////////////////////////////////////// /// \brief Process incoming events from the operating system /// - /// \param block Use true to block the thread until an event arrives - /// //////////////////////////////////////////////////////////// - virtual void ProcessEvents(bool block); + virtual void ProcessEvents(); //////////////////////////////////////////////////////////// /// \brief Get the OS-specific handle of the window @@ -266,6 +265,14 @@ private: //////////////////////////////////////////////////////////// virtual void SetCursorPosition(unsigned int x, unsigned int y); + //////////////////////////////////////////////////////////// + /// \brief Get the position of the mouse cursor + /// + /// \return Current mouse cursor position, relative to the window + /// + //////////////////////////////////////////////////////////// + virtual Vector2i GetCursorPosition() const; + //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// diff --git a/src/SFML/Window/OSX/WindowImplCocoa.mm b/src/SFML/Window/OSX/WindowImplCocoa.mm index 162231e6..57866623 100644 --- a/src/SFML/Window/OSX/WindowImplCocoa.mm +++ b/src/SFML/Window/OSX/WindowImplCocoa.mm @@ -312,9 +312,9 @@ void WindowImplCocoa::TextEntered(unichar charcode) #pragma mark WindowImplCocoa's event-related methods //////////////////////////////////////////////////////////// -void WindowImplCocoa::ProcessEvents(bool block) +void WindowImplCocoa::ProcessEvents() { - [myDelegate processEventWithBlockingMode:(block ? YES : NO)]; + [myDelegate processEvent]; } #pragma mark @@ -344,6 +344,14 @@ void WindowImplCocoa::SetCursorPosition(unsigned int x, unsigned int y) [myDelegate setCursorPositionToX:x Y:y]; } + +//////////////////////////////////////////////////////////// +Vector2i WindowImplCocoa::GetCursorPosition() const +{ + // @to be implemented + return Vector2i(); +} + //////////////////////////////////////////////////////////// void WindowImplCocoa::SetPosition(int x, int y) diff --git a/src/SFML/Window/Win32/InputImpl.cpp b/src/SFML/Window/Win32/InputImpl.cpp new file mode 100644 index 00000000..6845be41 --- /dev/null +++ b/src/SFML/Window/Win32/InputImpl.cpp @@ -0,0 +1,179 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#define _WIN32_WINDOWS 0x0501 +#define _WIN32_WINNT 0x0501 +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +bool InputImpl::IsKeyPressed(Keyboard::Key key) +{ + int vkey = 0; + switch (key) + { + case Keyboard::A: vkey = 'A'; break; + case Keyboard::B: vkey = 'B'; break; + case Keyboard::C: vkey = 'C'; break; + case Keyboard::D: vkey = 'D'; break; + case Keyboard::E: vkey = 'E'; break; + case Keyboard::F: vkey = 'F'; break; + case Keyboard::G: vkey = 'G'; break; + case Keyboard::H: vkey = 'H'; break; + case Keyboard::I: vkey = 'I'; break; + case Keyboard::J: vkey = 'J'; break; + case Keyboard::K: vkey = 'K'; break; + case Keyboard::L: vkey = 'L'; break; + case Keyboard::M: vkey = 'M'; break; + case Keyboard::N: vkey = 'N'; break; + case Keyboard::O: vkey = 'O'; break; + case Keyboard::P: vkey = 'P'; break; + case Keyboard::Q: vkey = 'Q'; break; + case Keyboard::R: vkey = 'R'; break; + case Keyboard::S: vkey = 'S'; break; + case Keyboard::T: vkey = 'T'; break; + case Keyboard::U: vkey = 'U'; break; + case Keyboard::V: vkey = 'V'; break; + case Keyboard::W: vkey = 'W'; break; + case Keyboard::X: vkey = 'X'; break; + case Keyboard::Y: vkey = 'Y'; break; + case Keyboard::Z: vkey = 'Z'; break; + case Keyboard::Num0: vkey = '0'; break; + case Keyboard::Num1: vkey = '1'; break; + case Keyboard::Num2: vkey = '2'; break; + case Keyboard::Num3: vkey = '3'; break; + case Keyboard::Num4: vkey = '4'; break; + case Keyboard::Num5: vkey = '5'; break; + case Keyboard::Num6: vkey = '6'; break; + case Keyboard::Num7: vkey = '7'; break; + case Keyboard::Num8: vkey = '8'; break; + case Keyboard::Num9: vkey = '9'; break; + case Keyboard::Escape: vkey = VK_ESCAPE; break; + case Keyboard::LControl: vkey = VK_LCONTROL; break; + case Keyboard::LShift: vkey = VK_LSHIFT; break; + case Keyboard::LAlt: vkey = VK_LMENU; break; + case Keyboard::LSystem: vkey = VK_LWIN; break; + case Keyboard::RControl: vkey = VK_RCONTROL; break; + case Keyboard::RShift: vkey = VK_RSHIFT; break; + case Keyboard::RAlt: vkey = VK_RMENU; break; + case Keyboard::RSystem: vkey = VK_RWIN; break; + case Keyboard::Menu: vkey = VK_APPS; break; + case Keyboard::LBracket: vkey = VK_OEM_4; break; + case Keyboard::RBracket: vkey = VK_OEM_6; break; + case Keyboard::SemiColon: vkey = VK_OEM_1; break; + case Keyboard::Comma: vkey = VK_OEM_COMMA; break; + case Keyboard::Period: vkey = VK_OEM_PERIOD; break; + case Keyboard::Quote: vkey = VK_OEM_7; break; + case Keyboard::Slash: vkey = VK_OEM_2; break; + case Keyboard::BackSlash: vkey = VK_OEM_5; break; + case Keyboard::Tilde: vkey = VK_OEM_3; break; + case Keyboard::Equal: vkey = VK_OEM_PLUS; break; + case Keyboard::Dash: vkey = VK_OEM_MINUS; break; + case Keyboard::Space: vkey = VK_SPACE; break; + case Keyboard::Return: vkey = VK_RETURN; break; + case Keyboard::Back: vkey = VK_BACK; break; + case Keyboard::Tab: vkey = VK_TAB; break; + case Keyboard::PageUp: vkey = VK_PRIOR; break; + case Keyboard::PageDown: vkey = VK_NEXT; break; + case Keyboard::End: vkey = VK_END; break; + case Keyboard::Home: vkey = VK_HOME; break; + case Keyboard::Insert: vkey = VK_INSERT; break; + case Keyboard::Delete: vkey = VK_DELETE; break; + case Keyboard::Add: vkey = VK_ADD; break; + case Keyboard::Subtract: vkey = VK_SUBTRACT; break; + case Keyboard::Multiply: vkey = VK_MULTIPLY; break; + case Keyboard::Divide: vkey = VK_DIVIDE; break; + case Keyboard::Left: vkey = VK_LEFT; break; + case Keyboard::Right: vkey = VK_RIGHT; break; + case Keyboard::Up: vkey = VK_UP; break; + case Keyboard::Down: vkey = VK_DOWN; break; + case Keyboard::Numpad0: vkey = VK_NUMPAD0; break; + case Keyboard::Numpad1: vkey = VK_NUMPAD1; break; + case Keyboard::Numpad2: vkey = VK_NUMPAD2; break; + case Keyboard::Numpad3: vkey = VK_NUMPAD3; break; + case Keyboard::Numpad4: vkey = VK_NUMPAD4; break; + case Keyboard::Numpad5: vkey = VK_NUMPAD5; break; + case Keyboard::Numpad6: vkey = VK_NUMPAD6; break; + case Keyboard::Numpad7: vkey = VK_NUMPAD7; break; + case Keyboard::Numpad8: vkey = VK_NUMPAD8; break; + case Keyboard::Numpad9: vkey = VK_NUMPAD9; break; + case Keyboard::F1: vkey = VK_F1; break; + case Keyboard::F2: vkey = VK_F2; break; + case Keyboard::F3: vkey = VK_F3; break; + case Keyboard::F4: vkey = VK_F4; break; + case Keyboard::F5: vkey = VK_F5; break; + case Keyboard::F6: vkey = VK_F6; break; + case Keyboard::F7: vkey = VK_F7; break; + case Keyboard::F8: vkey = VK_F8; break; + case Keyboard::F9: vkey = VK_F9; break; + case Keyboard::F10: vkey = VK_F10; break; + case Keyboard::F11: vkey = VK_F11; break; + case Keyboard::F12: vkey = VK_F12; break; + case Keyboard::F13: vkey = VK_F13; break; + case Keyboard::F14: vkey = VK_F14; break; + case Keyboard::F15: vkey = VK_F16; break; + case Keyboard::Pause: vkey = VK_PAUSE; break; + } + + return GetAsyncKeyState(vkey) != 0; +} + + +//////////////////////////////////////////////////////////// +bool InputImpl::IsMouseButtonPressed(Mouse::Button button) +{ + int vkey = 0; + switch (button) + { + case Mouse::Left: vkey = VK_LBUTTON; break; + case Mouse::Right: vkey = VK_RBUTTON; break; + case Mouse::Middle: vkey = VK_MBUTTON; break; + case Mouse::XButton1: vkey = VK_XBUTTON1; break; + case Mouse::XButton2: vkey = VK_XBUTTON2; break; + } + + return GetAsyncKeyState(vkey) != 0; +} + + +//////////////////////////////////////////////////////////// +Vector2i InputImpl::GetMousePosition() +{ + POINT position; + GetCursorPos(&position); + + return Vector2i(position.x, position.y); +} + +} // namespace priv + +} // namespace sf diff --git a/src/SFML/Window/Win32/InputImpl.hpp b/src/SFML/Window/Win32/InputImpl.hpp new file mode 100644 index 00000000..5870f4f1 --- /dev/null +++ b/src/SFML/Window/Win32/InputImpl.hpp @@ -0,0 +1,83 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_INPUTIMPLWIN32_HPP +#define SFML_INPUTIMPLWIN32_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief Windows implementation of inputs (keyboard + mouse) +/// +//////////////////////////////////////////////////////////// +class InputImpl +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Check if a key is pressed + /// + /// \param key Key to check + /// + /// \return True if the key is pressed, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsKeyPressed(Keyboard::Key key); + + //////////////////////////////////////////////////////////// + /// \brief Check if a mouse button is pressed + /// + /// \param button Button to check + /// + /// \return True if the button is pressed, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsMouseButtonPressed(Mouse::Button button); + + //////////////////////////////////////////////////////////// + /// \brief Get the current position of the mouse + /// + /// This function returns the mouse position in desktop coordinates. + /// + /// \return Current position of the mouse + /// + //////////////////////////////////////////////////////////// + static Vector2i GetMousePosition(); +}; + +} // namespace priv + +} // namespace sf + + +#endif // SFML_INPUTIMPLWIN32_HPP diff --git a/src/SFML/Window/Win32/Joystick.cpp b/src/SFML/Window/Win32/Joystick.cpp deleted file mode 100644 index e14552f7..00000000 --- a/src/SFML/Window/Win32/Joystick.cpp +++ /dev/null @@ -1,149 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#define _WIN32_WINDOWS 0x0501 -#define _WIN32_WINNT 0x0501 -#include -#include -#include - - -namespace sf -{ -namespace priv -{ -//////////////////////////////////////////////////////////// -void Joystick::Initialize(unsigned int index) -{ - // Reset state - myIndex = JOYSTICKID1; - myNbButtons = 0; - myIsConnected = false; - myHasContinuousPOV = false; - for (int i = 0; i < Joy::AxisCount; ++i) - myAxes[i] = false; - - // Get the Index-th connected joystick - MMRESULT error; - JOYINFOEX joyInfos; - joyInfos.dwSize = sizeof(joyInfos); - joyInfos.dwFlags = JOY_RETURNALL; - for (unsigned int found = 0; (error = joyGetPosEx(myIndex, &joyInfos)) != JOYERR_PARMS; myIndex++) - { - // Check if the current joystick is connected - if (error == JOYERR_NOERROR) - { - // Check if it's the required index - if (found == index) - { - // Ok : store its parameters and return - myIsConnected = true; - JOYCAPS caps; - joyGetDevCaps(myIndex, &caps, sizeof(caps)); - myNbButtons = caps.wNumButtons; - if (myNbButtons > Joy::ButtonCount) - myNbButtons = Joy::ButtonCount; - - myAxes[Joy::AxisX] = true; - myAxes[Joy::AxisY] = true; - myAxes[Joy::AxisZ] = (caps.wCaps & JOYCAPS_HASZ) != 0; - myAxes[Joy::AxisR] = (caps.wCaps & JOYCAPS_HASR) != 0; - myAxes[Joy::AxisU] = (caps.wCaps & JOYCAPS_HASU) != 0; - myAxes[Joy::AxisV] = (caps.wCaps & JOYCAPS_HASV) != 0; - myAxes[Joy::AxisPOV] = (caps.wCaps & JOYCAPS_HASPOV) != 0; - myHasContinuousPOV = (caps.wCaps & JOYCAPS_POVCTS) != 0; - - return; - } - - // Go to the next valid joystick - ++found; - } - } -} - - -//////////////////////////////////////////////////////////// -JoystickState Joystick::UpdateState() -{ - JoystickState state; - - if (myIsConnected) - { - // Get the joystick caps (for range conversions) - JOYCAPS caps; - if (joyGetDevCaps(myIndex, &caps, sizeof(caps)) == JOYERR_NOERROR) - { - // Get the current joystick state - JOYINFOEX pos; - pos.dwFlags = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETURNR | JOY_RETURNU | JOY_RETURNV | JOY_RETURNBUTTONS; - pos.dwFlags |= myHasContinuousPOV ? JOY_RETURNPOVCTS : JOY_RETURNPOV; - pos.dwSize = sizeof(JOYINFOEX); - if (joyGetPosEx(myIndex, &pos) == JOYERR_NOERROR) - { - // Axes - state.Axis[Joy::AxisX] = (pos.dwXpos - (caps.wXmax + caps.wXmin) / 2.f) * 200.f / (caps.wXmax - caps.wXmin); - state.Axis[Joy::AxisY] = (pos.dwYpos - (caps.wYmax + caps.wYmin) / 2.f) * 200.f / (caps.wYmax - caps.wYmin); - state.Axis[Joy::AxisZ] = (pos.dwZpos - (caps.wZmax + caps.wZmin) / 2.f) * 200.f / (caps.wZmax - caps.wZmin); - state.Axis[Joy::AxisR] = (pos.dwRpos - (caps.wRmax + caps.wRmin) / 2.f) * 200.f / (caps.wRmax - caps.wRmin); - state.Axis[Joy::AxisU] = (pos.dwUpos - (caps.wUmax + caps.wUmin) / 2.f) * 200.f / (caps.wUmax - caps.wUmin); - state.Axis[Joy::AxisV] = (pos.dwVpos - (caps.wVmax + caps.wVmin) / 2.f) * 200.f / (caps.wVmax - caps.wVmin); - - // POV - if (pos.dwPOV != 0xFFFF) - state.Axis[Joy::AxisPOV] = pos.dwPOV / 100.f; - else - state.Axis[Joy::AxisPOV] = -1.f; - - // Buttons - for (unsigned int i = 0; i < GetButtonsCount(); ++i) - state.Buttons[i] = (pos.dwButtons & (1 << i)) != 0; - } - } - } - - return state; -} - - -//////////////////////////////////////////////////////////// -bool Joystick::HasAxis(Joy::Axis Axis) const -{ - return myAxes[Axis]; -} - - -//////////////////////////////////////////////////////////// -unsigned int Joystick::GetButtonsCount() const -{ - return myNbButtons; -} - - -} // namespace priv - -} // namespace sf diff --git a/src/SFML/Window/Win32/JoystickImpl.cpp b/src/SFML/Window/Win32/JoystickImpl.cpp new file mode 100644 index 00000000..862e488f --- /dev/null +++ b/src/SFML/Window/Win32/JoystickImpl.cpp @@ -0,0 +1,134 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +bool JoystickImpl::IsConnected(unsigned int index) +{ + JOYINFOEX joyInfo; + joyInfo.dwSize = sizeof(joyInfo); + joyInfo.dwFlags = 0; + + return joyGetPosEx(JOYSTICKID1 + index, &joyInfo) == JOYERR_NOERROR; +} + + +//////////////////////////////////////////////////////////// +bool JoystickImpl::Open(unsigned int index) +{ + // No explicit "open" action is required + myIndex = JOYSTICKID1 + index; + + // Store the joystick capabilities + return joyGetDevCaps(myIndex, &myCaps, sizeof(myCaps)) == JOYERR_NOERROR; +} + + +//////////////////////////////////////////////////////////// +void JoystickImpl::Close() +{ + // Nothing to do +} + + +//////////////////////////////////////////////////////////// +JoystickCaps JoystickImpl::GetCapabilities() const +{ + JoystickCaps caps; + + caps.ButtonCount = myCaps.wNumButtons; + if (caps.ButtonCount > Joystick::ButtonCount) + caps.ButtonCount = Joystick::ButtonCount; + + caps.Axes[Joystick::X] = true; + caps.Axes[Joystick::Y] = true; + caps.Axes[Joystick::Z] = (myCaps.wCaps & JOYCAPS_HASZ) != 0; + caps.Axes[Joystick::R] = (myCaps.wCaps & JOYCAPS_HASR) != 0; + caps.Axes[Joystick::U] = (myCaps.wCaps & JOYCAPS_HASU) != 0; + caps.Axes[Joystick::V] = (myCaps.wCaps & JOYCAPS_HASV) != 0; + caps.Axes[Joystick::PovX] = (myCaps.wCaps & JOYCAPS_HASPOV) != 0; + caps.Axes[Joystick::PovY] = (myCaps.wCaps & JOYCAPS_HASPOV) != 0; + + return caps; +} + + +//////////////////////////////////////////////////////////// +JoystickState JoystickImpl::Update() +{ + JoystickState state; + + // Get the current joystick state + JOYINFOEX pos; + pos.dwFlags = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETURNR | JOY_RETURNU | JOY_RETURNV | JOY_RETURNBUTTONS; + pos.dwFlags |= (myCaps.wCaps & JOYCAPS_POVCTS) ? JOY_RETURNPOVCTS : JOY_RETURNPOV; + pos.dwSize = sizeof(JOYINFOEX); + if (joyGetPosEx(myIndex, &pos) == JOYERR_NOERROR) + { + // The joystick is connected + state.Connected = true; + + // Axes + state.Axes[Joystick::X] = (pos.dwXpos - (myCaps.wXmax + myCaps.wXmin) / 2.f) * 200.f / (myCaps.wXmax - myCaps.wXmin); + state.Axes[Joystick::Y] = (pos.dwYpos - (myCaps.wYmax + myCaps.wYmin) / 2.f) * 200.f / (myCaps.wYmax - myCaps.wYmin); + state.Axes[Joystick::Z] = (pos.dwZpos - (myCaps.wZmax + myCaps.wZmin) / 2.f) * 200.f / (myCaps.wZmax - myCaps.wZmin); + state.Axes[Joystick::R] = (pos.dwRpos - (myCaps.wRmax + myCaps.wRmin) / 2.f) * 200.f / (myCaps.wRmax - myCaps.wRmin); + state.Axes[Joystick::U] = (pos.dwUpos - (myCaps.wUmax + myCaps.wUmin) / 2.f) * 200.f / (myCaps.wUmax - myCaps.wUmin); + state.Axes[Joystick::V] = (pos.dwVpos - (myCaps.wVmax + myCaps.wVmin) / 2.f) * 200.f / (myCaps.wVmax - myCaps.wVmin); + + // Special case for POV, it is given as an angle + if (pos.dwPOV != 0xFFFF) + { + float angle = pos.dwPOV / 36000.f * 3.141592654f; + state.Axes[Joystick::PovX] = std::cos(angle) * 100; + state.Axes[Joystick::PovY] = std::sin(angle) * 100; + } + else + { + state.Axes[Joystick::PovX] = 0; + state.Axes[Joystick::PovY] = 0; + } + + // Buttons + for (unsigned int i = 0; i < Joystick::ButtonCount; ++i) + state.Buttons[i] = (pos.dwButtons & (1 << i)) != 0; + } + + return state; +} + +} // namespace priv + +} // namespace sf diff --git a/src/SFML/Window/Win32/JoystickImpl.hpp b/src/SFML/Window/Win32/JoystickImpl.hpp new file mode 100644 index 00000000..800f0d72 --- /dev/null +++ b/src/SFML/Window/Win32/JoystickImpl.hpp @@ -0,0 +1,107 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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_JOYSTICKIMPLWIN32_HPP +#define SFML_JOYSTICKIMPLWIN32_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#define _WIN32_WINDOWS 0x0501 +#define _WIN32_WINNT 0x0501 +#include +#include +#include +#include + + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief Windows implementation of joysticks +/// +//////////////////////////////////////////////////////////// +class JoystickImpl +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Check if a joystick is currently connected + /// + /// \param index Index of the joystick to check + /// + /// \return True if the joystick is connected, false otherwise + /// + //////////////////////////////////////////////////////////// + static bool IsConnected(unsigned int index); + + //////////////////////////////////////////////////////////// + /// \brief Open the joystick + /// + /// \param index Index assigned to the joystick + /// + /// \return True on success, false on failure + /// + //////////////////////////////////////////////////////////// + bool Open(unsigned int index); + + //////////////////////////////////////////////////////////// + /// \brief Close the joystick + /// + //////////////////////////////////////////////////////////// + void Close(); + + //////////////////////////////////////////////////////////// + /// \brief Get the joystick capabilities + /// + /// \return Joystick capabilities + /// + //////////////////////////////////////////////////////////// + JoystickCaps GetCapabilities() const; + + //////////////////////////////////////////////////////////// + /// \brief Update the joystick and get its new state + /// + /// \return Joystick state + /// + //////////////////////////////////////////////////////////// + JoystickState Update(); + +private : + + //////////////////////////////////////////////////////////// + // Member data + //////////////////////////////////////////////////////////// + unsigned int myIndex; ///< Index of the joystick + JOYCAPS myCaps; ///< Joystick capabilities +}; + +} // namespace priv + +} // namespace sf + + +#endif // SFML_JOYSTICKIMPLWIN32_HPP diff --git a/src/SFML/Window/Win32/WindowImplWin32.cpp b/src/SFML/Window/Win32/WindowImplWin32.cpp index 0788c5b1..d440260e 100644 --- a/src/SFML/Window/Win32/WindowImplWin32.cpp +++ b/src/SFML/Window/Win32/WindowImplWin32.cpp @@ -204,14 +204,11 @@ WindowHandle WindowImplWin32::GetSystemHandle() const //////////////////////////////////////////////////////////// -void WindowImplWin32::ProcessEvents(bool block) +void WindowImplWin32::ProcessEvents() { // We process the window events only if we own it if (!myCallback) { - if (block) - WaitMessage(); - MSG message; while (PeekMessage(&message, myHandle, 0, 0, PM_REMOVE)) { @@ -243,6 +240,17 @@ void WindowImplWin32::SetCursorPosition(unsigned int x, unsigned int y) } +//////////////////////////////////////////////////////////// +Vector2i WindowImplWin32::GetCursorPosition() const +{ + POINT position; + GetCursorPos(&position); + ScreenToClient(myHandle, &position); + + return Vector2i(position.x, position.y); +} + + //////////////////////////////////////////////////////////// void WindowImplWin32::SetPosition(int x, int y) { @@ -676,7 +684,7 @@ void WindowImplWin32::ProcessEvent(UINT message, WPARAM wParam, LPARAM lParam) //////////////////////////////////////////////////////////// -Key::Code WindowImplWin32::VirtualKeyCodeToSF(WPARAM key, LPARAM flags) +Keyboard::Key WindowImplWin32::VirtualKeyCodeToSF(WPARAM key, LPARAM flags) { switch (key) { @@ -685,114 +693,114 @@ Key::Code WindowImplWin32::VirtualKeyCodeToSF(WPARAM key, LPARAM flags) { static UINT lShift = MapVirtualKey(VK_LSHIFT, MAPVK_VK_TO_VSC); UINT scancode = static_cast((flags & (0xFF << 16)) >> 16); - return scancode == lShift ? Key::LShift : Key::RShift; + return scancode == lShift ? Keyboard::LShift : Keyboard::RShift; } // Check the "extended" flag to distinguish between left and right alt - case VK_MENU : return (HIWORD(flags) & KF_EXTENDED) ? Key::RAlt : Key::LAlt; + case VK_MENU : return (HIWORD(flags) & KF_EXTENDED) ? Keyboard::RAlt : Keyboard::LAlt; // Check the "extended" flag to distinguish between left and right control - case VK_CONTROL : return (HIWORD(flags) & KF_EXTENDED) ? Key::RControl : Key::LControl; + case VK_CONTROL : return (HIWORD(flags) & KF_EXTENDED) ? Keyboard::RControl : Keyboard::LControl; // Other keys are reported properly - case VK_LWIN : return Key::LSystem; - case VK_RWIN : return Key::RSystem; - case VK_APPS : return Key::Menu; - case VK_OEM_1 : return Key::SemiColon; - case VK_OEM_2 : return Key::Slash; - case VK_OEM_PLUS : return Key::Equal; - case VK_OEM_MINUS : return Key::Dash; - case VK_OEM_4 : return Key::LBracket; - case VK_OEM_6 : return Key::RBracket; - case VK_OEM_COMMA : return Key::Comma; - case VK_OEM_PERIOD : return Key::Period; - case VK_OEM_7 : return Key::Quote; - case VK_OEM_5 : return Key::BackSlash; - case VK_OEM_3 : return Key::Tilde; - case VK_ESCAPE : return Key::Escape; - case VK_SPACE : return Key::Space; - case VK_RETURN : return Key::Return; - case VK_BACK : return Key::Back; - case VK_TAB : return Key::Tab; - case VK_PRIOR : return Key::PageUp; - case VK_NEXT : return Key::PageDown; - case VK_END : return Key::End; - case VK_HOME : return Key::Home; - case VK_INSERT : return Key::Insert; - case VK_DELETE : return Key::Delete; - case VK_ADD : return Key::Add; - case VK_SUBTRACT : return Key::Subtract; - case VK_MULTIPLY : return Key::Multiply; - case VK_DIVIDE : return Key::Divide; - case VK_PAUSE : return Key::Pause; - case VK_F1 : return Key::F1; - case VK_F2 : return Key::F2; - case VK_F3 : return Key::F3; - case VK_F4 : return Key::F4; - case VK_F5 : return Key::F5; - case VK_F6 : return Key::F6; - case VK_F7 : return Key::F7; - case VK_F8 : return Key::F8; - case VK_F9 : return Key::F9; - case VK_F10 : return Key::F10; - case VK_F11 : return Key::F11; - case VK_F12 : return Key::F12; - case VK_F13 : return Key::F13; - case VK_F14 : return Key::F14; - case VK_F15 : return Key::F15; - case VK_LEFT : return Key::Left; - case VK_RIGHT : return Key::Right; - case VK_UP : return Key::Up; - case VK_DOWN : return Key::Down; - case VK_NUMPAD0 : return Key::Numpad0; - case VK_NUMPAD1 : return Key::Numpad1; - case VK_NUMPAD2 : return Key::Numpad2; - case VK_NUMPAD3 : return Key::Numpad3; - case VK_NUMPAD4 : return Key::Numpad4; - case VK_NUMPAD5 : return Key::Numpad5; - case VK_NUMPAD6 : return Key::Numpad6; - case VK_NUMPAD7 : return Key::Numpad7; - case VK_NUMPAD8 : return Key::Numpad8; - case VK_NUMPAD9 : return Key::Numpad9; - case 'A' : return Key::A; - case 'Z' : return Key::Z; - case 'E' : return Key::E; - case 'R' : return Key::R; - case 'T' : return Key::T; - case 'Y' : return Key::Y; - case 'U' : return Key::U; - case 'I' : return Key::I; - case 'O' : return Key::O; - case 'P' : return Key::P; - case 'Q' : return Key::Q; - case 'S' : return Key::S; - case 'D' : return Key::D; - case 'F' : return Key::F; - case 'G' : return Key::G; - case 'H' : return Key::H; - case 'J' : return Key::J; - case 'K' : return Key::K; - case 'L' : return Key::L; - case 'M' : return Key::M; - case 'W' : return Key::W; - case 'X' : return Key::X; - case 'C' : return Key::C; - case 'V' : return Key::V; - case 'B' : return Key::B; - case 'N' : return Key::N; - case '0' : return Key::Num0; - case '1' : return Key::Num1; - case '2' : return Key::Num2; - case '3' : return Key::Num3; - case '4' : return Key::Num4; - case '5' : return Key::Num5; - case '6' : return Key::Num6; - case '7' : return Key::Num7; - case '8' : return Key::Num8; - case '9' : return Key::Num9; + case VK_LWIN : return Keyboard::LSystem; + case VK_RWIN : return Keyboard::RSystem; + case VK_APPS : return Keyboard::Menu; + case VK_OEM_1 : return Keyboard::SemiColon; + case VK_OEM_2 : return Keyboard::Slash; + case VK_OEM_PLUS : return Keyboard::Equal; + case VK_OEM_MINUS : return Keyboard::Dash; + case VK_OEM_4 : return Keyboard::LBracket; + case VK_OEM_6 : return Keyboard::RBracket; + case VK_OEM_COMMA : return Keyboard::Comma; + case VK_OEM_PERIOD : return Keyboard::Period; + case VK_OEM_7 : return Keyboard::Quote; + case VK_OEM_5 : return Keyboard::BackSlash; + case VK_OEM_3 : return Keyboard::Tilde; + case VK_ESCAPE : return Keyboard::Escape; + case VK_SPACE : return Keyboard::Space; + case VK_RETURN : return Keyboard::Return; + case VK_BACK : return Keyboard::Back; + case VK_TAB : return Keyboard::Tab; + case VK_PRIOR : return Keyboard::PageUp; + case VK_NEXT : return Keyboard::PageDown; + case VK_END : return Keyboard::End; + case VK_HOME : return Keyboard::Home; + case VK_INSERT : return Keyboard::Insert; + case VK_DELETE : return Keyboard::Delete; + case VK_ADD : return Keyboard::Add; + case VK_SUBTRACT : return Keyboard::Subtract; + case VK_MULTIPLY : return Keyboard::Multiply; + case VK_DIVIDE : return Keyboard::Divide; + case VK_PAUSE : return Keyboard::Pause; + case VK_F1 : return Keyboard::F1; + case VK_F2 : return Keyboard::F2; + case VK_F3 : return Keyboard::F3; + case VK_F4 : return Keyboard::F4; + case VK_F5 : return Keyboard::F5; + case VK_F6 : return Keyboard::F6; + case VK_F7 : return Keyboard::F7; + case VK_F8 : return Keyboard::F8; + case VK_F9 : return Keyboard::F9; + case VK_F10 : return Keyboard::F10; + case VK_F11 : return Keyboard::F11; + case VK_F12 : return Keyboard::F12; + case VK_F13 : return Keyboard::F13; + case VK_F14 : return Keyboard::F14; + case VK_F15 : return Keyboard::F15; + case VK_LEFT : return Keyboard::Left; + case VK_RIGHT : return Keyboard::Right; + case VK_UP : return Keyboard::Up; + case VK_DOWN : return Keyboard::Down; + case VK_NUMPAD0 : return Keyboard::Numpad0; + case VK_NUMPAD1 : return Keyboard::Numpad1; + case VK_NUMPAD2 : return Keyboard::Numpad2; + case VK_NUMPAD3 : return Keyboard::Numpad3; + case VK_NUMPAD4 : return Keyboard::Numpad4; + case VK_NUMPAD5 : return Keyboard::Numpad5; + case VK_NUMPAD6 : return Keyboard::Numpad6; + case VK_NUMPAD7 : return Keyboard::Numpad7; + case VK_NUMPAD8 : return Keyboard::Numpad8; + case VK_NUMPAD9 : return Keyboard::Numpad9; + case 'A' : return Keyboard::A; + case 'Z' : return Keyboard::Z; + case 'E' : return Keyboard::E; + case 'R' : return Keyboard::R; + case 'T' : return Keyboard::T; + case 'Y' : return Keyboard::Y; + case 'U' : return Keyboard::U; + case 'I' : return Keyboard::I; + case 'O' : return Keyboard::O; + case 'P' : return Keyboard::P; + case 'Q' : return Keyboard::Q; + case 'S' : return Keyboard::S; + case 'D' : return Keyboard::D; + case 'F' : return Keyboard::F; + case 'G' : return Keyboard::G; + case 'H' : return Keyboard::H; + case 'J' : return Keyboard::J; + case 'K' : return Keyboard::K; + case 'L' : return Keyboard::L; + case 'M' : return Keyboard::M; + case 'W' : return Keyboard::W; + case 'X' : return Keyboard::X; + case 'C' : return Keyboard::C; + case 'V' : return Keyboard::V; + case 'B' : return Keyboard::B; + case 'N' : return Keyboard::N; + case '0' : return Keyboard::Num0; + case '1' : return Keyboard::Num1; + case '2' : return Keyboard::Num2; + case '3' : return Keyboard::Num3; + case '4' : return Keyboard::Num4; + case '5' : return Keyboard::Num5; + case '6' : return Keyboard::Num6; + case '7' : return Keyboard::Num7; + case '8' : return Keyboard::Num8; + case '9' : return Keyboard::Num9; } - return Key::Code(0); + return Keyboard::Key(0); } diff --git a/src/SFML/Window/Win32/WindowImplWin32.hpp b/src/SFML/Window/Win32/WindowImplWin32.hpp index 923db0e4..c8120874 100644 --- a/src/SFML/Window/Win32/WindowImplWin32.hpp +++ b/src/SFML/Window/Win32/WindowImplWin32.hpp @@ -83,10 +83,8 @@ private : //////////////////////////////////////////////////////////// /// \brief Process incoming events from the operating system /// - /// \param block Use true to block the thread until an event arrives - /// //////////////////////////////////////////////////////////// - virtual void ProcessEvents(bool block); + virtual void ProcessEvents(); //////////////////////////////////////////////////////////// /// \brief Show or hide the mouse cursor @@ -105,6 +103,14 @@ private : //////////////////////////////////////////////////////////// virtual void SetCursorPosition(unsigned int x, unsigned int y); + //////////////////////////////////////////////////////////// + /// \brief Get the position of the mouse cursor + /// + /// \return Current mouse cursor position, relative to the window + /// + //////////////////////////////////////////////////////////// + virtual Vector2i GetCursorPosition() const; + //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// @@ -196,7 +202,7 @@ private : /// \return SFML key code corresponding to the key /// //////////////////////////////////////////////////////////// - static Key::Code VirtualKeyCodeToSF(WPARAM key, LPARAM flags); + static Keyboard::Key VirtualKeyCodeToSF(WPARAM key, LPARAM flags); //////////////////////////////////////////////////////////// /// \brief Check if the current version of the OS supports diff --git a/src/SFML/Window/Window.cpp b/src/SFML/Window/Window.cpp index dd78927a..5831939a 100644 --- a/src/SFML/Window/Window.cpp +++ b/src/SFML/Window/Window.cpp @@ -38,6 +38,7 @@ namespace { const sf::Window* fullscreenWindow = NULL; + const sf::Window* mouseFocusWindow = NULL; } @@ -249,6 +250,13 @@ void Window::SetCursorPosition(unsigned int x, unsigned int y) } +//////////////////////////////////////////////////////////// +Vector2i Window::GetCursorPosition() const +{ + return myWindow ? myWindow->GetCursorPosition() : Vector2i(0, 0); +} + + //////////////////////////////////////////////////////////// void Window::SetPosition(int x, int y) { @@ -340,13 +348,6 @@ void Window::Display() } -//////////////////////////////////////////////////////////// -const Input& Window::GetInput() const -{ - return myInput; -} - - //////////////////////////////////////////////////////////// void Window::SetFramerateLimit(unsigned int limit) { @@ -376,6 +377,13 @@ WindowHandle Window::GetSystemHandle() const } +//////////////////////////////////////////////////////////// +const Window* Window::GetMouseFocusWindow() +{ + return mouseFocusWindow; +} + + //////////////////////////////////////////////////////////// void Window::OnCreate() { @@ -393,13 +401,20 @@ void Window::OnResize() //////////////////////////////////////////////////////////// bool Window::FilterEvent(const Event& event) { - // Notify the input object - myInput.OnEvent(event); - // Notify resize events to the derived class if (event.Type == Event::Resized) OnResize(); + // Watch mouse move/left events to track the window which is under the cursor + if (event.Type == Event::MouseMoved) + { + mouseFocusWindow = this; + } + else if ((event.Type == Event::MouseLeft) && (mouseFocusWindow == this)) + { + mouseFocusWindow = NULL; + } + return true; } diff --git a/src/SFML/Window/WindowImpl.cpp b/src/SFML/Window/WindowImpl.cpp index 6f448c5f..51f73b33 100644 --- a/src/SFML/Window/WindowImpl.cpp +++ b/src/SFML/Window/WindowImpl.cpp @@ -27,6 +27,7 @@ //////////////////////////////////////////////////////////// #include #include +#include #include #include @@ -72,12 +73,10 @@ myWidth (0), myHeight (0), myJoyThreshold(0.1f) { - // Initialize the joysticks - for (unsigned int i = 0; i < Joy::Count; ++i) - { - myJoysticks[i].Initialize(i); - myJoyStates[i] = myJoysticks[i].UpdateState(); - } + // Get the initial joystick states + JoystickManager::GetInstance().Update(); + for (unsigned int i = 0; i < Joystick::Count; ++i) + myJoyStates[i] = JoystickManager::GetInstance().GetState(i); } @@ -115,21 +114,25 @@ bool WindowImpl::PopEvent(Event& event, bool block) // If the event queue is empty, let's first check if new events are available from the OS if (myEvents.empty()) { - // Special handling of joystick events (we must use polling) - ProcessJoystickEvents(); - - if (block) + if (!block) { - // If we are blocking, loop until we actually received a SFML event - // (there may be OS events that make ProcessEvents(true) return, but - // which don't translate to SFML events) - while (myEvents.empty()) - ProcessEvents(true); + // Non-blocking mode: process events and continue + ProcessJoystickEvents(); + ProcessEvents(); } else { - // If we are not blocking, just process the pending events - ProcessEvents(false); + // Blocking mode: process events until one is triggered + + // Here we use a manual wait loop instead of the optimized + // wait-event provided by the OS, so that we don't skip joystick + // events (which require polling) + while (myEvents.empty()) + { + ProcessJoystickEvents(); + ProcessEvents(); + Sleep(10); + } } } @@ -156,45 +159,62 @@ void WindowImpl::PushEvent(const Event& event) //////////////////////////////////////////////////////////// void WindowImpl::ProcessJoystickEvents() { - for (unsigned int i = 0; i < Joy::Count; ++i) + // First update the global joystick states + JoystickManager::GetInstance().Update(); + + for (unsigned int i = 0; i < Joystick::Count; ++i) { // Copy the previous state of the joystick and get the new one JoystickState previousState = myJoyStates[i]; - myJoyStates[i] = myJoysticks[i].UpdateState(); + myJoyStates[i] = JoystickManager::GetInstance().GetState(i); + JoystickCaps caps = JoystickManager::GetInstance().GetCapabilities(i); - // Axis - for (unsigned int j = 0; j < Joy::AxisCount; ++j) + // Connection state + bool connected = myJoyStates[i].Connected; + if (previousState.Connected ^ connected) { - Joy::Axis axis = static_cast(j); - if (myJoysticks[i].HasAxis(axis)) - { - float prevPos = previousState.Axis[axis]; - float currPos = myJoyStates[i].Axis[axis]; - if (fabs(currPos - prevPos) >= myJoyThreshold) - { - Event event; - event.Type = Event::JoyMoved; - event.JoyMove.JoystickId = i; - event.JoyMove.Axis = axis; - event.JoyMove.Position = currPos; - PushEvent(event); - } - } + Event event; + event.Type = connected ? Event::JoystickConnected : Event::JoystickDisconnected; + event.JoystickButton.JoystickId = i; + PushEvent(event); } - // Buttons - for (unsigned int j = 0; j < myJoysticks[i].GetButtonsCount(); ++j) + if (connected) { - bool prevPressed = previousState.Buttons[j]; - bool currPressed = myJoyStates[i].Buttons[j]; - - if ((!prevPressed && currPressed) || (prevPressed && !currPressed)) + // Axes + for (unsigned int j = 0; j < Joystick::AxisCount; ++j) { - Event event; - event.Type = currPressed ? Event::JoyButtonPressed : Event::JoyButtonReleased; - event.JoyButton.JoystickId = i; - event.JoyButton.Button = j; - PushEvent(event); + if (caps.Axes[j]) + { + Joystick::Axis axis = static_cast(j); + float prevPos = previousState.Axes[axis]; + float currPos = myJoyStates[i].Axes[axis]; + if (fabs(currPos - prevPos) >= myJoyThreshold) + { + Event event; + event.Type = Event::JoystickMoved; + event.JoystickMove.JoystickId = i; + event.JoystickMove.Axis = axis; + event.JoystickMove.Position = currPos; + PushEvent(event); + } + } + } + + // Buttons + for (unsigned int j = 0; j < caps.ButtonCount; ++j) + { + bool prevPressed = previousState.Buttons[j]; + bool currPressed = myJoyStates[i].Buttons[j]; + + if (prevPressed ^ currPressed) + { + Event event; + event.Type = currPressed ? Event::JoystickButtonPressed : Event::JoystickButtonReleased; + event.JoystickButton.JoystickId = i; + event.JoystickButton.Button = j; + PushEvent(event); + } } } } diff --git a/src/SFML/Window/WindowImpl.hpp b/src/SFML/Window/WindowImpl.hpp index 104f671f..8323795d 100644 --- a/src/SFML/Window/WindowImpl.hpp +++ b/src/SFML/Window/WindowImpl.hpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -149,6 +150,14 @@ public : //////////////////////////////////////////////////////////// virtual void SetCursorPosition(unsigned int x, unsigned int y) = 0; + //////////////////////////////////////////////////////////// + /// \brief Get the position of the mouse cursor + /// + /// \return Current mouse cursor position, relative to the window + /// + //////////////////////////////////////////////////////////// + virtual Vector2i GetCursorPosition() const = 0; + //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// @@ -238,18 +247,15 @@ private : //////////////////////////////////////////////////////////// /// \brief Process incoming events from the operating system /// - /// \param block Use true to block the thread until an event arrives - /// //////////////////////////////////////////////////////////// - virtual void ProcessEvents(bool block) = 0; + virtual void ProcessEvents() = 0; //////////////////////////////////////////////////////////// // Member data //////////////////////////////////////////////////////////// - std::queue myEvents; ///< Queue of available events - Joystick myJoysticks[Joy::Count]; ///< Joysticks to observe - JoystickState myJoyStates[Joy::Count]; ///< Current states of the joysticks - float myJoyThreshold; ///< Joystick threshold (minimum motion for MOVE event to be generated) + std::queue myEvents; ///< Queue of available events + JoystickState myJoyStates[Joystick::Count]; ///< Previous state of the joysticks + float myJoyThreshold; ///< Joystick threshold (minimum motion for MOVE event to be generated) }; } // namespace priv From 1066caa77185c0c377858e3546fd12617fe8330b Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Sun, 3 Jul 2011 22:29:34 +0200 Subject: [PATCH 02/23] Fix annoying sound alert when escape is pressed on OS X --- src/SFML/Window/OSX/SFOpenGLView.mm | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/SFML/Window/OSX/SFOpenGLView.mm b/src/SFML/Window/OSX/SFOpenGLView.mm index b5f68708..87fd8df1 100644 --- a/src/SFML/Window/OSX/SFOpenGLView.mm +++ b/src/SFML/Window/OSX/SFOpenGLView.mm @@ -448,17 +448,24 @@ sf::Key::Code NonLocalizedKeys(unsigned short keycode); } } - if (myUseKeyRepeat || ![theEvent isARepeat]) { - // Let's see if its a valid text. - NSText* text = [[self window] fieldEditor:YES forObject:self]; - [text interpretKeyEvents:[NSArray arrayWithObject:theEvent]]; + if ((myUseKeyRepeat || ![theEvent isARepeat]) && [[theEvent characters] length] > 0) { - NSString* string = [text string]; - if ([string length] > 0) { - // It's a valid TextEntered event. - myRequester->TextEntered([string characterAtIndex:0]); + // Ignore escape key and non text keycode. (See NSEvent.h) + // They produce a sound alert. + unichar code = [[theEvent characters] characterAtIndex:0]; + if ([theEvent keyCode] != 0x35 && (code < 0xF700 || code > 0xF8FF)) { - [text setString:@""]; + // Let's see if its a valid text. + NSText* text = [[self window] fieldEditor:YES forObject:self]; + [text interpretKeyEvents:[NSArray arrayWithObject:theEvent]]; + + NSString* string = [text string]; + if ([string length] > 0) { + // It's a valid TextEntered event. + myRequester->TextEntered([string characterAtIndex:0]); + + [text setString:@""]; + } } } } From 3cd3e88e0e0489497278e021e7b3ebf497e346ed Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Mon, 4 Jul 2011 19:43:36 +0200 Subject: [PATCH 03/23] Fixed CMakeLists.txt in src/SFML/Window --- src/SFML/Window/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/SFML/Window/CMakeLists.txt b/src/SFML/Window/CMakeLists.txt index 419f044d..698682e2 100644 --- a/src/SFML/Window/CMakeLists.txt +++ b/src/SFML/Window/CMakeLists.txt @@ -69,6 +69,10 @@ else() # MACOSX ${SRCROOT}/OSX/cg_sf_conversion.cpp ${SRCROOT}/OSX/Joystick.cpp ${SRCROOT}/OSX/Joystick.hpp + ${SRCROOT}/OSX/InputImpl.cpp + ${SRCROOT}/OSX/InputImpl.hpp + ${SRCROOT}/OSX/JoystickImpl.cpp + ${SRCROOT}/OSX/JoystickImpl.hpp ${SRCROOT}/OSX/SFApplication.h ${SRCROOT}/OSX/SFApplication.m ${SRCROOT}/OSX/SFContext.hpp From 7d2fa550c04cfc4012ff0eb1aaa1ab0e2f573871 Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Tue, 5 Jul 2011 23:04:03 +0200 Subject: [PATCH 04/23] Updated CSFML and SFML.Net to the new input classes --- .../c/include/SFML/Graphics/RenderWindow.h | 10 - bindings/c/include/SFML/Window.h | 4 +- bindings/c/include/SFML/Window/Event.h | 190 +++----------- bindings/c/include/SFML/Window/Joystick.h | 135 ++++++++++ bindings/c/include/SFML/Window/Keyboard.h | 156 +++++++++++ bindings/c/include/SFML/Window/Mouse.h | 74 ++++++ bindings/c/include/SFML/Window/Types.h | 1 - bindings/c/include/SFML/Window/Window.h | 22 +- bindings/c/src/SFML/ConvertEvent.h | 24 +- .../c/src/SFML/Graphics/RenderImageStruct.h | 1 - bindings/c/src/SFML/Graphics/RenderWindow.cpp | 13 - .../c/src/SFML/Graphics/RenderWindowStruct.h | 2 - bindings/c/src/SFML/Window/CMakeLists.txt | 9 +- .../SFML/Window/{Input.cpp => Joystick.cpp} | 167 ++++++------ .../Window/{InputStruct.h => Keyboard.cpp} | 82 +++--- bindings/c/src/SFML/Window/Mouse.cpp | 53 ++++ bindings/c/src/SFML/Window/Window.cpp | 28 +- bindings/c/src/SFML/Window/WindowStruct.h | 2 - bindings/dotnet/examples/opengl/OpenGL.cs | 8 +- bindings/dotnet/examples/shader/Shader.cs | 25 +- bindings/dotnet/examples/window/Window.cs | 2 +- bindings/dotnet/extlibs/x64/csfml-audio-2.dll | Bin 79360 -> 79360 bytes .../dotnet/extlibs/x64/csfml-graphics-2.dll | Bin 1382912 -> 1383424 bytes .../dotnet/extlibs/x64/csfml-window-2.dll | Bin 71168 -> 74752 bytes bindings/dotnet/extlibs/x86/csfml-audio-2.dll | Bin 60928 -> 60928 bytes .../dotnet/extlibs/x86/csfml-graphics-2.dll | Bin 1163264 -> 1163264 bytes .../dotnet/extlibs/x86/csfml-window-2.dll | Bin 55296 -> 59392 bytes bindings/dotnet/src/Audio/Listener.cs | 8 +- bindings/dotnet/src/Audio/Music.cs | 4 +- bindings/dotnet/src/Audio/Sound.cs | 4 +- bindings/dotnet/src/Audio/SoundStream.cs | 4 +- bindings/dotnet/src/Audio/Vector3.cs | 32 +-- bindings/dotnet/src/Graphics/Drawable.cs | 11 +- bindings/dotnet/src/Graphics/RenderImage.cs | 6 +- bindings/dotnet/src/Graphics/RenderTarget.cs | 4 +- bindings/dotnet/src/Graphics/RenderWindow.cs | 10 +- bindings/dotnet/src/Graphics/Shader.cs | 3 +- bindings/dotnet/src/Graphics/Shape.cs | 43 +-- bindings/dotnet/src/Graphics/Sprite.cs | 25 +- bindings/dotnet/src/Graphics/Text.cs | 29 ++- bindings/dotnet/src/Graphics/Vector2.cs | 127 --------- bindings/dotnet/src/Graphics/View.cs | 13 +- .../dotnet/src/Graphics/sfml-graphics.csproj | 1 - bindings/dotnet/src/Window/Event.cs | 212 +++------------ bindings/dotnet/src/Window/EventArgs.cs | 52 +++- bindings/dotnet/src/Window/Input.cs | 144 ---------- bindings/dotnet/src/Window/Joystick.cs | 159 +++++++++++ bindings/dotnet/src/Window/Keyboard.cs | 146 +++++++++++ bindings/dotnet/src/Window/Mouse.cs | 81 ++++++ bindings/dotnet/src/Window/Vector2.cs | 246 ++++++++++++++++++ bindings/dotnet/src/Window/Window.cs | 77 +++--- bindings/dotnet/src/Window/sfml-window.csproj | 5 +- include/SFML/Window/Joystick.hpp | 2 +- src/SFML/Window/Joystick.cpp | 2 +- 54 files changed, 1503 insertions(+), 955 deletions(-) create mode 100644 bindings/c/include/SFML/Window/Joystick.h create mode 100644 bindings/c/include/SFML/Window/Keyboard.h create mode 100644 bindings/c/include/SFML/Window/Mouse.h rename bindings/c/src/SFML/Window/{Input.cpp => Joystick.cpp} (62%) rename bindings/c/src/SFML/Window/{InputStruct.h => Keyboard.cpp} (84%) create mode 100644 bindings/c/src/SFML/Window/Mouse.cpp delete mode 100644 bindings/dotnet/src/Graphics/Vector2.cs delete mode 100644 bindings/dotnet/src/Window/Input.cs create mode 100644 bindings/dotnet/src/Window/Joystick.cs create mode 100644 bindings/dotnet/src/Window/Keyboard.cs create mode 100644 bindings/dotnet/src/Window/Mouse.cs create mode 100644 bindings/dotnet/src/Window/Vector2.cs diff --git a/bindings/c/include/SFML/Graphics/RenderWindow.h b/bindings/c/include/SFML/Graphics/RenderWindow.h index 775fa5a6..489a6279 100644 --- a/bindings/c/include/SFML/Graphics/RenderWindow.h +++ b/bindings/c/include/SFML/Graphics/RenderWindow.h @@ -257,16 +257,6 @@ CSFML_API void sfRenderWindow_RestoreGLStates(sfRenderWindow* renderWindow); //////////////////////////////////////////////////////////// CSFML_API void sfRenderWindow_Display(sfRenderWindow* renderWindow); -//////////////////////////////////////////////////////////// -/// Get the input manager of a window -/// -/// \param renderWindow : Renderwindow object -/// -/// \return Reference to the input -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfInput* sfRenderWindow_GetInput(const sfRenderWindow* renderWindow); - //////////////////////////////////////////////////////////// /// Limit the framerate to a maximum fixed frequency for a window /// diff --git a/bindings/c/include/SFML/Window.h b/bindings/c/include/SFML/Window.h index 0dc211bf..5b002c78 100644 --- a/bindings/c/include/SFML/Window.h +++ b/bindings/c/include/SFML/Window.h @@ -32,7 +32,9 @@ #include #include #include -#include +#include +#include +#include #include #include diff --git a/bindings/c/include/SFML/Window/Event.h b/bindings/c/include/SFML/Window/Event.h index 9782e2b7..279b67cc 100644 --- a/bindings/c/include/SFML/Window/Event.h +++ b/bindings/c/include/SFML/Window/Event.h @@ -28,145 +28,9 @@ // Headers //////////////////////////////////////////////////////////// #include - - -//////////////////////////////////////////////////////////// -/// Definition of key codes for keyboard events -//////////////////////////////////////////////////////////// -typedef enum -{ - sfKeyA = 'a', - sfKeyB = 'b', - sfKeyC = 'c', - sfKeyD = 'd', - sfKeyE = 'e', - sfKeyF = 'f', - sfKeyG = 'g', - sfKeyH = 'h', - sfKeyI = 'i', - sfKeyJ = 'j', - sfKeyK = 'k', - sfKeyL = 'l', - sfKeyM = 'm', - sfKeyN = 'n', - sfKeyO = 'o', - sfKeyP = 'p', - sfKeyQ = 'q', - sfKeyR = 'r', - sfKeyS = 's', - sfKeyT = 't', - sfKeyU = 'u', - sfKeyV = 'v', - sfKeyW = 'w', - sfKeyX = 'x', - sfKeyY = 'y', - sfKeyZ = 'z', - sfKeyNum0 = '0', - sfKeyNum1 = '1', - sfKeyNum2 = '2', - sfKeyNum3 = '3', - sfKeyNum4 = '4', - sfKeyNum5 = '5', - sfKeyNum6 = '6', - sfKeyNum7 = '7', - sfKeyNum8 = '8', - sfKeyNum9 = '9', - sfKeyEscape = 256, - sfKeyLControl, - sfKeyLShift, - sfKeyLAlt, - sfKeyLSystem, ///< OS specific key (left side) : windows (Win and Linux), apple (MacOS), ... - sfKeyRControl, - sfKeyRShift, - sfKeyRAlt, - sfKeyRSystem, ///< OS specific key (right side) : windows (Win and Linux), apple (MacOS), ... - sfKeyMenu, - sfKeyLBracket, ///< [ - sfKeyRBracket, ///< ] - sfKeySemiColon, ///< ; - sfKeyComma, ///< , - sfKeyPeriod, ///< . - sfKeyQuote, ///< ' - sfKeySlash, ///< / - sfKeyBackSlash, - sfKeyTilde, ///< ~ - sfKeyEqual, ///< = - sfKeyDash, ///< - - sfKeySpace, - sfKeyReturn, - sfKeyBack, - sfKeyTab, - sfKeyPageUp, - sfKeyPageDown, - sfKeyEnd, - sfKeyHome, - sfKeyInsert, - sfKeyDelete, - sfKeyAdd, ///< + - sfKeySubtract, ///< - - sfKeyMultiply, ///< * - sfKeyDivide, ///< / - sfKeyLeft, ///< Left arrow - sfKeyRight, ///< Right arrow - sfKeyUp, ///< Up arrow - sfKeyDown, ///< Down arrow - sfKeyNumpad0, - sfKeyNumpad1, - sfKeyNumpad2, - sfKeyNumpad3, - sfKeyNumpad4, - sfKeyNumpad5, - sfKeyNumpad6, - sfKeyNumpad7, - sfKeyNumpad8, - sfKeyNumpad9, - sfKeyF1, - sfKeyF2, - sfKeyF3, - sfKeyF4, - sfKeyF5, - sfKeyF6, - sfKeyF7, - sfKeyF8, - sfKeyF9, - sfKeyF10, - sfKeyF11, - sfKeyF12, - sfKeyF13, - sfKeyF14, - sfKeyF15, - sfKeyPause, - - sfKeyCount // For internal use -} sfKeyCode; - - -//////////////////////////////////////////////////////////// -/// Definition of button codes for mouse events -//////////////////////////////////////////////////////////// -typedef enum -{ - sfButtonLeft, - sfButtonRight, - sfButtonMiddle, - sfButtonX1, - sfButtonX2 -} sfMouseButton; - - -//////////////////////////////////////////////////////////// -/// Definition of joystick axis for joystick events -//////////////////////////////////////////////////////////// -typedef enum -{ - sfJoyAxisX, - sfJoyAxisY, - sfJoyAxisZ, - sfJoyAxisR, - sfJoyAxisU, - sfJoyAxisV, - sfJoyAxisPOV -} sfJoyAxis; +#include +#include +#include //////////////////////////////////////////////////////////// @@ -187,9 +51,11 @@ typedef enum sfEvtMouseMoved, sfEvtMouseEntered, sfEvtMouseLeft, - sfEvtJoyButtonPressed, - sfEvtJoyButtonReleased, - sfEvtJoyMoved + sfEvtJoystickButtonPressed, + sfEvtJoystickButtonReleased, + sfEvtJoystickMoved, + sfEvtJoystickConnected, + sfEvtJoystickDisconnected } sfEventType; @@ -250,24 +116,33 @@ struct sfMouseWheelEvent //////////////////////////////////////////////////////////// /// Joystick axis move event parameters //////////////////////////////////////////////////////////// -struct sfJoyMoveEvent +struct sfJoystickMoveEvent { - sfEventType Type; - unsigned int JoystickId; - sfJoyAxis Axis; - float Position; + sfEventType Type; + unsigned int JoystickId; + sfJoystickAxis Axis; + float Position; }; //////////////////////////////////////////////////////////// /// Joystick buttons events parameters //////////////////////////////////////////////////////////// -struct sfJoyButtonEvent +struct sfJoystickButtonEvent { sfEventType Type; unsigned int JoystickId; unsigned int Button; }; +//////////////////////////////////////////////////////////// +/// Joystick connection/disconnection event parameters +//////////////////////////////////////////////////////////// +struct sfJoystickConnectEvent +{ + sfEventType Type; + unsigned int JoystickId; +}; + //////////////////////////////////////////////////////////// /// Size events parameters //////////////////////////////////////////////////////////// @@ -287,15 +162,16 @@ typedef union //////////////////////////////////////////////////////////// // Member data //////////////////////////////////////////////////////////// - sfEventType Type; ///< Type of the event - struct sfKeyEvent Key; - struct sfTextEvent Text; - struct sfMouseMoveEvent MouseMove; - struct sfMouseButtonEvent MouseButton; - struct sfMouseWheelEvent MouseWheel; - struct sfJoyMoveEvent JoyMove; - struct sfJoyButtonEvent JoyButton; - struct sfSizeEvent Size; + sfEventType Type; ///< Type of the event + struct sfSizeEvent Size; + struct sfKeyEvent Key; + struct sfTextEvent Text; + struct sfMouseMoveEvent MouseMove; + struct sfMouseButtonEvent MouseButton; + struct sfMouseWheelEvent MouseWheel; + struct sfJoystickMoveEvent JoystickMove; + struct sfJoystickButtonEvent JoystickButton; + struct sfJoystickConnectEvent JoystickConnect; } sfEvent; diff --git a/bindings/c/include/SFML/Window/Joystick.h b/bindings/c/include/SFML/Window/Joystick.h new file mode 100644 index 00000000..197a6a2b --- /dev/null +++ b/bindings/c/include/SFML/Window/Joystick.h @@ -0,0 +1,135 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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 + + +//////////////////////////////////////////////////////////// +/// \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_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_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_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_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_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_API void sfJoystick_Update(void); + + +#endif // SFML_JOYSTICK_H diff --git a/bindings/c/include/SFML/Window/Keyboard.h b/bindings/c/include/SFML/Window/Keyboard.h new file mode 100644 index 00000000..1901a236 --- /dev/null +++ b/bindings/c/include/SFML/Window/Keyboard.h @@ -0,0 +1,156 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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 + + +//////////////////////////////////////////////////////////// +/// \brief Key codes +/// +//////////////////////////////////////////////////////////// +typedef enum +{ + 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_API sfBool sfKeyboard_IsKeyPressed(sfKeyCode key); + + +#endif // SFML_KEYBOARD_H diff --git a/bindings/c/include/SFML/Window/Mouse.h b/bindings/c/include/SFML/Window/Mouse.h new file mode 100644 index 00000000..3fb895ef --- /dev/null +++ b/bindings/c/include/SFML/Window/Mouse.h @@ -0,0 +1,74 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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 + + +//////////////////////////////////////////////////////////// +/// \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_API sfBool sfMouse_IsButtonPressed(sfMouseButton button); + +//////////////////////////////////////////////////////////// +/// \brief Get the current position of the mouse +/// +/// This function returns the current position of the mouse +/// cursor. +/// If the cursor is over a SFML window, the returned position +/// is relative to this window. Otherwise, the returned position +/// is in desktop coordinates. +/// +/// \return Current position of the mouse +/// +//////////////////////////////////////////////////////////// +CSFML_API void sfMouse_GetPosition(int* x, int* y); + + +#endif // SFML_MOUSE_H diff --git a/bindings/c/include/SFML/Window/Types.h b/bindings/c/include/SFML/Window/Types.h index f91fdabc..65a488d9 100644 --- a/bindings/c/include/SFML/Window/Types.h +++ b/bindings/c/include/SFML/Window/Types.h @@ -27,7 +27,6 @@ typedef struct sfContext sfContext; -typedef struct sfInput sfInput; typedef struct sfWindow sfWindow; diff --git a/bindings/c/include/SFML/Window/Window.h b/bindings/c/include/SFML/Window/Window.h index a3754eab..dbf3e636 100644 --- a/bindings/c/include/SFML/Window/Window.h +++ b/bindings/c/include/SFML/Window/Window.h @@ -185,7 +185,17 @@ CSFML_API void sfWindow_ShowMouseCursor(sfWindow* window, sfBool show); /// \param top : Top coordinate of the cursor, relative to the window /// //////////////////////////////////////////////////////////// -CSFML_API void sfWindow_SetCursorPosition(sfWindow* window, unsigned int left, unsigned int Top); +CSFML_API void sfWindow_SetCursorPosition(sfWindow* window, unsigned int left, unsigned int top); + +//////////////////////////////////////////////////////////// +/// Get the position of the mouse cursor on a window +/// +/// \param window : Window object +/// \param left : Left coordinate of the cursor, relative to the window +/// \param top : Top coordinate of the cursor, relative to the window +/// +//////////////////////////////////////////////////////////// +CSFML_API void sfWindow_GetCursorPosition(sfWindow* window, int* left, int* top); //////////////////////////////////////////////////////////// /// Change the position of a window on screen. @@ -266,16 +276,6 @@ CSFML_API sfBool sfWindow_SetActive(sfWindow* window, sfBool active); //////////////////////////////////////////////////////////// CSFML_API void sfWindow_Display(sfWindow* window); -//////////////////////////////////////////////////////////// -/// Get the input manager of a window -/// -/// \param window : Window object -/// -/// \return Reference to the input -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfInput* sfWindow_GetInput(sfWindow* window); - //////////////////////////////////////////////////////////// /// Limit the framerate to a maximum fixed frequency for a window /// diff --git a/bindings/c/src/SFML/ConvertEvent.h b/bindings/c/src/SFML/ConvertEvent.h index 18b5e6d9..a248b377 100644 --- a/bindings/c/src/SFML/ConvertEvent.h +++ b/bindings/c/src/SFML/ConvertEvent.h @@ -79,16 +79,24 @@ inline void ConvertEvent(const sf::Event& SFMLEvent, sfEvent* event) event->MouseMove.Y = SFMLEvent.MouseMove.Y; break; - case sfEvtJoyButtonPressed : - case sfEvtJoyButtonReleased : - event->JoyButton.JoystickId = SFMLEvent.JoyButton.JoystickId; - event->JoyButton.Button = SFMLEvent.JoyButton.Button; + case sfEvtJoystickButtonPressed : + case sfEvtJoystickButtonReleased : + event->JoystickButton.JoystickId = SFMLEvent.JoystickButton.JoystickId; + event->JoystickButton.Button = SFMLEvent.JoystickButton.Button; break; - case sfEvtJoyMoved : - event->JoyMove.JoystickId = SFMLEvent.JoyMove.JoystickId; - event->JoyMove.Axis = static_cast(SFMLEvent.JoyMove.Axis); - event->JoyMove.Position = SFMLEvent.JoyMove.Position; + case sfEvtJoystickMoved : + event->JoystickMove.JoystickId = SFMLEvent.JoystickMove.JoystickId; + event->JoystickMove.Axis = static_cast(SFMLEvent.JoystickMove.Axis); + event->JoystickMove.Position = SFMLEvent.JoystickMove.Position; + break; + + case sfEvtJoystickConnected : + event->JoystickConnect.JoystickId = SFMLEvent.JoystickConnect.JoystickId; + break; + + case sfEvtJoystickDisconnected : + event->JoystickConnect.JoystickId = SFMLEvent.JoystickConnect.JoystickId; break; default : diff --git a/bindings/c/src/SFML/Graphics/RenderImageStruct.h b/bindings/c/src/SFML/Graphics/RenderImageStruct.h index 97bffe48..452c5212 100644 --- a/bindings/c/src/SFML/Graphics/RenderImageStruct.h +++ b/bindings/c/src/SFML/Graphics/RenderImageStruct.h @@ -31,7 +31,6 @@ #include #include #include -#include //////////////////////////////////////////////////////////// diff --git a/bindings/c/src/SFML/Graphics/RenderWindow.cpp b/bindings/c/src/SFML/Graphics/RenderWindow.cpp index e76a0cc0..6c266ee3 100644 --- a/bindings/c/src/SFML/Graphics/RenderWindow.cpp +++ b/bindings/c/src/SFML/Graphics/RenderWindow.cpp @@ -58,7 +58,6 @@ sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, unsig // Create the window sfRenderWindow* renderWindow = new sfRenderWindow; renderWindow->This.Create(videoMode, title, style, params); - renderWindow->Input.This = &renderWindow->This.GetInput(); renderWindow->DefaultView.This = renderWindow->This.GetDefaultView(); renderWindow->CurrentView.This = renderWindow->This.GetView(); @@ -85,7 +84,6 @@ sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, const sfC // Create the window sfRenderWindow* renderWindow = new sfRenderWindow; renderWindow->This.Create(handle, params); - renderWindow->Input.This = &renderWindow->This.GetInput(); renderWindow->DefaultView.This = renderWindow->This.GetDefaultView(); renderWindow->CurrentView.This = renderWindow->This.GetView(); @@ -320,17 +318,6 @@ void sfRenderWindow_Display(sfRenderWindow* renderWindow) } -//////////////////////////////////////////////////////////// -/// Get the input manager of a window -//////////////////////////////////////////////////////////// -const sfInput* sfRenderWindow_GetInput(const sfRenderWindow* renderWindow) -{ - CSFML_CHECK_RETURN(renderWindow, NULL); - - return &renderWindow->Input; -} - - //////////////////////////////////////////////////////////// /// Limit the framerate to a maximum fixed frequency for a window //////////////////////////////////////////////////////////// diff --git a/bindings/c/src/SFML/Graphics/RenderWindowStruct.h b/bindings/c/src/SFML/Graphics/RenderWindowStruct.h index 0610fcd2..2498b234 100644 --- a/bindings/c/src/SFML/Graphics/RenderWindowStruct.h +++ b/bindings/c/src/SFML/Graphics/RenderWindowStruct.h @@ -30,7 +30,6 @@ //////////////////////////////////////////////////////////// #include #include -#include //////////////////////////////////////////////////////////// @@ -39,7 +38,6 @@ struct sfRenderWindow { sf::RenderWindow This; - sfInput Input; sfView DefaultView; sfView CurrentView; }; diff --git a/bindings/c/src/SFML/Window/CMakeLists.txt b/bindings/c/src/SFML/Window/CMakeLists.txt index 87cd539a..1e8595ec 100644 --- a/bindings/c/src/SFML/Window/CMakeLists.txt +++ b/bindings/c/src/SFML/Window/CMakeLists.txt @@ -8,9 +8,12 @@ set(SRC ${SRCROOT}/ContextStruct.h ${INCROOT}/Context.h ${INCROOT}/Event.h - ${SRCROOT}/Input.cpp - ${SRCROOT}/InputStruct.h - ${INCROOT}/Input.h + ${SRCROOT}/Joystick.cpp + ${SRCROOT}/Keyboard.cpp + ${SRCROOT}/Mouse.cpp + ${INCROOT}/Joystick.h + ${INCROOT}/Keyboard.h + ${INCROOT}/Mouse.h ${INCROOT}/Types.h ${SRCROOT}/VideoMode.cpp ${INCROOT}/VideoMode.h diff --git a/bindings/c/src/SFML/Window/Input.cpp b/bindings/c/src/SFML/Window/Joystick.cpp similarity index 62% rename from bindings/c/src/SFML/Window/Input.cpp rename to bindings/c/src/SFML/Window/Joystick.cpp index 0d5099bc..cc60c4c4 100644 --- a/bindings/c/src/SFML/Window/Input.cpp +++ b/bindings/c/src/SFML/Window/Joystick.cpp @@ -1,83 +1,84 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Get the state of a key -//////////////////////////////////////////////////////////// -sfBool sfInput_IsKeyDown(const sfInput* input, sfKeyCode code) -{ - CSFML_CALL_PTR_RETURN(input, IsKeyDown((sf::Key::Code)code), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the state of a mouse button -//////////////////////////////////////////////////////////// -sfBool sfInput_IsMouseButtonDown(const sfInput* input, sfMouseButton button) -{ - CSFML_CALL_PTR_RETURN(input, IsMouseButtonDown((sf::Mouse::Button)button), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the state of a joystick button -//////////////////////////////////////////////////////////// -sfBool sfInput_IsJoystickButtonDown(const sfInput* input, unsigned int joyId, unsigned int button) -{ - CSFML_CALL_PTR_RETURN(input, IsJoystickButtonDown(joyId, button), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the mouse X position -//////////////////////////////////////////////////////////// -int sfInput_GetMouseX(const sfInput* input) -{ - CSFML_CALL_PTR_RETURN(input, GetMouseX(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the mouse Y position -//////////////////////////////////////////////////////////// -int sfInput_GetMouseY(const sfInput* input) -{ - CSFML_CALL_PTR_RETURN(input, GetMouseY(), 0); -} - -//////////////////////////////////////////////////////////// -/// Get the joystick position on a given axis -//////////////////////////////////////////////////////////// -float sfInput_GetJoystickAxis(const sfInput* input, unsigned int joyId, sfJoyAxis axis) -{ - CSFML_CALL_PTR_RETURN(input, GetJoystickAxis(joyId, (sf::Joy::Axis)axis), 0.f); -} +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include + + +//////////////////////////////////////////////////////////// +/// Check if a joystick is connected +//////////////////////////////////////////////////////////// +sfBool sfJoystick_IsConnected(unsigned int joystick) +{ + return sf::Joystick::IsConnected(joystick) ? sfTrue : sfFalse; +} + + +//////////////////////////////////////////////////////////// +/// Return the number of buttons supported by a joystick +//////////////////////////////////////////////////////////// +unsigned int sfJoystick_GetButtonCount(unsigned int joystick) +{ + return sf::Joystick::GetButtonCount(joystick); +} + + +//////////////////////////////////////////////////////////// +/// Check if a joystick supports a given axis +//////////////////////////////////////////////////////////// +sfBool sfJoystick_HasAxis(unsigned int joystick, sfJoystickAxis axis) +{ + return sf::Joystick::HasAxis(joystick, static_cast(axis)) ? sfTrue : sfFalse; +} + + +//////////////////////////////////////////////////////////// +/// Check if a joystick button is pressed +//////////////////////////////////////////////////////////// +sfBool sfJoystick_IsButtonPressed(unsigned int joystick, unsigned int button) +{ + return sf::Joystick::IsButtonPressed(joystick, button) ? sfTrue : sfFalse; +} + + +//////////////////////////////////////////////////////////// +/// Get the current position of a joystick axis +//////////////////////////////////////////////////////////// +float sfJoystick_GetAxisPosition(unsigned int joystick, sfJoystickAxis axis) +{ + return sf::Joystick::GetAxisPosition(joystick, static_cast(axis)); +} + + +//////////////////////////////////////////////////////////// +/// Update the states of all joysticks +//////////////////////////////////////////////////////////// +void sfJoystick_Update(void) +{ + sf::Joystick::Update(); +} diff --git a/bindings/c/src/SFML/Window/InputStruct.h b/bindings/c/src/SFML/Window/Keyboard.cpp similarity index 84% rename from bindings/c/src/SFML/Window/InputStruct.h rename to bindings/c/src/SFML/Window/Keyboard.cpp index 127e459e..190c118e 100644 --- a/bindings/c/src/SFML/Window/InputStruct.h +++ b/bindings/c/src/SFML/Window/Keyboard.cpp @@ -1,43 +1,39 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_INPUTSTRUCT_H -#define SFML_INPUTSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfInput -//////////////////////////////////////////////////////////// -struct sfInput -{ - const sf::Input* This; -}; - - -#endif // SFML_INPUTSTRUCT_H +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include + + +//////////////////////////////////////////////////////////// +/// Check if a key is pressed +//////////////////////////////////////////////////////////// +sfBool sfKeyboard_IsKeyPressed(sfKeyCode key) +{ + return sf::Keyboard::IsKeyPressed(static_cast(key)); +} diff --git a/bindings/c/src/SFML/Window/Mouse.cpp b/bindings/c/src/SFML/Window/Mouse.cpp new file mode 100644 index 00000000..ac0a2663 --- /dev/null +++ b/bindings/c/src/SFML/Window/Mouse.cpp @@ -0,0 +1,53 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include + + +//////////////////////////////////////////////////////////// +/// Check if a mouse button is pressed +//////////////////////////////////////////////////////////// +sfBool sfMouse_IsButtonPressed(sfMouseButton button) +{ + return sf::Mouse::IsButtonPressed(static_cast(button)) ? sfTrue : sfFalse; +} + + +//////////////////////////////////////////////////////////// +/// Get the current position of the mouse +//////////////////////////////////////////////////////////// +void sfMouse_GetPosition(int* x, int* y) +{ + sf::Vector2i position = sf::Mouse::GetPosition(); + + if (x) + *x = position.x; + if (y) + *y = position.y; +} diff --git a/bindings/c/src/SFML/Window/Window.cpp b/bindings/c/src/SFML/Window/Window.cpp index d3e9fe4e..ea12c500 100644 --- a/bindings/c/src/SFML/Window/Window.cpp +++ b/bindings/c/src/SFML/Window/Window.cpp @@ -53,7 +53,6 @@ sfWindow* sfWindow_Create(sfVideoMode mode, const char* title, unsigned long sty // Create the window sfWindow* window = new sfWindow; window->This.Create(videoMode, title, style, params); - window->Input.This = &window->This.GetInput(); return window; } @@ -78,7 +77,6 @@ sfWindow* sfWindow_CreateFromHandle(sfWindowHandle handle, const sfContextSettin // Create the window sfWindow* window = new sfWindow; window->This.Create(handle, params); - window->Input.This = &window->This.GetInput(); return window; } @@ -220,6 +218,21 @@ void sfWindow_SetCursorPosition(sfWindow* window, unsigned int left, unsigned in } +//////////////////////////////////////////////////////////// +/// Get the position of the mouse cursor on a window +//////////////////////////////////////////////////////////// +void sfWindow_GetCursorPosition(sfWindow* window, int* left, int* top) +{ + CSFML_CHECK(window); + sf::Vector2i position = window->This.GetCursorPosition(); + + if (left) + *left = position.x; + if (top) + *top = position.y; +} + + //////////////////////////////////////////////////////////// /// Change the position of a window on screen. /// Only works for top-level windows @@ -294,17 +307,6 @@ void sfWindow_Display(sfWindow* window) } -//////////////////////////////////////////////////////////// -/// Get the input manager of a window -//////////////////////////////////////////////////////////// -const sfInput* sfWindow_GetInput(sfWindow* window) -{ - CSFML_CHECK_RETURN(window, NULL); - - return &window->Input; -} - - //////////////////////////////////////////////////////////// /// Limit the framerate to a maximum fixed frequency for a window //////////////////////////////////////////////////////////// diff --git a/bindings/c/src/SFML/Window/WindowStruct.h b/bindings/c/src/SFML/Window/WindowStruct.h index 0429f153..1f0eadde 100644 --- a/bindings/c/src/SFML/Window/WindowStruct.h +++ b/bindings/c/src/SFML/Window/WindowStruct.h @@ -29,7 +29,6 @@ // Headers //////////////////////////////////////////////////////////// #include -#include //////////////////////////////////////////////////////////// @@ -38,7 +37,6 @@ struct sfWindow { sf::Window This; - sfInput Input; }; diff --git a/bindings/dotnet/examples/opengl/OpenGL.cs b/bindings/dotnet/examples/opengl/OpenGL.cs index 7167a45b..4eadc92a 100644 --- a/bindings/dotnet/examples/opengl/OpenGL.cs +++ b/bindings/dotnet/examples/opengl/OpenGL.cs @@ -27,7 +27,7 @@ namespace opengl // Create a text to display Text text = new Text("SFML / OpenGL demo"); - text.Position = new Vector2(250.0F, 450.0F); + text.Position = new Vector2f(250.0F, 450.0F); text.Color = new Color(255, 255, 255, 170); // Load an OpenGL texture. @@ -83,8 +83,8 @@ namespace opengl Gl.glClear(Gl.GL_DEPTH_BUFFER_BIT); // We get the position of the mouse cursor, so that we can move the box accordingly - float x = window.Input.GetMouseX() * 200.0F / window.Width - 100.0F; - float y = -window.Input.GetMouseY() * 200.0F / window.Height + 100.0F; + float x = window.GetCursorPosition().X * 200.0F / window.Width - 100.0F; + float y = -window.GetCursorPosition().Y * 200.0F / window.Height + 100.0F; // Apply some transformations time += window.GetFrameTime() / 1000.0F; @@ -159,7 +159,7 @@ namespace opengl static void OnKeyPressed(object sender, KeyEventArgs e) { RenderWindow window = (RenderWindow)sender; - if (e.Code == KeyCode.Escape) + if (e.Code == Keyboard.Key.Escape) window.Close(); } diff --git a/bindings/dotnet/examples/shader/Shader.cs b/bindings/dotnet/examples/shader/Shader.cs index 6d62ab80..646e1a80 100644 --- a/bindings/dotnet/examples/shader/Shader.cs +++ b/bindings/dotnet/examples/shader/Shader.cs @@ -125,7 +125,7 @@ namespace shader shaderText = new Text(); shaderText.Font = font; shaderText.CharacterSize = 20; - shaderText.Position = new Vector2(5.0F, 0.0F); + shaderText.Position = new Vector2f(5.0F, 0.0F); shaderText.Color = new Color(250, 100, 30); shaderText.DisplayedString = "Background shader: \"" + backgroundShader.Name + "\"\n" + "Flower shader: \"" + entityShader.Name + "\"\n" + @@ -135,7 +135,7 @@ namespace shader Text infoText = new Text(); infoText.Font = font; infoText.CharacterSize = 20; - infoText.Position = new Vector2(5.0F, 500.0F); + infoText.Position = new Vector2f(5.0F, 500.0F); infoText.Color = new Color(250, 100, 30); infoText.DisplayedString = "Move your mouse to change the shaders' parameters\n" + "Press numpad 1 to change the background shader\n" + @@ -149,12 +149,9 @@ namespace shader // Process events window.DispatchEvents(); - // TOFIX -- using window.Input together with image.Draw apparently causes a memory corruption // Get the mouse position in the range [0, 1] - //float x = window.Input.GetMouseX() / (float)window.Width; - //float y = window.Input.GetMouseY() / (float)window.Height; - float x = (float)(Math.Cos(time * 1.3) + 1) * 0.5F; - float y = (float)(Math.Sin(time * 0.8) + 1) * 0.5F; + float x = window.GetCursorPosition().X / (float)window.Width; + float y = window.GetCursorPosition().Y / (float)window.Height; // Update the shaders backgroundShader.Update(x, y); @@ -162,10 +159,10 @@ namespace shader globalShader.Update(x, y); // Animate the sprite - time += window.GetFrameTime(); + time += window.GetFrameTime() / 1000.0F; float entityX = (float)(Math.Cos(time * 1.3) + 1.2) * 300; float entityY = (float)(Math.Cos(time * 0.8) + 1.2) * 200; - entity.Position = new Vector2(entityX, entityY); + entity.Position = new Vector2f(entityX, entityY); entity.Rotation = time * 100; // Draw the background and the moving entity to the render image @@ -193,7 +190,7 @@ namespace shader { // Define a string for displaying the error message Text error = new Text("Sorry, your system doesn't support shaders"); - error.Position = new Vector2(100.0F, 250.0F); + error.Position = new Vector2f(100.0F, 250.0F); error.Color = new Color(200, 100, 150); // Start the game loop @@ -230,15 +227,15 @@ namespace shader RenderWindow window = (RenderWindow)sender; // Escape key : exit - if (e.Code == KeyCode.Escape) + if (e.Code == Keyboard.Key.Escape) window.Close(); // Numpad : switch effect switch (e.Code) { - case KeyCode.Numpad1 : backgroundShader.GotoNext(); break; - case KeyCode.Numpad2 : entityShader.GotoNext(); break; - case KeyCode.Numpad3 : globalShader.GotoNext(); break; + case Keyboard.Key.Numpad1: backgroundShader.GotoNext(); break; + case Keyboard.Key.Numpad2: entityShader.GotoNext(); break; + case Keyboard.Key.Numpad3: globalShader.GotoNext(); break; } // Update the text diff --git a/bindings/dotnet/examples/window/Window.cs b/bindings/dotnet/examples/window/Window.cs index eece87eb..1fc64416 100644 --- a/bindings/dotnet/examples/window/Window.cs +++ b/bindings/dotnet/examples/window/Window.cs @@ -119,7 +119,7 @@ namespace window static void OnKeyPressed(object sender, KeyEventArgs e) { Window window = (Window)sender; - if (e.Code == KeyCode.Escape) + if (e.Code == Keyboard.Key.Escape) window.Close(); } diff --git a/bindings/dotnet/extlibs/x64/csfml-audio-2.dll b/bindings/dotnet/extlibs/x64/csfml-audio-2.dll index e40d615f79653dbbb1c4d7097270235dd168b116..031d001d5f578b396e7c0390a2b048afb4ef2787 100644 GIT binary patch delta 9759 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 delta 9715 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 b?_xzTW6lEs>o=do^`u|WPl62ej{1KAjG|8+ diff --git a/bindings/dotnet/extlibs/x64/csfml-graphics-2.dll b/bindings/dotnet/extlibs/x64/csfml-graphics-2.dll index caaf5c43c3bf18bc135612c08e4beb2c2c44d54a..aeafa0c52a3e976d00e1afa8f612d4630b114ac3 100644 GIT binary patch delta 260500 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

+jQ*AM8ED{>ftkD zZ1+;BcfWUZfF7P<9(^3gmIK+ znlPalvlAs0Xg&HZwkRbugc8~am-6E&a=H<>qkG>$+2-37FgDhFHeTyT%-ajZ zR;AebKo51WfFN(Iac~vF4Kp($VZHdSN7efJzaSiH<9yfwdVm97vM_yv$xgkt=7m(i zYUX&##LZg32+Tygxw*AEn}kcx%9VefheaxGzH}6e)K!*wsVs9cmHBje>j7KofEQw5 z&#tO^TAc0~8hG;*-iSJP!6i01W_+wHFGoW$^MO;Mc(1BTyh!b3PD}1(_m*&8v^gOV1%H~x%y;e64pcLmjLnV8)>NvR}G z_a3gUcp-Fs+9>zL;yz21x}sj+5#dLh${OL6qD6r0jcwufl594dl8p!HnP1Km*Za0A z2Au;2il)it4TnThKYvdwsd3R_XhCBWXY)>fPSwmac<#2;=nV~M%`LVS)FDOuvwaHCV>4&5IVRUa<9R`}w2Oy(y zN&ax0Lw0D&Hs|>oFs;YbR`Q%3Gbh93@Q~)C=su)^@>JHaAvmEnWcz&&F5@MxFqaF!g*o%gtydL45~6v~Ji%21IwqP}lAgRG5wg1P<& z)J4wRqVwjCn6JPZXWTdSlo}%In@-9VarT=~rLA}ie^(R!qk=t#f0XMU$++$@Xs3&q zQso=*`>676Lq5q1qmCT-cZm0+3?B30K%L=(9BKND8<`@;do>ktjeWgzhQ1*>!)0BK zz5#O0vul#b9uuzCN)q$O#DsYz$@;@h15S+W?h0(nlaioI?2Pxn7vkQS4*CN#yy4E* z2Mcb z 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 z zj22Z2%2HDF_I!JqWG^qdREq7wvw#en4Rg0Vzy0`ZaUxCTd%0jwi0kz_INmFG-0?_H zr}b>El`H29lUScqu3jLn6uFoKcSHy7D^+kuY#bba#&Hy`#bH0ZdRX68+%@~kg~CH* zKAbIez0KKV;$l%NUA05hlcjE%WcnqdnD}^8R#_s(WSEwi!L333wFdF8oz_uV<*_BA zxcl!}asNz|_sW>_%A!kzMWnqc{g;ZQ3^{MWdAa!A;P@|2Yu+p}?=sOkd)5QciyN>9 zl=|s|XRG+jbSgh*m6Mi<8d*DErwFz2IXM1lNc=r`iN-4LEfdk=TV@%tT-5hlvftH< zNtv;AI)h|_*`Evuir@V%&ny>tM0jTTa=GvqS+2=!D@3qYiG4T+a4xO$UG`cb%8Dsh z?F&|j6(;MN>F#bjop6?_z1=Mh+^5E$bja!U-&cukCeM+(sOYTE_H1k5?B$tbC#|>q zDBG_S)e0=M;G|#0`OX&{AL&;nI6exdKf!!tJNZ6+koI+=qv#%N&$?cG)I2+FC4KfA zdzMY2mPy!G+S~jK8(Nh7OD1j+Jw)PoS#m2RBF4*vt)immntv$p;JN+eR#DaD*<&NE zFMcL1c2U4HfL8}UlU3}Zf{2ZgeeELJbJPZM*`LZ!c2UN*^_dS0ZVC+XUk}I5u`tgG zma=eSuf4rLYMzc2pf%X#uKx?(?xFvK`J4*A;O%DpADowafB-jt@=Z^~@J+tZ0^C&K zn~Ho>32)%a%D!T|s9>_WJ@tX>u5f7kbJ8#U`7xUM6A3iAKS`j4#1%RR8r=NHH|Oc5 zYQW7*zL~{05^oY3Re(EvDUpn@Rm7cd&(Acs(khAxR*R~c9j4?HYrQ|U+9YJF{LYh9N>Zrw4Ebx%}U6615 z=%!>Lx(RrEA6dW?zH#tP65b?OpVEzMOzGegiR044<@H25M_Sk3m%ayJVD0b8b_YcF z?7jBTz+hB6+ydR;v~x8$;;qvf^;up&ARz}8xBxBwt~NXl7}B*tL}KmuiR1sdBKIE_BSh`eGT?})ElyprM;{S6HQ~5opMP9* z)Wm3i`Qwx*-(to&;f8=ySIPEwp@&42dv z|A{oFY(WmZ=A*M9PFt(#G&SSTN&oX=tyug-UOF!VGQIro*Q?Js%l-eP-v!Y~O!?0~ z;DUH*64poZk4xg5sPj;kzbv|mxew&r%P?R5XXNe6qM~TzK1{Cp(r@3@??_JL;} z@YZEm_udxdS0gAk_jy=`j{(8|FqDE5WUrgzPEfI1utUbjZ-;S*#BIjmJFQt*`-e3| zPOAV745$UiAAOb)O4wtmv-u9oNw>tt4BoJ6+>L&_AsgKmJuGwZ&N4nRBw?PPn@Jwn z3oqi_xh-PFrR(y~JL2~Yf5SZ^LfmL@Z`(YlmRG*IBc6(gYx2fjF;@J%Y7f5$S4!g2 zW%=g=(LyY~Y~S-htP!4%qN(+oyJi2!BEoY3ub$r}Z$1|JJpFlf^)9>liO@v8kpHkF za19aT7mGuHlsw;C=7LTzQ0MA`Okpdvn)$FDX_8;%?ptyHXhJ6z4#j=C; zou5P>A*}ml(XTMLd;9DozluLK(Ra6W{D5oK61(lieu|qQY`1#|t*1$x*d`-2t(jQ0 zO&-y-xgK8I+}&U>HRKsh%Ok6qwTx1x(MEc--I_{|5gWG1{bnszWZq(Lm{v<~^1K{Q zV`w^8c5>HpdQRZg;&bI#cde0_^shYUu7wr1cOuu&ziFhnH^9Y>BdIGqCGc5`#KU3` zJ6iuO+j?lt>%Qwqf$wuL@T^uyT%=#yp!knL-WxysmXKyE6mScUIOepD-GtkO9s>m8 z1}O!lCU>Ch{yFxS9$I0|vu%4?pE}E)JH0l~Bqq0$yDVB~QLvrNn?V~S&aIWRGHA;^ zv;R)Mp3`NJw{}s4u93BUv?B6CMlHAOm{AK62UjO6y+uh{nJ#9pLb16ll1a-fimtK; zWYWr+#E%tnfUnj;$QAapzFISrXuMqJw}S9wncZg9Dwt}GZjr(58Qc|{o8dxnSSW%E z1z_Q0b6Cg@3zu*K50hoM;0_C8VF9ircE`)NS+t{K?Gm{wtLE?dC(8#X$mdzLY@UwB z$#LO~gkP0KG{FP7u8!5oafDSu?s+KQ};WyTy@ z1?gQ`3y{aMYxP9OMW`$n_JzL?|D4)YQDcFG^Gnk-#jkyL%1ybovf}Z4Su?j*QSQm5 z*+dyyStcgTOBUv&ImeAg3|27eJptyP-xbx(J3HGW& z*&2i7|4M2V#D(=Dq4Z`6Y=s9PMGK5Ad+{xr^_e5SAp%76fH+q)uxC}(bBt` z)>|ampaqCOqwFsNwE1xA8g8FhOM7Z6@pC91_(zhm;j@Ww#~bLhJ_CuK z0=SPX!RqUey|AYLLoTVUjTa$9WwGD12v7GS)VXZo_F2DaQ6|gVLbN`;BW^f(Zz4nNNKOD6}47~ba#8^MasB1-2HH$C!d8UyzNnGt??--&rF^TB1 zazkUSjA-3k-fgV?CNlMweoeIMV)6_7A5F9oCXwyAyxkP`2TMNwr~3(qp}i~{rd9G>Uf;(psH$~IeS7~fZM6{9+sT~a zTIrnW+TmI8F5aEb#=RF#02%4&DW7(-Yq-|QZ~KhzPNb`lCe$_IPTK>H>%gxW-Rh3p z4^J%S`6?aZ+AJ}9fQVGG3hMRzdL`6pEzyH0Q<1c+HI34G*$lIMJpjb zO_6_ffzwLWD{@a4tx3KCQ=o|ibGnZi-Ml9r!k3)l*ZD1i_8P>Wa#|a;lEu5i`La+e z*}SWkRXh*1_w1^rF=ZHkDJ?pJwVzJw*OoG>n>MeKdvDFn2mW%xpFjLngTKM>7Y%=I zeKa=<{N;kb67W|K{#L=?jy|$Ucdc=*sRDMu_>)fSq84~moek#8RbQudUkhpPuI0&G zivT$KvcqXjXkkz4uB8`V?$v$VMimN4sJOSvte#p9ale|()l+NbIo)Z&lR$+k_TfEY zxA1*X86Wa(@hbyI?5M)vpH@*qXL5?Im1ToIT0hT_?-Y1Z!G55R=4JA%@{QK7mA7B& ztGSyz{lC)s@pAG}KW$Kkw;wFY*NV3r$R7Q*0@}d_?()@gI8$!uujS2P`^C|#fxOXQ z>tXS1fFq=<$-8cRHTmj)T3*Y0SFyFha_#`IHV9U%{RY4V(&_$MPtkRTtU5s3E4D6` zUj}HwS;szyXE&b0S!c{!SEau7e}QtM9%k3-sdx`%B1|SfKJR1*BJ^XS($HVCWi{oYoI@Wb?t$ zty^{EfWca5);odj@c1(tc4|0^Lg5h-K1+K(P~IF2r^4rT%sWK$7xU}L z217u%(Rv|YFQ>It9UMvrzcSu?y`5HDZMkrWmPM4VBkdS4*OB*zXqmI@gI12l_+c}! ze?b5mSsEz4hHAx&UN7V0w#qcfI`$a;JfeR&cegn65zrjR_rjY{6U^ISnP21Dc)%(n zhiWxFhQnMstrKg@okO*0qV-cmD@n_Ngr|4TA&sS)lwj45s2_pv*ZOZr29N>cim>nH(tF42O$|&_FqDxHi66 zg<3d7ECJ76njN0I)54L`#jgtf7l{7_BhBY{y-WT!LJPKKx(=s}u_N+j{9oGO_(mSj z(!jGi9nkwFA9F0f48`Ivz@pQd zzXqh>8HtySCJ?f2h7>wS@M`*W=t8?!4e1*N^YSe~wv5t(ifz4xrNZ(B7Z1xeC@s7i zNS$b$4K6<6j?z(cA2f^`W@~^v5Cx~|1y^T{)FNz2H!(H@VnZl4AOPz(h1e13nB#xA zmGJD81nvG~!hN9`KAjj2+bpnCqT~8z8c+NS?)1rvSk3z0@BjFE53s6^=YRN~bNB28 z1p(|QYm{j0im2BsmRQEbUSndf$KHDZvA0-~sE43NO*Cp$ z-p`%`n0$Z#=jC~ZyF0VJ&d$v4aWUmPXa@~q?Ly*agV?BEVGSC>LBEVM&+OB@uBAwc zhM5cnTM7_RShWEsnl)2D@u7Y6c$b7qtAq9ws#64TfACb#7@Kz_M*8lXI<>(48REmL zqiv$CNnm1B6TN0G^=Z%qb4B_z-t5|CF#>Fr^6~`-^WSW&pd{J~vuRV9OUS|4Ikf)2IlM#~#W@^+(pXeveSTp@_SgA$MGhh?D$?=a6?s@ska^YYL;nj9+ z6}>JLl=ColwRO3oSE0MSQQ#g7xAQZU!;(v`J^v92~zZx>h{Lx;n zwM{K+Gw&@SPrR<)TVVdp5?W&!rkK;=1Ub>x9=m=sXD!gcSb*>X!YjpmL~~fC{=U@Q zPLbIjwef1fJoP7La}KLDHk#*{ zfQcXEwo+q`NkZm@(UHS}n;1^JYdkVJzha3Z{;#WZX zLYRzS0c(o@Vb^9;?Nc}?4NZqU&U{jm+N({@nA?`Lf4vBGfxY%3bZMzgdnPzD!u6DUar<-`zBKQ{?rt)b~G|Yf19O32OEG=IN50(N^96 zz+6fyUAYrC*_2x|98Fdh0ABLS47&5syg6_{M==PL5D*eUfip;V#s%0Rl>ZF%$6w6V zB-ybe-TD=r#P1!{H@}*lBss60YI$USE6Xk0sFG$*m&%QAB~oe^ighJ4-gZJ8Z1^$N zTZG5kPKw^{+=>?GnFC7KGe}r-TO_8~PHB}|sTcCh!_2i>jCT~88L`5qCRwo%De=H0 zSz|5q@*2x$hD{bX)0)lkQLGAAnx36elQK1~&rB~>J;S?1*YdA%PPW4sO6y_kw(`(US&IXlS z`TU=P#6`B5lOtW}F=s!>-D}cp3!5unji6vV)<~WgK|SqQTaQ65%(MzH0Wi1Fy~>5M z?bvDOC;1`~ed|I>4?NVh_N)%hF4fh0CD>%iqlz0ddAKvv7(jxD;r4K+uN_#!TB+Sp z_|vh@SbYlTSQCM<>T@jCaEeMq8%|M)2Hn*>2R6;@l#F!W9G6C*19P+;#Zv!*}id3%q$q;B62>5AmaCN2p3yUGkdKAFmr?? z1e+aHs3*d^<+Y{0rCHUOM*olaJqzPcD31Sfg%MwSi z(oAV=K|HN=n@O?*4JW8Xu|*{A6{|#n`#6viZDT&S zgagVgS|YS;QA>P}w2N9I)o2N#@@}l|gjj?TXR`1_BwYdPz zWS3f)T}e?Ac&)9yGB2lB*6#Qf?J-ADWbHzO!ac^l(`t^=b;17{NAk=l>)z-rQQpbJ zolO(Rh72`1P06HtZp?GS7GRKMxV5#Pp5(~lBppSPeT$QPvq~iS7XOjta+GXujGkn9 zBoJrIjB?uAC!I}Gxj0{4!>X^j6S!g)l;MhPc_v5r&wvjy(ugwNzDf|rJ~!2JV~-7Dz` zNk`_e7)%9VS@~NhD#D~3=uPzU-@(q06}`Kc&Fk z3%|DG8JaXA9H03b5sYssOv384&y0h3R?~tJA#t{IF?);&(59y|M7`)C4q|=@-5hAI z40nOM_i`HN$NH8z?T;SHyevleIc;>A4+Z&-2yb*l)N(TWvv1`V9fa899+=V^;6JAehshZfU|0M;+2=VFfG za>OYVhlm!!9h&15ddevjHUdteV?zQ_utXH53P{C;fdeJ!fP|Hr%jo++)?8i^N52QM zpX3*@v@nQ$aO>hNIxIWU+Az`D)hl}X;6SYctqW$8M67Wtox`Pj=;4 zS82D}ryT1g1-m#gv11I4fU-sTEy>XobD&@Xrq)4W_y9pqZc}Kv0xR(DHc$MBw8~w)K-)su`ch+%W^&I{i5W*-wArPpPetZ0 zjiStoY-g!I6F-x-xKKhRkQULGl|cG6;WH`6nJQEUX%EF$W~<$p9_zH8pvf7`tZnfb z8k)j9$+ZgWXKy^SuM7%qJ05mO=7@n-4OKOJt{hN(o;Louq`(Zr31B@cZCQ9 zO3uPMmzb59h68}w77LY^$iy~NSMw!CT+kX9s2^&x(voaa$T^aE$&VRTie%&Ezgo~w zk*revRP*Pol6qcBvYpLqUxdO`$}3akK^dZ38-pB10!hwV8S}!rtgF0LrnI^kw9{pp zT$fc3vQ`n>S~Cp(lGbJpa0LRuP@d7%6t;ZVF`$n?G1 zO+Dr;NjGU%6l)Y%DeI#qR-O*Uvoi9WHgqqZeIs3?zVXc8ncDn2aKAQ`*@ShFXSb&NP1tnH$=0IH$I{?< z=IJ~Qo`0p=nieFmj`H|c>Wc(cN|I(#K_VM1xzgw)<|j9QMT?TyI=O2iMK@(Vr94{G zlvR=4Uee{Jtf73@l}a~bUzJLGAy^k7!pU-XYf0ZWV-apY{0MHe=UJ!SQ%Y#b19sAhRQz;1?i64eieQ<5?*S{@sqK>4V@YzR2F+P{rC)b+ zBn32Q?li7B%C~^tHfJ@ZG^*Ny)tAldXg~|LN;<5TN@WiudHia6(UP5#8#bjqt=J5y zDaE#C6J^glI@y~2WdCy~B$nkqK9NSXVGF_dJGEuO{yQEkri_x&aW+E$mRAp3K%y-k zlTsO#K+W5-vT{ZO4R6a%Nv)|~J2noDzo#8o+!pGmcI*d9ZV^X6bU-#2W2s_CER&0A za!1xot`Mu{bY!uTR6=#_%)BL0=q{`=M%BYXS^|Q4LG)V;6pswo5ewO4ftJ0)2*2}L>eKFL)PUbt{)EZReLu)^)Oj36iUg}Pi z5dss|eM=Q;)E)izE}X`7N6T5FsGvKmDw(Ki57t)haf_z(U~4CoO%|1=o0!)TZv-!4 zRbRlZl{D}V#C+GWB82w3nchTLFGN5=)P6BgXf>cldTEypf4Jcf)Q;(X(uxuq8Ln;7 zQ4p9WT4{Yx7A`UMR!=rxl3LKBBri+kcLQf*P?(Yv%unB~>KHzN}{D{ENn(Tm`lcPMP9Mt}$;;*f~vk3T_Mew5?7n2e2=tsbm?*s)SYiPpspYj99mg zSS-E7-tBPa-7(_M52qdj*;yy|5J!_!<{gn$mivJ)syB$GN!w}hAPkHXbaoI6k^jC( ze+*(}0~&{kpmk7XltM;&+eCT}V53EytEtroV*<%;Q>oJs79G2)YGF6T{HGsM^p^YF z51oUsQJ(s_pul!U3}kFQy+k)5#qL$<=ON6iwEh3Yumq81D3)y8cS>y+tYl;%>9dT1!yC`rLI;49WXXhwa6v5tX3_ni@*iCMPDK=h4rUPOcxIa}*b zzkUTaup2cT&Zf)Uht3QKuhzt$yhgAP>`x6wpjG~$Wh1aGt@fwmBiJChi!aqkXEAjv z`l6z?i(1P(Bqxq_V!R!Fz^w_Gl+1|cD=*rZ&ZbEnspi*gf?HuK z@il(aO5t+{2oUB=r@vZI4bfMlHVxw&!h6lxS@iCC45~owH?mr>e@##iSy`GQ-BSZ*gBOtcQ^Xt=FUJMY=sB!E zt%+Bv(!)6z#BpRlmrW}@&{1?mn~>0?tgJ<7Eo}p>n#)#*4encP)2E1JV04aB{rTYJd#H=&Lo6lLqV)?{d+Fze3t6cB ze0wooam2X9o;r1g@`j zr6I(8OEk3;X=Q7bs?dDG0KQ4Di3RzcDygU00cnnRQt2--Qf%2re_>jcN>pPJ3l7>N zDvq=)+U7!60@GF(IqkGXl)eZv;c6wC8)fmL?Tgr0xmrmI|Bf|s7{`qY#8)aPpqGp6 z-PJkYv2&8tgE}u}E#%Unv~e+8?eWnf%IyB!jN^jPnOuy6iBAXmatZ5$+f|gkg!zFX z%wNJn9g_4gP{&-OfHE&=s2^Qg&B7eUeQ?kld{;nWc`0xW&|egyzbr-% zUBengZ1LCIE?TU|kMxGi(axJhYvuH|PJMvYM>|mL{Y7}Q=)oG+){h#AKsSZv4W;Us z<+cg2^^6_;spVQ$HrT5uo>_w;56ZIREHUG`)Y}^SDgD0a_8aQLwXBgO{Y}@`LDYDd zO8o#^=k4+)eC?f}`Bp9bmcB>C6rmRi^HZPX#f#f53+ABSZqG zs29T>_u1)XKd<@UprD;tIFHiUova4f*)2P93JJSTPP^D0k;yJrSuTH#ymqrG(h6F- zn>D~dxU-wJlAW$nn2Js2f%=8Yj@!w8=PCFIYbsr$K}T4mJ)Qehka4OY{W9fN=K<=) zBN)H3(^(2T1|IMXr5^)tpGwb;u_vB=PeU4*`DTPm)W?xUMa$NZ`EksVDyOOR36?C~ zqi!cyc}bZRT~!K#|2+GIJydP_Mp_zbIKPsfU~Ub)8XrXD-PPD|1b znsJUzlB$!#d3MP&?eM1pS=M7=e4Hv=Xn+^S2(PCUSJQ*II+LY!D@PfzPZG1 zdH%i^aqu0=xTr_}igT6vV9$4=V)Ki`5Ua0?74#~++=lK?`{_Xe*Ra0b2R)W>yJI{-c8oQmFx6>C-4^~-C{w~ zWp%(U_O*k&_^|rxBP>G_t}Z=%z6*{|s2ESt8@QWLvaXUiKUa@MtC34XYP|%;Op)^iS`;%#0 znxZDX$14PmTi?CM8R}S!ZT`fooa{faF+OQrF>MCS01N%hhEcFsh`ZSN z!bNia#N4GiRQ?ldT$-KyRFHQWQzXfDJqd+%+eV{5VGjOH3qP^?0pDZ1Cfi=b)g2g; zn%*9eCGS!(vy!nsECc987sN zRcisdCScwVXx0P=tSy3n@=MN25DbR0N;K7Z?Mvz)DfOjDS|BMg(i^%VDGfaL{DS7S zHVH+XzKGM)b_2#aS`Df!E8ZT7t3k9i5AAJbPVrNojqnn*25y6REfulqQ$d{VCXOM>BKT^U9p>MK1QMt$Y?|86IX6m+KGEuqBP*IJ}EgtmY}ODd7UWe`}vlz+iMxCIFOKzEv4QaL3@hO12-lt@{+O&O(> zIygn_FQp8ZHdC0Ba$Oop+*t{A82?C=LCmoWepJs{X^kN?%NYZ!AMJEj60!V$bVkV| zsho=v<{dd-R5-i0HQ}S?V7R9z6ll_X8svge_=u*vC|9L$`l7TF5IomMF$s9>Z9tJ< z{9Xn8?L*5-EAwRExoU)~!X!kGbW>VMjmhSw1WMazqnlDjI!5Q+kn}Wq?51>*W>Sp1 zQr1_SC05rHPFccICoyZjVNH+O8Zeh8xGR2Tw}}9@3zg4D9UYI`ui4rPAmXAPe8VE{ zQNa@~6W$7uc^i~>48`X#2 z%5e!2-?hHV*U~W6&rkV6l2)su{n43nh(EOoQ0mDi{ApHz@`vm+n=_yfo2T;3GFo7o5<3GzkRFx*$qOyf+B4wwAO&rHtoPgLuY>0pbxs1cw)dR3QNh zQbK~O>0w$2B1v4G^wP>0ew^2ZKTs<*izWssZqi#?5TtaG2GFY@<&NB92;~GT9{5$C z1S?65oF}rc)EX5qN2QgN9IB)s{qIAS@$%IU@>H8tRi;T5mg|o+q}Pvk+I=)eoFmU`WA*1K(kt3xN5t8h4Ta48+~4$9 zHKnS&_;0mrn9@RWf3LrB@t;^XUa8ZKUsHkt(TIVwG%(a^sZ*uQnagt~l71jg$Z2hp3Md3}9_yEry zSO@FIgr-;B<0^*Nq!U~5)AftakW?uBd(iwQO8Zi|?U96Fk;U+Fqjya(Zy(U01Z6O$ z#oYuYR$5Adi5M1NP+Fog0;A$uqS8YQog`(W)R!J5DMO_?YP+UNGfBcJshN^4rK?`a zN++|N{Zt*%LWyN^1x?-C8VQ$rQ5hpL1rIVD{l{7RRjt=nSt&cmR0OgaJNnictV1-m zqWt#CMX49IY2grKyJ|jZP4Lqe2)~p0 zBoNjFFKwz$W`%xd?Q61hMY&AsxUR}63Ac{o(v&LF0d-iKGEkO=(7hgtmrJ{3F-Y5E zp%%g`XRV29>8X4tiD}VG3B$z8?WKfEHdX#oIVrpC@V2}8zOkOZbD?N$q@Cub)*Yk_ljNEgY2#p}2G+~_ zgRy#kt$Gd-6YyL0&QN76lh&#o(v^#H)%JL5$edtjHRo4~vn8;Ys54{TVk)1pUDF!q z6bFOoXlw7Fou^i#lpJY*8vG494RRtHt@!(#u|o>6(bj~}e9uH%8C#3M7~74?%_6le zls#I3Z3P96QEp08=-n6;rzKSxtJuKH?is6;4_?L*_hf!RRQ6bx%GohE<<0~q#(WaU z5=cfHw|g84kKmEx!2=vqJC9d<&GuR&48p8h_Zz7bCMjRb_J6pFvwGDzuJkEG=_40F zy);ExfsNHJQ#mJp>q1vEl_;qJIZwsVt4nRBD#3EE-Rh{R%5#1gy7s+9F~+YTXy4PxK(8l)>2KX6{u zdealD@=|u#Mz?1usSV{Q94l~11X-EWt0vn7Ta0jLw3S!Y7uB{f0 zH(SpO2BOa3VkQ=Rq%DNK)EmbPX50=v7rOGI&D|K6@^lkXpZP_EO_rObmY%axFpx#%+?_iK`Q zCtVZlRN{7+CFN*)3-Q&Q0-})@EJ#FWw}xUY>ePs88E@T2RQy+Hn-Mzw`koauX|LIx z<~ZU~;MV0zGkKDveq4@0Yp!Q;^lTj1{5{%pJa}SZtqY#QJPv#DZ{qS~JBNaE8SnAH%>=RSilfiW z$?JD0rX=Ha8za1i%OyW38)~~+L=y<9p((4iB#K^B>=t+Z#cAdN4iYtmP-FqfIunhP z&joGdJPKH^)T%k^CSJ}-4vB+AX^`Pev_hoR-Eb#c6YR9MaN`gYC(NdyzFwG2)7LA} zK5p9;Q&T`$KrKKWfeBbzeK`dJO!daTRU8(0LzRxI{u73%%Y%0v7v$a^dy&de9 zyBfIz%&>eho4W5**2!5@$$pp8T|Rb^2JXUcZ3NfjFc~ltun@2U;Btme z9a73qsBlOz4L_)ut^o$Zz5eL`KdeF+0lWVnF!L~uEC8<~im5K32VfpR1Bi6%19|}# zo>okikD)TBmCmL?aO?ow1rz{k99K+x0QUhe0BI-C0)WydQ9wl8cM3Fs1a~kX0C*P+ z;As3N13w&)1pL6$bn39ux{|pTj&D}6BV>)X%b4)ilwMlQ^DgL3aRWz4eexmJxuET% z*dt0m}D!J)mC3MhHB-We-u06P%O(9r_8DPigD7g=ht42rnN_u`i{O2 z#TgXX^V-|d^!$j@+oSV&#Ux-ZU>#r&;K6z7e^gl~RUwySIK!Q%8po7MSO>p2ru>Yf zT-0$e4Bya+<4TCP8-@$kX{RagkzwNL<9IC*<}MBVtCMs>@r9Dd|AgXQA{1&foK9zZ zU83j{$|~9CCjE9osar9prGypoQp_G91C6mZiPSoeWa6Ul!8xyT6jKGjPC!l$H94uY zXw>J1u_^R{4rWZ)`+}lNks@nxmJ?gSp9qt2D&UWW25JH0?*RUo472nU(OX`tp|PaFv>#R-)a%!ZVlPlE92yOt$t6jI;I()w-(7 zPlK_P5$4qyrCxC5D~hQD;4eV-WlRA;bwDQkzW|P1QJbFyn=NPGq>1MgFZ&TU9K`K0 z9Di4y!|@mE^?9X+W8QT!MotOB^S{;T^WY(b8PWx%XO)@P1jFh6C4TC&B&WDbVo%C| zQCwcrHy_dMx>2Y5RFJj0^w$ODnEd#fy62+ur6eD|MFBZVEe{PF5`7z@?Raf7o&X<)1^3!Yd>atR&zUwt4{x-j^IOc(YyQr-) z5TQ`!vJuF$5FLe0&`EtO?r;}k_FkbcuPEPu6}o>#86t1KO{rIv`7$JxkFP2f6+s0-R6>LFD<{MsM$2bBb-Yp=9-d>mlA09HKm68n9FD)vr$QdC(PC?bp4tVX#yU+19`fTwGNX!u8rLYbzQv(mXkCQ6yvReO z)1sK7X|Zq@r6W?g@;jBh38CBllGN>{QeH}+sW+9nP7N-g=uU@^2uW!+#Cq8`l~nmq z9tGY)OTI1vk-U=T&>B4hMoolBq+PcZtF(+7-BxNjPCp|CywERdn>3nqTk&wH`WZEY zR^L{h%jWGg?~c;b?>cN^$n!qVcCl3NzLFHQmx=SqTO13*>*B=& zr_94>N%8PQFUan*+`rmRYwj!k$e*8Kta!P-?o)rKfp|BPvsv%NEfNbKUDe(^N`KIC|=Otoc={g_RKqv zsco$s7dgOggtMVvxS(A9AlVTeqx$OPi%*+Y1RdP=ct9F;Iaz zYKWIM!0-#vNU{*Rb~X|UElOxexRz+3!i!K_1W~I2Y_hEvo{`I%eUond3V~C7dikr; z+HLw0*;L;$0u1vAS7?gGX#p21e^YFgzSx6m|4Y4J0sBWx5w1|ZkGCfp?9C*{M@mY` zUk*AH>h&Y(%SR9$y-ywV?v`7TzWzp>^EULO_E4)3SgPZUr2`Yl@jL^&%( z(N~(Xl3VvdodDyLJSC=l4Xk@;sIB@=k*&=;DZGOJO*}nKAjO|Hjwa?QQGRoA$ProW z04_PJ2`=@yZ{CkJ5fy4jH}Vv#&(l33M0#mkJG8FGiH3Cs47D*WTj&I=4gLi{fvGF9vHY7C-ttD zOfR28gj`+xcsVXwFDjjp5NW4v!gG7il$zz9>=Fyu&7vgxBd*wz#C++Z8g*ZDjb=Pk zhS_@;`YRH9t~3g@|8LBh;GV_ytsiN!+^_65A|Jm>1D-3*rFpdPIofk#Av%?Qehy7g z1o`}d_B0h@UtFPve<<}ruI~6xq1x-5fuS5Yy30s+E-m>(i3}O_-;n=cu#4jNMe*Yc zL)N0Ve_&&Bqq;8?{}P{ctzC|meVJgqSX^er{}Q_02A&i^k=daR^>DP`TuW})#D7{qQ)>b00XiD+cai4Ogx z#Fq5kRx~N*lEZ7Ir!}ol@In z&^<8_=iMwE>-Tn2;CscR>9*81uHLx#=v4XCBZ(!dRV+CECVqjAR zL#L-8=-ObK{a$ge+QA^|@7wCcLItj ztys){N1uyI6^9jcO^g}T#K6v5VMNgm?V#v?6gPSO4r=$0QjgCZS`r^(q=o+|bxIHU zS)_wIlZnQNQmui z!yBr5L$n))H(d9IYG({@P2C%=?VU)kWuD`_{>RVEe2!K+lCGM01?TQMwiF5@N_(dc zm1MlKb15B*m*I5miaOMU@%2)3`h)Rk$&tbp-df)KgPN)EcCyr6y=&o}Yx zFn2z=bP_q3^4lcZaLEM)%BoeDNb%q`+!TQa`{DRuAsl$M$nnpG)Xak)u6B7&No<~Z zF}4?49rQ(_%{E8WCCmNb6s(EXj5+#%O|pYRUwb@(B0bUJB{OM*C%*(y;#e>4Co%fY zi$9Rc(r9nKSemAK`0zl<%VWB}F$N&1G2iO?R?$EYexT;QyuauCY5LY8Y=wLUBOWc7 z!NW5s$Cq!AkDXS>`tjS6-_##OiD1m1kS2~52wcgKy=fu-^i>(Y5#P-U2;eHr?{5U~ z-jeHKESh4>iZi-y__#TXQiC}8zg}$&cN|RLiV^Q=q$7@s-+B`Z=1CD-W{S+(_lG;OJYfn-?t`)XN+zk}f)Dwu>|)IW`u26JB+)$I-D!BP<24d#{Q*EX^*%P07p zn1G5-37LpS6}xL+j1;3}mDN>c5lfz6RS$>oi;}$cAk8Yz^W>8U)Nd;AHc|a$wHPq@j&-TJ)pDnHN()hOv!+3eAyjmfQ z$4f9o8x$@kdMZ5#=RWe~RQeFkfAZk11Q(LxW22c!b!)VPf|a0i_WVJ$8d7mGTaYS2)dPR)5yObkCnz!_j3ZxS#LiCJ3#Y0$z+U z&kqqc$hH?)OWJ_(kfOM&yl1NF5yf%Ic>PRjQlHloV$k}$xipS0)#qOFntt?qeI6lA zpfU}(SMzqr+(~_bVWIOk{$fC5#083`?bIJxT`D5U`dB}2tz&J^wEJIvW`6QS5x~Zt z*OJsJ4KOmL@oKk5++LEeu2%a;^Dx|--a(6Fc!2EHLOl?}$I4|^Cv(#Vzz)E@LbveS zr*M;J3bl*lN6@~W@qCFK_+4kCFSZ~baltDM_Ze1T#E4e9qW$v?T}j}v@~P3}mB{~a zEmsePZqCecQFc~tYZJvZSMo{XW5G^P5{K<|L-j@yUnR@OiN+-JmvUft8l1xYAx@o{ z!tvPL^%}VEz*Cw(i9kXvSd8r&yuK8@X~8SV!}2L0l?SvK-}+<0z5oP(b|2CP zbYrMCdKeOWA*RDNw0IIY)3~f?u~1kCVxho$G#$_m+Q59XDdrFYVB#Qhj8ps@SO-CX z98|It618czf-f8++UvlJN0kL>jZ3QSyZ%EC__rtE>Snz6=Wr@oj0H(E&1fIRsH{+ z%lte&mti88bbqnj>Exmu((`CoD_*PQG=9j^AVU@s)}Cfg-#2i(1_P5Ms4bvVg1qBVBhK&U5| z0IhGnH}uUn%kYNUgf~PRZ+OFXZ>ToJ@YdA5;n>zw+Vb5{N3wSOg>2WE-n8R2oS%Lv zDqFO@ZvKrT+w%c($4=_n_S{o~hVWnqzCyk~gSvI(5%Rtyn%|L^#bu8@9eIj;qc2%H z@tW8v>URQm9Hn*Q<>ga}G`$lKlCShuH+15Tl2|%B8%t+r9vb)-%Sxhk%O!MxI9`V5 zn^SC$3*|l+wA-yHqzf-6$KR)BU3iFGRiH=m27C&F`~br=wUZrzJ!00IG-ok zLA>LV#-qG%CJO&_eRH%ex{0#s)TG++$E*sduVyvKR2MlcSd3>{=YwHYb z@sWJ9ek7j*EK(C#B)`Wa06`Z$`o1>t_SvPMLDSbg(dvJHp1S1dzQ(>UD2(DG9 zyFIwSmuq1P#l#09=Er8_(v!C=IV(~epU_rEBWO@h?qBu$_`=5f4hsdCh?@v4Sj=o~ zPa~sOvVjqY?(@(ht37!?c}*k*_u^UZ{*fZ;3;l*H%>N;rZ18ml^+YeeT(W%A7JJIo zvedsfUxb$x%ze=PC%aO`K0H|Nc$HH6@TT&~DEh7s_SI0@)d%gpkskKpWu&ZyeR)}@ ze)-Uk-NZ&0Q~8c|pcB>Tix9J^YhUaoSXuh=S5g*D?8mEwhIYPT@Tj) zWo*a@+ZEU~33=wH>NIg6uYj4eeju+Q|ALku$Xg`1cpzLeX1i`RYYN;2Io4R%O&_<* zEST`KEyY=wC_EF{r}!ZZGI#(_GM?fYWsUa}3v`-Dyfb|@2;45x9>hcGMX)8DE)C+X zt9C=jMID29G0S~cp*srhbKyA9GzdlCK~ed!1Ulr5b}y7t2lH*g%|&0o*O)J;V8|kb zWlj|wQS1=*Nf_dFqOwCU58s?uM-SmcWO=m<Q)A1GK{oH4X~9=$hNg7zE1m|cl`_M@TP9J#aNf=?33+EJF-i2r2<`>s*CTjE z`B^DiIRc#fwNkWq1YZL+d)IWnJbFtBQT!Hm*4R{S9@-6QFELP1ezwuT>k5?BKzUhX zJ7|Lp)Ym{+W4lnPkvv%K_BDsleH=|0$zNiB{dyGGp-eh3inne!=3PPFLG*YW*oV|O zYXFRUZwuUyMY!Gu@}xk{FG9vm7Xi18p_FfUe_xRDA)CuCXy+VfJAySj6-^q109D4& zq*?Pz6JT(T3 zoz{ZNjKNI#sS?GF;q~NC6=>oZUOTLOU!B2;MvmV3VVYW@*jpk$5KkIJ+o8;mG6rJJ z(B9#Nw=ukBsoL>qRp10K|9uUL8;b_7NqJ+rpI3$QdIG3{Qzpy}Ooo7WZXEfK8;k)68JfZTr6LrMh%)8u#)4%}->U0yD|uvT;QsuH>im zN22aO)+6`nyrI`waEyu8c)Pf|&@(z^9uQrH=QX2gz;qt&HtF9~ak0jILPOdzomUNx z{tu-ND1+-4%G}SSn2%_qw$rESyh`cqP{FD%UBDo^Otic=m=*befWYVN{%a6m7ThijoW6wIS|sdT-->Dm4_$i6P24 zukkHr{gK|T4ye~Q)ax@Te>2%;Vr-S#toF#_iX>Y$QNLNdtLK+ug}y23G97JbYd-=! zw|1!p-J8YnHbTV0*YD zlIQUH@?WLZ8FP3gVPCpyE^mcacJ5bXoq@oBo;4TgA>sdy2;izy=~? zh+0y?ylUSV*!9I&LDza3SRrgM!V0>ULUR^yVVb{g0Vahj-CMx@3{uTc*z z~Jc-uD;n{Ep9e>Gk9Twwyrh zOW0gcr#95_d;SxyhO)(cu8Zg6|57cqZZRK2x!rg$MJ(aIB^EjqZvO7nVF@PQvC=ei z3E$mzyHpZ37I|1rPT?#s;a_!=w&0z3>*R&5x5hVGQL(H-`9o9*>?P|2Im^9I$&xx# z0vSXvV038}KEqwh}2(?QOg@+#Wh&pN&P}U5A z!YPWLEa$^3w?d97Sp!4j60_!s{4k5-aFnn;LVEK=$qYUNC@;!f!TZZuztGDSykfH+ zzkC1>(%jB=13RSF#_%!WYhtIx8(s(9%e30?>P{GorkJz}IyFTP9FKPz)Gt?ZSIKY6 zedwBOu=|Yn(i?o5Sf%GdziraIY5pn<__y~755Gjo^WM>)t9a9(AtDBjP?f-j#l91a zz<)TiCEnC^H4mv!0;HHdkn$tzMfzz7S2R-s(Q{qA#VkY)Ce3jX{kWPBgS6Xs4L>I5 zgwp*rm|XqIyq0ft*i@lNroAJU_OIprD^++dN;~feQ~+YPS!9QqaymnJ#h>_YNw}`@ z{_{9>TgSV~TOQKkb$GaT=zJxW0)ODW{TIzMo3Iw)Je_Piuj>_s(N^4aaT4fHtABu) zu)CVPo_k1g)8DDrk9@pbuRi_uBVSIj8@R9BJcrUY@NcEx>CX+wpyYLGy^-I?1-yt& z{41CPuiM0H%JR4IbaxByAxGy@^j1DgK9H+k+6q>(M6b&nojY@4o6B@zJ6~9`MB{hH zvs_~@tAlp%P|1Ay;U`+OlLwhs!*O6I_cKp{;|?&ePX4$PJWhM^*u|U4o&TbqyLhx) zU6^Exwdyx#G3dmitKK7Z7jGcj{Y7tf@l>CMu+SDEVnhhRSbkUeSngXK7#%5XH;<|0 z3-fGqH#?Xu;dvu*u+7%&bdD>}a$?AlTCQ^7gQT#pZHcF<;R%AV1OlFZ)X-MeMxrvc%`N@@LAP@Y#|fLd^6#p zIlw%GA;02A7y$DBv}y+(^}ns!_zxPpk2iJqD9q_7-fPNg^R+Cp!tJ1ayf(Gm2P@Eq z`?+sePt1U1+nSI)81H%6SRIS=>xaZeLES|3R4!sazDd*f^B^x*M2a!vk)Rk{g81CY zAL!_Q?w0Tb>SjT8GfIz$X!FYg2|mbAP`u)@;$Wqtj|}l08i5Pc8%vBP+ZEd%+Nx*d zcYu4jtw&a(6s--zK2eHtlz4#q4`^Q)k%>Zl9xKs>=>PP1nO zdHt(2+B3RzfP1_B37RO%GHjoP4KkEI9)KV&_9=}y$g9ZiPwB^lJlM^pFysNWXJN=$ zbpIf)C9lsXk3*2NT4}@~-dH+?Z_$AHUrBcl;q)TYKjPH=Z`DFBgad;E3>3;?79 zCIAH9FLwgo*@0&s;CsMIzk|gtg{=h7XzaYFy+Y1m6$N+dAF<={h zJ00VuddE??lic*>3Bx_{C^xk_!%h27anpO?hfX-nO@l9S6T>^T|AwCM3pkU_O@|QS z8sG`w9l-r8H&q052aE%hLQO=tT)3YB%AMn;9Kb_B$@2zXgz0dBn`Qun`v87#1IoX} zzrz<%dL+;ofolPRfNKG$ih_L)|3ByH@)?M|e^H~(@|6-S^nO0ahf5cz<$0|9JE;G8 z9Iif*(*@pM?tPc~Uf@g2({C53mW%wgkja0{#y)`?<2l?%I!^U+u$eBWt~orVN$w7? z1I-}Vy$Y$p33&c1HE8Y(iS8y5rn#R8)5KX@4xhCN1O~=s4zRvqW(LL}w1U?IB(RJP$_kNyU z=V8&4E_}ekk={T*)M^U;9% zgWc{l^ac-=H%j#V4c^mSM{-zr6KlnI3b+ZqOMU8o6K9?TT6YsN&M9qXDS6o$(N!&F#C&ZNB>e8OeBc`9stL*TWwE0{(Q^E=u{8 ze2ybZ+Ra+Zx^?y>%1ATco$HV|a`7)}eImPpGZE@X?JT z8`K<@KL0>3 z8TX<;Uqcl)9A8i49c6D-O@G6;%Z@1zM52Nj*5p{K`Hr`De00AUwX88MddHK+m6LZ6 z{oIM6lJ6mo|7$08de7@S-n&;Ea$XFre$RW#k9(?i|L_lZM0P9jk5E5erp_OsSsBof z#(YHYPNmZyv707sQR6@H?Fw;kL4+;Rq<5>U-jFR7B>U`hI5=kcpFT$xW~nKkjid(5(opWV zn#M6prhK=y%J6!fEWf;~F11)XU`t*@f7@ARy4tTP`5&$KyVWI$d+_RRCs%_Y)ZPb# zL#VxXtfo8mmbpG}mx;qnkvQL^pD`f7?l>@xxeWrF@aETKH%ob_aDH^Nd{MLaU{N9L zJU6iObcCniVv)T1*@U~c=Fvi49U}rYhcfYowMjHC-q&-t_)0%eJ9kShNb6?0Tb6m2 z{!T0mt#u{0xbzin9UiHDTtqP*mH_E4b@#A*Cs!&*A3Q8I>A^Ckf?CJZ0&P?&YT;$+ z0vXXpFH4!y@>r2bc8nEI1@CSxX|Kl6T`x;CR#ty+i%-xs$a{_1s`V{vHepZdi=(bT zq?53P%+^jVpbp-a;V^T%;BE1iEcDphGG5mHQG5GX0ww8dn&xW>l^Up9eJv0Xd(kyN z%aAHJ=ORn%j<;CQtUF%l%i4L(^&Iv!*hA^wV!NqLG}PbX-kC%U+dK_zsqcM;+0-Nh z`=S^t=-L1SD>O4kSV7m?8rW1ld0}{^Yi=6N{XlcyE3VZl8sz9=vTiu#YG7f6Uzn7j zYai!OP#KHcgeO?uP$*&FZDbTKsJRB#xfm2m!T7g{il#jo z`R@R^R?J*$#v;9F!iMF6c1jNb8Ayhh^cenA11tmOU&hj30hYb)VPpS~jAQx|Iu>Zz z?rev1gH6L4T^gIjD7@D_CCDX>AMn@Jf7FP65>n*VY z?G{q8_gY*Z6cDM@7kZOgg?f_;$X5GaZC%y^W#lxP8e-`v4N@P3Sf)$T2EK?_FDX8uZ{aK5j;mmUI($ZTBF;$9JjBT8sEf*5H6Q9HEEez8V zVQkm&egF(a)(Y|!<2|JBgj*9=28OfgJ9qL>B{P*-ldt_%kw-XZdm@B`=nE%N*UXcD^s1kyuSaF7vehrgCl^l zf}*0JqM(8}Kv9E&yY7Llt94W>)Ga7jjS)v3*In(`R$E84RpY1%qJZLFb&p!xmtx(b ztt0=>dEbP9zxMg(c~0It&t2!PbI&~&Ptq;?O6See+wd)+i|9}r{yXr+N4DjE!A5o4xFeuCs@Y=z{rbp>;tQekUi@ z|KBT+$kOxy16e|MJ|nj8KN^Bq8Qm=gwC|Lo3pajAMQ^bJlra`!8F zfcB1d8u=_s>c!WrytSMUSk$YnvwHEXpitsB7SM+`bGtLG-}T|23WmEuP#fJn&f@++ z*tfyt&dI7T`30_N3-NgMzrmkyCup)%g-Q7C z1^fx%mhqbEfaZWcfDwSt0kZ+i0N((11C9ZH1-t^dE$1~pfTn;RfMmd!<$RiEIt-@u zyk-u*ivV8%HUZ889s=AMuc--$0CWRDghc}ll$zys*o7~_c{@DDm!RSb6~gfC2pDOH zFYw(6*slQIU%moE383mqWCSo3U1!xEu2ABs}3D^kO3OMi{+=IO=yn(&r zS`|j(>wqs{-U+w`(5>S&VSqM(zJSjGl&LoKw*;2|0e%AH+Tj|$f7(I#3Z(%w1+)kB z0ek|O0+{y|8@>{xjE(L}473ofUy07Wp8d6wZ&`(N!#J_$O6K*+Juqfw+)I<8@pl#c zvBO@4mE(GrwF-lD3fs4e&&2JTR;&3I(Bm_8HQyTN5(ide`s~b5R|(o+R(B2GPrH(3 zuHlVtAtDX0r_e6~*bi$k-h2(!eHgcK)nF}O3o}yeTE4p1Q*ALQKS%@H!9%p$oJU#~Zj3xvnSZ=^qKF8jC!~5f~v--DuA{ezJzU4!>50y;mXJVOf#$PTV973ajIk9%T)GESRC!P%s_>l4s9jxVE&u=X2|0QoB3$& zT?|`*lLZ%?y@@z9-r*dP}1^IjxZ-!=8If#XQhwZ>Cw(UDec8~s! z_kk8a#k}S_jEd{Yd=E>s#ouFMTEXsr&o`?W?n+bzEd)@2Cf8*3w(uRnHA&sVx2y4) z_Zz51yGTd=b6hAC`0=OYX)q?JLJ;HGjV=5S5M7(Um2V6EY-hKEy299#ttiA$R(BgR z5AEaI_@>;mrfl^#zM991msAM4KlBRsOmnvJ6AV61r+B=vO{4;e%7pEx+uzyi?Ytk$ z*v^M?O|#gJ?Vu89#n}#O?{0-xkXE03f!gM>)`zJRrCkISL;kK3=A%qS_dIrOUP@)1mVaWacJh;}Mk|qf;7EbiPPnHlkVcaqv0!<` z2K~s_j4D*xF9las%^!teHAvk;-lI77FsV_ZJ zf8rNHw^GMl{4R7I+b-+4Ft;DV)O{+0XB- zUPFFO7q%2xo5r+lf(%AiDgwkW5Af@>tE>?}^I#H3TI(Ld2&dg-9e$XP(hk~=mw`$; zV5Lpf9A@d#M?QH3i74h|bB8|iLDd>!S?C9}kh_<+l)40y%N%l-m&4IKhaB|#M;P%8 z#;FO_LHpbC&))qPZmt4XOJRoFG3o>*_3ry!#hml&BWXmN=D~l|ngY9XNTe3Wv z+!hjI*wwU#Gw-APu$r%~i6lNi7ZvWGCu+EZZInKE{Bb@K`tz^SCyiA+frTSh?c3D~1lYS2;tJ5}^Vk(? z6RqPf@-bY+#=|(x{*OK$n@VFxF57>Z5AY2Wu_MVWK;D(7oghwE9WJIUk18U2b{X^P z9p?WFK9^aCU-$+An+~Eq!1A%2oqas@oMi@NlJX#Wm^v3RCJ1cFFJRoYVF!NUKhmBC zyPNOBW$|qC6--;0kgi~zJ(Hch!cXT8RA8O1V#551O}Wa)L4C>3SNRLvTahik#$VSO ztz)k9)9`x5AXa>XAIiNw$GY9*4Zgplr09BhWg$1jl<}7~6?1EE8n8)W{7o=?cCnQ= z`McQ7PQArN*b#^oQdg z?zQxMSP*&zRhMJ^`8U2$i^GArzw?8&O|0_od_i zaW&@lp@l4IEUzxY>JY7{=iT;7cR z{t&hB0SkGAQ9F_)JmOm!UM!*E^kSPV_i%HkSLRM{EN)O(xaJXG-7gPb8QFNcCV66# zB{X!@bIYm8+{>#7EpM@&e*}`^9(A-ndCXVlxVt8+?inB85`H!7H8v@7F&~e2t=d^+ z%lsG`K1qpHD|qem1P#CvlcVpF1M>Tx^(f&VYoo34FZr&VR%Xlo<~wQEu)BZr;n1*E z`5)?9E3La;V+YR0z2(2rdNZ$g;E(-}&3lJ|6;sMPJ`FQmoQ?0QJ;1)S@!x8z?v566 zv@SSKx4zX1L0YJ(4RjIwaQM=~MF_0C7~%|c5g>KAq8;N5w3v=@5gLbOL9vU4Hq3Gc z1W;7duSz1M5koJuARz(4Nn}=Gz^Asj%x$rkEpt6wRvjtE77Mn~l zmp`inMWdJtl#}pfui3uJLKuWTey=Qy(FWDU3y|s+hMB0wk~y^9=2ELDj|EZQM3z!j z$g1Rqb9!R?+J8k`SY?CIj9XTlbutJ>?#WIz#vs(i{cdIuKEZ;I^AgewZewZSva3kQ zT5toXSTmyig}llQ!YJ~)$Z;Vr~8857LWi;2q8&SY7(0|9YXIo>W$3p9TsI zxHv!SSAl}aaib5j?}I>nnQI?%1^>c_?WiF{ zaDNZ8-mf8?)^g($*zRCqy7Z$Lr?C~zzMl4*`e1qgT7nxl$%~DwB^;{K{>)2TN6XKT zJfBw96zd^O)#Qvdy0*}&0+gdq3KKH4JFRcRgx5OP``8h%*Nufl*JWht6e0BVYY7u* z%9P&$!wEGpy(5uv)Ht~4!X|bgLI~ihTw&KEgh1}gP3%pC5XMdWiPeh~Hr4741}$dE z6cdd{(8{6ScHaFXF*yrJ3U89!K(LlX3iB&)pVYKw#t73nF7%ZZukBW=82@;WMw5Pk zPUJMCa=%dSvYt{elo|FCH0Kt|0~e?+x;Ydyh=Rg7g_kp@&~lH2juM4Hx3zJO2ou=6 zM4^q>*T*?z*{QC=#{t8;D~&(9uEPGc5FH~u zyf=&$rrg)svzzdm(UD}Pqm>5lmSpKJu4PjO3VVcU;4x!L(6U8?gsR*fGwVD^=v8s$3a4i=B;p!R2%~&^zx(5lWZXwuiijIE2fHR+?Ben!HW^7%}Rm?J2SkC2MXEl?Bq1?dhR&%nzYkh7kc}WU+hL`FRrt{E@ zSL3XkhX{Cp^W-A-^-y6u=eLM;A12K7Tf7`4$mi*lF2UU17zd387y=g~g~7|&qhZ42 z+O0uzC@R`gMP7$U0Tv0%&+x$Lo7XRtng83GlhC!wV(>xAy-dk3JtNv4Vs0q`)wHOHcRN?Hx6%@Ic8UrMVlWR5}_1E zYqA-wcV-D*E;zY_xqoH->uF{CHwk#0aH+Lq zlW>{i(k<-t_rf>e8l`Lz67ZDMp)JC1T5iAswsD(a=FVkV8*UdaxN=iESzUh;TwS@6 zOsixSX6d=lQmqT}gvA_})WjNe9OGS!OI@+Ks+$sQe5&_s;u%5YH!cLV^L7oQ;wCn(DBT6`d67Mpkd`aF18rCx7E`z{6#fgxtd6P(yXdXYEf3{m^V1 zP6@5ih<8s3RhzM08V#w@!5+k=Xb=oEnl*LAOi~@5E^;`uP#x~Fu+zxIh+YnNt?FI@ zFK(*kq!kEIEweZrZmSL#nfbI3)%f*vhx;&T1fO? zJKo`19jKst>{}SLa1vnJO z#vuTAGmM$f2}6SqhobCRy<8JAvIW!2TcFV&;F6eCwLxOmfCji)Q!5Z!?9L1CLj4nz zA+Q%(0ipCiD3rWHar9rjjT)lK{w4IOzr@=7g5b$PPO8%-!3K4^oh}RGNe}43UxZWI zSysyxEMmDUL#z$13A42P5sfk!uua#6e%xP!tu8l&`<%9_wdj`6xB@q`#Oi-vSi^Jo z9$F7P5bkn5;Z3lL?-aQoq>6U|yXt?ioCHZh7=G6yA>2ofRDHofDC-O6<0Byw%acZr z1ut9%Gd)Jwp7yXbJD0)Kk}Y~HH1?6~zL0n<>-&sdBj4-@H62ntS|;vyEcl5K>62pj zrFo-_??5*0i4acx>Irgz>$XpT>DR_8CdlKK4O_^#r|?~2_l3-GS>Kr~@hNr$Ni6*- zFkve~VO{KDNl2$mst?#*^4-@+O^0Nf%J@Pm?HTG~yxo`H_bTJtk4<9lc{`UJ5~tf^CAPKAS z%>0;JbvK8zpjSdF*Qc#@#Vg^w3wJ)+I{J-pn!~X}j7_MnooMZ46aL}3b&=NYy!e3Q zb~LiaN@7JFw?53;RWH`#xs+PgXd2>WBw~(zy4ZWhROB^fGm`|fMUYIsd z#a6PDQ69S1`#6RbL`T8cGb{O~qii#A+j(*mKgim{<&xfY)%2_ z^Dw;Uds3-(pJ=s7BIR{xlFaNB9yLHqVEOb)Y9d4Lk3nl-Y#rWTg6*@RD>kyQ;&Edm zJIqACw8>$x|NVI|)Po!4=U|jXoQKY`z4X4?%ZXuep}DiOXYhz0tt_g#80E7F0~Ur6 zisj|s$ZP>C1Vj=4qgHlR@{rn4j!_doI#NwMOilb?ppv+=g-kY=S~~;Trz^xDHa6d- zB3rXU^lY*yj7kD5`PgBj2wm-1_U==Pknn%8)M^>X?ye9`+E`X^rRZPpMW}+Iwj8En z*gZnchrfzpdw{(Xwgs^9D@7ytThswlDbtotKKX4!Fe-y(a6F|U3bjB*7AzlQN_INi zk?q;5WT%4zS^EHXYo+M3e3jTQ?L#fy&0`U;$gx;Q0Ja8FN=E-d-VfMn5d7o@{Q$6q-Dd^(wwp?85rb9sxC#+TUK?A z7%K_h>Ug(#C>yj!^l~pi{^QNVLI7dx+cjb%T!X)|Mhsc9%33cL!yCHw6VRa`Cwi$7 zAAE$8nkzsTk$Efz%CQ(IJL3TmpfQgPF^>&X?l_auLb={MHg7Gu^NzJ*G}qss6|WVW z=v%z9*-CP?DM~g!TFDx&6Z><&Hnq-QCwAASJybaU{#JY@^S^D z95j{AWcDdWpQJ%|KE*J%T&sT8sh_XtljX5PLgjZrt1iMz0vY5M>XCv^!p~d2SAO*p zEJsZ*i%jQG$|I&6nGIYodZrC-qQn4qyim@?QUS5SGgk&#=u$%#aI6|jefT zLsUSb#lH%nx8O{zrIt)FuRpJ9Gkj59OMWi}YRHzd^3fevK94Dght2R2f?!nK1;>ge zylh$5E!iN}<}B6Nfem6a zu6s51e1lj&ZRP`16;v%lWETS+*qesQqtR@jmk^ubmY0^MJe-}_43&Y9roUA~RI+cF-Q5>bP*&!<-I1g*R*{A*Fi4P3^W zeJ$1tT;hY`XZgSJMG{$tR67D=BJM93<$f!z>0gVGI$QjW*x2oFu(&bhUCP8!#fDwQr98yrs&1K;}Qt&8~WxNry znJId_4^{F^H>z~32x6uxl|G*A(NldUR&clsRzifDq9-Vh6O>>b$r0kpXv$D(%I0K` zc}IFjdl;2FpLE$E?FaEF^km2H5XZQ>;m~2pz8ZnPQO7Wfm^&a7`9;;yeo5e1Lubng z+2srNXopCQkV-p6Z#qujDK5bXdvK?CRr@VtKZ-rQy5XK>{JfsQBk?-U5&P-IsehRE zCowqMyF_ihSb6#fAZ&~7-3y7N``zS&m2n`XdjzWuYmGnfrB;rWXCs_!tilHUB-UvA zv)$Pw*P!Sby00mGY6bZx59%g}V3MQYgX)Ybx2mwyNzsAIEcYj|JNJht^WG)4_v})I zx>GxW6kr#~i#^$xU1F@~VK;JZYj=(FgyuS_3hQbWYx3(c(8-_7VpFVQWA1Saw%sZ= z@lzcCnMsjIyEI0Kib}Z)%NT5vyJy zh1cm$;x;D+3%%od#(jWi-@~1K3gp{|6tXANaplNF3vCBR5=yf+!e*Wrczbx8>-JYY@qXvWz zdMQ;C*DJ0!_7vHOudll+cn7|TmLmCMdy+v&BPnZG*8>K4JOkUPYbTtU(_(u~u%Ja) z^F~FR8u5mm%wf<|GNdQ$*-A4YU$PG{;%t!0krYcAKdE{n`||S)1bEq|G=Mt-KvQ}o zj)tIf#3Gm_i^&x;q`9N3xs9OT1C{x)jq~)GOOdHq{hmCMm+4soH9YN1zQ;|r?2MdB zX#1`S(e0upR!nfqO7c`r(d1e>Hu->9hpU{%viFO=*z_MdAXZN!elHa!HnT*ZxgCax zzamQT-h2AA$atJ=gR=y3bB%Zwr}s>ptLikljV7GLzxI9rcC#dT1j z)LZ+MbKXaM1)HJMYs$n_lP2Yc`ss&7q^Gb9X;8mRjHxwNQ5>0J8ojeX$5Tv`JP&uA|Fp2I-@ z{#<%c4XFFZ>1i;V9CPV~wDP@*h7`}<7;lX1hl64d!}cjC7=#<{Bf~~@C9--7^FAcT za($<;zK6v6mEIzR#TTjp3KaL#ddi8?#yAau{Sb< zby{NRv6PAlId@zl&XXuppXtme8+)Ya>8x3{SU-RQW%t`&8FWds1SG`t53i7l zfV*F@ow=gF2mI2f25C|Ro5AvmUC$Li;wt`umn}r^?#F(|rHXLuAkbj6T2DwJ<7*{2 zqzHAF;BPWxC7-W54Wp8Gi|(-Eih#P^s=udNl9%l?nk7NKy;=5AF|b_|_{qXJ$|Iyg zWVP7iC_>i!;B;8!Q3ww*^>Cw*w?3t$Ujb<(tR%W*G5m9%1s@aR^(Ew`yLF!`$gt@? zn|Mq#RfA(<^w8k0`ek@q!H)5GyhbyRg>MjzOIG|{kyXeO{i}_`SH^NhZ zT~>=c(Puz5ta8R!1j;hFQW9vDJ~9VPl(($koScmV`Fx z$$lsl{X8lu_1#+8mX2Xp3dLCizHUpSxGCFa2zjVb9mHL2h5?Tiv+lQNYA&N_?J$X` z6C?b~zf{kcPESMsXlg>ll|9h(ixSY@a_jUxZ%FnEz+K%}4k_kkt0JcvP3M%R6;Su!VbGP`v~Y?F4hHJHv>ofg>) zAO302ZL-a<{DGRG0OXqLG?{XXEaM)S&Co~WG&sTc2GJ$7s2pf3OcPiE;jw{y^)b!4tf{!5IDr1V<^u-FTa!b@ZfDoY%*N1+_? zAs+4)BN{YElJtz$TofxF#ao20WohtyDkT;WTMB4A$fe~6T>3BB@xmK|g;|pBQGDkXe3N2tm}nVcOpG3(1X&8FL`ySM%&n9F zuWR81b5yx$YocnD06)|E- z_UExn?o1uWc3ctH>*pWG201aywK-P)`V48w-8XgkJh)-xUZQ_%WZSNalFRP3B}-bo zZQxQBPbn8)6~no1YnlHwu^uN5VhPv4m0z}oUA-o@=Wf1Pa`2rui@GjO^7?r-?K#^U zlfV)o$+FIZJQ;F6dDq3mUTL?f%t`3xU^JUz+-O1^b(^ieA%5Ue^|of&eJv!$ZZX46 zu`ZW)i^bj)3tgW4ZDSR0VMTiRCJVnMwhf+y1+HTcrfP>zHf8KfhbwSjO&wvfES|(R z+!B34U)-XL0V!?E?F7PYhD&fK+J^B687)iH2o--+BBbVF0!Z$kyCgff8mo3&^k}+3 z2?Z_P8FP`0va>VUYK4IFOG7 z#|L?+d5f*SE&4(DeD7^Bkb7~HUA-;Vg4K3gtd@54CQu`@v5+ydoV6LY!cJ=K6CvAR ziVqzS93M(68jFSM1q*#z4}cRlAUFitW)LUhJat8zVKm{%ING(pz3xmIQ;eRURW@0= zgN0_M$SBfa3S_rs;E>l=>yson**9wCKlX4X*L=@s{HjCH(DEVYE?xnor7h)Dc1FYWbwgh7_xG_>fB zAD8HOBM2P8TZ9dw(q{^l@{!Dj&>TGJB^t99Z9ut8e2Mzt(?ZzPGhXo80R#$aT>Ai z0p2t^l~DHW_Tpf5=SZ%-(>T;=1b@a6pqJCw+iC3MH1>5G`#FvMoyGxaPV+#gagftE z*lA358izQIA3BX6IgK5hMw8QslXyqoJF3PsDt;%YbE4Cjq`X{_ipDqDSQK2ai1rz;q9jwD>1 zM$8wAYZ?O6$YIX}?=*@|BW6%X05_-6-D&i48oixH3+X8dRA)YZLz2k9*CN!`0oBw)YQb+6)+QS zH}L%fPzB}yKwUs2pwVBVrURe_pgW*7+&Tho;XJ+w@El+RNEoaP03#q2&=e2{NPHxw zX$lbFM?gH_GLUq^w;x~_zymN2Fct6xU@_nVzz0wh&;W23aiZ~kfG>ydLBJZoCcsO$ z6$08I^GSd{fPt`&1WW+T_$y7+m|<87_zLhnU^gHeFbXC40FVs$955fi0AB;P0rmoN z0jB|10lxtr0saB#5Z@Ev3#bkF2nkOHd;`b?>;Q}foHO8WAs`R13UC0B_=wH=L;RJE zlSPAJB{~RAcch=!xD?H2Gq|2%t7NfFo2bCjWxU0#$Z=sAffYp5C0ZtB&=pfd%4VZ*?rONVDfV!g?}b~6aQm^VvDpkmhQH@G8GfZRE3If%h7E04 zXpI6cmd)^i5=WWhX{m=rLkwK70*F*z+oe<2C_HQcb?3KAT>F)h~+=t|yNHx_vZ?V~G)LGt4;8(u;8_Is81E`arC% zw=YVIPNQYg_pM+##W;;z!G15s67s=0HI;MclvMopoI@(kBowSlA~wV7b1K@5bA;CD z6NiHd$AXs5-HJmC3h-h&mM?Tl^Ti4;({CZ zN?BaQzhdapHM!Ymtwa72y|g|QOIb@PLmLFssm|pejj6IkjsmU% z?v;p|hxobys{zpH6+8V<{H;M{5XXKfX2^ zK{~thNc8Cuj8Mf%8LvH4UGYL`Jl^NtudI5!l!MIku*h1RfX>zB!dT4f_vrS+;KX+Z z6bz2hrBgtIE^-WCHbaJLf)5{yfoZGrK(^Un$~E^!moguq)nA^XL`0it_Qf(+=}Y$2 zuBv`yZU$8fc!wzi9JLD~1X?1%5Kv+mtwoJkiw4^}A+~->spHN41#??>o8i<+A|wzo z<}!$RPQ;0#y-(~SAEe5Bo`?+%b1)4P>5oIZja!PAuo<2nV*{Ru5mj~{Q@xC|zl;J` zY2#@2_6c~6sV7;^6R~cUe(wi}vj?brl0mepf4!E4N>6Vh-)K#!3~LQEs1(SjlGOwE zJh+k!#lSqa;i>2qNma8S`$FZOu;vS!Aq5CbmW7J@1G~E`vN!vOS(cVh%KeN+(f*KqUJ z#Bg*tN~_ip7W6`F<#~Ukq}cBlD7l`*K7Aop=MLmB%L_3k`g6PQ=XPJ@A4eN0ZnzUn zTh?B8EcG;Bof41w*WW*VOIQ7teMsTbdq4kW*(WLuGl=$ zQm{WAnB%kB%uKM%SGH|7gC4<>V54BzODQ3ozE6&#ch!myTEv)=+Vn@Pv)R2YDMC6{^of~y0xsuiVhU!JW`X}pwSU@_TNfSHIy%5rEYMi~<<_b^=trMT2edvaJ= zcxSDoqbBsVvWJ*GP(`EO5UVNX8V+wEYe0v$M^azlP&d{DA*Y0xf)pt+G$-P`9E%*l zIT6nB=25X_d}_nTq&9QLBkknPDqUGnb0*w0%vsC%Lb#zqnnf3XNSSa*iV!O6O19I= zrqHab4`(@qCbKM$Av@3$W$a5SQ&@EL2P3AkQj9%9APYjrFr5(kdXD02q;BM%J~c`?Px)2}SE!^| zq{UK-4JLubJ#R$=J>Pfgt=K~7u@4a;IL8*Z()zf?^yk3^xMnkaf0#wS6Tc9??!%*- z`W?0&c_+@$a*@_$ZKPJ(HOpp7O@h8{OleZzz9FG+;|8g{Z`T4&o1xCWWxq)N+_e_V zN~CUKwf0~Nkio)kBul07?udx@y1OHuc`wDY>}3eb8IO|w#JU3pp~ zM|vE^8&ewZwUy$%wK6R<`UvlOP?k3zU`=r~BkiC4h=kXBiF;mG&J1^;IL`w`YBxvH zE(!`A{)@6S2s7KJO08LRjrJ;ST|-%11jB;HHQ*x)lpVZ{`8^uCpozjGHoU= zcCk62*ESg4=(TVxZazj%kcnEdrZf|^DHBh+Ix>-lI)W$+{xRj*kxby3#YIY#42RW; z@Gl*^>mvDbrd{lvi`1-M%@I6OG%N)snsqb>l;RqdLlK*yFO^;)5Zit>*i~xCja|(a zxk{f(e;riu9dl)(P72{d_p=C{G+k<8cdzQo_Uj}+ZtRaxv?@ilG!0YI*{4&}p(ZBj z8GAZ2&~gxnG};Wost0H@I|UNjiBOKQb0tfvASH7jHD*6lki5Dk)97G~xK2yYNK`hK z^;jUU1PW|TmeL+H*~y4|5P}gqtD9@w-lgdFBt?R0dsvyUA-Qb#GSQgkJkCwbY6Gc| zDOhe?!%=8HrYGVAzak-ye9G?`c}!CfWBXXMOU5gR5#_rW5hAaxPMgPT^?TY64c5+W zTfx$P=sB58JWM$gKmfx=4K4~^ZYL3#GZBE#Ur zS#ZS`Rq1gU*3#OHr`qH}$+Xc6f}()JkOMBK^gV&-VbAn~R7ZWKB#ot4I1oh= z5_^0FmmNvke_{zQg9Xw8y`q4n#eZP=Pb86Lk+@rWB?3v;vPjaXT>rlUMU}+@5zqF0 zEWLU*V zkMIK+>FRYXZq7jidbhykZ$&TYcpt}ZkC1|vxb2bHu?kZEI#stT3p1Vj4h(46Pb6cf zFTl-aknoS`Tp7}!+>Mt4KX|weP8qLksSpA(m^GNi(Cu*rU-1J_(@NV)(Q$I~L#Q(F;f&g5*s_fs;H8?}pu$Wx!!k0`aFw}S_9@1ovJGjw0 z-cyQj;pT2&-&T>%arM`;Krg8pkF_pJ;A&l2Rmy~dTWI(8k^;H0>sYLp)CTI?GQ6Z< z(c^2N&6sKw*puo~6)DaX^W-yZV~aMhQ(nl?u?_4AeK%}i25*UJ1-8vw8miA-PpcmP zu#JeEW%z~}eI%1M%=)p9#Bor3GP*j-T9s|6F4f^4tYs&vO99-;wNz$*{%=CRc`d8x zEBRL(vXTl_sNVyQ&tEH9w68Q3iYRycN-^BgHSDRcG)Nn7?dB&{)^goevtj;NEmUF~ z{iUAV&#SEe_)8VERWA~XEL}@5p{S-H32WHNss>7Zp(T54pp?sHtY8sFsWbFz%`!^U zxzuG$8zeR7p184=LDFch_)E4WNDAfFEoE1NQ1=s-GM5_CdP=8;G`8xj#lV|UU^9ib z^+||1IuV)g!fMx)>S=?m-D;vnxcQ6OpTU^(K3r_AT1%>~<%Ta{;k6|b_huoRQX4Il zvzWc8EzQ#Uvq^QN+T7&@Y<(Rhv}J*{u#Oa{~&pf5njicUr);C zhGel1LZxQVeV7$04daf?XU{{WRnYgfFie`mt+Ozn`cee2YoRywC{!!_J?GV5xjvLOO44W;LN%Xu*50DQM+*L@3Rc~b0}T^uJobt zVZ;{-g0qu>;18sRB~`9+#jC*_t7o`$U7Hp?i}GM!XFK?XVB1xLyTf`CcI|uiqM2p= zGqBdsmCROZAV68#d)$G|tos%JHp4~)HtSBnTwKATJAyBkIJIb~>kgjdLimy@({S2; z68~_e>1E5W5r`Joxi-T@_*=3Siz7$K(1x-Zu=p*zqgu+l z|C3DQ7PNPa%7h|S@}_EaY*!q6m6j(m*{BGqdYTOg6*V&QJ&F(1K<2TMkeK@*UBNDn zGlyJMEJf7JCvCOdQ7&7pipsyI@?Tl`ud4ieDgQpoe|6>GPx%i}{`=V5Fzw_?=i12> zLFLP|RRPI@>Dd)In(TfU7lJhbt$&L6gt!Cu*B9toF4DYC%3e$`x zF|6J|bWf=gXQ&L7ir@->=sdnvLZ4Mb`_it^W4_{a$c`XZiCQp=t&5Zbd^anuy1ocP zJd9ZIpH!FD^VlzuSc`v~!GtE#xF%t!Nn0%{p5saPeKbGe>H(b4Ob|!18S=?&)=e@~ z{pvn8vu#bJ;b?0~6O*rBP?N$J#9JPjbzZYrNK?tbw{1GM$=Q!h`knr}(8W^k6<3Hm zh+q&wUk`i6D=tO9FA#Rw4dpA^052411H5d8LJ$@SssVN8as+`#y5jL;I$P6J@=HrW z08?~3O$wwXlMo@3?3B&^WPnOk8%86KR!W?ail0YaSd<`rU{8#BovKU3{floBEw2+T z_lg;$jBSP{D5TBct>DnTq5;6H`x_r~%U|#xAM;2*`w+*;Co-M|LEzL(1gNP7*osz> zH^4bxR~Ml;go=5Tiv4!JX^t)sE~e;~#yNE%x)=m>-f)l`D@al*C0ULtw~8?~V_*6O zYE)Mzoq0z|T|-iXF>c@rN3@|Z4Y`#fuABSFMc_+nGXBv*zsNrv9@Vtyps+bg8VLot zuc9#X{dtZ>Mq`-HsL6UqOGDCrn?VF~S^3Xa{(n^dH!AG2FGi}D7Cr;*la;9mCSg}a!{9-LN6mVXk6AZI z(eC?0j7xn20VA;gpdgkf~yFSX$n%LvoO1Y@htxlcQ7YswM=GNEu~;KxuxVTv{s#>$Y~oi zq{Xz7qB|C#u57jTEB_mn|K<3{vjmv=Kz&eblhHEcBnAUoepE@tK2xazn!rv{fwhQd|G4~UgA70 zJbALn_dWadVdeZ4YNjOzJKkEV#C<)C-DoWh^9n5=iYiCuhq2zVQh@s(LrZMfMbms1 z!iJpWt8&(%icc$6#^*hjbJ3QM%B5S>={$%m^pj5TQ^_2UM9$QHN3sylrsJ5Apn*O^;eX#rQ|G+W(PYFhcgsq%@g zKE>|A-NW}YYNs1 z*8Tf6yc&LG@}a~Vp~iFXP$nL=nE@~DP-6zX{Q18T7XHj2jo%{e?FUqN;$O?3Avjtm z+`*et(<^d=bD5-zrXDD7k9p7T_MZJZ?g*EOuM#E6DE0wwhaGA!Rp#F0u=DMuLEM9E z*0=+9Qth)@R2QkCbXds{-6dyteO#-!$Q=%_Uph!#L@&B`Ox>1!+F1$_P^qeIa0hJf z@(!}OCMlAOEntUCQna=udu0NnPtIpv2~tDXm!okU`s8!Tn zza+Hu>jNw!NgBvK*ss#hjeQFJh)wA_xI!Kvh!BbHV3VzsjGFCI$*96lWx~}Fd!fck zqt)T|>|raqNRge+qJL52Q+?!TP?OS6HiHInA;@wC79ya@WXI(o5=2xSMk)>namVh^ zdq4B;Dvhc-<(C&AEt2+5-a{utg>u0Tw!EvVl zo77F;udJj0eD)Gs|!q%*5TerYaC=mAdBDihn-LkbTZX)1vdF;KZa!#1@8l!<2V09(}#u=T(3ZP}`H0FRsPsLqsevHMmwx|dWh@Y^l+ zjFw5y-VG1Hi=}pvYBc!aKf}EKzFba=4#3Wab&!JMYX5hn{_jN!EpJzv+q#8~=q-J~ zjl*TF-qHxJ*>|i?AE~uV)4Ug~b(~a(E$Son;QF>@_xniUes$WG*!IbwNV&%iBEBoM zvBjdlKz_T7HR>yMaUZabihh>pvJso#S4!lFztF%Oc0+?(|;^@Z-`K~ihujo!`- z=tFMlLw=F}?pvD3_TKF5ASuc}(-8_Cj+*IWpVA)MgGyQm_+lPvj29mADcmRodTx*<{n z>}zLUF_aN@fIZ!-tlha^fb3jGPB=v83GwD3QnR$_&B>#a zl18k2I}x_>3m?KzGzX`rcH&X&6W_Csc+bvo&{;P8ocHV#9riS=BnxqSs~ly%XP^3> zz5jdmP$TOBAGR23T3UvIW90E^laDpSY>n?{$^y4a*_4kNMv;w6XmiC4XU< z-J2~mfr@W^BXvu!{IL|j>^(7Nw$XlOQF@Ui42Rz+17>*S;^tmVg2>q_b>mJVQPERe@E zWKV|S0K}7d43`>nry4k{1BYXt%xl8-4wn)dhInJt^*ciY+$;6?7^80c&P0j}iMZu! z7zSY`!j?}%0mcZaL&6KRJ9VFtkXeA(IW+Wy%iS>H+T+CS-K?xG&dL|hQ$YCERDB7H z(|6B#c4>qZ%3hCekMTEQGljtk!q5W=DCWG zKGf1_E$n52c>>I|*37Ws&G0_NueJohb@$c#Ic*Bq-qh! z1uBLRIvai7X-c(FzJ@tpskO46V@|WWqov-B5-(#lYB?>Na084Q1S4mm9HUsy$bpnk z+Dt>nm^#PcqM+l}ouj3RuH40AtloI3ddTKuFG}mfWD$$zmbcq``;nt;^mxe!TCiu2 z#{trMc5uAp4cn#hQu`|PD3OYa7H7OW1!1hmS6PG4aC)1G;8Su zsY~6#M@kzd(Uj3zlhSbCdaB|M}UX>kXko%Vl}?X?7=7@~(8_6y^1dd?lNZ6yiZGZK~A6dy?HbMRA4z zI{A&rW}{N2@SshKqq0D=C%BAU90`7Sk}XV;e8A3kQ#8R`CdE*xl8@J=lWJP$AW}p4 zj^m4`i+8Tn8Q8(8(1LQOj*A;KC5WNufmc%Lh^?e~r`CO`D%8RAC z#VuwU^~3^u-P&jNmGH!}AtF6Z(4_d7EP-^L-;;7+E2JD1%C8Smj?T!>*saf{9zm6q zM9UV?Mgbg&o;;xxkbN>yau5Ce%nKWIIn<46D-iCO(zQuT1@{>_TEUGq>mlogiBf{L z{*PHN@GPG~y;tNWe^CxlS7+t@3P~teTo=-APBtST%lXwMkTvyp^%DNxM|vpaN37>$ zsg}#L1;gqexI304Ms%H}_M!IpzFzwq<`!kwW}_LCsNK(*9JxTPU15hn`$gX{piYiBgxe z7W;#|kUOR3HnNYWN_D;Z*`ssz=nW9YPN-H8>Ua(>o;I8T34w>_7#Q9G+`DsZ+zhFy z)F4Vdti5)D?SQ*>EIWf>F0D#luqQL5Ah$oid0``|LV3&q=AS0ja@+54XnBAok;5SD zyp<3h2iSBt1pJP)7g62^(nJ(XdV0|R|1@PKMag4dQ1X7dDEUx*8@rn(`MWfD@q!Ei z930Ngko>isS?hF+Q733(bYLli#*!2wFL?ffZAh2mYJT#cfxs5d87Z#{voYOF9LT?W z#?GRAF0Cq*D56wMmoyBUVglLNs^~B|&sw&I%LTw0n^AuF zqrFMiTA6=_R9kY`$5`24v(RP>91bn*4uc#H9&q?tsw-VaCX`ma%GPHPWATgpc* zlM|1#irvOJVGAgl{5*Dpy@3bq8}Ei z#LD5T4AoOS?CHMU&ZbjeoB^K=7Rk5E`U}+jr%ThL0+vbBBOU%q^Y-@qm*&m#NGAW8 zIqRvsnL#$@Heagg@=#XB-~eq6rL*8OZoX6t8vmBhhrkr~9m~!{clmX*I;wM>RsR^a zyEGflELf6ak-i}R6I7ahxh%q8ZosqTEMTn2+t|(}l7A&^ZRPLFMqsuq)XSj?Ha32y z6sSl0|6kv+@TFOX>s*1wE|6-t4cg?GzP7S43#3|71Bb&+wq}7;JMjBD|3#@_MGXvL zIT#SNEtfCE3>E->&O)h1t0^iQM4bT3)U;Ym5ct)yILlUpNnUqf9i!HvT7k>spH5|} zL@6OvC3)5SzO2{3B_q~hO%_RYU2dVxau!K`ZIw!H{vXk@l87CE+^wu#ro_(N!C$`B zm}M_QBMh=*?5bcSCcC2#l%p&M#%lkL(UP@8=|cBPN#dm1h4P{tUFbVDelfbxf_osg zZ=@O$wvkDB0BKD|Hs;!$2n1?|KpW&GMR%UJunAzWQO|=IO?FN z0TDq#1C9zVV$cy$5d)69=pqStp@0qu79vMLR6JILqM(azaA#e1y`np=ql+4MXBE#4 zI-FU6=c(s;>Z!AHJ!{+zr%l))yL2FL7P4Yh z8>RWmwMLgsg%>*b#6Lxc9boIOI>PT?<36eA!WCH;d3Y1{)qhyyuCkV|;N|zYoA8mL z&^@UBQ(Jj>12qF+v{dVS{Pod2m=N8*HmjT~%@y)yKV&}t1~S&|_wlN=co1{-b^PXy z?%~$QuHo0M1;6ioe8XCtD*b99Pj7Vld3vqeg-?8by4Ky_GK_oH;f`9;z(=k_8~l=o zK;jdRk#+9l-1pV%mB?|dq~3PUhu`uyNo)$wkk~MZN(8cg>F0+i63X|YdPi-My~MV8 z{D~EEf7s?a1}3G?;c+AePw<;{V%iY;9re=Lv^m2G7$fqTFVb@b=Nk$?bpkMMnD8q z2i;DO?}0;3bUVdI+1I;!_e+;zvOnZNw$_wrb{;$M;F2;id!_kuW<9EU)_fkom}9L_ z<@SWUsKp;ZQTx$QZ4QoSKN2DfRzTLT?2L!Ncb5k7K> zyUHb-%*ogA<2K+>Ys3Abx!Jy&r-rnDZV-uCUs8D62Ajox^ zk-x{@HRaEAcNAUhb73u2FZx&sv;oi-^)V0KNulKv(^6mG#M-I5qo6VfD-A8b$ z<>1*B**IQI(`<}^Ts8I9s|gpPTj%2Sx>+UOr+I}h+vpxqdh%eS zB{_JO4yKM&U-$VSW1OMrS53j8a-4eJ5&`!x3iY&XjBjeC}2^@1_-{R+J0 zg^IuXTRxVW^WAdPKJ{+y-|QX+@|?{$g@qOGQq;Be^}Bf6W_JTV8uj#M_fY=fCU>=K zRh-75U){xRTik;^M;5`IJ8oSL9u7Q*V*HdX?va+S`L$cnSMS94#M~8EyQlR$wobLDQR{dhj=iNj_{2Dz|24k->#nyv z&R4~8#QZy+iepLi`Tcxe++E8nx4Iigh-UNhdgENm)T}Tmn|Sc6dsJ)O#2?>^S@Esq z{G*#O#Q*%3SW`5(m#Kxru=R3D@x&!!$yU`*&FVIsXq?pXn?=QG2yY6&f@;<=qImHfpie@ixP#62AkvT~$&@2hZ>T@za@iQSL>2PYYgee(T^9cM6GeUE-v> zcr1G|A&ZTtUquK2pj_Yv!aU#0$4y<2ZeHPR1@30VR!=})0c4H2W$0d$~mC&cR z(;Y3uy2Ej~L~{tOC^-@6;D1+AA6ixN87zpy1_wRZqarh%Wb+*reKken6xgRv?WCRK zmvRT(Xkg@Zk6;t*wVxp)(%k|rSlAARNd9Sxxx=wbqGt$EjV*#0sU!L4!27iO_AI@R zXgg|H#aoVm?#RV|O7UGNFN(*9O;Adeb92RnuT(%_(jBK`*R5m;|HC7AemDV~gNJBA zyrSePy8g?GBS-Kro;cw5E091lfe=|k=;rphpYDKwNS~fl=3eE)mY$U=chxDEK~lV( zoqacZ=?vIE#=F@QSMa}Ww)Y;3tj;dMamn`EvRS(lG>*~VSxjXbRHqqBJ}2%fM`KvL z+3*Zecn_e&%@;iC)~;!T@Q@!2?@!=$bDR%;b0qS$dFEh%0=f!eNE~IZ(zoE4+Vzq+1mptnjP-6<^^| z3jepCCrEsO!sjSF zUg49X>SC0_0~M}SxJ+TU!c5^=s@DuuxJ==nPm~FMq3{O^zpijn;av(xA5s@<6~0s9 zWeP_WzEt7q3I`P)s&JLUhn0f|6yB@wQwr};c(cS&cCTWrRCt-fixmE^D$1`E?o#+Y zg;NUeS2(HgvkE`1@OFhaD!f);w7->#af`z9RlO^%QHAwJ6|9tXdyc}>6%JQO{#A;;QQ_qZuT?m%a6;iE zu;_oUE5-qZ|EsW54V7gIHz+(*;YNkWDLhT#Sqd*y_!fmXD*U*@!z)$)_p1bp75+-) z=skto72c)rc7@j{yiDPR3V*EZ=p`4fktMWQ-OTP%xL36ri-%WBfpH37pzs`p7b+a% zv!8aC&v;6aFDu-s@Mj7iR@kS~?W=H;!jlz_D7-}BHvT5eTVCd?ZDr+^-z#ph^472L zC~kS&T|Q*4B5zdqHih*}zphF-SyjeAddt^q(9`Z1W}qyna75v_!v0+{-v1Pzw#$7g zU%$)ku{Vx$$GGLpvWknR|5iJPOk>u~@OBN0RckEf(ul<_o!#P}J#XH%m(6ay^4j@~ ztskI?r2HNxa5^YWS15i=@xuzY@%m?wZ%=R61w7T$ONX{!e~U8#DQ@49#YaAms$FX+Z>q8{ zKnIk%u?VXh%~m6PDb&4t4Q$E`zP$51{GfE(j?Zb3<%1MeKDy$B9GgmJCTKq}1wBD5 zQdry|M|2CX|2-0HKQX6X2zC=SgmQ1wsW~yJF zbk7N+_nw~Pi%tsKuLO0^sEKtOqNNBi$MfHQ^&nS5B{0H-UXpe<*GxbNE*BL#!A^dcn=aY;WA`q;lce*<))xNmEYG#k{kT<; z&v9VNOB&b@OhL~J;e7RhA+y}UfwDrAL(R<-Gn-4umR=_M4JUA(DEh0|bX@pJ0zprZ z3QM0u>_R*hjlJ320OzU%Ln^^ow@jE4qPkl?HCOml$|*iFjJjjfa%}3|O`!e26!hc? zPt22B&X+>n8_#1OML8^3)lTOAeEHOPb@*;kIPMtJ@0Nnmw_KCsQ`zkW?N@@jn}iSK$(8Z?+1_$*Xns!J3$gaylV*G0v9@>$?IM>R zx5Q~hE6dEU_&Pli7xP-Lzc#G+DP2$DK#{Z)Q8)%nv+1E@lWI6gS4oNdK~bmm;i5B^ z^O!P>*Ctz#k-kgK?D53bE~grrX^5g4Y6I;Dra(m#td}*Msg@pidP|&8IH|DS5BBHT z>y#d_Wo8fjeD&pCIn`-0M3D#cD5`wiN&}m+vIn$rvV2%M7V#^GY9)@>D7t3%Nprj} z4yjIFDH-7touby#iVj|-O4%J+ASF@}e%2cAoW2o7SD*lbNcu2K7S6GkFaLI4m zz@J*{9d2j$%OuMhsELu3e~XlegdD=T03@g?!y#U^&U?Z!G=jgZap$o$BEP7y`}=j? zb1c>VXJn$f+bKn7fT?YdSRHUo4k%{uSt;y!K;ocNdY(~OzlR-VbdQveJtvJ0<(~Ck z*O-VhmwsMGhYF-QeSYToz2xh@1^=SV0E>RdV=yy1@q%P~{wi_cYl(l!8~-aZKEkK2 z_m05RIS< z;_ZKoVJ4*pq+<+BH*PuR!1RA;e740~>x3(Y>lK7YxrO9^3AcP*X$m3w{Np8no$vL>y*M;i9Po!g-sIcrI6ep z>BxN&ho4dL&q^FqbV#QaPAR?MMk$v`2pnaprzIn@P2%ta60_$dPU{XlC2wzRi{u9s zPAKe&OMaWe8HEFnNPa@$(3_G@J>*0C9{--(s%A!#IVK;|l_=n&tx);D5zaGmdeP z5k)6~g+K1pH&P<@4Zm@NZ%%zi(e$_3L39QE&Yt;7S>j_i_y!zxTMr+S2CLnPj1tW3 zzVv?ILzZgxlVre{2mwV0frSs&n4M4CsHl6l`8@a{^haBLb@&Xo&tv!WQZYPCWYR0i5!~~byJl3PMjA>h z9IKTyE0<$(NZ~fc50~?=xA~UL3p=Hp-rVCV-h(OHL@EH9Xdoo&rCd^Fx=rb23M4<^ zlDJLbqb5>?dX`g4GhDFSy4}~`(wOcqRcZDr!XQb*0};>KvBA<*8ArQwReRJl zFxzMpodgyY<_nCG2K}QY&fxof5BlcUrxbrWQVzm!K;<>lEahVOn7OZfXu3&~9;Ke2 zwYKRpzU^e0VBg*QAMzb`^UO}4pQpB>t|FJH%yZ9Es8zK2ov2mRTc9i)QE4fh0w%A^ zd}+n;ERYiZ1^m&ce7~Nj-(~e03#j-Eyr&wYze^EezSIlMQ|?_YaaiHRRm$$e66a^j zbG>rfnz@=k`n2!Y(_-&S$&A9O4E@m-xoSixV&NKNBwn9#6dHs}O15`?@a>)rXxnHTBbn zoxta+NHPllM`F*H61N?a_?L$#Ic%{33ad7@=ht4`#L!*;NjEdbpM2f7^r-gJrp7uK zMvx$cJ*r0}2T5ZoWi--L(m{p&Digode$u_Ad~BG+p}qnau}GC017uS@-KN@CAh5(gDdpDk%sNG!iA zCq9(%M>YKL3o@eZMTrA1?q2q$Z@9fE*ex08n!A7hwy(z0;2A2Xx9RU?jGk7&A^EWq z{{7#5A2cMDT)b5Bb-7S4NhfOg_wV?IHw1@Cx~cMWov+-xzRS$s%ZYvI#DAOFt)K(SPiiXq=F7@F zxjmr$2D#-8aw{dUqfj);%od4RoZtDK?>(^{bIZrMwCD!57PQfZz6;oCNQ<`0`W{1$ zd@DPcvqv|`Mt87g;uPkZQ>@^L~7@IdkfL3fAb)XuzHL{N72aLbRr^3nMl z`RpsRKYDg%g0BZ^q%C|Z)V=xamBg02mbzz+|B;@}1okTvx@XjV^v(7?h$r_3;sL&~ zMD&~{3?7hPH~-6zz7sD^r~->v4fAWpEvZ=4C*B;W%HmAf%g+mJK zxgGO$E;*{M80bB~6!hc>?=Z+wy>##eKcim0$YWQm+ozTL0^j6}lJLxL@PQWJOiSPW z<2tOnn=myyU9ayi@ukdDtw<{b__8(O=)j52QvbjIxGC_B&9iaWd6eyE=<0$?y zCr6nb3fd1$!6?^~C$~ILuC1T!6nn=~M&-FJY2{C4U|=`@PrDb|v{FmSTt_a}#^1MV z<>ClNc8sx?i8DYm`A7$vf=Qap5L=Gwx<;qcV0QDXU8IC%kMqnn&%B2ykSGF|dKoa)_e|hp4bb@maW!Ay%=3A!OXjjI7nT3OwTq(4y<-Y< zzR<(FX12?+kRlGG*`*d zK2zSB!Pf)jq2(BIWM{2Gj_hybQ<0SCk~6>gO{RD0lo#IWH{`kD2d?3*E^V=6U=6wl zUs|Y@uMXI`r%3$+S-`e8<)Ho%e~R&VcqgLGC><4H)`T(#Qj z`kp+!$LA=n%^3}Fi(4CDb=C60ZmrglfQ9LNid*Ybume&!%0No-XMJ|w=GN?ek_Oeo zxc1jU2;lc?Y$71y*SO^|cRlZP!@C{)5RBU<)@i)QgT9_TP^8(*!w}blu70>qq!TWJ zqdVj^P3cRL2H6zfT7<0b;C~_HBEQRdx=1S?b}q~zd%979BVk#Q)Z>mI5Hko!@Iysf z`SG}CW!cA4r@GTSYYL{QFxK-`#VD79$R?iMuCA}7wXefdpG&v`*P?bbez+L0o1` znN^8^*2D6g%G@4Mna-DzN+;NuY6%r;&>4e@r?1AcDV6gKsdbWC@1nrmG8RTOraxKL zMWFSt9@p6v%PUEox+Mi;ZHM`453KD#^g(FgMyY&vOzxL6R)OoFftGe~8-p4(1PVs0 zWXc%Qyxyyo+vfIzby>wFF@rgbXI?lFy0VPz0UI|ja)MeyP0ApaHe8c+Yz@MyWslUZ zxC&!gf0S4MT!Bmkt%td|jttN+6pr*ktAf8tD8Og?kn~(A?}0#@R8IEL9AyUGj9GWC z)J4M3Eet|82*VY^uo#%ud+pxoVCf;7u7+LeshU=94Gy5;q^htD%1KDBH!F7P!N3?4&b;O(@KWIHP;aX;>H;Eq064Yrp9>&AHwCYOFIJ{d1 zSP8{?Sjp0ST`%q2Mc7#IFmoKs(Y&%;s~eQT-fZb4+~S8w z%SM`tsBHyaC`Q2jyIkvSoil+iDc5>UZ97YLthazEd<0C{NS!VDq>@sq8DKq&-WnIH zY4NejW-sdr?_6)$BXcIWF<)C+u4(57CrkA^fGMm8Ce=Hp^Mtneinp2qGFHG}rh32`Kog?k^2c{4JCL1RKlZ~r^>1O{MMXv;=tWao! zeF_PcZi>>=@YdlpXMnPh$)@9~Pbj^Ym7ULlDV-X+V<8OSg_T;}6oTIEEI>SmXd=5;ZaB9viKWtE35SWq(15;LF3di}XO0C>Q zCWA1^!%f=2rqDELUkB>6Phb#_G>U zdc$SI$mMuYLk1FI_XGoUsv8fFOtc^pPKgAb+#BRvwLm zWEab*8-Xc2225t2117Uq&64yzz*N!?1Ct3dOJP1RCA~t?m2R}SQBKiB*k9py9~bL` zu3n2)Ux`*>t|Klg5~9Q?A;KH+Vnq;G4`~?H=Tk|QfF4IUc!_l8c3=waz+}fB zmVDBu@Fg&%!O+tw)B{psta;|lMjzgS27+a~qs0kkj+e^`FRjsfImm1LpH7XYO$(1S z`{{vQ^3!vvOm_h=h1H6tcnUSZB6R5%O8D*B|rJjHon& zkkLa>@e(TCi!PHf31F%;cZ)3RfxtwQJcTL1vu7KvyW9bdRdRBijsv9SC}ef50oe;A#_*55#YGe`J=LN>lLz9{PPNKtWocgrOyMSA(tQ}1YWNSpRM?ZQl5&(z2=)j^_@O#&glKzn`RY1N zs|+ityXHX!;UQqMb{e1R*G?SP21N=9j_mTnL<2G+PS~>Izt0 zOCQ#|v4Is?{LCJq`w0J_K|3ePZjjzj1g3B!Fu8FnFeUR8Fy*on*iQW4GO-uk22APf z2c~p8fiaO{A1k^WSeD6=BLVn8A*66b;kLEzI$=Bk1{qHQd&}&stkK1s)2tCV`PV+$ z377j9OJmc3DJ%pgC+X`}S58emE)aEzo9c}Za|jVc)z z&r2$(l1eDkud1ZJRy4&^n4*#j-_1{bS8EW1S0{h1zjmCMw6NFE0Pvca8YTl`HUOR; z$V-B`C!2E`;inAH>Uim4s7=OkU2V33f72}*a^Vo!Z=`Zn^Y)VtXzmF+IS0(!-bHNpQG%| zQ?yZTKjdPH|D=?=ntgB#!3+c`@fZ>#90$%QIp;mXA2uGC9GwD8GRA}|UU##I;@_s^ zSKh;G2cwRt!AyTc+Rdnu(X$TI2POZmlK%vl>=&$6_WKsGzAbf_j?|#yt62|A1(Qo7 zIiPhan*rFO5CSH@A_}(w``5C|1alsYQdk5`iL6)jvnsJ4xEyImua_h3dSEhUtaz3} z#n-x6ZEG>BY$?Jh?q<$~R!p;b?GR*i=xOH4Pr(7b@-7BKmC zm*SH?h4+D}F=iAk=4dTFS#@(6rWrm~^tD(!N7+C)NKUhRCH4a+l(C`>!WNqZOo==U zoXw!#)hL5`BSr{3J&+zjSpd~J4Yzr~7c{y+ zg|4?gfK|g-sPwV3KHVPX=;~qS)5IEcN~10h4b!Sc^Yy=_nwH8(o61K*(J5fcXGUTC zMf(%f&7?=`?DB3s(MBqpO zic}I4fGJE?v{7z7Q+tedl3kAInyp&3h;*E4xhmRel^^W?J zxDx;>Cge;IJqs|9cud9{X`_zF!ZfQ`ga#=Kd8?a6hHQlQ$!shIrm$rn^ND;>-oj9( z5aVBt(#j{$SQj_w>RWnAW#e0AgS{lHYzi=$p^#9fQupz@D%Blz|1oSul+IRQ3XdsU zDT6Jx!CWmFgPn|$tNo+Y?+Z-n>(#2tf`53N=4hY{g|C(E#}A`;S6T>vtCWBEBX>4x z!>i)$jO_zt&Xk3pqxm_FT5VfOY;{fI{0VC zt^}-A(OH^*+o+A0mjp4Nwv(T2?n3>N^H03ys3{gk|TY%I2n&Y){F~gqD zr=Cb}$5&{DV_%h7UJFd&GesX!bkS?FE~f)q5kE)K4*^qn>NWoH@!H_?J+EV10kD6P zECM5~mpysK?w4Nqfyt|&qQk(lZgLaSm~<1n-QJOJNH-q?CO2LHCiVTm6y5~30l%l{ zf4#wC_#O5mG$NW`E^ zS&FGF#3>6}ZWDdS0uMj$M9n)X@RoFbGBAb9fXVs!icdyT%18#7;yfGm^2qHRRA2?F105hbSdRaCowL#t=lyrx`=)ZE5feU<$s!OPb;- zOi?`~tY~Ax0ZO>iiOF)IVao%Pgq#Dpz3D|$%nn490}++rc3=vBS2V>_xJfzCW^_PJ zXeTa&19=l#;_1Oci$%(PcV6N_R3D;PMkN+{N2;^}Q}I$fg(<+K-?B+8j>Q@~f&|)> z+=oiLbbQqX)>cLBX zh-Y_c^OD-cgN*-Qj9moKC&qML`fr^6YC0D^)-W?x5t6TF#ztjhPfaSvW0;gBK9LT+ z3{2rwMH?GM@H*6q>88q`I9cmevkN{1g_itjL(x(Lqzp#*M<;9AMQLTO{Gb$>08HgE z4Vc78g~BFa>O2WW8{M6Y^vcIIiX zVXls9wkLz~JcP|!A&Wz`I?aziMe8#I{|mw12K1c@Q?x<9$i^IV?SePpe|R8Ee7Hz5 zM%t)HSqf~HSqdo};X6;!v;w;MR1fR=Xim1wgInlQF(m_Og4jsk|ucyUn=KqvZjkz4K66* z0h{@I|IqsID}&m@m5Fi->jeDREZa|(=7Yv+=Z*99wy<*n^YG6e_0Toalz7_~nOFi? zKI-vcZ>0z8u||K?!(SY$^{Pt22FX`dOXr6J)73w!`B#WPiE1v1nkAVKY!Qx-?HZ|f z0x*S1ioOb%ILm7IspGV>D#Q4=&J}eQ)_j5VGfVTW4kJT z2(X8joURQSlqHpNKAqE^eY#d&6B}S*4*=#}h_vihW^b+*w0)q3E#m7=*G5F?vH`G? zL`v^9Wu1WHUmA&5|CN8(K@JyMynMTT(oUvvX%kufwiP|N@+SXawP^uvoyba5;|FMqm^B~$;wt<42y0jb0fPBoK|4n#mp2(6I<{^aUk9t$4s<^Zmo?4 zbP^&gHw>V=)ymEV9Hw-r5?clDq%8ATO2KVbHXkr_R!%9)<5SMk>Lw+(qhCH~WpjlH zW?Tl^a*~am)QBb%!J!8#tri<=gX}@TdL^Hw`7>u}1I|f4WM%&bq;zuzS_}g%F4m*D zfb|$v6cHvHoh<#ZmHhy4T|!=B)sdz7;Ina9FTBIbIA9E)a<*1pNte$9CM)qQ&2Kte z>s^_ZR?%6S?>t+3qdxg8{0A%!Q)0R9o8|MZleOcb$=_Sq%oou7NKDM@CRkh@K@0H~ z13HB|7VvqrQ7=16P|;yDNF=Rn!#*n;I9sm`GtXkj7&=bOIrw=~w8}w&KO&cauuwpk z>OiAz2Zk}$>}1(^zHW-vXJp%-tZcx`R<=WkqotZ?WVNHv3UzCi&p(}_y;2!IU}ZZ2 zJ1&*QpQZV0=O8-qg_TYF5*2=#jLy=0=egQx!(#ujvI{d-mZoSIDzRmqpw}KkFHGi~hExzd>|&HvY|U09ho*T!A}Ouka(RHyls=W8P>(;;Y2wXs`Nbe85j&qq&; zpJ!ul0oqk`mgfIHUpuWbc7cs;22@-njb~|o$_3hSV^dey*t>uTMN>gw@Nr-;BHm%Z zBBhp3XZ83_m^mYJC93u+8xF_947JbhNC^Lf_EACGl`FuMlwb^tH;+}sP#D|c)g9S1MDDi@(5;#-t-$A z+pA3E(^(zgV{4*=7z zk?Ka8rU4O5H7JDm(ixg29=oSoz1c?tYFrC>mfFOuVGOVZ;x3kO29&+Rii~Tg2YN2`wPIn9%U>>F&EC(8h9`eTV-Rb0gGwMC}f;w9wpO(u^#t& z|J}G31B5Jf2k;$&A2me4Xc9u-16Tw`d%IchZU@u4Fad{x3wK{Tj!_zAEY)^ay{01B zE7CJWt=F^K#!dk=lD^N*d@V=_cWEQvLfc>Mg*fNzVwKTRJyWC@*kEJR0F&>7B6;40 z2YwhmO?=^yo%KST7jfc*A7(>F84FekjYzPEajF3Oi7n_KfG@}~&~*JeAlgX`Dn59s zGqb!_6uUuD&XTZ!I?5?>8`y@v3h*z04Kd2d+#2~p2RVgKgc43XfbIjhg>;y^7UKn0 z+U?jz#&$8o5|%Yq=7ji+i*fiqtHW=)n9k1bu(5vwTH-K4tG7n1Rg63&)AopsJqT8hn$qnq%<=HIs5tFmRI#}6eDNh`Ql9OWr(=`5ZR`-BU6@2)YsIriBTr<< z%(IkOS;?rv0J#v`V`DD>9;d8OUv0D-c~R+?naM0Z7xOh2G9TKHZ&YcrI8r3aCHy>Y zA^>4bBy49U9ukcI-p2k62w$i2jJ9XwSu_{ZaA(!fd9+b{$t9XQ8ro}PzXsTUl;uX( zcL8=}Z4`)j6A$e=UoZTEja>y0^+x_d#>6B45dS2=-m3fO#BE+@a&H)wlKcbu17IS_ zP@%OtnTaRzZsu9s;=Hve^i0ymF5YKj>xDiZisO0>;1)g2MtqnppNAQT(!&gqZwg~Y z6nn|WIN(R2XJ-!72}7Nj`IJvHPux~;d{9<6M#4YZ*aLuxFR47ETueNa3;PrN1?>(SXl3Zq9FAQqX zcQh9n4D*j>Yg%FE&o=hk{g~+RpJr=)4CJ6ovC{Crg0>D={A==#F%zwiNX@tb8019P zM^hB5DCi_!MeYEd!Un1yMQ-8^v9lp~ZgmvjVJ#K)lNIKlUaHkaJ+EW#0GRw6=~F&U zapwY>D4u-m!dx0FZWEtMsoBMhx|UKWD{U-drK8*_R}!NsEtpXg4&;Tk+F9T&8$16k zTQ9bf42$-fW#aAmotL4R2RqPR0PQ5=b248$(pNT&ah3ubD;P)T3FMgMc^eaG09ypT z@h&#LwS=A4h+7cujSigDGsatr9IWWlf(*_hgzxpshYv^4R=a9qGb zuyqrl`bK51(ZJ(l=iu0&{~$UqU=fLsS~ps;&f^Q_pfBXeO>?k6H~vii{2Xm~ZTd?a zoBEZFrFG*d#vG43uh52%P5#HmhGlFl^jos77CmgQyU2;A-<Rgmt_TrDs z#X|8cU<#{x^HZ09GFxn#Q6*JwQ{lLkTE2c zP$CDF%KvKlf9Go#RHyo(-1_5%f}3TlHqyLpjMk5@x>mbna0LH)o(34#>PB8A{=KTe zQqM3N^@?cyFZYkPvzY*+yom>|GiTUY^91zETV&F79R{=zEjmt-h&SYeeha z>^alU8UUTj3|*fBNM_9xi1;jz7Kb!3X~e4Dpeq-Ya#qPV-hv|>iHUah8bD0t#f=}U zX(NxE#BABbL&g%5?CgEO^jlR%uy1GNS)4ZJ#D1QW9xOmUa+aO#1FR+aau+Mde6mMJ z(V3V46=SASViKTZ7KLwNY8J8v#-E8NDKJ1r;*;&{Ab{N_OOvkqO|i2tZsqSS(5h;3 zG~%hJ`7W|Q$o9>xumo+u+c5i!`d z;K+a+{kwHp#Wiibo^dMZ(aabY_JJO2Sh?xHfn z9j4XJa=cSy!I8kPr`cKK?RqY)LMhAhVnl=@Jr2q#Yy67qw3_-%vz<*iA7d{m(@lXE zMU5CSbUuIZI<0P+s5lHklwtpL4AC>t%18w?T^|B;>FHyNWa5$8c3QZU7<75BR&7+& ze}$cm1a!XuTl9Vn?NYU3?}j!*nlb-0#v`rFRd)9Gd3NT181f$M>8d$~i4Qq^eu3Qu z*s&aP7`=OwJ@g+V-%@Hlla@A-%6`}-z*~D7-u}*>$-pv#GM$7m%4Fs`J9`?1*i8nh zHMaLP@c7{CwJMs~Ot@ZaxE$YrV5cv^%;pZrLYJ;5MeXbsMbq^)fC$l4^BryxZ{lI4 zZqn0xfNq<=cD)vjChxYhqBfYKIVO@a(W1p;10hewzXojuu>MY|L)Yg4ZXvo1hf^>w z=z)%`&%jObWV5}1DI2tj@Y=7jL6*7)op&v!Ou{Cu%|~E5gj;R%NM?$A+R2^UvD0g@nwrF&r*ToN0y$;Fjnsfqxw$DBWG?NZhdxwW* zdHnK4nE&IW80;p1aqev5(E9mL5`LMQC1dxoA{D z(o$W_sv%e1Qox7Yp!KZ5w=dYTKVZSXO69Gqgk^dB;v2NnqJegFLqG?KAYHoN3`i=P zuAli6=J&dZ?jjLy;+ufd)?+ zgE|~y%8v-i=VNcwDx)Z+cIL2 zELeD`(fB<(`vlPUZsd}x5{ZbMw)bH8+D10cQskt+W5_rn_AuRwDaFA1cD4#2QUp!c zPXgwWEm6#_qj@cb{Y{Eut=K3}3W>IrwzG3Svg4f8Yrn-QDtv)Mkzf8+8*x59+`$HY zg4J4^N}|=tj67*gouz|`;aM)atb$$`j#H3;!BIt@{bE-N#mm!Y$Bj|HSEz~(2ke1TP*>R=M59vJ9U^BkKiSzgKigT5l&MqW#%1JLs9hOP1!5c{J$#pj-2+(8 zAGrxHmSjno5k)mkEYedVi9!dPjNSdcltdW@ziwLJIatQPw|KC_hc@NG_KzoBn$kDj zlh{G~FW@lg_P~RRR@%}iW=6iH#K})zqIun!Vh6jU1c|NTvzA~vl%t_6M#2)Topl*F zN?UuE%B2@Mim!;Uj{w`%LY1!FDDXC-^~nPEQ%roai@syjwG=y9@iZ6zWQkTX9-ky( z-vAEiMq1H(S}@l&@I@hGB}?y2mW>kmPl{4(g>gIxU~Hz^!A90N@G2?XfxC3Q z2r!dqQFWf9dAK2D_4sp9?eu6{gM+;Y=pZ%9RV$|O%>~TJ7l~uHL7W^yQurVXy8_Vk zM@pJ@6bkZqcwr3jI{*XMLWWAE(P`$@*;!q?YXWj_R<@wto3V}91Goq3U*C=P^mnkI z0E={kn1f|`{IwWv?`)uhO#^h32>hh$Wq`Dz>AHB3gT0zHQ6l0^JWMG}dgME8076%{ zjV4A9l`;isM@k>0@YS6tn?D$d(;Tsv6Z`hL`5_{6abm?&!0=fgb`K!+wq8JHo>=TI zqdtuS#?&i5%E7({tY0THXQD;3D>e#o=Q6GK%v7U;?K&Q{OG+e!C6JM4>E&jKzlKH)Om@D~>Gx*1w8e(^H=w?t^1gKY!k=K5A<;!!GSs5u^gVwrYQG;*ec z&6tR8ey?<&uHOc95>1OU+*5tnP%UZgfi;vz$Y$fkZLtKyL@6`c5$)3AW!O#+NRQE6 z(9ZNGgKzGzF;g9Qg;tv&%dtxnjLBe5=192C$?Cd&ICFu&n(HVt$9ZTR?ukiMHOm>= zbTisn>^zhKz_`0>;-T%eH9J@mV3aZOAQL;^!8pJ;KQi$k6TSd#7+|o|)5KH{xG^7-&#P|5Yfw2F<0|IlnW2Ut!=2l}~KzYgk^#jKR}?3?k{u_0bKdnugNXZ46X z0uUQ5w6oDFpP6Kge58@Q6gLS#hSKQ6N8P6Ny4=XK)H_(crGiyuD$>1@>JHuFU;%(w z4N<0>F%35IU^fo>O~B+0uq$phG%VwhkIv`6yG=Xsg4mS~wi^&9F*4O+Wk#OGTYyD1 zPDM0haouQRUgbjiDhC^SHF}?}*IvwWJbu#c+VE&3;$SxeBG1A$T%zj@fX4gvvMEUf6C zvP|QPFrxsNjy@Q9$bjbt2YVUNcOx93hSZH)8b(&yH8#eHiP2NubdO|7q&Qq8COF}n zaOb(nQHyumpe%-WHM4HCG8KvcK-{-n)7-JBgWV1|u#tbTT$?H%8~M-6@vk5` z8m3&>`NjZjZ}hO79!*9ptl%Y?H~&%xI}RZBkEpPaq=|>T1(!M4Lcq{Xut_ql=tu^h z7#`&vmEV7dR#@q|*};AbXd?v}pzD_bi}?$8;J{**q-ZglsAO3ceh4Db)U6KI=Qgw< z5~(d_wcQ1*vWphx*z9Y?rYd!_M*QP|K~8kDmvUo5V7Y^Z0WF)Q7j%6SAS7t4b-McC z=GRy7R)OC{{Gm=Zw5v}P@A>t`2FDO{B#qjwgHfgfh2g9*%0qVpGbSi+AN?5JKBx%r zWi>V$VBB0a@gRe*uCbkf1Dl(q$3(me*iW8OBJCa_VB)n_8Wj1o725Ec_*w`1Ct%vm(~UC~#z<<~n3iP?@ayl=j+=x} z`myVGVdz!%=z1SuJJGbbYo8CbRw0w+_q4N~-Scol^&0vlpw#Dw?$YY|vE7)i0@wpk zr)6{pmRwkj&@hsXLlC;rAWvX+Rs_WF}u&t@Vk9KSY%RiXW2R=hGB-X&Q4a@{SVdb_@9|k2W+qa4*OG z)P?{0G3r}N9IWJ}!gN8Bc9zs&@{xlL`6uRBlwOr9%BrwBA_FCu4bgL)gh9aKaWKzI z#Tj>`Fziy3#AKI)Rs7q*zEBR+^(a86qUm}Ypk2}88gznaRctw){umwQYf>aZoVPF; zCm#Oa#OQ$7m)?flDd)l;J6QjNnBwO>gD~>N#_3a{OhWa3H2)M7Zu|@lh?InfSTE{4 zzTh4-bup7@MbpDnQ$Lm*{u137aFEnshOYMkQi`VQR{(p7rXj3Z-U>{7l~0o{9?6$? zV7P0?Gy(dEs}YIdp$IFT=8ni!ALbjluh7Oc9~#xFOUQ-Dw`eGUiQKyu_oo~=Y^_#4 zg`SzDASEP!LY@J}laly?WsV0qeA$xK9C5J6cc^l~(XK3y-?vulb38t6$z}o?AE7d! z89e|qOFB7Zj>C?oF3S(Wxtc6Vs-kL(3?lXGG;M0q?qsh6#O?x>pjwX@`SPf$oB446 z&K^~zvuqg4OS$%O^T-L z;eftG(}rTl`B)e?qlcU)l3egvMCL549;>6!_i)T;l0|)Q*h@T;d{T@@XFv7PPPQltsKwNeBTD#S##t^8#Ilc@&0!M zmYVnkDmxW0`4yR6y1o*y_(@6A^>u)`M2lgCj?KD+OqMT3q(WgQt4j~-)xc~_!%~JV z>qbp~M!@gCUn?1l@2Rp20o^K5x-R-P-q0kP%Dm$z5pUvkceAV>|MY%sOf>3bKLhmb zh?J2g7qO3Q;xU}_fs697Sqa7z%puWT0?VB2YQV09ECLhl$KN1AM?N|$!97lPF_MYu zN@DpWA85#BzHy;bf!l z#PcK4q3=#z31TTAL=37d%(`f1VB%9>#VE!weK8p*!GHliO>2yN@dRm`c!Ct6zjmjD zBP*P2E1**(j6sJ=v2})5K4h?wdJ@g$O5qXy7Ho027F{va0{)aAqx z6&E%w={QR<%UXpUwJV#E8=Y9-bYskf&7S}Xkq#OUcnlK;FT>MWeEcaVz-PoYe}zdL zm7&voHDX;^>bbaf;u&lw+6cgSn$^TZk!PNDvU_)9SLYd(uXg0C)s^G(8C$hJmxrEn zvZ>GGo&+&Vm5Wt9)hkn$_N6?@(nv|DSain7-%vb&U1W+(>?zmQ0i|-<{viD(%)Tn*In;ehVZqo)A;$zTkzz1k3eCjq$J2OjSyHs@LQSzKW zd4camvu^-m?9#_715XSojd)%(%E>>xSF5ZEf8=DZ0Cv&dtLQr}mgVt%+q6rf_@FR5 z6EJhP%qd;p2^ddwr5%4HQiT)(mJ@ z_UXC>kP!CWe9HqkTw!90jA4M)75SSF;J@Jm87I38(07mYldcy4Jp88zu+f+$DVlma z{-`yp!bfh$`8j+tne75hClT?~SFRq6e2WJbF*EcutMM{3AAL#j z8TJ5KbFaL3CTv^)JB?(AstqzO$dYZzAA|^62f>glF98c4NtdGD3Q~?R)_wf94{DW_ z!EbS|0qhc+j%heW za30E+CjI9#qm1<60wzvusQU*#p3Sy>k9if@Kt0g)i-0iE;(mX!nTHeMTK6efJdDAK zK3$pL`VjWZ@Ktd355O+c6&=CNvOK;IBGJ^(PWG=O7~DZulySQ5*}H&6bZe~{5pUwPAEGaP zOFh1Iht|6WUj%3V8oU{+t94l{Sss6Phc=|2r@nwS0mL3Kb*)x67H_iaX5;vvNATB^ z_?|eM1-ON_i_v1}`uBjjL{ss%yUn~}Or>y^!PVlyfYF0x_4(FEFks-@>FjjC9#W@T zMand*HS#TETx<-y>4A9*o)^;*8Zl_#6Y1>V0I|?6#xWYT&^GeL?!zdzxZ&W_>g<}q z1+4FjDy^;(+;lN-%tr9hkD_DwhZnHB0pY*PEOz4hd%!%>Q-hI-N1KnB+?n)9E}w_u z%8bMjictmZ3$g{8u4e!`iSFZOeYy&wtQHdjA2KXo9l=h3QHTsgWpDF8c2IB91|yzoIY7b9Q1EsH<4*Rb-_7K&3#5z1|7JW3H@oOtDU{G`XVInnT? zIMD(SZ{JX68!;Rid9ahb3R@&sqbDqZ528jeGcxiZ6G8m(^9tDGNhO0;W#m~Z@t@PJ zMY#C_-6H_at||KOm{rYs4FHKbYeo?#XL6@uvS1)*`@1)fE`5B zK0WN>6_uzE%0|#yf{tmR_Zbbyld(RQom%2KLg>ZLaQfru$qcH<^;vWv*k_*}RZ3XOe zfU!iHhZ)HAT~WZ=Nfxfr z^?ty1qP^d-#9!WuJ^f`)W1M(UG!45_X=jQau~R`LA1Yw|A4b`~EDMIN+WyJ`%2_soW8UV1ybm7oKHUYl+DLfrW;vfE8j})+t%068O0n3S|0jV8tTjujR zG-lKjXMoq>aGl`{aQHE_4Zs(|E={+wABjQM#CO{@)G{{POcDH~r?s<2w>?|Heg;JT zOa%c0?Y%HdtYaoVO|!wb8~Oi_t@DAGYG~Z}+<&#*Zra-If3b*?WJ^ejl~5!rH;QB< zgs>7q>`J&OHsXY25kgp`La`A-SPJ2mMM&b^6mJN>?{m)Fd-r;O`}sWkeP+(goH;Xd z=A1oe_pG!0`9P<0lFOQ!`%%Ho&SO*YD^aZt%YTSgDeMkbZ+WA*@l6`%Q#$tWhO(W* z7V%ep?!NVEQ}ZV3yULcw!7x-5=N^$qct>RKCI~+f=*v$8?y%p^f4!+Weq~cLMfr8H zZaWv8Xc~V}y!$O%ZjJi;H2j=|d!Ejhivkt9`rl}3W}!v(6(DncoKyNj;IKq2*VJ5w z+;gQaTs~)NZtt;NeqPW72nnQz@^uk>yBN@wchrsj1t^=_3zFufE~}-1C(|oUhnVA<<8pntRYjTe$q6DCdTmak%`}C{Dfc|HaYr#bvpB z85do48Q~nZIIu^T$QMmbms&nTykmQcmadO;u35~7nArNJ=By2zr6`GZg0+22eVp?m zNfPlqhd8w8J6j5O78=FTJpQkmno-E-Ud+{;N#8Y!*R{= zY{=`Ju_Vx@GWT^;^A#HQu5;~@K*!MyVP-h*j$2Iql>DZtS%T);tIG1*QH{cCM*8f3 z;+T2s^Ep2(33MBp`o5`|humL3QLOxPXore%kE9&Xsu@mwn>1dgRgCA(P+fj!^wPj? zyJvoCYFhtH?N^gsr&nyEF1y#qJNGQ*L_AVxYTiIKN~S@!)=O3#U($+!Oux74)1tsf zgZeMMWVW(bqwUH|jpeWZg;~H|W!+CM^z;di+kIO$Uar%$wdJ}i!2|m03vvd%80fKk zW=B)g`FEzu_b9lg+|=~d*Zue*eqFpX^Toh!%|d_jscR>ni<}o;3>=)ul=;lhXti?b z(lw_fe!enMwUW7cGH1I~p*T&6K4?#BS!fZfat{u<3ZLoUgojpqpv}=P!M{xw$GN-2 zzv9^JLQ|h<>f?s_sQ0~gAYfLY!3rxAv)cc}ZDdq>8Qpv(Z8*G7#@;KtEP0jxTA^)U-IW?&|^iFz%hCW%vuD7W~U;@u^F3oHzA0Jbcngzs%P#(p-aG zh?ctT%1t}`V?BIkZe0z=-@;k-&5h%CGazT^jnQ7E~BKX%v6=!XezQ^t#bSM z%%#12W|PWu`)C(a6xYX;^x@*vO0E~(;XOY|W7ULx<`L96*U(4xan9Mxbg`umix2Rb zQT0i<*iskgJg6io7VpB~oL!e>BVY2Ui&K)IvvnEgEao7enTIAkZr8S!lgi>aDwIFi zXO8N}7s5WYY3P_naiod#r`D)AO>taFl<)DfLmkJ7TZ>6_V2-P<@zP#=Ox1YihZTIz zUxub=B?mPz2NBm|EhA+mdsp2uXT@^roIb*5x(%Y+>gqF@0ag^(_;F2)+pPB}C^Oh+ zPCz|BVinX`ehg~whN%XtYZT|sI$jlu;_dUN#?w$_t}Dqn3P1ZrOJi_hdkK7a~+jd85br%xS3Z6M_7zXraog!~RLOa~Tbny001RBMwELycVulpU8zWjKvE5F`TEn}zo%sps; z3U*h{X}^ae8)zn9n?pihH_I9MwpU z^O-MEZCy1cb1Tk^GwxSX z`}TCx)-UH5=j}Ik=ahIKu0=GIQ=(%Rx0m@9UcZ zEbt|#`grHtY~b9EscU@ZW#nF&AzMS(IcG&+*KkAFt8nH9pZN$Cf0QncbNn5c&{ToK zO+FK;Y20Rw;z$#^*=L5M;@`9s$9dDGF1j&g_VLbC)1?0rdG~ecOU8{JLt7Njo}nvo zc0d&^aN9g{tIsr>!DmBVS<`1d4(L^^KpzhpEwf{(IIifbzPootXZp+yXtv7I0OH4@ z98)+0tXtqb_*$UTpww+XvkleVjF$fg)heIX!v_3M9QAL==luOzpntRUY@gYRMma~k z9_Vy-eehFGxY|^3pD<{+w-u|ZI~?)s^lfMn%hf0HrS~vPDeP94vwSwYQM{_Nvbo9B z<#krP9@t;s5cuVFK5XO|rIC3)v;A|5(8(b!r@66FJgbU5;4@bscka-tIKOZoB2^qu zx_Fv#ivHc5jp8+az1~dxD+80%Lq0POZCU4Sqx?#=TH)4wn~5*oxzB`|?4_$;){_~S zbAvrsHszsuy3E|7QCaRM`8&KT68`!8h95;g>*lRQfeh;T8DX~}xmL-ikNSA$kT?2nU2cU%vu3GqLb75 zc&F8yfqmV3!R+L2=f+;(i~+@*6W`>bc72c%>{kVHb>Cc1F7}ygm(cJkU1!c4`H76q zYpW|w@iOnD$S?Pqb*T8VXS6s@ouBm`W`4`sQQ}tL`((y~`gr%A2%E&W z#B+7u63?yhnf+h$nSRdhZ*lHjAN+!C&|sUyEtHt|%*@bApE(%KVVTCZe6u$=#whIW zy592oxDGreluODj*K)p1pX+IF#bvl{bVo&=vw^6}^S{Lj>!i21t31yZ$XPOx4RIvO z5&i+Suk|V+zipMz?5wZEF7ERBxHkIAsk+mly7NgcS;XG)nIBQiIcgOL zviczFbId3#7(%IzUl4d&wt1h zPe1aRwaTvx_>=eH%0_on6z_bqD$u1_fkcrt41TBC+k7mm53W}ym6;YLVbdh)m6`mQ zvjsGfWxIFfTH1tC6XZ&e&NwPL1#_P-R+q-P^6kLB9nu@Pb&l353r$=fc9y@*F4YkH z>g_<_^vG8}GYk1PklNi58E7jxg(-?J>D1J8dZ=B2pV7x#$67`Gc7t=@_{@GAIr!G) zwKp8<wrkt7nF4(#JdN3V-J_N1$5eVI$mdC;yCv_xDOvA^9>KP(6+?>!@xkp@?Im!e~H2hYgS@*c7GJlhqd}; z&bZZ@+={Zg7jn)lx{&jWj}O^CQ=?)6+&1NJfLd~da!*$Ka$;Jv+}#gK-QVTL>V9{a z+Qu0(TBiK&M8Xr|isINDXWQyPn`Y7NJ~IQAJFVUebQ)P7{EGcRKLH%!-mHzgpDZSy zT#_o~69k&ba7H*VznfpyNaQ+Sel&kq9QoO_-ObarNb5ICh@w*GNh-pv|4ge+G{ z%jiOXAKLo=R zr94B5@djB`tnkS{TGR>d!eq*4rYpMdy2YUuO z^vgf)t-SpcUcr4~355)`;gg{Xy94rp(af`9Jus{Nd9D0<3Ru9X$XHdtO&Pb}ZhE?q8X6Ec?nwfmvg~rJ|`lT+;x#XijyHg99X6C?WIhuaY zC~B)mGB!7@CfmDO)f_;JmX~Oh^>M#91W8^vp%Bwh#p;&>;$hOf@~AE8@X zGB!t)y8m01q221nYHqpLUfZEwtzPlM>VdHGwJ0&=XWDO7QyiF2()mv8>s(yN<8n4Sli}FQnx`{Sl zvM66h`8w!72J8Qj+kKc|ss-PfsB4^*&9K52u(hawoC+vv)TKo$_Gi5c_J(>5vf<)= zr=a|MSDL-Ke!e@`S3CFRsl6lgv!+B7w=LW}nt-!1_Ye$y-CB&gRJP_^amG%cjbOchw8?=&w`>d;x^BZwhaFo=aqGVwu7{;9i;pJ z{^C>dbuYDu6#1#~-};3fbB1>bwB0Aa#;a2+jYnRGK-Diq{q))oy7`@fp9S{pq1A@` z0h6=II(+P9+Y2h$ARCT-?A-DhzZX#YA*4^O^NRfv>h&X3df#VWcyFlH?oM2CJtrZk zMt>o%9^iDbIIeg$jZ?PrMX6@`d2bMX2=%I3RN2j4*vjwy_Fa{kLx$uFUcwaAYv&8j zwVwytHZu#naNfE9^T2KuO73@dUmpkzEqv)!uVdb;ZhxriA8o_M|FM~64Gn*)SZNfl zdzCl?zX)_XLVv9p`^qaa4)wabE^HhA8r$$U*>LgyDQPR{;2t_|#ZptfK~tA;ruztbze z%U|B=U;4)jYn3s2M@%{;>jRw*P}WfEhOBkdL*8Z?X1p3+3{}HjODmld1_as$_Vk%O zc?wl)z8BoOZ@{$vg)JrkM}*`lTpO7{nhDqmMFE>!a?JT7qu?r^{CSKla`it>lsdHGL;dezkzI!}HX z=+MVJL1Av?eL5F(&ocaN8Y&Q_akSEzP_KC%o!`C;3`&HQPgm&sHhkXcSClW`*~{0m zi}sB-j*C~w2Lpotabi`sNo*nHEA^2HkR?cp9zYl4od7iPD{D111 zDaw}J)vMPAsF&)OX;_cDnsr6#!@GIuM?<})*>GLMDt}J-L;MY5bya`UiF3FXBfNX$ z>Rr>ep>cCIb7jaY>;k9)^eQ;ZzY4T-chv4hS<*JicQ#96_l7K?Ct0t)XEL6jLl^Z+ z)EW0RzmZ)_QoXwF(U2vgEbdrp%UEh-0v|OVOH+zg9kuyxgLhun z|7G_G*4^Z1imdj20NSwJdF|`K-l2SV{vK(c%0~B$i{qSScLh2h(xEy3oG?hw0rfs- zq^U^pVaW~e&hN{o1+%T={5Y~Mopa(hfxsbicKq)@?oKBz;?~@IOSA3&K7hoW`@i8K z?EZbdCb|adwcdtfWYOzFsOj)BSPE-w{L@g!i*IarcYL^4rE$4P6vu=HjA#_`5Yvsbv%EYwQf6*T+b zxPRqyzq!L4wo9Lc{i6_880SY0kD$7re+}qUX@;ZnKWxF1o0>*(b_*Njvs>6Gjdc2S?_+LpCO)E&b{?9eLUd#%t-j{aC|(s%!A0e| zm*e}?-x252IbFkLPX9q{;77dGJ&aco^(mamZ|7lx=k3tP`&fnki zkmT^8mF9R+R+hwQqr;nyK5V-KiT7;223=YuIlW+j-M`|f?Zx5cJfE_M8aM_ z2d>(u_*c^z{x0n$q_}?{y*D`@{>;g|)|5Yl10gE@$v|;j@kGoG@J62x{LYDmK%mEv z@}P-ORNX5@3+Qu#zmIo}4MDxe^l@%01lpE7=9G}FiH?x{IyfB*fj!#D$Np71H~UD| zYRkV$&p4MA0=tdO*lt)3ODH^N!`h~38)HsI#m!M1_wVMYVa?i|^3D$hzWm}{HQ}Et zCfUEE+mHWe97I<3_I*B8V%JH4?x8$i(dOd?H>^v{`cmuvzs4f zd30YdFTeA5Uk5p(e+e8q&OMvyNR{=upL-TXm(8+u%amTL(Lqtw=+0k;MPS`4L-86G zs#;xKoH(UTIlr=+R!XARa;Rc*&Jo)Jfi^{dK4wyT^SflU$~kXaV7K_KIiUgG)}06Sx(uqkJ8U>(mwTT=TJkAm7e0lw;8RGI>3B!m zY^#nu9*i$4+WJLRZklq{V*Y2mrU^rp8HIkDlSPSt9#y;YS_!pqGgMcUvSTYePCGfT zR@(Rx4I97879O{Sr)=RFm_NwNvjeJ(wg-D3-ua*@By~)y3a-Sqea0Mo};iR z&tg*ru7!Hda#s9mFSNDqz_-?XJ++fL%Su6gh0=H%^TQp^(Xpe@QwVe;3u<9t`)J^2R3cK&{8W6Oqk z=aSz7fijXihwm3?=iK&NpzU7jrik5&Ftyi)MxkmPw@f*2|Hc!q8(on7*GH-ewulT_ zk~FT0nQt5UHyidw2w&>)I?){=DVr}xKD`PsYa8fG+hBh|s>6`69ni^{_20mr?hdll zdGWu2eY=$S_%`+(<>6Ls`2EInK6mHH+oGe+@1#Ca8|v%aa0Z}13Mu~Z;Vz>F+Heg& zv9_x5zLa{lVHSuxXYU9c&|gt{-4B&5W5eD&#myGxPOUo3s?{i2yFCA_^U;n#k3+O< zlwD??qc0YDeQ-R~>r@+d1H8R@>735b==+P#f4Y} zkRtd0q}bu5NI6fDqDjA&%I|#s2hZb);fr7E+BAg!ZXY!1H#lyvqqkgN2SW`e&V z&exeAnr9gt?Hb}1?iw`f-lVUJ(zV`=<)j;EF=6hu5i=~OSx&M1%{JxFmK!ZUx6E0tvdmg8 zwp?gA-*T?yY?q9`88%|NR|W(kX>Pw<JKMRq7l&BA23ekLd5+~I%cL{z`O0>qpR>U?E!SCYw%lRa z+OD^&Wk1VdmT}8#EmID+7~7S+>C7q%w(IbRjjgh^4O#YaN)}eO>oLIwud=++vTmc_ zx2>G*xa766U{$H}b4BpX-fhkK7hieI*^{FeUwYIO)7pjxpMCj}VFGyh#E)$oO^oA@w|3TQ5IX|AXguHweq4V+!0 z5b^mNAZdA#LYGsedj$pN$&e!uLt!%J zSy(_up1843#iQK$l#L8Z z6Yr0ahx;2*l*pb#qO*ydK&^-3`6F}Y3;pjLt4qb_A&^+`sdIjascj#yI zC-NN?G#$}?M{yWA3Nr>>hHgVopqJ2Uv>yF}%8m}2AnJztp<~e*XcD>!%|Z@(61|0L z(J#n%408e+gib@(qPx&yv^ci!$g9^f~%3YB7{rqrvDj zG#NSQS@bdb3AH>nXnLV2x(MBZ9!9UA^=Lb4c^n&q4o~nl3SEKjL<`Y-=x0yG8 z{zh$24w^ksFLVq#16_cwM7N`PD1%-@YtVP-chu~ZplO5lK%K(89f7LRS?F>!4c&4| zaLF0VTEAQ3T)C}fcuCj&gUy>RIp(0?aV_p192`=z%DH54utUqC7mhpk?8v3(L?WCr zaP64LZr-whvv6>*EB-?pbzHDRQ!k~PEU={KQNh{eiRh1INnOvXd!=l+E-v|}w_F#n z^h#~73H^jhUyH$2$RNe&CPuPbulFt5#q1urJ*h~tCDIN9Tap+ma2w`;K+VmZokg5?y; z8p~DASI0N>Nax|fAjS3`?nZ&2bK&q{fG8@We%q?3<->!`@pNUtsr7OYzZ+4lP6&Q^ zcQoir)HDzBl^!}A$>-o-NIw$bk)GycR9(Tzp6-*Om1T@XSa;t{tVJ2(#jj8rUx1f# zCo$53@*y*&*;&a{3Ug>t73UEH_`YiCXM1N;krtG5t>W}@!C#0kzos9*DhRB zXvSqgxB^xC$P1hAPN7Y?!UxYltIBCDxERgAXW<&|yR>H`i|@baK1_9jw@qZOhS#HY z`1<=dc-_bOFIt2bn|9MPfLJk{-rblTO-K)0@8fk@2o9?AJvdK9>dH7A#0@KTv2I`u z=EhhJc@t605(QY0h5xZ$cg}Q|ZU@a?e78<_`MUOE91t&_&VS-A#ETc8x%fD29;OvP z4j6qC@j;qh*XWP#OOvYB@KKbf z3o>xyfyPW&8!%CBzI=qVmAWBwDfa=UlScOk%KI5Jo4mRUbjcxER%>2`}!- zS9rGL#Sf8x-+;?nd{2Alr~BXHaCT+G57K3+b6 zM)eGs4D5RXmB2^fe^7Wo(nKkI1ZCo*u=hzCN2GyUQO{nasphvVDAJ2x5=1edp(qRT zaQBhM#PDL_6y^rJ_y=}vbP&O>AN zCk_024E?VGXin!_O=Ioz)@%jUVIf*De)=<}&5J_fJ4h(7Df z*Q(*Z7t;m!2)ry#YbhRHcnQrb56dQTJizn)hJ31D<*fTaS;y_Sbs5aR|O_eHIR)i?w^_ zlKc?xIyRsmdEtEIJ0wBhU@E4u^@p%Bcm^u(PoXe_bife*K~sr0*E2!g$OMGX!ag^7 zX(I4L6giYJ1XDG{-^Jbp-@TOILsUi>so|ECG$2@H71YnBMS3h92c_~66rT1Nz2#^zH|(u?n)O?YtwTBma0(T~^` zf)6~#oKM~~+;ai5Cq4{EqcMXhX90ub9Rkw{Bp)|s?o9B%gi54UX#4taj3_iMq z9}A$B_%z&#$_KLxEoC=DgYilD0UCx6zsTH$s_}97^h-=u_zdj&GLsBG2Jb}WM^PqR zh5YyeOf*}@u0ufFABFJZfv7J&0w<%v_#~`F)%XH@bU7`D&%irh;n6 zd=#e8CVU#MKn1*b${U6$FyQiBd=MXp_n@x$dlHyFZ?Yc~5RXB_@KJar8iNib)%X-_^EN+D!-wD{D3K>1^TWIBa(MA4R6aD| za^KbL1^5X3^gYG_J`c_N3@*GM9*$Pw#SR}ZM(|>PRKQ2!&Bz=}CE%~9JDxvPO7Mg! zwt#?mKT6}p$I&9ZIQ~Pn057)th=GF_cSk$$VR!{T7S zJY0k(Djx2-g=WNu;q9mfpN9XS*-HNtlNd_l#ia$h8ZU;nvZvt1ZrkbqodhuE5)?d< z{(~Q*u6VKA?^FaYKL00`!;7oX1iZKgO~L2kfWKHVJ__fe9rz67IcNOi6P1I<@}=P@ zK3bY6G4~UgLm&gI_{Qo2dt-$3rf(xk*>P>6W(#!AY> zr(l6Uo~^ECJi)K3O3ai39#-yBV&VxFgj$xE3225A!GZjuZ8km%pFwl+S=g#oiJ7nT z@Kv-Bp9_|l%iENgW%wlAuWgB0jgP^3s1~1r+tEgRq#YZKwkRGZ*73HJfH=B6TQ)M_ z@*;d!d=ehovBdPnN8w*6hWB?WF(;sjc<~`L6)$E{3ZH}9JJT|F(}l{To%js=2n{=# z`9HR6i8*&Sn&@N>sc>4T#7xJFAELSVJZ!Q%TZ|X?K}+%CHG8wgcyV;M64U+^HUN%8 z!|>vTXbe6HA4U`LVtIG^e+q%}?j>dqGy^Z@Q5r8c?NMUZ;l;yH0WW@y%&36N&G@c( zaU1H37k8q;c>lg7<~vl4FTmFO(OURW0&`|B5)z0*2TkT|HMW0=`4MThD!^F>dOi(f zhk9OIHqi4~*m|hvL+}Ud3vfZyi_gGAPxO2QE<_2fAcI+>2tFd^;VmP)L@D?@QhXL3 zcaj$$g#Oxl>9KrpqWV5P~zTPr>!p=ivpT zy)OH*7FfK)A|%#Z+#w~HqJ{EgFjkdfMd?I@o?cewoLd+;(RZVh2J36t^fyK;KfJa zX6p+uFws^H9v}D8MByoycs>T7vOWXXAeEVi118%t;aN!Wi8!YB<#qwQ^BT{m;e=_P zkHagj_k0o#o$mQ4?019bBXFkmDfm3n3bJs)jb54zJoF};9xl9z{&$;~z?>RyK^pFR zv**L`W$UxB;#M!-5AU-+4Zoe?#TVd#w|PDS=il!63_QZ|d=xITKI^dmpEuWA5Qi_^ z@A)iz^#SYQH^}W8I414I$Ka3F7vQrG+4Qi*!=CrU)2)xer>xJw10Eqwg558IS*U<^ zMcDrd&qv@w>oahT!s<&{_N3?i@Br&0@GR@&a5++$S=eHs=l$@xr))e-w0PPsfG=5} zg)N@3@$dko6-Qvlx4rlf{K5JH9QckGAAx5frH{jo@7nb6^!Gd;gV!U{@Kk2Z^IpJY z;f4>qM0t2Y&hv4&-1;p1X{{GufCql!`3O7$9-M=Qcg;RqOdMoNIj={$zat2G)D!gc6t;Nd1(8 z&)WrA_>J`i_~HgHO%~q#rA-f?N2*X3w#a+&ez?PW^A!iMuWdY>{Eg?6@R3b*^FOBZ z58i?hJQAtUD7@7ABpkZgOB03nTc3uH{piJK;GtVQAAvKiPr?2_*?4#sa=Ym#_WyGW z-hwz>ZhaPhgOsQM$87b|#Nds;cs>PpT5qxJw z5s9XD0lXfmrYX3cubOLXOtVt63AtMa4{YxF2%Kqs3T|m()4)r4=8DoM;R)?LAB7#- zdp-m&v_28XEVqFyY|+6>pMif_Z#tHmw~TAzd4 zkXwn(lUcq=Is=OUz3Xg6~+Lg9FBS z@ew%F`V?GmeI8zLrk5rT6Wh-60%m-vxfQ7rDcI?3&xhcX)@R@vq)O!BE$7(uaHsX= zT*d@aIXT#cXa32D;1AXp;EU(E@d>`(RBF1O?{$GV1Fa^5m_mzGA$Z;;UO{nq6H+Bo z@M*N2G+8))G7lI$6@OW&3141n=HMf6E}Dq^Zkyy#4$LU?f%sv5%vz;V-AF+L8@xS`bam50~g zSZX5p6b#%%CGa6Qq=x>F5s;aD3&M*xqZxSdAv71Chnd@HEqoSEOVLe=hu7RiYvEIH zAu8a-Go4bi1267>50yKeR)MFYFdin%L;?{4;xse?pMnR^W%|WO;05Bt-886<5YVawz3C+QaM?T5`#EYZRQhW?PpWtm3fh_zMc{0@8`{)v2N1Y8bSz!u=eVW=lQ1|2j2FTR9^;l-g(umN~+EK1@NGKq!k zY6`%)Xc0aGTR&B5R^mhOcC;FwhNVwaIlLcUjyBFFkWo>TB#X~Ps47n zQ&D^v4nr}#cU52O*7(S zu=8qWv@=;5T!(t%^YEDWXhwV#rqK|529AB7{P;M07mZhXSiX*R;QjEeFK9)4td_2S zmbV22#PiluJG?j*o&^vw)L zd>k%BQG6D5|B+Tai}U|5req7XV}TzoKsERb9Ptyo5MF!)rSalhXc0aKPyU%fijTp& z&^mnbKc(iB0+q&#v$xXscyZA-X3X&cm!EH=|3d^mC-UOI>2JI^6Gic9xCO=V<{t(Z znt+eP>r5F>eGRxQ;FEYURZ?bVR_oLS523$t*A$$yu z-@nX+@#4kdGBX%2zK=%X^Dx@G%uG;vcv_z_GX)=qoepLL@M(B#zcMoyFCLdTw9G6d za2(uoAkB*x4?^qk;t;e6FP@6ZC$Iu|_+e$HJw6J%9!}-(VOWcX;0y4G2o+ZvxDicM zJZw6M%Hb1!%;Y1>Obvk~yzVGQEj|TbIl9a&!{=b{V`x&mxX1BS2rnLncH*OOE~+|@ zt`vvU-}n$*ggWE1@WB(PsM5f9PoV#Y5y0>*QkoGj&O#IMY4|>xiqFH|C(?{~@urg) zsCaP}TBP*wBeW7Po>@)b7q7j9x#5C<%Q^TUUd*Ac_&mINQkfZm&%id586S8taTaf5 z2#C8}My>H;TU3J=_eFE?5qK9`fEVw-g7JYDkDo$Ql#`S zABTHh%U+@M@By@4X<(ZK{qMVwQ3@T@8J~u`CmE&qFnksb#%JLMGzu@8>&i?FFZ$4A zydOR|jSAs2@JqB7Ux44=z%D2ckG+X;bP)qEftg&xfFh8D^KWIa;B&C|3}(2CDG0ue z^e-LanKRj^i5DlKYJ3vTLi(sB{()+U7b|b0OneGnc;l*9i zBD~lO&Buq~?a2KU{2)^}(gw$1GGPNr_!m;Mn1>jENQuJmEEKwgT@)@wKD_uL+QAC) zF#51pY4H*3GjIc%PI~e0N6JhLFW&SR^8r2~a}VlCz%1Zo0jYV@@LM!K%?A>A+~aHw zX~Za+jZeYnQ7vBFhF0Olf6!9Ad7{j;L-W}faX8vRyg2d+`hOFF7=dMI>Li*MzWF3I z#f!tAqE+zXC1?O%ycUJ<;w{LJ&%y7JTF(D;nb`-qtq89~+OP~9@C@-eCbVY~Wo8Kh zEhuCd2hTFoJ;2C>{~$f}$~;H^A^8;S^1PQO1eaQ$g`*aE@v#?}&=z}LnS}k9cs>Fz zL#j{`E|pIZ$YQplm281{`clqh@ZzOtE?&F}&A=z&a-@R9zfpmBahDhA4!jsZtMMtg z4ru`9;dZ3F<|X$3vAmUE8sM4OY$4JDaSrNEytojx$ERQB2!>*K(YK5(!;5>N0r)7q z9O=LCUm#xm8s+f?c=RjY)<@xFr0!0_Jzk~%)hyvx83#y{Nfy43hES+jm1TCrixCvU zi-V9KABBsNn-~6oRAvF5zJit{jd%x|ju+2+jn>AWm%v2Ye}O4R|O2GdXwMOo)2(Mnn z7F^DiFnGv2OueKL2cuei6t;Vp?jTJFE=N=G;?UJhTzIis!i%HO0DK%ij=bytm>gQi z0&x>si5Cl~1}~oV9!-rGC!slb@dczbSy=ME*Y|!n7!A83;PM1~KfKs2N2T%NQ3>As z1df8k&_)UpV~EdUE|=Q)EbROtqxuQ97;Z!wbOpHYM_$W?;Yc)tyyC@Z3SR8KhEqL! z7_LJ4Ynwz4GjOdpyG7vnXeEin-_ZiRSn)AijQ7LikeR}<03NiC3K1_JjdJ)Xybq}> z)9@KIhVxFKEqe|= z3CFHy(BWh7>J4mw;^D_%F=ycO@QiP$w9F{Dtv=lEM zgBIYU@EWB5vlBNUA6{&|iCvjAAvgq0AzqC9!1%(8Gf+Rgn3&C5cLHg6?2l{#o*#0V z>8O@tKR@C!E3M}TTBc?T0y9-jC!8-o|qXfE_TL+~i1cySi0 zAzpj{O~I#OejEM2jzFG3_wAhd;>B~(LcDl2nu|}u6{z1-j$rUz6vB&_|4KjO#XHeX z(u-n*r z>F}4`72!SBr{S4@v&DDO1@K9fV#VV0f2b&4d>4(!i|bJ}9&-LiU@(CKY*A8f(s)07 zue97O!{^|MW##S)VsLWPa-bNe8jS5<)$x*#7fi^?}zJg`i?VoeJ(`ct!_#=s zVtY1BjJKqscyT7$P8x9@%HtCWt6BmYuvV^TUTxp7<<0pfk;W9sLSxP)~dc{)i^x3-BWT%P@nF!xY+) zAdtnB^S@5MX*4^091X!|;8~$^GaDa=45LE%D+n z`;nPLXS^3pjx-L$bM|K(kVd=}EmL~9Ti9!@5Zr;Z>zdx>=8it)CiFGs!-o!{|MfvI zb5OZi+26~MgQE`fRuF?%9qz>^VFqc%V#|mZ?}v9Gtso8mwDIPMa zH>>dCqi88!T!|LobMQZC3VFpp(RjSeD3!vGhw~G>4InTdK8=RizUVIQ`@ZyswjTe`o6kdECCGm+I=07NY8#RTOkD!Te;!FmZ4WeBz%&B}-ux1x=BvF8{ng%=M(S-f~O%HX3ga4s!ZLpiWF+P<872XN$h z<)$C;BhO2en^OpMClG_rBh@+&`=8I&a5*jlzeO|Vvo-LOiL}aNeEfzJE=1%NFF~X5 zNq8GtfESOsh-Sx&Ls1eRh4-SGggzo+PPo{cOrr43I3s%%O%0E_#H&ye{^wG*jLZf2 z{A9KUFXpadV!?~sQ4VjeF6XPf%po^3kl~Tn(zuQ;FD5SJElxoEI>|(X7fY{a z>+xbG8h{tuqn>y(ovlLJb;VbZS}qHR-9VRVHiS3bL`#r91!vzvH{sK;_EvN=^M4-m z^OSdLB|d<{xA3tJW>5$(u0~b( z9Bh3DTdjji=nh6bn!^I|Bs3i_?r|skE?ztURpZ6cXfQqoSD`dM2ltxIbc+{1b2weY zi+QvZFaC%Y;0p=N^K-nW6X)GS?QUgafqUP}){`g&| zO7e!_0Hlv^5qK_gKOsTK`W&oC)Bh^SkGbtZb_p`4VDKR(8NB!_8jlw%9%k$DemD)O zzf~;t%?QjPAO=tkJ_J`G%>g;s`*Cj^ zL|})fnU<9Xo`baFI9zOf7RH{TC8&h>3#!74r5Va0uOEJgs&#fNbKP_7awHN{D2x}A zi@dD~zrf6e^g%*gjA}?DzK*8g~1~ z3A_T|LUZxrXEr|aGAmogfFeE%pIPp0aRyF%m5R>fmoo786&x?{V&!XWG2Rb*u4Itn z!|*n=7B9|2S$sm~g*T`v0r7!VY$aZN8r9&%56~36*ynA=1U>?5F@(<|$jRcYeX6C#pHU-xs9gxJ=KICwT7gwSPUR;er zcyXDS0FkXBJ^~Go4J4ltt!J%Jzl}N!ikao))JSdMReG(4;igAV)LmTO0 zyqM_8TMdCI{0ZrZSAf&M^?VBM_MPWL@MpA&^aZ%j_w36leuf2Sp#t&Z5>$&9-?2Ui zui517#!2`(8jxcCmwEXIYDGcfTI9!vHdHatX6_Gn1z$5>|m>^9QcK?NsSNI6L z2j%eMG6^rv+Riw@i+7_GUVLzSqTD12WC(0UYC7{PCzGgZ7MIT8(EqY!q!CA@!|?pjW57ql@(?gUOc0Dg_(~R<7hTsd=+Wp%EI5!4&ueHsw(*X zF9DgKQ4U{#H@Bc*J}`(2P(QqQ*)II=2VR_teE1~%3eCrhl`Shw3NOxSRbi&!#rx3& zy!bd8h0nCANSJK|Y6*xJwXQHL@!}I`5k4GXYl9W;Czu%Aj5H<+aBUkZLYL*?mUb1~ zz$6|X*nu?Ujle=@Dt#yMuy+?)1}{!QWA0@BmpN$H3NwTS;$f&CUL1zHA>-B}qv z38(Kt^WszR6|@#FhWDg9@ZzCpAwB}nMg3mqdLmqay3eLX;kOCif&{*WyLPQG<#_Ql zR3NiB$$D`*$`hZ0@9kA#BBam3=6icB;fH^rDa4D8~G+KZck3)0t;%TS`AA=VmonniXJ=rj>35r#y9PfvxpaQdP z4Bpw3{?D;XV9a(jm_*_Z6vmtVC>(9Ur{GGYTl2|qg}J16h4(ogI(_IWCayI6180FsxVo+SdB7D4>uug zO#wRnyo#n_tNsi?(uCmRLp`5`rygEm{0!b0{5rz;NaPq?gDT8JNJl*Jm?JApltkhP zGypGFqn^qPn;%8L;zRH$q^-}uiN`Pwh>ye3L#P~H{1~mnizgmOx8lXbINlZz5N|=V z@hP}*nBC3bNyF&|oo2z6bw0{`ffO$eIFSlDd>I)IlknmlBj`%Jc<@O~Zg_DJs&bhB zqnN1@`*9LJgmktlev77)LHr3##us3$8vijZ0aHkM#Vk@@v2r9EMtZR|nuAY5N1oYG z{A48kznTS~5cm&TrWL?ZC)*XkX-I{NZ=eEc#P?7hpM%Gp;5wrj=jz&6H5a*z(dpIt{*#93Pu!BTm25rKNIi&CNh=-125aGqaD1?u~ z38)4yZc-R87SJfX_zzNdhzFm^fr@x>Aewy-^M4fc1kynz3%^1I5{bW`#rVLBf1+i0 zGoH#IUBee|LH>IKF7L$~d>Vd;hT+BU&#o|i@#3GTE8d*L7)zY%4Ui^z#31xdIB zrSW3m{0cJzFW!r$;?uAesgLup=LPKF#EVBvWH-f&BhVsz3~ol+$moTXkK_{tO#C8m zfQVlrT^`ND@o}1!%yD=Kv;uRHUE?&F@&A=z&4@g^+o)41)hLA*-$YaK;=?y^wu2X6M#J!8Vij)#2;|_NH!_IuVy7B*N4&Tv zO5?*YhQ`mMRp2!!iWg_1et7Yyo0;eFV)PdFd%Sot+DVIQX)5F%NMMth z^edOz{O}N@eOH{0k`yHFdmDohAA>(5r4QX+VV*^`#EYxZD!h0?ioF0Yo`dG&#l2_I zKeGv>XR-U;!ItS*4nMt2SXGrevgz_jLxSe(g{W;W-MAn2Jsv;Uzy<= zq{`*tFG$U69;q;GkbDwuM4BheqqO4xwRHc1a}V?b$KP0=Uxq6yE5oV9XmT+b7Kg^mR-5<}- z^Z9# z^JRB8SE9^MBi<*5cfH5uaO4Kp`*`2&ud@io41v3tD^KZ1EWyytK1VjZ4{89IDCrs;f)!{Fij zP0^j|!RBo>%?BYK$nhnJLr~&n(bs!_!0%wC1tm*tEs{HYkHBk}!uat2uqvkct^3I1 zt^(8a^Rt+(!>^%KG!XH{m9A+W9)p|?PsC`Qd#%DQS^Oj48b5Avo zefS?3>dqLx{cm2_OcVa_X)CJ3#i6ULse$lmhzGLII0Tqs=I|%z*5NNd>-^B+eK1~! z^BAqeJs6?OyxTx?FJ|}=#EIG9EB`Tg+xG82i1(4Z)33(x_WyKZ=%@= zcDo+NpGU)!g||mthrfiH4j+Z84o^Wv=lOx>9sjZgJz(HFYg}47oDX#PSq#0)G2_$f zp3M006)(Ehb@=C4slyd4)8Y9sto!*ZFFBl+6Mk^5y`>*4iYi7J2oHb7dv_h)0|PpI zJC^G~>wdkQ4|>&`3mrZbvvhbOX6W$In5M%gVv5f5PU{^1_(@j8QgrC>BiLx78ejZ| zLt}h+vo{?Y9X@KkEzniY|Eu}R8NLwfj1ND8nhyUJ%XE0uTP|14#bh@Fvkiow#7rH2 z9T(^ZPj1-lI?wkaPNIH3`JHCx`N!`$CwwPV;wKQ7ZnEK1$)$)}c!|&cce4xJz=S^c z|A>EnWNXYE{vSr@!vAbN;uny^_u>NM!}npTuJU%DxM%3_U(u_>J8#mK^ymy1qpfs_ zciptv8J<$~WsL9Hrtlt{wIyjCz8XVx_(p87pztX}+L8esJ`c-viRUA3TvdJo@i9zz zN?V&>*SCB=8Cjj@9>g9hmca zZY8{!rTEdIZOv~+dFU3+X|nvaE!ze^&dKs&TebQ74{Icn-+$Ufy2@LAt}W@)Dc;Nf z_*vCiejRZKZ18I%^hV8l_;220YqETItNZ!yh`mzhi?(lWSU(qcXiFyEZR>X^wk6x7 z+mf*c!e7Nm9X@%-wxmOcFT+MF5&kLG>F}Kx(EYsam+fxTr}-TWep|j%TQUKI$DW_U z;QNX2s5ZY*Wrk#zw&V)LH zILDjsX0JSGFY*A!Kj|MR;Efn!uY`*uzUpMLpfvYlya&QB@7b1&(&4u;T&KshB_#}A zPW*dJ^`;}d$zIwt;T#Kb3*V~%E!o%xeIYl3xIYIVr9=|GIJl29->m{Cz zxctH|psd4nlyrELeVWHO&8H#b z^R!c%_k#jogS_R0d-5(j9WG<64o^JQ3jNi)DLxH@fBzM61E!lO+>35q;hj&nyIyh+ z=k3pQXpGPDrP!duf9SSyI{X}#>+nmMryIQRY$y4>?i1X8PV;<9@sy%3u{C+VzSU)Z ztyeAD~-@pFmEBUq@DlKRDNUpu-;`t&7R`-02FOAOoCi88G`*ww&Y;}#dEH=ld_=#56_+!L}Q{f+!9DBZ$F;3P z#@|5vZArL{jrY0#NBjco%-rA|u50dzG=G42-6!W;yW=yhkuKq zy2|U&t;1KB-FkKS4vg0|{-Esm$8JwYBLWdtj zpAJ{itHb|8zXgTwxyzI3@WYs{!yAy(;mzhdWIFt5jL@0+uK(){#BMM19f<3`pSSIE zqM0bo|LwOzI=Roxh~JVApM-|-;Zso8dH&q}&6nv4fBONueWvkz(BkHeuFNmvf@k9W zzc}qT&D~qz6^M5@H6H$8bA{4;CE_!HGQWcOoTtGzEphmMW6$xPzx86J!#NDm;iDgN zF6i*or=5Vhz>T6Wiw!jRm}i_^I{f-Sz1ZmRJD8!vozJ;6b&bEgy15b=J_&Im*Lm3U z7Hpbu9;jc5~2mK4@)o?Q;C{bzWYLukg-qx~`-7 z@bwn3#1sFkEjbiZbogqF*Ws<-c4&0?OBkWU84T5#w~H5J{Dti_#KSU;o>I$wkr&Tx4?2Uhd+n) zI=n4b>F_rY(`5MpEH-cWtM9uT>hQiO>2MxXbod9Y@g?4Vqm_8b{Xb&y2VM+J6s}^q z4nKiaI^1ZD58wV@Tl|nuL-=9jb@)pk+F~6(0^@Xe3P$TZUx~O<%DnC)$3MQIO#auF z+=BS-wZhL~u^Gaj`q&w(!%t$CuJOyCxEp%;4zJ&|J*gVs;FC6MPsabwO^Gi?Mu(66 zRC_X9hfhR@KCvjevC+)o^RZf&_#MnLQTU9m_GG#a{{-DS{Flw!lS#V9#jV&^MtM2lVQvJViTW&VqzfTu3_y--OS;?pr*sGqN*D_?z7DWW%>K9F7UEe zS9$p7+6P~<(|i#IZ|%GRgFj8%raid=gKzJ)X)h)(4sUOMgTdL)djhxE@M&LYPexj~ z0zZwJI{evf+mnJ0{|-}h_>Y*V!vh$n>zv-s3hMApX?sYA7oj))$f#co+0jbegie%pCqNrs?qb-P@DNIy@Z{boeri)n)#B#@@QoZs(z2Yo049 zz7X+-rNpnay205!9RKxZ7Rm7#(Bb>{Y)=;J@S~Wg!z(dc*Le7t<`$&+=ZGh+@CVWH zo^h}CllCkZ{dB_Kec9pQy$@)vP?rCbZBM4gGzYdPJD^X8=N{w`7Y#)0d9dB3 zvwY}y5BTrWay$*O>%yzB(lp^USf=ZoJ;dR=#JpTVoXFw*4sB2Bu}ppdaVb`L)dc5L z%*(|u9M(K3(%f-)bLK3chq!^1c+C;bnF|x!lg*E8PLtw$5WfN0&tLdfbGN5?`M2AX zRMiQ1Onb7;cUsHm8xi0AB*(TVx553Om{i2?5NBqUPdUyt8#D7|h?S`DlZY*-^A3}n zE0N)8txg^9>Og$E-p~7=(Cq9KdkTX$pL~1r)T!;sXv?qjiKjXK@x=Ml>~h54bcRk$m+`JZpnxhN~Riz=(HmUnCx}2U2hG0Vl zheL<2M~^P^(}>>%4G$E38EIgEe|WjurVc-ajb;dc>Iz$}Q@ju2ScZR$ZqtXaz+@eM zALDiS(=(gn(>xPvjSmmI(z&LK5nn)`f$*i6p~JIV<173oV)up*xXR^cn(!%Duk(B@ z^2>c&&d+0_4tHH`BX#(*Na+HsCI!xE$+3404 zUXG4G`H2``bDcwDeE0^ejA{6u>s$8*UQ%v$>ITQ@FE_NVOWt^gwX-1q$7ZrWX6W!O z=+@!;kkjG9o!)5Z@J}&Xm-$UB*Wvr_vUg*8u40xB?=;^YE&kb$-$WUsb-04zI(%)P zo01OShz({A&&OIFz8|Y%q1>^cJ(*+ra27o}JmDUfpbqCSRfmfw`ZCEtp0CAv9bUT7 zLUnjqpu;sR)ZtClFAEThd$1igN>hMX(>hKScdCdL4ByK^&1L5UZ zt;0`Yg${TA-g^Qa-X8OGcrs?|@Clfy^Ssl;PEwuW%Mn*inRoa@^RAlaKmWn;AG5-* zNE!G9X&v6a>O9bC?)sy()+s)6xf4)_pG97Why2NIjcND>EY{&u9&;I?aZ=5$Hjw8F5%2ZFdp~6hj1TXF^*YO!{H^)wSK^DFw%h;WWty*f#)Gx$G`?YW36jchtI=Q9ljWo zbcMhBO7j>O_@h^woqx@-$KbbGd@JIQPs8_Pqj|%Jud^{aJP9jxG2&P(Gf?6~*4x!9 zy@mQ$d-9pLY>f`z`L-)XhnHfcuJS&O=C022pU`7`_~-Aq%yf7@^17dwV}lM~@vh^) z+JH#rzh@F=zcyp=@|TZU5?M(tRpEIU*P$OUER-bVWsim9Y58P z^y%=f=+zni6Jn)nyl-2_;Hzl(4182HQN)hz9mzn<%-3U`4lihp@8|W1?~WVX-qDdv ze!>qS_z{fP;WIbyNHRKn6Vf{Tqb)l8SA7mK=eO(_{Ftu7#eez|Yggwpw`y)#fv?0e zGlXABbtDxX9{!n*WR?z(#ta?46w`ExxBQ&FqEmb*VsGX6Z;0p0Zqt$ce7LQTpZ`|G zY7A}}FZ+VsKFP_&|A(R8bcAc$b|f1tGpMmEHyqnf7gy=jt>9$D;>#9 z9j@R49o~F&M>18X`1gpND2FhZ~F&)Wl z9liu59lj9-UEu@wYA!U#@3cDky1j+C{K6~uwgILOufcL%=WmX6IG*x5!FU4Z+-W{;u-*Uj;!?z!S>jt;UE$#eHW!rU+ge@Woey$OSZMh5gFBLWI-HER z7h@&(D2)D_pK|jQ4AF}+X86C0LL?@SlEbnn->x$ruj%s#^H#xf5DLx(X zAwz)|w#N7Krr&PvtrQ=6O!I`z@pKG*+UG@l6*hXV@Vm!2{&fQ)c^@?${`VxuR;Rwx zk!*8pb3tkDMQmAx4?3>dIli&g72b4mYejk6xt;206clhV?{49V+W4O-nuQ2#=3;!9hay1@yO0(1a1H|%6{1D=w zZ3}OaH%-xkB8FkA4)2Ib@dUg8aiWDk#ysQ0!%lT9b(+sctVD^|V72k#!%pk)@BH~8 z1Rsy3I?u`J&Zkw*EiT^f%XkCfJ6#EX2_plwejHz*E=ya z7n36mEHx0Gj6R*`uia>^b(U|LZEK#jmHZAS>+p3qcO+wU_zsNJ{d`Yv^YHcadsu9I zc++2asn+33(DSVOf5df|9t+|ff9VX@8P3n~3Z}!$5XY~|wOhPs86VEx>Wu%V73D*2 zb7L9sSF(H}5}oIZ5GQH)q>9_N@!`{pzKk+Z;9kV;3Li1o3K<_h3V9u#f}GCt!M8Wh zj~t(h^~Q&nW2Fu+zQc=*4!@0x4sSWn<*JJ*u_JQ-@aB{IFDSmaKjnNJM{;#c+4qv*+A=cr`7dig343rJ5zSnNmb^iQ) zcH_(LZafo1?B4JvSZ|u}R`;7nr}((vSW(mDc@FYAe9?n$ZaQ4T7#+TJi51tEE-7{- zFD!Lz41_hT+4jPF~Z8Pe7l}^M4TMM7Z}6E2_hf zVWqC|?vFYTiqH8kk;G?~+X5Zl4nuUB_eQS{cmByap~HXrv)2n9ehHIwc=N|>u}<;% zh(BBk_hYf~;m0sf*SPq)FT+=R_rmY3um?O49{#v9T!(kZfDRvz6*|vvB5&UCxF>Cm z4j+P1I>)bKjt-B0${y9>Gcawn`+q^a5D(bZbsqCKZy-$+{wtR0@GDrT8=QUG!k%}@ z@mbGUY2(A^W4$i%LQFGFc;)kMIyyXnvAWJjyx{o96X#y=T8_BBD_qB_n23kHX!q&x z_NeIa0hpn)d;>aO@R<+);bpts`0z^9b&Yph>(H1cyxl7{KyOzRU%?0i8NL@K9Ul6s z8<7rggUK-sABfdDJPFHn_+~8B;klTj!+n^g`}sKxUE>Gae9&u-{{|049D}tw&mUpD ziNagI?*6aCUqo7G_$I`U*(!Y48_id|9N&cM2fpd#VQ<<1(}%x=$uTeAfrXlj$%=ou z6B!6UjgqeOL2uc0I(+oocBKyIu}p`jVPf5PGrR^F9p3L9Pp-qqV2BQ1hz;f~@e%LF z;V$~lR9q1QCJO)XJ!`GQmtnFl^B=KHhcg@ORvjLXUY+Av81kYIr1;5y+W_Ok|3FRG z`P~1QZk}5{4=ujm97yriA2d(EG9UeM^Tf<^&!(M&Zz#&#k7=GDe8Og(Nlu5Sv~?z9 zbofGy)ZvXt>7>0gxef8DScU(HIPr@SU+(Bk$|efGfs$_UM~I2S?{#)2tBnu;xvMi- zuEWn@u@1kBc{;<4v|`E+@q|V(=>CIa_x6|KD%2Mq76JUy3^YQjq4W zhjk_$FWK$f`}xknAFEdQiL|Zpx=`b@Ms^PVtgpa7-^t3xa(ML4&Cc)ztuFDvuARwP z%dGRRyW4X*vwN{K`Qez(!B4JB{H=XDlWq^>_MH*elXRW`izzy} ztuy%ors_2Bi)m}!|Fhx*T;PE`UyK>L!b>nyrz)Mv_c2SC_(N1;{M^puIIPlno{zfj z=Z~;Hrn$Y---C808)6zBa)-xaJkPkJ=tO(P78^KgUS~2)7x?dYI_A30SKeh;#x#7u zd?$|1@spUXYdo^Ac~)omlvY=G32L#N1)a%v?{R|b0`I-hUh$!HwkYn#1qS+g>t9>j zpW8)z$|9GR@p(SuUR$QaYp_y>JNrA6Wje*@WAGac-s?VB$7_D7%4?D6@CRs^KDoa$ zIR?d?2O@68I2~S$(YngX630x3cf>p$9=FszLx&GWN$2=V#J6B&zT~$~I^#=xKjL0e zn2du-b1sgrCMbGlVz(&aTtpwq>13Rj2q*zqeBB>~`MeVTVa)_*_iV zWqu5^be$*s!HKMM{8MziZW{hnwbQ?bUbIj#5v6#5e~W%y<$pfniFJdI`jaPq!{OjB z{@L!;8U7_k>k5DEvDW3vCnB~u&qG!;$EUb})us=>RP?24;3XdQ7rRS`_s1L^{t0I3 zaL3~opu;<1iq7!mh&y1JNB*_h8NL`BOp{t^!~V~TzG=hwttVW5x|lra*kEZqz+bA_ z%Jmk?{piqD-t8%ONuA~IV1f?MMox!+fvLK}r~b{>>jGz28CHLxA90Fb97hZL8O>#onv0k_+gZFjW>PWZC0l^i;B+iZV=EECU6;4Y7;r z{I$)xlGVm%`H>-A$$DMm!l$~D-x`F@PnRel3wbb}`h z?Mf!T>;9h;Q@7|!`aMwKt+wn+Hs~~eajULm?0b$MpMqGqJYS6qj4$(VFhke)d#SEu zrY`X_pXo|w>+p!JyZmOXPr&(fRCR%`-MZM7)C}|+xMWyYGN4QR5#qC;^k=OchHfwe zKZxPF&bw}7%XEgvecp6B$CqM`F7v~fr)%8y16o7Hz$jhkgSWF6b&jva1-inkQCw)CA$Hi_2%X_m zuvQoNI;@Ww_#tf2RUWlNS2E;3rsp!o>Iy%MZe5G<>8@mYjOSnO*p)1c=0m<{!``<- zU+gL-8@|+)WDO)EyON6$*L{g!M!XU>_`WY&>t{SMuSV7M;WKyYN-8?M5+z;Z;iI~e z6*|rTK>Pt)owwbkYw*W!;Y-nY-~B)02Gq?^;Z46{%QiYrTpDc#9iFk960PVwKq?)b+?DI$3dbq|Dh z-P;0m_+l*6;cHvt%e(-?KlI5spFP%=>G0pN!Sr>Wv5%A2u`lrh`+8#2RC&~X&ApY` zuh^9wX&^q+4gUg@OccHg<8?oOjM%-&I42fL#@BeuZ#c#uxl8g?jMoLe5)*Zq=VOxY z=f^QcC;N9L$6{L1Kwiv5C1&8hK-YP~0q%@34PT6-u^IG z#Q*%>2Va2+dM3Ywf^P7r!<&09oNslVcRa#5^gs9iapDxjLi4=!L^D5VH}dmXYC*}7 z#-pm!ya!h3EFXiK&hz;g&{f|2TQ)4F=aaEs7kCji#58>LQAJy6Ab*s506IQ)58$10 zZm~MUKg0;#&xagsi*%09z*t@8CCKVJzlVuB`F2T_}nxFwH=j zZ^s3?%0rH^+jX9QjhQi?x0vK5Tc`N|%+@*nKIZ5W--mfIJ+Hw+-Qcahlh-tWldQ8KA$2wi-jcDlPxUOUyY}6GVK=O(4lN~+`)oI=X z!*p)4>;H5EBMcPya*Whvz5}CmKR=2wy3QkycQer?{v*cg8o!N+Iyu2BCno6v{~r06 zhPOM>i<8dqQ7C*;w0lJn(>+k;M^K6x_-*v)WQtcvly!!WLa)yAbExPB{}+8ae9B2K zT^&9ZD|CV1!+=gsc1te$verPJ7onkRyvZp}Or7Eb;UDGpPwjOjH({tw<-PO4a9!ms zPIY4HG@px%F7v$@8`JO_WOZ_y!+{C9m==2=XCTL?W3n#r<;d$Y-+^x3&yS*@>pb#w zdroKgD3o-8uSbur@*0$NYO0Mvug>vhQyu?`fwF;h=+h0}>kPY2XT#rh|JPOS?6&K4 ziqAXC-qIz$8ACTQ4Zn+FIyu{uVT8`{pD{|;c<*!U6`eh&=yqsef`JOZgvq+WdrfnV z#zg!$3cAMcV1`c4^+pskb(#N(a*Y3;g`-zz`6|rQ`R{w##X?=tDiX69;WK>&oEu5f8-u?hP%-h6Y&!C>neZRp<1fbd>oeRJl}>-`u z&daQbPVtw}(BW@lqYh8H%uGW!vmgVh%bhGb&8sn5H~6+I98X>48)mx6=n4=0i3P;; zJRRM-#Gkv;Ej-5aGbrggr>?T~F`n;1S@#!v?7E+Nz$YO6{4vIQK}xQ6ys&Vn8F*}~ zvpl)gd7gt=ySv@;($@GY545_@?bmqW$+(yB-Wd5cubg})it`K<#C3=+b6@mV+(47GoWJDq5F9yHtHI`jbtyolsj&OPVp$L&>5b9n$Gbw4Cn&)psvf@ccbG! z{_CE=zzR&%HC~TNI{BHk#)!SGHIKzeo#n|Gt@AtsV|0moF-})_DaPw6uf{}O=T9(6 zC$nAu+s<}*7|8G;=x|(fd=65&z}H~7F7rJ|>wbO`qjZheA)_1I@$=>(OY!JdXLw?( zb9`2GF-|mbP3wU&-_z=TUfJpzzmN6%TkD&wGzRYtykD!cd=6G0V5PaIHNMREw7Q?4 zY;}!`Z?*;++;MYjt$9?dGd!WyIlc(h1MO<=ZH=$+?^<2uHLb4mroF9Y@~Bp4cmh@( z9H0M)ZVVf5t@(P4&=p>a9$n=Dly#jqBDOyHg|}rG+!H(wQ@`o_;K`VMi1UM|qpnLl z2kUe{ulR-IKkiV+&%k<&*U2v(Ys}PX9*cN_ET4(x6RjxUjB!U=QC^1pVOEs?fo@&r z4^Ys_uPhVe4!6uO#_McRoP>!6@;n`rbcuU0>IhH3%aGAEUWb{w!9(Y`|LYX*hS@sH zlQG(g=6MFj=n~(8ak|1wQ5nQQ)3dm$?rszvFoGlUSu|{3d2kcK>gP&s3ZklP#3@!#thib1=fU$_2g= zBXxzBVzjREOBkaY+&R~Zo?t6^7mU>zJ`7o%OU%4>)}Ri;4fX9G;AsI?vOw?BDMHC2<#q|HrZ66_}uFybiNfy*Uf3d$Fw@nm$kagi!f}66P%yLQe7{K4-ij~EV5OIPV=Ey7k>xN-L3Hj zp4I9y_qDp8pT#=gYSnr3dmWk%-~I3?#4I@&&>Ku2s zy1+fHF7p!1v0+snXpOJ)##Sfydk2MuL;e0w`T_T5#0QY!(^_5N8(UrB5sRJ4F0(Xe zF*rS+jhS26i~LrMKgd<^8+Sd#G$kJTpjSonrucLW{-~B8+TNG=qw|OO^GjStPR8&U z)IZ#M$%~tR_K{6)F7lyb`{wq~T{^cq zxBK?O?bB~B-QIKi&BwNVcKfZW^HI>E_Xe=0hclPe?yUTYky?fy9 N)NimCYq>;HEJ|s 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%0A*;kGybo`P>G(7Zz?pSdvM%TAMAuw6UhPcJ?P; zo$GgS|Iz*F{X_eQ_ZQ!H6&YhwdM~zvV#3f!KlG z2lqUfdho!5{SQ|5Rrh)O>iZh|Hukmjb@avhy8C+icJ%f3?dePP9q8-tJKPsL*nP0) z;Esd62lpII9XxQb|KQ<+0|$>B96YGf)|{eJsROD0)Zx@X>PTuZbu^Vu4W))tr&4Nf z@m}}d-o1PF9@yKzS0*5Smj+a-IOR@Nq&z8asw35#+CxdZMCIPQ-ubNPKMLZ3{{!v-MG61_ literal 71168 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≪NiimKbXB8L0(2h@u7D5Xt(pBM9Dv}23hTk&@F_AYU+#pBelkqOR| z_I*8)Sf*5QrRPGTKtn;1f5(=y9C!3ZRkr5y4{tC5wz1#(bd)0W7et@1Dj{r*b1m2f zTGONdz|}UJT5GE=7a^ zXA`*TCF$-(h3q`bcx2M^^Hj;?m-hXfOiI>}IJBAW`|lHY1PXpo_p0Ol@(}~#o727) z0eAii0cb*pD*6wwt{#gX)xGFbj$HJ>+@iBI%lSJwZYO8(w$mzQy{{|}-cUCD2DibZ zG{T~Fg=OEm8vEAgWjZ3L4dhIh&poGoz7YyJ=a`?AN`rlF4F?OqpZ`_J*7sw9RfLB} zmFMxm4oaY%QYDw(8V?GUJimiM5MD~qy=h;Z0yE*C*x|)gG?8#FC9|W1$76upF*3l|lSo^SRe7 zMfP)}No*;y7fPcveW4n&`a&hs=nIA5S1nZIVUe23YTXq8(t`SIqj|IH?6mKE1?jfu zh4(7Fm7Xi3VNZSK`Qgo<*BjG{pO=YFRO7xcSuTbvS8O)fpIii3^~M=UDq>GNdx$%N$-ZOV)en`U;T) zr4*4orQ`e&W3@6*kXD~fq1u$y)t^q&pNUBd2`rUBjN~#~F2dYsR7e_y(8``9Dtf`9 zP?T8HQRF(=+*4H;zL)Q{%6VJpSXVvVb)5~HX8b@-N+(u&q^4i9pm%DLjSWN^`T3T* zjFpU+YwT)HcB%=r?uz$Q*OYBE$H>CL{ly|`5Fy1L4BUrQWAV({B9_k(865FrZl#DI zV;}|;_m2mJav6C-)IIHQMS!sUP#c1IbcqOLq09i-MnKfq8#cBXU-AK!`~}&&P^;Rk zHGd5|;Lbi~Gwvv0ADT0kvX8|1A+WK^+6{3TuX_Kqwf%iQAYyOUOG@)>AY2?XIGP5R zk@GF+(VOKg%}JulrJN%yjot}abk z(d3BZdrJ44oOFefF5QV;E=1D7HD2A?g;3gV7RG{my!VWzf%MfT8p8(sYMkm%`M!vp zm%Nk`g}&-gBgqy9r8EmRtAvg#kih-^@Sph*Ux)E(+Bcexh{6|y=}0G>7h{0TqqsPACXM6li)PM4KTqFa1OkLVJEidr4n=9q*6` zi?&~=O7S_+XpA7FQN{)aAThCbyv|DK{<#zByYf1#oJMm#OP@@A&iCU= zk^0T|;j;(~`Jav}nDrrOlJc9Re766vdP)19q7nq3K2itwtlGsBi%4J&vFeZ+-#R~N z?XMm8dCvaYEmD~bQ!#l=DAOlrzr((?*lk8hCH%zxhL-H_lGfgkIsE=BBAmLg1jE8F zBs&Ko^st|YJ;W_>4(9Jm^Rce`L9#LeH^0Ou$K3VNBpmJM^9Hz_JVM#QV5E;ry-Rv8 zD%8?z_>OniXVGLa(jDmlUb6(oTsg~`U)6aRWluW)6VX{HE2qbz+hw5Mgi@IbVX-&D{=Gg8su6gfG!QuYHxkJG0s9`=}Ww4 z`T>$h;qeW6ZOKYtYJ!iVLHvnCAVwjb{zdmQl%)!bs(E zQpvjYE6scAYQA@xIngTb?M{+MB#HOR6`1$0mO>=DjevEOdfHdsYqEhH02ttvDpcy6 zLWPSsmcpHao^=4*lu0LmZ3VF5s!dK-VR;O5s6aT&lHW0kS z3nhUQzub<`Y_+QF&id7_40m9He5}(5YcVc^qv*PYSe1L zl8uoxe#M}%E-XYq7IT0cs4}Hlx&3m+OLQW};-zavrv<|^&_ zHdBcCF>UwAzmSG{Dmv1>-o*3W9eK&(H$AKmp_x~QpI~SAT`5g^DkFReKGVZeglE(9 z{$98D*K^-9?dJ;bHH5>z@=G-OP{QAw9P0f~-QIuayjvAJ{8kH=o;U~f!T_zky=>a< z_H??X@GG?CYsyl;cLQg7*jk#G9=2ZnZcx7_zgf5#jN+>T&DVlN3vAzvNo;jN=lCv z|H(86Ms8D>vQ?C$qtn?DoXzDM&3-v3t}bctS93;vJ4Y`$=D$EpQVjP;^n0+=`+yjd zq%kb}Tz79F=sL|P9#%z*HKWPXRmORu_;;4cXyBaqFj-mb(7b;haub}p- zgP+X2N~^uo75@S|zmqAWmK%pS{?$M+2jpFFRwN#7KuUAqwR9H@J?-1B;!58W?k-6- z@g58A=XNE&k^Y;Qu|H;f(Dh#&AH`mdsI*Vc7lZI;C4=t%Gmbv;L4G5_&%Fyi5Fi(h zOz@t14S#i8>J=Qdb=Zj~iznmrLoxOBNm)#dq5v@Ewh?tEuffiEiG`;>FvhyhXEiun zNFZ4{1gF#8n>2z}^IoF)plK@!_Jbx8tiUm^Cm35cm>fLY75uz~dA(Cx=zdM6tJ;y< zaJWQ-`-AbA`{2V=IH18;@w_Bg$EyBHOxpdy?FjKwkq~RhR^`u?FX@SCDpX}HyoK3i zX={d}E$b8T>^95CF5i1W%Fvrk-S<%(hRUbaYkdnTn}arQ5}aB~G%EJw(kjnZk16_rRAw4B3g?kwWuP}q9& z2gGGxcAx`_8AI-*q6P}@mx&0cx3Z7mPNa)k&drwEL1Ng#nv>S?Sx(mLa(S_PlntXC z*jI36VD0Kft5~vky1$wQ7WuPAI|vjDZS~z@W-;qxr*8a(6}AXeU&s!R+kBT%#g`D( z_GdSKkuqeVogQ{Sgp?lkfcjmmejir9kE`EbsNZM#RqJ|Ie2b(vlcj&XP3Ze?CrbH4 zo}ep4$t$Wp>e4xrremAE1`Ie;7|OUGqou z5L%PQGIgU4b5u=(@m_Qawx?evnpczOUCsNaH?$&bTADnWvdgr}cQR#%)Bo)Hw=B68 zt`aM1GM9*ef%!1=)Tly1UPh;c&^x78&@*x(4%d=mKF=^Llrv%-T&(i$Om4H!Dwp!| z1+9F;|ATy4;YRU|_GJxMu|}@-#EbZJnl?onp%tyJZku1*SWl;vJTC(EwAzcy*)QW; zu(2uO5$x0O4TD%wd)WK8(BOLS-lw($^Y!dlaLdfTC_ajo$AX(?dc)~< z4mVct1?ZXYOAUFSM38x3KF7;_*jLL5`ZeYa3|QJclsk~*`_zOiB1F*OH9`S4=XY;P zY%fp}s*(`W!+rvFq=)@f{kAf_rHB2IU+96dWgwSvx7VOEp&ik`jy*oZQ?v4gx?02! z>HiH2MlCTlz}du?&i>WAr#~j^4w($J-J2K#PY~U8n=Ol;L^-N2xQ7ofCdAR|H`BhI zLmdBX{F1sR6ZvlfV)S24jIF_?!kJ`69y@89wzS%=E*5+@=8bHN=|fJXw&?Dy_$mY} zH3Pu%Sq#!XYD^D%R{j1({XVCDU!{Wdu+{4KdG-5@`u&CaZBl9OQU194y-WSpsPI$O z@7&|0gjM`nRFeAH;v8!x)>k)nd*|v-$J&Yb%KUdNIe$6>IxCN-jED2m+kNDHWVv}F zG2SKl;`{p4A0Et0FVp)Y%Tq1+p$aUdeck2$4$hi~Irxlzvh~!*?GLnUM(w zIR*^C4YGFfnHo|*BTeQ7H+5sT_saZt8=kL|dAXbdGVtbO#fi6MQc(u*L2Az0>TIWgCzAr{=4*t`Co(` z(i0X;seawkqe%Xab%!{|rp^HEg2-uK;X2P9C|J%9Gjox4z)Le0EI&FzUDqR*q3O`PHBmdL#;)f|OM~;$HG$FY# zVQ**XLztjTpRrA!@s>VgyFSAdo%>L(&j4OF)^P%Ctm9P36&mO?xfUL$YS|2k-@N)u zLCd!668qfyxL}x-;ybc@qIv3^*1#WGxO)Qxi=@(|=?NJ+_F4rgKt3>=ZMf}GbAas5 zAoeLEL+e}{)`bx+iDTYloy2bYm&O1=WtI6>oE6EZ%t#Yei#T0H-tjz5JZ$~ENvn#0 zyivX!772_u>ZDaoMxC^3qICeZ*=p6oFY;S;EvGM}Rc}j8(>2+@`o}Rcx~Nw^dLKfm z229fC=}{KSxQ$`C>l#W3aa9q7qofz}C$JDz2KE$E00gztkb`aZN8jyBR2}?ST1Tag zr_W%wQLaAXgLJCRe$$*~mFG7%+$P2t+_&;*JGU+{9Up?v3_V%=!F-vl&}2X?S^RQ4 z7(E=(j}@i7TIV04uDmAkuOSiJ~%A9i((VUB!gCl=prOc<6 znL(o{W-H}Rth_s~ybFdRl?VYf3IRcH@)=`boo*flm9S_kmla>INnH%~GZxw0G0W4! zeU2^aKF5U;hPck1v#bW0TyK+r;5!(w3anfT!dB~K!tBoioxo>-{Br-sIKmW}`Rzm_ zdq{MOBvMouuu~n~L#iT`N)eHtt0$n+3iDiS-|Q?O9(`!-n+QXmDoIr_|AMxP847L3 z;8+)vG5VTiwT1W$a^xb5nuY}*#w!}+qQlP2m$27jg?fQjv^lB|<``D#`^?fHf2(rn zdMj~^aWy`yHbN>74 z+;{jlY0Or_dScg-xWm(e1>I*r;8GOrOHN3iGqO^CD@36K^zx5R*OTPZ0%j z3dqB5Pw8*?kJHak<)8N-r?=qgo0mQhUh@|ZbcfZ6PtxAIz9s&%L*mu_7ncfBA=8if zoWcwZ8#eiLW6@e}HCCo;d|zmgwH0v#GX+aGB>AiDEr9&`4o2KVp4N=J|&dmYY9hZb%&-UZY{U z`NwaGf8daK>%J0a4EoI*NF!%D&92YHq%LnX${JnnH*wNy=6RX)FZ7h&fj`+W8#|Bz z!n$(?cy4?Rdc$vtA9kepX6ze}5MR1|GX3?3-{he%uRW^SJKQ{NbkHNT& z#cX=ixAgxJ=|?jkI8wZ#XIM;``Q7Jo%NPFn&9yfF+=(aK*gXE1Oscye?%-p@c|Dvr z9CG=kh0Dqx|EK90j|U&^o;audR(WscCvoE8XKCL@{f|I@7%^SuJ#4&@RBM4_|ED_$ zc@501PczT|b@#;i@xPeUJw8i6**WotZ`#B*0V8#XFzs3?Px|M&O#e(geE*bgYDPEU zyGI1m>=3l`4^#QS(cQ-#Hox%8aUXSu*J+Q$pOKBvhFg0@rJrOnW+OCi($*W8B??#q zHw4UHunz~WEK;-SJKY~%4gCCBsj?B2Qe%}=PibgExet=NAm`Uine~J1@siGZKV#Nq z)cd>K=E7_x+3Xm$a*91>G|Y||^~_e6O=l=Io40`NBY^|l)obS0uv5_HeT3DBT94!i zE>8bA@(uQloX^NBHLt%Fzlg(6oo>#?+x%x9O))z^ut`F*(;kWc1oF~kn~ef<(^Se@ zHzBW`YU1YmgrM4N+fG!n^sxd3b499L4Q(d&Wa%r!S8p+|;iw#Mzssc91z_2pQy#m# ztF82BSn03Gq+iujdgs1&i+0|9UsW=cBGej7Y*-5sCv~@c58k}+5u$Z>HGV$3h53TJ zLQ?XX6TCx|*M)D86N85;o{%Y~OHgE#K1YBmtwUna z!&}ZuaS)eMD@Z2A(1sLYsa9aM-@lOe0DWh_pG8|zQ=Rx@}tMpLCAK#Y_&~Yf^6M@?5$v97%#sK$+4^XhR(KV@=_C!ZX=)h-cMCa zeky(+;IfEB8EWu~b3YChG>DT}F+H`@fmbIi_1rsI_1=t0qhe?@EZ`B!`v1<~*$1t* zL~OUoc5k-bfbC{l+$8s5@E5V&lWn)J?e6ke@$cJi(>^QbO}0DNb|21!+xcF!-?!QB zcH2E*yMy;z<(y`_5!-FF-K%VOy6xU;m-|!OU1GcIZTDApx$oQWR_QL+$Gt50e`UMp z_qN_k?DzF<>wS^!j{Wwrkq% zKHKeU)6Gn~eyi2k1=)B$!*(;_8F$BDUGro_lr6E`(En-geBk4%s(rtcrpYwvpGisE zw6=8!MSBHG8X^>E$)rvHL0g74ZBwjHCYh6F=wxP`nY5{*=6bo;dPR*`wQ>=swZ$UQ z21Kp*@vbA{yVZ+2Dq=;%5fQ3@MC59(^5lKj+52S93<(0>&-=X3`>;QsmEYRytiATy zf6hMp?AiOoV8Y<2K}X-g;hVL-6L;g_vIjOwTvp)sK_`9yWnl;nlRr9F@*8=`j@o}F z@i#}@XGC({(K}tDSNGHL_0C7`1hKcFM6W9p_JyL+cy}lriN_dcexm*Nc{N5qY07Wp zjeZ^PG}lj@((zKc_$m3_;L5*>c&;RWr#vG+bG+n?G3*1xeMaOi_l8G`^%BI#(|fK& z&-ZiAEstYw8FD8`zG31%BanQT{m_)ZMdM(z#vy}_|2LM{IZ$Fp^qBLjioD)G@i5mp z52DT|?gJ%AerrOJs1^35S zQfbupM8a0w*B1|4zDUX!i>G~|Js1jgMXmFFslAbOcW)%N%eLy<6N*N{wyvG2`Lil% z(E~(hZ`{|@AC0EEla>`T8K=g~(pC0a;S!_TJNyt2v_Yp{uFn^8k@~%bxX*~BypG=8 z$em!fKXIQCh~CHp6ZbQ@{#4#51CoB~FN)JU`7A>21ku|tfnK;oZ)hAnxsQ*z^rU@H zjiXnF-1{hhOptsViTg}kt~>svOY}0t$LqHzO7tEp(OdQ-(@(c)9KCgXlzhv{zx|iG z|D6w35)XrmOZ;=|-EH(927Tk`H9ls9fYghhxVs#YnCXY1#Dys zi3m=8ct-80{bv$?ug8whh@5&8zwR!{@4k}!`U?4^<8fa!9@}MGaq zg!ee*I*2_dNV&4aeMaCe*QpY{GZX05pLVS2dTJwHYER0u_^E=P_L%&2t2^4Yk50SX z@auxllVML1KVd}f`WOh;6l?$9OMKn^4SGtmo^ACwT_(T+ze4c7}Sf9~ssv{Xl9>r<0McRO{xI z`g*}GcegJQ8L*;as4tYZ?S-v9k#5Uz#dpC4zV1*=o?FI?Viz!3u-C(*&=>Nh`Xgz1 zzWq1Y7LQwF=?D+TP)eSG<{6smPbA_=dA?rG;6(AGQD2wk3rA9tao8@X)I)DPp0WZ` z#5Hyar4qKZx3;ferTE0}8nsbvP(ig_MN~|MRa~*rQf*nYaYJys{ZzN@IQ^;gzFEe7 zC=*$@nlz+&_+<^IY0bJyc4%lKLq4 zDgCTysuW?aq^f^>&T>{+XbII~%-fLou`X}mV;VaTXpDYFW76P&!FLGt0V zmfDm4<2*<2<9apmx@U`@kB)x_kvl=^DMQ?61mfT3Ep1ye7fipU|B3fs^}cJfRew@% z`?<*5F5AhNWkutOgwQ#bF76ko}NPjn>M+O9mkE?%xX_Jnur`Qc0L zb(nlvV;$3zd^=0*A+m$yJK(yu-^Gi9V^4T@zNPkbX+?|g8sWn!?C{PpVUT(sbzS%V zNU4KAQL5hcUhYmTHpi=X$;TbsevFW&6T8giCk$e9z;%5H{)8*;BoteY?V@@p(RJ#p zwB28-zD{G?^B~_1EwSa~Ehv8a&~d^t`0@M{TjTjD_T9nJ5t)y#8}H{jbGiwGeXqN& zXW=KRE63(|?IroRgWHc@{P6ymK3$^Y))zk(qvM2i@DtUA=!nhn{E&Ry!R^N}(j4SE z&$tPL*c@?PKM6nTiaQC#mSfx9Z^XVklp)HY8()oxU)^Vsp@SeIg&kmSel99$aZ94@XCM51%4G&2`oWCk%F(Tw`A^{CHzwp8TEQ z&fo7!>s%KU?GD$qQk&wNW6^C-{Cy=s(sm9jRm;Dasoq@K_{gpF&u@}{Wx1+sDi7r9 z_4DI#P{N-~T+$6nx(1JG2-m0u?bWKjd5YLbh>Z@H4c}aCqaBoxFmbVwDam`#m2SxB z4V!dX6F0s!jv>DZRjeHIS$4U;kj1WqJScJXd3>GkQS;kp;%BX@xvMHWIZ@FmzN-I4 zT7C~I4~*FejFo?ZPA_L(BrF1@-Y+%rHK5pkFDQNCLndA}uUgGZ*Qj}6uziY}*X&XA zHqXwMiLVVxosDjuKfi+C@G$Yot)pys=BE%Uy&(qj>nQC@cmtpWte2*IPvTkjcp}9i2Wo6UL z)%2Ow3A;Wwmp7Kxc~o6^x~glRrs|rfs=AxJ2`xk3UWKeu)irq&cKuwS)c=O|i*3bh zmp-QGV|llHdWD*fd~%80E<62F`eWH#kD42vs^+%WsJYG6YHo5?!fprpjI^Ck`bK?4 zQU6^meZt%Wfu&lnAC&NKCT{0}ztr)VJ;&~=Mrku+Q+x}I<6FSxoA1rqx7DD8{U%=I zo6F{yUv8P3*JW;;u>acaS4~?@p{;1M&EACgIVgUf<5B0dd)4cjXQ*j6P03azD((Ag zz~%4gW!m4ryIlJ_3`%+lBVuEM@g(E2kuzx~^M)(ot)QfLk71|L7g-LQ-W8gE11RA# z6Q5f%N!6^Z3RE^KCF6ki-<6vCdXIWN{?{g_B z<0c~cj*_pS7n$fva8Tq4kDjJ+__1hUv!%ll}lG;Z75mbR&|Ef2UE=rR!p`D_zd$J!8`S#g#5s zl3%YY-JoCldn+j6t9~7q{6;0++)D0C`V#jp{@TxtAy@j&R;@n_N_b{vA-(rF=_eS^ zPq=J&SLrm{Kne5O3O4-M5MMgQmeg5N*IC|`-l@BQN%u}r!pBYgYoN5z6DDr-$DU1M zf6%dS+Qjp%LYsKkXdjk<5?W2%xlf%jbqM)UXx*cF+;zt#kBsE8(4!WbajuSWj`G-b z+UUw})Yy-%)%kq{l=Kp^FJYs@Wg~0ST)s}*=maIbQ}(&l%q5yC1JeJFk#4Tt&U(CX z+F9gIkopty|FZag%Hz*6JNLk7&7bQcD+9r;&S;zNgt?*S!^en!k-jx(J(&NSvYQ`Nki zW@pbvH`mU*W-IS}zcTZJ2c{Rv%4S!q**q&|GuF;d&K&jTr)Q@oYC7Fx&@tm%c7%D) zmvx?pKnV| zLDC2q%5~>N&n#bAsc;X?!S0C^QKY`2!_>HBw)4+xwxhU}VxKL^cs7cIazcuhl8@py=N6 z7MFCA2D(9D=X<;&(>qEbR$OZ`zGC^Chm-h zl0Gl#&-SRZ!)Gy5UD;)>qRf=NsU}hDEmu`#XW4U`GuZc9+RjCwgceZhcc+OvzMd^T;J#`#+QWMN zF4lm5Ezg`vI>QuOuEO4uYmALWx;ovxq+Kj&<=y5nk8NvAHoH>I#$GM?cuMS*T{c-= z);>d39iEhs`?a)Oj-SpmatzJfRq9&ZrOWCAYtO4u=QVdxXB{u9GkHek?BZ^n)xlja^!!u#H? zZHkRSu`$8ix6x%|#H4u)l+ctc*vNDPPRHt4-e2Eq%5;K`Tb=eHwf14Lluk-DCmHJX&blNpeyY`IRuA|>8)O}*VF5~Ax30HogP;ZUc5}N_B zd49Dzzxj3QbX!1$$1LCXAhjK?yH_(m%fNL2c8~bKi@N_$B#e zX)g(R!4GNKIiQ3KL9w&J#O?a0-rdg?KmN>JP|3S_@!E^Xogg-ZZh5MB%uY~NdA>A$ zSm*l@P{N%iF4rZz3zYOjCSEqPO3e(fQZt)Zs+nbeRYPAMSLXDG5$4xQkeJkV1vKix9Zwt8)&soY+7Qg;{o<`>^|9R#w*_AfvQ&ziWoZm0K2 z`nrmuccNaGjloZ7e{TmR{HuvOHpcGLl6tQ-@y!`s{^OtIf0W%!A0R&oWecXN1*|14 zNLTZ0n!-AdM=fZYJ31#nD>qlxg^N3xtdy5tESAUtxb449X~#do!gasHvwVmEZewRch z?e!!$^$>G?V|R*K^K-7h@vu_YLf$WF)MFWAiF<8E>cBl_85{h|7SYpV-DWeU33@A) zmo+3Wa|Lg5YNBk;6g7u2eh%wkb65wP!#MAy|Ci3iM`Ek9Gp^dt%KJQO^cZWc(6UkP5g8YstK=D4Wy@Yb?iYC-b35igGkE8#X8to7Kjqq? z+gU1;>*QA)r^T=%cE@a>k@Jw`S|I{s@%tTN5uDv(R(T zh5f{xAnh!)?svswRVVc*W0iczKawa{$K|?&K2Xx{HF3LLS<`mUiF+mgH&m-P zq-$BXp23`Px~jcNul2}tQm#9}@kc$Y`#QBZHZOjv#K#fxT*r04lNcN{vc|Ktp9|~s z#oItB$M#v;?j4}SMPI@PLCO0wCjLJ`nfLy?iI>$g-qYsww0S*kUcb36H#5sR>Wqr9 z`L6ptYKSt4{T%7NU(x&mP{L{x7kR9=-VjNpQ)-9Ai*^eub#-9% zrnMU`YFZMGM)~i>>bm$othZTvR)rF&R;6YeNg$qDJ)pL)-?VX~t@?*D)HcS${ZVUO zC>D-d==PT*+h!$GoM2i#(5mVtZS0SxBP;i%t@ikKj>fFQ7u6$L?UC-?tK$7qqD_;o z>9>;m0#?%AmmKS+_*}4(>gpF=Sz{lyiFNN&=T>ZqT2?~cUA{gRv9}Dr!&;Su>kdV? zus2c;QGHFB>MW5zq*jalQg!v~@(osK&x_2ci!0irsa83hrPL+DbX!4n_Md zwM=4Cd^>j4>dl*0kJW0P{QCRaA}QIpOA0yPBXyg>zf?LI-)Ht82g=R%#I{vxzSJ+6 zE#J}`-|K8p-lcT&>A2MKF(r0G94y*MlZSRmJN&G?JsFCnqHH5KLjJFEdBC!E7j!01 z+8&Ceoy&X5af>dM;?&23WgFt5u#U8nN$eti468k+7UUM>7r9~yInP(CIO6A4 zx}msU>~dT}FDNd>WyKOKeXh9t`x2)dm-1WDX%h8IJ z{XIS0yXqgrwrdwX`-fc26(sGf1 zM{7r5b!&(JT2)KDiMT|AS0SKhwe0N;rTx}Gx0R6l*Plv<{r;`1SE97Ct>aoXgEUKD zbh)+F&$Sw^HI`hvX0^WNndn;U>Xp}ET5_*`37u_?OZ}qr{j#7rE)`6KlA%6E>SQn$ zkHmW7s#^tvs|E(vh*%GZ$%}Zot?0A*QWkf>dL@_Jdz10KtDOS!rdu9N^d~LGtf>0E z==R0;SizJU6}~&MPu`hZT7p~M74?;hp1llc^ue3RGZOC#_VmXXna&Z-ZLTU-8@Fs* zwfWLUd%WHu{smJBt2@#Y=?-$IF=i+E-}aM&{V_(i-Rd9F;2{u?Sp$)@x}+><#kx60 z7)($=8I4zz2W`E_%7aGdg0f)PD$?0h9_+JEu?D-7Y4u&HuSlB2ed>D!K4_`oiXIt4 z)iNiSa4^PMNA;)*hWb*wg0>6lTJbrN=;%(Q*F>V?!#^OwGTCTR<6-~UWxro~illm{*k^}$%#}7q zi>AgB^X2$5dRoh(E{>>l2N}K@%>8X!TNZIXBNd;H>_aQgdOC$|JQ&^7$Qjr|;UEjTY#r5@tyR=ewre|@p1 zr6<~->h(LNi&I%vsBfamDwuCw-MVdQlibzsC6B99Jp-@YhPe1-O$&EMsDD>)njTd& zs_bYDZbIX#nilTPlnm)(Sw!Nr-}voWaIs@ua1*WfF48CZ)3LF{x`W-=wo*+?O>K(Sq%gsSs zYSQE8&XPV(C-|#1wAGB=*Om0@my>qANjtx~CDFyByoV#$ue4@2Vq@JpsfD-DHcY|# zLa}|XxP8P*@JhK`o{_#7W{%6b?N{XsMowenZ%IFAYRf=sm-WiKt1bqQYTaF*$=1e809&S#O`#_z@O-XrKk zKKT4+&<7Q9KbR$+0Y{)t^nJ)jg^>Hf9GDk`hM)wb(DkDG6?{7hJp}z0s+?M;>Y+D5 zYoQ%b3i=TAdFbm<4$4D+f@;`XHy?U4bPco%dIxkPbO`!a=zi!C=yy=X^fL8&=rZUk zC<473`Y?0|Iu4zLkq|Q|(rx0Z&Ce>rQNl?G=y98#=mj}Sw%JN>_`dW4OImtei4}mtHHv1x?b)~5n3qV`SrKNOMT&N- z6iH|^dl{%$Xy3)9{$rBGvvhAkb$v?C<#Y0VEZaal8r6#xVor3u8_&N=C?%N;c7m#+9PRJK?_!yWEIEk zj%8M*#?)ll$}G!p6TTMyN(~(QranjS;KA?fxRY!NlN8-M{HY$lUyXNtZFIAhiuWhG zEv+MI$J5&skFAO)_Q^ACO!1}ijWbfkdxET0?jnIK_Ka_LZPW~g{zNjeN1Jx+Iyjy` zx?Jn~5>Zz|Q}CBe$11u0n#RQGeBaac=rQ=x`Qr(*zk>JdLw_0V!ir*u1@zU)uIW2(_5Gmd z0r^E*hZCm1oisRJJw>h9u5@qEN+ww*d5L}yjqhT~rATdD|4QEVZ3oB8mv1Tr?e!Ta zQ>W1XAEA%m_^*ZT`HkLB@p<7-GZzDIujMx=_E2QObI;<}CV1H!@&)!j9AQ6+?18A9 z!|(E=df(7a_~)Ks4hP;0-H49tH@FuPo3bBf2AdrgA(wNSRdYGB`w;Uza6dE(FJ~yf z1vUQ^f95ImpHLW{sgXJtio!R78|Jgp20sLT7P=ljw}Aa{uV?Qdd?)xuAA1lUMj!kr z)bSMlfImN*Jdx)?=RBie@Elegkqf>bS`07$Gw@kR>c@SSQO-1m&&3~f1ouHZ;oWBz zS%h|#Ep%d_V@bV^n zfLE+m&x6ju`@nUOdIWv&I>-Z`0RI{C!ViI;gX-Z&z;8o7_#F5fXfgaKSlvwf!27}N z&@%W8=zTLXcsVclFHk%D2>3^6KfJn_edf>s_yBki%D`v9ZI@8z@SWiO(B1HP@N3KH z%kVky;>-936ucjN9LmGXS-)>yPW_7x*uR|XKc|hr&qBv2`v_RELiYzbr}sAKdUWJ$ z+=>?L!~4NFWcL~HThI-8Y=YDL$l)8o0paOagW$KJ=knNTWv}NdzBl*_>Hxf=jXnl1 z=ef#P(=H+hQxMDHYEWO!@JL0$vLdYpa62gUqfMdIa_rnXQQr%morj> z>p)2h{t$W|KC_-*-mb*Y)A$U^S*CXO$P4}&s{18&z?Q2R6X5;eU6AO=*`Var?1Ov^ zeegl37hcZmylx9^2k!&#Yp0LFyU*arS)3SD_bZL>*+#v?4}s4>Qg5SR>vq~6xtwpg zr-QbJmoq4ThUy=uPwwD%nVqDA&x2RIjrx27Kfw!w^d)#XLva+!z{|Oar=YyZJC)i2 zc`17**crlK_(AaeF!wvWAM{w%A-tSdU=FKp6dka(N7sW7yd1LcQ}8h(cb`F!a|_N{ z13^zOWv31W7eW>Af)@1LX^p4hPr(aTMyN-4zQd-vAgTWZSaF@^z2JMGFmk?`roIkE z;d9`#P#T_Zs;M_Y*Tc(sg8d2FNc6!YZ|B~Jm;L-#CprJ~8|nk>N>NsLe#}#!hNN9a zz@=&KFL=Ilr9K4Z;4|P4pi}UC?@D?5L3qA-rEZ2!!+ZBIwm_rs0g(S_rOv=-z^5Sf zB=l~^0mvi#d)Rk)19b&I0)G4-dA`7Bz#adDpYWaF_V-~|c(8XrbpkJY?0Y{zJqQo} z?t}Clc-h;29aPWrA_0CEl4nN_d;yX&st@zcamcgN#S;UO{LOeh54U?H3*JPtXwjz$Y2M zZ|1&(7i@uKY~-6&>UK!_9^cnh)&HXFXDVoYim?m*Uhq@5ax@1%1O5yWeb1-$-f8bM zv`2<@9jG4u1UUN;w&53nJ0U5r-~q$?4l5OcdeONa{4^x~WWX(-!GGkwBh)!`0AALR z?uBlF_aEgs2pxf!^{1~x!|-{q>^8;|cv)xK4&4JU>rt7jYG4mo>6MGbDgqO83XOFadPqTZ^v+RZb#^^7hDF7z{~pE z4Nw+d*5HmnC*fsH?mj37KMK|kbKk+sI^H!<9=;PCfKEO{dxHm|sXxVc@C4Kbp9LS3 zID8)bGn9pw?^D!6C*kFL1k0iOsq+9Bg?b;sCU^@}|8x8S?}v86=fKmD_bGe>Jzvng z7hG)kMlcEuqn`lx8~G4;3_6gd-3!Z`=hR=glBiQE|C+BA`fey&?4%`7rSvtXeh93k!Y4{BI zRl{e&pBg?7{srcdy z?1qM(#7}S?l!p(1y%7JYS;<+PPe7fd&46Eq2A;+y_%JjGp9lW{?T42$DD_a?Z}Ah9 zGaeoAf^tqnd=N|<{_jCKe<5-~Ib$Kb;G{2UUd~l4HM}3(VR+el|8A)6clZH*4mtoY z`{BQ9c-eRUBqTOR1;4Dv6Tv3K^PO?kWq3L3`xNA-T}DCKvo7P0;8tk=v(yE6i;>Hj z-{=YI34QnZ967r)_p7uebt2ddos|0dzYr?yJXkvip+P50M_!JgaU41S0^B}F(9y{6 z1SmbG6R72Eu(JBPqWgRUebHEIMMHlwc3G;s*W$~2e2%X>8BfJ~(ie2c`z{Nm`j+fj z+Ti0C)JP8--pmfc6%9+5G&Wo@t=i{Xo=&o1Y&|TGv6CwP$`IW^(THq)Yo}gfG+R&iGFG524K1~nF0(G` zl8Pzy$0@>v1+fLn>C9;6Ohz5@9P%C-I&|>Ru|p$=aFDY)ZGg&n zGTuyMrXw?$*-uKHqW+NYP~cF4)@gNOGY9y)yDaQ?7|nc!=o HvyDfpo);+WEMsrCTWAsL5zyAj2xRw;`T86g>`@I_EF*Jbz=$0VhGF- z$YT)5V#s3nFRC+J8fl{Sz(Fqe61cEYd%w!OF@$>Kh{{b&9Z}|Ve`3Oh% ziT|QAfO6f(;tsJeY_3cCrUcAj<-c5!wko6kNm<^%v?p+hhL delta 173 zcmZp;!`yI(c>yEKaq}y_lUW#jn2y$N4q{Y{Wn|f061RuhuiHh1B`k{}iyo(eUHe8%P& VLr!Zuce^mV7`vj)XP+2z0s!MXOcwwE diff --git a/bindings/dotnet/extlibs/x86/csfml-graphics-2.dll b/bindings/dotnet/extlibs/x86/csfml-graphics-2.dll index 42ec9953aa7bbe716ccd816fae2a8c8180d84455..e067e5c8ccac86d40495ce4f06d77d57afeebce5 100644 GIT binary patch delta 136832 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

XUKn}qO0P9kd^;w< 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 delta 138119 zcmbTf4_s7r_WwWkI>uO&j5_G3D5H)#D(IM0Q=(2ADH-a3sHBABMl~AgSff#)jDm#? z81|;#RHSHBY?0AIMZ2V9vPwlt8@04iv7cq@x>8O>MM?5I?|X)UQ++?*$M@G`k^6qW z&N=V%{(Il|4zNDo5}$8Lg*54%t6P_8LjQGW40^3N9 zMyt{EZXT(TRcz2`;D72r>US)9t{I_;nyAsF8AoU;gj_K~QzP%6G-_zg2u(1P9grqV zCG5C#wLI=P`&pVM?O~JT>2lMRY^gj;s$kpY$(Q{19`LKFJs>|UN!PL&+NIKY=GCq+ z{PecYkab7|b*8LdbEtxSpmhy@cMt@0-Oy1(T$^?L*cROw`RFywGjz(YO%4q;Nf+2( zhDOWJC9t-k_DR*(Xf&&pxnC| zEzd`qr6krAdF_~@;Uf&i$(H!S3`TH7jLs%Ge}P)vtQ2tM-p$<_;NN zHZUne(`Rz&0~$^7zOE>Z2HL4E80GyOfl5bfG|EZ1WczKSS#Vs$rNi&NKk~IlOQvfK z?B{Xg*yZEbCKTVO(Lp&1zM|o41$_MxzP#|I89G#w)T1|7a|G|1#0(%19 zVNT_TG!bjW+iCr=HiF}7M6NWHJf3XZTzh|YbCqWQXi=sv|PpfxMFJTh~X0K1g9a6 zQQbd|y~?&swG3}-CL?)h>O%R`VeDU1J_DaC0Pb1H0ET@heooHupUqk}uui912^yl7bH8|Nj=3H7BN`Z8PX%LKJA z%a-dj{#8c*^(Ox|!zN9tbG1_`f(F#K&ih4T*Ufrl=q95wH;GM+ozHAnrI??BJJY$3 z*TWv&zeTwRx-zuVZeCd%`sGyk0N+Ql%a?1ee^$5s8(*B4$DyAsLJLGWL-BE>dOmjoWG6>B0ZvRPQr zcKz)1!5wTEJfNn~1~@RFZ$`8I(_%)o|IpV51FVBtWmad^i_x_wrY)96$peY!cctTC zMO!CI8En2aVX6~nwF3srs}5FTrI^~!-JsJHFVpYMu$Yv;4`JojELr~*lV{A(ra-r{ zIWzt|_$z_|#vf99CTQW%)R^#<@ar6_kTVz19!dFi9T{8z1142zg?Rvdf( z%Js|@YnK1Guy%LsM2VGLWt4K*jH{=zcdp8myFX+zudbT4^uq{EvDV^r&x1ML7v=o7 z&fwQt`tNYcERdDab&|%n;I-OcuD)E7M%G?-O}Zq#!LqKkOTOBtuhmPLA6%h>S@Kn+ z295_hr_zZR{-(aDq<`rQPUVANgSYxk-}tps^=rT*SwzBe>y7iUX0**JANM=_~9F*bXlNzT2J-L=TXTnopV-uc}G_FT#KFI=Ka^r;z4U>ysMldKm)RYKP|MU@;* zq63j%j%RZgj*%W`af_yo_r&AM64~wbTFmfefiJ7FCLU^@Hv2r(8ahFS8?RdlOMVSl z8I)@mYBcjcDPBGm=6JM{%Z@KH%k$#dzZW^=F-O@{$1JIVr8vx2rp&`?7CW4KGn4mb z!oO)s0z&YH(~L|WGo@tqzGIABFpB-x;g7ic zX(apfx`VRoO1AS4G4j;8?BE~9%9qY%fBD0Vg-ee9UfQcdc^j3p*AC=uR%X2&q1mK` z#cPp@H#?MWHtG7b@k?L<_*cjJ7h6-E{?jKHr%NXn-z*hou2qUz$@SO7uY|1vMtgqb z%RdhJVaN~ui<>mX_c+9%bT1rM{EH2<7VEcN(ic_rKd^+B>({JGQ99T!*UyzNCNW#$ zwYopwuMXK$wRb1}Aj@7G+q9%b{x*>%BqdJmnkp91B`|+s0f}{!4C`iIpnn$^CzhL! z);^o0mE`Xt*o!yb#!8mXkw2WljxUXy{@a^qS{$4$2mJ@`_BUD7P5Wf{_UuhtW!Iav zrsU@(xig&|Up7yhGzM-cJnss#|+Gl-R8+W2I%RWaS2VmzjOH@>=O2o1JEp4zTrUV=`C&+}F1fY8LBc zl~dtRgi8zD3}RD?jrLThk_8Cvs&+ zTtFVtDVsFTHLH~xA3L&Ux!jS*F0Pp>-+YWsO`kck*bGP09p-tT_|L#nv?>eEvJL5D z`{2RF>Gr|arTzoklK#JaeVZh>xW0qEn?75Ay|7rl62KEdHuUD%@}0-n zl{fz&ea>RnPL%FuH?7^U`g7=#Rk=exn%@$++bHf=XOvGr19rx*D4pUW2t#fv&WO_} z-$QYJTjWD)!K^s?D&;?+@=_>AzWlvdFsq?SHbsAd$?GN$v!CzlbFNg5Ph@fHqDOx> z50ViBF(d#_eQ|JoM%nTuTfZ*eCUStM9=Jazi~BQfqBFt@a>w6U<}K#& z7e|U(OhGYgbk4pg2drUnr3?+SCvLgc{>1yDA_GkE#6yYVzUXfFkIt~h-2wk9MXK|2 z&@I1mX6M;unUm$12iTm<=<#z^vzvZvWRl2*ZO(X=X6Y5Rbkbj8YR+gZ13zWmZGHh05D>3?dU+Hjo|)20qN92-uxs3Qa2 z?>_+p5Ra>ny}NVb{P4#9&uEx%iI!3GK5;_mF_3hsSPy$MEqgQJ-&kcVJUsUA^*f!) z-$$~vTNjx>JofARMM@~7PFV&aS?#UUMva0e;`~$2HO0%FC*iGyq#XW=b=`W6{JND* z&zdLyVI<4QDwpfv88qug=}VS)+Z*!BU$MU1mge=Tz6Bj%r`a~%t$T8)#@+LU&Y*fKU;fzFcXFr@ zCBNQMFQR4bg?pE{cj)ohKe>PJhplRN;MXn9?@EN{x0y@lM~9v{%qh^kH1X7JQJ*=g zV3IZSLnkhYs=ee6vn(IcGwa5<-+5SzGt_R}_>jyUbBAhqfuzeAy2-BW8pgiAGew>~ z4DKZJVfp1EGznlLxiev7CfUDRMz+rKUXc8D}fmVb!}-p9bJ zr|i&!*UxOq-Ap>kUcY;S-17tb=z|{WT}ds+CEwKUu5UDFV%hdHSDEp6c1Z)Z>s#} zcWnQ?lScjb#ZV{QC*fS`6p6$jZ=_Oid{WXZ}=mh|Rish6$0??$=p zXZCT?_%VO&AF)k+5zuF={9RC?<``?c?=JZt=h%|_6XY3RvoHTKZR8=?T>Z<8`Hkk3 zHKGd-^{|+>v6pTaI8zTt3qDD&8>MeF4f$!$C*ENzm8n0ozWeRN&;1kut3#_!i*J5m zH$1RJHtb{j9*CWA7*>=22BQQAf$awWDt+;?_LNz{)v3zcFGpyY^W*XC+Xu|oKU@s` zvdjqj%9K<%G$>DW!*k;e?N0v<`XN1QoXSS9hLQI#>t5gAaqIm537s3DHQ4<(rM?>K z{zrO#ulw&4^tauA_5w`c{$&E+A)e_NyDfKC!enp|_pS$hFnZ3tM~mRw-lHYzzv2l| zk;V>f#=f1Yl7PhZ~}<=!BBFMozy15Wvsa{YJgK*4xu(qG_T zb>kZQf7rNYeaB|)c}&juH+yT(WV!6$?2A3~<#qqAo$}x*NgnxGZP!DiB>Cx2Yo)!z zCHbpQ*ocSk8EI;V;e&T-;ysr^`FRT5`yPL|e6r!Jn%lg<-o>W9i=#7PM+m)A5)%;y zhU17ZZ+Gnh)Xq9OVyagFF=|k1RLW(M0XgdGJ@2#JY zzo@;l_&cqv{i4?O=p;${7hC`6!rB14X9&Cg;AnOupC~=c+-*vnYUOu0Vs$gTw_Km#lSNOJr?2WRea?)`&^od2Id!83hgWK$(lbmDMaD!6% zAzS;z9Lsl4Luc&kgi!FhQRg4wmp4g$ElS4ovSyPJo**YFXaC7wdcrj9ULfbDC{6!l zr=KuM)7Y0!Y?}Ga$GD1Q zgBz67|E}`tpG2*DAP>#D;+SP2$mE(~FQKJk`Jx%?gM5Fkz}#S-IpVeSI@x*0? z1VXQeZ(OY$|2r94<-(otLI+-7dhZ!wfNe@S2W90Wc=+@!sCWoY(cVeE1y89LCf|Zn z>P4h)fsZvEn!fyLuys59;_asf-2H9-2zYoCk>EySfH&QSyNAM??sG$m7i;~I&Xm3= zBWU?OecotTImVQaqb*=>1-260*n-2+GHYh*4$sIFF*4V!7oFX_#{X0PB28q0xJ#^D zt$elV|8J$!pi&b&hJKu35i2(utG9=$57nsG_@fd>{!3>_bvMH_SnUpo$?);JEb5sV zl9w%d#yl_X|2+ft=rdDwN&O8y_Dr-q;$8OXGc%I=8*0$>H&c9M1ggU2F zbk6;od#m;I_g)N?((xdu*s~#lS9qZqk(C-7urp^hGJ~-8~oP=U#ZZ z*d+=!DENDzz*3%@ZnHpN!K+Ad3*RKc6clA}>lE(z4espv6!$Lh0{J1MSpl<)@ zm8pGE;_7$o%uum^H0HG%@&Zded-(bBi$zAEvBt-wcT(IzF+2;^l+r7ImC_Ol;E6^} z;@tCA+4vTVs@gX0?vtV|MbG?ZT<@!`tg4cR+n~l`9w<g{_WcQi+$c4HYqC}uf@u;-mE%yBjlk5+w z4)C@|Y$u|likFKIN)1w9R0&MJ;^jI~(kMqpz-SKavFF+H7w1hFFPyV2#{3=X_H%>S zes0i)W-&YPV$8TjCq%n$uJ}#67PEi6XqAc|txg_S^OmrA2M#iDe1j~)Z=_ylw^y6T zy#}APz;muSbKNa_4eP-Kb}F^qpR$VTDHGSe_3PUtzWstXZ91ik{i}MKJahyb_R`D= z`Mc}~1$iGfRup6^yuwylIr(OZgft$5& zXVmY$9BAHTQZ}4mQLpThDj0vIe2fIc8oHx54}55|n=SqG|K*JQz~5^B`saNT9H*Do z{omd+oTzQ6i<0G(H{lFFzjpZR*J$SIskE8Jyl0cAKF?C#%Yaw7N8Xz#1=xG2#L|INe zQTuGmMM=H`zW;rPHfrf|F(;x!?!TddaUY&SxegBQ>Bk9fR{Z(}7S_F}HXy#w=>O@t0lh}t}&XkL{FiB|`-gkS1=9)x{ZTn>) zeaqfetn$YD*!Rk0IqEJp_UvTGAu#aoYl3^6zsLVzGkkZhS*fhchL~_i{sg{?m;C7e zybX?KAH({}?-_IN(#Y2e)4$gk`YgqX-?InKrpd)Q?ESOzMxW@`7`}wB_u=bJ`1%RH zG!h?Cr;TEB{yS05yN#{*?>PCyJ?zf^9*}Njm!4ZRZq&VfeV=IjkBOT7#UhVXI1VH# z?`~qZo|`XE%wiSiqGfXyJ9^F}f3%Uco$DLc`m99VAb!?<l>uMZ!q&92UQfWT zc~o?!a>N58839|jZVi0Q>q%f=f42&rnS@7Q8GEFA?u0Ip7yMXO@q@xa_1zo#>5^UZ z*{9u!@|}NVQ@&3&JUtgeEfiCBHB6?@uVs1PH`&wRg>Yo)iN24XNrx+_M_cfTSFV-Z z1qH(mKr<-yB6V$Khc3pj13!$-%L)f@Q`6)^H9$6{@kl+CMkDo7szI7VY3D;~++3vW zsvjd$ebk}`Eea?tLt03w4`~slZno&hs5mETrBq8mT1Kgr?fNl_ef?v^$_grI(7ck; zt_RgdR8iW7w3^b!2U+k(V_Xf2byO@zT2E;qo7)q`4)jE%2B_dd^F~UOkv36kN7_uO zg&pjPiZ`IvO10iSYOC5PRgktb$4^nI9aIaT)=6nKQiakoq+OI2uoXW=#d%QcrdkHl z9!itg{-2`Q#h)TpYBrH6Z$@)1rFx_~N_%i2=qc?ic=TuE#1_-=grS}3hRYNfOkX)L7$NNtqnAdN@LKKoh67G8)*wNtA!v`V1Vfz&~1 zEYd_uO>EJHsCX@E$y5tIthUWbX*<$1)^Q;!HJxg8sAW)Efz(B55z;J5bJ+O{QE^$Q zWmC8KWqR8MI% zJJc8T*l;N#(MSa?nwu!?!KE5ase;seC*14DJm!(c7$Yc z9SSJz+OIaZkkU4!MU*z~=N?%y#?_-*O4VwlWt5ilS42V+hrp0kP|1r9m6T>6t)esu zX*Hz@JZ1=VP%MgdR5T;4r_{hVfD1nj`K%03sk=n&ibhHmq)n8zA#J9#xrDb2fevaw zwUw$hNZTl_;3Kq<&`vFMPzRL?(4mvk9Ha`RZlqn5rtv%o9_K)@n~JeWdnk?O$3;G~ zhe8KwvdJdY{fOE@T1q>R>L_hSs;9L65pEj_9aM>`k*Xy~O_b*HtwSN9&mf^xGnLZN z!9uA6sg=@Lq_LEm_~#HjUW;Np6@&ZK_Sz|JN1DKWm%yTTP_YihL`o}=CQ(|1G?~&I z{s_d4%R(`YicX~IlqT@^!G$l3fFW~H$%qbFlxmQ=DeWp&o10B(TQPS;z>qbf>ZNK8 z(i}?5`K|~^=xazQ)kh^SIuuaqLRv^^GSVVS?fg6hA7)0eG#hSBYruB5gv-mk)zm;gMl5=FQYjhjuNL_Hs3=R!W0N+bC`0yk;1Tc>vW8s@5Rwq_m8G zGYrN&^HLb|E-HD@AxLRD(r!xaNP8%?^7WU(GBu#6xr=N|J&&s`(^9G+)jfV0tWrJI z0;m}%twd_1v=pg{(gGd{apSxwnyHwD)Iw<*PXQNx^fDN+SSrP%gN;%P(s)V@NbQvN zKE?x=Nyd2PF|{uoRBc6?NNE6R5_jpLi;}5WhN6?w0;Fk_dXT15n!&d~+_)qZT~v%m znnkIZzXC3N;^ojq*;MMmW$B@`6RDTd7Nj|pHk5Mn<x(30GVxr42~S?h-G``10Y>*vaML2o==U@Ps;UmBMxmuNW>3m#X;7!zJtT z>aa@G<1+91M@=Z;7SAK)t@C9AzL9KMOV=$=$FYNj-Zfm*Olrz54Y z<66TJ+NiCU?~jCyIt>GLpvyu7bVFy@MWHUuXxoL|P-1{>HW;?;rnbSS)C7AdZA02i zX+2WSX0maVA=OgqMXE!}Pa9yHojn4cqx96yj&=r0qmddZ?ZtMPHmk#1GC~@oj|K~z zOlCnR@D`xUEn#Y<5vt17*2Yp=h}1@D7SebTcRY8FgkH3V<0eqsw5Qd$4oV$J6DhSJ zO`_C{G?`L8QYTWrZzS~M*CV9}IZb3WmK#PvAEbkdeUO2D-~>9^6{cA8uTs-)o+A;EeYF} zQrnz^YE5O7W*{x6)Pb~uQVY^bN_9x9kn*ddq`Awhp@7|3LyddTxQ@~er1g}xAZ-wh z8_!#!pmPJ^xQ*DkhS9KbH1U|xQjFBh7m05zeEn$HMq0zBZ8U74LhXlkN~@4|h_EsI zv(b`4>g4A|ASE2Ai@L-gQUe7kwIJ=rK%2+Fe$*3=&`WL0`P?zEALXKpb_>=GE_&UT z{tna&I)R%_(0oIf8j-qy=9$7Y8ms#7=1z(gaGAkUA)h=Y1wPV3|=&qM{yYGNqk|)s{JV#aJn7Z5kEpP)w(^ z0%-=Ng-BhLW+BbOVVXTo8f$lh1ct2LAj0IFaD-fH+kmz{VLOHg z$H71sgl!9{ZO8L!!;2_wLRvy;4boCd%aE2)>O)$Nl+PXyTjsv;a1^Sbc22abq|}DA zic$m8YD$C8@sjay6l!@+ZAl$fYmnAcT7tBJ+oIvL7@(pP#YRePNSi3NAZ@19$QMD} zcpZwZRP1?H&9jZtE~M?eLuAxJ#TFDhDGeZ1D6K}?MQJHN4{_siQS7Fo8)*-vPCj=6 zoL>)2fYXA;Lv{xXI%p}?Bh^vbjgwLD5tH%pi7*$<@QxT~zJZ!Hzo7PvkPPy%%Ea#m71rE(hj6qJSZ}9Q?VY! zY)UJTdMGVK>ZR1f`yg&y7K*u4Oh@XYG?8CthPimeEJc_KsbofnA~C;Wc$ZlkDV6X( zvt-qmf+5bcG9gaj&Pi}6Ef3QQ8p!pc+833SCL^t))Q+@T#D(+4BsfXb@Xz5d73I~1 z!`D-n$|Gv{21<*N1}OC+ZKN~L zozmu)c*$gVky3|hCsoUlDwG!R_b0=^Et~=`Qi4=ULx*lk6Oi^$YC+mdsh%&I0#m!Y zT5W@NE7_ykk?JUIM5^Z<;F)TmVkwG7N^_B#D9u6|O=&Ve4{_t-QM6Do8mX01EuU)< z+pI;3m~Ep{E6%cbN*j>cx2khGXn`Fy0W5H)JE(2)%WBsoQksA?iBb#FWJ>i&os{M!eVTriIVm6JcdqvIGLuq%7O1+eJ zBF&++6=^P|jYxe+IsA-nWNHC5sX&uLN(+$|QR+cjLTNgGc^V9T0*Yl+v?491)X2X9 z7oIsC?y!|q>cVcXqO=WZHKmP6YeY|v;eqMU({=pJbm-}NFvMYKpf2t|t9=@vG#P0l zr8cBZl$ww>Q>sDQf|O6R!e+G73TwZW+O^|Iw^7=Nw4Kr#q#cx&arjlVsF(s26)I*U z?Gil_#o=!+!J8Mbz^>?~wk@x#UC~2n9nxM(%aLl}Cyoa_EBTOWDRm>&A?2Afpev5f zfUeL}I|tesD2+vGq|}7eM5&e^n*rNk@HMp|W-7KLwNToG)XH5mVH=F4VmXR7N(+(3 zQ|d)(r_{x_K-{=w6dhEwBTb~#!e0RwK5-V@xss{W^Qzh~C#9W8(cLn-!KajIt>Y>W>YB*9Xymeka{VNMVdpYiJyVs@mdspR1DUs?Jc0R z9cdx=#KMpjQLzfe5=x7ZmQw0LT1F{+xC(LO>?l@HF&b$lr5b)5T=?ub=%H#VHPxz3 zsG+nPX&t2{Nb4!}@;PykPdbVLDkdOpq}0r}f(!o)@>$zVB_*^kQQC~OmC|~oZIqTH zZND3~lo*~lTN<0!0T#HWbW+>4zo@Mjzg;qDn+PE7qO=-mkkT@w-IV%}_8{d4X2X_p zaW?dRFSScYJMk-5gX&L0Dt--Q5RFBuqtw9rX2bmKc|&c8fr=eS#c%u!3e=3$#4F~& z{EVhzC5qyAQwF(|AQit=Gl=?-ir@MgL_Pdvh#TiZQT#&4Akm35o>B+@23&Zi4Yrg7 zDw)y2L8$?0BBdIn;+L}qRT-@3E*m`Qb=0d}6zcNOO42T0v@U)44iP+EwzkWvrQ zB1)Y|ODK&;T8fkpzXIm-<}2W}df7edQL^L;_#C_(RLrV^dM7lfSyfVML0Uzr0cka* zy;y&Zs11$@^Wd0J2NqacJ+-aJ2o020Aq`Mkj|d z!MprYbV){+*;m6Y#u;`=qb`*JwbFD-3z23}>OtzFG#zOcrAbKLNcrZgVM(688Xirv zsa-VMc_`H)^@PFf?X*$vXrAbH|DYYYQLduU`11*?%EwrGS+L_R7ld{X)mQUNHyEk-NZ8= znxx&<-y|Je4Z0iJ-d3BWr__MdKxuE2YHOsl9jS@Z2BgtQ`6UVP`oT<1a?!*>X%0%;PZ1xS-Ab@O8oH!caq zG%8w=rc!_$fT2HCcsJ5(udltbI3Q(~g#YRdikTy|Th_snf zFVBOxaTzGKQZWf>8>KdW99;Np2Mk#Um9*&4NoiMTbE330v^i1QaDv+$k};+d)o!X5 zBJB}-O%!i&z)yelf(34$n(bt-$-!MkyItLv%-6xbqyr1I)l*w%v)ai9N*zdzl*S@8 zQEEgQO{oT{87a@a4sI4luY;Lop?0nBs`XnbZ9p1JX%$i%r6v5>buf-T6zx>>AWfh& zolAcZTfrY7pF}Fz&>@LZGty*A4M?4oYWNli9v^&1ZCE-LJCJ5j+Je-@4cEg=&!S>A zif&5FkY-a_fYd{&hsQwNxC|6?sF;K_m(qB?0bKa$>tUuBP|1J}g_LTL7Ev0+nOH(; z$J@N+dYI`gsFqPRfV5o9-YD)#gxOmG7C3t=sckRLvMNfukXBRLj>Yjs9CaF~T@l&^D9u6IC|WRqyKaCMG=T-Spqbj*Ppi|Ug;ERBR!R*>+bHdQ zPmRz{se-fvDgWUHI2UwMlK`41lvX3{qO=TYkkSI)cLPi;4~jih%s|>pX%fF~F-)u@ zi{VLJdoOg*Sl+T29zb>c^Tm>Ny#C()eloz-pz~AVXsRJoroCE`rNKLBI zB#F{eq{)=#B6U*g<|~rm1B-MN)2V1jnjv~SiU*V6BQzIS;B?FqbON{C2-F>>*+@M= zdBly<75t4GrQvxwVLg}D(EGmHav!CgNDC-!Mp{T|9nvC7OOci!GNTVr*`zyqaOGnW{#YCi5N@Mv3aN(zy!I0Ug zq(O&xO1p5<*(q&Bnm}pb@4RK1WE@t7YGMvd)bZT49L|hMV2P7Dnfi3%lyC~$F}!9u zY{_Z-*mC%})pY*3_?E%@#5Wg@Sph%(k`;~vf09^iAf6SlfnDG_bmQ-R-cQ~Ohs=zX|ePCahQ{V@LYQnURMyhO6Bh*t`gtUQDFVX2q&<{s_`y`z2im_@^U~Z$_JMk&T1rci>bPSi>;rl#W}s-G)PdAUsRgNt zQXO9bapQwusTrB6*oM?XX#-L#4~mRpsaSxbjnXWn@suVZwNq;4eIg?RiVi9UyVN`r zDQ!cV#4FMuqhu;ppy;GD7ik)$E~M#{Ci0gdZoCym7ZvqLvnUOoQ}c9l=PJl3n~F6k zdMGVJ>ZP;*X%3~?d_BaCOGnX1MLW_0O3nNbxbWetVNWTdQt-cOvL%$ZAuXjefV7O# zs{eAsYPjJRpjtsy7t%^f9Xw?Mro14J!>GLEL1zFnvArQQagV|Bs4J{ z66&Io1|5Qwc6_O(*-dF9(jH1HzvSk0NT?81&HZFA%0{ZCG?{NmhlEaxg!EK0po4+Z z?l07YjFfgDHBs951#b}v)u3voY8g@srMY~>&5+Q}o8izFOQmFVuu*D98c%67Qahy@ zo(I9>yZ)oL!9m3~q=}R^B2D7vwPGWpVkL@BN=uNYQJRZ1ol-ZS199WhP;^l-0cjSc z7QPi+_-AWj$g-)_-KjRrLum(6FQv^$b11FvJq89^%G1QS6|i z4QVH(20r%|7_$Snz?gMWsrg@OvO!9#kakmAfV78F7e5HW;}cNSJV5p#6H+au-5qMB za3;!x9@0~>8bt%81xSsQx{#VEweuAaH{O7vnTkE1t94r_Z9@uYB9T!n6?0IuQR+e( zPiYcTJEb<>Co(dj=%AtoX(FY{XKJ2sCRz^}B~!5;MJJ^dNYf}SM4C=1{P+>XjY~(- zMMVeFEK05X8*t&7F0mC+spnHQSr4ThNWGLcAszur>yQo-=Vvy2Oq}`O}Anlh%!;Bp7vG9x!Ha(Xr3FasqBeN>3bpAIzyfP?2nsJ>Z-ZxbxVha1f5aduEGE-Hx!kOLp`nEs~uKHsR3y{rQO}CZ3CsPNCTACBW*;= z7rUWzo2ZEoO`0inBWL9oD%>!!9v-#@+)-m7`Br+U%l$VT`Lbj^-_7wryp^#nJ<^wx!`9CZtA6tC5;0Ek_znX(3WGQa*bVykp$A3AT0%waY>~E2U{jV<~kYwNYy0k8FZr zh(^&)MJ>_J7FVDq+$b#Nt9M1O{TO6sgqJKUj%XEGEhvXVj|KEN@Mvh zaN%Fy33uZxD)s)LChMlO6KOW3%}70z*8RYPcf#Gc9Mv4E79h=~G@H-OhJ+4e!-u*B zR7yaHLQ2g@i$aqw8zx-|Sm5j}rMC4ysZA=QvS zK?|y>odfM^D2+v0hb`#13%0R(e*P}l#u|9!X307^0QT6PM(Sz%S#3{~@EpTEo8czb z9JX!2cr}8yhG|=>Z?bg%{MUx+!%d z?V&UYX)mQ#q?(=3F1R^wffi_Y_VPqOey9^-Abdt1qS0jI@kW9nx}2gV=xykt+NZJTDwFE5QOATSaZ_F+w$^l}KwS zEk#;KX)e-wtgXTeEp6a0d*O4s02qdrwAyQrZ-ZIe6o$<-PJ<>={2BWeN-L4JQd)?# zjnXWn?UW`W?Lf*QiMe^5P{7O-YV48JB)TX~M;fFw5otH2Hl#h2!e4_Cjq63qzuqR6 z&UW}Q6iprs(pc`<4qc(5FDSA!OGwyb*VDNRFapfmxgkx~m%6Qz2j(Mb7`?U2>* zd*OF>&D5?Pv$s&%h}24H71CJIF4(T`g?8D%0((22+FCAA+hwQJfHZ;9?xCu!gVI){ ziIg@VO+v~q$$=AUGBqhc6DOrvNYf}yMw(7(JdezQqmczg7ZvqLvnUN})i$_!4S1$z zQ?UU>52fWuy_EWp=1}V5#~^N85{f=5+K?7dYU0v;;=RCq;>`(_lp$)eC6u-xEv2*p zX&I%JL%8QYI2x6rT0zwUq?MF<`70u!iTA^4wwg*#bf}@!fwYcN8`648%{=CQ@lb(c zfQlNVjg$s)i8S#5c+PI7Vhf5blm?KtiWLCAEAjyRfLo)NK9a4-wA?)kGb_OBh^29JrqP{u9)OIFQ>O$(IGzn>% zh&!HpcEX6J^Sqt#pq>#9@1icbm#N{iD0L%sQ<{b}n^Ff-52dk4y-4}#ozRW5^I)at zP&+N!MM}u}stC4n4T8gxj(p;nprCCV3kn#h& zVDvBUfi5hPs^9)W|^UY30tUf^l&v{E2X^{B9_t)q&7+eNaID5 z;ddYMVdU-n^L*H$6L?=fENchYW8I0=vprI+JBiW;q{)<)BXv@mi!_bW45aBu`SJo7 z*dqn-gQ*$RE*kAzl=fneWKr6V)Jj+YTGtaZEX&v0i?N< zRw4CKT7^5QY}9YE`0Vw;*%aK zwHwriwNToGw3X6&q-~T|@;MJdJ|!r2P%#&2C#BhZE4c8_AfMS?R7ymLAf+~>-D1+g z8<0ZSV|u_Mv>#Dh=V-M>n%!jQaUj)FYD21{)QnV5sUE2TDc@WuCS4))sFB)rM5*f$5zLXYm;3;D!T$&LSOlb>JCpSL~Yaoq^H7KT2T7fi!(h{UDN_~6|#EtWy=%%6zX*Q)! zz7<^fXAi?R;iXb6I^OopgX*$vhN*(+Wh#M1&VigrlNUL|NH!xcftfv~V!1Yu|ZQF6)*HhYvw1LuU zqyb7xkTz19gR}`LKUpNro!krsOrnJvTgRv!+bR+s!)?WI0&5G~whIbB@hxaan06wq z0h*p~l~OIzSV}vvXKa+#o4ENA z_;joURl8{QcwX}e^hE+#;)pu1FM>ex62ml!Mskc-`y!cAD^e$=dZcNT2FIxp(kX32 znt_x*SORZ-I#D2rL9QYk@5$b6gj(tnpC1mC#8i*66Mzz&a+KE(0X){tiQvO;gEE5AYDMu3{r3FY$lx8E1 zrWAgSrxb492`E~qXhCYFRL`Zy;O4#gF_^kGDz)Q?#Z%gd)J|zN(u4wa>b5)vUF-l0 z?D#}#>zJf=TN0(QNRufwB6U)#MVdxw5CY@~IRrXj7T zG=VRIxbbEb160%^ZKPDOsM*6$28)cEso02O3#BzkTPZC^+D2(1KM!%^yeM{1(S@{= z(qumO30QRpo`6B?qLKw2f|MGNc2n9rMQvCQrOFgu@dUgcY(-VGhiqB_q*_X=`M*R$ z%b$d&96gl^(7`~d2dR%(@s5eW~y~}P?~|XlTrs#g;FchE=mnZgGl*-gRqrfJP4D%o7#2EQ0woZvW=2D>WYujNPcz6$6` z_|)$Ze6#RHhv5IY#tLrOp|Lc8d6wEB8>Kp=@fh~#A^5+*vGX$!C@&!#$U$8cbV;PN z6=@Qsbx4ybEk)|2)Q2<;Dc^orvcgA82jN>@1~6=ti~2Ohs*TE`v<9i0(lVskl;$G! zQ0hYJMasWE46|hUGqCb=L`T8TGdu$`IhW@>1IhWo2$L(IK?>v4USwoLF_wxtq&7-} zIHTiv$@B2pr2QdvjRl^EHI~57JTLtxZyDHY@_*7s797%OG$)59V|mCn-Te0>i%V5@ zQ$HJ)|Faxf{GbY#_QRq1KTA7uPY%5?1ibg29GZmJ@-|hx>*UZSA>ehN9J&~RxZ_$DfX zZz4K;6EUS)$#+4DEDaP+xE_j!|Bwg&CP>~X`9G=Y$UDYf5jcDuKmoM#-``<4In)6~ z&AH(FyL+4f`E6T5}(}HR}g@>A*@<%yYykTmV!^bW0l<@i{l}S!plVh z+wz9_7O0H{6PFW%ywz_KC6sMoq4tm0q-3W3sv02(1GP&b#8<1(V4xPE2n%%pz~Ylz zNF{li!YCmL6Lrv_mK!sFRf`aWfjYtvqvwymu0<%qLY)*~vG`U}3sfQ$VWG|?sKkpF zc>`T06k(yxK(9f$Clup&;pGCklh;NXl%2hOeeMLfI=md1vIUCyjk^9`Um-$>5iuyQ z_GeHSC8*mZydA>3_h#^R3h%kSeR+LuMU+!Sd9oT!-ybctKU$X7+ETFp?T$Jt$ z5UfTxuN2Pzf#RT4()yhZ%3lW>BB;Aec)zBaYxDXmTQy+cJCM4d?p$I25Zd>fukJUG zR3>DFhU>6^?sQ>&v&hXZa$5sTSt^QVQA`)b`J&jJ4#k_Nh;pnbw}|puQJet9{6=Gc zRqObfYAGsj9Z2pvFjBt$8O+Otd4@3mToemL@fJ~Rfnt7RxDzvhg@)w0P@-=YMhWWn zieQISb8UZR>-)_kl^?_H5-`u5AKz{c4gKB*<^J13bF}bsLERSN zeI>2zj|1lZkU8Wgs9P`0FAX7pulQpLES##{nL-4>HST~JA6;S zeWbD_oScB}EMfjGn7f^#GA}TtK@{zxxJ?va5=DzBZWqM^YHUOQ)V~*4Xr&YkG(=Fh zPQ>2wV_)8&Tn^_9*l!z1T~K%DDzJB`;rmlRd|$tLr1Dxga{=AW!g?gNzQ5nvp!5tR zlP9pdPT2qZhru0l_<;fYVRwY~{=z6h-KE034$R#ixH_B*OnFum(?xNIC_XNVc2V3Z ziVumRSroC;gkCB1)1bSHM7TX7+%eTW9PUA2p_$&JPLa-J+NziiM(hj~XkybMEbrWl-|&yEDAZ1a{j*v_#cDJireR*k8Lj zJOqNeO~O2in*00BBb8Yp^T1&N-5O#2W%rNhti3qs~_V;0oiwG!;>2it27 z7Y~^48%Rb_cbhQZOU?K7n@1{n;ba7K2ZXg@9W{T1@2`bXc|;gg34>VB-9>P9xCEFo zK@`2BxL*{9tKQ*`eH2(|p*3y|ca)%Rmk9RxcVbwCHxu41P#kn)FYWh^%u`N=+yjRN zb;k?u!>W0BR37U$hb{_PL%#{?juz(kQ1izJ%&)m8oSUF-tuRj>vdtQ}{c?X2IMR+e4<~m`1 zP?#?gMI{A_6{2XP-iLsNhV*1^xFv$R+rUSWgm*xA9~R!HhA$A0TV=Ew_Ug=3HNB>UM1YGq3(YgaNjbJs-W&(CwN~fyxZaG@C(BGLJ*3L zqWGdHc8Ox8C{~N&r@=fZ7m4yqqI_D&9#K3ZipNATO%z`i#Trpe5XBl%JS2)1QG7)d z9~DKtDE?U#^F^_11r%#V(JP8AqF5)2w?Q$#(dJtaI$*pCFtm-{6z)+0-8JB&TrIpy zh4*X1+bW7VqWHQfjupi$QLGomOGPnB6yFfV3+JI|6UD!XVwWgJi{f8J(eNph^Bbf4 z?=A2vhV`(~G=S#TfR%DY)x$&oCJ3QlA8z ztlv7%pp4lWp49@otA+h!Y9HvgHz?^Lb2w)S>MjxH-+c{j^}^NR=HZr~=r=bg$su!?wt~77h519&ym7$%a$k5!3F@{A^K@$d zw|?_T<+QKQ8Olabw?UZCq~<64%?(P$u5d>Q>h4(v<`=#aO%3OMihuJ4-1JWgy;bPV zRBz(uzrbG9B=iQMAE5f%1JxNH4p%3ryGodEq2})ln12{Dhj9_qT_VgKVD9$7)!}!6 zDRV_JZCT|1N7k3X$8^2#&pr3tNFvN2A|gl_1hF;tHMS%OCbDS}p~|J&DhXOD(Fmp^ zYCl?AgrcRTrEavAkl0#Pt$nLhX>V(b*7j|Y|MT8iVt)U8KJVP~yyt!2^PYXVOR_8l zCkQtn97)kX5UfEknBYl*9Pov0#*g5+dd?+>yB3M5nkcDrx4jDDlv^4_;F3lq5?4j7 zLVmNi{7)6~cUMoM*?=5}WEsYY%gLEtBNJwmT zBgxl+yt)XXf-~Uh0fxF~AU!KezeQI)OXAZ>{OT>QyqFtnK zqsjPrGM-N`jNk==iwSaq7YV*k@b&<}O9ZD7JVo%bv0xoTco*R-6rBwC!kBUuJlB{} z+2sfdow({E=;)0NaZh9Yr9%9vOB`iRTy;8$KmO~*Y)&k==9b6Fz(RLEiK&hu@#7Fz zZRA@ic=|U4`w;w<;8ubi30^0-nqU~g-w5UbzR=cgh>`nH;x`bb20%zpGvYm--$aBf zqk)T^p1^bBs<-N zz4%XZ*V91$bZcO%?oxm|#8nqi0?Qz-W*}7X7is4b97FIH!Knn}3En0+&amy-yWIiL z)$P{6c9yes5m${Q+no$?Ps!YMi=*9D_)c6kn8f|P#qU*!7gcypT-8M4m-QE$Ktb8O zmL6{odP=g4#BcY5_~+i@_veY|0~qe^lfVTMnB^_-cSZ8nC7yaDuDX}R2YZYE;}$pT z?OftT1;kYINjltH`hi;-lUx&*IO>tu>U@&_`wy?oJ#@=s&e-U2hPdh^5-;`^f8-W7 z>w8?{MFqrElSq1bg)|O$Oa+hK;@HZ&#NiBa)o79*TOm*4Pb$RsRyadk)k@+Wyv6_L z7B}lvK5_b9R6tBMpdW^N-OpS6U$;2c5t}?MoVe=kI9R{*yI0BlS0O&hC64w@T=f)* zZ}k>`>J~Taqewi<7!Zl87LxdT5LfdNDtHE-{-&Yr=}gbv+E@*5_V`9zHJh}1cqdj~ zA^y-M4&R8YP9$;5@7`w{rum*0?6bvPQp8k;lKAzTUOAWC(%7Q{ztgq71V>!zEr+Kuq;XETm&8u~LKz z6!7$p-ii6Rl`&enl+nP5o1`8ibw5(yM(UMF{ofmuQ;)B{73z~JTqUl$lC-}!#69DT zp9n8T&-SDEnH0YU@v2JJ{mJ@5f;NJc31$)ONHBolB*U0zjH?2kYd9ZU;W}~EP_o^V zv^i;4CGD3CZSvf?sWMlnudHyLxN2z()MZjXhERcp)F1rjmGNqBZL|KDOS`CmnCcEv zK4M6F@?G66ZPA}@t=Lo%TU|-=!dt#Zh5Vfg--xSbleh|Tbt3r|2%i43w{JDw+GhPn zk8i|OlSsL_**mcyaj*od&maiwG=A)B2q3QiT@Is_*ZTtG0C;H!pdqsEQlur8RcD(~d7 zjn+zBbvhYuOX_1ty&kDIGSoeu)vwU5e6-_;>Al$8P z)?0WoMocw=wD*v6=M?4ym^$?Ue*45^O`zZW!~N zxV+>xX4coaj1?6SQ;mm8HGP;N?&(ueV)0Ql%P10PO^HR4^-!|jmaNw$Xd>8-U{!*p zy#U)2EWZYLj9>?XWdwH+>`3ref~yI3BKR}l3k&AX;JI?WGOHrn#8$JRq;D|fJ)U-P z%bWF2JsBgWI+3I^y`{UlrO{I>S_*Mh8;Qq|Z*9r9Zs29<9Sn6(Bkx|J{&__sC$1Vw z>b~Bo^>B-u^;uuIdn++jPSTft@fr%E-O?7_^pzo9j}C{3t?E4?ztvm5r|5YcLrYJJ zKSA*`z2kd{NyjlC^rHA}6h8>@>N121dV{C;FvLB1>jR#v;2(bJbQY--SDi`P7SbL= z+I>k|B4{HRL-6mbfUOC}68sG?r-a59=X?+crptI!XWo`!bRe!8OvZPSIw$phr2YxP z8_|IM39cY`jNkx*^E}3l1H5?f4BJ>}xoj5|5L4X+l~(%8q`jK72a+()sDnv;421LmBi_^8Y@!tLSvHD~r}(Q^yecsP5iVy=dz>Mr+LolZLs|`^ z#D{>V=M(fLm`HH3Vawx7lG_%}a(8-agt%GigC4Lp+B@y!3i&4$g-l%a3W-NiY9$C2 zq=2Ve3GN`6O0XuuWdw&3^f7FE)&nnt=gQaKU9L&CsDQZYbh3TnGPK8#_A8`)9I#?| zFBs<5#<}7yPfm!d#*y~NhPbDYhgXR2aEYU}5LazW;;&~>YQdD+2r%{G1UbPpf&&d} zo?;y7wr19Mx~vry5L4B=!&rUqwA0&E<0^60D5!8ZtgXlQ$?>`m}oz8

Fq&LHKZfEC4%Rgme{MhUpIF{%<*E$a&Pm85}iw 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

8+Iy>8xiHXyVQKZfjW(b(()hv)ov8N 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 Y%&mD?B-_n(;g`d|@E1C^W;FVL0Ic5Qs{jB1 diff --git a/bindings/dotnet/extlibs/x86/csfml-window-2.dll b/bindings/dotnet/extlibs/x86/csfml-window-2.dll index 5df7ff8269046172b8d16a8bf8a5029ffb0d683f..b74998260cc06796d90d3a30caf65c9fd9262a6f 100644 GIT binary patch delta 29763 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 E0PS7eMF0Q* delta 25895 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 AzyJUM diff --git a/bindings/dotnet/src/Audio/Listener.cs b/bindings/dotnet/src/Audio/Listener.cs index f3179329..a47830a7 100644 --- a/bindings/dotnet/src/Audio/Listener.cs +++ b/bindings/dotnet/src/Audio/Listener.cs @@ -31,9 +31,9 @@ namespace SFML /// 3D position of the listener (default is (0, 0, 0)) /// //////////////////////////////////////////////////////////// - public static Vector3 Position + public static Vector3f Position { - get {Vector3 v; sfListener_GetPosition(out v.X, out v.Y, out v.Z); return v;} + get {Vector3f v; sfListener_GetPosition(out v.X, out v.Y, out v.Z); return v;} set {sfListener_SetPosition(value.X, value.Y, value.Z);} } @@ -42,9 +42,9 @@ namespace SFML /// 3D direction of the listener (default is (0, 0, -1)) /// //////////////////////////////////////////////////////////// - public static Vector3 Direction + public static Vector3f Direction { - get {Vector3 v; sfListener_GetDirection(out v.X, out v.Y, out v.Z); return v;} + get {Vector3f v; sfListener_GetDirection(out v.X, out v.Y, out v.Z); return v;} set {sfListener_SetDirection(value.X, value.Y, value.Z);} } diff --git a/bindings/dotnet/src/Audio/Music.cs b/bindings/dotnet/src/Audio/Music.cs index b7e4b671..6aac0ef4 100644 --- a/bindings/dotnet/src/Audio/Music.cs +++ b/bindings/dotnet/src/Audio/Music.cs @@ -159,9 +159,9 @@ namespace SFML /// 3D position of the music. Default value is (0, 0, 0) /// //////////////////////////////////////////////////////////// - public Vector3 Position + public Vector3f Position { - get {Vector3 v; sfMusic_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} + get {Vector3f v; sfMusic_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} set {sfMusic_SetPosition(This, value.X, value.Y, value.Z);} } diff --git a/bindings/dotnet/src/Audio/Sound.cs b/bindings/dotnet/src/Audio/Sound.cs index f42f4196..69b39077 100644 --- a/bindings/dotnet/src/Audio/Sound.cs +++ b/bindings/dotnet/src/Audio/Sound.cs @@ -165,9 +165,9 @@ namespace SFML /// 3D position of the sound. Default value is (0, 0, 0) /// //////////////////////////////////////////////////////////// - public Vector3 Position + public Vector3f Position { - get {Vector3 v; sfSound_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} + get {Vector3f v; sfSound_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} set {sfSound_SetPosition(This, value.X, value.Y, value.Z);} } diff --git a/bindings/dotnet/src/Audio/SoundStream.cs b/bindings/dotnet/src/Audio/SoundStream.cs index 999ad143..c44c13b8 100644 --- a/bindings/dotnet/src/Audio/SoundStream.cs +++ b/bindings/dotnet/src/Audio/SoundStream.cs @@ -124,9 +124,9 @@ namespace SFML /// 3D position of the sound stream. Default value is (0, 0, 0) /// //////////////////////////////////////////////////////////// - public Vector3 Position + public Vector3f Position { - get {Vector3 v; sfSoundStream_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} + get {Vector3f v; sfSoundStream_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} set {sfSoundStream_SetPosition(This, value.X, value.Y, value.Z);} } diff --git a/bindings/dotnet/src/Audio/Vector3.cs b/bindings/dotnet/src/Audio/Vector3.cs index 5cf10be5..611e1968 100644 --- a/bindings/dotnet/src/Audio/Vector3.cs +++ b/bindings/dotnet/src/Audio/Vector3.cs @@ -7,12 +7,12 @@ namespace SFML { //////////////////////////////////////////////////////////// ///

- /// Vector3 is an utility class for manipulating 3 dimensional + /// Vector3f is an utility class for manipulating 3 dimensional /// vectors with float components /// //////////////////////////////////////////////////////////// [StructLayout(LayoutKind.Sequential)] - public struct Vector3 + public struct Vector3f { //////////////////////////////////////////////////////////// /// @@ -22,7 +22,7 @@ namespace SFML /// Y coordinate /// Z coordinate //////////////////////////////////////////////////////////// - public Vector3(float x, float y, float z) + public Vector3f(float x, float y, float z) { X = x; Y = y; @@ -36,9 +36,9 @@ namespace SFML /// Vector to negate /// -v //////////////////////////////////////////////////////////// - public static Vector3 operator -(Vector3 v) + public static Vector3f operator -(Vector3f v) { - return new Vector3(-v.X, -v.Y, -v.Z); + return new Vector3f(-v.X, -v.Y, -v.Z); } //////////////////////////////////////////////////////////// @@ -49,9 +49,9 @@ namespace SFML /// Second vector /// v1 - v2 //////////////////////////////////////////////////////////// - public static Vector3 operator -(Vector3 v1, Vector3 v2) + public static Vector3f operator -(Vector3f v1, Vector3f v2) { - return new Vector3(v1.X - v2.X, v1.Y - v2.X, v1.Z - v2.Z); + return new Vector3f(v1.X - v2.X, v1.Y - v2.X, v1.Z - v2.Z); } //////////////////////////////////////////////////////////// @@ -62,9 +62,9 @@ namespace SFML /// Second vector /// v1 + v2 //////////////////////////////////////////////////////////// - public static Vector3 operator +(Vector3 v1, Vector3 v2) + public static Vector3f operator +(Vector3f v1, Vector3f v2) { - return new Vector3(v1.X + v2.X, v1.Y + v2.X, v1.Z + v2.Z); + return new Vector3f(v1.X + v2.X, v1.Y + v2.X, v1.Z + v2.Z); } //////////////////////////////////////////////////////////// @@ -75,9 +75,9 @@ namespace SFML /// Scalar value /// v * x //////////////////////////////////////////////////////////// - public static Vector3 operator *(Vector3 v, float x) + public static Vector3f operator *(Vector3f v, float x) { - return new Vector3(v.X * x, v.Y * x, v.Z * x); + return new Vector3f(v.X * x, v.Y * x, v.Z * x); } //////////////////////////////////////////////////////////// @@ -88,9 +88,9 @@ namespace SFML /// Vector /// x * v //////////////////////////////////////////////////////////// - public static Vector3 operator *(float x, Vector3 v) + public static Vector3f operator *(float x, Vector3f v) { - return new Vector3(v.X * x, v.Y * x, v.Z * x); + return new Vector3f(v.X * x, v.Y * x, v.Z * x); } //////////////////////////////////////////////////////////// @@ -101,9 +101,9 @@ namespace SFML /// Scalar value /// v / x //////////////////////////////////////////////////////////// - public static Vector3 operator /(Vector3 v, float x) + public static Vector3f operator /(Vector3f v, float x) { - return new Vector3(v.X / x, v.Y / x, v.Z / x); + return new Vector3f(v.X / x, v.Y / x, v.Z / x); } //////////////////////////////////////////////////////////// @@ -114,7 +114,7 @@ namespace SFML //////////////////////////////////////////////////////////// public override string ToString() { - return "[Vector3]" + + return "[Vector3f]" + " X(" + X + ")" + " Y(" + Y + ")" + " Z(" + Z + ")"; diff --git a/bindings/dotnet/src/Graphics/Drawable.cs b/bindings/dotnet/src/Graphics/Drawable.cs index e85c13ec..09e11a5e 100644 --- a/bindings/dotnet/src/Graphics/Drawable.cs +++ b/bindings/dotnet/src/Graphics/Drawable.cs @@ -1,5 +1,6 @@ using System; using System.Runtime.InteropServices; +using SFML.Window; namespace SFML { @@ -38,7 +39,7 @@ namespace SFML /// Position of the object on screen /// //////////////////////////////////////////////////////////// - public abstract Vector2 Position {get; set;} + public abstract Vector2f Position { get; set; } //////////////////////////////////////////////////////////// /// @@ -52,7 +53,7 @@ namespace SFML /// Vertical and horizontal scale of the object /// //////////////////////////////////////////////////////////// - public abstract Vector2 Scale {get; set;} + public abstract Vector2f Scale { get; set; } //////////////////////////////////////////////////////////// /// @@ -60,7 +61,7 @@ namespace SFML /// (center of translation, rotation and scale) /// //////////////////////////////////////////////////////////// - public abstract Vector2 Origin {get; set;} + public abstract Vector2f Origin { get; set; } //////////////////////////////////////////////////////////// /// @@ -84,7 +85,7 @@ namespace SFML /// Point to transform /// Transformed point //////////////////////////////////////////////////////////// - public abstract Vector2 TransformToLocal(Vector2 point); + public abstract Vector2f TransformToLocal(Vector2f point); //////////////////////////////////////////////////////////// /// @@ -94,7 +95,7 @@ namespace SFML /// Point to transform /// Transformed point //////////////////////////////////////////////////////////// - public abstract Vector2 TransformToGlobal(Vector2 point); + public abstract Vector2f TransformToGlobal(Vector2f point); //////////////////////////////////////////////////////////// /// diff --git a/bindings/dotnet/src/Graphics/RenderImage.cs b/bindings/dotnet/src/Graphics/RenderImage.cs index 396725e4..28bcde2c 100644 --- a/bindings/dotnet/src/Graphics/RenderImage.cs +++ b/bindings/dotnet/src/Graphics/RenderImage.cs @@ -134,7 +134,7 @@ namespace SFML /// Converted point /// //////////////////////////////////////////////////////////// - public Vector2 ConvertCoords(uint x, uint y) + public Vector2f ConvertCoords(uint x, uint y) { return ConvertCoords(x, y, GetView()); } @@ -150,9 +150,9 @@ namespace SFML /// Converted point /// //////////////////////////////////////////////////////////// - public Vector2 ConvertCoords(uint x, uint y, View view) + public Vector2f ConvertCoords(uint x, uint y, View view) { - Vector2 point; + Vector2f point; sfRenderImage_ConvertCoords(This, x, y, out point.X, out point.Y, view.This); return point; diff --git a/bindings/dotnet/src/Graphics/RenderTarget.cs b/bindings/dotnet/src/Graphics/RenderTarget.cs index 0961e4cc..6319850d 100644 --- a/bindings/dotnet/src/Graphics/RenderTarget.cs +++ b/bindings/dotnet/src/Graphics/RenderTarget.cs @@ -69,7 +69,7 @@ namespace SFML /// Y coordinate of the point to convert, relative to the target /// Converted point //////////////////////////////////////////////////////////// - Vector2 ConvertCoords(uint x, uint y); + Vector2f ConvertCoords(uint x, uint y); //////////////////////////////////////////////////////////// /// @@ -81,7 +81,7 @@ namespace SFML /// Target view to convert the point to /// Converted point //////////////////////////////////////////////////////////// - Vector2 ConvertCoords(uint x, uint y, View view); + Vector2f ConvertCoords(uint x, uint y, View view); //////////////////////////////////////////////////////////// /// diff --git a/bindings/dotnet/src/Graphics/RenderWindow.cs b/bindings/dotnet/src/Graphics/RenderWindow.cs index 7e0a23aa..ff757a2a 100644 --- a/bindings/dotnet/src/Graphics/RenderWindow.cs +++ b/bindings/dotnet/src/Graphics/RenderWindow.cs @@ -369,7 +369,7 @@ namespace SFML /// Converted point /// //////////////////////////////////////////////////////////// - public Vector2 ConvertCoords(uint x, uint y) + public Vector2f ConvertCoords(uint x, uint y) { return ConvertCoords(x, y, GetView()); } @@ -385,9 +385,9 @@ namespace SFML /// Converted point /// //////////////////////////////////////////////////////////// - public Vector2 ConvertCoords(uint x, uint y, View view) + public Vector2f ConvertCoords(uint x, uint y, View view) { - Vector2 point; + Vector2f point; sfRenderWindow_ConvertCoords(This, x, y, out point.X, out point.Y, view.This); return point; @@ -518,7 +518,6 @@ namespace SFML //////////////////////////////////////////////////////////// private void Initialize() { - myInput = new Input(sfRenderWindow_GetInput(This)); myDefaultView = new View(sfRenderWindow_GetDefaultView(This)); GC.SuppressFinalize(myDefaultView); } @@ -535,9 +534,6 @@ namespace SFML [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern void sfRenderWindow_Destroy(IntPtr This); - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderWindow_GetInput(IntPtr This); - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern bool sfRenderWindow_IsOpened(IntPtr This); diff --git a/bindings/dotnet/src/Graphics/Shader.cs b/bindings/dotnet/src/Graphics/Shader.cs index 7bbbc278..7efb2782 100644 --- a/bindings/dotnet/src/Graphics/Shader.cs +++ b/bindings/dotnet/src/Graphics/Shader.cs @@ -2,6 +2,7 @@ using System; using System.Runtime.InteropServices; using System.Security; using System.Collections.Generic; +using SFML.Window; namespace SFML { @@ -64,7 +65,7 @@ namespace SFML /// Name of the parameter in the shader /// Value of the parameter //////////////////////////////////////////////////////////// - public void SetParameter(string name, Vector2 v) + public void SetParameter(string name, Vector2f v) { SetParameter(name, v.X, v.Y); } diff --git a/bindings/dotnet/src/Graphics/Shape.cs b/bindings/dotnet/src/Graphics/Shape.cs index 3f807e2a..79e52418 100644 --- a/bindings/dotnet/src/Graphics/Shape.cs +++ b/bindings/dotnet/src/Graphics/Shape.cs @@ -1,6 +1,7 @@ using System; using System.Runtime.InteropServices; using System.Security; +using SFML.Window; namespace SFML { @@ -41,9 +42,9 @@ namespace SFML /// Position of the object on screen /// //////////////////////////////////////////////////////////// - public override Vector2 Position + public override Vector2f Position { - get { return new Vector2(sfShape_GetX(This), sfShape_GetY(This)); } + get { return new Vector2f(sfShape_GetX(This), sfShape_GetY(This)); } set { sfShape_SetPosition(This, value.X, value.Y); } } @@ -63,9 +64,9 @@ namespace SFML /// Vertical and horizontal scale of the object /// //////////////////////////////////////////////////////////// - public override Vector2 Scale + public override Vector2f Scale { - get { return new Vector2(sfShape_GetScaleX(This), sfShape_GetScaleY(This)); } + get { return new Vector2f(sfShape_GetScaleX(This), sfShape_GetScaleY(This)); } set { sfShape_SetScale(This, value.X, value.Y); } } @@ -75,9 +76,9 @@ namespace SFML /// (center of translation, rotation and scale) /// //////////////////////////////////////////////////////////// - public override Vector2 Origin + public override Vector2f Origin { - get { return new Vector2(sfShape_GetOriginX(This), sfShape_GetOriginY(This)); } + get { return new Vector2f(sfShape_GetOriginX(This), sfShape_GetOriginY(This)); } set { sfShape_SetOrigin(This, value.X, value.Y); } } @@ -111,9 +112,9 @@ namespace SFML /// Point to transform /// Transformed point //////////////////////////////////////////////////////////// - public override Vector2 TransformToLocal(Vector2 point) + public override Vector2f TransformToLocal(Vector2f point) { - Vector2 Transformed; + Vector2f Transformed; sfShape_TransformToLocal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); return Transformed; @@ -127,9 +128,9 @@ namespace SFML /// Point to transform /// Transformed point //////////////////////////////////////////////////////////// - public override Vector2 TransformToGlobal(Vector2 point) + public override Vector2f TransformToGlobal(Vector2f point) { - Vector2 Transformed; + Vector2f Transformed; sfShape_TransformToGlobal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); return Transformed; @@ -142,7 +143,7 @@ namespace SFML /// Position of the point /// Color of the point //////////////////////////////////////////////////////////// - public void AddPoint(Vector2 position, Color color) + public void AddPoint(Vector2f position, Color color) { AddPoint(position, color, Color.Black); } @@ -155,7 +156,7 @@ namespace SFML /// Color of the point /// Outline color of the point //////////////////////////////////////////////////////////// - public void AddPoint(Vector2 position, Color color, Color outlineColor) + public void AddPoint(Vector2f position, Color color, Color outlineColor) { sfShape_AddPoint(This, position.X, position.Y, color, outlineColor); } @@ -212,7 +213,7 @@ namespace SFML /// Index of the point, in range [0, NbPoints - 1] /// New position of the index-th point //////////////////////////////////////////////////////////// - public void SetPointPosition(uint index, Vector2 position) + public void SetPointPosition(uint index, Vector2f position) { sfShape_SetPointPosition(This, index, position.X, position.Y); } @@ -224,9 +225,9 @@ namespace SFML /// Index of the point, in range [0, NbPoints - 1] /// Position of the index-th point //////////////////////////////////////////////////////////// - public Vector2 GetPointPosition(uint index) + public Vector2f GetPointPosition(uint index) { - Vector2 Pos; + Vector2f Pos; sfShape_GetPointPosition(This, index, out Pos.X, out Pos.Y); return Pos; @@ -290,7 +291,7 @@ namespace SFML /// Color used to draw the line /// New line shape built with the given parameters //////////////////////////////////////////////////////////// - public static Shape Line(Vector2 p1, Vector2 p2, float thickness, Color color) + public static Shape Line(Vector2f p1, Vector2f p2, float thickness, Color color) { return Line(p1, p2, thickness, color, 0, Color.White); } @@ -307,7 +308,7 @@ namespace SFML /// Color used to draw the outline /// New line shape built with the given parameters //////////////////////////////////////////////////////////// - public static Shape Line(Vector2 p1, Vector2 p2, float thickness, Color color, float outline, Color outlineColor) + public static Shape Line(Vector2f p1, Vector2f p2, float thickness, Color color, float outline, Color outlineColor) { return new Shape(sfShape_CreateLine(p1.X, p1.Y, p2.X, p2.Y, thickness, color, outline, outlineColor)); } @@ -349,7 +350,7 @@ namespace SFML /// Color used to fill the circle /// New circle shape built with the given parameters //////////////////////////////////////////////////////////// - public static Shape Circle(Vector2 center, float radius, Color color) + public static Shape Circle(Vector2f center, float radius, Color color) { return Circle(center, radius, color, 0, Color.White); } @@ -365,7 +366,7 @@ namespace SFML /// Color used to draw the outline /// New circle shape built with the given parameters //////////////////////////////////////////////////////////// - public static Shape Circle(Vector2 center, float radius, Color color, float outline, Color outlineColor) + public static Shape Circle(Vector2f center, float radius, Color color, float outline, Color outlineColor) { return new Shape(sfShape_CreateCircle(center.X, center.Y, radius, color, outline, outlineColor)); } @@ -497,10 +498,10 @@ namespace SFML static extern BlendMode sfShape_GetBlendMode(IntPtr This); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2 sfShape_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); + static extern void sfShape_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2 sfShape_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); + static extern void sfShape_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern void sfRenderWindow_DrawShape(IntPtr This, IntPtr Shape); diff --git a/bindings/dotnet/src/Graphics/Sprite.cs b/bindings/dotnet/src/Graphics/Sprite.cs index ae171ed8..2ab1ee81 100644 --- a/bindings/dotnet/src/Graphics/Sprite.cs +++ b/bindings/dotnet/src/Graphics/Sprite.cs @@ -1,6 +1,7 @@ using System; using System.Security; using System.Runtime.InteropServices; +using SFML.Window; namespace SFML { @@ -53,9 +54,9 @@ namespace SFML /// Position of the object on screen /// //////////////////////////////////////////////////////////// - public override Vector2 Position + public override Vector2f Position { - get { return new Vector2(sfSprite_GetX(This), sfSprite_GetY(This)); } + get { return new Vector2f(sfSprite_GetX(This), sfSprite_GetY(This)); } set { sfSprite_SetPosition(This, value.X, value.Y); } } @@ -75,9 +76,9 @@ namespace SFML /// Vertical and horizontal scale of the object /// //////////////////////////////////////////////////////////// - public override Vector2 Scale + public override Vector2f Scale { - get { return new Vector2(sfSprite_GetScaleX(This), sfSprite_GetScaleY(This)); } + get { return new Vector2f(sfSprite_GetScaleX(This), sfSprite_GetScaleY(This)); } set { sfSprite_SetScale(This, value.X, value.Y); } } @@ -87,9 +88,9 @@ namespace SFML /// (center of translation, rotation and scale) /// //////////////////////////////////////////////////////////// - public override Vector2 Origin + public override Vector2f Origin { - get { return new Vector2(sfSprite_GetOriginX(This), sfSprite_GetOriginY(This)); } + get { return new Vector2f(sfSprite_GetOriginX(This), sfSprite_GetOriginY(This)); } set { sfSprite_SetOrigin(This, value.X, value.Y); } } @@ -123,9 +124,9 @@ namespace SFML /// Point to transform /// Transformed point //////////////////////////////////////////////////////////// - public override Vector2 TransformToLocal(Vector2 point) + public override Vector2f TransformToLocal(Vector2f point) { - Vector2 Transformed; + Vector2f Transformed; sfSprite_TransformToLocal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); return Transformed; @@ -139,9 +140,9 @@ namespace SFML /// Point to transform /// Transformed point //////////////////////////////////////////////////////////// - public override Vector2 TransformToGlobal(Vector2 point) + public override Vector2f TransformToGlobal(Vector2f point) { - Vector2 Transformed; + Vector2f Transformed; sfSprite_TransformToGlobal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); return Transformed; @@ -347,10 +348,10 @@ namespace SFML static extern BlendMode sfSprite_GetBlendMode(IntPtr This); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2 sfSprite_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); + static extern Vector2f sfSprite_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2 sfSprite_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); + static extern Vector2f sfSprite_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern void sfRenderWindow_DrawSprite(IntPtr This, IntPtr Sprite); diff --git a/bindings/dotnet/src/Graphics/Text.cs b/bindings/dotnet/src/Graphics/Text.cs index 1524e0e0..c0a6c816 100644 --- a/bindings/dotnet/src/Graphics/Text.cs +++ b/bindings/dotnet/src/Graphics/Text.cs @@ -1,6 +1,7 @@ using System; using System.Security; using System.Runtime.InteropServices; +using SFML.Window; namespace SFML { @@ -100,9 +101,9 @@ namespace SFML /// Position of the object on screen /// //////////////////////////////////////////////////////////// - public override Vector2 Position + public override Vector2f Position { - get { return new Vector2(sfText_GetX(This), sfText_GetY(This)); } + get { return new Vector2f(sfText_GetX(This), sfText_GetY(This)); } set { sfText_SetPosition(This, value.X, value.Y); } } @@ -122,9 +123,9 @@ namespace SFML /// Vertical and horizontal scale of the object /// //////////////////////////////////////////////////////////// - public override Vector2 Scale + public override Vector2f Scale { - get { return new Vector2(sfText_GetScaleX(This), sfText_GetScaleY(This)); } + get { return new Vector2f(sfText_GetScaleX(This), sfText_GetScaleY(This)); } set { sfText_SetScale(This, value.X, value.Y); } } @@ -134,9 +135,9 @@ namespace SFML /// (center of translation, rotation and scale) /// //////////////////////////////////////////////////////////// - public override Vector2 Origin + public override Vector2f Origin { - get { return new Vector2(sfText_GetOriginX(This), sfText_GetOriginY(This)); } + get { return new Vector2f(sfText_GetOriginX(This), sfText_GetOriginY(This)); } set { sfText_SetOrigin(This, value.X, value.Y); } } @@ -170,9 +171,9 @@ namespace SFML /// Point to transform /// Transformed point //////////////////////////////////////////////////////////// - public override Vector2 TransformToLocal(Vector2 point) + public override Vector2f TransformToLocal(Vector2f point) { - Vector2 Transformed; + Vector2f Transformed; sfText_TransformToLocal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); return Transformed; @@ -186,9 +187,9 @@ namespace SFML /// Point to transform /// Transformed point //////////////////////////////////////////////////////////// - public override Vector2 TransformToGlobal(Vector2 point) + public override Vector2f TransformToGlobal(Vector2f point) { - Vector2 Transformed; + Vector2f Transformed; sfText_TransformToGlobal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); return Transformed; @@ -282,9 +283,9 @@ namespace SFML /// Index of the character /// Position of the Index-th character (end of text if Index is out of range) //////////////////////////////////////////////////////////// - public Vector2 GetCharacterPos(uint index) + public Vector2f GetCharacterPos(uint index) { - Vector2 Pos; + Vector2f Pos; sfText_GetCharacterPos(This, index, out Pos.X, out Pos.Y); return Pos; @@ -411,10 +412,10 @@ namespace SFML static extern BlendMode sfText_GetBlendMode(IntPtr This); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2 sfText_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); + static extern Vector2f sfText_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2 sfText_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); + static extern Vector2f sfText_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern void sfRenderWindow_DrawText(IntPtr This, IntPtr String); diff --git a/bindings/dotnet/src/Graphics/Vector2.cs b/bindings/dotnet/src/Graphics/Vector2.cs deleted file mode 100644 index 669cc332..00000000 --- a/bindings/dotnet/src/Graphics/Vector2.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Vector2 is an utility class for manipulating 2 dimensional - /// vectors with float components - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct Vector2 - { - //////////////////////////////////////////////////////////// - /// - /// Construct the vector from its coordinates - /// - /// X coordinate - /// Y coordinate - //////////////////////////////////////////////////////////// - public Vector2(float x, float y) - { - X = x; - Y = y; - } - - //////////////////////////////////////////////////////////// - /// - /// Operator - overload ; returns the opposite of a vector - /// - /// Vector to negate - /// -v - //////////////////////////////////////////////////////////// - public static Vector2 operator -(Vector2 v) - { - return new Vector2(-v.X, -v.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator - overload ; subtracts two vectors - /// - /// First vector - /// Second vector - /// v1 - v2 - //////////////////////////////////////////////////////////// - public static Vector2 operator -(Vector2 v1, Vector2 v2) - { - return new Vector2(v1.X - v2.X, v1.Y - v2.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator + overload ; add two vectors - /// - /// First vector - /// Second vector - /// v1 + v2 - //////////////////////////////////////////////////////////// - public static Vector2 operator +(Vector2 v1, Vector2 v2) - { - return new Vector2(v1.X + v2.X, v1.Y + v2.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator * overload ; multiply a vector by a scalar value - /// - /// Vector - /// Scalar value - /// v * x - //////////////////////////////////////////////////////////// - public static Vector2 operator *(Vector2 v, float x) - { - return new Vector2(v.X * x, v.Y * x); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator * overload ; multiply a scalar value by a vector - /// - /// Scalar value - /// Vector - /// x * v - //////////////////////////////////////////////////////////// - public static Vector2 operator *(float x, Vector2 v) - { - return new Vector2(v.X * x, v.Y * x); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator / overload ; divide a vector by a scalar value - /// - /// Vector - /// Scalar value - /// v / x - //////////////////////////////////////////////////////////// - public static Vector2 operator /(Vector2 v, float x) - { - return new Vector2(v.X / x, v.Y / x); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Vector2]" + - " X(" + X + ")" + - " Y(" + Y + ")"; - } - - /// X (horizontal) component of the vector - public float X; - - /// Y (vertical) component of the vector - public float Y; - } - } -} diff --git a/bindings/dotnet/src/Graphics/View.cs b/bindings/dotnet/src/Graphics/View.cs index 1b7ab523..5968aead 100644 --- a/bindings/dotnet/src/Graphics/View.cs +++ b/bindings/dotnet/src/Graphics/View.cs @@ -1,6 +1,7 @@ using System; using System.Runtime.InteropServices; using System.Security; +using SFML.Window; namespace SFML { @@ -42,7 +43,7 @@ namespace SFML /// Center of the view /// Size of the view //////////////////////////////////////////////////////////// - public View(Vector2 center, Vector2 size) : + public View(Vector2f center, Vector2f size) : base(sfView_Create()) { this.Center = center; @@ -65,9 +66,9 @@ namespace SFML /// Center of the view /// //////////////////////////////////////////////////////////// - public Vector2 Center + public Vector2f Center { - get {return new Vector2(sfView_GetCenterX(This), sfView_GetCenterY(This));} + get {return new Vector2f(sfView_GetCenterX(This), sfView_GetCenterY(This));} set {sfView_SetCenter(This, value.X, value.Y);} } @@ -76,9 +77,9 @@ namespace SFML /// Half-size of the view /// //////////////////////////////////////////////////////////// - public Vector2 Size + public Vector2f Size { - get {return new Vector2(sfView_GetWidth(This), sfView_GetHeight(This));} + get {return new Vector2f(sfView_GetWidth(This), sfView_GetHeight(This));} set {sfView_SetSize(This, value.X, value.Y);} } @@ -122,7 +123,7 @@ namespace SFML /// /// Offset to move the view //////////////////////////////////////////////////////////// - public void Move(Vector2 offset) + public void Move(Vector2f offset) { sfView_Move(This, offset.X, offset.Y); } diff --git a/bindings/dotnet/src/Graphics/sfml-graphics.csproj b/bindings/dotnet/src/Graphics/sfml-graphics.csproj index 8b08a54b..41fae5c1 100644 --- a/bindings/dotnet/src/Graphics/sfml-graphics.csproj +++ b/bindings/dotnet/src/Graphics/sfml-graphics.csproj @@ -80,7 +80,6 @@ - diff --git a/bindings/dotnet/src/Window/Event.cs b/bindings/dotnet/src/Window/Event.cs index 9923f09b..0408c4ac 100644 --- a/bindings/dotnet/src/Window/Event.cs +++ b/bindings/dotnet/src/Window/Event.cs @@ -5,168 +5,6 @@ namespace SFML { namespace Window { - //////////////////////////////////////////////////////////// - /// - /// Definition of key codes for keyboard events - /// - //////////////////////////////////////////////////////////// - public enum KeyCode - { - A = 'a', - B = 'b', - C = 'c', - D = 'd', - E = 'e', - F = 'f', - G = 'g', - H = 'h', - I = 'i', - J = 'j', - K = 'k', - L = 'l', - M = 'm', - N = 'n', - O = 'o', - P = 'p', - Q = 'q', - R = 'r', - S = 's', - T = 't', - U = 'u', - V = 'v', - W = 'w', - X = 'x', - Y = 'y', - Z = 'z', - Num0 = '0', - Num1 = '1', - Num2 = '2', - Num3 = '3', - Num4 = '4', - Num5 = '5', - Num6 = '6', - Num7 = '7', - Num8 = '8', - Num9 = '9', - Escape = 256, - LControl, - LShift, - LAlt, - LSystem, // OS specific key (left side) : windows (Win and Linux), apple (MacOS), ... - RControl, - RShift, - RAlt, - RSystem, // OS specific key (right side) : windows (Win and Linux), apple (MacOS), ... - Menu, - LBracket, // [ - RBracket, // ] - SemiColon, // ; - Comma, // , - Period, // . - Quote, // ' - Slash, // / - BackSlash, - Tilde, // ~ - Equal, // = - Dash, // - - Space, - Return, - Back, - Tab, - PageUp, - PageDown, - End, - Home, - Insert, - Delete, - Add, // + - Subtract, // - - Multiply, // * - Divide, // / - Left, // Left arrow - Right, // Right arrow - Up, // Up arrow - Down, // Down arrow - Numpad0, - Numpad1, - Numpad2, - Numpad3, - Numpad4, - Numpad5, - Numpad6, - Numpad7, - Numpad8, - Numpad9, - F1, - F2, - F3, - F4, - F5, - F6, - F7, - F8, - F9, - F10, - F11, - F12, - F13, - F14, - F15, - Pause - } - - //////////////////////////////////////////////////////////// - /// - /// Definition of button codes for mouse events - /// - //////////////////////////////////////////////////////////// - public enum MouseButton - { - /// Left mouse button - Left, - - /// Right mouse button - Right, - - /// Center (wheel) mouse button - Middle, - - /// First extra button - XButton1, - - /// Second extra button - XButton2 - } - - //////////////////////////////////////////////////////////// - /// - /// Definition of joystick axis for joystick events - /// - //////////////////////////////////////////////////////////// - public enum JoyAxis - { - /// X axis - AxisX, - - /// Y axis - AxisY, - - /// Z axis - AxisZ, - - /// R axis - AxisR, - - /// U axis - AxisU, - - /// V axis - AxisV, - - /// Point of view - AxisPOV - } - //////////////////////////////////////////////////////////// /// /// Enumeration of the different types of events @@ -214,13 +52,19 @@ namespace SFML MouseLeft, /// Event triggered when a joystick button is pressed - JoyButtonPressed, + JoystickButtonPressed, /// Event triggered when a joystick button is released - JoyButtonReleased, + JoystickButtonReleased, /// Event triggered when a joystick axis moves - JoyMoved + JoystickMoved, + + /// Event triggered when a joystick is connected + JoystickConnected, + + /// Event triggered when a joystick is disconnected + JoystickDisconnected } //////////////////////////////////////////////////////////// @@ -232,7 +76,7 @@ namespace SFML public struct KeyEvent { /// Code of the key (see KeyCode enum) - public KeyCode Code; + public Keyboard.Key Code; /// Is the Alt modifier pressed? public int Alt; @@ -283,7 +127,7 @@ namespace SFML public struct MouseButtonEvent { /// Code of the button (see MouseButton enum) - public MouseButton Button; + public Mouse.Button Button; /// X coordinate of the mouse cursor public int X; @@ -316,13 +160,13 @@ namespace SFML /// //////////////////////////////////////////////////////////// [StructLayout(LayoutKind.Sequential)] - public struct JoyMoveEvent + public struct JoystickMoveEvent { /// Index of the joystick which triggered the event public uint JoystickId; /// Joystick axis (see JoyAxis enum) - public JoyAxis Axis; + public Joystick.Axis Axis; /// Current position of the axis public float Position; @@ -334,7 +178,7 @@ namespace SFML /// //////////////////////////////////////////////////////////// [StructLayout(LayoutKind.Sequential)] - public struct JoyButtonEvent + public struct JoystickButtonEvent { /// Index of the joystick which triggered the event public uint JoystickId; @@ -343,6 +187,18 @@ namespace SFML public uint Button; } + //////////////////////////////////////////////////////////// + /// + /// Joystick connect event parameters + /// + //////////////////////////////////////////////////////////// + [StructLayout(LayoutKind.Sequential)] + public struct JoystickConnectEvent + { + /// Index of the joystick which triggered the event + public uint JoystickId; + } + //////////////////////////////////////////////////////////// /// /// Size event parameters @@ -370,6 +226,10 @@ namespace SFML [FieldOffset(0)] public EventType Type; + /// Arguments for size events (Resized) + [FieldOffset(4)] + public SizeEvent Size; + /// Arguments for key events (KeyPressed, KeyReleased) [FieldOffset(4)] public KeyEvent Key; @@ -390,17 +250,17 @@ namespace SFML [FieldOffset(4)] public MouseWheelEvent MouseWheel; - /// Arguments for joystick axis events (JoyMoved) + /// Arguments for joystick axis events (JoystickMoved) [FieldOffset(4)] - public JoyMoveEvent JoyMove; + public JoystickMoveEvent JoystickMove; - /// Arguments for joystick button events (JoyButtonPressed, JoyButtonReleased) + /// Arguments for joystick button events (JoystickButtonPressed, JoystickButtonReleased) [FieldOffset(4)] - public JoyButtonEvent JoyButton; + public JoystickButtonEvent JoystickButton; - /// Arguments for size events (Resized) + /// Arguments for joystick connect events (JoystickConnected, JoystickDisconnected) [FieldOffset(4)] - public SizeEvent Size; + public JoystickConnectEvent JoystickConnect; } } } diff --git a/bindings/dotnet/src/Window/EventArgs.cs b/bindings/dotnet/src/Window/EventArgs.cs index 37c26d76..8ecf8d3c 100644 --- a/bindings/dotnet/src/Window/EventArgs.cs +++ b/bindings/dotnet/src/Window/EventArgs.cs @@ -43,7 +43,7 @@ namespace SFML } /// Code of the key (see KeyCode enum) - public KeyCode Code; + public Keyboard.Key Code; /// Is the Alt modifier pressed? public bool Alt; @@ -166,7 +166,7 @@ namespace SFML } /// Code of the button (see MouseButton enum) - public MouseButton Button; + public Mouse.Button Button; /// X coordinate of the mouse cursor public int X; @@ -224,7 +224,7 @@ namespace SFML /// Joystick axis move event parameters /// //////////////////////////////////////////////////////////// - public class JoyMoveEventArgs : EventArgs + public class JoystickMoveEventArgs : EventArgs { //////////////////////////////////////////////////////////// /// @@ -232,7 +232,7 @@ namespace SFML /// /// Joystick move event //////////////////////////////////////////////////////////// - public JoyMoveEventArgs(JoyMoveEvent e) + public JoystickMoveEventArgs(JoystickMoveEvent e) { JoystickId = e.JoystickId; Axis = e.Axis; @@ -247,7 +247,7 @@ namespace SFML //////////////////////////////////////////////////////////// public override string ToString() { - return "[JoyMoveEventArgs]" + + return "[JoystickMoveEventArgs]" + " JoystickId(" + JoystickId + ")" + " Axis(" + Axis + ")" + " Position(" + Position + ")"; @@ -257,7 +257,7 @@ namespace SFML public uint JoystickId; /// Joystick axis (see JoyAxis enum) - public JoyAxis Axis; + public Joystick.Axis Axis; /// Current position of the axis public float Position; @@ -268,7 +268,7 @@ namespace SFML /// Joystick buttons event parameters /// //////////////////////////////////////////////////////////// - public class JoyButtonEventArgs : EventArgs + public class JoystickButtonEventArgs : EventArgs { //////////////////////////////////////////////////////////// /// @@ -276,7 +276,7 @@ namespace SFML /// /// Joystick button event //////////////////////////////////////////////////////////// - public JoyButtonEventArgs(JoyButtonEvent e) + public JoystickButtonEventArgs(JoystickButtonEvent e) { JoystickId = e.JoystickId; Button = e.Button; @@ -290,7 +290,7 @@ namespace SFML //////////////////////////////////////////////////////////// public override string ToString() { - return "[JoyButtonEventArgs]" + + return "[JoystickButtonEventArgs]" + " JoystickId(" + JoystickId + ")" + " Button(" + Button + ")"; } @@ -302,6 +302,40 @@ namespace SFML public uint Button; } + //////////////////////////////////////////////////////////// + /// + /// Joystick connection/disconnection event parameters + /// + //////////////////////////////////////////////////////////// + public class JoystickConnectEventArgs : EventArgs + { + //////////////////////////////////////////////////////////// + /// + /// Construct the joystick connect arguments from a joystick connect event + /// + /// Joystick button event + //////////////////////////////////////////////////////////// + public JoystickConnectEventArgs(JoystickConnectEvent e) + { + JoystickId = e.JoystickId; + } + + //////////////////////////////////////////////////////////// + /// + /// Provide a string describing the object + /// + /// String description of the object + //////////////////////////////////////////////////////////// + public override string ToString() + { + return "[JoystickConnectEventArgs]" + + " JoystickId(" + JoystickId + ")"; + } + + /// Index of the joystick which triggered the event + public uint JoystickId; + } + //////////////////////////////////////////////////////////// /// /// Size event parameters diff --git a/bindings/dotnet/src/Window/Input.cs b/bindings/dotnet/src/Window/Input.cs deleted file mode 100644 index eb086b6d..00000000 --- a/bindings/dotnet/src/Window/Input.cs +++ /dev/null @@ -1,144 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Input handles real-time input from keyboard and mouse. - /// Use it instead of events to handle continuous moves and more - /// game-friendly inputs - /// - //////////////////////////////////////////////////////////// - public class Input : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Get the state of a key - /// - /// Key to check - /// True if key is down, false if key is up - //////////////////////////////////////////////////////////// - public bool IsKeyDown(KeyCode key) - { - return sfInput_IsKeyDown(This, key); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the state of a mouse button - /// - /// Button to check - /// True if button is down, false if button is up - //////////////////////////////////////////////////////////// - public bool IsMouseButtonDown(MouseButton button) - { - return sfInput_IsMouseButtonDown(This, button); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the state of a joystick button - /// - /// Identifier of the joystick to check (0 or 1) - /// Button to check - /// True if button is down, false if button is up - //////////////////////////////////////////////////////////// - public bool IsJoystickButtonDown(uint joystickId, uint button) - { - return sfInput_IsJoystickButtonDown(This, joystickId, button); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the mouse X position - /// - /// Current mouse left position, relative to owner window - //////////////////////////////////////////////////////////// - public int GetMouseX() - { - return sfInput_GetMouseX(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the mouse Y position - /// - /// Current mouse top position, relative to owner window - //////////////////////////////////////////////////////////// - public int GetMouseY() - { - return sfInput_GetMouseY(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Get a joystick axis position - /// - /// Identifier of the joystick to check (0 or 1) - /// Axis to get - /// Current axis position, in the range [-100, 100] (except for POV, which is [0, 360]) - //////////////////////////////////////////////////////////// - public float GetJoystickAxis(uint joystickId, JoyAxis axis) - { - return sfInput_GetJoystickAxis(This, joystickId, axis); - } - - //////////////////////////////////////////////////////////// - /// - /// For internal use only, construct the instance from a direct pointer to the internal object - /// - /// Internal pointer to the input object - //////////////////////////////////////////////////////////// - public Input(IntPtr thisPtr) : - base(thisPtr) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Input]"; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - // Nothing to do here, Input instances are owned by the C library - } - - #region Imports - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfInput_IsKeyDown(IntPtr This, KeyCode Key); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfInput_IsMouseButtonDown(IntPtr This, MouseButton Button); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfInput_IsJoystickButtonDown(IntPtr This, uint JoyId, uint Button); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern int sfInput_GetMouseX(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern int sfInput_GetMouseY(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfInput_GetJoystickAxis(IntPtr This, uint JoyId, JoyAxis Axis); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Window/Joystick.cs b/bindings/dotnet/src/Window/Joystick.cs new file mode 100644 index 00000000..6b155566 --- /dev/null +++ b/bindings/dotnet/src/Window/Joystick.cs @@ -0,0 +1,159 @@ +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace SFML +{ + namespace Window + { + //////////////////////////////////////////////////////////// + /// + /// Give access to the real-time state of the joysticks + /// + //////////////////////////////////////////////////////////// + public class Joystick + { + /// Maximum number of supported joysticks + public static readonly uint Count = 8; + + /// Maximum number of supported buttons + public static readonly uint ButtonCount = 32; + + /// Maximum number of supported axes + public static readonly uint AxisCount = 8; + + //////////////////////////////////////////////////////////// + /// + /// Axes supported by SFML joysticks + /// + //////////////////////////////////////////////////////////// + public enum Axis + { + /// The X axis + X, + + /// The Y axis + Y, + + /// The Z axis + Z, + + /// The R axis + R, + + /// The U axis + U, + + /// The V axis + V, + + /// The X axis of the point-of-view hat + PovX, + + /// TheY axis of the point-of-view hat + PovY + }; + + //////////////////////////////////////////////////////////// + /// + /// Check if a joystick is connected + /// + /// Index of the joystick to check + /// True if the joystick is connected, false otherwise + //////////////////////////////////////////////////////////// + public static bool IsConnected(uint joystick) + { + return sfJoystick_IsConnected(joystick); + } + + //////////////////////////////////////////////////////////// + /// + /// Return the number of buttons supported by a joystick + /// + /// If the joystick is not connected, this function returns 0. + /// Index of the joystick + /// Number of buttons supported by the joystick + //////////////////////////////////////////////////////////// + public static uint GetButtonCount(uint joystick) + { + return sfJoystick_GetButtonCount(joystick); + } + + //////////////////////////////////////////////////////////// + /// + /// Check if a joystick supports a given axis + /// + /// If the joystick is not connected, this function returns false. + /// Index of the joystick + /// Axis to check + /// True if the joystick supports the axis, false otherwise + //////////////////////////////////////////////////////////// + public static bool HasAxis(uint joystick, Axis axis) + { + return sfJoystick_HasAxis(joystick, axis); + } + + //////////////////////////////////////////////////////////// + /// + /// Check if a joystick button is pressed + /// + /// If the joystick is not connected, this function returns false. + /// Index of the joystick + /// Button to check + /// True if the button is pressed, false otherwise + //////////////////////////////////////////////////////////// + public static bool IsButtonPressed(uint joystick, uint button) + { + return sfJoystick_IsButtonPressed(joystick, button); + } + + //////////////////////////////////////////////////////////// + /// + /// Get the current position of a joystick axis + /// + /// If the joystick is not connected, this function returns 0. + /// Index of the joystick + /// Axis to check + /// Current position of the axis, in range [-100 .. 100] + //////////////////////////////////////////////////////////// + public static float GetAxisPosition(uint joystick, Axis axis) + { + return sfJoystick_GetAxisPosition(joystick, axis); + } + + //////////////////////////////////////////////////////////// + /// + /// 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. + //////////////////////////////////////////////////////////// + public static void Update() + { + sfJoystick_Update(); + } + + #region Imports + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern bool sfJoystick_IsConnected(uint joystick); + + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern uint sfJoystick_GetButtonCount(uint joystick); + + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern bool sfJoystick_HasAxis(uint joystick, Axis axis); + + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern bool sfJoystick_IsButtonPressed(uint joystick, uint button); + + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern float sfJoystick_GetAxisPosition(uint joystick, Axis axis); + + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern void sfJoystick_Update(); + #endregion + } + } +} diff --git a/bindings/dotnet/src/Window/Keyboard.cs b/bindings/dotnet/src/Window/Keyboard.cs new file mode 100644 index 00000000..3f36cf0e --- /dev/null +++ b/bindings/dotnet/src/Window/Keyboard.cs @@ -0,0 +1,146 @@ +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace SFML +{ + namespace Window + { + //////////////////////////////////////////////////////////// + /// + /// Give access to the real-time state of the keyboard + /// + //////////////////////////////////////////////////////////// + public class Keyboard + { + //////////////////////////////////////////////////////////// + /// + /// Key codes + /// + //////////////////////////////////////////////////////////// + public enum Key + { + A, // 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 + Back, // 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, // + + Subtract, // - + Multiply, // * + Divide, // / + 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 F8 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 + }; + + //////////////////////////////////////////////////////////// + /// + /// Check if a key is pressed + /// + /// Key to check + /// True if the key is pressed, false otherwise + //////////////////////////////////////////////////////////// + public static bool IsKeyDown(Key key) + { + return sfKeyboard_IsKeyDown(key); + } + + #region Imports + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern bool sfKeyboard_IsKeyDown(Key Key); + #endregion + } + } +} diff --git a/bindings/dotnet/src/Window/Mouse.cs b/bindings/dotnet/src/Window/Mouse.cs new file mode 100644 index 00000000..3a79725d --- /dev/null +++ b/bindings/dotnet/src/Window/Mouse.cs @@ -0,0 +1,81 @@ +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace SFML +{ + namespace Window + { + //////////////////////////////////////////////////////////// + /// + /// Give access to the real-time state of the mouse + /// + //////////////////////////////////////////////////////////// + public class Mouse + { + //////////////////////////////////////////////////////////// + /// + /// Mouse buttons + /// + //////////////////////////////////////////////////////////// + public enum Button + { + /// The left mouse button + Left, + + /// The right mouse button + Right, + + /// The middle (wheel) mouse button + Middle, + + /// The first extra mouse button + XButton1, + + /// The second extra mouse button + XButton2, + + /// Keep last -- the total number of mouse buttons + ButtonCount + }; + + //////////////////////////////////////////////////////////// + /// + /// Check if a mouse button is pressed + /// + /// Button to check + /// True if the button is pressed, false otherwise + //////////////////////////////////////////////////////////// + public static bool IsButtonPressed(Button button) + { + return sfMouse_IsButtonPressed(button); + } + + //////////////////////////////////////////////////////////// + /// + /// Get the current position of the mouse + /// + /// This function returns the current position of the mouse + /// cursor. + /// If the cursor is over a SFML window, the returned position + /// is relative to this window. Otherwise, the returned position + /// is in desktop coordinates. + /// Current position of the mouse + //////////////////////////////////////////////////////////// + public static Vector2i GetPosition() + { + Vector2i position; + sfMouse_GetPosition(out position.X, out position.Y); + return position; + } + + #region Imports + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern bool sfMouse_IsButtonPressed(Button button); + + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern void sfMouse_GetPosition(out int x, out int y); + #endregion + } + } +} diff --git a/bindings/dotnet/src/Window/Vector2.cs b/bindings/dotnet/src/Window/Vector2.cs new file mode 100644 index 00000000..8a07669a --- /dev/null +++ b/bindings/dotnet/src/Window/Vector2.cs @@ -0,0 +1,246 @@ +using System; +using System.Runtime.InteropServices; + +namespace SFML +{ + namespace Window + { + //////////////////////////////////////////////////////////// + /// + /// Vector2f is an utility class for manipulating 2 dimensional + /// vectors with float components + /// + //////////////////////////////////////////////////////////// + [StructLayout(LayoutKind.Sequential)] + public struct Vector2f + { + //////////////////////////////////////////////////////////// + /// + /// Construct the vector from its coordinates + /// + /// X coordinate + /// Y coordinate + //////////////////////////////////////////////////////////// + public Vector2f(float x, float y) + { + X = x; + Y = y; + } + + //////////////////////////////////////////////////////////// + /// + /// Operator - overload ; returns the opposite of a vector + /// + /// Vector to negate + /// -v + //////////////////////////////////////////////////////////// + public static Vector2f operator -(Vector2f v) + { + return new Vector2f(-v.X, -v.Y); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator - overload ; subtracts two vectors + /// + /// First vector + /// Second vector + /// v1 - v2 + //////////////////////////////////////////////////////////// + public static Vector2f operator -(Vector2f v1, Vector2f v2) + { + return new Vector2f(v1.X - v2.X, v1.Y - v2.Y); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator + overload ; add two vectors + /// + /// First vector + /// Second vector + /// v1 + v2 + //////////////////////////////////////////////////////////// + public static Vector2f operator +(Vector2f v1, Vector2f v2) + { + return new Vector2f(v1.X + v2.X, v1.Y + v2.Y); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator * overload ; multiply a vector by a scalar value + /// + /// Vector + /// Scalar value + /// v * x + //////////////////////////////////////////////////////////// + public static Vector2f operator *(Vector2f v, float x) + { + return new Vector2f(v.X * x, v.Y * x); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator * overload ; multiply a scalar value by a vector + /// + /// Scalar value + /// Vector + /// x * v + //////////////////////////////////////////////////////////// + public static Vector2f operator *(float x, Vector2f v) + { + return new Vector2f(v.X * x, v.Y * x); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator / overload ; divide a vector by a scalar value + /// + /// Vector + /// Scalar value + /// v / x + //////////////////////////////////////////////////////////// + public static Vector2f operator /(Vector2f v, float x) + { + return new Vector2f(v.X / x, v.Y / x); + } + + //////////////////////////////////////////////////////////// + /// + /// Provide a string describing the object + /// + /// String description of the object + //////////////////////////////////////////////////////////// + public override string ToString() + { + return "[Vector2f]" + + " X(" + X + ")" + + " Y(" + Y + ")"; + } + + /// X (horizontal) component of the vector + public float X; + + /// Y (vertical) component of the vector + public float Y; + } + + //////////////////////////////////////////////////////////// + /// + /// Vector2i is an utility class for manipulating 2 dimensional + /// vectors with integer components + /// + //////////////////////////////////////////////////////////// + [StructLayout(LayoutKind.Sequential)] + public struct Vector2i + { + //////////////////////////////////////////////////////////// + /// + /// Construct the vector from its coordinates + /// + /// X coordinate + /// Y coordinate + //////////////////////////////////////////////////////////// + public Vector2i(int x, int y) + { + X = x; + Y = y; + } + + //////////////////////////////////////////////////////////// + /// + /// Operator - overload ; returns the opposite of a vector + /// + /// Vector to negate + /// -v + //////////////////////////////////////////////////////////// + public static Vector2i operator -(Vector2i v) + { + return new Vector2i(-v.X, -v.Y); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator - overload ; subtracts two vectors + /// + /// First vector + /// Second vector + /// v1 - v2 + //////////////////////////////////////////////////////////// + public static Vector2i operator -(Vector2i v1, Vector2i v2) + { + return new Vector2i(v1.X - v2.X, v1.Y - v2.Y); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator + overload ; add two vectors + /// + /// First vector + /// Second vector + /// v1 + v2 + //////////////////////////////////////////////////////////// + public static Vector2i operator +(Vector2i v1, Vector2i v2) + { + return new Vector2i(v1.X + v2.X, v1.Y + v2.Y); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator * overload ; multiply a vector by a scalar value + /// + /// Vector + /// Scalar value + /// v * x + //////////////////////////////////////////////////////////// + public static Vector2i operator *(Vector2i v, int x) + { + return new Vector2i(v.X * x, v.Y * x); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator * overload ; multiply a scalar value by a vector + /// + /// Scalar value + /// Vector + /// x * v + //////////////////////////////////////////////////////////// + public static Vector2i operator *(int x, Vector2i v) + { + return new Vector2i(v.X * x, v.Y * x); + } + + //////////////////////////////////////////////////////////// + /// + /// Operator / overload ; divide a vector by a scalar value + /// + /// Vector + /// Scalar value + /// v / x + //////////////////////////////////////////////////////////// + public static Vector2i operator /(Vector2i v, int x) + { + return new Vector2i(v.X / x, v.Y / x); + } + + //////////////////////////////////////////////////////////// + /// + /// Provide a string describing the object + /// + /// String description of the object + //////////////////////////////////////////////////////////// + public override string ToString() + { + return "[Vector2i]" + + " X(" + X + ")" + + " Y(" + Y + ")"; + } + + /// X (horizontal) component of the vector + public int X; + + /// Y (vertical) component of the vector + public int Y; + } + } +} diff --git a/bindings/dotnet/src/Window/Window.cs b/bindings/dotnet/src/Window/Window.cs index e430eaf0..1a99e017 100644 --- a/bindings/dotnet/src/Window/Window.cs +++ b/bindings/dotnet/src/Window/Window.cs @@ -79,7 +79,6 @@ namespace SFML public Window(VideoMode mode, string title, Styles style, ContextSettings settings) : base(sfWindow_Create(mode, title, style, ref settings)) { - myInput = new Input(sfWindow_GetInput(This)); } //////////////////////////////////////////////////////////// @@ -103,17 +102,6 @@ namespace SFML public Window(IntPtr Handle, ContextSettings settings) : base(sfWindow_CreateFromHandle(Handle, ref settings)) { - myInput = new Input(sfWindow_GetInput(This)); - } - - //////////////////////////////////////////////////////////// - /// - /// Input manager of the window - /// - //////////////////////////////////////////////////////////// - public Input Input - { - get {return myInput;} } //////////////////////////////////////////////////////////// @@ -215,6 +203,19 @@ namespace SFML sfWindow_SetCursorPosition(This, x, y); } + //////////////////////////////////////////////////////////// + /// + /// Get the position of the mouse cursor + /// + /// The current position of the mouse cursor, relative to the window + //////////////////////////////////////////////////////////// + public virtual Vector2i GetCursorPosition() + { + Vector2i position; + sfWindow_GetCursorPosition(This, out position.X, out position.Y); + return position; + } + //////////////////////////////////////////////////////////// /// /// Change the position of the window on screen. @@ -469,19 +470,29 @@ namespace SFML GainedFocus(this, EventArgs.Empty); break; - case EventType.JoyButtonPressed : - if (JoyButtonPressed != null) - JoyButtonPressed(this, new JoyButtonEventArgs(e.JoyButton)); + case EventType.JoystickButtonPressed: + if (JoystickButtonPressed != null) + JoystickButtonPressed(this, new JoystickButtonEventArgs(e.JoystickButton)); break; - case EventType.JoyButtonReleased : - if (JoyButtonReleased != null) - JoyButtonReleased(this, new JoyButtonEventArgs(e.JoyButton)); + case EventType.JoystickButtonReleased : + if (JoystickButtonReleased != null) + JoystickButtonReleased(this, new JoystickButtonEventArgs(e.JoystickButton)); break; - case EventType.JoyMoved : - if (JoyMoved != null) - JoyMoved(this, new JoyMoveEventArgs(e.JoyMove)); + case EventType.JoystickMoved : + if (JoystickMoved != null) + JoystickMoved(this, new JoystickMoveEventArgs(e.JoystickMove)); + break; + + case EventType.JoystickConnected: + if (JoystickConnected != null) + JoystickConnected(this, new JoystickConnectEventArgs(e.JoystickConnect)); + break; + + case EventType.JoystickDisconnected: + if (JoystickDisconnected != null) + JoystickDisconnected(this, new JoystickConnectEventArgs(e.JoystickConnect)); break; case EventType.KeyPressed : @@ -580,16 +591,20 @@ namespace SFML /// Event handler for the MouseLeft event public event EventHandler MouseLeft = null; - /// Event handler for the JoyButtonPressed event - public event EventHandler JoyButtonPressed = null; + /// Event handler for the JoystickButtonPressed event + public event EventHandler JoystickButtonPressed = null; - /// Event handler for the JoyButtonReleased event - public event EventHandler JoyButtonReleased = null; + /// Event handler for the JoystickButtonReleased event + public event EventHandler JoystickButtonReleased = null; - /// Event handler for the JoyMoved event - public event EventHandler JoyMoved = null; + /// Event handler for the JoystickMoved event + public event EventHandler JoystickMoved = null; - protected Input myInput = null; + /// Event handler for the JoystickConnected event + public event EventHandler JoystickConnected = null; + + /// Event handler for the JoystickDisconnected event + public event EventHandler JoystickDisconnected = null; #region Imports [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] @@ -601,9 +616,6 @@ namespace SFML [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern void sfWindow_Destroy(IntPtr This); - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfWindow_GetInput(IntPtr This); - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern bool sfWindow_IsOpened(IntPtr This); @@ -637,6 +649,9 @@ namespace SFML [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern void sfWindow_SetCursorPosition(IntPtr This, uint X, uint Y); + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] + static extern void sfWindow_GetCursorPosition(IntPtr This, out int X, out int Y); + [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] static extern void sfWindow_SetPosition(IntPtr This, int X, int Y); diff --git a/bindings/dotnet/src/Window/sfml-window.csproj b/bindings/dotnet/src/Window/sfml-window.csproj index a499dc51..6a2ead75 100644 --- a/bindings/dotnet/src/Window/sfml-window.csproj +++ b/bindings/dotnet/src/Window/sfml-window.csproj @@ -70,9 +70,12 @@ - + + + + diff --git a/include/SFML/Window/Joystick.hpp b/include/SFML/Window/Joystick.hpp index b059c2d8..d4ec1a96 100644 --- a/include/SFML/Window/Joystick.hpp +++ b/include/SFML/Window/Joystick.hpp @@ -114,7 +114,7 @@ public : /// \return True if the button is pressed, false otherwise /// //////////////////////////////////////////////////////////// - static bool IsButtonPressed(unsigned int joystick, int button); + static bool IsButtonPressed(unsigned int joystick, unsigned int button); //////////////////////////////////////////////////////////// /// \brief Get the current position of a joystick axis diff --git a/src/SFML/Window/Joystick.cpp b/src/SFML/Window/Joystick.cpp index 95e29291..e3b4e088 100644 --- a/src/SFML/Window/Joystick.cpp +++ b/src/SFML/Window/Joystick.cpp @@ -53,7 +53,7 @@ bool Joystick::HasAxis(unsigned int joystick, Axis axis) //////////////////////////////////////////////////////////// -bool Joystick::IsButtonPressed(unsigned int joystick, int button) +bool Joystick::IsButtonPressed(unsigned int joystick, unsigned int button) { return priv::JoystickManager::GetInstance().GetState(joystick).Buttons[button]; } From 560b09f92fa1e30c08a71d580453705b42f88bb2 Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Tue, 5 Jul 2011 01:14:42 +0200 Subject: [PATCH 05/23] Fixed sndfile load error on OS X 10.5 (Issue #70) New version of sndfile.framework --- extlibs/headers/libsndfile/osx/sndfile.h | 11 ++++++----- .../sndfile.framework/Versions/A/sndfile | Bin 9308472 -> 7085928 bytes 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/extlibs/headers/libsndfile/osx/sndfile.h b/extlibs/headers/libsndfile/osx/sndfile.h index 943d5099..eaeca304 100644 --- a/extlibs/headers/libsndfile/osx/sndfile.h +++ b/extlibs/headers/libsndfile/osx/sndfile.h @@ -1,5 +1,5 @@ /* -** Copyright (C) 1999-2010 Erik de Castro Lopo +** Copyright (C) 1999-2011Erik de Castro Lopo ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU Lesser General Public License as published by @@ -305,16 +305,17 @@ enum typedef struct SNDFILE_tag SNDFILE ; /* The following typedef is system specific and is defined when libsndfile is -** compiled. sf_count_t can be one of loff_t (Linux), off_t (*BSD), off64_t -** (Solaris), __int64 (Win32) etc. On windows, we need to allow the same -** header file to be compiler by both GCC and the microsoft compiler. +** compiled. sf_count_t will be a 64 bit value when the underlying OS allows +** 64 bit file offsets. +** On windows, we need to allow the same header file to be compiler by both GCC +** and the Microsoft compiler. */ #if (defined (_MSCVER) || defined (_MSC_VER)) typedef __int64 sf_count_t ; #define SF_COUNT_MAX 0x7fffffffffffffffi64 #else -typedef off_t sf_count_t ; +typedef int64_t sf_count_t ; #define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL #endif diff --git a/extlibs/libs-osx/Frameworks/sndfile.framework/Versions/A/sndfile b/extlibs/libs-osx/Frameworks/sndfile.framework/Versions/A/sndfile index e4595106862d6350af9dd57bc95bd5a144eba1fd..8511f6c2743536e12989e61a2195f25016065463 100755 GIT binary patch literal 7085928 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

_kEWfxvgD>W+ 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 z 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

U&lc=BEcll5rKFCi8 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

B_KEg6kv`i0M0HE^*N^%* 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

&La&;WN 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≀OX3GH!CpxV6kcTc*fzy(Y`` zsw|i5LO#_3WmzsXD`BBUDR+B6J>t4EWJbIu2o#R9z8=OrFB%=LAK?IJvB9Cj0>kgp zK|vOzS!tR$yeLLjNT&taWI6c}!v-nyGArr(Y=A?l==-7f84+#ie%8lAJS@ z!e*GmMR?9dQ07^?3iK0OhD5OxZ5X#~%5%8@VZO5RlBm^MY8e0&K-BMv{ zKq$ox9USt+)sQ!TP-4?tDT8*EC4D|?QWD9UQWkj=$|9IPJG!!Cd~@b2%<17`kK!K> zKe#ZkbZ~Jm4sIM}JOi71#D>8bj+h3^q=Qu4r7TNuoQzu|3k#W^g=2r)ReC`@G_g4c zM<=~tEVp}!Q8IQ$kxP~ZESVN^u+5^>FAv>y%$bMVkw12vEc2U)Nx&wx&7T__MA}&z z4#SVJr?J}sDOghBFjlVnSh1uI2q3*X!E;hH^xk}Zgf`(%LM+*+tE?&bUtSTKtXA1rCj!xb)UAN+ogm6m-qUE&0* zv+~V$ZYL|VIgWEETsFsdN|^ZTYI3CHBty~(EAwbN(`Yu+7yzcx`<4z}Zz=DE)Fc+< zb%%b6m4{5MJ!E3_A!GI1ZR_RS?lT7O2v_-GG4i!+yj%}u({(#54=uReOnkdj4nZn) z_0dU+GBl>hqdi3)O)BzeRmzuo%aKVkp(_T8Lt&;l6lAJHL8dztWXhw9PH$E?cg8*S z`3#Sj*tw!@YC~uHel*{I5!yLqf766O2siEX8QGUpm5^(Ao$v zTOJ9%i?9V~76#w`R-$MYAp2WE)+%8BuL7-A0R3MDTH~CFe-&trbEX2Van8&xk!*&I zoHG@O*1@0cZ>15f17v?I$QlRC|5czh4xs<5Kx?Bj@vj1{jm}h{wb7Z`Qn_fOGY4P{ z@*_KkL9|SBl?mH9wv!lI*!xTf!?2(+&8Y&kG=yO)KqE~Z{waNErJ?wzP&6}e3;#|v zV=Mz#pomYj#QxUxE{?2~_E%xv$_4B#0zBwkz)&>L|7osWHgsE!Yt>|3h< zB3QT4Zcpbc&weBfGU2|Fo^AM(T!;X~}!HnFxnDWZLrRDl;LI zw@gdkoy_Fv3L(>$_nt(D=JuDX_`EN@=do2}&wENsa;$I~2S8JmQ>FdiFb0+?i6Ap9>Z3^gDq zT_F4y0`MId2>+9SJu8vj>nWd=cv!_ex`t_V1Jh_S(`cThgEetg*cZea;_R1;#ySFm zN-i%hzjW{8|G&TJe!cwAUA%eoqWg@Krg)RtpH?v7!|(6Ec3(1~*OTQG?X)LDJ3PsX zqq^?>*Uxs(1&{q<#SS~X!k;gD4N2oK6C7ndp@R1-JmQSHZgD?mvix&{XPI%zfC6dO z`StZ;y1)azXi;hayNVC7hmOFr z7w>V>ae=jS_r;39`LEsNZoBw*5U~47;Y2tXWZgRGpEwfl!&v0TR@(nQUwpgSqBCN* z^ag(U{I>hH#+|JV&SbnLy_Sp5uRnCS=hs{HcsqHV+EbYGM?A|2;6+yni4KfXi#t3~ zi~U1hW#78OX=qk@+|vj0jXg+Yt%!bPp)#vG(z=3UT>E1-P~Aayc+@xebq*aKcSmP0 zx}xmpWrt5plw~KV;}nJOFTUJc*R1i(*`;kg+Yaf@v_~d`@%S~OX5iGrI;4>GG%mKc zyCp^{JTryI?dN#@12fz1&L0-GBYSvXp1z$;anE44MF3qd7lzK(li4+T%Kx8)|5q`8 zbsY1l9FLQ_9RAy05zm_76^RwX%N_uZ?|?kuX8Q(@7-0OusRo`0?{I)&j|JP`_Y*u| zjG*lPZZ8GAL7aJ9yy!m8e{3<6e3{(eZ0zae$^FKk^}+twZqH8a`Qa>1~!-+{p)=*~tA?^R59>j!Hl=1YGO!aE~AwvSa`FbQV_tMwtwbuUKa zV}U=BV{fvQCE+3HC=+2kW4~P7!NOQt{ENT$;1?R^y8 z^~ottzU)n?=?&b=2GMk2o}N#4h&#OeVxER~uU6f+Pi+LE(A z8MWY51PBC!kev0&XeOR|NCK9O0+x&dXl4?yWE8Mu-}+<&IwIL%$!G&QHyVaiESoO> z9m|kPWm}eQQ`!CMe!AM-ZKH6?Mg|-mH`@~CnS`u~ovzSrXe^Z&T9w z1UwfpyP+~eo4jhvZ1crg)?ukz~Ds0ZKl*n#I(vFWlh;j;yr9ojZU= zG$99Z6+}!Sa8sNhaAOiW;wVEnmRYo?cv#`pH@Z_uAp|1DVm&2$dQ>}GxLPwWR*}3s zx>)e?n3-<>ol?t`^7k>jpUz&Mow|3}>zUn8FOOb%#R+|Ne2}3huU@^(vPWm9MfT-! zkv)HzbC1prys5F~VM?_s{QHvq#6 ztDk=Twfk`K`SZJvzjl9n`{nZ8r;o`0pHE*#1>Su$fhnHaw3UKg?(EVR{+?sE^7^;m zKmN75eD~jPe|q`SEdFr$>+kR0*fRI)Kd^+yO1&!kaEYCP0^YrS`xe%Iy7*dgF5X}K zy(+{KT9jUV`1#%Cr;qPmcRzQ(eERa?;;Xbmh>hr1=KlZf7!3CRm*e59VZ2I(H`Q#( zvi*TK29dp+FYUJCdTwPm_DXCjy}h4*>y8hwe3Ru@!}7&;*BxPHR!U=4(P5&w#_Ncz zd2)-D)C$uO>L>v0YOqc%irk75vqBXQD{vbygA}r60_KgX%qF7ig*`qS`vK3{ZztdI z$}$#`1>i=U9&~0!PDtfuhAOx7SygV0%*)L}Op;aEq3r;Mf`^#LHVZs~9IXyU9GY>e z7`CZmn5K$hSzbKBRmf&bY;VrcTLpxdwT5MG%Gu$-l8H&8C4QS2cd$2j7vcNDZ)PLu z_q44o-)x_T2UW1##-0vuvEJY!WgGQ}AB(#)_>lcSJVNU&adaAyQ`_e|bZ``fjt)+u z)XBlCD0Y7M3Ua~I-9_M>% zLf6DL5!UnEjlKZFcv5$wS#g*fsm+Y%=?2 zx3b6Y;`w3)n#P1#Q+*r$ZHJxFrdQ~NSBnYWFu1+PqT2d^!d@Of3s9BgXyFchJCHV| zc_AM4ru9~@UB7Mf$DT+9q0eGh#~Kpmeb+cv9gi78ao^iP*!I-5td|Z& zZFqWcs-T9{MRA z?*0^UIVeN856X@aIX(`_7Aq)Nc$TYT9YJX5$A^f<-e>WaqWABhEF0s29~-^$LocLH zMF%Vk-O-?}<%7K;19xLJ$yG3~xJb%_sU63enR8_M=mD%d^MI}>gcI}ysqd{@(@sB) zJ6XlJTWK*$M>a~>FynPN%xwk48j_ldjFvXZaH49YQI?G~a^7#l0k!hstYcTbejMU} zrjG9?6pE#>IByJvQL~ZgvuPlbzI-5(z8H*M%CmorGzh;WQ;Y%%%bq@L_9H}x-H4*T z7gPO%PPF1-A12YhyR0PiLTvWw>TZcgk-eu=s~}Vud)~D54={aB>Hc^;=&rE0u?Z`b zB)2>{!AhVi!-AwL!)n9^4+i2ndOyd@a-B_5IgEncpv3Z}^24)Q`Qcfu{Lq#w1MayM zVVcJGPv)3-v32`V7ThinK)J*XZo?EM_aF@muI=jASBt%1p2G_QMS*EW_m^c*T$SA{ zLeUMrdV)=>eE?=@ujtx=H12|&KiVr_xP)K<*Nw;=;8^boA~qI#YOxt=kH~RL1nauJ z_6C_zdwY?ly}d}&-d?0>ul4WCC-iTWX<8HNu{J$Hq-k(p%N~Od_bW1yJ&H`EsmMBS zU(aMR&1MIg(Vpo=ng;hGdkh}!nNZ7U&-5ZqMK(%@hrwx@&CZ3It;&V=sT+-#Sdq1C zbPj;oqa76MIoju5sK;dXHOyr8wd?o^x=d!DE|VG8^^_Psj6&nuqR>8d`-kkM56AeB z1(|V2d+EdR6q$Vu+dpKu)xLMgg3LZ$qeEtacw*Pk@rxhDMmxKZYIaj0)il14YP$fA zGam6+f?MCzc$iByH5O7&(`Y9N`WhZJj&@g4I6j}mn#L!TC}eKccJoYVZ&!^wU#!W5 z_IBr}`=u^88TIw3&V=@=Goj|-*_qdVcPXTr3Ja;HX>7Vns%z9;lF+ET`)O40yXrH=KCx{h|`amYL z&ua64r^xJU*y!~v+B51Snan<2tqBEt(COV_XAf5SBT?1NoCI$7N?=#%C#b`@y{}6pV=a1k=d)jaK2>o~u-S81QZV!wOui+!~(>-*< zN9Z`K9o2652>swTP3EYEQ?i z1=y^X_d?XQv;k5Lg%Bh*(T)E$CpjO=)Ob`@_zT5P;$~+uhc0k_a%nh0>!(V^o5YdOSuY zD5)o7RDzOvIz}ZZsb^zUf(@$exf(ru)r z(P~@4MmL>z5foZ)N1ZrFHJP4TM*zq~HJQFD$wW1o-YUsNHJSb@$wW1o9xKU2Tjb^- zqr=8L8Zf<9Y9^{R({CH(wpT+lJy(*6YR&ZB26>O>rfa)h+PCeZ+M1qAY+$m3^xM+l z5>rI_tRNCoMEa{B5>rI_svr_mMEa>964ONK!QMG7|8uGiRDzO9w^USul1j%^RDzO9 z*Hl!34Qk7A(bf^q1xoi+S_w+6ZRhoRo4y2;E~>N=lv>*k?DdXoZMm>hwGZ1KrRBmU zHZa%0h69(FBGN<49&#cvMWlZUA~8jzcM2jgMWk;EA~8*rZtHDqd98!=OQDgN(%5j> zSgH0M2kDbSBQd41;jXdLQH|1BBeChL@Z`pP3uX@1#sY1-YYs{(owDj7Pzg#Z-BM8r zN-7;wQ3*;aT~kpBHmEJfMO#Na7bx9RX(cGNww>4OZTb>Wx~S4hP-<;Eu-7}TwdKN2 z)jn*8HZ2z}v4Ob`HXOLb6plMq--S)<}<3#8>*1!c8TniEWLq8b=hdR_Wy>HqeOsI87%nF-2@Rxf6*g zA|1IL4kr>*L^`q{5>rGvvLF&uL^`q{5>rGvvLF)EMCkzDIV~r5kd7=g5>p!K$dVYX zQA9ejAQIEWb{ktx?rnUPPTHhKJ(JsA_SQ^ZVgpkhq$8IaOH2{z$bv{r5$VW+NK6sw z$bv{r5$VW+NK6sw$bv{r6Qu)queO}rK{~R~NK9#LIC-p8JGp~&WTBCm(nv>^#8HiM zCXd!=C%0!oT25YK15+JrIC+UFA|1JGqZ5fKA{|)}i76r-SrCaSA{|)}i76r-SrCb7 zqI7caoR*V2NJkbLi7AZ@Cy$kCmvfMgEHn~R8XHa?D;?D+ojek?liL$ZEhjIrfvFBQ zoV>&ok&aw;juVL~A{|)}i76r-SrCb7qI5Yo^|Y~ibdV7sG!j!9xy_VB?EtQkp(BXI zltzY*B#vlg=m;V)rLhrK-V9=j$j}iQiD_bc92s(&D8tH4<>F~Tv?uvmVO3&^*a#~p z5>rHmPT4t5B&LWA9YG|fhzuP;B&LaSINa1$SUJeh5gLgpjg7F1m1-wpx* zVHGPK(a6vd8i^^53>`@v(a6vdL}E%KLq`%vHOjE^&S`~}J>l94s}dWS>L5d>G_}MO zk)b1q#1xUCBZ$Nlk)b1q#56H>xg_f0@D5<;2qH11u@P3W(h-de9ifq!(%1+q*GNne z89G8EF->guDnm{Y89G8EF->f1WXNfv3@h)PR#@4S->tAJv4KVh8(~#qipbC@JI9H{ z6p^7Lh{P0;p(BXIG*J$Ro7%csImplv8i^^5jj)Q9>acQ@Iu$fdq#?b-+pv>i0#CP!*gBWge*qDZn?PSULc#IPvG zIY(+ujd*cVQxij?(nO@z#DEZ_rY43%MIusbVlW6&Qxij>A`z)IHDUz4M?{g-w2jxs zK+*w%H_96Ekt3C+J_Lqs>XDkn0H{br2Bh{SB}Zx!1EACd5)nm;Lnugka8X|)G;*ZY z)CdhHH8n8+D)Wfcni`=2O+;!E1EA7GM3Gv($DpZ641h`#5k+cgYJ~=x%K#9XbZF$) zhassCn##OB00gNuxUI_uY-oiBeoB{6sVPSW<^f^=R3subso~|Qj))@3adMLG2tf4Z z$~+>qCi=1qBkWrXEqGXt^M@+SG?yMPj54G#xjCFh^<NjeDe#(iUvm?M>@)|Jpnv9&dcp*HNjK0F7clV%X+ zNKIm>m6|{zQj-{J6^V!<$-#xDRuBSWs8yPX)S4J-f~30~niy&oiAb%9p(aR8O$@b) zM5NZlP!pu4CWcx?B2sH&s0q@DCK-h2SB9t3B!kdNItcN7ibfFTNTsP2gidO;sSmYb zNA$=*(`hpZbEGCQ)Jjbt5vfTGwTeVUkz#WNNp}Q{V5n6jBDJPQ5PEe@O$@b46Omd| zBM701NKIm>Rhoz>QmgkEo;8V~R%s%lNG(kaPeqbJh>mClp+hnVbEMML3POD6h2g14 zjW+e+S(6%9LTDl~Ae}XXFh^<Jl0ldw zm3e)r4bAHjMQV&wGYIjOC5Bq1iO4|H%VrSfNKIm>m6|{zQj-{J6^V!<$&P@gRuBSW zs8yPX)S4PW=+$XA0>n_OG!dyaG1LU9sfnRhk%-iq8bJudiPR*9TBV7IBDKbe;i*V6 z2w`3;2py6^m?HyC=S?rqk(xwbE;|AwA~lJ=T#<+ix~3-ja;1q#t%<%YNKH-j<%&e4)Lky@JQ|B58N939c}a)+ds=SZo^zpvQ1nKZx@kse)i zM<5bYM0&L#5>rGvsUQ+lMEaZ{5>rIFkRTG%L^bT8a~dudK)RC9NK9#@J4vDp)TB{4 z+W;GA#J4qDj#EH_M%O6qG#Vj6qhr)GLV`xOsA+@*jZRV12niZpqNWj&H0dnXB`seu zjP6itBP6sn93|AK{Ul)0O$unB4Ih|nc}W2Y8eO4mo6!gf8eO5L5fU`ILQNwiXmo{| zMo7@;3N?+8q)9KaE@^p*VRVIB8zG^s;U%F)?Ii(|UQ$21tGL8B|wG(v(#SEy-(Bu#pWbxF%h45KU5+6W144KE2bYA*?x^pXM^ zXv1fbTV7H?f<{*;+h#OEf<{-UX@mrgu29nm2^w9YrV$b}x#6Vi;Ya z)<#HZYj{bhQF}?iq?Z)XKpVb)-SUzG5;VF(**2pQ5;VF(O(P^|bcLEmNYLmCHI0y< z(G_YMAxV>7VqMbm62s^UwKhURTf<92joM2BCcUJ92HNnU^Olzskf6~O%C;Gekf6~O zY8oLyqbt-jLV`wDsA+@*jjmAB2nia;w5Ab~H0fN{lk@~ZU63Mvl}Z20+;+ zkciYI20%q3Qj-_}6^TeqVgOVmB8nut9Bpca1|SANrHM$bsSz4popxA241h`#ky=wD zG`zZ|CI&#IiAb%90U$_CO$>mFM5NZl01%`RO)@ml5i&I5uT9C|sIc6`1k$53BP&c1 z>D7WrOcCkXf=Eme>8OH8OcCjKf=Emg<2Xs87{k?K(wjQ)<+{>L0Rh_-cs_Om&dU zi&A5WDPqIPok&a(>BvGOF-4>!3nDR1l*8es%B2XR+(AZw&`3;aR11>6(rAq$GIWGS zVw%`)V=Jt@jSL;3k(koR(2>NEHZpVsk(koR(2>MZjq(!U?Pti98tq3K8>^KP5;PrC zP9r2}jGCf(P9r2}jG3B7NYEHDHI0y<(d}y*AxTs2>1|`I2pV0!)<#Iun%Ww%;Fj>| zGo?*VzV=(4EiWmcfsuyM6-sRdBxrPnnnp;_=n6HBkf6~OY8oLyqbt-jLW0IIt!acL zO%Av9WNWw$AgD-0YE29QK^oB{V*{;~p%H%XxsQNM)ey=J zj2PXyrV$b}I&@7VBxrQ$nnp;_=$|!>kf71oY8oL)s~s`+mh{Ak(cx-sgoHNbjI2@k zNW|!LwKhURn{r6jIHs+3Nz%m1BmBmA!zXdB;3&3#C1YV zqF+~1Od53pewJ`CUxU7vFBSF?~C^f6;9gxA(B@dbPftnBLpTKUeEM z`|x9N2ch|Pci$}+o9&AZ3PSb-znrz5uji|>>=fOZ%k1vZFHkYdijQ%2Hl(6Vi5>}2 zlqu0e{2a@$R+LFmT!<>sLn(@{<_{&$rQjd6;2&C0Nfx5r^>T$#xLU2gV@NP2_v`t_ z-Do-4&bzGV6=ox#%CnBB;H>WyHb(6`sA3i!6&rPUbpCk4riF$cot{-?Cihav4a-dK z@NgjLg+oc#vRwTb${rk@JRViT2Pfxs>FMFo<6$pqqjGYx>F%t@Q^sbel+Md-(UZ!L zv-C-pKF!i+S^8y`#(cqgUNL=tdYGGG+1?P#^`=;^H^y?kIhN}UvRrSH<$9wm*PCUz z-Z0DcrtNaWc9~hb%&1*v(k?S-mzlH6jM-(T>@q`knHf78ad@_&UQ4IWuypE*!?WHt zOZPIpZRdS8NG6H%o`|HC-e974H^Zcf**p0BbUE2B#)cN7#R^~|P8hhxnC|v@|dqE$u;3t@SSEW^bx!Ob!c+bGTi3!%HLCtZqaV3~Mwv za*x^r53ZqYqYZ7_d^}pSq3xOtZPgsTs@2sIZq*&(cI9JTjjaI;Yjt%%+jfn0H8zJM z9TL#C&0}5tvK#B_fQp*UJ3~d{2+_ue)k&HDr1~Nm-nz2Wl;+Ks!-R5Ss z-WKy!f^Lani)Q=oVqcdEZo^KdpY9U9TdwZDH7b_SLDL!_+8CScGUIN2LsOb!wYJpV zYNXvQK(ry|5QQP7hghFjtU13#)?Y_$@Oj1^1zoDwCuq}I8g-OaPaIhn*uzh}6 zg-OaP?6>ih6?QmKR$-E=3j2|;x`ulZi2ie8A`HF!dJc`fTj4O%&uj`C@RLwVQ@O~% z&_hmIisD*L&DQOyVhDFWq!tv{T52|eBu;jDtIPS=+H$0|pt#mjvyY{gD&BAhMYaXS zwU(NVP!nybLK0u_lUh(*YpL0YMxmvOT0FxewV=4xQnL}TLQ56ccpOM-L2<36W+SGB zmMZpfLq}>sJPUdi_qgdJ>4;@PuVNk#%qY5lT&=Dko+1_z>!Pv_Jb$aIsG`wsOv(yy zPfJx$1=n;42@hg39xE5R?_*+X||J%Bgn{ zlojA*cU3{u;9OTwxia3X)fK$b6;#f=gJ5j|p4#`7-s0}t zGQR?)^XSZ*Z^NZ!!7dvY;Lb-3pBSFXl}A+qs_LR z>rM6?E%qD@_8jf?9L@C{t&O>8j^}7=%;gv@b&Q6_TyH1LX5RutHn$Yn+*D+9TanF; zMK-tAv%N{k=JtBFKy!xel+D;~Vt35}nJx8lON2@(Yt79%|_Z-_0 zb2-KqImQd2=h&i{%Xw^(V{B2(#TMB?N#7#Ru|=L^i#*2`d5$fLxv1T9Y*EbR7+d5R zTjV*mDCTk=TjUs96mzjfc5c(R$a8Fw=h!08u|=L^i()Qn_Z(Xkb2-KqImQ-wjxCD0 zoW~Y9#umj~Y>^!!^)2!oTjV*m$a8Fw=h&i{i`qTM7R6kSu|d%BmW;V7rwo{n9LgSzmuWNush zp`(zdoq4Y#O`AO(bs8enW|Y%rq-nFKdwJT7a@y?aXfuC!8+Lk{+`gaj4ifE0 znl>X%J3Sq_NYhSF_vN$`<){8g6Z9fYJ3ZaYrw}li6aXO|?e}s!yYPDY{>MS%L0^C0 zmgB4~NV6?Svn`&EHXzNmc)BlVTTsrnAkDUTx|e5LP|mh^I=02ru`M{lq%V1z_4IAQ z4_ICsNV6@T?&aAQl(Q|Kj&1RDYzu!g6Jx}m!VGEJ zkKX~z(`*aM*%nVn8<1vOJl&VGEhuMOkY-yv-OIBrC}&$d9oypR*cSfuAnf-v>*>b@ zKc~jFAkDTQ&9-A56NYhSF_vN$` z<+KxN+UeFHo+_$88LX~-p8LoQhxa>>S!OO}OPvM1$&MIo1LO1TmX zcKJ&_G{wGvK}#${Lo7o(EJHIaLn}fiDzXf12$=$j7T}om^;m`$giL`%3+yxf>;ucN4=h6qEJF({LklcJ3qmI9u?#H;nF5Ix*eBp=fn{ic zWoUtAXn|#Dfn{hx$V5Gsp#>pRAkhN*yf`he3@xw>EwBtNunaA*3@r$msK+w2AY=+8 zT3}y=rUjOv1(u-&mZ1ffp#_$q1(u=GkcmnylUDe47lfxgo=NNbn8`Td{h^bS>=V^7 zLqqLD!8Ft|G}JOQ)G{>GGBh+~qEgGy(2&Ux8fr+|hq!Gt)V}D-9<>Y&wG0il3=Opm z4YdpnwG0gnnP`q>XlTe}2n{uahK5WWdQ9T96KR@>G_6FMMj}lcJss5{O>;fnm(y~T zrwQ6V%u2gG-OJNzl+$QWN1HLB(`KY;Gt#sfY1)i5ZT583g*0vUbYD)JQBIqYrp=!2 z0^r=3&+<9V~ZSPi()RcC|eHT4xU}JQ+qs-AK%xb9nND4rEeBwZA+*3Uw7@d7z%sPJGE^EeQK@B8cX`#Rw>*7yuceb-ODDaSPI@h!^jbRUwRF-I(m|J{W4~k}kiVFn(!IR<(&gRE zUXFgdUa#zB>8r`Co3Gb*yW5{mULC>qAG7Xmay$R&^vvFx-mIC!Qy@l6Af76DSgo%X zo9=eLooxTSpQE-P6TFK&n{TE_26DuW_3 zzbt}TX7$Z{GMleoba{+FHa8e#LD7! z(k_s zBOBHIVkdYs?0)rQzDDEFkmc&z72e^r;Y4op=LRl`f!wU8v5hYeOmMsY>Ga%MGF$D? zV`nGbbaKD>>GbF&d;%}{ZA1T~rZdqef+ii@b>F(pWbwzFTQ+z_x0VUk8j^}U*5fbd(^$Xe0}lxtpOL1dHdzL zd=k6&Z$Cbd{6Ey)efsj|?U(;R?f=B&FBgB`ukq_Y(4%>G+-=vZ`#)c=W*DFk^X<)Q z_7yWyIbgro0Cc~6`h-E~UVnL=R}iq@-d9Em#fQ)D3q_^e`%ka`YGZ%- z^~=TAx4-_QU86~Mm+$_&UD@m3EQuP{Fn2)>LtNFSfkPmN8FQ(JoEhe!oCPk0P z4u!ug?k3AD|L$&qIW@w#1limzYKw@)?c(kd^X+a^IshEQx!t9Io8uimKQY;^)=Jdo zf)5v;Kila3^6ty!*Dm_T=Zn{WefzaD2TUgAvL7yfeaEiLfsem`h*ezX9hi$`RkuX` z_V&vq<`$Ute?Ap~nb$+1cOOe3xar%A4>nU>yt(*#f!Xi#`**J|Y_{s&6~i`^eEs{| z%irFj-S0lWdHY9)#{67P40{Nle);7R?93rr8b{4@*RV9oL6-DeN%r&s^m+jqbIHrfZt?ho&9Ax(Yy#9m3_Y1SMLL8|-j z@7|0z^78H5zkdGo4%f$UX$lv#(f;l!pRwwD``f4YxXiZ<>4oE^a)0<_lrY8a4~5YD zcOQTGG`8Frc2dTQ>xJ=lyEU%l!^I!n&vF$qqQgkBlLt$eG18mUOU!^Hp_H}a1196= zn+4Ld&1$TBMjG<<6Q=&S1|03?eXjktPhWn<4D zhbPGY9Ty2R&Nc{GkN#TpZfdn!2V)^RpWMFj1BSJq$f#9kA!V!Hy+ZHjci*-*d&R!s z1ZA(#<$V5qzYx~dgMC$D_1F1wxwn$PuNPKHy+RLFz4fD)^>_zFp>d;=P|N6uj~g9@ z_8860#plIzyIaq@dWUkkySldhP>uZU?Z-D*tCvBU*70TOWH$42I6uI;TCS$wQyAg< zhWOOrO}D@q3(h*ieyJ$zek|-rt3)*CpbIq$c9urrF!cDMJn^ff-qSeJgoN!jA=ezy%K+1K>$HoIH9OU-A~X({_O!}hs;ChEz`_muz+Sckd>u@PB_jXv}XPl^I%NW{W5 z!hW(r=f+dup{}+0CIS%m6^4-45OfZGGFBcWQ~*^1m6J6jn!YXN3#Tk4WX!chs-P6I2isN-FwWZ+f^JAe5H4W5Kp4h`yHmSYkb8vP>XrjGxkYe zyBk8Bt_S$MM!VfTu6hL_7M0zFPXS|&ovved~-9m3)KeK%x@Kr8w+-J4SVhI+OF+5z3%QO>+QmB zb)h9561WU)A&To!KHr4T3uEGaULA8>CEZ@TI~BVBKddRA8e$bTYu!#BgV}6Hw_5v6 zyh7WUXm`C{-G+e;chUY+CL;J2Gc}e?Flus#zD>>`ZMu)^x5jX7CjMP#oE*<>L~-vE zmz+T-4rFkvaKRNx?4%7A+wT4?x99~n{%xhA_2GUjJlt+e`RM=Isz-_1o!#fi`@PPZ zU~5_2^6YQW1{;_6QwHB;w_QzFYfSon-!}DAF5>Z7I7g1oAMfW=8$7!tbolJIeQd@< zunWDcs@zLLgkzzMTaQ@2Zl;rd63SIC@6in0qFqcE7I;b#ZE;`y*Z-JN%sgg`e;^$< zEt{6;smG`#Qq_#_kI(R_McYQCmfg;8S6HG=me^IKrRo?KR;l5x_^2FKjLRp8#l@uG zWgo521aV9F34(F8ITVfef$(|wg?+$%KK?myDiwBRNmpJ8#%W$+8$Yed7ccBUt9Lv3R`;y!1?+Ajo+8Qj zwImMka>Y_hnVw>iJ0j9;aj&~-2o>g+=(?809Uj4my1L0VS}|5rCVMr;Xtwq3 z(+qGatX!Yc*Fm-sMMD#E;qh@!Ls>9z4V*vj9iBib2I)T_K8K=WM>jo=7%Ip9vN>eq zy%~MATndz7f|c$ZYY{$`G4!AjgInwAVHHVkU&I!2cmQ#|xVL>$YZP$s`Q?4?CXuA>-9DVw->jrd!h|?;q>1;!DNYJyAGM@{ARVp z9_r|CElyi@1|`PEGlqZ0N}4jw|+W+^e-*spLfGdltuz z0R9YnX5Ze0J=^_cQD4uavzIypA2$%N9B%f6qTu}JKT>#&IV)~mZTIxFo{53>te#n8 zTZ4y{t$_>tu8cQPtyui}EOaRt$0jpf-;*w(oDT1_mg6h*K7nvytlvwNgf_qPeF>uYq-GYImMGOS-N z!)u{zg{@cP6$MulJP^ItTwKC!8 zzwRa*J14?>3wMhR$65(2ccXYdN`mhD?6kc`f7a>k62_iKGpiL({J@~*qC$B%SmYf zmaZ@ab2k`ZzV%M0jpZSulC)d!`2n?%!NHOL3?Y7)XmFRjEzGH3h=dnau>RTjErQhb zLNeYV#NEt||72cycU%x|XQ$ynEW1JqF>Rm?UjE;yq`!X5ex=Abs)o^+Ed_zUjFHM+rOh$ncSi>1?8L{fJC zR4GM;rKFu}kEtI@_lHPNVW9`^S9d(U9Wy72KGhzIKgl5TN;%gKEwbkzg6Ck`G-_fPAE zWMf*-W#Y8nYOE=otvVc0Oz?7KxV_uxJc=-@h9iE(;ayb)+FgF49 zBW}iPy!x%)FJunmowVU~`{x-*=eZ|bH zR#(gt$BOmVgS5O;Et*waUE#Kfxa?^QK|owCuKB!2Q-I60c)t}ZhOv+dwURW}!q&Au z^+4-dU*L^veI+BV^_5KMgGM;IHKP*swLWQxm+?l;=^~Hgu=yH~hhSmWkhCl4tJXxHHLXTc zds2lEh23_qj&PgR7A?!w z6_=)wfnK=lkEmneHEw2XSA1|hmVU!>ir1Q0b~Cw!ukt|(mR1ITpDeJFw&w>o{bUry z?{-^kML9*qQmmM;49+%Vu^hW&S-kr`=jAhs{+KUq!S^dZu#dOd?V!h!@x_slv3GPX z@P_oCn+4it@O%6^SNGNW?Q?pxZ3tZcdAG&EK05f9#S&fYJz!igcyY1(7ra^T>L_6) z?iDP#v|k|#3X>tR+MqVWhkEhN2>;PPdh?)n0pVSk3Cy~Tikx0CPl?gv(vR$uzsh~Z(@o4c&v4ZsyakyW?19 zS87o5qT9(D_wkFOv^XydZx+|iU3A~>H+DnD-dpG%7G0hTpHs23??3TWi#>>CGNIH@ zLc>E?!$REZ#KUyBwkO%>G}t~^*?os+6YWZX^PveG%S!MejC<_RQkUY*gY_*QN3`cY z4gQAs!jVd{k_EW_cysZ4a4STCeL^D;!r8b#dvm+Mt#hlyTE=b++0=vgnE&n~eKNbB z-o|wuzNO;1FufyZUvimFuI&I9kM73vvgPE@72fT@^ER0T&M%sH_z;T?o>z$R#Vq8X za|s5;n{k`Fdj!Dt8rZIjLc7^w1>?2|VH7{CV|o87h#&p>bAHpMJrLO0$68jC*))8O z1V_;J+}yCxho+RnB>%$O8Z^)FC?ckrU?4wtay5s?+S6cpNqm}$MFS4TdB8zQ;;iwu zjy)6hV`2_8vuqqQPvcph42c!v3qjGw9}o6Uighd|+G(B)0x3>uc2*EANF}Kne6aCP{3El_bb2S?d9L_ot(7Cc+q(- zE;T%7U%@G0FDNCBP6iSvC?!q~1`;U9B|K6w%cr{^Fyk=_6h)!S9JK+aw|I$nZ}OjS zo7=O)gE&6ObQfq2{{0;Oy?GxKzg*xe6$bnk{=NJ7w_E?kG=e0*N_);1;jxVH*TL>WlG)!{Tmddsmjt3*xu+%EY-{yCC?}W941JR-gYu|9nV?uHJ>vjcNDhZ2&Oa`Ak3r?7o(a6ZU4mX!FiO{=w z0iH;hE^u+m%0feAA+CZ#^d2YcgW_-VivMk1v%Snb3*ntvfHhJYk=PV3!8qBi$JBqD zKkue|eaqQakawQvv#zsz*>P5qb&6%pQF=>LiQPSjHd;|`q2+(9S2k6^3hTX};ii}t z@*KYO#cX)1tk2qAu?)6D*z{H!g~CFp$mUgs>n&l+4q-MkSlG89Jn%vIk~(joUTen5AIRd6wy05?{!RM*90+eb05GOMvM*ur!6HYF9L42f1iqG#+LZ6Nyk6(-tn+hl`nCxNh) z^Q=`Ko=SmioND4j4p!i&66S3WP-M@!#KfQ<4C^}zXVoaS(}8D2odU3*){_IZ1e((;Q3 zxPeQf&F&HR_(I}jGhHmg2QW>>H!W6<^+GJQ-o;L)EOeKRrS|Z;9}vQC($)$6X#|Jt znFQ=jV+iomlH(~F0^vV!pDWr&}|i!a{YPX1|cfvQs5 zEZcK>11vnQ)F^Io!Y5H{Qv6ivK$C6S>(Q~c4F|`|;?ovp=gs^vd@#W>Hf?!t!~wBc zX^qbzV6z%Gr!Ix}=oa?Eh-I*4jW0@grFnC3pweCbf)9cH@+rw;IhXk$-WT)rg4N?Q zlMO@=^=$7#Shvk!oqyB7q&E{-YHu3AK0j6R!Z?(n2Gk4`oANxH35OSMbNY6@oZ5S| z>t%HOUGK&ZDOA%z2);RrnJYLbj_vFQ_IhVqe_Wpr{5%Bq+RMv*K3vi~zrab++9JSn z8DLkHSenkLAaaNWF`oT#;LyIA5w_Znry2?|k+Tnx>4!A3#u<;Vs@W1_nbdfdex7VE9QmH-e>;^BQx*XLK9 za7@zY{e+>O%7%$bAtS{Bzd z+8TEvIqoxFt~M0(YC}G$4Y|~Wkn4?zd7o*a+q2hI<$0r`NKt*?EdO?BpX_m^@L3U@`6Gg2k z0%FOd(>Dv;*HQlP7+q}pnC66CD;E5V%b^MBa|91~T{gIAJi?vubbe3}P6&LLQz7wt z7{l^#m6w!Y#gGuUM6oz7Rfl=32b{KYQmiJA)SXum8?M?|?~D0{G0D`8t^X6>@NBV*H~h|1E@Q?A)s z$5X2c7%<}gpwO9>g@f-{Nh&YLE0q?VnhO85o7?9&1{HW|y3UtaTv6uEHrwDHLfAA# z*?879-C~tr78OQBG4GFuD@@C!ECyhA?+X@<4E-rq7if8X@l43q_^iq<-67V(letm1 z7niN^qQY={I?0du!~1ZNYNc__PAyi33*~Zyy;c%KccEyyTR&jJiG?AKggv&-Urhae z7>`FHCxgP8qApJhjD(~+eAJ7Bnt0F8L*Gt@hO*iIvkBR5v<9*3u)Bx?TFinUDadaj zRFz?`mHS+8H}+2&2-}IOBCK|{xHBy@`#YSgyJa5_!|QIWEZvTKSlQ?N`wiR=E|~B$ z197^ylrJ@|@H#WLR=Yba{;bf1{UTuZ*-}AV<=_g|m-RQSl2kf&4L+GlU5ovo!9dBz z&JK=zc!Q@q!9Gld`__d`^G95f?PCYwQS@*}57HZU_4d z3SV}2^Y_>;*c!jX#uQt1oUCu*0$p0_*)7-2cbqD@2*$#$0XN^f>&XJMMTe_*D*3ka z`%qQ{KU%}ZJc;MkV+!N$$?a-szaC(vTina^*DWSj{z;U{bhWX2c(~_oH`K!Ix9Qwe zO>c0?w|}c2hJ}SH#F2K+{LyX>VX2HeL=nB7uTU9&nZOs3*YOb7wlub!_4`iv=hepJ zo9nb0y2giwu#b(K+;B4$f4%mw2E+?R^Y2!T#kKwOUD$aN zM<&#B*O$Z^ST#6K+?typ12=mSuOYj;<-!7aXZ?$*q&L_D<;CpJrM>sCyRt(Vdqm?e zf5WrwxAVO|K5B+psCigcR`z}Ll57_n6I9oy^ z`FxAO$zr;-Nbi^P$t9nyiNs7@Dtkfye|EJ!Gpm<{&s?3i_Zi#>)XQKhdx6Keo^8Kz z%yN4SOg$P_K9GjrXYz#`7A5|Wmz|&*vwubm&y{`;kDPTke_pK@GxIbP$sR-Vaz4vLVHN|)2A;u6~;FZWiB6@(?C;v@63q-p6@PhS&;4V?x&F)Lo4;=U@?kRlbos~O!B3|@ZD!y9 zvfHfxvbdWrceD9lruOuxP0Vq2NhahcK3Q2fN=d>ND1K(`pJhn%Z9KG#KR1_Ou3|;v zc!be|Z$dS9y#dJf%E_?&D8@G!htD44NV8F1pjt#rC`tDVFyFHPOT+vTxL9s}9&gv@ zB{qEI2G_@fb8uVR+eN`}GQs-&1_kcq$AWa&6|?EMB4+(5Jnj35pWn#vvV;Gudk%bx z3N;M-#h#Tb?2b2oVvF$)k05#%WgT*m_tybltj;=Oa9;+K!1Jwkk_{;m<(;4W4iWDv zbq9xBGdm;CW%rxnvvT%Y944)U!~B-gVd{r?_bSIybIq*K7om6heCQj`hpzBs>KA1G z$9JsKqi@gl01~Y~Q>Je$OR_QU%hH`XmW0+Zn_9?%;^y0W{teH`t)G8YCDCjS;pES) z$By)LREad+ES=jK;!i2@wIiXFMe^*i}eIvx(Yw<%kqO69x-?8Tx^3QTTEMVm7Er|2uuVb{)Ne_IofsUHA#QwZTgKDSU4`&erd7lHU{JUdL^U>D*166n8V`ZIS6~E36z! zhr2(;VsKD~#nPb6e&?jH#R>`*UK6QU_G`XFKenHB>3tS2aKwioin45s2Y&3odpz_* zFQk`52P_NSb)c=~gS{aGcVjilRd8VAA}J51b{uDB&XMJ#2e9tU1HvymXHL);BtNij zP5a$6?yRa9cPlMM>BvSYY{PM+UO=oNsj0|lX_E{mszw@R*{CAt{Wcs>E3XDL348a& z0Zkq6Wnny%SQ?A-#!whF8;L%f1|n6I4@A-zgRx6__K%SU;g@8JQ9xnY(}&G|gy^sv zQPlThs(;XlRy^#(B-(eEm4sf1%{~qHT8qGjP+=^7>8If^f1o;_Q@TGM4}2YClXWOb zZh3No#aUH`w~?wc+?un&gMoPQ*B(yJbDd36gM!_l#PX%`!?RlX;aRQx@UWIUx1zL^ z$7LCVUKZeMDrLdV;+q{o_ndo>h6UGl^~*%cTz9i53QQ}yzbv!QxD3l~7NO_{&nLxC zDK72pA3F%>a1#A^g4?UOgdCu%5t#!#eDwqo8;d=)*bKEtec59)l0}D>9KiicF-b$U1Ld&tx*qW(S$k zp6NxJ2KOR+3?A*7P|Ik~^de0~HcE%_Y^d4nT&UTqTxg%V(Rhg!S<6P}0GK`6L9w2r zeeQ*NOlDuhOlDuZj-Q~*WcKMYnQ>iDiQ&U2G_EZQ?NhgZ$X@zzj1O6m8F#doJ{(Vx z+1IfBL-w-UKV(5>pRUm%vp_ttYv}mJk7A>pT}U;%sgPkM_D;F4fd{ zm`goPqix{zH9Xce+FeQE_6q;3S*IoiEm8LVLS&)cumW6V$ZV zCKKAL&V-tScZ7!t_Pa|V)l^tWJxycNT~b}6?vjK?-6a=lc4!hBb(dUdZ%w1_l4=@t zmt1IXZ;rZ4s%g|+a-pU=JdX01E>+Dg$c38Dk_+uqH|hkjqER2nWcFEY9`F>IeGMDE zo<(~`eI%3Fr>ixg;P7vHci7o8VE%MQH8UpxylA{f0=r5-K^@NReGMZ52YXBaK5l_k zFkb)d7{0FyfRF393P$uhe*{0;(|*H8==f^M==c~uLdWfaQM%zH^wT|b!$;^is~y#D z_z3;w9=hQp^z%J*!$;_^_RtM))9)?z+Hqy@IC<$OKO*Gr5fCF4+im?;w1V2McHG`k za{)H3g@2D&i%&(htp(Vu7Jffc?eSQ(0Grh!9!9FQQ@v*20&G@`I2oz-bgWu{&1!is zL{0AZXJgd@Y*vf78nO1}Sha|$5$gFE74bAeeKkVeA(+OE58qtmbTsfVP{7OKyjPxZtFKm1c(QP@M}~9^k|GqP*RV_s01bT zWQ3?@nH`IuIM4eE&2^F3N^ zE7<6!^Dcry>+Pr$=cp#rQ|kx-nW!eyS0$OKCevFbnW!eyUnQBSCevdjnP`jL9AtFZ zm`4Mq*GkPqwPyNlgWUFNXr|{%GEuFWzS|)0(cE-xw@drBT~u4sbBPU1c94Es8eC$E zNS_r%Vv0zA6+~i+NM991Vv0yV6+~j1C_UIar{%v6(m#bpVoGDfb7Q62dmN-+3XQ~+ z#)iknN=G$HZ;iyJufmfXYY8xOur?NG+g)=|Qt6ac4}nThQt6h8N>Ebin2JhJQt6tC zO0Yp~IWF2d;<-TSo=Pi0skQCAUT@QvfYL>kR)SJ%+kw5_ajh*EcB=Ma+oQBxxWoqL zI@oaF5>rHaXxT$fB&LY;PeCN6i1bcDB&LY;O+h54iPCMojV-TrkbWsN5>px*E*mS= zzT+T$QfMTmG&bBdRywLtI%_00eHEVEm~X+%!P;1$ZFkK!X-8^*TIGZmzW~bL(3j=A~8jze+nWoMWlBMA~8jzZwewYMWlNPA~8*r{_dSa zuT(_3me5E{6Wbc;k&5_ApHjG~#5A$3@m1r9BGxLsyu=0?aUZAY! zm&4&iVv0yd7DQr-NJkb#Vv0yd7DQr-NJkb#Vwxx&z&oeqp!K$dWj!QO@Mi z8tvrvEJ(}AOKf1OgAFGyF-4>!mu+++F-4>!3nDQ^q$3L=F-4>!3nDQ^q$3L=F-??C z?w!+eatG!3nDQ^q$3L=F-?>%=cb-ER*w!c0)$3lN+Y+KlBgZPH8OMrk(koR z(2>LujSL+@B&IYr!pfULOc5D6LL)IvY>y*DP7`HVxv5+{4T$z6Un{IiOc5Jl{Izl5crIDc{i6a^rI)X?{X=La~;;2R$R^B`rvrZhIfDpoq8k)b0r5>px*VdWZ$DI!Bh zXe6eI?OtWbDI!BhXe6eIZH){$O_X8fozn^{d-A&#RwXvj=wKtPN=y+MI%VfLk(eSf zbOe!@A~JLYk(egR;c!!1S1Sh@Izl5crLhrKu~HpY4l;CvMq)}MLq`%vG%|Dqk(koR z(2>LujSL+@B&IYnbR=<9qYNwW@kUtLD-n&TDxuO)$8=1Ukfg;X6wQk?**eDmf;NbqQ!qBbWM~wQD0Z(00&_n;fZ0ji>>Mh$6{mIZ3w)5W}Jz z=NzduHR8odO-&4mN)wS<69Yn!nwl666^Tf#iNPR9O-&4iibSN=)QA!E9uY-S(>7ik z14#!6-Y9FtM~+mQ`VbhlsYhxO1E3-i8IanSlpLu^41iJ-NJJDV4xu3F!9{(I(8!Tm zQzJB-)YQZPsLUf$YifiBG!dyu41h`#5k+eC9)qSPF#sw}L=>r|sTCS%E(1Vl(xH)G zABLnpXe#si01%|s;I=Lsu%Q(iN6o87jttBL!~iJG%aNMY@N$rdD3Tl}C+Us=L|?AV zBT{RkFAGvr6MeZN5veuNmj$V*iN0Ksh}4?s%YxL@#2rsXB2sJ8J0UmNjeDe#(iUvm?M>@)|JpnEstmgAxNztJZT1DjttBL z)Cj^HsYwjAa&SQ+qDXRZouoSg5JRofM5NZ#2tu!}sfnRhX(CcmF9s&M3G{11xa@V>SL%?BqFt@Mi6>+O-&57N)wS*;)Cxj;=Y`>^NR2l2 z;aQV-y&LvkGYHR`L6{>0O@J6`rKTLINes1$L`0EfM?e$LL~0U4tI} zsWmmc+^cJ9qAypPh}4?s%YxL@L|?8*L~2d+WkDLzB-eZB2>QR$B)!~8+RI-xy*x(- zngBJtJV$C0eYxxikccQ!>?1+ay@&ef%N2=8t*PPVUR_fYeYw&^q}J5%a%dt_ljzHp zCL)T|>OJ~@O`zC z^kX0rQ$#wcAQDqV`kWvVQ$)IuAQIC=HSD2{4HpX_T}fyprZm!>BvA%x(x{wmfDJU_ z+nO!MDIh_kYm{~xjgX+xF=`qiL8DvLG(v(#r>JR!1dT3H(+EkLbQbH9maiB_cc`@y z651M$5^B_b5-{l|1vJox4@|baq<{pCu28nkXoLifu29nm2^w9YrV$b}xbcLEm zNYLmCHI0y<(G_YMAwi=n)HFhpCcVVEq~#@s(G_ZKgoL(+mxLO%mjq0DNdXPC;j_ps zFDW2FqbrncGa4a5qbt-jLV`wDsA+@*jjmAB2niZpp{5a%H0dSQB`q&8jIK~?BP6sn zyd>19y(D1LOA2V94d1_Rc}W2Y8eO4mo6!gf8eO5L5fU`ILQNwiXmo{|Mo7@;3N?+8 zq)9KaE@^p*VRVIB8zG^s;U%F)?Ii(|UQ$21tGL8B|wG(v(#SEy-(1dU@_(+EkLbS~>jdV-+wO`BR9AxUd$ypOHH#>ZGzvapWG|*-k{k3dc0SOxYwWbjgH2P~zBP3|_*P2F1(CDu< zjgX+xUuzm6Nt45EJ=t<)!|1QIHbO!h{Z-MTA%aGKt!acLt=YDgD_h&>uS#3=@_{z| z2t>=33rNr!u52_yf<}KWjWik|L8HIcG(v(#f30bR1daY$(+CL~{k5hMk~BHo)+H@h zHjMsSYa=AIHC#E=s9o7G`fII?kkCedRkSf}a#jw8XjjIa1%3Z`mm>oc0nu4Y3v;9< z(N!xFk(xwDtw=;_65X^S5m6-RQD{@+P~ZB9o?U4oQfuOxRFL%WLKB0bA`z)IF%$%; zsfmG5k%-iq8W94+iPR(pL8Xa^BDKbeaid5wHeenv00RIksM`}_dG(aL!lNbPH zM}S16CNTgi5|Nt30H{br6iIeD%xi@PAO=9CiAb%f5gJ~dc340RfJzgQT2mu5yt<|) z20*2WNUezhAV^J341kJ6q}Id$5Tp@JGBnT;GBo0^P08S>u-wE1(xWpYD@+mT)q+S& z5$V~2NK6swsDemL5$Sh=NK6ysI7y-y!_;&1KS3m>G%D}xD;?2DKNK2?DUHfYlSX2i zSbJ(u6e}En{uOsMkyqG2qZ1pxT4IVwe=Ix4iNq9<{wRpV6p{WYh{P0;{wRpVG*SAh zw~@1}BGMm)Mq--S)<{2AMEax9NK6yk8e6{V9l*I$YSg~!AF^)vYKaX@b&$)8Qe%lJ zV#CRuNK6sw$U-AAMWiDOA~8*r!{MgNr3j+jK}LYkNK9!|3zELlXpJH=bc9A?n%Hh* zE3CYY3>~47n9|75k;IWUGIRuyn9|75k;GAr@)F?fXULTr?ME6LtCbQGG#yh;BP3{y znxc75BP3{ynVLpO&=@f_jgX+x?Q0q#NmK6WZDXtm8eP8DMo7|{+8VLomhkB_rA{e?dB(&*y±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 JMArxX_kT7R`Op9W literal 9308472 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

D<`5f{rK1iFABW%w@aQcO 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 _AhVH!iVOf&XgJ1$RcOVF-3 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/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

Ci< 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%0AjSllaK1ow$w5BEFI25}aBi+C|S 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⩰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 z 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

@vm*R4{3{R6s;92r0 zJRk4RwH@ZMUR~u({wlJca%@|bYnWy6cTBfy71;1~at3}%{;eZ_AGEv&H$6O<4>5D8 z{4?t#tIYNzZ2wWMSF*lD-h?;EYjM^Q!FJZ+qva&NTHcC>$rX6A`~`klUV+!jtMCr_ zdwjr=!SVFxc#f`e8ppOV&AP~?zoyw`va#Mr^QFw+BuDu75vI$AS5}$xwu--NdzaR~ z|Al|Qqjj*pg7uE_E4YW8z&FUt@pSoIj`JP40RJvWaho>5Hv8ji<#Ieu9*-BuykW2AX@>u+}T#W0t3vN3KpCiZc4e|*5l>7=_B`?Q6$_sF#qk`=$ z#^=cMaH%{KKPk__6>=Phjt*`+4Y!qN;~w&5c%0mc>u{mmmG$rC?znOLU^}Pai{(x@ zCLe(p%I)zMxeGp|LvY(1+*NLiZ;_A1FUS%6ot(h6I|jGC5}zjb#6#sKc$^%@)8$6^ zCAmKL>l^t%T>BUu4?aO|iwoo?_$IkMo-H4N*U4eLS8jw4JC<$ooNdH49FbRWofpa> z*2l|9)}NQR;*aGx-X;Hr8y^>Jvp%;yLyqCTas|Fyj^JnHFK~st0`HRJJRh4MA8hkn zd}5V(P0Qdt`a(H`3#!a>Jk~g5H@goon<&TeT)6_jA@kR2*;jJufxIT35NxNE^=!Gk zvDwM;JZ3JIBaO`Z`3&p#%L#5fUyd`gLhjDYPWPdF>iR_&-AK z-py>PTzI#PWAcA*{08&VfKTZ zxYjKFq+pxf3(O9aBT=*Va{WGLXZuW^S#R0!1bH4a&-yysS?%+zZ<3SjtLDkUzRFoY zOb)Z1ljQcehn%>X`{MJ1%%;fo`}mE+8o%cVtT8|13L*Q?&C!8Y5!Vb)ZRzGc?B%2n^be3m;^>-FC>JFm($%#!W* zvum{8o!btQWB3j^@rBtla&)cPT6x}Tt|hsA1&{k_I)?Afj*`RtI|PH}`uzJ4ugI1B zdl-MoNoHD~9^5v;zyDDnSK?P?`^oG}xs>^|NH8DSXqF>K@mcab_SIXC@%!u(`tG#E6rxR)6(oUx%+Qv_PJb+Yjh5_S$}t$wU*0&PqRyX9gp&L zW@gFJJ!$r_94|<>pM1VYI)6ueu+8M3Y1Tn5y)@mr%H8n*_r>WpRgU8~ z<(=tvw;X>n-CmWWE7I*(Ir&z)wLU-CPK143CMP+zJLSs9(`}XB}z`a1JlmtV%rP~PiXX&<3j(?nPm2%>fbj$6o`?4V2u9l6*?rym| zUM7dnOSjE(#kh1k_~PKUvBT2sJUQMu-G<2X{z$W#K7&8<863JKxNWpgx*aK3#L}&& zT*}N?pTYCw2+ygta`@bI+bvg~m2S;04Yp~wrQ5l3gxi+L$%2rT%W*tUu3s3kH9nso zvcKeV)|+1zY_mPMYhE5~vpeo6M{p0hVk^&IH|z6c!=K2>4e3_9$ukX0opgwjaf3$)%gq`TM(r^~wus*jTwc zUhFgH*RU;eF#tY~QBaG&$a(hAsD*Iw4yxM+Vfe1Fi|SQ;H*U9A7V&|5n59krTz-FFA?7kmupQ zgS8ZDQz{*0UXFXR~Od*vka9rJ>1#@T+pT(P!>-6FSNQ^OvUqaW6=H|50p zHEgpy@6{T%e>B*Ry;j3I$lc$rVHe01l{KtLZvR~knYGl%aQ9iPC1Gf$ra3hBA2qAQ14(n^_e+AE@!=;JP+S1CzyFluBhNX`aJ95 zKDv*O*08Q}lH1-OS2FXQ+@AH1YU5vtY0dJ>xHaTPUM8_F1fT}$R3y5 zXNLGYrr8eP+b-sN$&FeMw+h+s^1Mqzc5q>^ugY#AYbTeVAF@1myO5R1-OpxUa{Vhp z_NW~19I^#+Wh7*8%dt~Kw$bNL3fXQs**;_q`Ud+=bO_lIa`{yuJ4KG15VG!apP%a3 zHS#sP>R5ld`1`tcgS_b7x;9as@m^h9Bv&x=mfYpfy0%V!Xm4HHBHx*rX?6Pr$1}NJ zrnQlyle6qBx#FQLyTaF}WLaO?@bD^gp3C@eU)-Ygc@wj2oLqlWmQB*kIA$J`N8!0X zAJ4Sc<>+IXwpMOGJ=4CEle02ykFPUdzkhJdnwM_Gt;h=lM^zn zL@s6KRypxnrcIJ#A7$DCpJ$tI%HfTf_OV>LCeyx=yT6)gyXDGcrezcb$JTvErX4It zmStLw-0Fxr)=}zirwS{(}FmOOe(~bF*xO))TBx(0XNuESu^xjk4@{`Qiqd_L{tsjlCzId0?h}B~L#f z)3(b^4q=DI!7)!bDAO9qyAI8?mU6#FnRbjkHJoW@%Llc{$&qg}Y*Ll^xx|<*{C@}X{dk7_0iGjg@c(@*lsB;cio6WJRb_tW_V|x= z?0tDlWgYuMK5l0n`%cbg<|nz+_B!@wl{tp_Y^V0Xz>nkl@^84Y{29)vGW$wyt7Glt zySCP`DSb?kKcEPSq9^lKfvOx}j0a-#-yZJ<1n;~XY;V111ID)Zyz!`bhHayfon z{+RnRN1olLt}T{7;n-f6+oaX9cjZNYW!OjZHlF)C*`Hfj~-CV#>tyv}a{ImFJ*b z$@<&!b05{V59JfiuVdTg@Ts-zce(wQwJcN;9Di&G@2zr0Nyu{C*N5z6c^>N*$(6X5 zT)&j>N8~8;W99aEl5BXk9Ot%6+^nyXyO)LRD|y~+A=@ce4h>m)X>gp~$As)aIedG_ za^+IiPn4tF_ClW@9 z&h^2u&Ep&%DwmH8SsS@N`#s6mM}@4bT**wH9A^6^auko2+dmkx336gm$fo%Wenw8> zm*wubLbiKD_O%=?57~A(a(~GFl#>%fw%_33_>FzFkjvRl2f5;*kewlSpBA#qgzQ^6f`5@qah)N-aaOXOL)_fQR&tW< z94nV|zdFk?ZrejnaN7boGC5>J$-lDf z7di4vmenZ>j=AF3ENdu7cV$^~U+-AY+Pbf)XUEHxXVtULa)S9wWW(3U^_eg5`K#*L zaGyW5o{jbOZuM-ETzXJFo8>dCFO`!V=Sn&9dzP(}!~7rM-?%TVXS?JC^EHO*vG^^^ z8px&W_b@qnLOpBk>&Mr#6Xo{Y_H23HZa$;RVb=S|iMsWySdQV*a{1NuY=Ru=QqLZC zpI^`B%B4rvvxFRG{S&$Uo-F%DuHZiYEN{NPmi;N;-Y~=J4h!zrNphiWyX1=(Wmwwq;5cu3md{Ia+3XB!B7ZtB!w#1xGSg9R&F837tdYTSKEOF|EKj&F!`jH#v#*F;#JRmt-pOOvOFn}A4wPH3sAHq$ zL44-FPhQ0FPnV+;YuQusyDc;A1-X1`En6zj$mTP)T+u7bK9k$yEpq(oEc;CkU&HhC zhTy)0ug$Xk)ABl_Pkb=8M0oZ7<6=Ppf5b%4wY2ujJ{he=nc3u$JwV&yR;}kKAWo$TDtZzkC*r z@Ov@`RGH721&@cUiQMopem)={Jd@8b@_tY7{wv?VGGy1t<9J^ykneqjpI68aJsPrG zP-L7Rje~&#;^2#+PQ;MES2C8TN#HbGHmzDu=$VWpB#^cGj}@<#V{Mw#cnk z*RfxGJtx!l%Hx@@eRFWk6^k>ikvwlorgfCVcW2u9a->F<70TrgX4;K%{qdQ0zt238 zWzWcor?c#JIr&VMed%U>ryOR!?&#ncDj&(TW^#Bk?=^Ddfh_Cd>-Z|!aEY9_A%Cl^Z9KJ2fHp}r*S+-YhKRwG1js?flerlE-EzkRlpU=qMjn5&n z?a8$3v0U_&n$54Y@tX^MQQlmvwA|Tzp_{ z+bYjIx3=w)pPX9TGRFqT)9)kX?N%paPv z-X>-Jv=pD0;!9I}ZMB1K7Nxi>#W$vSOp3>)xID!VrufMe&rR{t6faBhiWIL-@rNn? zJjLr%yg9`?QoK9GcKbi)uvUuerTE|!H%)O)id(0+Ly9}4IFjOXQhY_VgU9aLl=Z$T zzCOicQhaZUA4&176hE8d7gD?=#miFsPKw`8@uw+XpW@9a-kIXxQyjYEpYz->#f?%N zPVtc`K03w6r}(TCUzp;{Q`|Gf`6=#~;_Fj9GR31)d`F7!P4VOuPfziz6fa5fvJ|gL z@wybRPw|!%?@V!xasQmp%oI0B@u4XWr?^duPp)=w?Y$i4_p!)Q@)}uA-Xw34x5*0f z4p~XwC9BALWHnhsD#-if1M(qROFkkWlTXMx@+tX@d``X~Uy`rL*Ca{SlMQ4O`G$N; zz9Zk0&14Jtfovt)$d6<@sU$ndPVy7^nfyX_kzdJgWHLvkQFh#X7~A^a0jV)Xx~B*NVCf4FVc zxlH|9)p<+(^Z!dP3s>#x|9qd`_`jU{zuDIRY3B8meJx4x|LJ!ByRUC#J5|><|HNLU z|NrO9|GVc4e@s7uw?s|TxxsLRwt z)x*@o)g#m+)itsbwQ zpuR_auew})pZb3FMD+veN$LmHlhsqyQ`HZtA68FOKcaqAJzX7FKc;?MJwrWH{e=2S z^(^&l^;7Dn)z7HssOPGmRX?Ymr+!{NU;To5fqJ2Ok@`jTV)aYvCF+;euc()*Usb=R zPN-j3FH^svUao#q{g(P|^$PVn>Xqtu)vMI+saLDls4LX(t3ObGs9vl7Nd2+;6ZJav zr|QqtpR2!6f2saT{k1x&Ua#Ju-l*QB{zm<+`aAXa>dopc>L1iw)!WoRs<*2v)jQNX z)jz3!R{x^jrT$g@n|inUcl96YJ?g#cKh=M!ty%EAO;e|=2dNKMAEIugK2&{}y0N;6x~aOEy16>6ZlP|e&Q|BB zbJeZXhpUfJAE|DwZli9iZl^vf_YMt4~mOQlF?kNqw^V6!od< z)6}P{BkD8MXR14^yQt4npRGPeeXjaE_4(=x)Lqrx)EBBRQg>HhtiD8jsroW?5B25h zE7Vu2uTo#FzDC_s-AjF~I!_%{=c{|G`=|@lh3dZQe(L_}BK39Z0qSD)K=mMXiMmvM zy?U^Eh`LNYR6R^RTs=ZPQhkH^M)fH5P3oJ~qt!9>E$T7qTh(LLx2bPe-=Q9-zEgdd z`fl}j^#t`j>U-7Y>ig99t0$@-P)|}nsGh8zqMoXLNd2&Sn)(s-qw4AExcV{miOyy)C<%L)r-_Gsu!zYQZG@ztbRqk zRQ;;@HFZM$x_X)V4fS&Mo9egJZ>v|R-%+nrzpGxQeowtxy+&Q3eqa58`a|_v^+)QD z)t{)>sXtYJrv6<0h5AeNSL(0TN%ea52K7euCiOS!Z`I$azgKToZ&ClC-m2cF{!zVM zU8&xo-l_gc{j>TP^)B_V>fhA6)xWF%Q14OiRsX5}OKr{d{;y6~*HDMlHPyA$wbdEw zI_kRWOm&vJo_as^{_6Vb2I>RU4b=y#4^khjK1AI}eW>~{bz^lCbyIaSb#rxC-9p_` zovqGM=c-$&4_6Rd@N7QGi&s29-cTu0EK3jc``dsyS>hskXsJp7WsV`Jtr0%Z1Sbd55QuSr( z9_q{0SE#R4U!}fUeT}-Ox|jM|b)Gt^&R6$V_fZ$93)Owq{nY){Me6I+1JuRpf$Bl( z5_PHidi7xS5OtY)sCt-sxO#+or1}Q+jp|YAo76X}N2_D%ThwFJx2nggZ&Tl{zC%4u zeW&^^_1)_6>Iv$5)c2~()%U6IS5H(wpq`|DP(4{aMLkvhkosZuH1#9uN7d8SarI;B z$JH~`Gu2P1pH$CM&sIOBep>yEdX9Ro`dRgJ>Urwt)$`Ras28Xgsu!tWR4-P)q+X(a zS^bK7srps*YwCphb@ej!8|vliH`Q;c-&U_szoTBMepkIp{hoTYdX2h5{l5AG^@r-U z>W|bPt3Oe%Q-7-dO#Qj~3-y=kuhd_wlj`;A4eE{RP3mvd->Sb;f3M!G-lG0Ny;Z$U z{iAxjx>CJEy;J>@`e*eo>Rswz)xW8CtAAJjq28n3tNv5{m)gR5|5vB0Yp6r&n(A8W z+Ug8-9d%uGraDVqPraXde|3Fz1N8ywhUx>=2dNKMAEIugK2&{}y0N;6x~aOEy16>6 zZlP|e&Q|BBbJeZXhpUfJAE|DwZli9iZl^vf_YMt4~mOQlF?k zNqw^V6!od<)6}P{BkD8MXR14^yQt4npRGPeeXjaE_4(=x)Lqrx)EBBRQg>HhtiD8j zsroW?5B25hE7Vu2uTo#FzDC_s-AjF~I!_%{=c{|G`=|@lh3dZQe(L_}BK39Z0qSD) zK=mMXiMmvMy?U^Eh`LNYR6R^RTs=ZPQhkH^M)fH5P3oJ~qt!9>E$T7qTh(LLx2bPe z-=Q9-zEgdd`fl}j^#t`j>U-7Y>ig99t0$@-P)|}nsGh8zqMoXLNd2&Sn)(s-qw4AE zxcV{miOyy)C<%L)r-_Gsu!zY zQWs3(zw^=AHJ5}ja*1BBHhWwuo=hP3kb6lvxsTjWCXxrp zB=R7cOs0^jUy-j#lB_2i$VRe>d_%q^-;wXhX0nC+ zK(>-?MGQjhFM_9yj819AXqNDd?ik%P%0q!Brk97YdA{?MDazlb&G`A^bG4H6`&^G2IK(JkQ_)3A_tR0NF#D6IgB(WO-NJHj5H@<(t@-k*(8VLl2+t!as)Y& zv?gsxThfjkMUE!zNe9xA97B#J$C2a738WJ_k(@+MCZ~{7$!X+t5+P@hGf8LCg`7ps zCg+fI$$8{_aslZ|x{(XXMWj2qm|Q|GC6|#NJ1lYwLqDIulgdNP;{A!TGJ8AgVa5o9E}f!s(&k(>1d`Q-kkI2X5 z6S9tcNlP}1ZTqlS;CK>?A*t zpUE#|7x|U^Ms}0m$sc47*-QQ;e-R7w{3q$81__axq!y`7GDsa#mt>MGQjhFM_9yj8 z19AXqNDd?ik%P%0q!Brk97YdA^vX*>AJ|>@# zb>vg>8Tp)iLB1qkk*`UTtS1}DM)tpn{)T)@z9Zk0&14Jtfovt)$d6<@sU$ndPVy7^ znfyX_kzdJgWH+f&KFeMiv+K&g);8Ur;#M_(MV7kg}n@^LiHzDkvJ%k1rIL@`b#r zxq`gDLkIQAD=sM+FtpV2h7=YKC@m=(RF>DLWMFCj;KDr1JG<){o%8a#bvf>`!TE!R z^eq`Y(DH^4E-EX`>yuwx+&jO|0EP+&4=x#;y3nV8e$k-3!5l+gNxyyp`t)YxXi$*QjeLjw!T@(c3I^7DEZm$1`nR&TOz)nPM~U&{UZ&s|i{{C(q;gRZ_=SxH{s zqQOJT^8TI(HXm%ctgyH^Wy?c~29_2V=5gl-=a+GZO9vMXmYO6T^$j`sbDA7gS$Q|M8gq zz2oY=r99yO{&V$a`~exV?<2>>_^*@QcW_~0UcaGb{|uH6F08&txhQpwRGp~c?hWr> z!im$_3(m8j<{>;z!Kv1H^+VwCEE!RC|Etg6->VjErm&=M>J?tS>Hj)deO>+g*40XUW7Pi&TOB;Aw%+p4DIa)5?>DsSv{s*rvXP~QJf8W*MZCChcezgbmZU7O0iIR)!wU7@P<o?vckT_CHZ9?tB-#u|JyNjIrSd* z&L7gp??%d<>z_YpU_S4s`9t&ko)6V4)ZfQH)E{R~X5pYdB~`Db)wig=cK;q5HhAB2 zo6o|&XJX&e$Cv-dN3TyluVBGLTTMSL1%>RsFt4ESpF30a^?eScYT7Vtgm)YtoY@atEE=xby>Vf~f z-M+85|BQ2;?E5OV@0b3EJ5zP5e;;A>sR|bVey*gf`Q=x=q)VpSRokk1ndVih>JixI z5($R=qWb6SRZp+f`KqsU(p@gBSFECv+Ua^Skc{Ut7I^~KY!p6`R5N+ zFQ`=;`PXi$U(5=FPwAQnPDJW{^Z@Sjb>CC)HQ$v^q9%1M_AeXYuVhsWX8fY9TG{8q zEE?R0k5m6;Nm~oPzVAk=-WRIxN%hNe>Ysx54c?)vE|BW?$!hO=^L<{FtG~X_?yFby zKEKcFfAtssd6%tzi(>7#lwBS7ueqWZg$)Gr1el2`Se8(*&ajIJ;1BW20|V()F%$U*R@kvU!GsPz2Y zR|#-m$gzm3Y`-pULA)bQK}Qro+DzD+$x1etWs#4lu8z6O;uKlv*0Aol2ejJ zr=*qrg_9V&O!>uCEvNDI?fFp&og|4q!A%pnDS5ZOTjptZ%E0^u0_i%%VM%3YPLO+Z zY8Wff=H{I7TIqNK+O7})EZt>CRw+6ak-{W#V4(BLQ>fdsJ;y3R8f@$`^|M_~D!ZMu zhlw27gw_SE;@jczBz-(dCzFzFvbwrPe^4ztqgj_(rBz1KT4khmg*O;K zCEyEVB5O`aR$b^{@|}!s&~yjT(ssB^1r*6Io5>``GFp*ld^I>1W|!p-apZ3G6^~X; zhge2inB`>t*QYtOiY=Bgkw#9D#&g>@JngN|htL1mS1(liT2r7UZeazC*qTGxq-I&oeSZhT3&-6i2BmxNo(1hiF(EH!Gf)Tqi*wJxMf zDNt6WQnd<}YE)9!x632WJ5yrDYmz|YICmG*nCDGn!2KgF;HlYZ_n4CZS1h_TBiQG+I$|c0gxsRsY@)4Wi4APdsG(N zEX(e+Z3ZTo>E>S%ZK<-$JX@t3cSDDy-&mVWNS<_xAlYX^(q|;C?mEl7mxZUHG7Dq+ z3U6xeDd*S~z~Z2Le6B#9<>ls#>=LP#OOd^|ZF6^P z>!ld)O0G@Kmy6rQ+4^dI4;MHe1I8}vWr6c*#KC0^U2e*Q7f84-<*9bkQk=8o!e*Gm zNqEggP}WJi3ycF>g=Dc3ZRodZ$aA>_VZ5^-V~kc120uKyNC-f&HP;|5yOqpRfs~7l z87%VT*^pO%l4HYLD}#EqIb*u2QW2@D(q?%T+ANrUespHb_~y)K7}L|u9@$^NeC5Qz zu9J&q^;|bV2BGwJYaKtoNqAa9hm$J>lax%6?))q1&3(NlYROuOc(Zt3aES-#k zIp1~*vt(|JCRHp;STQZ7V4Fp$-yVjGoH7r$C4W3|GS9ahi+~Mk+dsEhh_tmdEQUYE zGmUKrlwc{D(^$C}W5q6YKmZxt37%7;Vf5yUBh(3h3SyT*S#3$l|LTHJW$n^FqpBte zRUlv)(PD)6xe5YMr4WkfiBYh4p1XxtbCNT4e9$Knu(#yozBV0gmfP26buw<+85SnT zHaz3?=k4{=!vmj|PnHD}ATzyEWfd>Uc@{b|m*+`Tu};FUI*ID#WD2&N$d2BYZchgq z@B;`FVb2?FNsTue!{Epo86G*ECs57Ie|^0uBwvj}N}zW4UcxEw8YGHCX=k zeq}2w=PNAdP`Is*KPh40?~AFCmQxHVE38bT>byp^d5sR>HCo@UQ`6g(w?e5BGwQNa zJLSStBA1>Lx%iZ@@@?DtYGwP3$ve_rewvMRFPm@IQ`vIguJTh2uD1(++-bX@~BHPknWc z(;v33Xb-iivHf|pe*Pk~bIAUd0f7)U?duWQr&FDfJwn0!iga)3vladcVF#}yc(z(6 zCjJSggI6Zgf%Ytkc}?|1Npny!K=!v|S@nSVzYer&0rYL&Y23dIs&Yw zM}qGntO2Tp&bPmvD5?d>{&tYn3Yh=vK&ur%|JQ+5IcMTu2U_KvsX(ioGpk!9t6@Fo zOa-EL@MrtmX+-S++20Pb$^r9#9cYyU=>Iy<>gY`T>p-icGZkocbY?YGZtCdF37CWY z$kt&HEz4SE!FG=AB!(J}K9j;QO=wJWDF8K1VOTOyNmGY^N*`)zDE=uF)lA&Rze~yJ z%fuBZ;uAHozkRvuBdewTRhZXu4SSmaPde8y6xH*8nrpWWT~{MHD(h;bNkmTD)(U_K z=54gwuj`rT*b@es@K{N|j)bj6F6v6BL?rHwbYZPgnjs}3d2cooVK=8lERUu#6DoO2 zMDp%rCQnyLiCErS5)E40-_GLew)B?Aqas`0uXX7L*|d9XdB2W?t>y6qIJRU;MB?7^ z=XJ}cL?rJmZz62Tl!)cg@@7IMAGf>=qWC9**e&c%Z7Gk z_v-Y&^yCBw-ErDC!ErZmoOhWCj*--Hj?j*mF~|}&2zh2+Hmn3N$hbiI-&mMRKv23s z`Y#0FJ1&s^7XdpfQSJ4#XC=ODavDv;YcvC|QDt7EdUl<=?`*x?2K_;J)wH2%E6Qq}_sc)h_1WR!J{{g}nopIe-5#wr6cq*)(- z`?0d`ba%g5Ztm_@$;Qf>x;k!2C;9;g_Et-;+H$kHxL7aOIN*yKl?t$_c!)hU1kPT( z#!AO2=FY!f{hPrOcjQ5)N7|NCnF`SKo(k(*^S z@WcC;!{PAFGZU4u->{vBEEE=eeZIt=!R{UbbaAyd^!#pdeu0+q|HtY7Sx%ol z&gqhmbJ8K`oReXkvA5)KsF025qQr9!AHGSPE}z_u|Vde+A>*`TmL;i!ZI_D zIayqL$6PPAe_&)nKfx4R@lET|gTHx$nh0%yFRv_C8M~?D6TSkX6Np*R=>_lFV^37 zH{0z+a*dQaZ&KgJ)b`@s9i@u=v0 z5>tuvttF-8%HRKR6N5iMnU-0sk-8Zq>Xs;1rne5Bz%3h&M?{&WW<(J{j>HGJu-u^QD?d6A$uim{y z`v1K9Fe~uttqCk~xY2H?c2}@FMEZMzN&Smoe|!7a;p40Se)+?*r`8s4KK}CCtDkH( z_~{>*>0(0L<-Pfc3A6%Uy?pr+*1kLa)NxKke#7tAlU%eQ99DaWH z;mzqMX@wA*(XY(?|LZa7?Ef$O!zYb+;|MQw*`59VD_*Qa@@92qyKi?Z%e%DqMoaGX z?dtRJ_yDsUnSVCTU*GSBBMcL*G;VAI;_w1*?Xl#=H6|Pzj7lh@0WkT;bgs#AD~`g)w>B{o{(Dc~tutAX%N z(=^Xbd3rdpWMPu1iSMRjqj!rV`+ux`&li`z^=ozcY>zWI&w*Jf9)0k#=j9KNPwaX2 z%h&bIQ}~emKRiP1?E?3Lbn(O^xNkp=s=0et-8f?RFfawqxFvttVNQ ztMx}jScl>k_xF?hgYzG2vF+~GZ+Xc3k{&Mo8D??*&tYSy)bcW12b#u$SylaM_45u7 z5Zh6qXP&JWIEa6Ji#edR0fjw3zZ>7>;|cr*Z99=RrFAAwMALdJ*Y4l;jKr2G8L7>3 zQ|A&2=504Z>9HFVdMt>HO`V^{Q})=}N!T7eds)w&irVmqcb{qC0*eJc^Yjl*SRE_} z&k5N`yu5t7z$%tm-)PXCwWyLPyE>EogaE8eJVR(o9T`QZIKU-hD_Xz#S~Yu z>1gd|U~0#4X5}1JI(q=it~_99GT{VcMrnI%*7Af|`kkz%-z~T4r6cPlJm2B1F^p{u z#1e{{j*OayWH?dR)5xoO8YyqLX@^?=bkwoC-q;VhLrcSt0}931H$hhzwd#p6SvsQV zt2?6T%fUF5G~35Wlkh7tO)ns`ZRx|X9U(exMr4hxSjwL?qGeCpu!xS$WjU!8aaNn2lKH!9W~0 z_vNlCHP|3k!^qf8axC2{KYZFNKYZFNKeXw}gnMFH7^d-=kQD}AJi2{tGp^SNpjzS* zyA@5&ElAUh3%mP`#o}48PT?GVlVMuX{B0f-cX^lVly!-ZgW#dnzLRogZ?f9DEj9~I zzS)~mxP@Q>H_XT!V7=)9BGwmsO0f}YkI3Ul1oOJR_9mHGdqaB5S;TEmO&a)lM?AEi;OQ29F|p44!S7 zRLX42j3S{T>!riPEfpR%V``ioVn9RP4nasX= zJ$`^Lli8=sWaf1}B!&;O(7d)Rv`^jsE_>$PG2dlLX5P`Bd3QWSW?#kjcNuo1_jXy5 z*{5r^%PbI&?H)RR^P|{oV>eP^Gc{77@r_jM0$9%YhTVI&KGb+vONAO6sfTH_l>~hc z&l+c&t0^xiZ z+V3unRH(3#dYH!0T}oNA?oxzi-K7=^JGltWx=Sszx1?EjDJ9LiOD(jwHD}$Wlr-xu zwNR)ItES(|ttxDSS}1guT4ACqdoOEe1`sb58dz?I<^O9yVvj;`jb6$!)NGNtDV(u_zeBo9=hQ(^pibw!)NHv z_s|WG>9-bpapW01PrmY%9}#l52#A@2?d)3=t)Rxm&f7a{F2K-Q`1g#pM|0K!42y-| z&lLN3u2_I!v51G6Vr^9~Y+Ha~v51qIVxP#MO+o&*q9n zOwCYF=BS9L8S3*H>JGs)M|M2!x!u7$8}JNyk7~d({$=gEL)$j9?!z%%40 z^JKs?s8oa{#EaTl&S4- zdpOt<0#IzT-Q4>oi2$oDlo36eqY{+V$8%JIl6pKxB`B#+=BNZE_30dyU_iBJuAqgV z4jGixXLDK!2Gkj?SpG~VN$Sa*R)PU_M(fEQt@bDwG}FnDL80|})`@FWlj*5_1b|Fb zlj*CHOjMKUt&&Vslj*OLOjMKUv64(QB8Q!f2AlI}!1P+FnW)xGzYWN-S3@&BSCWZp z&Gg-Xyhn5B+HRNjZM&&P!*h#GOm>id+ZxT8+U<`YJp*m`i|JgT1jp zV|T4VNu^VEEd(k-Nu^sVDnUu5V=5{^Nu_HlD#3snIWFotN=lv-m4_HyU7MlS4B?ZdWc6S;7UP0V#LaNrhGM0#l3LQW*6i1bfE zB&LY;PC+E5i1bZCB&LXTFF_=xiPGP_ap;wbNY@e?iD_c2kshgt&-E&Wn@UU*V~x*) zC5l|C^zs&)Xv98F=;SS?h=G$kk(eUVk=yQYA~8jzBMTxiMWiDOA~8jzBMTxiMWiDO zA~8*r4&aRwIk|&$WTBCm(nv>^#B7Zs(vby`m?p+`jGWx-_`IyNNsW3Ww_WyVByX{a zsSeVSTa7KIh;(E@B&LXTWI-gRh;(E@B&LXTWI-gRh;(E@B&Lbd0lZZsCwGvJEHn~R z8UrWKg=!~vkd7=g5>p!K$dWj#QI6!<8tvqE79?`=7MqyrVBq8}rigUpwvJ9DrigT8 zK_sS#bYwv!rigT8K_sS#bYwv!ris$Yy>TKZcaV-OG!j!911HagYL|16jx011QyK#& z&xOuvlun+B+R5$2Qsm?MCQ6rcQ=bI0 zM+X@JLL)Jyk&l^@s2#vHGIRuyn9|75k;EB|3>`rvrZfg&<<%gjhzuQ}k(egN{m78h zL>X3YDko19qMhW6!m7m-F$gOs5>rHmPTM$6B&LWA9YG|fhzuP;B&Lb7JKWSLtQ=(M z2#v&)#vrV6q1wqEWatQu#FWM$ta70<8W}o5BQd3sp(BYi8W}o*NK9#D=t$zMMj2M# zI8j*H3D+pBT5MvfgAAS4)D}}jhK?W-Q$&W2AQDqVhK?W-)5P55lBm1G8-SrBh{Tk} zAgpqsGa4B>LL)JyF$gQyNK6qKIzl5cO^jQWA*YB89ifq!CdL{Wa+)Z^${QyND?9le zg;k49G&&fBRf{PiL#J&VClXUchK?W-Q$&W2AQIC=*&S|bbhmPlp(8XBQyPP?%7yB% za*&}TG!j!989I_UqmiK_h{TjehK?l8Xk_RJA~B_rp(Ba28f92{iw9w4uS5h<)k3YI zj_H_cAxX4jbYtuBP3~IO9t`o zEyOgL!7;S_kEou_bLL;yAp0#TuG|_et#!Zd% zq#$ZQBBDsLT29in0>rRr`?*GXO+makDb&P}=rj@OH8CIrDb&Pp=tx9*O$-J>3NS&O9Q$rXVz+iAYak0Cbv&C{omV44R(A0O&Lk zQKU#y6dI^513+lfp;6x-rlc`wI`hT=5TvMcquT~-h(ZIuI7_J2R3j7f05JeM5|N%1 zcsYtAqDZozoTM895Pi8bk4UeHzAQ+gCi-$mBGPN3FAGwriN4&Ci1eE1%YqbY;uB9t zBGPNpPeO1Mobj5`ByTlN((&YweJ*194ouRNk}H=&-yQ0p`iQKU!{!?Pzb)H+Q>6e-fg@a#zp zwN4WeMT#^rJbMyDtW5|N(7Q0quU6iIe2G(|xOh@sYLBGPMOs0os8a%f_x zbtEFaCWe|Ig_;;@9f?SM)p(ch}MNjeDeeTpCm zYoyZ@1)-CoI*p+=ZHN(>XnGO`VU6@8hFYr$BqBYDq1KUzC{nJjAnAsH5e&7CM5Nag z1fdrfYGSB$nuzq8f*^z@B0Y(r)@dT5NKxxCJbMyDtr($g>qYosSJ)Y^UmiAYaksC6VFiXgQm#K0nwK` zO+$EJ&dy`f^7i(rcnG3(|}x>E&pM z$jcp)US1;;^PY!ZUL!q;zTDOcBqBYDzTA%H#FR$5 zlO)POEgF@xO|XeZd|NYeoCXp!x<+fK(Fh3|9iyia5;VF+Pa`B~bc&uvNYLmKJ&lm0 zNoTPpiG0N{xxNYX-Wd^JbXq$^vK1TWw0@Y(&yl^bZH%`p0FTek)hH2P~#BP3|_*Pcd5 z(CDu{jgX+xUwaxML8HI+G(wUlyW3haa%IElue~-xLL2>6(Xt_eMt|*Tgd{DjTja`C zH~Op6mc4wU4L<@AxpD&uTHwk?BP3|_*Vag*5fU`|YfmF2X!O^fMo7@;uRV>BpwVA@ z8X-xO-EB=0xw2vO*IpYTp)GLbRHAle!|1QQHbO!h{Z-NCw8>F98KPYoI}6+;Zk5%@ z#6&=J){aD^C(%_q5|N%nN9{;NdJ^5VBN0&~=~1X{u&BQSM9=Ot5$QE?PAW*cd!dQJ z(2#1~4IEJ0b{;8tF+4 zfVNH`5$Q<`fR03@Coupz5|N(70O&|W6iGHY>J)_rAO=9EiAb+02n{bzJ1iguK&OdF zuPF!(FD}%?0O&Lk=`}F`1S!6GUQ4qw>zN&>4;NL!ptF z(x|+&Xe6eIy{C>uF~b4qUvXChd529jIx+Co7E?s}W7{}RB&LY;M?oZ}i1bH6B&LY; zM?oZ}iPBfSjvQSTk^U$&64S(3BmGzr>5oDqF-?p$M!xC|z_C+m)V}H;vJQN;#U`dY z$mvC^vBeZIaB?RSQ$#wl&`3-X>BxdeOcP~yxT$g~f+%;85g;@YQySHTWGpmWqlgS0 zp^=y-#&wLs%InC`5gLgpjSL-0oT(#2M-YiAjSL-0oYg3A0bYNGT&vN3q%oMSw2+|b zm~t8+L1WZ3)pHslL1WDHG(v*Li0NsB1dVRr(+EkLa!;=tV@1&D^1U`fk``(UV!4S4vFfu2R+w{k~h zq6<*q$2HQE=&EgNfJCGx(NQ}Rk)A|1?MOrvNwzx73+4;fM)d4X6OmpMM?XQzHuNM0 zLq{T_NKu`lAVHlN2%RP(y(Wf%Acb{e5OgFWy(Wf$AkAo!v4Psk&`7`cJVrpJY6{f` zW{mFK(+CL~9lECx5;VGWPa`B~^v|9~NYLnPJ&lm0^^TZZOL}6)=y1I@LPDEzMwTdi zBx7{CUK=5yO*te>oYU63Bxz#ik$z)5@JWA?XfE>!}99i!~Nn6<_x!++vR3=bMNW@wY}e+{jbZ_)$QtT`)IgdUEf};uU5l$ zcX6@)_QSJ-V^rbA508&=`5c$a%f-#j>T0-NZ2uU}*7xB2dv&+*{71v)W|gn*zm~lF z%ez&{z1ZyTvcSdqOUd1?zvayB>dWdTU$54mFYoj9_2Tx?uw7r@!m^9a-SxusUN8Q+ zxf_#TzOHW|w7TEj4p-~#{i6X2Qt}wToOQptTW#9BCuq)EW_N>jfr|4g`!Uwerc~r9 z(IX*>JSBRFpJSPpiaaTb8&M~EC`Iwr{Hf%L6#Tsx{9Oww$wqXzxZ0o>&NiDr&?V@T z+q>1)-RNp@zZ$BRSD5vH%C8!tgR8bv*c^3ippMxzRIb$F(aE=CRxMTZ=*iPA&*Yv7 zxoMus9Ue{uJ##AQTCO%!;QAv+DY!x_-{<+b4&$8I~LkvD9darAA{cHJW3o(I88WCRu7U z%2K0QmKqJS)M(nSHf&d!wX2NURVM8!gLaiUyULhdWy-EHWLKH7qY;Nsx72Ibr7`Tf zG{xc5(KfptWk%ah#$s?;Bu+*mE-m*G1HHQ$22G6K$>*0>i|y7rMWP4W-PtS{mTOF_ zL|CkK?*vQ{7g?0hz@iZp7LA~=Xat2tDc&QCDpY7qsM$LU3X?`=Xwu^t(T=-m53%EgCsPzd9JCS4RcMMP*JkE{ISg==0ey7f(By&GjUA5=&gn?3_Q#;nlSEaT$JDN z_myw6g~`pO@Pq0XIC7Y5T@;)dHm6YTR>8{OG90-@1+PJaJK~LtAgO04wwq!h`E%D1n+hKdT zxw~)1s{&mU!y}qKcQ?;@fT z-L*#IW&xrNF^6ajX+6Z+#7dQhc%c%p<5Z=8s?z=OtgWR<$|4>IMfBcalClW7o{Ac%&9&_gZ>30#<100vpGHq!wiNT6#8O zT4?EF9~(MS3*uSOyST@ukEA1(1-*-T9GFpb|F~LTKwd>`BGyG^890Bdis+)zHYQ~O z*wa!4bb+>mpez92>rn-CF@&>Ux&VC2MHSG6#}0zh0(|8|70`M94uY}(d|N>k&^h%E zg0cX-?5+yv{MEkHAPc~I#HxVKk#`W31)S&tI#8)=* zU)6V@vL0P|bAC5yTHUf*-AhVsY8F)%x!WT2ED8(X7CODXX^Fcj!d$;Mce(&Rphy`b z$QLnUEANvSNrHWK(-Ei6*1SevnVQZ!DZxoN`)Pz;uB*FmH!C?SuRLtzqYF%?qX$f; zLj_Ex;{r@R@!36-X^X!~Hj2_-KGC#G&t%$vuaXV-#9KR~*X6v$m~N~F-k6PaV>i-` z;Yc@@d%9AObYr`xTfDIzcsepL+DH2>&c-J96m9nuE%y}d_7tu56m8C_Y>}sEZ%)-1 zZFP*6=9GCg>_!UJNV{`P)|LXTO+~V{70KFIBx`FuIhurIZLcRAw6+*%ZL%k`&GtAq zn(QfB>?s=TDcb8Pn(HZAn^V~wPtn$#sxeyX7!A#-(N37nwgre}Z7GtqsYuqgB3T=Y zWNob{N0X4O?e%1X))oV;P4;BA*~a0~WKYpzPtjmc(Oyr{Tu;$jPtm%Z%Eoz$w&hff zrNe-5O~=x~nK6~E#>Bs}+EcXJQ?%MswAxd&+EcXJQ?xp#vSps4)j3sTwAwLRom1Ir zduAWo+EcXJQ?%MswAxd&+EcXJQ?xp#vSps4)j3sTwAwLRom1IrTP7H-_7tu56s`6Y zt@aeH_7tu56s^vwY?-HMbxze7t#*u7=Tx@ZRwhQPJw>ZMMXNnUt35@lb1G~16zh;v zHO3k_#v7rhSfiY(d90CRtWi$o8ree0SR+rdMxJ7gJjEJ$iZ#lqtld+rQBKtuYvdSf z>AvSR+rdMxJ7gaw=>06l;`IHO3k_#u|BwHOi@) z#~L}t8s${3ku4*QHS!c|>AvSfiZE+C9Y@&WVasYV1flK%6=0XQNXh|F#el zV*&YBf`H(s*2_KFu2})U&IDZ3e7_#^X*}|2JFaQEUyt%M9Qm}{uXB@Pp)UO_ncJ3s z=qO#&&brlcO`H8X>%ui{_Ukd9HY1-lv&Lvo3x;%Cj!WXI=a{*Tt`MU9f~nU-D~~ zGu8z^V99>LHS2*Cj=JnMpd*2S-LUHm%N1&hA) zF~4RxV_op8RICfGSr=ThE`FW4xMp4addz2Ckk7i{nsxE(QJ!@{KI`Jwxh{U4>w>SJ z(N0{`PF&MYzs}|3ns)m2m`^*APdjlDOaE?LrtL|BA<5pb+*&5lbz|8NQ$K?RcuYEVr@zl8&j%SmQux@ zl1dh(RI#a~S}fV+FZs|E`vL|nu>=jV1nsZ{&9DTmNQtb-60{*D8YEkQg+_LptvZet zSb`Q+uK zBwJvgfTsnPpaqto1(u)%mY@Zepam(B^;m)yq(p;c3+(gaw7?Ryz!J2;612b)w7?Ry zASJRMOVEOpXpn4yeHEG(Sb`QK zank!k$H&zts&j&d+J}N^s3mBqC1|K6Xs9JFs z&gyVYbNzbEr{%~m1GIgZm3I5}C{L@APow=h+l&F7HshK$g(iayrJv9x?$FxJR1)+nb^jjHJYcJS<; zUFzeBQXNl}+IXT=#uLT*oJhudqS&4j4U#Re+jMEtYB~UO450;uZ*SUFK~(&*~@o1>k0Qf5QpnpWbPM&g<_`gJZ8*EH9!$9!6j{L<0( z-5J{L*P}eGMt^FGLlSV z!aBbByhTnF+dSrqZJsE$d7{|niDFw$Bnv!IY|DuXDYiLMY|9C^&Al}@n_s8CPVd2I zD?L9O>DSptzs@G+Ygg^p+1h+v=O?}9qeZV>7rk~}^xAdNYu81uT^GG}U38`Eq|2^z zyHp`iznERFM|tz5^FOc7?RC}V<#4%LoUiU44IgjL?RDvwcXu0mefn&1KCJHUZg$r{ z9G^S~`|J5|v$$UU@Z`xeoCMk4F@=LAMl2u>s(jhpovpXS_3D0c|L5%rrF~uC?d0>- zc8P18LAKoSb?5w!Dqgs~#SsXsRl%LoE2<^y&G*^#?7-Vc0p`r)rHKUjfo)0n)tzOTTG#j;MGFYXr=y0}_=MRk^&bDS^n#0oE5 zd*beH@#haupFhK)r$xR#fiHYnT+1+CK$Lc=y#qo1{3HfS!!6b~>)uwu)nEEfg zL_a(`vUWWG*VRpWrT*(W{lCcnLnO2D1J>3z`^Ao|SNDtAJNmbqud6#$4i&lDd_Kcl zo#vlNZU5ZDCDD=FyJfE9(`Qh>y}$e6$+Hu5@%d(l7JGU;EEl)iAD$dNK{0sc?>@D^ zIX*^V_Bntbj*p(>QQx}5E>XzOuTNhLr|(}4AAfuQ{@sU9 zABT6p{NlM88(yT(37l@X>(4jWtDF0e_jhpT0>6Cw>BGDC{}^7p`{~u&Uxqg?KmGdd zr{VqShfl9Qy?Xcd34KF{wIDP-pfK$l4{P4Ye5{K6>-+mwYf2ezS_u;3P zAN~Wi{}Yoxoc?{k#!vr1i`LC?bAPwF{qx1<93Av#b$_`z|AY~#?XaJ%1BRd9y+bDq zFFw4e3rN_nFHfz)KfZ!DyvN1I(>L#5H;P)h*Y95Z)%yP9rw^x}UjFirxI~j2KEC?z zxUd($p1yti^7U}~@#Cvs-oAl%g{95e{^8}vmmmHH=c`($F*?`D431^~@%BaWw3ZAY zWc~Nc5AWdSt?E16Vczbp&sKMRhrIde$?0;ryT%}Pk3rERazN(K>zl<@m40=z#+aI6 z+=6WE7Nupx;&y%W5##M{+d2Ro!@0vp|60c@e2`*szqwPQHWs`&egEEi_vcq1K7Jaq zZ@fQ!@z)WD+D)vdHTjis?(oNKb>Oqd;j{?i&Gn|hF49uO(kFa_VVMeFH!GTZ-09E`+&;) z*bWSP2=9LW`6JksPwpWoH;ySEhZhes|1|;}b$E~=Z(jcN>U2Q!oW6ed%lA~-x*7w* zi@!EK9a{fgRrPX*S0CHaD=a&Se@AzbU_Fi7*TbriSl`jfiSYiz%i-ml_rIQgeDytg z{(}aa-Y=#NX8KPNTH5r1ty09xs5$L|Qug0p{WM?6k1t>T_5Hh7 zxId;_Q@Wwew)aSRk6GW#U*EmPZ9Xz&6wbHG{ozwl(h$2p6jJqHz5V&!+;n5wNEIv3 z7v}5j*0_>4r@s$B%2~*a4kP78o=jclNIyOKh!Joml&V_1!C?ITW`XqGW(D(}nTmXR zhoL{u0cV?epKJf^-G?7B!n}C*#;0}m;NVlmJ&`k^*=;2kp{)5>&DnCLEKBr*XF~*Y z8^*wIKc)tK{r<)9U$5Uo(aWEI9xy<^c;yq0x;Lk?AAf!Ib31Gl32&Ge@7{j=bc%5O z@gJCSp1#KH7Sq!=ryu{?X?OXbU;PgJfx^nJ)E%hE1IxgC=|@b0-aJ75@3={rarS_K z`RFfA>y}!pc`zoTtHt$CzQAzjD>7=<*+|)}cdyXv)y?Po%e`VBuq3os=;Lbj$9^Hq zt0&J@jn$u4S66!r`TO143h8I)si>E}^l~@f09k0>=pqyuo$-02v(O%+`Ec=my}aMu zt%m*y<>T(`!k&kEUkGAdZ>C*R?Har6;L^Y^8k4of6>0SX%UND-Ktyi+fx08_xd3$MhCgd6A?lK1(mJ zR*Snn`+Rk^8Xx;$O%^}jUElW77x++PpZggrW$T;U-F-62zOQ$)-Cf&P5?RSytclv? zu)JH^3fB~0R}Yz^F$wS-rfBLzIHfQIZEi-;iHVqUUzS<~;Plit1J7;(9 zUGiJ^&bbr!&bj8ZWwn%TT4DQKzY_J!&i9o77Tu@1Cb5xOh>bDy8&AptZAj$IJB0mW zi^k2Xz*Aj!=9>sW>?=$mFCpoi`eZIVNvHto1Ue@RBtqYo@{Lor5;Eo@kuK;O!7!9s zDH%&zB(~eWplcgG)6VcO>)v8Kz2D?6!FPMl5#mL3dAq|fc7gBOCTcV8dcr>PYr7%D z>3V=qdUV*`;;z>aa#q`1_&6}e*yZLLHwO693cCgP^6NS7%NyQ@=46_?UMq;NK&;Pq zG2mgjTWv2_cB9(jp82`Mv9Vxl*RaZ^>-dW7ypJu4JQa zPIS1q+gzuPO}l9SDH9QVjgcDDCK$E2LE9E*kT%`s`CHIk+l7DW87s#t>rw1|;+8XM z#EA^H3fG*GR@ zJjV^%WaHKClEJsw-EWqgI}G~1Z(G`_7V-FOoTElp-)>h+>pZ(94EPYZeSXG6a7eAJ zirh;=gkz$Ntw&5>x68#i2-T{uZczwnB>Mjo@pKbekA%g_=% z^cb~8x{~ol@^gHA(Hv%~I2@_^cdej8_j3%acjpWuGn2 z1hFOj0Kq)loQmdsAbc=>ZJ%^sE&mwS7vl%!Z&s`GaYBO;Ic*yy@pfW20k2ngpH~>X z&uuIp>(CTXO^YUMn^^}WpOtSuM`ac`IW|1{>I~-y=(9r4!z69&*;AdZKgS1V`)p$l zdzcws%tX|O^75MioeI0Nlsm5k^Dr;5t*_S9lNUCim3zPV+_$Vf3)pTVPLb5lwIojP zcE-|6nVx2nJ0mjOW3Rib2o=`1=)RQo4US-BUBlu6wU{fZl094DRyLznxjAjRS$*S8 zv$qL1=r6Gq_K2sOW^?vW+$;thJGxpg{f1*dvM?Frax7-qB|eDKSE7Jr>V|+?`Y!db zJU>4h#=ALfpE8mc4EJ`Nr>n|Tn0>Ig`Q!U24=jH&^9-%F`x$OFUTW{+Q?spYA7+3{ zVdnafwobA^6irR2h3EUZbY;W9J#h7HZ}%ih(@FmU@p~vLc68NqkD+ipUxr;a-@`qrM4qF$`Uuh*Ec%E2->?l|er zZF0N8R3j>Sl+M2KQ0YD4IF_4x*UJq%cNDj#d!P+=T+|1XS4?> z>evr!CQ17b)NOBJENnKd|5G{^FY=Sb_mosWlT97Ded5aPo1fJpS86%g`M!%|O8|eS zXJ&uAOV4b#i*m=RZ<-fiWvTy4usz!&)W>+IO|g9Ug0N zSlKGL#xKoy71iuqHcLhR^Sh}YRQ4=vkLeGqV2=3Ad0ti*>}pPuxi7ETZ5?DTd}nt-h< zOu^a>CYV2Zm(|90kx@z77JR)xEo888D|Y=Aw()px}lxYb4xZykSmCv&WNRaRz_EZd}j|HbOkW^IWW~#v+oc^`}lL z3T!29U3*UbRC-)QdI$?GaJ#wT>g}94S@fayQ2ap#nODlOc50EGgGio(hX!oqOe$GM zdpX1sTyJeUfw|`mLKizx*bVc-ri0g%khV=9D*a`3cZStG{EWt);^mNEbnhS58_8f; zuVwPE9#z&9o^J*$Q7rIsWZK>hTDgdRyIkP?LHqUDYrK4jp$;dfmYmMyF04&J`G}kO zQm@w-rg88KqjdV6*|bfkOXD7v?UF9{8-QO}#bJ(ztFS#-+ns7Q{DdjKfn0X_f=y&a z!+s6|CT$QtoYvNQy{*=hgc2y&d-JP1$@lMJ45G{q45dyT&i!|Q!@h{`n03+Wj@jav zv0i(Swma3LTFu=RZi|SkPFn~9;&Oe#^B$o9r)zn?6*GppkV&PIG*`puUSC=uy4N>& zaIf!V#J#?gNo^2>qgyj8(ckNfhI|_jN-j5fEQhV`a6AMPvp~}Bpo?3aH2HV4A3y0k zlj456oBnADxybM>Ae^{rw}amAr4hQulh>h;yT~mHgeKu95bS zx-RAW!}~{7ll`ty)d-VOHBWi`oK2Z$u^Vd8=Ts8G{Z{6ec~t?uRxi_P!iV6EfqZP_ z49C;3&COM(N%mk5yrtNJVTa+5>+yK-BpZ~wJFHP1V+gw*o*!YG)g~=hn=?*LGXt$~ zGcHl*%nNL0+;4brJm-GKbc*+yoOijnhOhD<1#>%t|5&UsleY7N+i@_;;y1f{Jc@FN z%DI>^VH#XLjOBbh9n0+9A1mHIv*_2=l}-45!6*0eHoGnK*kyikBqi(}om0Fa{pWU# zx*7Z$zt=TP3$dTTrhZZvGfPLS?}s7VL9#<%=u`) zOOzBALvpc6ZG}(u;+qlvGl2LIh^?9)rV~!stUy%~vb!mVo{-}oc6f~M<@h!_le?QS z18dmtA!%YalsfBr zaff~UCaX-&+sw=Lg>%=#=i9Aq$k=-e!*xHIS9Tz9u#dHD7U#?KH4-dA+qt=E zrgu#%he7_4*EMNA$5BKKGs!@H?&NF*kG0cabxuA_#jFVj{XF3yr*Q7@wvL?%`?@d( zI=5u*Grz`Jo(jnY;|oFA#;;%OofK%=Z~vAhU)xM0W#V#+Tbzm6CGJJ(5+Ce9%cg5Q zRi?`~rNlS(0Sp7*exR2BDtfUFm_RC_3MyElj3vGZKHtr@k4~-tgCL5;iKDycje!Q~V zGUl*Zk72h99Ed&JfW(v^xW#LFcnpFcjoEm^VSTf+XIJK}8sg`>#m(+&g?*1oB&lq3 zKCf=@-U&-d3!+UH=Dul_$At3ZuiKSqB_~Y|Dj9t8EIDD7Mkz5teK|k5nV`;zbpEpas zzU6Gos2k7IRnu9zZ8*!R8pV?4D5Iq%$9500jh0ngXz8za8yhNMg|*&~a8nEmbqXIt zV=}!}HYROXtb%P3w!D=_p)?U{l68^keoNSrQ<&9E7LGMY>3nx&5uWz9X)Dt_b8O*? zIYwHYiT8=7?1>p(;{6@on5AITc$OGzl3&QnM*90+W6KSq;cNjT^_!XHsj9T5)qKt} z0UKkhPWQsv7E2SHw!u@3UO5)EtXnIIwfdX3`eJQiZ~vg(cnx3n4G_;OUGfFP zWj^@>$>rT=F~Yz#sp4; zq#_FH(dDX}oJQ^*ukKUCmn}SHZ&Ol1Nswq6BznU3XcN)ruQ1WN+Xfpvb`nUBa-Oup z)2S55=AkAZa4%&}o7l}RDLWtA3m zN!Bo>QWbCUxRQG2c6s^7u|K-tTZew_?*m%mIuCPL+DtDXV%Og0v18g^q_p(<3*5k^ zQD^svTYMpLv0bj$=>wQ1;}0#CkNHB*wbsRxOq=O0n{(~(x-SsIZ_1+++S3RQ*_i}9 z1LDCkXI|Nsj(w6brStie+?+3VF{>-I6Xb zhG*H-#GdQJ5?kOR$Gbr`(%37Y<`s!&Ii?qfysC`!=4FbX!pkq-T`&G=Z-J^@dswz} zdJ`-iR|>KtPWmKjPs*Q4ooKR$_P%$lZqv^3ynNci?7UokOCLh?%Ni9#4lyCd*&hcE?VB0tQQMKasG~~msF6E@HKR&wZ?2{f0VvF}@o3yU3+L>k zY4!!)pUbuXc9gI1KL7e2p9sOLkvP%qeB<_H(jyI zXER0Q`hMSd#iMHlN>Pkd4$XYSMn>)BNG3z`#c+}IxQl&R-`)Fb2>@{t5ASojKELCn zWs))ND-2^2?l>mk3}Yhy8Z(OYu{AHj5Qn|?x!EdR7X{}|zuFFZ8tMGPoH==~C2>!q zt@%l$#(l)A)uxP5ZAurlDOIYFQlk+$?ISI8d-9?yyslIhX^J1K<=@Wqrv|@ImS??u zs1sAf^vLIZ=&dv*q{&q$ZvpS}<9CzMPIg==eO3f({)nKQ<)e7^n=x~Z2mEQKyNR8q zfLQV9^34MGb>x5fmR;=rTNx8}Q7rfums1tW=Lo*wb=l;ic?oyH)%i(AS|RYKoDRv~ z!nN_{4?9AAP6j4}Nda5;B z?YL^y0TV`kK4^4Sd1>K07gF-u{wldmqn6Bn?N;_Vj!6NYTki8MmS>c;vz>3Thmanc zvTR=KTHa%p-)1#NWHE1#FJ~B*TUm6#?$#$P8kzc2E-umP^75LH&+%E5-MUk(rIWc? zw`aGt@vO#hJDudq{ONtTOtsuRXQvj+!;SK4i)XDOhUP-na(DLy15VCNaU|@qdH#Co z`(a!j$(#yGbBaE{OfU*kcKE0l3pIJq&qLo=1++d-exxAZ zLg)&^vsUeMquqFZ(m;Bg=nBGY=N>!LLbJcaxw*L-<6(N=&4rcixGx*~od5U$_mvYS z{LDZe?(NE_8fSQ&8IM-G8%+Kz(}evdVEb$(BhPYh2OIOo4XYwmmR*ximR#3jKWH#f zvbD8?Bk$hi=}xc@Q(@n_v1#=UcVzq6K{|?_cJv^P{4_)OytC)Fuh{fV_p)#6e1Yv? ze?j5H?q>BGj|(=(AMjv`M|G^M-@^rlGS#y!*X`rj`$8fP&W6Y>? zKJR=t%Cg{1cW^Yn#Hsash2Hne`^}a8hJfYXV@K0px>%g~hfx;G%@z}We8&Qo*xHC~ z!Yx;(YI%tp|Nr&d+gHCI9UMHi^yaGx*}S#Rw)Nyx%IceK8es~JoufRxy;yBfJbtmj zCzls_an~MoY?|x)QTPW%_?uepqC6yB-~&W3CO`b9O;-H%($m}!FB+}>uwpFU?H{IT zm1TGx-_~UOpGl2R#_6fJ62+9+=3~hVkg%1C&BeLx1Ao5uWec<(Uhg#JzEysO=!HuE zhYDULgRnX54TxvEAyU(?VBH#9nB(VcmJ35nQ&}PXEtx`V4Vv_?hR|yVl6Vxd7k2 z9=Ex?sFF>CT`1MfUX#82;ql4Q(?>pRerMAqjv4(OH=pmljZN-{<1NX5g=f4y^0r=# z@r<(8WAhc<1MrSo+V{R(UHQ0~4KEKV-1C^`=LdXIR7RT7mD4-l*`cIapEgH%)RCWZx~DoUl;@KTHJNW&IFa+n zzc97^0mr%;p?rQQ_3n3Cok_{&bZ#hR*<-iqQ74SPK*T=uXa5h6@UcC+IC_GQq1wfh zLqwcI2lmrGjvX9lspEs^S?uJ{em%#~N0|72r`g6ZoAHE#(fIWOJKXp-*zkAz8W(06 z~4K-9%drd0XDy!9)a6)LasU7)}G><9P#7fxirx;-T8Q3S|Co( zu4Zw1KE!R+WK2OCFVg!t!~G>5V=nDm9FXYq%I6I2c_ctyG%cUJgQu#pB+)*6m)vHwcWr%+W~L>Mzx-tH z3t;|v_m_`9{dN17H;d)FkG~%t{P5(5?fD;n*=_Isvc6ef?ao(!S=y;n8;bLoQcS2< zimJS{1XF}9NPMl^Kj%=!*u2=6f2OX!J>`PLvI-*y-;xTSmJ?7tV;95fB^-YMIsDEZ z&Lr#OH3~(fq@1$LfDxVU3lc5qpHBFutmJ%i=@wg&e9 zb4FPr%gM6Hk&}LQPy2o0*V`YSckrJy&Vdh3i9c->J73pWoi~hfeen;+7QKP0<~XQZ z>i{ofSIscl%R%^mugy-e?!-mAS5)sQaUW_pION>e8Fi}Kp~|Q0>_s{ZRtJamCe&eR zg}mQYW2LfYR%(gVHe))qjHgpW_+@DoB>u;HT;;IbclJJM)|w?TR+Twb|BiWOXOB6l zZcLW?F{9b6yIXz6xw^aWy_1q=7N;=sQ|`GD{W>eeHQqyA*^1+LHVbK{B#(S~;nJWs zuf%Yc`~J1es^l+X;k_*H`vOF7Ow35j`{^0wKWK!C=xv?eIk1_@<0E`UwYJ0>rQfTt z+>K6$@7%9y<_l#{s@}v(6@p`akLf19_}?S7vOl>v=UKL)WD88W z-7=bHe2r}xQF&rVB^5Ajqo(wFFQh7b@ccZv#AZnO^cqG8+YGJJwt`#+I{Z{`o^fK0 z4*Tlsd;93s_$$7g1g1@H|7G7X51)6;KlW>LTA%1*IT-T?yqcAM1eo~;=QxP&*16ag zOS%}Y@{G7lUa|iE&tYS4N4O3Usu{n7rm7=;d}C>J#z^K^R~-P4JbXSU@X8A zd!l)1b@tfWDc5e&y{zX>Mbi_;XrTRSj1LvQ!fti296zh?b;sKKE!O)-LVm7soAPz- zCQiyvF6M2S>9Z-!7Fvh9wcj|N75KhJ}|&I@S?{rhaTc{xbS3Uh~LD zC7Qgdk0*ZYzm7chL(im_WCv_B-F2WX^1;!NiMz3w;wo5@agmY+Q#+0`E9a=v*#lU1 z37R*dg;h|DLryy!=!;&LQ&I^QPYqNC+d0{c~!3> z|i&*K4lb|b%TJ^-3EFDn_sym|S%fUF5G~35Wlkh7t zO)ns`ZRx|X9U(exMr4hxSjwL?qGeCpu!xS$WjU!8aO(q-n;5-Tf+&HZ@$Xn+(&6=5O=t zV=vRZ%XP}S#3`oy!Nn_kN5~%h2dp)JJI1anZXpLKYDVS&N39KiicBO_ zWR174Wh$Al+DT@%Wk!+E;8A3c!Lu!sN||k$Q6yAky>yt@gTiXpLSe0Hp?&IR<0Thl zHJcp+VD@YS<#LYpxfjYYnSB*AnSJ$o`~Y1hvrm`F%&*YL+5XP6q{}AMk;KkMk+MEk&0aa zJHg+M_PSgx6>2=Jr5>iy9^myoJeM`wTt(shc#=z+A5gN8xmE1ul~C9@#in`Z%O#o6 z-sYTjzoPCKCGEAzg!Za4p|JCga9m)&yEIav!ba+08bfy}WzD)v5t?}gp*kEm`BrXKVH4Csp|jLN`_#=kK`v<42P&C; zR+|SrL}p*bX76X&o>?EMWcKNb1{5s*EpHA7JK^OgF}jht2;g<(Jra1T^cB?U*glpp zBXF?C1mN=)SON3pU(ezDngIB`ek))`zw>ACqdoOEe1?v1o6Po);WKn>56sdHpP@h5 zLpOYej#KTOnwyGDlEx@o?#K}yt zPv(jR7#7RD5H+~pKAkHTU|1~TYR1}UbHyU2W~e7~RK(K^_4y2ShhUl`J0ADk?qHq` zc!s=3HQ*WY(Y$8BGvvqfWWY1z<9RaR8S;~PGT<5V(|I!B8S=AvGT<5V$vheG4Egyy z8E`~Ce7f{W5I&sXuVQs$Is|Nz5xRfIXUd)t*6Ud(u2D^GEq&Yze+MuO{T|6 zGSP?}b}|}l&Z7a-Yo%tQS~LANAje(}&GcMJCaN{lcLVYs&7o_%UD~(prWy^;EjBUP zLHccLaEmD-eO3^ODI)z<5Q!-weN_;NDI)z;5Q%A`^k8qC$bTKAe+rGnl*YhwbD`RM z9Hd_gjl`73z+-cvvl^whW@6~8@Z?}F0cH*M#sZDqwFV`XPT92(s01aIZmFmQC6$h; zs01aIuBoU518U^BsOya90;PK@tpugk*m=F&(3gPHMU_^9QfutMUhcfs$c3G%eb}B+ zA{TD4iMb924%}jjNDpmW$ce-hk^U)xUu*jsP-KP>61buF{LqZ*IekVM(M1X82TzaIT&xjtij$`ps~Bwprq0%yA}eKprq0* z6_uc*(lHg4prq0@6_sE>jT{$so$*|tbWf#~pwt>Wua_J85>UFR(n?TjjUCv_o!1(< zuv4`U+oDb6!Ywv2*TKMnTTBt@p=}E}k(eUVKLwGPBGNkrk(eUVHwBTHBGSDCk(ee* zfA_|rS1KZ1OK2pfiLpj{q#{1os}yc3F-?p$J`a{Ca;ehGTWq2c`#7PKx0oUZPVPiv zibzLpyTggZ6p@ZBh{P0;jx3186p@ZBh{P0;jx318G*LQ$H%{c_4$_f@Mq)}M9a$2y zHHt__7DQs27}qg!aXF=b*`txX#U`dYNJnlpwwNN)kp+>MBGQosk(eUV zkp+>MBGQosk(eUVkp+>MCQ1kJR*jt8K{~R~NK9!AoIDq*o!mh>vd~COX`~}d;;cqF zl4onQliOL4$jMu5Vyc6Iled^6(vjObI+2(n(vby`m?F}V1(BE{(vby`m?F}V1(BF0 zN+pz3u*!vMCwGvcBQz3I8iTOP zh0bVX=m?F(ltzY*B+h7L=m;V)rIDc{iL)AISb5__VPz*=qp)hRiKz}UbXrqeOc5D6 zf=Eme89IVUOc5D6f=EmgbCXM=?hbDNhK?W-QyPP?%7xBoWatQu#FWM$tXv~8MP%p* zjl?uDZdHbyA~JM@Mq-*6Yh=i2q6{l8}bhK|rkOlf53NaBn}hK?W-QyLjM zk~pK0p(BXIltzY*B+hD-VdX6zgq6J#5kyrBwT3#TW2%KDEmxtbUZ%;~ImTe?X@rC} z{3NwFz?VymwJ}0_ZG?oj<5(LZL1S3=+6YNnShpbFz1|GzUK=5yO$U1}F>cAHa_KhH zvcLA)t`6iziqS?$(xN5-Ej02p(7FLH3cz()+3@wYS_kWV<71O z!5d{keAGy%X$*mBokpZ5F#tLekqIfjrPN4IVgR(7Kq8_@xeEnJcP`2cLZe1{O+jcl zDb&OO=*%P1YYIXGnuzoy20*8Yh$2O;$Drv+41i7(5k-nLMWKP}G5~}o9UArhVM-c< zrZaC006~g6H@a=WhA1?S!n;O|Ow0qs0BFstk)9NIIY>klN%oVIbVC55FL&k<={3=p z1u4`-U+zdmdQJ3YK?*g|mpc-XUK4#;kU~v-;^|04dQJLC2#$g?UNf5Ht;R_@o*c5z zMNHp;Nt!a!nKy>ov`!|P!NPQ(vui!t$833Q6$+A zPSOnlh@sYLBGPLLg3yZ#H8IpWO+ogHjq^R{6o;``7)@dT5NRg%} z2vJ>p!b`{P7{${6GKgqLQM>{jzpx_#84BYP!mI~ zBN6E}G1LTUMw1LeG&#dlX_7(cBprnKK1C3OHPUH{g3w7(oyJg`HpGZbG(8D}uts`P z5QHER=}8Q=);y4iC{nJjAnArcc?`9VM5Nag1fdrfYGSB$nuzq8f*^z@B0Y(r)@dT5 zNKxxCJbMyDtN3{hUghpaYBi%_7WuO*~%GoB^L?gbf897b^2^w9awbN*X z1dWc-(+CL~-J+)v5;QtRPa`B~bcvouNYbRUSd&D)Vi?__*G5Qa3mhetsQn~i(oGs@ zq75IIjJ%|Q1dXoH*3D>y1dXoH(+CL~U7@ED5;VF(Pa`B~bcLQqNYbR2Sd&CvVi;Ya z*G5Qa3%n$isJ$d%(n}g>q75G!jl86R1dXoH*3D>y1dXoH(+CL~U7@ED5;VF(Pa`B~ zbcLQqNYbR2Sd&CvVi;Ya*G5Qa3%n$isJ$d%(n}g>q79!#j=ZFS1dXoH*3D>y1dXoH z(+CL~U7@ED5;VF(Pa`B~bcLQqNYbR2Sd&CvVi;Ya*G5Qa3%n$isJ$d%(n}g>q7C1_ zj=ZFS1dXoH*3D>y1dXoH(+CL~U7@ED5;VF(Pa`B~bcLQqNYbR2Sd&CvVi;Ya*G5Qa z3%n$isJ$d%(n}g>q75H9kG!OT1dXoH*3D>y1dXoH(+CL~U7@ED5;VF(Pa`B~bcLQq zNYL1)J&lm0N$0Ybq$da(-?Ztq5t6h}8(+^6G`?liYa=9Sp*FsnBWco=tx1BHZ+7_X ze&osxG|^@l{k5%I0|^@awWkphH2P~#BP3|_*Pcd5(CDu{jgX+xUwaxMNt4}eEg8A8 zVf5Et8zG^M{;Fu%5J98A_B2A07S=6tWvd(gRcXs!KGB9BfrwnWfdnmZWup-iH2Q06 zq|pco8vV7W5fU`|YfmF2X!O^fMo7@;uRV>Bq{;5KCW&0xF#2n+jgZh5xN<5{yRu>Q z*IpYTp^g5kXmi@+sGJPZu8f@py??x`k%@_b=&Y@UHPVylsvU_)PokrCBqBYDZrYKE zD3bIj)G1ihw>F|@cbbUwnm8vFB;CEx#9-)1M0!mO1wjfmF%UWukzP{}AuyasPht>s znusV;)K82XMUt@r^LPW8kgy#Qghq|@q#!gvBGQu>0Bu8nM5HG%06G$pp2Ps?NJJD# zHaX0TLIV&3pwmR8*A#??7pEN-5CfpoM5NaggoYOvYGMF%nuzq87yyD4YGMF%BqF^g z27n;VXp*6UhLE9=e{D(zM~BrW7LXoY8QEcqNUs(|Vv0!57DQr-NJkY!Vv0z=6GUQ~ znEOc*MIV-yqyGsaF{M#?=UC{BM*5-9NK9!|URpE~)5P9WN1~YF0Q9f8tAV`3CK{a> z_-czOBK@δ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]GiY&{MbfBG!goRyUjmm9?aQNe1V>Kj9H_ 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%0AV-o7IABf7#X!?B$^9fz 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 z

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

Sub App_KeyPressed(ByVal sender As Object, ByVal e As KeyEventArgs) Handles window.KeyPressed Dim window = CType(sender, RenderWindow) - If e.Code = KeyCode.Escape Then + If e.Code = Keyboard.Key.Escape Then window.Close() End If End Sub From 98f893fd4fd4f496a2a7c15d18f6ccd687a988ce Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Wed, 6 Jul 2011 22:34:01 +0200 Subject: [PATCH 11/23] Removed the .Net binding (moved to its own repository) --- bindings/dotnet/build/build-all-windows.bat | 10 - bindings/dotnet/build/vc2008/SFML.net.sln | 96 --- .../dotnet/build/vc2008/batch-build/build.bat | 8 - bindings/dotnet/doc/build/MainPage.html | 71 -- bindings/dotnet/doc/build/SFML.ndoc | 38 - bindings/dotnet/examples/opengl/OpenGL.cs | 174 ----- bindings/dotnet/examples/opengl/opengl.csproj | 80 -- .../examples/opengl/resources/background.jpg | Bin 142959 -> 0 bytes .../examples/opengl/resources/texture.jpg | Bin 20550 -> 0 bytes bindings/dotnet/examples/shader/Shader.cs | 247 ------- .../examples/shader/resources/arial.ttf | Bin 367112 -> 0 bytes .../examples/shader/resources/background.jpg | Bin 53507 -> 0 bytes .../dotnet/examples/shader/resources/blur.sfx | 16 - .../examples/shader/resources/colorize.sfx | 11 - .../examples/shader/resources/fisheye.sfx | 13 - .../examples/shader/resources/nothing.sfx | 6 - .../examples/shader/resources/pixelate.sfx | 10 - .../examples/shader/resources/sprite.png | Bin 6241 -> 0 bytes .../dotnet/examples/shader/resources/wave.jpg | Bin 23249 -> 0 bytes .../dotnet/examples/shader/resources/wave.sfx | 12 - bindings/dotnet/examples/shader/shader.csproj | 75 -- bindings/dotnet/examples/sound/Sound.cs | 82 --- .../examples/sound/resources/canary.wav | Bin 63504 -> 0 bytes .../examples/sound/resources/orchestral.ogg | Bin 153776 -> 0 bytes bindings/dotnet/examples/sound/sound.csproj | 75 -- .../examples/sound_capture/SoundCapture.cs | 83 --- .../sound_capture/sound_capture.csproj | 75 -- .../My Project/Application.Designer.vb | 13 - .../visualbasic/My Project/Application.myapp | 10 - .../visualbasic/My Project/AssemblyInfo.vb | 35 - .../My Project/Resources.Designer.vb | 63 -- .../visualbasic/My Project/Resources.resx | 117 --- .../My Project/Settings.Designer.vb | 73 -- .../visualbasic/My Project/Settings.settings | 7 - .../dotnet/examples/visualbasic/OpenGL.vb | 161 ---- .../visualbasic/resources/background.jpg | Bin 142959 -> 0 bytes .../visualbasic/resources/texture.jpg | Bin 20550 -> 0 bytes .../examples/visualbasic/visualbasic.sln | 26 - .../examples/visualbasic/visualbasic.vbproj | 159 ---- bindings/dotnet/examples/window/Window.cs | 134 ---- bindings/dotnet/examples/window/window.csproj | 75 -- bindings/dotnet/extlibs/x64/csfml-audio-2.dll | Bin 79360 -> 0 bytes .../dotnet/extlibs/x64/csfml-graphics-2.dll | Bin 1383424 -> 0 bytes .../dotnet/extlibs/x64/csfml-window-2.dll | Bin 74752 -> 0 bytes bindings/dotnet/extlibs/x64/libsndfile-1.dll | Bin 2311680 -> 0 bytes bindings/dotnet/extlibs/x64/openal32.dll | Bin 418816 -> 0 bytes bindings/dotnet/extlibs/x86/csfml-audio-2.dll | Bin 60928 -> 0 bytes .../dotnet/extlibs/x86/csfml-graphics-2.dll | Bin 1163264 -> 0 bytes .../dotnet/extlibs/x86/csfml-window-2.dll | Bin 59392 -> 0 bytes bindings/dotnet/extlibs/x86/libsndfile-1.dll | Bin 2275328 -> 0 bytes bindings/dotnet/extlibs/x86/openal32.dll | Bin 456704 -> 0 bytes bindings/dotnet/src/Audio/Listener.cs | 72 -- bindings/dotnet/src/Audio/Music.cs | 333 --------- bindings/dotnet/src/Audio/Sound.cs | 325 --------- bindings/dotnet/src/Audio/SoundBuffer.cs | 209 ------ .../dotnet/src/Audio/SoundBufferRecorder.cs | 83 --- bindings/dotnet/src/Audio/SoundRecorder.cs | 192 ----- bindings/dotnet/src/Audio/SoundStream.cs | 386 ---------- bindings/dotnet/src/Audio/Vector3.cs | 133 ---- bindings/dotnet/src/Audio/sfml-audio.csproj | 88 --- bindings/dotnet/src/Graphics/Color.cs | 110 --- bindings/dotnet/src/Graphics/Context.cs | 91 --- bindings/dotnet/src/Graphics/Drawable.cs | 130 ---- bindings/dotnet/src/Graphics/Font.cs | 238 ------ bindings/dotnet/src/Graphics/Image.cs | 462 ------------ bindings/dotnet/src/Graphics/Rect.cs | 247 ------- bindings/dotnet/src/Graphics/RenderImage.cs | 336 --------- bindings/dotnet/src/Graphics/RenderTarget.cs | 133 ---- bindings/dotnet/src/Graphics/RenderWindow.cs | 630 ---------------- bindings/dotnet/src/Graphics/Shader.cs | 267 ------- bindings/dotnet/src/Graphics/Shape.cs | 565 -------------- bindings/dotnet/src/Graphics/Sprite.cs | 397 ---------- bindings/dotnet/src/Graphics/Text.cs | 465 ------------ bindings/dotnet/src/Graphics/View.cs | 251 ------- .../dotnet/src/Graphics/sfml-graphics.csproj | 97 --- bindings/dotnet/src/Window/ContextSettings.cs | 92 --- bindings/dotnet/src/Window/Event.cs | 266 ------- bindings/dotnet/src/Window/EventArgs.cs | 378 ---------- bindings/dotnet/src/Window/Joystick.cs | 159 ---- bindings/dotnet/src/Window/Keyboard.cs | 146 ---- .../src/Window/LoadingFailedException.cs | 84 --- bindings/dotnet/src/Window/Mouse.cs | 81 -- bindings/dotnet/src/Window/ObjectBase.cs | 93 --- bindings/dotnet/src/Window/Vector2.cs | 246 ------- bindings/dotnet/src/Window/VideoMode.cs | 124 ---- bindings/dotnet/src/Window/Window.cs | 690 ------------------ bindings/dotnet/src/Window/sfml-window.csproj | 85 --- 87 files changed, 10739 deletions(-) delete mode 100644 bindings/dotnet/build/build-all-windows.bat delete mode 100644 bindings/dotnet/build/vc2008/SFML.net.sln delete mode 100644 bindings/dotnet/build/vc2008/batch-build/build.bat delete mode 100644 bindings/dotnet/doc/build/MainPage.html delete mode 100644 bindings/dotnet/doc/build/SFML.ndoc delete mode 100644 bindings/dotnet/examples/opengl/OpenGL.cs delete mode 100644 bindings/dotnet/examples/opengl/opengl.csproj delete mode 100644 bindings/dotnet/examples/opengl/resources/background.jpg delete mode 100644 bindings/dotnet/examples/opengl/resources/texture.jpg delete mode 100644 bindings/dotnet/examples/shader/Shader.cs delete mode 100644 bindings/dotnet/examples/shader/resources/arial.ttf delete mode 100644 bindings/dotnet/examples/shader/resources/background.jpg delete mode 100644 bindings/dotnet/examples/shader/resources/blur.sfx delete mode 100644 bindings/dotnet/examples/shader/resources/colorize.sfx delete mode 100644 bindings/dotnet/examples/shader/resources/fisheye.sfx delete mode 100644 bindings/dotnet/examples/shader/resources/nothing.sfx delete mode 100644 bindings/dotnet/examples/shader/resources/pixelate.sfx delete mode 100644 bindings/dotnet/examples/shader/resources/sprite.png delete mode 100644 bindings/dotnet/examples/shader/resources/wave.jpg delete mode 100644 bindings/dotnet/examples/shader/resources/wave.sfx delete mode 100644 bindings/dotnet/examples/shader/shader.csproj delete mode 100644 bindings/dotnet/examples/sound/Sound.cs delete mode 100644 bindings/dotnet/examples/sound/resources/canary.wav delete mode 100644 bindings/dotnet/examples/sound/resources/orchestral.ogg delete mode 100644 bindings/dotnet/examples/sound/sound.csproj delete mode 100644 bindings/dotnet/examples/sound_capture/SoundCapture.cs delete mode 100644 bindings/dotnet/examples/sound_capture/sound_capture.csproj delete mode 100644 bindings/dotnet/examples/visualbasic/My Project/Application.Designer.vb delete mode 100644 bindings/dotnet/examples/visualbasic/My Project/Application.myapp delete mode 100644 bindings/dotnet/examples/visualbasic/My Project/AssemblyInfo.vb delete mode 100644 bindings/dotnet/examples/visualbasic/My Project/Resources.Designer.vb delete mode 100644 bindings/dotnet/examples/visualbasic/My Project/Resources.resx delete mode 100644 bindings/dotnet/examples/visualbasic/My Project/Settings.Designer.vb delete mode 100644 bindings/dotnet/examples/visualbasic/My Project/Settings.settings delete mode 100644 bindings/dotnet/examples/visualbasic/OpenGL.vb delete mode 100644 bindings/dotnet/examples/visualbasic/resources/background.jpg delete mode 100644 bindings/dotnet/examples/visualbasic/resources/texture.jpg delete mode 100644 bindings/dotnet/examples/visualbasic/visualbasic.sln delete mode 100644 bindings/dotnet/examples/visualbasic/visualbasic.vbproj delete mode 100644 bindings/dotnet/examples/window/Window.cs delete mode 100644 bindings/dotnet/examples/window/window.csproj delete mode 100644 bindings/dotnet/extlibs/x64/csfml-audio-2.dll delete mode 100644 bindings/dotnet/extlibs/x64/csfml-graphics-2.dll delete mode 100644 bindings/dotnet/extlibs/x64/csfml-window-2.dll delete mode 100644 bindings/dotnet/extlibs/x64/libsndfile-1.dll delete mode 100644 bindings/dotnet/extlibs/x64/openal32.dll delete mode 100644 bindings/dotnet/extlibs/x86/csfml-audio-2.dll delete mode 100644 bindings/dotnet/extlibs/x86/csfml-graphics-2.dll delete mode 100644 bindings/dotnet/extlibs/x86/csfml-window-2.dll delete mode 100644 bindings/dotnet/extlibs/x86/libsndfile-1.dll delete mode 100644 bindings/dotnet/extlibs/x86/openal32.dll delete mode 100644 bindings/dotnet/src/Audio/Listener.cs delete mode 100644 bindings/dotnet/src/Audio/Music.cs delete mode 100644 bindings/dotnet/src/Audio/Sound.cs delete mode 100644 bindings/dotnet/src/Audio/SoundBuffer.cs delete mode 100644 bindings/dotnet/src/Audio/SoundBufferRecorder.cs delete mode 100644 bindings/dotnet/src/Audio/SoundRecorder.cs delete mode 100644 bindings/dotnet/src/Audio/SoundStream.cs delete mode 100644 bindings/dotnet/src/Audio/Vector3.cs delete mode 100644 bindings/dotnet/src/Audio/sfml-audio.csproj delete mode 100644 bindings/dotnet/src/Graphics/Color.cs delete mode 100644 bindings/dotnet/src/Graphics/Context.cs delete mode 100644 bindings/dotnet/src/Graphics/Drawable.cs delete mode 100644 bindings/dotnet/src/Graphics/Font.cs delete mode 100644 bindings/dotnet/src/Graphics/Image.cs delete mode 100644 bindings/dotnet/src/Graphics/Rect.cs delete mode 100644 bindings/dotnet/src/Graphics/RenderImage.cs delete mode 100644 bindings/dotnet/src/Graphics/RenderTarget.cs delete mode 100644 bindings/dotnet/src/Graphics/RenderWindow.cs delete mode 100644 bindings/dotnet/src/Graphics/Shader.cs delete mode 100644 bindings/dotnet/src/Graphics/Shape.cs delete mode 100644 bindings/dotnet/src/Graphics/Sprite.cs delete mode 100644 bindings/dotnet/src/Graphics/Text.cs delete mode 100644 bindings/dotnet/src/Graphics/View.cs delete mode 100644 bindings/dotnet/src/Graphics/sfml-graphics.csproj delete mode 100644 bindings/dotnet/src/Window/ContextSettings.cs delete mode 100644 bindings/dotnet/src/Window/Event.cs delete mode 100644 bindings/dotnet/src/Window/EventArgs.cs delete mode 100644 bindings/dotnet/src/Window/Joystick.cs delete mode 100644 bindings/dotnet/src/Window/Keyboard.cs delete mode 100644 bindings/dotnet/src/Window/LoadingFailedException.cs delete mode 100644 bindings/dotnet/src/Window/Mouse.cs delete mode 100644 bindings/dotnet/src/Window/ObjectBase.cs delete mode 100644 bindings/dotnet/src/Window/Vector2.cs delete mode 100644 bindings/dotnet/src/Window/VideoMode.cs delete mode 100644 bindings/dotnet/src/Window/Window.cs delete mode 100644 bindings/dotnet/src/Window/sfml-window.csproj diff --git a/bindings/dotnet/build/build-all-windows.bat b/bindings/dotnet/build/build-all-windows.bat deleted file mode 100644 index c70c7765..00000000 --- a/bindings/dotnet/build/build-all-windows.bat +++ /dev/null @@ -1,10 +0,0 @@ -@echo off - -echo Compiling Visual C++ 2008 libraries... -cd vc2008\batch-build -call build.bat - -cd ..\.. - -echo Done -pause diff --git a/bindings/dotnet/build/vc2008/SFML.net.sln b/bindings/dotnet/build/vc2008/SFML.net.sln deleted file mode 100644 index f429856a..00000000 --- a/bindings/dotnet/build/vc2008/SFML.net.sln +++ /dev/null @@ -1,96 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sfml-window", "..\..\src\Window\sfml-window.csproj", "{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sfml-graphics", "..\..\src\Graphics\sfml-graphics.csproj", "{46786269-57B9-48E7-AA4F-8F4D84609FE6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sfml-audio", "..\..\src\Audio\sfml-audio.csproj", "{0B202C4D-A457-47FE-84A3-031DD878C6BE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "opengl", "..\..\examples\opengl\opengl.csproj", "{160AE11E-138A-4B77-9642-EA74F9A79B4D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "window", "..\..\examples\window\window.csproj", "{C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sound", "..\..\examples\sound\sound.csproj", "{16E177F3-A0FF-4091-8521-562E0EBAA3AB}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sound_capture", "..\..\examples\sound_capture\sound_capture.csproj", "{F2F48990-F81E-41BA-AD01-168F6178C807}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "shader", "..\..\examples\shader\shader.csproj", "{9D4738F7-34EA-433A-A765-AF85A52A174D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Debug|x64.ActiveCfg = Debug|x64 - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Debug|x64.Build.0 = Debug|x64 - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Debug|x86.ActiveCfg = Debug|x86 - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Debug|x86.Build.0 = Debug|x86 - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Release|x64.ActiveCfg = Release|x64 - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Release|x64.Build.0 = Release|x64 - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Release|x86.ActiveCfg = Release|x64 - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Release|x86.Build.0 = Release|x64 - {46786269-57B9-48E7-AA4F-8F4D84609FE6}.Debug|x64.ActiveCfg = Debug|x64 - {46786269-57B9-48E7-AA4F-8F4D84609FE6}.Debug|x64.Build.0 = Debug|x64 - {46786269-57B9-48E7-AA4F-8F4D84609FE6}.Debug|x86.ActiveCfg = Debug|x86 - {46786269-57B9-48E7-AA4F-8F4D84609FE6}.Debug|x86.Build.0 = Debug|x86 - {46786269-57B9-48E7-AA4F-8F4D84609FE6}.Release|x64.ActiveCfg = Release|x64 - {46786269-57B9-48E7-AA4F-8F4D84609FE6}.Release|x64.Build.0 = Release|x64 - {46786269-57B9-48E7-AA4F-8F4D84609FE6}.Release|x86.ActiveCfg = Release|x64 - {46786269-57B9-48E7-AA4F-8F4D84609FE6}.Release|x86.Build.0 = Release|x64 - {0B202C4D-A457-47FE-84A3-031DD878C6BE}.Debug|x64.ActiveCfg = Debug|x64 - {0B202C4D-A457-47FE-84A3-031DD878C6BE}.Debug|x64.Build.0 = Debug|x64 - {0B202C4D-A457-47FE-84A3-031DD878C6BE}.Debug|x86.ActiveCfg = Debug|x86 - {0B202C4D-A457-47FE-84A3-031DD878C6BE}.Debug|x86.Build.0 = Debug|x86 - {0B202C4D-A457-47FE-84A3-031DD878C6BE}.Release|x64.ActiveCfg = Release|x64 - {0B202C4D-A457-47FE-84A3-031DD878C6BE}.Release|x64.Build.0 = Release|x64 - {0B202C4D-A457-47FE-84A3-031DD878C6BE}.Release|x86.ActiveCfg = Release|x64 - {0B202C4D-A457-47FE-84A3-031DD878C6BE}.Release|x86.Build.0 = Release|x64 - {160AE11E-138A-4B77-9642-EA74F9A79B4D}.Debug|x64.ActiveCfg = Debug|x64 - {160AE11E-138A-4B77-9642-EA74F9A79B4D}.Debug|x64.Build.0 = Debug|x64 - {160AE11E-138A-4B77-9642-EA74F9A79B4D}.Debug|x86.ActiveCfg = Debug|x86 - {160AE11E-138A-4B77-9642-EA74F9A79B4D}.Debug|x86.Build.0 = Debug|x86 - {160AE11E-138A-4B77-9642-EA74F9A79B4D}.Release|x64.ActiveCfg = Release|x64 - {160AE11E-138A-4B77-9642-EA74F9A79B4D}.Release|x64.Build.0 = Release|x64 - {160AE11E-138A-4B77-9642-EA74F9A79B4D}.Release|x86.ActiveCfg = Release|x64 - {160AE11E-138A-4B77-9642-EA74F9A79B4D}.Release|x86.Build.0 = Release|x64 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}.Debug|x64.ActiveCfg = Debug|x64 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}.Debug|x64.Build.0 = Debug|x64 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}.Debug|x86.ActiveCfg = Debug|x86 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}.Debug|x86.Build.0 = Debug|x86 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}.Release|x64.ActiveCfg = Release|x64 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}.Release|x64.Build.0 = Release|x64 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}.Release|x86.ActiveCfg = Release|x64 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF}.Release|x86.Build.0 = Release|x64 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB}.Debug|x64.ActiveCfg = Debug|x64 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB}.Debug|x64.Build.0 = Debug|x64 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB}.Debug|x86.ActiveCfg = Debug|x86 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB}.Debug|x86.Build.0 = Debug|x86 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB}.Release|x64.ActiveCfg = Release|x64 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB}.Release|x64.Build.0 = Release|x64 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB}.Release|x86.ActiveCfg = Release|x64 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB}.Release|x86.Build.0 = Release|x64 - {F2F48990-F81E-41BA-AD01-168F6178C807}.Debug|x64.ActiveCfg = Debug|x64 - {F2F48990-F81E-41BA-AD01-168F6178C807}.Debug|x64.Build.0 = Debug|x64 - {F2F48990-F81E-41BA-AD01-168F6178C807}.Debug|x86.ActiveCfg = Debug|x86 - {F2F48990-F81E-41BA-AD01-168F6178C807}.Debug|x86.Build.0 = Debug|x86 - {F2F48990-F81E-41BA-AD01-168F6178C807}.Release|x64.ActiveCfg = Release|x64 - {F2F48990-F81E-41BA-AD01-168F6178C807}.Release|x64.Build.0 = Release|x64 - {F2F48990-F81E-41BA-AD01-168F6178C807}.Release|x86.ActiveCfg = Release|x64 - {F2F48990-F81E-41BA-AD01-168F6178C807}.Release|x86.Build.0 = Release|x64 - {9D4738F7-34EA-433A-A765-AF85A52A174D}.Debug|x64.ActiveCfg = Debug|x64 - {9D4738F7-34EA-433A-A765-AF85A52A174D}.Debug|x64.Build.0 = Debug|x64 - {9D4738F7-34EA-433A-A765-AF85A52A174D}.Debug|x86.ActiveCfg = Debug|x86 - {9D4738F7-34EA-433A-A765-AF85A52A174D}.Debug|x86.Build.0 = Debug|x86 - {9D4738F7-34EA-433A-A765-AF85A52A174D}.Release|x64.ActiveCfg = Release|x64 - {9D4738F7-34EA-433A-A765-AF85A52A174D}.Release|x64.Build.0 = Release|x64 - {9D4738F7-34EA-433A-A765-AF85A52A174D}.Release|x86.ActiveCfg = Release|x64 - {9D4738F7-34EA-433A-A765-AF85A52A174D}.Release|x86.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/bindings/dotnet/build/vc2008/batch-build/build.bat b/bindings/dotnet/build/vc2008/batch-build/build.bat deleted file mode 100644 index 7a18695b..00000000 --- a/bindings/dotnet/build/vc2008/batch-build/build.bat +++ /dev/null @@ -1,8 +0,0 @@ -@echo off - -set MSBUILD=%WINDIR%\Microsoft.NET\Framework\v3.5\msbuild - -echo Compiling release libraries... -%MSBUILD% ..\SFML.net.sln /verbosity:q /maxcpucount /target:sfml-window,sfml-graphics,sfml-audio /property:Configuration="Release" - -echo Done diff --git a/bindings/dotnet/doc/build/MainPage.html b/bindings/dotnet/doc/build/MainPage.html deleted file mode 100644 index 727d3789..00000000 --- a/bindings/dotnet/doc/build/MainPage.html +++ /dev/null @@ -1,71 +0,0 @@ -

Welcome

-

-Welcome to the official SFML.Net documentation. Here you will find a detailed -description of all the SFML.Net classes.
-If you are looking for tutorials, help or whatever, you can visit the official website -at
www.sfml-dev.org. -

- -

Short example

-

-Here is a short example in C#, to show you how simple it is to use SFML.Net : -

- -
-using System;
-using SFML.Audio;
-using SFML.Window;
-using SFML.Graphics;
-
-namespace Example
-{
-    class Program
-    {
-        static void OnClose(object sender, EventArgs e)
-        {
-            // Close the window when OnClose event is received
-            RenderWindow window = (RenderWindow)sender;
-            window.Close();
-        }
-
-        static void Main(string[] args)
-        {
-            // Create the main window
-            RenderWindow window = new RenderWindow(new VideoMode(800, 600), "SFML window");
-            window.Closed += new EventHandler(OnClose);
-
-            // Load a sprite to display
-            Image  image  = new Image("cute_image.jpg");
-            Sprite sprite = new Sprite(image);
-
-            // Create a graphical string to display
-            Font font = new Font("arial.ttf");
-            Text text = new Text("Hello SFML.Net", font);
-
-            // Load a music to play
-            Music music = new Music("nice_music.ogg");
-            music.Play();
-
-            // Start the game loop
-            while (window.IsOpened())
-            {
-                // Process events
-                window.DispatchEvents();
-
-                // Clear screen
-                window.Clear();
-
-                // Draw the sprite
-                window.Draw(sprite);
-
-                // Draw the string
-                window.Draw(text);
-
-                // Update the window
-                window.Display();
-            }
-        }
-    }
-}
-
- diff --git a/bindings/dotnet/doc/build/SFML.ndoc b/bindings/dotnet/doc/build/SFML.ndoc deleted file mode 100644 index 71518f8b..00000000 --- a/bindings/dotnet/doc/build/SFML.ndoc +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bindings/dotnet/examples/opengl/OpenGL.cs b/bindings/dotnet/examples/opengl/OpenGL.cs deleted file mode 100644 index 4eadc92a..00000000 --- a/bindings/dotnet/examples/opengl/OpenGL.cs +++ /dev/null @@ -1,174 +0,0 @@ -using System; -using SFML; -using SFML.Graphics; -using SFML.Window; -using Tao.OpenGl; - -namespace opengl -{ - static class Program - { - /// - /// The main entry point for the application. - /// - static void Main() - { - // Create main window - RenderWindow window = new RenderWindow(new VideoMode(800, 600), "SFML.Net OpenGL", Styles.Default, new ContextSettings(32, 0)); - - // Setup event handlers - window.Closed += new EventHandler(OnClosed); - window.KeyPressed += new EventHandler(OnKeyPressed); - window.Resized += new EventHandler(OnResized); - - // Create a sprite for the background - Image backgroundImage = new Image("resources/background.jpg"); - Sprite background = new Sprite(backgroundImage); - - // Create a text to display - Text text = new Text("SFML / OpenGL demo"); - text.Position = new Vector2f(250.0F, 450.0F); - text.Color = new Color(255, 255, 255, 170); - - // Load an OpenGL texture. - // We could directly use a sf::Image as an OpenGL texture (with its Bind() member function), - // but here we want more control on it (generate mipmaps, ...) so we create a new one - int texture = 0; - using (Image image = new Image("resources/texture.jpg")) - { - Gl.glGenTextures(1, out texture); - Gl.glBindTexture(Gl.GL_TEXTURE_2D, texture); - Glu.gluBuild2DMipmaps(Gl.GL_TEXTURE_2D, Gl.GL_RGBA, (int)image.Width, (int)image.Height, Gl.GL_RGBA, Gl.GL_UNSIGNED_BYTE, image.Pixels); - Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR); - Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR_MIPMAP_LINEAR); - } - - // Enable Z-buffer read and write - Gl.glEnable(Gl.GL_DEPTH_TEST); - Gl.glDepthMask(Gl.GL_TRUE); - Gl.glClearDepth(1.0F); - - // Setup a perspective projection - Gl.glMatrixMode(Gl.GL_PROJECTION); - Gl.glLoadIdentity(); - Glu.gluPerspective(90.0F, 1.0F, 1.0F, 500.0F); - - // Bind our texture - Gl.glEnable(Gl.GL_TEXTURE_2D); - Gl.glBindTexture(Gl.GL_TEXTURE_2D, texture); - Gl.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - - float time = 0.0F; - - // Start game loop - while (window.IsOpened()) - { - // Process events - window.DispatchEvents(); - - // Clear the window - window.Clear(); - - // Draw background - window.SaveGLStates(); - window.Draw(background); - window.RestoreGLStates(); - - // Activate the window before using OpenGL commands. - // This is useless here because we have only one window which is - // always the active one, but don't forget it if you use multiple windows - window.SetActive(); - - // Clear depth buffer - Gl.glClear(Gl.GL_DEPTH_BUFFER_BIT); - - // We get the position of the mouse cursor, so that we can move the box accordingly - float x = window.GetCursorPosition().X * 200.0F / window.Width - 100.0F; - float y = -window.GetCursorPosition().Y * 200.0F / window.Height + 100.0F; - - // Apply some transformations - time += window.GetFrameTime() / 1000.0F; - Gl.glMatrixMode(Gl.GL_MODELVIEW); - Gl.glLoadIdentity(); - Gl.glTranslatef(x, y, -100.0F); - Gl.glRotatef(time * 50, 1.0F, 0.0F, 0.0F); - Gl.glRotatef(time * 30, 0.0F, 1.0F, 0.0F); - Gl.glRotatef(time * 90, 0.0F, 0.0F, 1.0F); - - // Draw a cube - float size = 20.0F; - Gl.glBegin(Gl.GL_QUADS); - - Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-size, -size, -size); - Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-size, size, -size); - Gl.glTexCoord2f(1, 1); Gl.glVertex3f( size, size, -size); - Gl.glTexCoord2f(1, 0); Gl.glVertex3f( size, -size, -size); - - Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-size, -size, size); - Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-size, size, size); - Gl.glTexCoord2f(1, 1); Gl.glVertex3f( size, size, size); - Gl.glTexCoord2f(1, 0); Gl.glVertex3f( size, -size, size); - - Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-size, -size, -size); - Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-size, size, -size); - Gl.glTexCoord2f(1, 1); Gl.glVertex3f(-size, size, size); - Gl.glTexCoord2f(1, 0); Gl.glVertex3f(-size, -size, size); - - Gl.glTexCoord2f(0, 0); Gl.glVertex3f(size, -size, -size); - Gl.glTexCoord2f(0, 1); Gl.glVertex3f(size, size, -size); - Gl.glTexCoord2f(1, 1); Gl.glVertex3f(size, size, size); - Gl.glTexCoord2f(1, 0); Gl.glVertex3f(size, -size, size); - - Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-size, -size, size); - Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-size, -size, -size); - Gl.glTexCoord2f(1, 0); Gl.glVertex3f( size, -size, -size); - Gl.glTexCoord2f(1, 1); Gl.glVertex3f( size, -size, size); - - Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-size, size, size); - Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-size, size, -size); - Gl.glTexCoord2f(1, 0); Gl.glVertex3f( size, size, -size); - Gl.glTexCoord2f(1, 1); Gl.glVertex3f( size, size, size); - - Gl.glEnd(); - - // Draw some text on top of our OpenGL object - window.SaveGLStates(); - window.Draw(text); - window.RestoreGLStates(); - - // Finally, display the rendered frame on screen - window.Display(); - } - - // Don't forget to destroy our texture - Gl.glDeleteTextures(1, ref texture); - } - - /// - /// Function called when the window is closed - /// - static void OnClosed(object sender, EventArgs e) - { - RenderWindow window = (RenderWindow)sender; - window.Close(); - } - - /// - /// Function called when a key is pressed - /// - static void OnKeyPressed(object sender, KeyEventArgs e) - { - RenderWindow window = (RenderWindow)sender; - if (e.Code == Keyboard.Key.Escape) - window.Close(); - } - - /// - /// Function called when the window is resized - /// - static void OnResized(object sender, SizeEventArgs e) - { - Gl.glViewport(0, 0, (int)e.Width, (int)e.Height); - } - } -} diff --git a/bindings/dotnet/examples/opengl/opengl.csproj b/bindings/dotnet/examples/opengl/opengl.csproj deleted file mode 100644 index 9ec786dd..00000000 --- a/bindings/dotnet/examples/opengl/opengl.csproj +++ /dev/null @@ -1,80 +0,0 @@ - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {160AE11E-138A-4B77-9642-EA74F9A79B4D} - WinExe - Properties - opengl - opengl - opengl.Program - - - 2.0 - - - - - true - .\ - DEBUG;TRACE - full - x86 - prompt - - - .\ - TRACE - true - pdbonly - x86 - prompt - - - true - .\ - DEBUG;TRACE - full - x64 - prompt - - - .\ - TRACE - true - pdbonly - x64 - prompt - - - - {46786269-57B9-48E7-AA4F-8F4D84609FE6} - sfml-graphics - - - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F} - sfml-window - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bindings/dotnet/examples/opengl/resources/background.jpg b/bindings/dotnet/examples/opengl/resources/background.jpg deleted file mode 100644 index 20724fa92f2ce1acfb82787a0ec9debdca103f68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142959 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 NV8xiE)h|##|Jjbt96JC2 diff --git a/bindings/dotnet/examples/opengl/resources/texture.jpg b/bindings/dotnet/examples/opengl/resources/texture.jpg deleted file mode 100644 index 6cf7528eb43f27054b98fd5a4a93bb8c47829b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20550 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 diff --git a/bindings/dotnet/examples/shader/Shader.cs b/bindings/dotnet/examples/shader/Shader.cs deleted file mode 100644 index 646e1a80..00000000 --- a/bindings/dotnet/examples/shader/Shader.cs +++ /dev/null @@ -1,247 +0,0 @@ -using System; -using System.Collections.Generic; -using SFML; -using SFML.Graphics; -using SFML.Window; - -namespace shader -{ - ///

- /// A class to simplify shader selection - /// - class ShaderSelector - { - // Constructor - public ShaderSelector(Dictionary owner) - { - myOwner = owner; - myIterator = owner.GetEnumerator(); - myIterator.MoveNext(); - } - - // Select the next shader - public void GotoNext() - { - if (myIterator.MoveNext() == false) - { - myIterator = myOwner.GetEnumerator(); - myIterator.MoveNext(); - } - } - - // Update the shader parameters - public void Update(float x, float y) - { - if (myIterator.Current.Key == "blur") myIterator.Current.Value.SetParameter("offset", x * y * 0.05f); - else if (myIterator.Current.Key == "colorize") myIterator.Current.Value.SetParameter("color", 0.3f, x, y); - else if (myIterator.Current.Key == "fisheye") myIterator.Current.Value.SetParameter("mouse", x, y); - else if (myIterator.Current.Key == "wave") myIterator.Current.Value.SetParameter("offset", x, y); - else if (myIterator.Current.Key == "pixelate") myIterator.Current.Value.SetParameter("mouse", x, y); - } - - // Get the name of the current shader - public string Name - { - get {return myIterator.Current.Key;} - } - - // Get the current shader - public Shader Shader - { - get {return myIterator.Current.Value;} - } - - private Dictionary myOwner; - private Dictionary.Enumerator myIterator; - }; - - static class Program - { - private static Dictionary shaders; - private static ShaderSelector backgroundShader; - private static ShaderSelector entityShader; - private static ShaderSelector globalShader; - private static Text shaderText; - - /// - /// The main entry point for the application. - /// - static void Main() - { - // Create the main window - RenderWindow window = new RenderWindow(new VideoMode(800, 600), "SFML.Net Shader"); - - // Setup event handlers - window.Closed += new EventHandler(OnClosed); - window.KeyPressed += new EventHandler(OnKeyPressed); - - // Check that the system can use shaders - if (Shader.IsAvailable == false) - { - DisplayError(window); - return; - } - - // Create the render image - RenderImage image = new RenderImage(window.Width, window.Height); - - // Load a background image to display - Sprite background = new Sprite(new Image("resources/background.jpg")); - background.Image.Smooth = false; - - // Load a sprite which we'll move into the scene - Sprite entity = new Sprite(new Image("resources/sprite.png")); - - // Load the text font - Font font = new Font("resources/arial.ttf"); - - // Load the image needed for the wave effect - Image waveImage = new Image("resources/wave.jpg"); - - // Load all effects - shaders = new Dictionary(); - shaders["nothing"] = new Shader("resources/nothing.sfx"); - shaders["blur"] = new Shader("resources/blur.sfx"); - shaders["colorize"] = new Shader("resources/colorize.sfx"); - shaders["fisheye"] = new Shader("resources/fisheye.sfx"); - shaders["wave"] = new Shader("resources/wave.sfx"); - shaders["pixelate"] = new Shader("resources/pixelate.sfx"); - backgroundShader = new ShaderSelector(shaders); - entityShader = new ShaderSelector(shaders); - globalShader = new ShaderSelector(shaders); - - // Do specific initializations - shaders["nothing"].SetCurrentTexture("texture"); - shaders["blur"].SetCurrentTexture("texture"); - shaders["blur"].SetParameter("offset", 0.0F); - shaders["colorize"].SetCurrentTexture("texture"); - shaders["colorize"].SetParameter("color", 1.0F, 1.0F, 1.0F); - shaders["fisheye"].SetCurrentTexture("texture"); - shaders["wave"].SetCurrentTexture("texture"); - shaders["wave"].SetTexture("wave", waveImage); - shaders["pixelate"].SetCurrentTexture("texture"); - - // Define a string for displaying current effect description - shaderText = new Text(); - shaderText.Font = font; - shaderText.CharacterSize = 20; - shaderText.Position = new Vector2f(5.0F, 0.0F); - shaderText.Color = new Color(250, 100, 30); - shaderText.DisplayedString = "Background shader: \"" + backgroundShader.Name + "\"\n" + - "Flower shader: \"" + entityShader.Name + "\"\n" + - "Global shader: \"" + globalShader.Name + "\"\n"; - - // Define a string for displaying help - Text infoText = new Text(); - infoText.Font = font; - infoText.CharacterSize = 20; - infoText.Position = new Vector2f(5.0F, 500.0F); - infoText.Color = new Color(250, 100, 30); - infoText.DisplayedString = "Move your mouse to change the shaders' parameters\n" + - "Press numpad 1 to change the background shader\n" + - "Press numpad 2 to change the flower shader\n" + - "Press numpad 3 to change the global shader"; - - // Start the game loop - float time = 0.0F; - while (window.IsOpened()) - { - // Process events - window.DispatchEvents(); - - // Get the mouse position in the range [0, 1] - float x = window.GetCursorPosition().X / (float)window.Width; - float y = window.GetCursorPosition().Y / (float)window.Height; - - // Update the shaders - backgroundShader.Update(x, y); - entityShader.Update(x, y); - globalShader.Update(x, y); - - // Animate the sprite - time += window.GetFrameTime() / 1000.0F; - float entityX = (float)(Math.Cos(time * 1.3) + 1.2) * 300; - float entityY = (float)(Math.Cos(time * 0.8) + 1.2) * 200; - entity.Position = new Vector2f(entityX, entityY); - entity.Rotation = time * 100; - - // Draw the background and the moving entity to the render image - image.Draw(background, backgroundShader.Shader); - image.Draw(entity, entityShader.Shader); - image.Display(); - - // Draw the contents of the render image to the window - window.Draw(new Sprite(image.Image), globalShader.Shader); - - // Draw interface texts - window.Draw(shaderText); - window.Draw(infoText); - - // Finally, display the rendered frame on screen - window.Display(); - } - } - - /// - /// Fonction called when the post-effects are not supported ; - /// Display an error message and wait until the user exits - /// - private static void DisplayError(RenderWindow window) - { - // Define a string for displaying the error message - Text error = new Text("Sorry, your system doesn't support shaders"); - error.Position = new Vector2f(100.0F, 250.0F); - error.Color = new Color(200, 100, 150); - - // Start the game loop - while (window.IsOpened()) - { - // Process events - window.DispatchEvents(); - - // Clear the window - window.Clear(); - - // Draw the error message - window.Draw(error); - - // Finally, display the rendered frame on screen - window.Display(); - } - } - - /// - /// Function called when the window is closed - /// - static void OnClosed(object sender, EventArgs e) - { - RenderWindow window = (RenderWindow)sender; - window.Close(); - } - - /// - /// Function called when a key is pressed - /// - static void OnKeyPressed(object sender, KeyEventArgs e) - { - RenderWindow window = (RenderWindow)sender; - - // Escape key : exit - if (e.Code == Keyboard.Key.Escape) - window.Close(); - - // Numpad : switch effect - switch (e.Code) - { - case Keyboard.Key.Numpad1: backgroundShader.GotoNext(); break; - case Keyboard.Key.Numpad2: entityShader.GotoNext(); break; - case Keyboard.Key.Numpad3: globalShader.GotoNext(); break; - } - - // Update the text - shaderText.DisplayedString = "Background shader: \"" + backgroundShader.Name + "\"\n" + - "Flower shader: \"" + entityShader.Name + "\"\n" + - "Global shader: \"" + globalShader.Name + "\"\n"; - } - } -} diff --git a/bindings/dotnet/examples/shader/resources/arial.ttf b/bindings/dotnet/examples/shader/resources/arial.ttf deleted file mode 100644 index ff0815cd8c64b0a245ec780eb8d21867509155b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367112 zcmeFa37lj}Rqr2Jxvw`fZ{FPZwJNJJyQ;dos<-Lc8JJ<%dS*aG0f$Y70b~;u1w)is^^&K z^Q)Blu^Z0add$F=mi3rttl@ z-}%I6|MgW*KV{7Cy%(gOe)|ia*S%}{`!6u&^KYcS&8Iy3sdxU?H+;q2#(Z*<^fRCO z#OFTSR85llewX_4PkqKWJSF$p@BTXzs(;ah|N3j5_M|&s_$&YIzyE+S$6jyD53fG$ z$xnRJ2VOV+UhsL5+J71u#iPYN((fQWeA=DQdtvU_W3Do0|{*U>-`^+ca`Q&&1^OH}TXyx6; zG_ucr)^nft-JkrUZ!ytr%3rSnfV=18ld0l&-usS!`TX0z^whjbWJo3{uP*f)zH z_8lq{`woID%?nK2teCtxVs3-XS=tSg4uxM8`W_QCCVF@DC>1pPIQ)C&DJ#W9bR`{& ztjI--`Nmhi#IM()ck{EJ`7Cpl>F#|o`Um$tGITV4HuN)Bnb6)I<4Bte6jx3%iaz|* z${(4pjy%_Rz(e9K^Yzi&%ws~YG>=_*t9g+i+%i{1e!@J5@^2-5HSxRjE#+?oJ`9`z zZUgFo@@@v62%J-zvhUQl)bVW9W8>$V$0j=FS<&0}zC?R>Mc-$h0=$9edmfSdjs)fNWY2a$MN0f;yD?Ajj55B1Y+c`QO|b* z>hmQ0Yi1|%+`W&|m#?7C8-Z8Q#v_Oy1l&X!m-rgsm7({USB2iUcMtE0&C6*2mC6UM zTf`5ho|p6fO1>MC_cEUA;1MHsfF7{A@)PFdO3C~Z@e%s}Xusd|{e9+X;CK(Q-zWM) z9m45i@Nv9}cjtjNe;F98oZR~aaguidZo+RFUPgKu9uhukUP9g-Km&N>%5R%HBM&tp z#_I>8pDOW5d+4_NPEz(SDf2i1`4tQBIb-!seWUNG zYqa3QdoIN09?HCias3E!1n`7I0G7|hcL48xoqB3O3}^v!;1j?-z#YIT;1_^Z`ekT0 z41U7rO7SM~s(2&%KE@E-EYJFVcmwHIF6PXe7ImqeUhF5#9Si8GPVl;u_!@Be>7Z_K zdkS?wB8YkapvWEK`_MnBpQLX*A2atNpE5TH2fn|DcQ*ww&v${d=EGepx0+WG-whwX zjCxOk))uX=18jK%r*Y39w;`GnZlAXDCG z9vpd|d2skYnXifbqq#1;X6DgN^5_qJ{Hc{snMWnwZH_|Ahm-!n1M%y~dtLnA(9@&u zrk`&^2Hk6Zm~s8O$h|B5$i1Ox^lf{ejGEBHrV zlE3`z#b@}}He)FT`eP_U*K`g%0oI1dtnSdV;i>+=!zVn@Ad=EUn zJ?K9)2ua4##yR--rQrF_p!~sj>HF_kc`JM@IsDt^v5R@#Cl=fYjvo`A0CE_5KYDL3 z_Mp8VkG*5>E#czcTVmTh|1l8V`*HgHLgAwEh(2cTK4R(9HTq(8sh@AsfgZ)SxKrby z_q=;UI|mt0`h7>_35@yO=GBZtE&NL6Bl*DN zG$xi7##E&jc&>+Ei_DWwdX0Hm_|LEx^zBhou=?Uk^Js8?zs-9t_3$o6Ui8uCp4g|% zcH~xM?YqsBz~OP=@~gs!I(HM#H`#=ToVeF)Mg9wAJd>i_8|@feWqzFUciC^Ta(TWd ze!Gdovk#+;>U)#@<|wv7UDf-yGFNEJle_n`O2f{Cb zU*Be`(U&lWcTi5_14;YIBZK(b5C(WC}H=0+$ z$5$s_%Q(K=%+MDhc&`m?`C!xE!n5GjKG?jxUpCYW=gl|U{G;agSKb;_!kzX{gRyyLE)$mWz|94np3ckDen3`8DmX7)RMy8w%;@Vx}iD>tz;xDlFyub%he3$Ew!3~;;zezu<) z3;L;kM1IJyHrxAiVC2X5J#ytW=54?mSN_yo8@}0mL+CAg?+U%%JSg-DK(XK_&4X?H z(>y;C9e+IZB48dlZhirHDbE|kzXH77Ph-0sH-84aoVtIF_-C~)5UgBdb`+EM2HO@kZ(A2a41G zX?f`TV&JP(Pvn0Y&*veN3w?0!&qHr9w}n1v^5N&hg8=CnX*U?pfKKFppUpo&KX`?u z>fUD$()D2aAYH#)dgW)$EA)F0s7W{pEWl`06TY?zbo%xy#}0r zf81OT-(Me$x8|V6HGH@KeL$apE|9!69@GFaxwj|Ymtj%f1S^o>0{V^KNaA8u${xw(DS}! zh}^pOC2Y!!>}c7tvY)N}xQMCe&AuH=yT+8*f3Y!mC1t={SWh`p<3~mLl zCy>4_y08z<%TnZO=+ov6Kpto;;yaLipIe#ieE{9$AXh(wt@&mF=^SvI0KNM=_WcL< zepO}AdB07%Mf@3JtJA^@-511xY!w~>E|RnV*6A;&6aP=&qffUNuur$%PkvDD1Z4yd z5d=E;|89IxSAV(mLEU{YeO`|rqNA7f^g+G-K+}Pq58{J%=)tsXfPHqrmq{P|{{J*B zn`7DTc);lcc8P41OTl?NBzS+ojz4eD)Y$_F;J~~K=HKPUT3bYZj(NGT{R13=?+@k& zX~y*WWk3$BBHyG#??GN{0xbX?wZ}QseczJ!qS;RTq}e9@a{zktzP~4alHL*jNa!`% z-`@KY>2D>SXa7cJ(R&u2bdbL<;@<;&EBoBqhuDDX)5`Z~tz?b>r-35y)4-hpZ)gok z+kdix*40`!^4Pu4L_Powi%5*zgcV+i_yEAotJ;)t|G7B6N`_pQq>P zSu8dhkH+)RJTu8mLMKC`P-wn8-z^Tw3We71zVB|EZrW`R1ad+tGbx_KTO`izS%0$miO^S7Lnr6Ed^8lM zq4j1_Sj)fs&98m$$6KgzwUTik!cW-UoTyL(IMq8!O)_lA*9ET>W>D}GzZh3dOdpuow@7BFrp^dF! zXu1^|O?Jmy>nHaO{k5$l%@ogK^=3PLoC3aPy_TKR+&nXX9s2YC>G_p+exByUktZ*TUcRUir~j z<@Lt*Y~2{moH%~2@$j8^6Bc4vH>_Lrvo8)c$cMqjrIjP1?so^v1?1jO@&)Nc<^3Q| zxD=NLdCT#^rhMd;yUZ;YmpWfS#ge$7NObWK2*&{D1-2WjcKDK^&xT6x30N>-#6d`- z&sI~|RuT<|Lo1;Wd**+aez*D8#GXl*#NK_}zeu8oQ(WBml1ZC1Va8+#vnETJv!P>h zJm-x=SRnkODVhSIYl?&=;}Uv=Uod4;BCHsXuuAxOQ!^Ew>!!wY!_*0zHf)&&&u!D( z`<&_6uxna8_e_Vd&rOWanE~OynxW|tj!d6$O!!$dF$2O?GbCIyW5THo*Ue<_U(AMC zC7juCZl*jRG3$hzW=6P0_!+E?IpI-rgz%Wz-21dSZo?h3#q+K?N_fH?+xy?7@T@sOc%?bH_s@niLBgxeX~JvF8NzD`|H)iut{}YLoF#maxpMCx z%?;)%!UuDC<{!;N%r%5J+VCcGEzb`%*Ad=q9<=ul=3zE`xVeGnN0^{?O?!WDZZ$U(-e$u`n}_lI81wMGzcXK99zpn6!oN3PX&%Y*ebPMDhEFqJ#q-yi zuipC`^K|nBp6{^XGt3itzSDdS`Oh@B6F$p^&o)om`)l)c=E;Q5F;69Yt_`1Op0@W_ z=K1Dp3148IPWbhNpD-^pcMyJqxs&i4%`*wV$%Zd7&*J%;&9e!=#eCh~Uz!)&@Fj*@ z3+AQfd4%6;p1=2T_J3YL_-!_Px%v9NkC|7P7ZSeGd;{UD%r_E#yZNTQkDBi=FCzR- z^UdVEn((9MHRf9gzstOs@Vm`R3BQN%Bj!JuZzcR*^D@HkGvBuNVe|bqe64vo&v%(u z68?aB6>nch_+j&d=GzJHHs7)L7ucNNN%(s6YQi73;Tz0%@%$s^y9wWDzK8HlgdZ~Z znEyohpUw9YzS(>q;g6c{XJ7os%xm}l%>1~yi|{Sx2MGU*4Y}XL^V`f168?nwA;O=u z;eR!+=lSjChY5emyn*ni3IEjmjQJ75pEYkJe22Mb?@!Fnng6`^$L8m4_zULEJpZEk zQNnkcA0vF14gZ^Y3(vn~{>$DUnO`<9@etPd-^XoQzpZOV{|EKxcy+1VXH}4?)4fAt^ziED+@VCq_5dOCLMZyo5 zcM|@N4S(0Xi|5}nzeM=^=9l;W!2AK>@0&j~ze0Gg`BlOXns@L0o&guaKQ`|n{1fxv z3IEi*m+;SQ_~+(-@cbe3>x6${-naL==EFAphVZ}I#I z^V@`fWj;Xo*XDQkK4AXFhMzRQ$MfHs-{1Rf^C|NOgnwtlzc+u#^Zzm*-1{x_59W^u z|Ivp3Wd4}ve>Q(Y_`l7c5`Nl-pD};F_nYQl%!dd+YyN`pUkQK1e9nBB@bl&)gkLZp zCH$fdzhpkX_kMGq`Afn*^9jQLkm>*SGX0|OWO4vHcO(jz#Y_@8R z*jMyQjw)jjeL(35p4$Di#XzV&@)h2wOOh97{7r{%yjok>xvjyDpCD0ru6 zm4CKYixDrZkH?a>gX&~-CC=#zJy^UFo)&B6q*8P)5la(=Q`V7Yob;$MNhFieWGb;D zLNZbyF7(x99{Es*FgjPUkz$TmctIX@>x-3WCY=OzaX})Mi6=?$t*WqjAdrkF7#N0- zk8BP8=&A}pE!!tv)0`bRMRD3No2wQV_hSlMz8OsqZvm znjQSg45u`ciSI=v-dkd6%GnvCKuwd9^D_^{`tTRDblA&Kx}1zB zh1)VVdiGgJF-!&llgX6@%`*BeB~HI=6sZH8#g!AJET%kiX5swjOdR=@V7iBqS2XRX;u58NE8$GNafu74rCf5t@n{mfBdR*CFC@Ki z6trJ0H4@ixGb)Rz#n>^sRD@2ZKqiu;zMyP|nlkA)r8EdgZadp(HIkMv6t_SZIX(eC;1gUW23ro{bT^k!&U=AItdI z+8+9CUsf2`88ZEeXR>K1CQXfsKo_NbT?9tre|2jymxPo$C>KL;g4y}0W$_GB=!qyJ zCVdf3C*?`g$v_vyVMh&-U$=(AC#Xh&T)L@1VqbkGhFk0lhKPZagv@5JLzvJS^t47r z^raSMCKKtjw2=k|1xY_tgB>Mw27RP5iXj(7bag4M$I z5@I27vegg1F5-=3AT=%u+p;38EeEs2trVnMUl&P&Xx1(q3MLtrP`9*O@Q@uA4U|p$ z8ZecP#sqd6*up_z>2k4P6+0j9VDAgMNQT{tl`C{=Az{>N02&kFo5DI1WV5N1K)tpO z0ZRAnw~Uh|qOXf|AqD)bOc6s}nBj<#70~mW<-ztM>}MX1_MvaU@UV9)nQAJLx=2^k z6Dz&$H=rw*cK-ah5DNWZ8u+o=^u5x-a|#o{dWK@Tys(I4*y^3wSGE@3pMlg(aqBLn zi^LLQl}kfF#DlSjy5EV!%Pt`I0g_unU!pM$RKTVFG}aW3MuWWNc)uQ!UOKOXm_S0+ z=NZd57XqJ!qKH!rCM#9~U6kcswOpW!0-VK`7j#i7EnT#qqMF*-dJ1b1eZr)XF0#_# zLNROS#Iu&c5-D_1GM-Mdu0Z@GlUZoQI9grACvc3Ywa`ToOU*dq#L6i?xlpSm=~9x` zp?;F7g)Yi2O2*Jam~tr;Ar_mp!oeez&BQ51L&!JjB0i;!oW)Rlg2d%{pDt3%3zkc$ ze_D{B=X@sQbNc|65}4<85mFajWOHE41@b8r7KT39M4fD0p0Tl(-~-h~iL4x-W^);- zMyiBx36>nu1XQ+7`UoiHg0!+VAVD~ZmebsaHx!`<^vH;kps1a2v0N5&Uqh}e9um}{VW*LJDv2&4 zGb6TL|2zEFVspjo7=xGvbqQYN8tcgW{_N_rUT&%JxY0E9?q9`{re7B-{7B0fzV-EZJI<;6$qEIa}S)Q^IpH*-s3i=?VSNoi; z^kTsZJKvAPE=pL0Bn1LnN(-1kqy-2n7VRXYw44^?a_O|d@}D#@R|y5FlwTL?Y&*Wp zP(MZ>_&S@}vyk5^3w|pE_Q4+-|M`CKKI|139`}fGogZXfH zEcE@^5`?}nrcht)Pbo*`FVrUl;?WG8#Y)JIz5mWmGU~S0t~Ku^g1GFna3YH)#HIC+ z@|Ov@{4ApGcdBdI1?1jOa-YzaP$Jv~5I0=lQbdWw2@vEh$C`Z?gU|~QwriqgZ1k)q zq_h;$7%se^oRjk(!u;e{W=DXtu#GZg8Z>OrjMYUKOb9(8;GK3FT_kj~DU@I=$y#b@ zoo(%$goF4>BV$rwEQ@q1lgf}vB^`ti9T0Ic{_K*-0x^tbwv-U~{G-8)lS@#F&k;spJI)DIX%2Km5d>QX*-lsN zC`y+n!fH8;bOd?U9?__jKw8;pJS`(i6L6`FCe&Ue5!F*Bk&Ys>6Uh0PeM89vYYl`e zxru1ONysN0xLiF1`v>BZjvOC4d5II097Lr@(X5t}^w=V&hJ7?Cf>#IS;>;j$)vJuf zRCor3!3bTHaI%?1*h$NiW_YFiG$6@Lmi?VHOJzyhut*Daq)O-ms!6(^iKwvs7>Jnv*-2`WG&=lF_*s!+^G9L{Cb zOg!e~Q^N1Oi@`imxQZ1sMiA7tI?<9#XvyeeS4x;?3VT3w!rAc>Ql$Yh`dkk4nc0ufG*PHG_yZ8d8JzPQk;$l74m($&PJUhzC0 zf~&VH1Z*xSCFf_}58j8p0>i^ztvKy$Dtpl)2%Bsn$L=SBn=kEsmcI}Rc}<85UTykb zrGjVKyVk>g89TH5I)p!B$Xkvz`}RY?ap&WMdPr%Xg%s<&L;E{{E-LUR&E&%D zc51=}I1AetiiLl;OfGELTG&rg1bn`mkuCz|T>88&Qh$7Bbx|^(P9wa~Kw)HdHl4vs z_DT#>wLj^3L^EMIpgWNG3thzSP?VCCM~qvix7Y~`f}eyy>_#zS+WgKVDf5ex2^}Ax zi%>ICXL7=$;3O#pUMPhyVw=ywzhI|;s%2z&UeZNLtA@hb`V$He9+}Jz64_!|awI>c zUu8Un=|)sKDwC8hLY|_Fl(wuZ)Z(cqnj==sC*%|Pj8%gy1s;gYr1Eme&wRmQ(;r2M ze2J&Rv0PMJFflL^|4YY#tGtj<2XPUpRs^)Lw6DN3g)FsrOFL?FE}x^1fiA+*W!lu06AObdOF_B{RrKM|1Y-P*Iu3qROZ3_CjNXj*EQ3gMXcqh`x*pPsp z(JRe$x@gO0omfKPPeJ7e&Q==im)i+x1K9a~9PF))Xzieenbxu#)n4?xE>f!jXl#Up zw2z=z%;f~?wRKE*28O*m&04Kc_Uj^+xU3R=K_Z@&r?cv zwUY1V(z%NkL6@bABK|!1@}Y*(pAtc+Hhr(j5j^LZBJycAQ2d$YPacsh8PfzxYI9Z0 z<4-EhKSZ6xo!og{BvT(R-EsfAC?Mj&cpt;tgyplPARzYvl3PMUX;FI_#0lrQRH9@7 zLEdt_Uk^zyo!3E_fI<~BMq3d3ozFt*v2>BdN}!91{M`dN=^~jO0nTDet&DtKly#(w z0v7aRnoAY>S;G)8ZJo6C2vgeG^I2OV`;1u3NP1rvp;wl45!n*$I@z#gnE=v7dX8z! zNH#Fr0+LVqXAAj(27M`sq@WIjB|mgb7P1mzFalZ#U6f@}1`=9%SUd{(B&DQ_kfT=b zC!>*=uZvVIa{;NOW88(ax+uZITdZtt=^XPnBaI`5<=|W|mUWSzk+hc+d|jl*p$#hv z)DZcg>lTvo$%2+)EG!tI2jWr%IX)~DW!g#;uv$aXI=b>erdVgN&Sslbh)FsP+9gs*%adk!>2^+IB3*>KSm+`Q*{mfHpYtY)RzxAwO)W&M(AOin z2$E#e4!Q`^6$_59dr3M7G3UOO~eW>!y-yEJ0%N33??G z4LdpMibT9n^nc(QP>!=vtSK3(T99k|kkya0l2(zJF4_&|d=bn@YVa9O6^_EiD$6_+ z?pgxE>6#-jx^{G>jw0$%;GztER0wHeWtrQ)V?465IhE47F_FmS<4Hlz)UR;`uum==+02Lr4aPdpfXOn3uB#R zH3r>*CCYL-AmYI|;Pngfk{Ys)0lD{++$S`Y7PXf_oDguSI3R!^Z#fosTnw5N$``8I zqQA)bETkTbX(d*;s$iYV-wlupbWwn_uw@f|p^I|)u;GMd!GepJ_S|vK&d_wakQLV= z#h2IF{KWjF)jeMA~a8BRJE%kjho z1@`<^1$xWTei{oFnALMr@+p@roW|n;xLjJl5O?{|Efo+a)Cf`82Z$G9Iu4*oAt#g= zaqES|qD#yP?UB*3oPA~SM6CH9vLt!s7U-i3k!+eF)Iv-ZWF05&ETRx`Vn%N<%CmR=G3;L_8QTvHRjtBwls_x%ZRYCp456wUiV=e=wi$x^z6B_rLVrF=ev#O8^#UD{jID9?^dGMmUDuq$3#KJ9Th zq8@_%194eT4(;WYUBn4Brt?lR8;QI2LIgMoIiZvTSG>@-I-EX6(-8!xI_B7kCOotB z$M+r@Gn&nKZax$99C^}Efo|)M^~AIJLLy(tM;I^$4dH<@WX!Ti-eMl%$ZiCOKgl#A z9OAIxfK8-}*jLOI(+;DYE_=lcT}DD9&svN zK#X(9ftd=QunDOZtXrT>M5$NF?X$sj8XuQ(q;m=GEiyTkG8=pwP+!o|S}bJ*9{`G~Z(9LF(v&2v4A#aYFc5@|s; zqr7EjE4^5-!p`^O;&C=R!G}$P2qe=khT4lI0_kEW7A-5**dQKQQDZm)l}fQF&}@-o zl(ngwD6nskVTGxyG1~Fd{-<=4-Jws4*%7J>`JK;4)Y~vYMBTKyDC%e458j8p0>i^z zg}rGpSG;HulrAnzX)D7H2^gA7dw+gh2(dt;f$s5Rwds3Jj^LS{O*>g&D$4uM3e|o( z;W7s@NwF{b#d_7{VBN~}#<3={S4sF&>AsilV8$L$3(M(cLM}gxsQaBryzByU?9xaC}uRzN@H*c?LI#1iPSLcZWGHY@D93mwg;n?b&AC*<5u-cqVzD6*%kL3C!w;~-BrhNtCcLJGzb~Qsdo6Y+}5gtif{F^ z+F)?(82b7=8-tHBu|gJx5@v}+sZ`3kIkF3QT9!?ZDKC?WWkNigC?HzhY$1Wn&g9~` zq|y$RWZfdGCl0JI$?MgOe5T4P_0SPbF54BIsvPpORx1~ah;aUz7lJ;T^mIeRNrDl` z`Bt3E8Uu7dLgR*uWbfN~y6;RLiDxrbNANiFH$^NCt|I8D1`-^11d`trvWfEkb*q z6o)-HZ)GnBt%T}>pQu+0Q602pVkr+aNowdVFF~q4-SOQ5JRhgsywMQum`M;0~Dl@<$Pu$7Y*98PNXJ3GrR7OdIo{$l%6iA2%St~jgv zXiQo@YUN5i8Aunk8h}Pck_PV03hMPzNuVhtM<-eNXW6^c>O`O;SbL(%^v2#~m78K| zuXbd*$BY z6%d4K)AyPh!7~PeZ^UI)KA1QK%OlxjS#yAWBI!Q~4Xi7s8GOJ-iSIP13>BvyzL)NB zaskmU6$eB-7%y0TDH4g7T|n;rB=-porA6&!5GMp&x^H`L!MVXZ#o~@-5SPGkIK@I$ zrzbGYe&@50ddxNy+r+NRwK?k=bw7@BI;+79a2B@Qqvv*_oLi3Zzq$o1xQJ=5u~RY( z1bh6|BC0N(*OAo)17Ejw@=l{zER~7{&t=X!2%3UdDk6QFg`$K<2FWRL%;tcoRo2%@ zZo6e&6ck4SdA=^XNJi@@sB(5Q&ChXI0q})WD3uzB;f7xlrB`;a1HEbiQA>e>BRsrD z&7l;ZGm)Z*ZLD#QY+H5;h@z}E7#w@R?dx+VRzwoUN)AR5(v!?erGnL-DCSCdT1MtL zr9w%O6XSAR(sf)4l#-=nk?qwy+lDUEvygSXGK;oCy2v(StC5q>)mhfyki`$gmGbuQ z5AtENSwox@Syhxu+}%i3liGqwff2|Fr6Q=v3kfv4^;!Cqb7HPjvaf_^A)x}wX`(S> zMW<2q3bCduPn!FBbi1MR#_Ss?wC**5>^T_uhJ49k|5`I;+VWi20tO8E`42!*^mH^EV=9m zE6viLX3Dj6PEg1zZ`p~Z`Ou$>7ec48T^3JB_b)Hgl{v6RZ)jnOPE3FQ%Kk{=O_oMZjFx z6WDIp%!9~YMj8wcD-~|+REm|07D2hn!j!%+WEVfd&6npjJN(%aglg0GnjFD1t4V*g z#EkN1mOpvaw3Dha2l5%QFN`m5ry10UGji7X*VAI!QL;|D1A}fsv`fVS5f8=-R$q!l z;$;_*dq2s2LPKd$dl|$H0hfvc0toV!W8Y#4EEmOg?E%jz7OM7os(QEVd=^rVg}}D=d8ZAJRKDnWEyQrkFNqOT&9jm#*Nequfda+6@TjyJc}lSthkYGI zY&%Y#KL@}YoO+7DMIGrtY~k{V>|!qAbV->7kL)kzoHoT(KpGG;enrW+ zVl-7x7E`GrI9dGzN{qPmLc(7D;TX_~vk8`u`*;ddx=0Uw-}c;W+|9S@m13gp$-5l% zu~5NjOx#K}U9Ogqb%X^ZLomQ>D zfT4s+ZiAi|sDLV{q)gCgRO+tRVr}H45!$+VjGDq}Y0C<U8+}gJ2{tW zbxI4G`H?+Of~zu4AYKZjC#39C=^q*epapwQ!-meYc6w^kDbi*fCI3Mv)NS^?YS zn0?G@jWe}ko@!fzc2G#x(^>U4N)S^w?a0La%!9~YMw)4TSgAOLw@1WtDL7IUwS}cpt;tgh;&X0&?#sxld>)Eov`=xFO)u<8wyb&7?mPV#kwXP@&~NIk}2vSKCBMZJzsz8Jfmns5Qm!j>QPFxTa(jkw_idclHz zOml_qRs2Wa7*54v(_`a3;Zf_hiDFa^Z@I?2?nHApbn% zEx9a7inT&g`liC7EzLTwP$^Xuu~U;Qre!|W3YByPE#xNMjM62HqhhVj8l#l;Fq{V6 zynMb>VT6$4B`rHH-??2mKJ4{d)hbKQe7;)c?nb(q0!7qcLC6UuuTYb>)}1A^NGPQaYsR#WkNzZFkM9>m+YE+Y+ zn`01IrxgpRA69^DeH9CpY8;JQ^_qnWqnz(|8!iJ@@(N|I?N(S6!4)!6O8f@{UaMVe zdNd1HWDwe{o!B)Hx#8{_mDTGm`-ZG{IkuB}ZPtox?&Y)HetAJNKjNYs)>IMY=*BZx z8hlQe1`#wjTY)GvCy{M}CQ4H>5Ux?-WY$fpEKFUn<>Kt1T8kX9oV7az$dIVzKR-w@ zqmm$GCss8stt|&fRyEJ{Z1K<6+gS@GS9#0MpJf*b)?#%U#+q%tyZISIj(NnUc~*(gUDV+8ew`^sYv&#hSyk}ZTk{SA^QUt5{Es(&6nr7 zNEo-X#h){TYSZ_c9>H_NTdbQ3Dj!T7f7MpVV7##_jugWFMNbvHVztQpW5Q3(M(%hzH|+3~v)6@v;lZy`SVhp`o;>y$s@pfJ?;z0R(x=vAAOy zd<#ZXLY9nB)jpnogJ(%S`Yfa#bKc?BalxN<8V-CC#yFjo*%9C@Z29{#TIb;E?YK!h z0ShkTLc#4_QXpm& zUZ+SYUl+yDMN}bOWX&;E%g8Vt_UWQBR(V3Uc-hxQ&1SP$FDA&iwc=xuOMIOR+-!-1oP$VAxc(DJvnUo{-9l} z70abUp;mQDu}mvn;z%IlBPW!~g*w>QL7`ey2XXxOJ>@*O`gjUcx|mc-zAxQVF7#UU zQnFu>x4NiAx0~Yja=n?YH)__}FI6#Q+0BEXB~(+Rw$Mea)6hlm2U4ExkwT>=T~sT# ziq$gr*ay9)3j=uNV!7OgZZ36DMHO3t>~^Q#Dpz}qZ2?{6SzT1&bE%LzONx47>#+h0Nz0ooqqi zxyoC1w$2*=U*vvQ>@62M_?%AHN;;wCWGkLv3!Eplm&_;>sMP>8HWE@;QboaV*lY?U zedLO)Vg>cOEJ*E^*>&WSF4AoitzJ3RDfynxs<%;sxVq_!RzLF~vX_wt!^28Nde=0| z&5PEJg=TaAfL$sDH(#EYE~*!nz1sA>rbh7G#Ey|Kql=h6i-}XU_DV6+E=w07g$Ik;U(nS!=C!Yp3AljwkfQSd zj+uQ-o@I~@l2a^H`4tPBTL+xaLh3O`BG$wWbkS(&lTW%x+tmTi!j|83aXV42(UC3+ zSkR9Vsq6=*f>XSm$aI~9zX9Kp0cG%qrrd5RT?2f zO9;kdy^U1KHG7o`_qMR$J#SR2wMGMvQYd7EOw8jn+4cA%3B19nT6Vs$|M^i#u*2yk zw5CWlyh@?wmCIyzIvsY9lC@&PZGd;CR;ra6^oPicb2%;}^Qq-EGOQnpl~g6Cw2Y@x ztId8?#i_DAv^sL--630SxOzqQ!DYKfc_hb&<4M2SL=n1fvym^yv%O52BY`X!ft*mP zm0BPJI(T&u7k88FGI((xPhl!Nm69JfDusBhH0re~$#Fxz!nT!HrrRA2O0Ct&wc1T9 zVJi(5lAT6X1g%tR?PgNT!vyr?x-gctS77I%i1E`Ruhgn_OQ@@)I~jG$)kdufcC~)F z(I{8p3W!{(HlcNY(CSqiqXu8(%B31Lu!BuPhf;0CIENgKlFNG6%eh5PNBeEI^Ej>> zt=0pg*;v<^GAXa*aL&pJNs`YAvs6@qb6sn*B%L;bw@}~|zg~xpR5@2%j zuzI8ALIkH*GHxe&#`BFCz_xhn0$sZtPaO z7wKxZv)I z-PQA&%)dIj{*0WQ{b4#orIU8+q%*4JfM}PB10o)bEu-%XMB-%^kb6JLeL_QNQF|H0 z4FQ*m0|E&0mSb_pez5ys%mc+j)ouzO)Q&z2smIAAmM1RwGlSDrpJZ_^F39W%a2B@w zsE6B$a_vFVWQzd{`myVl%F|oA{H2DRQ>l!aSZDc~E;h@?^c|9mJ+Jjt?&hDXW}aKWOm%qzwy% zPNm-IOmn%))Gt}}+Jg$G&)reIo|B-gS1QwHvo~F>P>Kr(p4W_5P|jW@lgxo3PSvv7 zU~ueqgs;vk$!4kUrQ4Mz$k%FQ4hDltuaaq&be00H%}TSEktcHCOR8Rcs1 zWI132azd#ID)K@?9mFxpP5Pbk@f4=QQz`jrtI7MybkwV7rY-rVm&{dabbFv7Y4!&B z-k_V(h}GK&k3qX3g4UajK_}C!x(ouB@E8lvqr0r(D&=-B1qpi1VWrI|dmGbXwbADL zO0zkswcAzdpo(_A(QR~^lSyyXY){)2E+y0|O=>FES|T))dw?kH59;l**CoTjg2|-D zeKt_hfzw&bC)py*^AoFFrdla@wN$=VOL0I&=r9%746Jz8x=9sBpy|409lx<4R^d#c z#*KEj##w~6UR#ZndZAf@ST5L|0{!?dkm1DHa<`k&+S=}%CT&R20NU+TO6e+ZJ+D70 zlm!h=YW6#Re3axvwX*Cg)BVNvr?S~@y`ZyA&O}p<8oyvlsl7~Ip+Kz$piz3s6}Mav^w>A3R<%NrA)(tn(&4IATisX;w8M_7_1$hF0ZMT&PpX^h1P?ZI zKdP6N!iYYsTy%QNusOVF5kyaxhwIYMaP#GPezBhNXG;*OP2X#31kbD{(JvARDj!Uo zw!KDCaVAZzl#o|2C1uJ@_M0iiv70?_#dP<7Y|MWy3Bi2wX|M>?HeuhSg%GL=q!)Ejn&q8>_FA)`C7BzpCg9nLv3r+8fbXj`Vw>g{!AJaB{j=Z-acJLGE}wt`F;(jur9s zn$xLw>gZQR^;A7ucY5_61$s`;;nQrhptL4KZ8&Pwy=Jk^;n()OB43&H8qEeevZXz@ z%Xaq8{7=fNp>VS&8kkGi{808NAPWgBWQ{kzU z{2XPT>eT0J!)9jQlPB%en{<1uG3g8^#o>66(ug&CtP)4Pwg}p6cgFopyW!PSwR(kx z2I>c`Td$XE)!vZ2+OV@)>#??~Y|ST)RZe)KF@4`Ml2L9#`ts(U^5pWl&=`8HJZgO-FS&v+T~dx(k~55%-<3rs}NunyF$F zje_~nOy%pb`)Hxy!Hd5iN+sLXcOkK0(QtYgXNDzAp zw2dNJw7~QZ^)L0h;GZYv;FI9<3Lvf)*z=`<*>^zF4r<=lhH8PdUz@>FURR zSfJ?^r+FzWSF%>0sAaVpfXq|LiSf8v6&yV}nFw?aD5u+tg5fZeX*9G#(eID+yI6iK zfo@`Fk?XK67O?24rtb%XWD=ATbUCGN+Fqpm%>AfdRtmZuRxUPw+@w9ZXc0tDF0Fr- zbK&O8^U_8BYzaczTzE~5Nhk2W{^`_JKA1Q?%OkbIw9_axN`R;geWo4qQO){UrAZ4W&ixWe_I>Tq+I- zAjn&e#U0BaF7aoCVxgMVA&Ppp?0gndkJB)%_IH9mGk9#3o<(boQ18M*RS^F zM(Zh)_W~C5<7&0m+lidVXoF|t_>%> z38`Uk8wG_bFE`orW%0vjnN%&asxJ$*T(dT)qLecQr1Y>ioM4N{QIMiI#S5pSjAElR z8f_N}jqS;h;cT{Q!?i}jH>RUpuT^fQ*oI{jD#ezl;%cKloTMPZq_^G} zGRn2%N7q|j>HJ2&H*XJzE$V+sZUty!)$tKRm`K=_?^y3SO{H5;W`JIlsiR^~@LTWqm_tFS{j zknYKNQx5AFaUY zh6G(e^IU06AtvYAky2gIZ7FZr*;#h6U~O(M7drTy&yPEv1R9oTy4%9aNUOb^8%P(m z8i2+{l45PG(GcwJPNxE`2<5oF$X0W`G?`?xtyVUx4HDLo%xe7(Nwro=to&MPr_uKP zc$`XsRDv$2)J@xqw4Zqp*~>^HSr01}+kVn|Z@ssyV)R^}P7h{XoQ9h(&+AvO{%i?C zwds3Jjo^8`hcJ+Ds(dhU{8d|{IA;#D%E&9kBxSHu$C_juoiK88nD_QV?s;7#z0qw2 zM7vZR5b78e+ z8P2Df>YGD$3cRjD^WY!Mi)$4lh(97DYAZOusSL!E#s*@UGKE3 zJ&#ST(&?RseB=0}+w1mvR;#^~yIJUQxy}V6 zkP}KnaFrJl>L89$MqjtHWcjZwo+==}Ga2x{y|X#(IXe^iK_gRacj@*_gEE}Xyy?bT zRwLG%IK$y=G7v#~gTZXo8FZ=)0!K)UMWdm(!}jH5ifC(3heuiyM!9ivch>1ohJ#^i zG~Dh@CY=FX0g-$CwZZCe>*)ICV6r=DcUq-xdst)htTW<-s?Fklquyz*Z}cb4<{CP@ z)YLkBYok?dwCd%ZQ=@=rHuiL>1+FSLdRedA%{Fz1IqP;>opueJ#selxwld8kG-_5i zh@U9zl)H|~au%Vj*YP0RsJvSw)c`am zk`x;ot(M^Q>G@os^{rg1%CQEpzMjisX3cnNF4SAH(#FDFJk@K5`?t5@R}O) zVc-W1`C(h-gNZY-_DZX?J!CCZMP4B$hYd7UYfbZyGyIN!w;A)ED^L7Uc9G5}p9XeW zB^-PXh;`sEPbNtC!EEZZCfy^`*<^;`nNCiP#se&&YL^Sj ztu8m5!L6O$(${V)kH*9l=0-}NuP4*lV&j~GUAq;dc;PCTq9UBbXJ{iMq_ta!EJGI-T6#LSx#yG{L=vJ%C&tgxaf6zcU1TN}`+gicFbQh65 zXy&Hfabwc$_sQPe-0aS}4*CWUu9NPhEB#8;&2|f2ciNp&VCu4dXbtnjveJX*pxK?x z``!AmGVZp#D^IoLTPLUeL4Pn<8y+?ZFPT3boH~iamOp*P@r?~O$J(up_4**~9d!pB z33y-xazbeWD)K@?9mHi@*-5+A&H8u>Q@WT}O8(T^xRIT7PaT^LoKtJ^q}}d-Zf|N( zCbO;bY;yx^YJw7SCX*x6u?RXGk2cqxalg(Wa0!pGXtfmgn%(x=Oa}q8$#w^W#A#h| zdb>ZGPR8tbOm+s-X@3k?K;+?QW3)awzB4~Mo}Qj|dmWD%%Bf4OzuN6~AX#IRv&JKv z!)d#{(P5fkzBt+AN4m8}w^==Pb~PZHjdh*L&G$N$)*x3N^m8&l2DuV@f!zi;t&Xr` za@9FM`b252;B?2%Z@+FkjZRp_;c|>*gdse=-{*KZVapZx}T+8COhi0 z;zc2_O;J`TP^$rGn?#agbFR-~Kq zT(GItMt!x@9r&Kkg7ij;Afs-o6PfIW%_R9i9b`M~llZCUZI8Dn7e>Z^YHw~H%(^%Y zH(#EYF7jtf5YpztYievy0`FhynRHb?m^jm}n(lZzlYXsVLtY^!(Npb7cZ2!2#!uB4 zIXTRG*JYrLNGGoo;}MpNPqa(L0TB2j zAa6MqcPxXr#Get0g{s{YR_~Ub&qC^PE;s5Q!P!5s#n@earACmyqr^=iodX6q3)^Zb z&+SCHBRe@$Y6UFl$DK}haP2F$4JW_V(df*KUv$?eE;qWg1?W2@*JLufZZ_N8oUI+( zbo;Z>?&h)CF;bheYu0CLa9?}GrLg{pTV*51={qO&Wx4N;dPi6j+Nos*4DM`$Y1N1ob)z#N2OZz=$W;(@`M6wqtUgq*|BS{98t<~M!nuF z%|*0+f8;u4-ryv`jvYIO%;l1Fu%a9}v;JDIusNFbW~0f3>=P$WjE;@mS$`7`uCvi> zv`K%6M$V`-DsPT9DX>}IEc2O_T~H6Y))1utE)$* zqRC~ut<`IidmshLR)hZZ)oKTv9ioB5E2dVOm@{E2v zKAyrEpnT@VJb8M}6%@KLh<0%kFIaeuDJ5}>5a|nHb>)ObuyZ<_u87wN2B4W-|6jk$Ag{S>E@unJsgdy{XXmP zD|SXLw)UFWK6oAw&Bk?@r|gc0js9w(zPeiIchES6>Uc07b-GM~b*5duxm)P-VyK~K z3974ewyp3J-4P%pjHEr zX^OV(?XpcFxbeo5Ck3)8(2(W(YEFvJ1vZy9Dnpge^DT3 zL^_{*8rXnnmx==-9*mdQ8~(FMyzByU?}=0Z?Rewu=@mPtwomPB z&vv$N+S;1Kef=qy!p2i>m2n&~E?lWEYh!OZI*zpAF6IVbZ||Ji@oS_YMR9)8hC0fq zug-UOZ>rVSZaQ_GrNnf7bo}gErP(-j?R;L@SevfRr_-CZw@=-4!<16&1&l^pSuUcD z$5Va{3WhjUd+O9F2FK&R@xo0D+vEADv@_irZBI8g$i4E)E2pQX-u8G0KV7SBPq(K# z^BqOg!n8cC?M!zluv6QqZI5T(tf};TG#{;G;;Dusyx$+Ea7yrsMLYYttFszEWedefrAQsk0{v8nO8f!sCjaEeJZF zZEan7!rNN!O$%%5;~rx%9;0=26Jc`vbO92a-oAQmhfy9s{GnHEZ0>AtZLb~OzJ9i| zv#|wNK;+rx$*tY(>mPLbnysCO?o8KL8ynN@{&d>gIL7DGaes7nxIQ^^_Q=j;d}3`n zZH&kKit)NDraerJ&P|UvwxF3GwYX4Q^QLR<@yu<_Hrz3rh%>jozB*kS4A;iiW+`^g zxMNF>C>gs#zv{cPIP-b&T|8?-Ii`* zXOTVX%?-7)HuL?76OIE?88FYQn^sm7{LF*MUPhWzj>AeNZ@TNMt*b85)#ED{rnE1_ zE*-+nm*@41Sbw$zA#EigQjd$p&5bK?_77|^cDFpzC!oW{1(_WI z&ce1+({G05u6U4Z>Z5=K{dh82o1OcyvxXm*wC3|0clq0B-A%5GvC0ozrNSa(e#`Fe znKQdbuRc?m?#{12bM@}kXLgUB**$k+=P0^-Jm*r_bUv@n=S6qDc!R!ePAl`Z)AXiU zYHsrN?wPC4_;pec<%08*HtZ3$W=F5M;#{*iKX)~I;Pd(B+Ue`&l}`Jr8;>5XZIZD) zpP$>^z53k4=9DTH=WCOl92e21(|M)XMUVZh|XU?3d*x!cOh3>q#J3YEuIy2vy z?9Mkg$-Dmg>*rU`E4$M(cyQgF@6OL0J)>w|q#MmM^D`7U(>&AMogS+m>nMG6_2}yS z>T5RVqoci@`LzAmb5r^0BhPGZZ*Fg&K6d(nxGT2LJqm|5xb@KwJ$rUzXKOk=d&Ouw z-+D-6yVcrmff2|FrCm^w7ZU0qt~hmf*QfKMkEbxDixs8h&z;_x6nE$6ZoK-ackZ-2 z>E?W!ZeOnv*}eKf-K(xUThxdhJyY4;z5dJ&1U-6e=fw4AD?6K`d2zNm9WfTu>E_yq zn+UUw(^nT~^V!wA51yUb+0ZaFjG+-PskPmH;Eym@jypUtP^$#v7s^=q#?hE6{_o6j*q_)B&-T{|C6=4<_P zUvbh>EC{+VPqV_RZn|CSZf}*QT8eCh#5*lw{gPdY%q{7wy zR#jzNn@480Txm9**{z^@z1`<1U+2U{yYse?Y5@Ni zd*>Y(MYaC@=bSUMn{3*qZ|d%*ERddT$|j^NDG&*v21qc006`&ek&Yr_Kx#xl1VltY zMMXpmp%{vah^Q!tpooA7h=_%v7ZoYV`#rk}g1>uz?|uJ%@6LW^&YU^rInSvxb7n@W zMPBeNER2hj+u-bEi%L0ZB;#0V$Z!BZr5WO0Hgyh~bnKBVRzD~=(3;Q4JV-WrCT$gdV5prI|Gn?Qn78B_OG^WnfUi@TUq~W`}b@5ZP|TymOC>V zIW2ShPGnJNE2Xjow9#gF=T?@EJCUWtStI0DiW-Ou>A2s2_s>~`WQzU#(vl1CbG%>+ zx~m%C%tAfx&dOm&o6J($h|oaHPL#ibQa=jq&{hPU+qk&+l**gyN-1<)}~}zVPU1wXsvX*OpDL& zX2s<7F1>BG(DW3mHPdRX%*iRP>~DoDKR;`He2$mZXiP}32KyNyA$|}hxVX3&7rzX~ zQ0IkD1n8HOV2cmTx8}s>Sku#CU0PadElv&2Nyx`ywHkA*Io5on2OF!OHNYAO@tk}x1Y-Ii{%b;?2~_@Dm@Y?b%o zhe71P!DU57$=Ml+2}Ok+Y~JQx;Wo3`W`;x%PKuNRS+PKbd@H6i%f&CjKPNH4>X&aV zfSgiNBr#YzkjuTDa^n4Rtd+fsZH9Y0$p!mHYX*{CDwUE`TpHP>w8&3t%$6UVlT(tP zEi*JTC%3dHI47-x)h{J2p#yZ0kdPMN!I~PEl9XTUmtsvR&gq$w4=pDQuIiDVm7kNH zlaia$*Os53o{dt0OwP>eoLiVv*6*HP+4)uZ*0kh^bZc&m)!IHi&uUGvCd9;di%(1H z+AS+TDX|E78j+ZQ8|r;ZtnK5i@s`S=c~ZXHzeuB>(HNYX5}lY47@3hCm>3g_@rEfa zITa_k)NX?O#|@QBiOac4dEEC*1bA0BA(g-2&y z{A+EkywlO&&0%3hnHD@$=-Zk62GRe{m3w7VkL(`*qpwaZE&WSb|IUQc{GTnse!+gSLj1KL&ela% zjUKse3mOBtpzUzhEN9h`0;ELr%}sBg-X85$f;Ay0Atx!vS|lqO9&Lc;!jgtk(8=jFXNyF0hC zbliz7CC)k_w^Gz#T&F{!x%=lVLNdhx0Ugsz@N0X`;QckuEcA)M^*I>ZWR}uejKP?l zD1RmW0?C-rRs@~fq@gchU}V}Yy%wgMaaSGlnT*ure)Vq3ATyRFzF2{hZ{SK`>Ja!DCdoRyuGo!up`%m2&op6r^T_~8uhz7drrC29E`ttln<#AW+N zR+zFQBeNqR5rmT>6+l)j5TV$H$slrpmT?=x7T}aqN{S?g%00OZ?UJ7yP++U6=$;cY zw2NG@Z?b{w)FPaY=b4cqrsYxkezLa%uLI~32uh92>0!A0@MSenuG*L-+*Ey z9fx)37$)6DW@ctM+!@jnGO}bX!5FWDzn{TRz63&l#|2eWT1iQ02`psAD)D!$v9g0M zT?_`fZ^O~#bA1qq8plwYJsV>FDoflc^-PgM3?KY^;Bvy`upW z-DG^B7P*$lSlf_yrR9SFy?dvnNk)(E+gBpb2<0z5KCPXkM~{%;tgMjW>}>h`5w4+Q z@=#iu3^l%8Y^=Sbj3+(Yxs;Un`9UZ>B=?uel!@>UbXxvh*#BT3gXn+f%A@APe))Y1 z{?d%oWbM=E?^geFAEo&}TjV=_x})m;we-txTV&PfThO-TC(ES(ZHKdFIjfG0Iz6hg zAS*5_t~djYT1r7mL27}m1R-|8qYYWksn&R%o!JaUk<2=0_DRLIW!k^mwq@eqw=z@j z{>d!9^VgQ$cW1dXqmk1xx9hTs@dga}>s4i-h~%~+=-j5IrArT@ zl~7_bBsV*3U~=zFiW}x&vQX@3DU_zMN7+KQm_5%L*h$vHEBFWeBmT8uLI_t8DW-{f zF<(3{4l3?S52aEWq&%fOtvsi^sBBhtDqkr-sPCyis#o!eqY#Zzlcnjaxu|IlpB4V6 z$;;$#3ddYiiz&gBWU`vFOxdPfQ=#br)1#)frdLcG%&OVf9AJ(xTkr^FnR%djsd-%l zkI+PTMfgPcM+8S0BRWLHMifU3ju;lnBlVHyXo}|1?$LToMKDB%;=XwtZa-#6kBY8~ zo*6widVcg%(a%S3h;EGD5xpyVZ}i8}pGJQbecqC7v0L&j)s~@_`z#|bs22e)4$P9 z&)eEr6ul;T{cY{+hjxxZJ6X52Gt5$ZfjP9pt|&Lyjj$UrH*C<3{YJr!&Nq(SxOsEn ztz2lQPHLy+TNJXTEq;7Ie@i5`oaCPnHG83CEoPJ1NH*@~8tjjdWv@B5Ii|Tov%Kv& zm8Q@n8b!mY8(}nk^U%$YZ=Sw+_~xh5o&0@UMRfM0(|mds(dngU?ma#8^q*(eot})n zH^CxMfBKO#6Thkb=AqL&zKuJ*;G1>dEIYOA)C;E`Cpz`A^!-iXsj;U9VK3>F{gm}o z)XB~#i%w>r%siQX(t0xKWQUUxCqqv9on$92o%rd*g%jVMI4gaf*mvTc6K|hDEGOPS z@zRMmP86NUKhfz#)QN}_<`dz;yMwO>pV7aKx90=xbJ~^KXSFM|&q$v{njbW|>Juu7 zp|YMa#}k&$BXZ66J883V?0?R$x9yAKHj{HJ?0@ZxN|dlBI#(mr~fhR{%2L^ZUZhS3M~5gnwD=@U9Y-_w2c8GTBJXd~TEm*`3QoDS0wl(`@1 zCz?mKG=fIbKTrxs(;9k!#?lxXN8@QCO+eY4Oc&@ul+uUjVR{7R^-X%79;IniN7Ly? z`kA(~W$bCjnP3W2=?2|o%h@w*1$&lmQ8UvpEpwq3wvs)^R86KiCf=^A~(>e=IL3){-Ju{T*0^I)EA zJKMp$n4WnvA39BEm@o5VJJ~Mg&jQ$d_7;1ay~B31ciA2m$PDxbHLxHS%-&;rSqR$t zFc!|YCN zuy(9H>%d~@9DT>WpriB+eMQIV1f8NU>1%eGU17hV@A#GdlU-%Mvp?81_9wf}V%ZIL zligy?EDrq&amG0pT;VF$a4mP?u3X3Bxf^%q9^8|AaXt6uKHQi4u>|hV16U$U;(^@2 zgLp6x;h{W?hjSx0@%h}$BUmy^;gQVBqj)s8@OHdC@4#btET7Bgse09$KfxF9g?tfz zk}u{@@g;mIUxwvrzMMb9SMX=~O8y*Q#aHvoV!C)t%o20NJn@8BD4r5a#WUhL^ms3c zSH)}Mb@7JSB({p};w|y6cwc-Z4)81DGx3G^N_;KOi0{M?;-a`Le&N6HU->`zRsI|Q zo&UkFsWvrJ&EkLZ>-+}4$#3yy-hzIE368!);XeyiZLh|u9o1|#SGB`!zFMeuR*TiH zYIn7_+D{!IjOsvjhHGu7GZT(w@EuP#s*sf*Pm>N0h? zxQ40?^wJ-wAFH3LpNV+&i29{^Lj6YlRwS$6t3Roi z)qkpgs5jIWjldh~-85brZ;h`eQ2e9`(uAQ`H)+h82u+m6qG_**(Zp#IG)W>&lcGu0 z*wEwWqF2k;6bctjk*2ezi>6p}kEW}pMAJ=Es_Cxjq3NmVrRlBdqbbAKpr59{rd(5@ z8Gs}Aw&_Obgqv`8>PAzE9$_L7a%16q6$jwqiiUnobFFVRbXr5smIC?}P#l~c+$%4y|{a#s0PIj4N5oL9bAE+{`J zKPo>dKPwlNOUh;Cit>x{tMX6fs`4BAmYq|6SN>40DSs;0l^e8)8hJfSrLDA$-ecd< zX4*n~X$HMZb3}L1L-ZCsMK94;^b`F>x#%Ox=r{H~->poeUGxlHL~HjFEoOPNkac2{ z*pui>pJJ1#iA`k}*(GJHGESMUj29JRfVdaELX|R8nW#)wW+{`D*~&x89A&ODPpMZP zSLQ1ZDod0nlm*H{j7Xkzj7gqVR$|$}`F%%4%he@;pW=FKQ-eCTb>QWOIst z!%y=w{4D>LpX1;0^Za|1&K#7+K5CiTR~Us!m_-E2dLMa`jR;zH+m2%IMMPvS@LGsK((XNa_UhfI ztZ%>mHo!#&5d2jFg`#$*aqx~O$a^T>nhv>7zM?U}J=$FU7 zI)38h*QdVu@0r4X&lDWzQU5(t`0ts*oo(O$V*c-$!hg>c{(GkI-!p~(o+m1N^(+SLVO(NwYP6)iH?elFq@3wcq>wHkRdPtU#s$w zpOyD;chkAzs+j+gt9gJCiF4vXpr6RbMl?WVyb{SC&U zyIk7g^1i>hv^!neZ@XlAQ#NJC$C-*EO$`SMBTY?gK(BI`pD4uL(}s%q^4rYndn7^aJlqfI(D7~NoM2#g%Fi3R2| zhk*wcWo_c*;(;VK1V`C zGyJuSzM56d3v=P+&%6z41?00#~dby zb7?B+eOt3kN)&ldgB>Mms0oskM z*iVa(o7BW3Bgg1X*g$>M6S^H-k(CJbhb-l`+`z9I^(n$8i*op>T zEsyMOJL2D09;s_Pa@%`#BuerY$63CAgNx<%-%B6hTQoeYfd%|8hle?jm-LA&={2C- zR8(KxT53zm?%H!6mkNd6aIDqT;9F2GLOATCiH8WsQ54F`0k@rCr`)|kiN;^!DAYAg zS{IZ`hYd4zZqQd3JJ%I>t6XcH`M-H;YPlkPIW~WJYfVN&R&1-FPO%$0-nD<1c<%M0 zqzp|CFDV;PU$49C7>b%x%6nQjDDhNQZZ;J(P+!!{X#AU6cH1NsAq{q@3`fdPiyYP! zA+5W2ISgs_RDqu?o$+y<(Pq}ycaAi5uCJ~i+|*JxB+{ghtl!S}@ICcoiqP6Q3rkh9I?u0w#)h*jR1Z%1n<&AbKH0_;l$Ez;i=)iQs)sT}w5iOiQ-lbl%b*1aGGd(wdVoP-Ay^GGzfl%egJQ$LTD~=?t?OrLWBi z`Oa;-IOopW6+cM1>zbO>-7gEixO$%`>E(i-7U4S)-X>aej3pUqL0l-2JD zh2)iThWk6lmfeCidU&UF((x94nS98|FY$}cBmClKPw$k~ox1X~^agkb2wcECi_4g2 z=uv(eO4nnZ2Udf3z^C9c(BNX{Xh<4Mvsxq)X9rahL$EnOOv6c z$)xbfa-lyJDdV$^F)`5C3VUpa7-QWIR=11Q^=5T1u)1NaZW^nb&g!yR-9T0s%j!Z| zT{x?=v$~zk236EC`R$Ej+V53~&FA)fbC}q0B3s^$2eX=Nb4QJrVhM zyLjWa=e9pQuKnRbuAN-v%{&T2Ml5RGE^PcW%-F=1H(GWYJNdJxDO^FRW0_=O(b(E( zykkF&LS3YNDuwdbuuW+U?FVmOjd;QB4(2I+Z8QEEdd~PmXcLF=Lg-H8m!>9#H5$Kw z&1>6?pNGyfew5hc0-IfyCWg%plf&uuP@D1f{SK$oabQKGahlw0Gd>d9#W*t5abTG9 zz`*g?vwInPTLu`55nf^F5TkuO!rW%e3ms_8cDhQFezqBtAVRFu7z1HDggPRP40iAF$DB&f2@>xm4?x9pN#MJP6pU5Vr>ouT3 zjm&2aJ|$FAmfv8DEosuW^lr$AEosp9ytjN4V+$%^+ra0d-zzI`VlC2YR)`#FZzsmQ zXFU-jx9w*=QBgsLfJu3VJfB?e%+7`XVpZ+1tS-D`zLeoEb6CT&l0M}P>%%G!TwzZ-|;$HubF9V>=b7U49eILEji%kAJ{4Hc2Y3LAz-7MeD7bol$*;YxY9V`Skbsw^ri-&AQI zR@jJ{ltqz)3oABv>6w~wS6uUM$CcXiU&Pf@29_%0>f-SCx41Io;Vv?+3>jC3jH`>i ziz6;_l<}VBn_MWr0z+-bb~AU=p}baym@D!F^kZ@zg}0;GFfC*U1|;jq4W}3GI3e`_ zvRvaSp-%D;>Xba>DbH0~4;iL)G>7b9>sk-#VeK86Pq7mwj-N<|q7jA8|9JdhHDRL6 z3grWPRj&XW=V%a z+;%AKvZbA?YpcWmSr!~J!5Z4xj)BI`&CDLoCeZi_(GXrz#?cg%4S*VO&awl;CD}=g zuRsFFW9rBFw$NlcV#&EjNb>kLCQNKKwd!F)>(=2^dKurQj<%p;rItwDK|vr`eT9M) z3mJ%7z6TfNws}O$1$kU<`HyJUnpz=RN3XLHm^Jhc?O|8o>kZnDd-HO@Q%EZ@&u0nE zK_@l@zf6N5hK>^Ir@&jfC%@Rl8YZiG>1a+dGm`n5o z>((-nD(M^LG0MOkx6w3))wPtjENEHWvKIIDw~G&3Zjl=W(@-o2S}v)_T2A62>`GdS z`~Tmt#jab)j#%p8@;S^(T7i4~tmXce>yW@qlOcmbrF4Mp=CKHU7=6zSY^o?gC@;1& zwCsheP^!XArxlpBlg7Gmvs&3w+HwG&?uy5(raHvYh?xo7pqIDkICEF8w5)Bpf{&@h z(LG4d7COjwi{@L?oAaPI6*nK<$Qy^R@Ghgc+gmp`Dot0|bTGNt8n@}p$x3u#}0 z&-3gLJ`KyGVxQ8vC7(Q@mnWsR>3z&r3dU@n9;_ec=sdtziE-qD7?ZKoU@q1?T8_|9 zq0nr@T%b=em-02`h9<1}bc-i)#6r)~bM!9eKpB{cjb}61QT8n_;Da!S=d4(Qxgm$O zgOTcin9=nFy@vT!KFr2?v3uEY%$k^kITX)eX44^dfp_9%d?e=k3>Ra?TS`8bKFWCI zF?F{3xaLB0dGp@p&zk>eNoko)y-*&eL;9tdceVxPSZ=r?u)GoA=DokHYnB`lGA9LAGNFz@J7EQk2d{7(@m zA~4q>O=M$6#{-aRj#z|ct2mNVD6a#IS|8gSvP2A5UXWl*@MvJ zOw3z*$szkj%p^O&zGRmnvj^r{NtqLP8qeoFungqG_*e|R7V|CqD8DYWn6Kj{{6&oD zBC5nNF+n^emWc-O31&o{6~Bv{SXvaFVpJj&ixR7J!K~qln0fNO^1WJ#Ss~wPbeex? zW^0->zhDfLtL>@nrLEE~)Na#$?oush&S3rw=3xHyW2Z4ot4M661>C9x;e_QN%JU$q z5v3d@m9JxS`6Fx#k5V7hbmSdbce;WL6H73oWi{qvbrhwng!Q3Xp6m=!imq4{F@mG=3T1Ty4aNC=(;1_eGKtD?X;<;v1$_o~ILv4s+`+@>fJpl!CXE zT+DSeiBM-W&Rar zDt@Zy=#xa+uvug7u?lrJ;Vq-62j)|~q*ZCK7DHdhF9z#7If^)^VGfT84c*I_ z&D)*G)dpba+KilBiynO@z>Hh>8h{exejeX=>qq3}11{k#1$~e2uSEX6i2~j6-kP)c zF4Y2j4-x76QbGS0O8L@T(eIR&B6Yh zY5;xBf$VeJ100{b0O0sMKY;M&VSnCXqI$?sUk>I1g!eeYe|!ni{9vL5@Vjsq(UYS< z6Vc*sL`xvovb{vhw-7ypbgYN~^NF5C-an@yTHT#!O#{*Mxd8FMuz~2st3)qBo|ob7 z73l7jZ5V1q5xokx>&FqjhV*YZNAw2#G%h0AJez1s9GFV9HHBy!{JePu0~MrsJN)eM z1d~7`(M}zJ{BJ?7cM$G7mxy+oh~Di=v=>2Sf@ZU#1?F%RR0De9= zOY|Y^KSFvwhQCh;AkI$?5*_%J=+JQR0yt0f8PfXMOaT9f-2vh~Tn|nW9SH^90QQd@ zBKq71^aO{AzOWM=wSXZ2@qHNppwDBlKemDBD;ro#bR4psm;sQE6F(B2L>`?gzMDXFzKrPmu0$7(6a837^fS_NF#+J%#dQE-UV=U@ zJqUIaUDkmtfN+254G{k?`@wahU*Ydpg#T+jKpL*jCHkEM*#ABTYyszp{_q3vf32A4 z&jDZ+_?+lE++809)&R(Q1NyoF{oFu!H=w_pE+7|70Xv9peTcDXDwv58@@bp`r-NG1 zgiD1ut>B%(G=Q5C{3fn@t|F#p5z}&FF7Tt9M9l3&VjkUyc_t9^f?1ye27qhCe5ZgN z;5sqCEbt&WO3XhMya4tP3)ny`5dH&afJ4L#!Jr1zft6qvz~xN?;tvW1`CvF$03cV; zIXu$f4iIK=HJA@}gCB{7;F@j-!VZC)A&4*J7#=U;AP&H7=pwL}SeOg2fl**1I7=+t z5A*}|0BHzE{6;&N4RGApOw0sXP3fRF7){I!IiofZL;K0vA-s05ZwLE!2&3K0U=OkO z;h-GA++jYk7|0UK!3<(?IxvM;ydJ<`Jkpoo111nlgu6tfDG6yx8V9x!ONk(6#l97C zSu4R@u$x$_JLm@LKm#~UEDd3%l>y{i8p2JxN-RAJz%Ctj>Ci(u>@r}N0lN&ylZmuu zBA(3i#5$%E%l?^I4$_v>6+lk3^DGBC&D9XgOC@F>0u~d?=O7Ez5-Ye#tS|;3&4mcB z5c=&5`MRtHCy5m!ykZ2hF20B0ez3WPHeP= z*aHU89>D#Wo}e0x0d)Yfj9Ei$?AzcVI7Mt+Z!m<|c*rq6pV$P*H=zbh05geAJWFiy zZekB|fG{6KIeBmufd7Xg0OXqjd8R_Ik073D$B5NIraJhUfv_Kg`^Tn%1;l3g0q9^h zbUf!Av3ZcSeiE_AVSZvg_>tHGgt?#`z|Vq>0AVje9E+w9d$Iu_+$Rs=;VK^hw@+;& zwsZ)wWhg68BmAcei7iJOm&5Hd7r-@QD;5)b_E%ynIk8pH>uQ*v9{?c7i$rW~3dje& z0m6DI8*~Fm$4k)h%QeJafv#S;MC{c7V(TH#Yb%Mpop@0IIe>` zH-zIh1T+(OzlM{<_TUq6ow#Qfs0TZUdm(Q9D&js0ao-w%uzcaiFP*smI&g}3z!zyK#6vB_!>}LT4b%}gB5aJKx#=8na{}=Q8-RV}OycPJ zc@)wWg)pP{5w~F5?ilg*Gl+LU*fE8~W8o(b>5Rki_+sLTFM~q>X-Gmkli(*MoVYcL zc&aBr_^F65bw1bzP7_bB21si<&d$=2mJAn=0xH35&;THx4gT?-Np6GxOoW^HGx3fZ zfcQJw0n*nI`PK1l;yJ^K=OGPt$Y9??JRfP!?@qh`$BPhO=lh6vIZyl^gkQ3rc&S3X zJNA3V5buRF_d*(bZ2(7!W2nP>!@hSJmFK9ELcDAwS~J8n7QA{`rN4$;Rzt`49GF#Ch?gFb0+d)7W~hG z|Jlch&mBX2UL43KUY|uA=O28&2|$J?1`uCxp7=uOYGEVsMbP=8fyAGL`zPUku^&KQ zJca$Iu)mZ8AL7d(@3JYxm!AXB*@{b`nfS`#;6dWgVf!4mtMveJt;q!l`}qZ671#*g zCjMeN=nVRS`-rb?BL1=ld`|oom|wLKU%!L+Yhc4c;u{h7#t7nXAlx^8B)(}jKw2BO z5Z??pTj6Kxhu|2vK>W=VkPogCZ_*LpZUF6x??AeCAYD6gY-ew9h4?N42zM9K@%A|4 z??BGo%fUK;aCalzJ&ioAQ$=; zejH&Phc1s-gL(jc96v?;gbPRkl>oXr(EyHP{(u4y?#Xg618e|C2{Q};((*Or|9Tog z9A87;uOaU#3+M@^0HpcUL2!-uHxZy4m;}~<{opF`)8U{Pi~}pdK5&KjnP5-|kd8A* z$C*9gXX0lAfF0C=CB(l?1rLHt#LpQ(J{Sd-f!*Lo;@|m!TreCg2D`v{;^*}s3)FxG zpb4BM{=GX$2i2e+Yyr^I1s~8EAZoW9r8R@zL9bAD-S1u6$ z1v30PpZGr!$JHbNx4%KA-&Ya;!vql4A3KO&J4XCEbaVsen+WUX1OT_U;=pO*%}5Wf zR`ZriByinJu-+uN4(tJ+gY)1T9`}cx2nF>3`$_|V8wG9@xKVy5p}K%z5C?KWPcVc8 z?z;-jE)v>W66j}z%SLd4gsTt828#fut>^}VbtLe92I2M~xJkmjJHT~)55(;;0~{ma znF0{MCysj!0B@7fy91c@jo>;7Z-n8Ew0I*N?+xH22_LxeK^#7xknoKF%fOE${9xy| zmV`f!<64&RhkWR#MSub1g3(|J*a3bf5eQiVVHb$B8)5+DH=H981iwLW7j%_Ga5{jz z!MngU5+Nx7enMUV@E59pRDifcX9C0-3K_#R0O5o|wlK&U4xNT)1L!Usx(P@6jXnT& zM%Wni;_@F9RK5$!=GXavZ+$j)F2I7}i6exinu zh{mPCXoO+8M4}zSZx1)^Azuu_h}%md0r4j`kw}JHs~@;YA}xhPI`ol&W3~Y#G9g>m zbrRW#Kc|^Q9^$aqgB2t??ITgZNfZ{6C_Um(%N01#*K1QPe0BhfV!Ko2G5B)TEZ z-Qd5pjzo9J(*ru|d6q=4N^q1!Z=|^o+?62@%Mc&Vy+mIffSEc-T+|_-A|$han*DM*ssCyVF+v37694rvw<}v?soxMU=&yjPLdctj>HJqk3d)> zR)S+BYLSn%wO}`ikqCEW8Gvp^L55L zh-VJMnsXo6MPhCWSO*Xv#zJD=Xn-*0{Ys)f71RU7_c+`=KAXgRPq2u@6G`AOi3JF2 zL3c18d`M!U20&j6QAQTNO=1z^eiHe=crA&ic9U3w@RlO&%i!l}$g{jNiD%$`#SjwD z){$8GGKuFtA+hQpiPeWltbzR+$o@Rye|`+uPvV6rPzjchcoE^gxCPuKu@>R1T?yd+ zB?~})ytD$GB=K?p=n3HGZWVwYU#$jbNxX*g_*z#0UB7mo#D)kk z5FoA%KazOe24;h!BsL?5(+0BQk_ZSes}`<8kDy>3k< zv27HIH{Ahbd23Xz+ndBb?C*nqKHy*ji4S4^ z5b=JrfW&@;@$q^RpX?xU0D1B$;`I&fgGfyxEAdbU&05^x{f<538i6dEH z0@z663mu80NdM8%B))_!$A*C2B)&RE;>3Lp797eKzV*#I(rTLz%RbBO2MasVBiw~_dsgA_1?@F)h6iUp$qEs@#V z>>Z62=1b8{lh}RJE?@a!Qg#z@Y9L|@)g5r`N{?*Pa7@^3 zVl468t#g!j>wI3wrclRG3yyNq=-fUQu34&0$tJu;fr)I+O^mURbvn1{=I57VzEgMo z)vD}L{YCvb1aVG(iSqJF^|#JrzSCw^!S!Q(wm!R}B00%dcw4=NNVEEXpYcuVi=VPl z!j%;@@4Wd(^O6Gxq^twQW=s~b(+j!V(kHb+FKs!c7|>=Bj@scsq_ZkA!joT_Tv zF1fn62*F9~lCAS{t#jqBm`Gyx_wY(}J;j8Q&6(Z9JCy~wkA1};MU2fZy_K!M6IoA4Bko?P9u`VgJF zR&Vg|(&_^}eKg*Ip1#5_&@+Jh2YLo^e}hLb_Ycv93cnCtnD8@rgloJF9!8CKh)x$0 z5>2jtM6MnNLv)}gK2hiC&!hc>AiXx)Thqk0*=?Sl9{2*aD}@*gfq|s+$E&yXxt>~$ zM(|uREb$0j;t}m>_s;C$x!RL^PBiP5gt#t2xKQ3!?@SXhYU0mtHoZFB5Uc;aD)!xL6zQ_iCE836Jj6H@12uikQ>K`7w=d>#Z^^f1AQaYtiI+n zv#(W1tp1V0>~9v4zGi_h3Y+im|LO-_n=iA({>%Eaj{TqR|N6%zETH+5{>%C`@9RI2 zWtB9)AH>!#Wh0le*PHuDmNqY4+T4$=Z|=wQ*htihds^ZZUri^9!R!qi``jKqHJmB( zs|tyo&3(;16RXl|#n8klVzPOB;=}24%yo$i()GzrEvMde%fyE*qEh4Jgv2;gWNNL8 zEhfM{!xRvcWOgHe_l)EuGx=wjlaltkXZX3hXC%3sGnBv-O%q?ct*6S=i!5{pUrQnU z_056CBe6{^&91{M7wQ57{Zxu+Vi}E0mjc@@9gZ-M&>hSMr^_4D##?0h)%j#5S?rcN zi?B5D-gd8;0Qnt4lL;@}Ou>h2n%GnJ079nXWxUC5ZaQ5O*{O~Wq2f1jce|^aF#ZAk zqk692!4{B)+3a3OxgfgEBvO+))#%N-tg=dr?+eSqWMf)QvlrtH}DR7b)*5 z?5}1co3EnooOArE&UyO;X3p_Uh@Ip4h$D-WlMDq9*}IxE+Bcmgtg~rF?iSG(> zO@=wG2eY=vD$X~d2PL^LRdes%T>D(*B*PB7VHSnfu3HqeD3}j-2@VO7 zGqt@8L4F29kRin1D=0WQ)@K)AO|F={;Lcau-2}eEE*PqEbbD!Ugna^E-5Bi_x{I%% zSo8wPe8uL74QU#=?~i>i1nDYk@x;{r0~}Qt*{J{Bk(U>5U6d+y)LEEsH+*v(Ro0n_ zy_vN`c&w4|s&FHVx4@Jb1(OH&GE$)8Z)Dy&n0#GeiV16vnaXCY;@Tw`DJc>wPv&l9 z0V-B{HysZ;nk~wXA;Y zo3m$aVwnXM1M&-jh**5{4Et`?(>O2(2ePDPQN;jdz;h?xe`m)>``G&vo_%8cgcS?M zUmve={qqmDVATnE-~+aI!n5-y$OC9C%3DsU?T}AK%=b!XIra~y_>T)17dRzhO5*H* zmlMAxmt|ou2Jm@_kEQd+LT8%!mH<{AIM~bs{Otj?B-V!?58&fN$A|HW!Q(>sM0z-Y z*9Sfp!e8~@7{DJ3uQ%~}-D9ErW7EEN{6N5-5WXXLpC2EQz9WE-2pneR!xC9PYh^m` zY#m_ar2+XNJSjNS$SomJCQkV3N_>J&Mz#bZu8$QkyhI^W}4g=SCFpo9K15H|{t<4yV z-W!ek#j91aH8^+mVih(pV;peqV%|kr#XZrAYdy2)c*>1F+hK6D;#GhDQL9C?26@^J z)iFIoR!V0!t1LYuP@|PKlR2tkq$AG*8FSQ48_rEE?41p23lkth9OC;`z9ZmUzst&q&NDAtYLQvEw`{hoc%PM4 zYw6$Q^o=C%RD8ME($0$J)nCtV$yPWbr`?q4y9Shg+T4qsW@mP7UsgZh@Qqu? zFE#(#jQeY37eo0M(2{{>+q=3kH(dw|(J4AtcljD3yugcbgM7|dONwv_^zqQ*DP#HM zvE#vGJa_D;XoU;YX;e2Ny~&UHy`xdd?IjFzmfAhkm&oqzn@T}JW1v|%yeqvb$FJG9 zs;!@RsKWgA*|o83sGUHP9b zVzjE&xQ<3D|5VxNJWNXDJjh+P#Bz{adNuoEw*FjpHYHxgSm|nVQnWXQK^PTd_~Xr4 z^H{cUJzLm3_99!nPHxvVk48M}n@_RFFsD{W-M8v6;C~G&=xMh&hT?c>UpDFR1e(Yu zjZK@?1M>|Z!0fp-=zZ3>$>BNTy?RcMcroggYmC#KZGUo-6-65zB)$NcvF$+5{wbNL zg$KqyZYd2Kd@thd#F}_5{|DN~ID60-K1T3TR?0bx#Jw*SH~BEJdCU_sW#_8&=P9xD zB6K_!O?#TzzZ37knznA0TEff{HV4uRinbfL6gJx_;v1x_!SOYUL(1RL@IXMPP&*FD z^8s{cE#LD@lpsNUwv%W%)##VWF-EhS{4$>wjEmKH>m3)ke~Cdc>Mz{s1g^SXK>2?a zkt>_0ApID-T+}=3oE)82p+%E*4{uJZhuEaLFFz<_42D;rphVzJw1Z%eAz-9pqnOZqb;6^r5KUc+}JF?UvIN z0DOQK#;rpX%^W`0ZLZfxo~oK!stJJM~a?V0I75a5GG#L-Xq>SfRGjSr

w>XNf8}6>N6tc&hn#kx9Wf*Us}a<+JX>;)+>W8y_K#C88WYw?uuntcT|MW zW4haF%X;B4Iw`Wv9aaWWQB_>vs>F5vQE=Auy3rW|TPf=A)g2X0?UhxhtJ^7@6^l${ zQDcguWMp%y^i_UQkyT#TDe0Bj<+AE;W*p!LgcRD~V6kvMo(9 z`K)yH+1B6avAbMzoe!mAvjZKV=K1 z+;eh|bgb2e18=$(T}0*T270ZV{8EU%I+Dv9B z&sPM@dVHCkV~vF7qOMG;#?pGHdOr?o8oYs&)X$KdTnsOB;O~HRk@87c49?u#VS8r` z@HUyE#?cKs8bIjP-_!mc%aiqHdr_Kt#UI*y^TFT4uCc7SkE{Ox0yC3*FM8mw;nPFW z+Z*a*6*3L(Fufm7r))q5v@|D_t=iXKgBQi=blO(l>sNxJj-r)N$Pqa>31D4g{alG#P- zd0g2@)Q~}v#cP|{59;M-she(+7*9ISQ_3II!q=&CtD*$+=PLvL!^#-Sut|Rk`z$Ba zTMq>GLi(Oo#Ds-ZK%o0A^W6$0zx~%ulE-xj6VGM7WIsRAb0Dj@r<^JPMg z_gdx7R<5=Vd#PkKWrScY-DVLd7c{O5fA>Tdpl7qnjqF7hsGQ9Etx=E-0lAh@J)IG* zVukGNw#H(b0FjnL%Nk=NP|`51QJ9v6b2GvUSniw27U)SLTB9)%h^6qMrHAU9Nf&*P z(nD+G3CW0(6Uz^T6tLdu%&^+%NnpBqW_ckru$cC?QQ@sEJEoMC`(^r%zjQGMT|ueydz%WhQu3m7?3(arm~k^?vCq>hqGIbzQE!vcz<^4`i)n zjfxIkL;{mZS}kk+P_kC$_f3u)C5|Mmzh9yjO6*?$07R-v#}I6wbmZRUXjp*VV;OY< zc2GX0&+B9#JFj570OIMp5&^P8`z+?>T4a317X=%nHfwo_=&$UHr{saG$|e|#lbtt( zYHM5vApv>^4tz0t%O3dtt_z{3`29wu)FLifV-F{u>DmoldxK+$*!3#;!@mmUt8-mH zG4M8CqoZ(TB?BAG(B}@pTPUfcfB?n@f#G`HC*kaH=QFdPJzt2Go*DRMN2i993qc*i z^o<`#r=w$e7%+vU3B@Nx>2c}s>D6P6864#<*z$$A7*FViG47DjbhqxT6hiyT_>u2uA5eyb0k%gSe}c^>g7jg3b0A#=zyATtE!2t zfR<~LyzWU^)rvZNx9gR`c_lz!Z}(c~3pXu|Co(J&cG(PHp9@~7vXnr+e>Pe&0o4iW z*=yBMu)kM0vd>o={Sbb!>D6bgYpFyG66d=-~UV!?3(JN&YT=AL?^9 zGhZwL!u--lVRd@aJ~8lyv>W(cc9q2J9R5@LtnZDAvdiREqE)B==ok3LxdsAyEkydo2R68+liBLw+o>=J~hLV!(|^sx~v6 zE=VA){{W)T{JLyrRU8p=v_-v_dz@WzLVRWmL{4rO4giHKhF2tSWu`d+Xo1X8J*bxj z8;8|wjKwqsBL}j9@%y8m%k)sm8rc~NXkR3L5buk^WcF@{e0bSwgoH^7~1Q+P%tqQ5OSOCaT^#>&MdHuyo!P2p2O6{?DR-7cu7wd@t1YF`O$MK1VR zywD9HM!` z5E%rAe+XxrA|xnj3M37XNb7XU9r9b1>Za%0F1J;T(R& zHd`qx{HGMP+}%|c3hP@br6#3gy4ML5c)RL}>tzI$mLvj!eNQ;H$^zm}_gL05cIxOd zTCQVYR6+RNMBA0vZO(2&I!LQ*+h2a_K*D!e$i9fmY8fYR)3(+(Whq1yM>3|ERr}*62`D&1G1N^vkdhTmp~e44bkcC9I*#Dbt&X54Hg34 z$~eYRF}EwxLZYd3V|?~a6E?y+7VU&IOu{x6**!?A52qV>PALZ0N@<0NP3bR$E!h$s z(3=pf6g@g56kCp|{SLuolNg88U|~9>7qLm`g{_40kX(YYOkx^Rv|%)-X5G^IQL=4J z1&39FK?XwGBVq_>MTW?@g_7B5Dlu?~j9CvFC50)LPQzt0c2F>>nrxQKJ9f%9Y`f-B zyx^s_5+Qj*$W+of3oMpd=Ep=HcV#T9ehM;qH%jWI-E%WY*NqD6pMtBk@@}11NrJ1@ z&%N@zp0ZbGYXYH7OvIEMpOrO1xw*m-?#kdva&-~Wcss63?lM$vf155HCNik9QzGQZ zKB^NXlx~*Z>gvc&=?LrhT$zxrmiISY8HKk+MFpAG8NdXR02w6oRW3E-jX#2PN{vFc zc;gYYxvY7yaqJhye-poo&LQH~K8}V~X%u-DiS~QPlDBDeS+#Dlp*eG7!me(Qt9~JW z5S%f<43;<4it6U$@bu@HgXgmO^NBx+zBuEF-AkZT8VDbO=(g^+y7ImbpwcxuIQ2bm zP;1=z53L_P-rE31dfxv4vb@Xjil2uxsbJx~I+}(!o5>wR+FdiTZg1%V=gRaL{yR^D zobR7TtWlP9o+#b_0AwrF_(zKCkK=fPzM-(3xz!FJ6VwZ;&bO=ZzJW~B_`y>t{H3Ph z#Cb`6C2D+6HiF$xP^*0O)lTJ&?vt1}jro1Edu`Qu3-s#d(!oQKWHxPgOlDSm9QBRS(7LYH8iiNDM^Z^0c3&#uFOPih35N1aZ)q z-WY7+&@Sus1AeQ>DRiou{{U0)u**{DqkPh`CKnjvXuF>43;;4t!>VnhaO7H*9Xzb9 zYieCoB7HfD{{Z2~V0}{HEo+-t8{=iWCJ06kn*Qe}Pp#BXB1${H)&BsZ?E0ouhR6d5 zw?SniYU(MA9Zfv2kTc5bkFw^UOqP}|Q)lvHoudx&q~x&3w{X0yvU6RZRK=iK7wb z@s1qBgN~;L{{T#_f8X~%Lj#vV*Isk*v*OhcAJB%}L0uRENL+FX^hUb-FFh!@w-?xL zQ6=|SKXswD%VWlG=#3=(0&sLRn(5LP{)|&mFyx6SoNs z0>EWMN^ostOxFOQr8oL0xB!MnV4-GrWju$v7FQz%!Q?l&Ldfi4Pb-j;l*oZ*dgX@- zcx!oFGM7l~sJ&tebV+BJfsm(UcQ;Z)O5%1TrgWM#vyo<@=1!t+O1l=a8=aA~+H{i< z%F}-#TJ)|Cl51Uu-CT6e6@ruk@Em+C*tAohGT{|0sdQ2Fo)Ma*&AUpyXxtYKI1ZEo zdneFA8~_F|G$PnG%I@IO;>F5V%yY>mO+!fyD?p8ad9rOzMUvPK$&EhYbt5V>zC+>& z#&ki$kP&g&Y>NOUJfk59NJdey3)yIkC@LX-sMuS!E`^9*$kU~ZEjkp71j!h1*4*&?Ak8ztt$zFk;MJ%#i12fh`F0FnF zM^|)^xDl7>=NbIBPt(zs1yO%4EG;N8=c*=?L3oc&ls3d+; z(g>0A+bRdkaf>M5Exw8e%bn8_D4EjQ=XF@)u0GSa8%CD8x?sx>k(bMlV2sx_*fdQ( zTB?VJM;N`z_^abL9@O!UuPo9?^G6vzlvl;Ot-5_X%P+BX-$g^?KgL~8jx}j2Y93iY z*AW~X+Ye>qj?_k_RL9Qa9T<=`<+d&W`0KKhTC1tltE3EwmN=HS<6xUm@TDy~++R>; z0Jqa{Wt#8mz4o&DPAK8gVNpkq{Jx`KsA?(q-+|p7QzWNjDaEPUPa}x2E$M$L-kGLN zt4!KTS2}5BdsxU$If>iAu{}}xR{>R3YAvOvb1Lbh5xz<3P1x2r2OOJZ17Z(Qz2ijF zxNn4ALC*y=Eumm9)g*X{)_ zO1ej$Xuk$E9xH-+ZFZujI>s^3Qc;ibCnQ`qlbhuchXa3@STwIk_sk!4x~{5& zQ1qJL!^x>J(+XfYzE-!GH<#wQW18mP$2MNC!`wxs%p{JQvXj$-H%j|FIM_X`apo7< z&l}?^$EWdrja3tkE~QI5S~3Knn|m&_)(?!5gO$JQM-NX4ejraPg(dd?0Kw(_Df|-f zUZoWkZ1uW@L=!ZJG&EB_QJl27n`0Mg=IOe%d^i69`E@b;Q=*!!L`}nTK4D)pPL3H` z8qyia9nGF%E(=cGE(p8u_ZqT#+PYeJ9>}5~iNPF_TwL3&?wWA_0LB*ZhaJrhvs@`S zda9ezsR9~R<7zb8^G2<5$sPv&&F99~4Jzdc{v=|7CtX=6XjK2r6~eZJ?O z{9pb7>2!^0$AtKWrh;ZU?1E?{bC>{SxuhQ{1ebjWU5CoNZSa?gI4-5o*J-YifZNqz zyHB&e=H3_REoT@|Yjsjbqta?xoi{U}q+=K)ke*@l7J+gI=O8p2n+=I7ldl>LVUoG@ zt*L@iPb{ns<{zfx+RIiyh|_Cg@+Y_Y9DM%(h;`o-)*Op_ui{kC&vNpJkJ)3TzAD#)DPt3+EWOlHei8*ZBvLN_%==7OeoMZ<;eH(KM^ z41~8H7X&Gb7Y-kFwho0pNQ+k`mMUV^oQt6e36cjf<#J+02*s9qYjhc&NDRceFr&RM zvf<1jZG$t(06r^pL(3hyCK5FZBX`2qpQAfM=~w~^W+qcNbQHsM^&t%lCS}kv##2dK zx(a6CtGet2gybbKkz%4b9aHKu zY!!Zt-pTbD$Vrf6x>JsctvSC`qL;BvY48?F5M>F!R8vmKNJ=H05*cWnu2KgZs6ksU zvQrHchxuAEA^l4q3zI5DgGijpqjahlNTYN2S!OmU?nw|+JxceXXE<20Gei(2L-(>< zQ0x?JDO#}yL3CIC+_<~BVStI}y+=;B}8f7e=lJJhvgaO<>DO7QcswZORd zSAHAPq1Gf|ZA4KAw*2mOtaFQQPC73bg^rl=jl8dK;GHPYXw(x)Byt&H61A*&C8LWR6Z)+Q6bpAsGH2D6dgYX*s+U-NY;;H#w4^d|s=^PEi5YtE*PwP0cJGY(u;kPb( zK?j!QqWhfK8xTC}i+(jpS4%A|BaJmgb2Y+v+#Lgezc37Qd5%aRn_Amt5yufbU(=?Z zth#CAj25}qC*^1j9@c0dMdAcq&bw~ncRd$J;x(^62M;La{wnzCX*F@k`BGp108d}i z-^E(oQt^(UYHGBo<`GFd1AQ=W%t2>H+V;lc-rmK)TxF)iH7lxzJpquuX&|PJ({hpd zTg{7jxc6Tv=~}+8%^eLbeM~V+%@?N>u4r>y3tR{XAcr^~1cmLKC#AZdOnfe#fWsMo z_>QrDc5idn=vNc*1R=T^7w$bz;E83PJh-R-03VO)dsBWURl}-G?KWpSPv*2xPEEsc z*xRDD(|khFxPtV$>@5+rfY|{gU%kdc@JK5g6fV1cLP!C?o4435pI_;_m^ithT(`G{ z<6)OJIdLvMK98$QONvXXe*B+SY5MMwM+wquA4@?-2gqTW?tH8#p|0XH&#WSO5b7d-T5)H2TQmZ0~6g9G<1Nzxpp1 z*WiXdLZC$Mc5{-~fr1HKKb=~fd0`zxzelnBEc6+)(#fJ#ef$39Z(GxOxJsg=Ii8Ss zVX-{T4#n-Z300qk+yhU>{7Mz4>-mKjF{eXA;53`ZvSQE2VyqS;RV>4Su1gRr-Q= zQ9$_|TP%0L`CdqUjzR9W{61BS45u!eqriS9z}~e&{j=sxLq((-^XaEPlp)R+2FBO3 zNFPi6Q95rOYWylJ`JwFCCfxru>UfYCA?xA;8t}IM}UNTU!3;QD^2uW}3w8laj0hkmN&D}7Reb6&?PE16X zAQOxrrU>bR3Tyi!u`LVd8{q>xcT8p*gbcw@rYopzlFF9&P3i(yQr*&;2kt1Ho24~P zxhd4+bJwz4P|KuA0wbwz5}Js~B|WH*bh4%-hu9B+6!F-l)3(XgOlfUHGJp#d%7c}* z35>Dsf|ZJa0G9|^auKq(?u3+JrbUYZm#Pw8$k~Pvk_6;YaAVZ$fBle5f0a8Pc3z4< zVTd)Z7E-kT0N_Hg%2vB%AuEml0Ay?rPKyEX zIH!I>WlnynJv+8dDc|8fECHNHWPBwqgr*RYg{CZn2oIblG~(y7TL$4Wr#T79lrw-P zRPD%1>Ba05N@nfd9hNbsAKf^l=#^78)=lXK%9|n{Q5y}@>LPpPSLpH8KBL%KC94c~ zN_I_P#k!?5yM)#QYb?@5jG=NVhX^=b$V+>ybC);nS0vmeNMbO(aOdZBjw&ad ztnwI+%hYavmBs89oaL5iaxu?CO6%Qr_b49qf@9(hF}hn)a#IOix?NS&E?#qXFYcjfWJb7v%Hhn0d(DnilRt5UB#y`Z z(h?fL^({s!IPUj`xahLzAmC=az!STT0W z-^|0&X88>^slE9fqtX5x`5%kh^fc>i{{6r1TV{XaqvRyn!o^gk;JPPj4yXY7PQNn_ z*G=7DjEksc)SDAaiLlLR40&mfv-2++_~wpN!p&B!;| zS(_)#Y+JuYNUGz?8ct^k1h44ErS$&*64?1#$zgnPo!$-Bx#=}}pVuVW$j9=Z5Am<) zVw_`sy8i&9(+yZ)wZ-~?aHEr0A&zJuiz=-?zXf~(SY)``-Bw9l#>DdH9&UgQ*FW;j zI+En|Fx0~&6yohNgT^#dI=W`i3$#^V7t_ZR%h4 z3hk(Bl4>z}E(6mI`9S^2@~L$^G$xmupO9^~>)B}advU1b;iKYTJMgmn%gv?zN=>%C z7L6C;jLP`<&1{{(RMi8Ud!j5 z3r%GJYh!MDki9R4H9CqY%Npz)*>JvIf0}CgT^_&i=9&CvmQDWYK7AJcC-`wU5%86C z)U$@_4t!D5G0$vl4|I)a=6N7Dy~!IYufg6U;y;2P8F*V&*D0Rp;j4Wt^)fh39FfY- zM_J&INERbFDXn)DLqi1>Jzpc+Bi!fn7am-Ew*ZWTpYMH@n}_&^OyYOxT5l2xYP}j7 zmwLsH43*JJ;5ppp@|U_ZXSU}YpkBo>mz{hJ_^{4C;K+2StBl&V zgiSj^yI(v^C7^+DZ*My*^+il@hsy3|83o)VHa7>xHtUm}@U`N}E!_C*@)@xxt`E+C zjobxS@b8RjE2t^m7MD^_rtsUaIlzZAw^L>H-|!*vCQWyQU8B@h11%%HF%!QqHo?92 zBOdAxiQF}%aorZ9OI|NTS{__5THrSe!#)ggZiDcD;yh-GYJ(AYieFLS#_Z#mjjeUn z)y6ulKPt|Cno_}<(?3i_P#>S=Jv%PUosGglq46yr6VS4%neBTX0r^erm;(5}FU-!z zqWQd_lW88!H`v3}^0n&pLVDgn`mOrOTWqkOQ_9hjMhGV1bx! zI;Ikj2pPgL3|}$^U@dgQX5gSE8>%;VhgCq(}xRsAb9Smd_sPwL^aCeB*Sg0g2~kPgE4F-8Gq) zK+PWNs1anW?t+=OOy*(^R$rnh_6tI}n`49=txYD6Jy24yIRZCimI#RCvR288CONZi ztI{Efa5Q7bdnuVNa+fk?J0$WhnwbVMzhygKmq#uUG0A%-#2OEc`9{F|SoKQde%VID zC9Is74GyWFwbMFh*rZTY0c(&EjnyHDW#Jz9$F>1vfys;x*;4-i;<|VSToh7#LV_$b z-`NA!;D>T9&q;uU&YbO)*Z!1+;rzDcLrr*mqtTPw`y0 z^pW*WX#Ov>TKD^=$K&oLeU*&o?T5B zevetC+*~JgX90PRo$)VDkT&wO?yTBx9nec_NZ-0|)r7i|EgpqRZ)_&C?zqaQ>HJeg zEv+cOy0B5}RI-dpJ(Ar%i!2bE*%HE+Q`W-pIb^(T4N15tsT_lt z*e-Te!LAHhQa4HJj_JitLFkiKV4PWT^2F#tiYnc@OIGdEYS)H?b6~5Qj-wnP^EeN3 zxfxPjnpD(#WOBPGIivs^l%l_iDWN2Kpq{~3>v-N46UuMyRxQXzO>P)@ELxo8Q$LZ{ zb+!w_c)MGD9VVj6f&=-F%nweA^Y#QDg+Ld?LRRh={p<)NbP}S(?Ftg*yk~& zxyadd^^H6&Gn4SjP}ah6T^5-&GUr?OO1P$`Nwl&dE-p3)m-j_8Pm$cY%9Z+Gs|jIs z`LMjcJ(%XD==#>Cd38Ez;(TsLmN~_@u~ADii#JR)Dj77|$HMCZ4m#lhs8Y*GJE`g; zd@{D&&3j8oxW30_?9`N!Yop&-*+?k1Cg$mzDH`@T z*x_{p8#|jAYm2RN8ZK5{?euTSn-cGnnhJK32FH8ZT6AtmoH^xX&cmwimx8N52OV8o z+oVxA5AkY24tW0nD?c;7%XRu&C4uysT>k)vhC$0EWkW%o_GbTY|vBWxTmzcBqv zvZC?n)U?r4{{XH$o*yo%S+Z`EX#-I4hO@z%#5_r%&S@%G;3^}x%3M0zvHt$+>wkqm z95i2zR869ic(k4&V7ut0a1EQw4_{^THyO!EPsNYa+fLezBT)YU8d`Q?q&R%wTkbr7 zyvvKU=WwSKO#LdRSgGQ3W~H64A=V%eK_2R3j5TRVaVEd|nN!N~SD3&0KJ)mK1xF5W zj;}1ux2GOOw-?AB>*lCxv|5e?V4-axC*~l{7vzmwZQV|74k<` z$wNS^nV;hjI$U7=LPf$~5p_KorLmSx6o>plBSClFc67h(#YRZyW~n=iv+0k6Ulg^C z7l$EjE1xr|B=lby2Q4Dw{X+HFelBqiu360k*%`qD3&VZ^!9K03>Xni*)Uq*`1Y?@` zx6{rLX?^(-%8+Gzg(^)Dzo zr2hc@(zX1~qyGTB@4A;H68SIwC#xA^8_ys9rMA?={{Z(9{nwK_Qk?$))py-%`Ha{9 z0GjW*wJ8<;rGLVE11h1%`0W1x)QXO#E|W+90I7JRwF&cSUH4p_PI3PLS@-u^Ba%_{ z3;7HF6Ws-54FdDW{{X3V{K}MXQxLcLmxG-~cYoG@-D%a65&r-&{{VHWI*B1qUG_cQ z+RYPptB8O51q=9xO>XtE5B~sV;O?l9?<4-|BP+nmoPMe6S1&@|vHCsIPAJlwy>wr7 z1NgH^zyAPTAMU(In7CxQXtBq+OLX{{Z?`Bk->W@~s#i59B3Z=duCy8!dBjMFs3V zL-YtqIF5za{{WfxRq;;eY{IwrC)^%I9=jo1n9f~xk>8X^eu!Ch8h4Bb{gD3vg)JFk z!%XX0t-rFTt;qW!9J9jxxxUC5%Un+=arz^jOCbF=T)HR!08P-nT>Ok)~>z8Sbwqm-qo{HFb#I&;w;&}QX<)xHg{3rha z>0aRNGB7g>e#!@FkoACj*&o+dSJONqXdW-}IDHTj#79rrd-U2J6oSsDY4>UdZV=Nd z1)WI2<#V{2mV3$no`4GNRo-bz3t}d=vFjM>PG(UFEBF(Ua;Hi0Uuz?u&|B z+x^v1l@o#08BbX->x9LueuCawTH|Z%r4<3Y6=kp~?T;tLv=34&% zn6;a@1sk>IGXdB3RU=U6oVb_?PZa$*zQp=%Og%6N7ZOkW`-4 zT|%6K%7^{Zp##E^usjtM=N_3Two!aU)#+?oJF(?iwC{~NwJo`x=MQz}ZDWF(Fh~V4 zYO}+YHbi@7pZq~qMQ>0QXVbrkzyo>QN4?k1O((LIm+G9pQ&$eA7Uq3fr~d#EG_J68 z*7~a*7sr|j?RndOC46qjTip{Bt_Kby>X^Q7S031EO#5z=;_jbQZ}He~*&Lj)t zx^6JlBDJdI`=&5){;wW?6ymS_b-v&=Ws2<|SshLnezEslI=&YSJTI8w_?4@T=fAo- zFNwOZSpr-6sLQyIS>SyT>Zs4_2w7?({-C@izY}#5GFrBNBiB1})t-MR2mB+Wse(O{ zrlu_X;UU!ZC?RW!c(7hwQO9+%5BZi=y<>@L>Ka3)cinUHYj=LwhV{vGi*FWj3&^$3G^wtU-#HENg4OEXBb-Z#K2?5ampNccSzXBHX4K@$`FsUUs?8xcanF<- z)iM^`l^A25>jP!nl(uWI zBo(s~*(A_$lZ&)@6E&KhB1vhhBK2Z8<#%5xJhc?^xc+7^^&;x$tiaj1nJWW_va8i; zaI*}%eTwvW=NT(%ncKtiJ9wBZ8ht2`J&a?yhUGbB6QY5>m}fJE$18!tLh2?)({fyH zqjlOW01HFL@^>S2K3^UVal@anXoebxfY4YTHu>5=)i$A^WE3?~Rz(vfm4WotE|d!q zd$QND=D6Ro^TQ*WcU-<_y4P`cx)r5OjF;jpvW;#30I`m<@Yhk)s+~0$h|CS#KM@;; z)8<9cd;{ZNF_x~q(8X0Ga>o?UmbNcYIoIU4bM9^$bFj8;gn~-RV1i#w?q@S>>l<8l zJ@Nt{NTt-KW8sdbp|tNj?_hZhb%Dtpa8KQJu}V;dIdE}Yv1(@LvD@tQ{RiM?r=-%p zM@^-)3v<3rT9urqI5(3U6!37x1q5JfJV&F`7XD_%QR}#W{;=SFg?S6A9&9d17z;vk zb~)+$#Z@q{{S!b28E|V zqP_PHsAG(?7Ta!TZS(c@4OQfU%&Ls2b;2qtk``Iwx5<}tmn?0>luY6+JjCN^qxqtF=zDt=K!S<%)g~#~ z%J6J%Hdk0`oz+QEO9r9`s^6Gw;er!zWq20H&~bZRuze<}tfU%UT(%bvq~<#wt@^Cj zI9>Yp4ozPaqDqY@wizJ(PKcW|z#YIpDYfnLrP{uLV1MHzozg|>G?BBKJTH9sNnh~x zeg~?q;tgtM>kX^qgGpr_%!3Ejbh`%pr~Ev0kpBQOoCmT9Tw2yM8M#0Cb?P6* zbvFuWbi6ko0qBrZ(mLj9*uiZ?;ml#Qt>z$n!PXWOuk%v|qp!l*>e@h!uNP>H z0by^t&8p3kJ9El(tEBvma>J&^@i<%d{e6#4_<32QaK4cSn@U|Phs`74Yo=#0-{%(u z4uldc7o};nl+|#FVtZv{wsTFwtm(3{Dfy$50Q|0QKBZ3L_?mHr!>Xaa8+7ziQ#@g z6L&{XdsuxI`6)pBi2ndzh7w|Ps77u>E%Z>oPyqa~mwgkbigufFeOCFY+S}MFd*70+ z2?n7fwx@r%YSFBy$Q18CMC8>lAC;@7)N@??pm|oeUotE}WvX$wr+3w8%~&z`VyqvH ziKC;BTLr`QXuz;wC)pJ>+=*yM>sGXUwB!}0$*7b603zi$I*ShN0{#}xqZ@^-VygcD z`4CPYT;f54m*}IH@$DFj-&Ebz&S}M*Jgyz6Nq@>d%71oCp&^pE8<>liFR87zDTw-} zl4>%>ZenY_lpoDr?3hD-sDHaIzyy`gxA->tuJ2iV$M!}IShpUKA$E0McH*Bt6{Mf> zGA06DQUUo_4-@{TBY&CtX6}T673z~6YLi*0mk4v?1^r%NYid^Q{`{@#U;t-Ymuq1Wq^_` zmfzi~KTs3-TlP%Gp-UjWntU#d)K<77=!(~dT^}Ge76Y=7MBc~&TWp(IcG~m3t{1IT zacn$9(rk%_iLWCFC~7&#!agba04a(omY<-9>CFtr=~YY|jv+MuVlBPW+R57KE*3nI zRv8pwpyf(AM#wix0k~ZH?ID>IfD? zx7h{^cZ?~Te#i*wjkiR$a7Ot+(h9>HCno5b(*$&@Hl^lG!FvMT9aSN|m(RSw$HKB-u*S z*rd3if?}sOL`P0g@jbxqjfvOlmg0zKqTy>{OB_#X-N+$L8_qD7wOMCz2iRdw$3FOK z+)nNk?UA8Ph=&4K+aRs_j<(8gSRRX>c9k|SWso`U=o0Gr2ySqiNh=x-GOPNfUJqnD z7e#mx>JJ6QD0#b$f;OgJXB%Zi$jgr3b*2$Zp+qsl;zn$weH*{7>TwH?y4j_b$Mab| zQY~1nritZ-?*Ue|eK5U*my3BS^Zb@s$@#8rd?osy4}Kzz@sL0`E>Ddz&lc7+znR$t zD!pX^1g~7L;crGFz)1tCRUJn_0i$wuS{7ioi6f?1<6zcf}oKF|o10 z$ekNqZvY2V5t+lbemZ@co7RSpS7bq%B zMk&^Q9NzsC!KT>lh0xP}=^tGS+9D7Ywo`JPT-`l7W_DX{oNh0&53Y;aCTv6^VqpO@ zZkcj=eH6{p4X_g4RKii92-s{9lOBV~3=qR@rz`KQO;nnNnI;~vgtc|P@ zxZQ*g?7g!_d~*iAGC6v3o39}|-_T5eqZ&!sfRH1eKot7e@TJhyd%`G-sRm&ZC2ANb08dbqOEDq#$< z@aEh5uS)oN@m@OiJ={kvHk}cVo;SuMalbb$k05(Tv-xpj)L#qIP5#Ly1JdQIO4r!- z=%Ho4X9A6ankV&1Gz!`cZLM_`L#kmc4->Vg({Mcj>V1`#n@wrQGro(TB_!#YTw39y zmQz66XFZhdf&zavkum8Ik~ySyJgLTy1?(kue5KU8MWA@;sq=HP@9?lYJk~^wDi-6_ z`?+>BXv;%{q>lwv$g~J(<7Po0Ma!UPF8=^Tz-dv837z#=?G`XDX1A4m_%4O5jt~!1 z?4#s_TK3O$*}5b|f6XBK;c|31gREz`^N_7>Xu3k-3{C)CTe&NVDdJ(Z$LyH@03n6= z60`PL{vBu^^9Rvd+(db9sapYMu&WQwpwFk!avmeB_TJZ4bAy&+^vQ{1_1ZnGLu7Vjf?K0 z8UtACFy&p%bQK^M!w?rF0pY45X-DdAdxXvWI_GA@pL99lqs@Rmg14tj1j@fu8 zrGZ*-rTon|9?Q9Sc3a#MJ&lm_aNO>1=5QVgjpSYmq(?1fHSKnfqUYD6b3S8p;bGxf zUDp2q{#RT(gCrlW!1M&6{{VUT3xgd!BU^CSA9Ojcq%O6A{_00?YrrM5J+|J)>LbE) z9j0@>ff9MEh?1gc)>0FUeH4*RMtc%|h-o-dT!TBW*$#MGcAQS)dl0G1GUddyqBSj} zdA-5K5;;f-e+<#mD=p^%efYQua0eK@d0s{v2?lc8Ced{nDu`btv7KCBJ)JcHM4Z z+dZ#izs%brd0@MVbiJP&Hm{rv;Sm(%b^0V?po49!yES$ey7o%Z#iG$iUK;Qm2fDM< zx(VU=j#rsQsF>e->#_0_*s5y_m6wPr132S9N>`^gQSX*@(kyIAPo9|>) zQV?)b*38?YVwU3JE$#}F8bvF?-sq-OJGxmE;2RT^OI!)P(%WdK5vwX4f~OT`$x|h; z-FDfo5*(Q}jpD2B5pdP9!)qigmpiFhKa?BGq1mZpTx`2$q!?_G{v!QW#O2$R8@&>X z8!MXeU`mm-7v09{y2`gka8#d;an02^B2i_IUT@Zljzf={;Z`BkKp8nkN2suYl9ub) z3p8`w45C>m0@ziSSF;~Fowcnd!Rc;PS!a$zgl#`Fj!)H9A=C)RIyxOhk%3qTD+o)P$nI&{x z9O~LU%#6F`&qYtwbV-PC5Q^?BJxq?T_0k~^zdmhKawN})&o)^E6;1gv99|nz2Lw2Limb@*EHTD5IY=C~8dnp>`9mnj0>PVEm0Q*1$zlm9;zp9vN5_V45W5OkdG1UXh zBGgy03v_uqWlGH^OYE!+e0InvsGSIC>2$xS$+dP?*`&$+HeG)ykYdWx(GB+sVH{5F z;GlUJG>WS<$wA9a$7E$TnJb8}y0gPg2_WGgOGyxLINugYmPT4gOF^Pd%n4={l9xi6 z%mhYnZpp0-aj@FqSZQAyV+|a>_qxp`yRea0r_$(Qxd>M7nDbcemb<+8*{{eorx01?x*tPate6|u@#;fwkH=oivYnOFG< zVwZ!-jMZ*++8$8>wWKtF<9{pHsrAYr%utruz=CmaYy)({Eq6;L&zhJq$9Ek5%ZTqEaaMX1I;aQp9&xF3#x%Y6M;(Xz?IQnxgamiEomF=*T)RLh8% z$NvCi$EC*IM=JjSB-<|N`RTA~OdAqAWG-3!&Nh!#f$p|>f7^BROxhm~Qrpv(Cit*j zH%sC9oBsedK5o3C-`fg)S}E;$KkXKieIw^VHl+5F*c?Z43eUu9O&r1-5PC192M=)k zjj(GTZF6yN_gOauXfiVqKzXuDNeBItW22MiIX~?b-FQA`lUS_hyV=TnEk(pKG?4h8 zd+r67&=ubaG-~FT0wC@|!m4W@2dQCe%yogF3yx!C@5*NHa5i~);#cz8&S>{R$;8b! zxpy~`Rg$-ZAfb65i4G(D*FpaP!?4JCUn5BFhB$I`Onk? zxbM1uFAGw%^IThP)Mtlj&&a~t{{WPWqWT$E@e=;Rp~f{Kxs(yug~8(qT;S7@*2$ar zN+)EveS+cqAro7EVAJ0Q>7P$Ee&BZ{;0$qDgpZJnbp=Q`z!qVn?6OW8bZx|pc zIs{t=um#^kD@5yh}6%+Lc zPHYGr)euQnf0R5QCdyXJSkZ?Y^;2}$@RRhHM%2^Id$e2KY0RdPwsF1sDo?Fe0WLT3 zdnit;RT;M{vD+$dn&rg5()^zl6LFo^xj`NLD4QwRW_**(UXK6Oy%ghbI!>UYWNMrVA{-&?1_%79;qKGKI?5SZ&a5Q zE{g+dL%S*2Fe3$5nNZ>1-4h*Awn`19Q2DR8x+VvaWQCQbyY1x@7NeY-A!vn#j%gcZ z6BDdANMqDNBKsp^)EkAJ#fCNnoQGX@*Ezj+ONC=xaBQTGt2>}+71+oUcinUv`yiWE z2VZ1Fb+;R#aZiG%oxJ^&%wvGqsM%J~b7F~QbY;6`3&xp87IpR|bkOVUr;f3f*jW=5 zR1O(vx?9AblE6VDqU<^TY>wxF-7ux)gpP?%Psas|+asD(!l}c;GCFwO+uceurpOLL zQ`5_|Mh42qUvx}bgWGJb#*>B5^4B#cSY_xW84jrHWTIo$&vd9zySnS}a<^cR@yQm4 z(Q7_YQR@JUlB%L9nb58JvNNGUQbm^E=JyyYAF4FBby56mjlSVUCZg_Kl{sZH!&|A{ zro;tbtkj(1M>Y^OI*}mf2{m4zT1}7DIuLD&W3xM44>QlQ>`f3Kn3Ym?q~|;HVM`vQ zZIZM+EE3}k@P>?^x*?UYv}``=mfcF$Q-3oS&C=c}7K^hr2rX-c%#~E~HrEH;QvU#& zH@ORc%$Pv=?5pWWVl5Arp4kBm`JiYxY3!?y)G|Pj{nSsa4z=EW(-ayF4yT$68-|3o zrf7g885t=f(|N!hE!hjj z61FWSbId^^!poi*hFLTyUh&FHiN@Al7)8eel73AK_7CSQs+7p)F|RxFw%0w@+eaBU zvSW=PM)rrC-=CI%w@;0+dt7i!@~j*yTCqz87JW1BW59_!u&hBHV_l zSwRsa?gGqVXM_;bVwJwz6S{pryI~yvr97I9h#WbbjepfV?U)>?dB@|p~bXuqR?2N6P|iUtZzN=v5ALWC@s~Rq(nbylPpG)q2$~56WSr}v$`LPmPL(Aq$-HMf zNNxSdR*E=hC8e~HkOkf8Ox6>g*T30$ohKSZ&^~Z;mX!LFjwz%cJW>0CMZa~1Sw<)- zFZ9#Z!u!KTIk3kp&LkfH0GS{B=TU|-_vv$%=jME5fK>_}F`^uxWMBHpPH4FKkweU1E*(Ww=5^-D{{TfRc*F@VMQkAL zb`S26RPp>157BPklWq30T>dh=t}T#6-p%=cvRldb4MDQsCcjMJOqD*E8Rc~_X+A-^ z)LQK$!9R|3Tlzr(xBb;>lZn3&2yJ7dBcl)dlu(u`pZ=-rsBYxA45faVe+hLYKW%h% zOaxR?8v}lKI|J!;5te9NWQwYp&A&<8{;7R6CXV?DeLGs;5*CFs;nLbY6HZ+P@*461 z^PZ{e9A9hx{{a03`h%M_bj-6Pq_NwYp}GD40M%*Lb?}ArKV4%f83WOOm*tk$k1b#8-`r}0Ax%YVN*_T z9IuYpEpfH}=`*-KSkE;+t?D}XY`~BI0Pib`&KuR5LnYK{Eo=!0Cf~X!>E7-WMBLY7 zEkloWIQiUI_b}ts86UP4ZmZ%|WBH?VoI%em$qEY1D^#QwYw2WnVR3)#tM%Fjts~5a znv*%RZnei8m+?CnzwAM+ag6i5&WWZlcg@lVaXnKBE(G>BwUo7*exd`w()r#u^zMJM zt5*L2FoNOK^F})mR<#*+`}JO7Rj5``IP=q&H@XGfQ6x^cE2Ga<8=QD# zPAv9l_=%B%8rzR`J2=9dl!+V4yjXFAoCU}Z9ag{M$H+)09mz)=(vK)KlRcgMS3@AR zfht(_ItiJ~f4cE6_>}Wsp57O1;>R)K@3Vc=W2tv+Es;I2YC3eb{{RtK``@pV9_;*%U? z^L)LDT7MdWep!B&*&52F$xaBp&!@oQdt0i5`9u;6?x?4ZCTKTx{;EnoJuZEmT+`eX zPdrxztVy37{u$WDS8b$m-9P*TPerk(jn|}copO$L(FfpLzlV2Xv|u4SeFK_*FWC%L$_guJ*|h}z zq)c@sy>1d_$a)nsCU8L0B@UZbcD@wR)tlub6Syf^P~vih*(%5JRuR<{+RKsiD*I=@ zRXlYTIVnvrww4&Gv-z@$i%@e;9d%o6NEyA#o;s}W`=z-_6KQFOQ+^33k*X5hwN+!P zH~iknhE=$Y)cUesNwl;_sKonoH$Bwts)gtCSykCo>>?Rb19GR;@X4^W$1EkL;iX`L z2aDlXBdr|`l0}SF3h?@new+EAzI)&?SblI498ScG!aCVz8u!vnk{{V-yG6QJy;aiLJT4$6OFpL$$n$xqFs7vtHpJv45 z9KQ|PaLC<%bQafuk2Q2R{Xs(b9p3BFDt;Rl{+G0&UGU;Vw=l}Jkh?s;U(=siK=2$` zTk{||E?Iv8EGALPWVjs5)aw2mR2Dg;ID@!IY5o@f04$x)jyJW$-@?}&L{=vW4^#a+ zSh&7Ooytx^>{JugIy@ygJDdA0f5KHAFZBy9_v8v%ikbIRi2?t%CUWvzwmyd(~R4q z=y1NIHehlWv)EhNALB;WT{f^To5OmgujvB296PB2a|OWcP*i=Fy_;=YNgfpO)ibUT zr%2Qz-kHlng0veNXZ?^k#rZFLVc`( zCQ_+vteLqjci5?$s>m&Hv&#jBvLf*ow=g)6+sZ0Eex>A1UJqesoRK|cLxaVU?=eKI^2M;3NR==FcanFCMzspb9Yb*492LAww4F%R9 z0xUycf`zU4k`+j@)y3y6;1Lcw5baBBo43NUXP>bej>Nk0p+h99kORWyQAt5 z2hQNfyZ)d%eG2)8E-;cZZbEe*wM)q~+yq<0_Cp_-4=!2Ju&5fRHR^P8D)J4<}TC3t(Hnj4_(d2HGH;AKjw-dRi zv0hsKC3z$VWA|LMUbBI{&$^P!Id}r1dim8MorBhlzWqWLrjt#a<`8e}yxtxodqy9Q z*G0v}9KV^s{Zkfq(?x8HE-vByE}`G@*x#*|9u?Aw$Ro>2syB)S@Nw>lkBQg^=g(wH zaDBv^3ly9QMNm1Rd%yK1^?V0U4oyRw+UQ1cb6VRnLJyQZPZgOPXFQ*BjXXYL57U0m z-NIqmr>wF5mxR8jhxJNgNFny@S5a%+uDFuGrgZwzoQ9bJ_b3v>FBD$ME^MvINvbfP z@ZIz)UWTMU={;IsD_U+R^JA6C)f&fsljHc=JKBm4d^<;f+%?b_?0IU?gBfM}GGTCJZU# zZgxY#D4C5?widgfT*lqHq8X1U8cc*HiKjfO8FZ#U^rlQIX0@jTEb_q_0_8<&Z4?rD za8l}xB1W5r+;~@?!?oRlib@upmPe+Pe`_ysKs4@Qu?wccJ1dOZQ(jNV577rMgx72c z_F0@JyG3wTy*n<1c~0MQPSX?4)cbs7qz-BN*zY0FiaE5ginPrq;F)P+LtkO53e9nb}OnctFu<7~6t+ zDdT&a)nj7@%4S9iTZuNKrcOrahSc0z$`J^<=tFI=m$a>+4XA3D)Ek3j8)0>@yDV@W z(CxDJle$+l-s&e*mh@1#xxLg9%yV@T7UN+qtL4Z!U9zpRI9%AJGRQ!_e@}xo?N@- z_Ek8mpqOBb*%=Ix^8BtK`>I(PDVC;31C84t9_o0Z1M5yG?g=OCl0~T1+zwEDT}U-rhPc`??-xX}$SOm5TQit`UT((7Z%$r& zn9cg(4mGNPK4?xnt&M!N<|hvLMzSwu(Ik;bcaGUZJ{LHf$8+AxxA71zv5mv%xjOS5 zy~m3w^)2#U0ZFI6*Yv;&2WieC{GcXI)nb0mx$L<9WXt|rge|5OP_XH;5w*UHufVyx zi~9t?YH?pAS!1;-Vr~d0!XM}o17#Djadk9w5?m4oDlNL4Eg)jZnDr>1c7oDU>|#h? zE}td7Kt1fchfAB2<^tXTOigrlx#d$usm5a?1Z9T>&B8?X zuEs_wx)W(12IJOdlAP7HmZ6}QGIqP?BlLm+vG>Q6Yd!$hKA^y0XqMc~2LAvs?heIV z>bS*`>usJ_$0MvhW-`E8UdI+eSx(8hm?R7iYnay(J9SIljquRu#9UtZv z1Xy($Hva(GM;veVm$oSRIsX6xr!ME0Ka9()pUsieO`9D#@?$PpQy!@SmOMbwkOCA_z_e|wIq%o+= z;`al!T^|!W;SE4%FmV?0hj+qyfC(;g`(@DSlu|p>ri@%?4Rd|(b;hAdNvP7bkEV(2 zBEUM<-yj?R0OizJ?bhPlW8nCC-wkTm;x6Dl)DmzFTOVNOeb?BPe-E^|8_nnzyK~D> z&;a`12~9`CiaAL!!B9o8_LfKw)LQ9_1ig_Y`aVoN4Ojg~?xS}HRkr^CJFvc-uJ~f; zF6N707MJDEy~rtLZ^MeV!sl{D5Zjy81scH1w2zz53RY*An;q0H;kx$pa{2@Q0C^_z zz|uee05C+VYHEu~0sqpjdL1?KALaW~{6=(zs?;nSpb#AocM z(rfri-OmiAvt4ik_p&BFA`Kh36>a|j;iR0_L&Na$E;w==?LU7!eb7C;tEowF_L+5IxjT@RJE-m$JV8CI0|3zKSPtIoLhP z^ZpuEu-L_G_fa2)wbwR+{nhQ;?7i}SN~3pEvA=Z_aEW7fC3@G{krG7H*9eH(J1!V5 z6zmt-17(sh0hKFlbsKid>=YIa617ay5Y2LxuJ45t0idRwY`YH5$_71l9IX^g2qAXX zu$+Yr^1BZ=OkRL!IvPk{xJ+sEdU*)DKuc+)**T(?)=yA_?E;+#((uJJmb*f42Lw_| z2gnpu6I#m0K{f_LV!?_300>F>0E6MJB*!cXjX%N~DNbVt=&TeITGrWFwCT1^T3j#q zMkZ3A_#daqYr@~MV+X)3HcWa$?7bp}Ti6u(l1;O4jcBy*mlF3g$s_(9wAl~*pgxGU ze+?RA{{ZPX?7gm$!v#5{Ad%Hu`0X?P0&i!}j{X*O>2{2L0*T+kZ4{d@k7e}rKPl*$ z)3Kk@KFKoptt`KUuc*(FCH@g2cjYe~tWY!m00>j>9MUxVFSenDmdi)k7acT5^aY+@ z3#EN0{!04H_!_79Ox5DQr!hY4N$Wp`P9>)Vur^D0A%2TDPl4a`+xA@@8kOTQH|(;@ z;PF4(Hj7#Q$L3XUz}_jM-%l^M^puLPfHlejMA~faxA|_rQsv=l8NW0wKSZ{(;og^2 zK5Awk{{U5re+4!BGJljYXOEPASxcnVQ<5a7k~@D>NKhDDHwWs!OSMme8Xa&v)RA2G zXjDCW_+8N}d5bBS(t5O6Vaf3txO9^kvcd3t4~weS*#RNB@~t}e4%g_?nCj`Ig#Q4T zD%C`1rV0qt=uG0s8Bq9$>Mo6nv>X(z?k#pg?UJ;QD4bI>?H|Kd2F|iRD(Nw2-BsA~ zI-+B#dkE^Y%Nc4Vwx3s;D-v#vkBH?5AyZG{ntWwf%%B~p>eR%qUbB* zXe1CXQ!&Q!a~85uAZ_w%Md$fU3>bW@zfS{N`)ik`$-xx=6Ri z=!ajTA+ChB);8^RNE+0j^$JF7vW@PCYc7#`kI)0CKI%aDTH-OEDvA91Q-gn^?YhIx zNhJ=}7X|UJh`SdU!X_fn;6ttE_FjD5a!z5Febmk32>|^?ReK@nFv$~-&ing0Tli?{ zftQrZ91cK~41Je|Gl^seJjsnG7rG$cVBiOAB+5Twk!bfVN_ro}w8msCwZ3w{$T$pGQZi zQ%KO+3t14wjDrW+N+i=uNps+HLB21ay7|0(NFd+VkbP9m_?vJCsPXQ1Ok3B0lZo`3 zYc%Mc%^gH7VHpi?`vn~O#Vl?7+~)Xmi*fV;eAs>>Gn(G3zW7*vA^-zhGl&~q+apq! zgiq7#`dXieshlqML|PB#AP|a!T%mWUBW*c%R)b-0W%B9xnD)C8hWTkkNAWbe#nmpq z^-#5PMITIVACmTB;Czu4zTZoe!cpkpr;a(BWU1+9j`DPzjJlrO!$oqvzZ?M z08RJ*0H%3I{g*nA#Ylh=!7QUKaq~U1Sf6kWk#Ol6 z6Ifi|LN*ckpDs_?e6JtHSJKK{B91$j5>e<8 zxu!{C026kZzG3bE0AiQRO~b6HE{(jz^^Ad)^4mTn%*O{A%YZikl2NVru*bsTD}zbR zz(4PV$m>&ew6CQfXV6s#MW>P8tt@jk{{Sg%h2#P$Z)QpQ0J z5;T1jZ`UbrU_m_t_Fg#dBGd>RjCl(NrK;3e#}v2rQEF(dsP!71QX|ZH+8wy%C?EKk z#_nEL+qqO)dL3S%UD3Yf7Y>1{O@iwmC?%G1<|wsGgUpyLcSS}%$Y}RO#uuv)xd@MZ z?51jghWn{QtUM(*M3N=C!0#$9Y+MztfBn+R?3_7B9e;EvbpIHC^orD z*92ArK}~(ikR6cBeiW^KLNwi!!(e#_{nKh$Eo&rEzQr=7mt~?XUqz;Ze2c3c1lwmS zokKO1hJt$$m7xS&XeZk$%coDae#)0YHH&hrntb_c(-4ckpHYUZ6%4o;RLwqo0<6>$ z;k_1w%PmxLepKd`L4$Q%qL70f{@n^QY%q;!tRO{w3uQ44$yV0H#k z(Hw-T2VTj94%rB?gl8&t6eMo@q8Nk_hLyW68dqZ&LRrItf$iNC?5LbKR6r>qW3CH9 zOKWsWO2(GU3tSE|6NfcK;Dx074K}(wSK?Q|tviV5rgTs-&LH50@ejpcgO&UpS1gdi z=hFk0+b#b9vi(7OE~y-M@ZN)q=;UmXG)h6Uti1lW;~|&z;^Ib#Wbn_)xuLNjggA)b z3+aE1U&B>)iB&yS1Sgi{^0l}t=gmV$s?z6lRS>#2gKIc1EhQ{+*)>dKkD+rznx$;6 z?4)aY5oOb2X$U(mj#)ML3Q+cyz=U0I(%1~4+7%MFl=)pWXR?GdknW@a-*h`dqF#3m zi3_&NApK;h1^ces%sr5}5|KaRWw!WOD!qA=_j~oAL5w76a_IE1mrZ z?xGI|ab?gfx*eZjsUlCuk&aTc`GD*~j0Tb{ZSJ;M(|mPXMc>%AH&Ab7v#7D%6;M}9Fl}YYu9V`yA^f>l_AQ@{irZ(nTt2clexItUiur)) z_FHbLD^5Tm7v;;eSj_CX@U$u;1y}z7n;xtq*=gFP$K|pwpu$o`gw;gRf>ysAz<)7S zzvfprApI7NdqCW&^a;5ZVO+p+?2jvLtqyhDA-}q+oj_jTmCH3owBMN*<;&cQiFd7H zWp(^6y%x7FmB+|cMr&(7#=8t8Lye|xF)8GDgt4ru(dye^v?9g{qq!?9IQ=O5<% z)bMLp$1wL(=rl`3syY~?A_h23EX|ktT$Q={c8@o9kiUjNlp4O^i}=G zuhXGxtV^xo%U^+kqYgh(Rek(G*8XP$^-!I0jz9A);^>wY=&lPN;NZUg>N%(&0>$I* zRe9RbX(OD1H@RFLalE$m1^kq8#Jr-o8_7=|KybHWg?^m_obGq>yL7SIu75j7_fbo# zf^W{(4|M3pyaM8e64FG%EY`Sq3Pw}YxuDp$=#oEE0Acn~yHz}wFC`UI;RCiMk*%W^ z1Q&e*Ew=2RW#QzE|KWa@i!?1HpFx% z2)1!++(+eT@E4Z<064bq`<1q9?Ph&Lj`>kfD(IC4CX6DZLq>9mje64(Ckt+UmjT$i z)1FFOKol`8>z_xTKi|B zm9O)ZGhC!=!Xzv$j?K}u(pZG8uDULsKniLAu+hz81=IQ(j0~!sG{9Lrp`UDpsvMSF zs3*O$tdtcNJE~m-+htiOXUJNj8t0NOJ@4w#kGK@|3{) z+jPPQoG_8R@s8*CR&vS;+8qS|Q+O z>bNB{p%}L7W*dQLE(4rDO5dnQ=~IHyzfI$<)&@u~m9aP*wQun)J;JJ98EDnz18b}j zOL2wJou~B>wk99e6t5OqM+RAKk%g~WQT9$kT}}8;HYKK9kyRFi}Rjn2*hW zqU2Xnoy&r~k|m@KD*!14wzQz2JM;crsM$XmTT_L-mA7TFTw#Xgh9_guQ2 z&b~-an-oWBSbzP3(S?WgHvZ~um!N4sB40*U?SHz%>sr?)>9gT)Lf^XJMh9=YE?0oI z#8z1_>O$Wn#1EOlHuRY9*3f$rwqav`Q-11xqLgC1iM=UKIo*EiUWB{zJL*%fNrd6; zA5gHe7*Q5iqBnpq^q^CI_AJeba})Ieu5Pk97!&&fI(5My2SL7A!PZ7sxAY zr6Z~Ol*#Pm>fgHH$rE>bLbVw`1%8wc+9F2fbSTGLsXrY94rT-_cBx5i$vy&`BwE^c z7|J1n-7KSH2p3bawqB&?9TSYM9ggd#94>b!stya}#_qcY_*xCk*Fm>9R0*-3ia~(6 zXt3E~>D5&NbR2KG=xn0CMpt0i*i7}Kcr3)Jt4J)vMncJeJ zcIYXOl!k}I7Drp67D7BJr*aNQ`AKMcIF+n+?FZ<9sGz2l9%z_v+#(+)>Io(Cmg1jb z-3hCBV@;_Co|-d$?FzA~{4vohLFT1k`YWumc|lDk>2FVtUBoMAlj@%XbXkclh&S0) zwJ(5_BL0)e@Cx?|i901VPr*z708Z1(_)6T*pS2HyFNXe{x3=5#BUX~g6?6_SbFBe_8480xt$m!SxALnB7za%rY!&MNMU zqIWu5>=s@B0MHaa{L4C$x%KK=bGNd)Psuiu+@H`EjEx_fG4xP=GI9DZ;>!(V$v2E5 z;FQTskR8}U;4+c@#r!CRUr$IZH7qAE+sIeLDw!jxX7xc*%M{H`B$p;G|8+Csxq zPua+lR8=#BrLg`|KI?~Q_sdZYnhx#?K_oZCqWbZu_U@QjUSY#Kb5?6D!?O}{{ZuUb<>$Wug(v!MbEOhE8|U&4V<|&5;Sb! zok(f{!Tpyb@n5M|UQ0qpQA=yx%R-Jzbx%3!LHwZo78lOZnA`S6Z`n8yx`o8lQEP~peS(kiQ}uzP z=!>5Wuk0iI1i#kry5-t?&+Br2CXw63(0!ITzyAQT!{JrGWGml*kQ}++b=!2uI@h^Q z%#siK4O%nEf9QeqS8v%k@P$m$z&Ql2#+W&_x@a9S7>IqB0o51$fPEEl>>_4F3YbJg zRxo%|0fp+RoTdu)l@}=lql*CwBN7r>18>oG-S#UBY<62{#gw9sg3;Y>zzeQP>-IxH znQp;vWB%(v^;qL&bPbyhvgki2DjsYAusKR8lZRhryPIJ`ADdlt*JB8h1@aXPggG{& zp2Q?9lE>K}OFfS3L{J5`ifyv2T73Bmn?pXz!$DDHsv)LcH0q0im1xsv+d21CO**31 z%Cu><85p{JLtkS1rqpC!%Fm}wU@mR$sM>8sfL4t*ds#IXMb?62Y^wzvn8K(~R9@fc ztaNhT);UH-St+Ej38g%nX5}KKmgjtUP3hmZR2IhYKWw9-a#;(CIwN~379Sh1reVhD zNZoLWVN?k<))R%xO6dUz+;?0P<#zt+Ct*tx+&iUF}@W9~{vR_om~s*@)_RGzWht@x3eY*AM1rLs$FqiY|!Q!DpftT8anotdl_ zHf;DoI!x}cO`X?X5joS94WXN|HVFYE0VIliqoAA0ZqXNGsGQT#eUWjpClAUpl*2kY zDQps)Qw>Un45Nkr0HA%8qeiBX<&FC&A(sf)Ww2SLh7#^0RNC@zIBJeTnA`STyMkzC z{{W=lvSSRnMnxs;vdcxMmktPG%{An$%kbWYU84ip13$uuB)=n^74|7Jd*Kxu?pHT2 z!sxPhjSr5eBI%x0FTzLL7p|1TuvgPFbHKUhGjS<&n zN6(Y|F4UWQMjU{X;m)Yb+MNB@(#?W556BAWQ9|#~7dn51u>SxI+8nj=U8CiijtSKv zz3F5=!ssbDa<(gnQ^+mdrF~@WE}i2skFtUMJ4Gh(H|iEFpM|EsW-;mNWWD`Y(8Y z!J1%qa)MujPyl&c;E?_!TmJy#4QlZ}Cx#jbh`Q(SFoC-E3crKWHsz8Zs7mJeOIFL- z!2K3yq140oVq;dL8|p`xnkY%bmoC#|H?hj}8NL_R#!Y}F1vkU`*pK|Xp9wDpRo*xL z7;7va@f4AzxB9HG>11r<_g2|>HnK7Q04Sj!!?iJB#Qy-Y9g>f6Xtg-LnOSz3D9+Ddc+u34)PCy?Jy88_x4M1&x^|qju1yrZ zio5%h`v|=nw*IsCToG5)pQ?EJIfl(q8hOX)C+M!AF{zcP&dEqnwX{= zu=`na=*iKx`YE~lFONds#nq0v_FEP8J93Y*WB7SDE&Y_ggf18K{{Uo4P5CL;p);$h zHwD>ei6Wb%l(%hhdn4IM*S>WZhF zVJa_E!7f&qAUG`)Q{-peSSTtsRO&hMGORQc?6f3WW!p}u+qZ>j(`qkkl|<90$X1;; zqhWN^9hbc}eSs>~r&MeX)ZYwpE&fYk-W7 zi)AE+z$Y}X%C1pKa5^VcuNYPf9zgWM7vU+VdSeUFv20@-kqvSZCt(o6RR9vwyXc}} zQVqKy1k<)qy-apcxlst5R5Bm3mFgK32pUtrWE7`=2)Rz^IeO(#XbNL{pr$uwl1=! zTVE+$^%g((Q)pYPnre;E6V&gO4D}+%KUBVIo%3YGh}qpl={;Q6QdHFWO6n>ve5b-9 z+XbqVbe^hP-5FOt`AO=fz4E#kqGp_cs^5Z?%>1J&aIw`GWjtPP4j)q~3;VGb#z8LBme4}EOC5Bts8w}fJEryulDS9H}lGf;yMJhHa zZZ|;Cb~TPmkz`DA`AZ{_6&#*WH9=U(kMgEtukL`3Om2u{!dpf3796ApJE5B4l`C9? zB2c>Kx{m%=S3*OqA1jgp=(aGkx||k{3j&GpwDePST(~MAB#k=>pG^&~gdCCC59M%wA}i`o*p^Ku2M@?T$Yk(kgj?hvWZA)RMZfHYXf(@}1V@`Ev02ez zEhE!!*>E%}dw`(c z*gaNfqr)Dehb)qQNCgyQ^nj&pI|Z;8Yhc)<%M4dYH70o5FK;SCViYaHmiS(M8qB)b z-s_dnH$=H1(Co3zzQJYI!TYPC0n|rq*#_)+O(btPDQwIwaX`^W9Lth^tDbMV(Q>*e z^ka>bPkpyrbMLx|?oor$%bt2JIqbQ47g0I;-4a6EB`?nFxTLWNGX2+4$^lwnfFDv# zVxLe?k=<13X4~C7qML4)Pe>~++I>a&O0;R!AD2IMM$@OiEy}d%wHX=0VhtC)HhcmV zt4*H#q!mTeXWJ^-rc5zwqd_i<&Yd>JS|}yGjnyMfn)b@IY0`@~sYG8z!iG!Rx_e0_ z?Uh!bmjkkWM=k8Eg^HR$2I-s+z)5Leds#H6b^H_}*wz;Ui;SQkaxOPvP_`7qbtu}( z78@x6R8i5giQ{!G@S}FfN(XpQJrMLe!mxp5LCcMilAz`nx~d5<8O@UE`r$E~DQ!j- zq#9!CgJiCx?wQo$=~YqRy1EL*RY!cJ)o!)ZYQuDvvD>Sn>{nMMu9DTyY^GI?wZcPO z{ql)Kn}O!4wbJ?O?R@1$S2rmsZ1p24iUm0nPgA~9>WYz&qNuC5OQx#a-Dr$Oxi)oG zI3V~+swTl*Pf@yEQ8~)!Vt|QAj-p%M>1@(usb-eQDIay*!yXQPSs3?SXcZqeZ@R$k z*G@eg*``d#8>v|IFgRVc)+m|;J~?s`uuqVbvQ3dOOVI;CCOm?DlL%(nAcAvoWWpK# zi4sGsc?`c#sy->UNa33(=qB^@N@!({qLcx;HW@8smMM*fZjFXq44`N$9K$AjqT-b( zieD(mrMg=|CN_>jiH+mBSrnUP6%>dlEATL5{HfaH10R$_A9S{ZOf9Zb1BC-zq-(sO zESAeHg~%(sT~TJ2E^pCD0?`O;vJ%x3m{B~v?6@MztblKgK_pw@9_C>}`0l8_1#-jT z1vNd#gyu-@auBk`b#_$N~fF9Kwn~jk#V7iIS?yRB$04rTCq;SgQfpV;`1a94OaJwTrt~qg%fuhbz%dMUK zEpK$0D-AO@TL$9GO9Ib0j*Cd`bT?cD&^^{U#B^EXEErwi8?KtmEOT(YiaIAC*sa}j z%bcv+bY&7`wHOmxerY(Db>Y^_;UCoCfp6u?fh|c-C zsNUtllFNrljH}uMW}f8(-`Q$O5bu)xaE%}i%$8hI#lty*-qAyQ~1*;;hjO~uME(RtG*y}s(#rphoCA4`_@&5E_@ zvwmKPkZ8PV(*9Lx)1|;vjW%0YD^8s~z`p9je`4pS&4JNaXr;i)sL)Mo91kkRMJk0B zdP#9)-kJBZuhGf3`==DI2H7ewS{=ach0(D($z?mrJ{NtEi(#xPR-xE)*-X=AOaef; za@aRqyJbZYKPY(yFoGJro|(zZuSV$D#SH}o2vbLw@>SV7gg%}wyc7RaZmzf`_@pDHSfn_VuRqbDm=ae(AcElux~4AXi0sHLAf z-3uh!i>`(!8K)zurMeut>xapHtB!Tn#*7nwi8+?#MCvncBXIIhRc;5Nuar z$(92|?S53ue^eV>0lJm1x{R*_7-h0H8Sia^P{-L56t>)@v>IdBCcUzcf^R7VGm+&m zf_wy)xf-7wkD;5&HW{zi2^=$8$mnKCXkufyrNTBDe5A0=bZj$rK+s9}9K|lkxa7J| z47avXu}!v8+6-$Pn<8V8ERI{E;*(^ygF_Zb6zp;WDG^b=@3m(NSQpjSTqjbaR4*?D2J0O0jIQ zT?aHfrm{zZhL$_sU6n#gihl`hO+BxLV45rx4MZ1Kn+A&Pu%VwCbx}{c0$8k?m=!|z zwM6`sT#T_$IjF%v#ARsZO6KSNlw@T1Mc5|?%GMV|3$AT+4G|gpECpzVz0#T*nSidZ zb;{T)EaEycJe{oSwqwGXt^JnW8t~^>5z*T#j#Oce>xV|Ht^nK!3O735$hXCWG?9?4 z0?sa?kdg}M+!CRXn;z(h15w}iK}de+xtwlslnjosD3au+&K&EgUi?{O-$}YiYMeCky-EduX&oz@!Eqe~9lEf!;GVH6cINdp-lWQj;k!;iC zy_Kg-lVDXlPLpM4(_fL<6%0k!O_L4EwdvAf0izCF@wrr;GF`f>UY#b#ZwkXMnsmgF ztr~Qaq>-(wNP?0!U62o;sGGJC4*=e@2*~$<| z+@N?)$_h7dGo*_fJAuH#L^Slw8VGZ)9u}`AQ>^5fru?pkXFI zhM?m%N5ehrRelUO&52&B3t zk11>*wv`}1R68GVrE9R386a3jR=Ji0ptv-+aO}G#%T5Z5A#hPh6y-$Wg$dX*!Wu?o z+#?0Z7bjgqA!e4{9DpV4^5fG*|L~o(tc)b2C1uDWgQW1W7D5LP-%APNsr6~S|Eif1<}Hwz-{8aO#w?6+%;@U_(gL0uWKTky0y zt&RMo$qb7;+(x!y!XdHWqU+PR@V zNB;n2!=mnrkwQ6Ow?q{2*c>O-6!++s)WgehWoV%cvE=nY%^A9PEClpHO;3`IeSxtv z*}fDHX(wdXN_0Ev@6i_^-?3ZTdng>z6GziuqJh-pBCrMAz19#>zlS&53txxM$l^eF zK@JJE9thnC%5of;(m`S{oS8$tJ;YgAwAW-ReZ)7k=<1E z`&cVBp6!$vnQqgizbLY^>C#%+!l>!bu?owlzh!7H%Y_8JI;$lFyJzgGG!G)(M`dH6 zlL1+GliEo(%7jIZnm}xtQ@;Tsq^+k zvgwqqLQKSHu{}h4;VP3XB_~jW2MVvK)9;0P)G4>Zt!fm+-wRw73z8^0l{WZQs^|zO z3j3(iZ-rLWX-;su7|hZtlKiBhWPOtw*b525TK(4et42o7dAzNMWkzsTgRj*wA#M5y z4*RZyhusbwyARG&kO2)VplqRQg_l9sJ(Cj_$%DJ}QZ>o|?BR6NlxUo=hLzYV4r6@f zbRBgH<%F^J9u(2PsuViguG;Z+3K&H#tc`|pEtH{;utdi#kTeow>UxZ(5Kob1U4nac zOljvB%1oj;J1h{*{>bQNxWR83nMQ9$mt^k z{>XV5*%Dv^otHRLxu>e+iy~l=_gFu=*;?wB(8S6+TBHrITMg{H1OEVJ^MlYbBGrOC zQVgbZ8M%>HH{P2XLFZAfj{~)%Hph{u{#N)242RE0Ybf zi6VvVg2?J<_Ok2IM8g)=7EN3fgXq|76Y2r7O-$QaJE91!mOr7~XJurdcFMOza4f7e zCu^uN7HS9VdaEv;>j0|s2G+8%P&@(^p`Dhh2jFh3R1)oD_ElO5FK)`iLncCmqR~ku zfVb{b>Nz&*6=I3|bx)|DuvcU(bg~>K^wL|ZuhL0m;+gjVs$~x;-j9jc2}L}cb@ohQ zc16$t(0d()C^s9SnCvOqRSP>l%Yr_uyRLUogiaf%UerT^jm<`i0+E;Kgq54@m`KDl ztVD|yPaX5x(>4Cl#b5Nz<3h`Y{z7=}Dn+FSA7`OK*dW|X06<<=OweYX{g*NzA zjY^XD!rP6R8orxT{y_C{7l$8U8ye%{$ z&4*=n9c2ydS3%v>2Fb&-lB5qqhc4Q3n3+v^Cl11t5QYv?HP34_oIQ5UrD@>#;ACG+KTMi1)vg90YxpV9hCIcgofpUd?i7HpV=yyB5>4+8$GY~Si*GEo%g#_}Lg}yA92^#F~yKDAC-p99^U(oLRxyR!~V(!xpvouX_QVK zvhA)m!hkx~U9_ShKQin&LCuxea)mCr2y2ggDO)F$D0Q=ZDH`Q$py=fx8wC3$EP5r9 zWMwXkPKWgM36(tdwrs0VPhv8d)6``uN{7XkNGI7aifh`+zfV#3Ody`*WoKw=c0Pt} zhxbNBHM%TIg2Im7cB@QFapNT}J2J8>qcpE=$nSXHGk)o>mw4 zQ9a*PbXAXQ15o?N4R?-;~dkNYm1>!{pqlvE34Pj$&QSh0Mua(ZKz zIdRREixm5ox-h=VDJ59366jyBcRKqhWRlAkCMU=@$SkrU9_-m-#J~~7^W9>_iJby+ z;-fpPSgA6oL=~~ z>Gc!#Sg}>ppvwgl?nYIHhE0|%MjPmTMDdUGPiZ8*jn*tyL^-9CY^LX$Zbyj zvxLf>_qJ}aVxqhZV3Ta4qjJTF1+r$k>#M9-tP?J^b&C`z3> z?0}N9bOiD5g^LptAhx0`B~>uq>lQ65fO`{GL4#nDR@3gWV$gwomHO&?gN0qMrr!$| zEl_qX`71hwChD`O((i?f7T7ToMPE^+$-=B^6qY2}V#U$M*^Xj)S;|U*;^AV&v50=i z_V!rUWPhT?iA*KRBy09kHQrV%QZC6vfy=hP7Fe+{07wWOZn_5fSg{v?NduQb{#GnR zM7ShrU5DXf#Y81*l&pRN#fo??f+LdFMZ-BB7A#9;^fITZ*)yl9y|a~z5@d%(@G*vc zvW<#wqQ!|4;B~cq1K)*<5qY2p9_0(2Ws4E6$|EEVijB^=>ak)f7v%rh`9?dH diff --git a/bindings/dotnet/examples/shader/resources/blur.sfx b/bindings/dotnet/examples/shader/resources/blur.sfx deleted file mode 100644 index 4c9f1128..00000000 --- a/bindings/dotnet/examples/shader/resources/blur.sfx +++ /dev/null @@ -1,16 +0,0 @@ -uniform sampler2D texture; -uniform float offset; - -void main() -{ - vec2 offx = vec2(offset, 0.0); - vec2 offy = vec2(0.0, offset); - - vec4 c0 = texture2D(texture, gl_TexCoord[0].xy); - vec4 c1 = texture2D(texture, gl_TexCoord[0].xy - offy); - vec4 c2 = texture2D(texture, gl_TexCoord[0].xy + offy); - vec4 c3 = texture2D(texture, gl_TexCoord[0].xy - offx); - vec4 c4 = texture2D(texture, gl_TexCoord[0].xy + offx); - - gl_FragColor = gl_Color * (c0 * 0.2 + c1 * 0.2 + c2 * 0.2 + c3 * 0.2 + c4 * 0.2); -} diff --git a/bindings/dotnet/examples/shader/resources/colorize.sfx b/bindings/dotnet/examples/shader/resources/colorize.sfx deleted file mode 100644 index eeb407c8..00000000 --- a/bindings/dotnet/examples/shader/resources/colorize.sfx +++ /dev/null @@ -1,11 +0,0 @@ -uniform sampler2D texture; -uniform vec3 color; - -void main() -{ - vec4 pixel = texture2D(texture, gl_TexCoord[0].xy) * gl_Color; - float gray = pixel.r * 0.39 + pixel.g * 0.50 + pixel.b * 0.11; - - gl_FragColor = vec4(gray * color, 1.0) * 0.6 + pixel * 0.4; - gl_FragColor.a = pixel.a; -} diff --git a/bindings/dotnet/examples/shader/resources/fisheye.sfx b/bindings/dotnet/examples/shader/resources/fisheye.sfx deleted file mode 100644 index 97e3f8e4..00000000 --- a/bindings/dotnet/examples/shader/resources/fisheye.sfx +++ /dev/null @@ -1,13 +0,0 @@ -uniform sampler2D texture; -uniform vec2 mouse; - -void main() -{ - float len = distance(gl_TexCoord[0].xy, mouse) * 7.0; - - vec2 coords = gl_TexCoord[0].xy; - if (len < 1.0) - coords += (gl_TexCoord[0].xy - mouse) * len; - - gl_FragColor = texture2D(texture, coords) * gl_Color; -} diff --git a/bindings/dotnet/examples/shader/resources/nothing.sfx b/bindings/dotnet/examples/shader/resources/nothing.sfx deleted file mode 100644 index cde0473a..00000000 --- a/bindings/dotnet/examples/shader/resources/nothing.sfx +++ /dev/null @@ -1,6 +0,0 @@ -uniform sampler2D texture; - -void main() -{ - gl_FragColor = texture2D(texture, gl_TexCoord[0].xy) * gl_Color; -} diff --git a/bindings/dotnet/examples/shader/resources/pixelate.sfx b/bindings/dotnet/examples/shader/resources/pixelate.sfx deleted file mode 100644 index 5b82f08d..00000000 --- a/bindings/dotnet/examples/shader/resources/pixelate.sfx +++ /dev/null @@ -1,10 +0,0 @@ -uniform sampler2D texture; -uniform vec2 mouse; - -void main() -{ - float factor = 5 + 100 * length(mouse); - vec2 pos = floor(gl_TexCoord[0].xy * factor + 0.5) / factor; - - gl_FragColor = texture2D(texture, pos) * gl_Color; -} diff --git a/bindings/dotnet/examples/shader/resources/sprite.png b/bindings/dotnet/examples/shader/resources/sprite.png deleted file mode 100644 index 7b508f681683d9f5694d77c90976407dbbc26651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6241 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 LNkvXXu0mjfpAzUi diff --git a/bindings/dotnet/examples/shader/resources/wave.jpg b/bindings/dotnet/examples/shader/resources/wave.jpg deleted file mode 100644 index cd125b8c82fe5b51d1d15f75b95cba2b5ca4a516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23249 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 gRk54Iu4Y9ghG72y(FAw7Vc0$N1)N=g - - Debug - AnyCPU - 9.0.21022 - 2.0 - {9D4738F7-34EA-433A-A765-AF85A52A174D} - WinExe - Properties - shader - shader - - - 2.0 - - - shader.Program - - - true - .\ - DEBUG;TRACE - full - x86 - prompt - - - .\ - TRACE - true - pdbonly - x86 - prompt - - - true - .\ - DEBUG;TRACE - full - x64 - prompt - - - .\ - TRACE - true - pdbonly - x64 - prompt - - - - {46786269-57B9-48E7-AA4F-8F4D84609FE6} - sfml-graphics - - - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F} - sfml-window - - - - - - - - - - - \ No newline at end of file diff --git a/bindings/dotnet/examples/sound/Sound.cs b/bindings/dotnet/examples/sound/Sound.cs deleted file mode 100644 index 952ebc14..00000000 --- a/bindings/dotnet/examples/sound/Sound.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System; -using System.Threading; -using SFML; -using SFML.Audio; - -namespace sound -{ - static class Program - { - ///

- /// The main entry point for the application. - /// - static void Main(string[] args) - { - // Play a sound - PlaySound(); - Console.Clear(); - - // Play a music - PlayMusic(); - } - - /// - /// Play a sound - /// - private static void PlaySound() - { - // Load a sound buffer from a wav file - SoundBuffer buffer = new SoundBuffer("resources/canary.wav"); - - // Display sound informations - Console.WriteLine("canary.wav :"); - Console.WriteLine(" " + buffer.Duration + " sec"); - Console.WriteLine(" " + buffer.SampleRate + " samples / sec"); - Console.WriteLine(" " + buffer.ChannelsCount + " channels"); - - // Create a sound instance and play it - Sound sound = new Sound(buffer); - sound.Play(); - - // Loop while the sound is playing - while (sound.Status == SoundStatus.Playing) - { - // Display the playing position - Console.CursorLeft = 0; - Console.Write("Playing... " + sound.PlayingOffset + " sec "); - - // Leave some CPU time for other processes - Thread.Sleep(100); - } - } - - /// - /// Play a music - /// - private static void PlayMusic() - { - // Load an ogg music file - Music music = new Music("resources/orchestral.ogg"); - - // Display music informations - Console.WriteLine("orchestral.ogg :"); - Console.WriteLine(" " + music.Duration + " sec"); - Console.WriteLine(" " + music.SampleRate + " samples / sec"); - Console.WriteLine(" " + music.ChannelsCount + " channels"); - - // Play it - music.Play(); - - // Loop while the music is playing - while (music.Status == SoundStatus.Playing) - { - // Display the playing position - Console.CursorLeft = 0; - Console.Write("Playing... " + music.PlayingOffset + " sec "); - - // Leave some CPU time for other processes - Thread.Sleep(100); - } - } - } -} diff --git a/bindings/dotnet/examples/sound/resources/canary.wav b/bindings/dotnet/examples/sound/resources/canary.wav deleted file mode 100644 index a0f3aecc5db38e9357edce96c8139ec04d1fcee5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63504 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 Tx%Yr^KOg32zryX%d+6l?8x!SD diff --git a/bindings/dotnet/examples/sound/sound.csproj b/bindings/dotnet/examples/sound/sound.csproj deleted file mode 100644 index 729f4fce..00000000 --- a/bindings/dotnet/examples/sound/sound.csproj +++ /dev/null @@ -1,75 +0,0 @@ - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {16E177F3-A0FF-4091-8521-562E0EBAA3AB} - Exe - Properties - sound - sound - sound.Program - - - 2.0 - - - - - true - .\ - DEBUG;TRACE - full - x86 - prompt - - - .\ - TRACE - true - pdbonly - x86 - prompt - - - true - .\ - DEBUG;TRACE - full - x64 - prompt - - - .\ - TRACE - true - pdbonly - x64 - prompt - - - - {0B202C4D-A457-47FE-84A3-031DD878C6BE} - sfml-audio - - - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F} - sfml-window - - - - - - - - - - - \ No newline at end of file diff --git a/bindings/dotnet/examples/sound_capture/SoundCapture.cs b/bindings/dotnet/examples/sound_capture/SoundCapture.cs deleted file mode 100644 index 94693675..00000000 --- a/bindings/dotnet/examples/sound_capture/SoundCapture.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Threading; -using SFML; -using SFML.Audio; - -namespace sound_capture -{ - static class Program - { - /// - /// The main entry point for the application. - /// - static void Main(string[] args) - { - // Check that the device can capture audio - if (SoundRecorder.IsAvailable == false) - { - Console.WriteLine("Sorry, audio capture is not supported by your system"); - return; - } - - // Choose the sample rate - Console.WriteLine("Please choose the sample rate for sound capture (44100 is CD quality) : "); - uint sampleRate = uint.Parse(Console.ReadLine()); - - // Wait for user input... - Console.WriteLine("Press enter to start recording audio"); - Console.ReadLine(); - - // Here we'll use an integrated custom recorder, which saves the captured data into a SoundBuffer - SoundBufferRecorder recorder = new SoundBufferRecorder(); - - // Audio capture is done in a separate thread, so we can block the main thread while it is capturing - recorder.Start(sampleRate); - Console.WriteLine("Recording... press enter to stop"); - Console.ReadLine(); - recorder.Stop(); - - // Get the buffer containing the captured data - SoundBuffer buffer = recorder.SoundBuffer; - - // Display captured sound informations - Console.WriteLine("Sound information :"); - Console.WriteLine(" " + buffer.Duration + " seconds"); - Console.WriteLine(" " + buffer.SampleRate + " samples / seconds"); - Console.WriteLine(" " + buffer.ChannelsCount + " channels"); - - // Choose what to do with the recorded sound data - Console.WriteLine("What do you want to do with captured sound (p = play, s = save) ? "); - char choice = char.Parse(Console.ReadLine()); - - if (choice == 's') - { - // Choose the filename - Console.WriteLine("Choose the file to create : "); - string filename = Console.ReadLine(); - - // Save the buffer - buffer.SaveToFile(filename); - } - else - { - // Create a sound instance and play it - Sound sound = new Sound(buffer); - sound.Play(); - - // Wait until finished - while (sound.Status == SoundStatus.Playing) - { - // Display the playing position - Console.CursorLeft = 0; - Console.Write("Playing... " + sound.PlayingOffset + " sec "); - - // Leave some CPU time for other threads - Thread.Sleep(100); - } - } - - // Finished ! - Console.WriteLine("\nDone !"); - } - } -} diff --git a/bindings/dotnet/examples/sound_capture/sound_capture.csproj b/bindings/dotnet/examples/sound_capture/sound_capture.csproj deleted file mode 100644 index b5db7a59..00000000 --- a/bindings/dotnet/examples/sound_capture/sound_capture.csproj +++ /dev/null @@ -1,75 +0,0 @@ - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {F2F48990-F81E-41BA-AD01-168F6178C807} - Exe - Properties - sound_capture - sound_capture - sound_capture.Program - - - 2.0 - - - - - true - .\ - DEBUG;TRACE - full - x86 - prompt - - - .\ - TRACE - true - pdbonly - x86 - prompt - - - true - .\ - DEBUG;TRACE - full - x64 - prompt - - - .\ - TRACE - true - pdbonly - x64 - prompt - - - - {0B202C4D-A457-47FE-84A3-031DD878C6BE} - sfml-audio - - - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F} - sfml-window - - - - - - - - - - - \ No newline at end of file diff --git a/bindings/dotnet/examples/visualbasic/My Project/Application.Designer.vb b/bindings/dotnet/examples/visualbasic/My Project/Application.Designer.vb deleted file mode 100644 index d73a4d86..00000000 --- a/bindings/dotnet/examples/visualbasic/My Project/Application.Designer.vb +++ /dev/null @@ -1,13 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:2.0.50727.3053 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - diff --git a/bindings/dotnet/examples/visualbasic/My Project/Application.myapp b/bindings/dotnet/examples/visualbasic/My Project/Application.myapp deleted file mode 100644 index 23b627fb..00000000 --- a/bindings/dotnet/examples/visualbasic/My Project/Application.myapp +++ /dev/null @@ -1,10 +0,0 @@ - - - false - false - 0 - true - 0 - 2 - true - diff --git a/bindings/dotnet/examples/visualbasic/My Project/AssemblyInfo.vb b/bindings/dotnet/examples/visualbasic/My Project/AssemblyInfo.vb deleted file mode 100644 index ee7d3d64..00000000 --- a/bindings/dotnet/examples/visualbasic/My Project/AssemblyInfo.vb +++ /dev/null @@ -1,35 +0,0 @@ -Imports System -Imports System.Reflection -Imports System.Runtime.InteropServices - -' General Information about an assembly is controlled through the following -' set of attributes. Change these attribute values to modify the information -' associated with an assembly. - -' Review the values of the assembly attributes - - - - - - - - - - -'The following GUID is for the ID of the typelib if this project is exposed to COM - - -' Version information for an assembly consists of the following four values: -' -' Major Version -' Minor Version -' Build Number -' Revision -' -' You can specify all the values or you can default the Build and Revision Numbers -' by using the '*' as shown below: -' - - - diff --git a/bindings/dotnet/examples/visualbasic/My Project/Resources.Designer.vb b/bindings/dotnet/examples/visualbasic/My Project/Resources.Designer.vb deleted file mode 100644 index 4c1f1ee6..00000000 --- a/bindings/dotnet/examples/visualbasic/My Project/Resources.Designer.vb +++ /dev/null @@ -1,63 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:2.0.50727.3053 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - -Imports System - -Namespace My.Resources - - 'This class was auto-generated by the StronglyTypedResourceBuilder - 'class via a tool like ResGen or Visual Studio. - 'To add or remove a member, edit your .ResX file then rerun ResGen - 'with the /str option, or rebuild your VS project. - ''' - ''' A strongly-typed resource class, for looking up localized strings, etc. - ''' - _ - Friend Module Resources - - Private resourceMan As Global.System.Resources.ResourceManager - - Private resourceCulture As Global.System.Globalization.CultureInfo - - ''' - ''' Returns the cached ResourceManager instance used by this class. - ''' - _ - Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager - Get - If Object.ReferenceEquals(resourceMan, Nothing) Then - Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("visualbasic.Resources", GetType(Resources).Assembly) - resourceMan = temp - End If - Return resourceMan - End Get - End Property - - ''' - ''' Overrides the current thread's CurrentUICulture property for all - ''' resource lookups using this strongly typed resource class. - ''' - _ - Friend Property Culture() As Global.System.Globalization.CultureInfo - Get - Return resourceCulture - End Get - Set - resourceCulture = value - End Set - End Property - End Module -End Namespace diff --git a/bindings/dotnet/examples/visualbasic/My Project/Resources.resx b/bindings/dotnet/examples/visualbasic/My Project/Resources.resx deleted file mode 100644 index ffecec85..00000000 --- a/bindings/dotnet/examples/visualbasic/My Project/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/bindings/dotnet/examples/visualbasic/My Project/Settings.Designer.vb b/bindings/dotnet/examples/visualbasic/My Project/Settings.Designer.vb deleted file mode 100644 index b6a816e3..00000000 --- a/bindings/dotnet/examples/visualbasic/My Project/Settings.Designer.vb +++ /dev/null @@ -1,73 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:2.0.50727.3053 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - - -Namespace My - - _ - Partial Friend NotInheritable Class MySettings - Inherits Global.System.Configuration.ApplicationSettingsBase - - Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings),MySettings) - -#Region "My.Settings Auto-Save Functionality" -#If _MyType = "WindowsForms" Then - Private Shared addedHandler As Boolean - - Private Shared addedHandlerLockObject As New Object - - _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) - If My.Application.SaveMySettingsOnExit Then - My.Settings.Save() - End If - End Sub -#End If -#End Region - - Public Shared ReadOnly Property [Default]() As MySettings - Get - -#If _MyType = "WindowsForms" Then - If Not addedHandler Then - SyncLock addedHandlerLockObject - If Not addedHandler Then - AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings - addedHandler = True - End If - End SyncLock - End If -#End If - Return defaultInstance - End Get - End Property - End Class -End Namespace - -Namespace My - - _ - Friend Module MySettingsProperty - - _ - Friend ReadOnly Property Settings() As Global.visualbasic.My.MySettings - Get - Return Global.visualbasic.My.MySettings.Default - End Get - End Property - End Module -End Namespace diff --git a/bindings/dotnet/examples/visualbasic/My Project/Settings.settings b/bindings/dotnet/examples/visualbasic/My Project/Settings.settings deleted file mode 100644 index 377f56d6..00000000 --- a/bindings/dotnet/examples/visualbasic/My Project/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/bindings/dotnet/examples/visualbasic/OpenGL.vb b/bindings/dotnet/examples/visualbasic/OpenGL.vb deleted file mode 100644 index b25ec708..00000000 --- a/bindings/dotnet/examples/visualbasic/OpenGL.vb +++ /dev/null @@ -1,161 +0,0 @@ -Imports SFML -Imports SFML.Window -Imports SFML.Graphics -Imports Tao.OpenGl -Imports Tao.FreeGlut - - -Module OpenGL - - Dim WithEvents window As RenderWindow - - ''' - ''' Entry point of application - ''' - Sub Main() - - ' Create main window - window = New RenderWindow(New VideoMode(800, 600), "SFML.Net OpenGL (Visual Basic)", Styles.Default, new ContextSettings(32, 0)) - - ' Create a sprite for the background - Dim backgroundImage = New Image("resources/background.jpg") - Dim background = New Sprite(backgroundImage) - - ' Create a text to display - Dim text = New Text("SFML / OpenGL demo") - text.Position = New Vector2f(250.0F, 450.0F) - text.Color = New Color(255, 255, 255, 170) - - ' Load an OpenGL texture. - ' We could directly use a SFML.Graphics.Image as an OpenGL texture (with its Bind() member function), - ' but here we want more control on it (generate mipmaps, ...) so we create a new one - Dim texture = 0 - Using tempImage = New Image("resources/texture.jpg") - Gl.glGenTextures(1, texture) - Gl.glBindTexture(Gl.GL_TEXTURE_2D, texture) - Glu.gluBuild2DMipmaps(Gl.GL_TEXTURE_2D, Gl.GL_RGBA, tempImage.Width, tempImage.Height, Gl.GL_RGBA, Gl.GL_UNSIGNED_BYTE, tempImage.Pixels) - Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR) - Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR_MIPMAP_LINEAR) - End Using - - ' Enable Z-buffer read and write - Gl.glEnable(Gl.GL_DEPTH_TEST) - Gl.glDepthMask(Gl.GL_TRUE) - Gl.glClearDepth(1.0F) - - ' Setup a perspective projection - Gl.glMatrixMode(Gl.GL_PROJECTION) - Gl.glLoadIdentity() - Glu.gluPerspective(90.0F, 1.0F, 1.0F, 500.0F) - - ' Bind our texture - Gl.glEnable(Gl.GL_TEXTURE_2D) - Gl.glBindTexture(Gl.GL_TEXTURE_2D, texture) - Gl.glColor4f(1.0F, 1.0F, 1.0F, 1.0F) - - Dim time = 0.0F - - ' Start game loop - While (window.IsOpened()) - - ' Process events - window.DispatchEvents() - - ' Draw background - window.SaveGLStates() - window.Draw(background) - window.RestoreGLStates() - - ' Clear depth buffer - Gl.glClear(Gl.GL_DEPTH_BUFFER_BIT) - - ' We get the position of the mouse cursor, so that we can move the box accordingly - Dim x = window.GetCursorPosition().X * 200.0F / window.Width - 100.0F - Dim y = -window.GetCursorPosition().Y * 200.0F / window.Height + 100.0F - - ' Apply some transformations - time += window.GetFrameTime() / 1000.0F - Gl.glMatrixMode(Gl.GL_MODELVIEW) - Gl.glLoadIdentity() - Gl.glTranslatef(x, y, -100.0F) - Gl.glRotatef(time * 50, 1.0F, 0.0F, 0.0F) - Gl.glRotatef(time * 30, 0.0F, 1.0F, 0.0F) - Gl.glRotatef(time * 90, 0.0F, 0.0F, 1.0F) - - ' Draw a cube - Dim size = 20.0F - Gl.glBegin(Gl.GL_QUADS) - - Gl.glTexCoord2f(0, 0) : Gl.glVertex3f(-size, -size, -size) - Gl.glTexCoord2f(0, 1) : Gl.glVertex3f(-size, size, -size) - Gl.glTexCoord2f(1, 1) : Gl.glVertex3f(size, size, -size) - Gl.glTexCoord2f(1, 0) : Gl.glVertex3f(size, -size, -size) - - Gl.glTexCoord2f(0, 0) : Gl.glVertex3f(-size, -size, size) - Gl.glTexCoord2f(0, 1) : Gl.glVertex3f(-size, size, size) - Gl.glTexCoord2f(1, 1) : Gl.glVertex3f(size, size, size) - Gl.glTexCoord2f(1, 0) : Gl.glVertex3f(size, -size, size) - - Gl.glTexCoord2f(0, 0) : Gl.glVertex3f(-size, -size, -size) - Gl.glTexCoord2f(0, 1) : Gl.glVertex3f(-size, size, -size) - Gl.glTexCoord2f(1, 1) : Gl.glVertex3f(-size, size, size) - Gl.glTexCoord2f(1, 0) : Gl.glVertex3f(-size, -size, size) - - Gl.glTexCoord2f(0, 0) : Gl.glVertex3f(size, -size, -size) - Gl.glTexCoord2f(0, 1) : Gl.glVertex3f(size, size, -size) - Gl.glTexCoord2f(1, 1) : Gl.glVertex3f(size, size, size) - Gl.glTexCoord2f(1, 0) : Gl.glVertex3f(size, -size, size) - - Gl.glTexCoord2f(0, 1) : Gl.glVertex3f(-size, -size, size) - Gl.glTexCoord2f(0, 0) : Gl.glVertex3f(-size, -size, -size) - Gl.glTexCoord2f(1, 0) : Gl.glVertex3f(size, -size, -size) - Gl.glTexCoord2f(1, 1) : Gl.glVertex3f(size, -size, size) - - Gl.glTexCoord2f(0, 1) : Gl.glVertex3f(-size, size, size) - Gl.glTexCoord2f(0, 0) : Gl.glVertex3f(-size, size, -size) - Gl.glTexCoord2f(1, 0) : Gl.glVertex3f(size, size, -size) - Gl.glTexCoord2f(1, 1) : Gl.glVertex3f(size, size, size) - - Gl.glEnd() - - ' Draw some text on top of our OpenGL object - window.SaveGLStates() - window.Draw(text) - window.RestoreGLStates() - - ' Finally, display the rendered frame on screen - window.Display() - - End While - - ' Don't forget to destroy our texture - Gl.glDeleteTextures(1, texture) - - End Sub - - ''' - ''' Function called when the window is closed - ''' - Sub App_Closed(ByVal sender As Object, ByVal e As EventArgs) Handles window.Closed - Dim window = CType(sender, RenderWindow) - window.Close() - End Sub - - ''' - ''' Function called when a key is pressed - ''' - Sub App_KeyPressed(ByVal sender As Object, ByVal e As KeyEventArgs) Handles window.KeyPressed - Dim window = CType(sender, RenderWindow) - If e.Code = Keyboard.Key.Escape Then - window.Close() - End If - End Sub - - ''' - ''' Function called when the window is resized - ''' - Sub App_Resized(ByVal sender As Object, ByVal e As SizeEventArgs) Handles window.Resized - Gl.glViewport(0, 0, e.Width, e.Height) - End Sub - -End Module diff --git a/bindings/dotnet/examples/visualbasic/resources/background.jpg b/bindings/dotnet/examples/visualbasic/resources/background.jpg deleted file mode 100644 index 20724fa92f2ce1acfb82787a0ec9debdca103f68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142959 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 NV8xiE)h|##|Jjbt96JC2 diff --git a/bindings/dotnet/examples/visualbasic/resources/texture.jpg b/bindings/dotnet/examples/visualbasic/resources/texture.jpg deleted file mode 100644 index 6cf7528eb43f27054b98fd5a4a93bb8c47829b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20550 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 diff --git a/bindings/dotnet/examples/visualbasic/visualbasic.sln b/bindings/dotnet/examples/visualbasic/visualbasic.sln deleted file mode 100644 index 3d380939..00000000 --- a/bindings/dotnet/examples/visualbasic/visualbasic.sln +++ /dev/null @@ -1,26 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "visualbasic", "visualbasic.vbproj", "{98552080-F688-46B4-A2FF-1AC7C50ECBE8}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {98552080-F688-46B4-A2FF-1AC7C50ECBE8}.Debug|x64.ActiveCfg = Debug|x64 - {98552080-F688-46B4-A2FF-1AC7C50ECBE8}.Debug|x64.Build.0 = Debug|x64 - {98552080-F688-46B4-A2FF-1AC7C50ECBE8}.Debug|x86.ActiveCfg = Debug|x86 - {98552080-F688-46B4-A2FF-1AC7C50ECBE8}.Debug|x86.Build.0 = Debug|x86 - {98552080-F688-46B4-A2FF-1AC7C50ECBE8}.Release|x64.ActiveCfg = Release|x64 - {98552080-F688-46B4-A2FF-1AC7C50ECBE8}.Release|x64.Build.0 = Release|x64 - {98552080-F688-46B4-A2FF-1AC7C50ECBE8}.Release|x86.ActiveCfg = Release|x86 - {98552080-F688-46B4-A2FF-1AC7C50ECBE8}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/bindings/dotnet/examples/visualbasic/visualbasic.vbproj b/bindings/dotnet/examples/visualbasic/visualbasic.vbproj deleted file mode 100644 index 1c795974..00000000 --- a/bindings/dotnet/examples/visualbasic/visualbasic.vbproj +++ /dev/null @@ -1,159 +0,0 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {98552080-F688-46B4-A2FF-1AC7C50ECBE8} - WinExe - visualbasic.OpenGL - visualbasic - visualbasic - 512 - WindowsFormsWithCustomSubMain - v3.5 - On - Binary - Off - On - - - true - full - true - true - .\ - visualbasic.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - visualbasic.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - true - true - true - .\ - visualbasic.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - full - x64 - - - true - bin\x64\Release\ - visualbasic.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x64 - - - true - true - true - .\ - visualbasic.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - full - x86 - - - true - bin\x86\Release\ - visualbasic.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x86 - - - - False - ..\..\lib\sfmlnet2-graphics.dll - - - False - ..\..\lib\sfmlnet2-window.dll - - - - - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - - - - - - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - \ No newline at end of file diff --git a/bindings/dotnet/examples/window/Window.cs b/bindings/dotnet/examples/window/Window.cs deleted file mode 100644 index 1fc64416..00000000 --- a/bindings/dotnet/examples/window/Window.cs +++ /dev/null @@ -1,134 +0,0 @@ -using System; -using SFML; -using SFML.Window; -using Tao.OpenGl; - -namespace window -{ - static class Program - { - ///

- /// The main entry point for the application. - /// - static void Main() - { - // Create the main window - Window window = new Window(new VideoMode(640, 480, 32), "SFML.Net Window", Styles.Default, new ContextSettings(32, 0)); - - // Setup event handlers - window.Closed += new EventHandler(OnClosed); - window.KeyPressed += new EventHandler(OnKeyPressed); - window.Resized += new EventHandler(OnResized); - - // Set the color and depth clear values - Gl.glClearDepth(1.0F); - Gl.glClearColor(0.0F, 0.0F, 0.0F, 0.0F); - - // Enable Z-buffer read and write - Gl.glEnable(Gl.GL_DEPTH_TEST); - Gl.glDepthMask(Gl.GL_TRUE); - - // Setup a perspective projection - Gl.glMatrixMode(Gl.GL_PROJECTION); - Gl.glLoadIdentity(); - Glu.gluPerspective(90.0F, 1.0F, 1.0F, 500.0F); - - float time = 0.0F; - - // Start the game loop - while (window.IsOpened()) - { - // Process events - window.DispatchEvents(); - - // Activate the window before using OpenGL commands. - // This is useless here because we have only one window which is - // always the active one, but don't forget it if you use multiple windows - window.SetActive(); - - // Clear color and depth buffer - Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); - - // Apply some transformations - time += window.GetFrameTime() / 1000.0F; - Gl.glMatrixMode(Gl.GL_MODELVIEW); - Gl.glLoadIdentity(); - Gl.glTranslatef(0.0F, 0.0F, -200.0F); - Gl.glRotatef(time * 50, 1.0F, 0.0F, 0.0F); - Gl.glRotatef(time * 30, 0.0F, 1.0F, 0.0F); - Gl.glRotatef(time * 90, 0.0F, 0.0F, 1.0F); - - // Draw a cube - Gl.glBegin(Gl.GL_QUADS); - - Gl.glColor3f(1.0F, 0.0F, 0.0F); - Gl.glVertex3f(-50.0F, -50.0F, -50.0F); - Gl.glVertex3f(-50.0F, 50.0F, -50.0F); - Gl.glVertex3f( 50.0F, 50.0F, -50.0F); - Gl.glVertex3f( 50.0F, -50.0F, -50.0F); - - Gl.glColor3f(1.0F, 0.0F, 0.0F); - Gl.glVertex3f(-50.0F, -50.0F, 50.0F); - Gl.glVertex3f(-50.0F, 50.0F, 50.0F); - Gl.glVertex3f( 50.0F, 50.0F, 50.0F); - Gl.glVertex3f( 50.0F, -50.0F, 50.0F); - - Gl.glColor3f(0.0F, 1.0F, 0.0F); - Gl.glVertex3f(-50.0F, -50.0F, -50.0F); - Gl.glVertex3f(-50.0F, 50.0F, -50.0F); - Gl.glVertex3f(-50.0F, 50.0F, 50.0F); - Gl.glVertex3f(-50.0F, -50.0F, 50.0F); - - Gl.glColor3f(0.0F, 1.0F, 0.0F); - Gl.glVertex3f(50.0F, -50.0F, -50.0F); - Gl.glVertex3f(50.0F, 50.0F, -50.0F); - Gl.glVertex3f(50.0F, 50.0F, 50.0F); - Gl.glVertex3f(50.0F, -50.0F, 50.0F); - - Gl.glColor3f(0.0F, 0.0F, 1.0F); - Gl.glVertex3f(-50.0F, -50.0F, 50.0F); - Gl.glVertex3f(-50.0F, -50.0F, -50.0F); - Gl.glVertex3f( 50.0F, -50.0F, -50.0F); - Gl.glVertex3f( 50.0F, -50.0F, 50.0F); - - Gl.glColor3f(0.0F, 0.0F, 1.0F); - Gl.glVertex3f(-50.0F, 50.0F, 50.0F); - Gl.glVertex3f(-50.0F, 50.0F, -50.0F); - Gl.glVertex3f( 50.0F, 50.0F, -50.0F); - Gl.glVertex3f( 50.0F, 50.0F, 50.0F); - - Gl.glEnd(); - - // Finally, display the rendered frame on screen - window.Display(); - } - } - - /// - /// Function called when the window is closed - /// - static void OnClosed(object sender, EventArgs e) - { - Window window = (Window)sender; - window.Close(); - } - - /// - /// Function called when a key is pressed - /// - static void OnKeyPressed(object sender, KeyEventArgs e) - { - Window window = (Window)sender; - if (e.Code == Keyboard.Key.Escape) - window.Close(); - } - - /// - /// Function called when the window is resized - /// - static void OnResized(object sender, SizeEventArgs e) - { - Gl.glViewport(0, 0, (int)e.Width, (int)e.Height); - } - } -} diff --git a/bindings/dotnet/examples/window/window.csproj b/bindings/dotnet/examples/window/window.csproj deleted file mode 100644 index c20647d5..00000000 --- a/bindings/dotnet/examples/window/window.csproj +++ /dev/null @@ -1,75 +0,0 @@ - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {C1FBB9AF-B69A-4D06-9BDC-EAC7606296FF} - WinExe - Properties - window - window - - - 2.0 - - - window.Program - - - true - .\ - DEBUG;TRACE - full - x86 - prompt - - - .\ - TRACE - true - pdbonly - x86 - prompt - - - true - .\ - DEBUG;TRACE - full - x64 - prompt - - - .\ - TRACE - true - pdbonly - x64 - prompt - - - - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F} - sfml-window - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bindings/dotnet/extlibs/x64/csfml-audio-2.dll b/bindings/dotnet/extlibs/x64/csfml-audio-2.dll deleted file mode 100644 index 031d001d5f578b396e7c0390a2b048afb4ef2787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79360 zcmeFadwf*I`9FSg*$^&a7i2Ns7Y!N>Vg%G+(C(51&dLT>Knwzs5CWmxVzLnsilG5z zJ+7v$)@xgPv$VBpTWbMZ8!kc+1iYhI#cJzW;{|Vk*ZsZUGjsNw-6Yh{_w)Vd_j-NL z>$PXj%=64M&pb2p%rno-Ia_&6o0g?%S~h-(gr;po$jdM8$G;s0xc?cO`)iN&erCwV zjL-XRf<_*uj}AUb;C(VUD&RGP2a53e!Tm(IeDJ9v ztXBDIML2muZ9QpQH3?T}+T5FRv?(i3m}sRP*3R_x&FrmdcO&IqnY!`&2tDGtC4&K< zGd0b{8!ju<2!-%Q&d*Q~nMvgZW_nzv_;WI}7thkP*WTB(2{{tRuH%EDx= zAwxTcVE<#9cB)ADmbXVWZ37#%hiiDGZg~W-@*m^I@>usYd>^*hwSfSi-UZJ;ys@dV79b%L z$VTu+x{k}wavSRwEd^pbL6DVbgi&4a#yYb7zek4z^qA|F2Q^KPX6T8bAO1qq_M~2V zbY?;B)q3lDK43lqOygDE_#Eg7?-pPm*_IK>)s21Tr;9@oK^w`Z<&KCA?FdrQOs+X?s8~B>64Y zca|6UzDXn!EJD`>-wE$mpx1_~eD!Nqx|bfClCQ@m;dtfmzfzXp{`<7@7k}&WPwS@0lok@@PeJ=Tn^3Q> z+ZAz{A1_3u+x2K!J$?=NE!T|+Ve=r8A=lj$>5TYdDBTqLe$w{oAZY~iC86IUhi>#0 zv>>oD2&}A-eQHMhHh@yH@6nCk@#T)xZs<)1xEo@!C+ch7qvo?aOU%3GPl(4t1%(Ok zlRp&_4i$tG-lu;irM>l+ly-SRSdUFDKtqNK>J#3WM0EY#26{7Im2|>pMMIKp)K(7} zTlIC%HTRzo>!+Dpz6-3@?fSNn&*`lliQv)0dh4;wrnf4V2sIsogLs^rUGo@1^P zLq?!JXgnJl$fY*F$OTkGjoKi zC}AIdqUn8!FjNZ?^k`oMg{T{bcdo2o@r-R2KjCt=d3&U{Zd_RvFggg$^%FYf3>0{>zy@zs;B6a>h&0|5f091fxGq-|f~OVP zvZPPS-JT4ygzOiRz9{NAg< zZqx@73Ka~)9kLP6qi~0$abHzX0KNc#!uaeyvPSZ#Fvz3AepGmQQk0;4WiD>PY}_*9 zi!nc?NFh1C%*kM-V&uV4tSmben}A97c~RT)=qVM^{EFyF32z$;OCNS3zaRS49Ekij z{|WDRB{qs(M7Gh$1-PTnq6$U$m4TxHD5rJ1AN|(4jIp`V01Drtk`#Y2*Ygl9)pj)F z$kq&~|4-_=G6Nz;Fc*z|1Xi`AxFg`xFu!}^KbmbNSw)G^2o&3eGk;)IO5B#u*nXO} zuD!W$Nttg`CRDh)VhecpId~^QF~0O@q`)JM7~><01LIZG4IVBjTAu{V&I;wd+- z9kucK$~hiAHqolOm5>0;zG<*Teeev%db3?Z(Gqm~+M|=B-3GGQgXEL?RK+UEAJ##g6jR%aO9f zU$SycWVCK%VIneiC&HePfh?6!T77h5D)M2&ekF!L^2RS-lK1yRi&Gkcr=uNfkP zz-6vWkRdX{2>rRBJl1cZF=bQ~W679;@^?UcVnThEl9(Vw6y8jWJ>lJfB%84RmYtHe z=o#{++H;YklD-iKM}nP?VoNjTwXHqae3J1p+SB|Pwx9d)gKOK}75_}^Y)xdXdP_GJ zvHs9Uw`}WTsoL~~=zN$ilMU!a117v4a5wVcXmo(pXSvT<3yx8NNumNJssf+Em`H3Z z1mSXqx~REirkIo`dCbSeld+FPrFk09=+(^#@=v*H z+SP%nfveE^n4zvLKwED@&jR~Hz}v`#f5ee_(Us-?^()7fLt@5<{9Z z!>}?w3>iDwoICZ{gaY>&eyx0TZ`cuu_QY0bk!+YsS*zabbQ$l4jP|i5tFp=?eWEM< zW7p%U^E;%vd~>!>(*nk>g!e*F#T;GFz<>Z zXO#I_vq4fY4}RqoOtK#9F2_Is`;dp=+(*ot>h`@(v1ME}s5~M%SZyt{$!Oa1FN;>yUhQ@94_n z=*m&il_iLbL3iUEoE(-Z+S#&4Vfkk2wR$#8#Q{23IepN3F|6iE`8g~t!GD+aR>J$( z4>S$h8mhQ2#s?x;Q=QNQRga`f^Hb^@sSyIxI3w6A9gMZ*Axsa(Ml~^zz5Cw~XU6GuG_gEWS)`r4bUXQ7U)q5fvT*SBIW|Uu;Ka^gb)?@z2 z#Vq=KmB;<~)C)25pvZ)G9Z0nvOEmXu-JPxK(CN|>`#SfoJJ>u+WvDcs3UcBSIc6Y7 zu=J@&e^Hc`XGBj06!chtC7GS&7Z!qFtrLwLDQGaHBtynr%0&t6VhL5Te?_?ze+|Y&p8VKX9!a?(AxGEf_(M zo~X_hBcR9rk9G>Pu|GeuH8XNvD3;gwc_LA61deUi!Ms^s16_4wM+R0Xu}R0wp<>vM zKh{}_@lr)4;Fy&TTqVX4W~I}oiH^9>Yz7UH9j4+w^BpL@q$>qN34`mTKgHos8h;1z z=uI-`j>Ti_>fB9eap>j6=s}oTZH>1U2^0WqFB%2OIaTSm*mR6o*HJLab#pYs=&Lkk zNaTB7kQHhJnk5%$N?p)Cbr(LnIm-j`iJ||2xGjhbVV~t4ATz<-&2okHEbyL8;$cXY z00z?;YjAhrt0cztPr~~{;Go2kRE0o%Sbk%<2DpZ6fPtjU93W9%;7fSnknbj+#TBs2 z-H&hGoC%W`j4TGS1rj0PWWfi501r+FTlF0x;YZN-QnHKnDriW%l~PG~13;3-Dyrj9 zRU#wJj3hn3<-QXd$XQ4VK5GTP!)@P|AJ#JA zUGuH+Jp%t+@WUy-IIyO308%1n1X?>YB5vNBPYA@yq|;&}7af9GYE384PKk>CiB9_} zCe&D2ZuA7K<+20O0Z|X7W^5BpPrKZg@K%9Qxt|g!@h$& zv1!)0xdm-VuG|$!=jfbyw}A9j)5|C4eQB@LxuWFR&I_S)BD2O{3$}qc~6uT@XmE2%YG8QRo0U+tDY_=n(Q8P6dGd|+UrQ8w!t(5 zwVPbypheQwlSz$QLRAW_y6DS9Vlyad=Et=DY>oOnRHYspe@rPcYXJ$TxXUjFfVAzX zyMnL`?jQ%YKD-K1Tfg2+T2dL3j#DGT)s~`g{9Fb)e7ERM(iN`9ez2Y$7)|Ck=S_hg z=Q4PbZhiqx3@eGrHzJwk$OT6VU8|3GN1rx9Sf^-SNhw8RDY^m2a1k8D&mL=rEpTg; zMbKXiZ{12jRssU6BL!(bkgyQYjVTTADeLBM0>~5{hq-0~a!f#u&-KzR?mHk%vfVLR z)8qnAXX80$A7u}9l}VU9qqRRbpZF}1ppp1{4#sG&O~q`>Q!(Rlkm@6k&`yLE)?xn1 zk2zn=%hBzCF(8l&vdAFqvUK_yHH>D`7b#=w;n!UIgYC&H^i_jo~a0@)8dF0AQRfm9swD z+5)B^(kk;DkqbWiWZTEfKT2~{DF(%OP_7kvn9WlJE0ZAk=gofvg`E>JFAjrp%=;UR zK8kKWWDK}iVf^wY0a~R%Ap!FKgsEJB+>eJ5?Xt6rX#6n7S#{%pzThA|CuXZk zDo2t5XL|7HCxDtW?PM-#wjnt>K5Sm4l7Vq4A7hiMpj6zC901o**r1}6VjIbe$8uwv zv7bWS@Ue7%6btut(i9OANz)HOazkBhX1&i$6Lsi(-FVr&LyG2N^OQ*}-uo+|aXQS< zr$qDqWF2{6{qbPcA3a2Roj_rtZeDjeaV9#2uv#Uh3E^rxIVps3VKc0fA%u(g7@KGd zVJ&1TN-46DJa|+>*lYe09m3W@Nl7^SL%=8M{)%1{$j5NkOZPWo#NR8bR+cX_$FgbC z+A>u3ToK&;2lQvZ&|}#H^`ZlCC9NJ9GPZ<_4xMeVJK?PrWV-A*uzU{}IzFL)XzX65 zR5RCeo7>pO;gTpeCqs!^`gy`J^EX02mmSj$0LhyW^|jl~8@TqT9?zxQqu-U33mPDa zV2xB6`i1i)FfGtk$6#L!>w`)o9yAV%b=T**0l{D$o;~tlCv?j6LRR(JFX26NuRR1q zIAqlLutv~}I;i0`!`Z;=Mjd+zMO%WU?M*r6n15qjhO!Vl;BI|d4B&10v!-6OUoU;W ziG;KCtOI}s-D3}+n|nAemmyQgI7E$B9fY|MGREfzWg)Ray+g4vnUQ`W<7v?WziefN z_XdrZg};WXV?eNH4}7yHWF3|&=t*?`U@Uv49vxqZFoF=fS@ZMb|3Xa!F=KnMs9kiP9ZlDv z+>=mLLuJvS;Im&vuz@zHK$I~}mT@&Y+}2#kTx+k z=FEs2rH70iVjcI~_qh*tBV@2$H(sJx%?sd9t2D07oe(QOO$(JCi1crp7l@t`Y~7ZL zSThvV%z}EcYNX;1%vK9K=R`ZN9F3GeWtwp4ptK?a_wP})Gy7zhv zuTro9C$3nR(;ll9#w8|HpV$oGj)ZTX`$pU`3!_bTqduV`6KiDC4|WA3v#y=74WrfF z`U)hXM;BoV#gM5AMdyNDSz9I#cmhzqKc7k>+9ZchL7UUNT@Vk>&y-r zv$QK>W0nSixy%D-1W9#RgRd&cZ$i#nfXLNyy*_$n{<0j4V3Q=Mk8To)O`?=*nFtCl zy|jp)go%uoeiJ!Q)GygKdTiLG7+0%R^FU`Oyd#MkT?p~9IvC_t$*MX>u(h6a9TfTn zJKgduLc+Th{e$9ywxWA#8|Wb;j5S2|Lg`mL7-)DlDgkOU|ukbj>0 z!{>~x*abLmzuGyN?tO;yVPfdGboA8q8i^*n3xIUo^%Qm|P>fvSIkzUNP$gKv!f>B{ z{tR zR!*j0g7lCv!$Y5~QKk!5gq-e@Q#cy)kD%m`qN z%tE8jicAn3)d-H@B=2i}a3Yx)sjoW{8HQD%kVw6`e!P$fT#gk-#&!vr1W5cw7W$021){`$ zFD)c#k3M6*ZYTYjb|H!{BQuT}F;0mP zBAtp|9dP;aSxSVuc{QN=&MXaAXD{`@_D)%O$o5Uz^QjGtQw7{KJ~sjvNZ}^|_v4tq zU`~Hz?s-oxM^>#x5m+Pb9H)j6tmnPvL}=`CW2bD3iKxM>)!cvHOW2t(I5C<-1(42O zbCfVYr?M06HJ2gMraX#OVtva!>tYJfI=5wY%p|{QYe;F?nX}LcTrK?*6EIgf$x(i_ z)tPpizl8zC&g8ed%#QDg&g9pyc85A_mk>6={eXZqVPJK)?6h~H)p(KThgwIY3%v$XY4ks9!{EFYpZ577+)Ztg!1MZtgCTOfamrI6fxKhhV$KzW4mg-?%UxXf;w?G5&9!lDrxJDmK%sEoI}Q|&1bTH zQ#@?)7s!l(Q#$+1Ac}5TNxUy3htkv%YQ9}=AFg@t0r1J)f?`>bDzI1Y(W4FdmBt~O z9yDYda$8nI&eO4i`F;z~V>)~>>sP3eQ35{(&W*Bz+=`CL`j&9~ET^W1*Xe4B=z4?W zP6EBV|4cHWf)dk>qd9PlcbNIqM#kv@GR;Fht391)!f~Q8Bd(zFW#_;kq=wd6;emPL zUiUk44!f)6MznUe9-R$PMX^4*A-6e)a_;P}j~>~K<#}l*perGus{kF*d?7QyxG;8i zLLXwUwU_8GC(fIP%}NYFLAFCTG$u#TU;4&wo7 zpfNa&#<_wp^lViWvS#e?gGEu|vt;pUm(d3K(DuS zg-V|bxyN>d=#h~F_+<&fAZ8^nh_ZrmDrg=OG}QS7y)=;DgatBA|MkYO!d9E0W^#!o z_>A>Kqq1Sk3p_lCi5g{uaKHuLzFurXHa!OHc%~x&b4ZJh$HbDdk7dudBmrv=d2on_ z>n@)#2*czuXnZ6*N+sYgWc&*%n7s_Ep$x8u{1M1-^vc|3$Q*V5UNM1KP*p%{CcI|~ z=;~Zff6thsgif6WidjLh4(=+nAnFm%5W_x8(am8_vk7#Cdcpi?WVzS=nvK<3D)h8Z zhu%U1=+HErf1eP@Ww}B{VnY8t;+X^VkZMZ?n(V zw>{6lVl69{G0G@=Ml5WL%}cPg8NY;j0m4UDN;0Tp$jQN&Htsm&(1>El32D$+hEZ8B zSLawRF6ZjMb$d84GiAhujMuKl8R7>h5o@jtMrUB;F7yQ9^To6;tvSq>AL$!8mEt-> z9~~%Z}`zO5DLTDU})0TlOnx~o-6pSy&IUb4Vy3z)E@B9N0 zQQ2zql`>{Et}NaG#e!yATd-dYEtnd@S+UKWew5Sc0X;FU1RlO(z4Vo4FI!JUC@Z94 zqUkL3ucbFRijF=GSozH-hH#jDAgm;GVy0AinzKVV91%30uf*OK`Xto7=3aLgUC3%b zB(hP_L*47%0V5%dAUO@ds_|t6I2R}!>TK~C&W+#CURWCTG*^mc0w*(!p0Nx>@4*BY z#tL>U3zfW+p|F_WF^~r^xs-Ehax#n#2u6v`Qbj3xZn8if100FaI8@JacBb9HS(Zwe zYKruA&<`Qjc>>cB_lP)7hlHXSJvtOXAUA$URI~TDsO96pB%6~&C0Q6a$Yk(sDhZ=U z$_S=|&J!w848kkX>yB5=09uO@V_+51V>Mw^u$sBeF4Pa69Oz_FXC;;BMSHKMeI^8i zhGu()qO(vJaK%Z?IeDSbg%}Y{n8e;viXG#J7JQf%FBDv5Y(hscTDBiLAsC&4v%~1N z(p!b-0YDC+ryXz?Vpt;?_h4*_i7CL`{snoMP;4$N72c0fbVf0LbmE4cHoEW+Q@`em zLow1%>xbo7TuHAiRO)zihR^+fk^Ss~N+TE6n{EGvN_D92V}AD!pYpGzBg%kaIL}a+ zkvDbYLfv?SsvBbnE@I%g*Z!N$jLL;jY(vPvIhrHX*+-~bZ(V}%U;1?jx~8FdcnBFW zO!o!gPsfNa4#Hf&7t?3}gV}?T39X)Iv}feyP{vq5x?3 zXBMLXa3$eEH2UbW{H6g`J+QWWDvpz;QW1+ zA@oJsN;o_z=SueM&$ADzyiDs!bQhon#r>bln~w92V6V=M=Y4R}8; zw!9xz=J;fuQ~^JNmAw-1RKegjXd$_FMnc6OLU0_5fR!7Q04Q2Zh>@;)N*tHhY7^qcpO64P}B)P)#el@LE| z7Ak4%H#6d=7Nokvotn=tG@qZ&{bJ!)Q4RTw`46#qT3Kw)L!S&q>!5M!N_3+Vuj!!c zWA#u71q`L~7Tsj=0FZ<|-@|@c&AZqygC`T5aKG$KC|1XQ*)l|NqUBhZ{j&3r&E7A2 zP4)}+UFu?As&}r({_t;jQ_-^~_|3i}g@EWaw%(^Pg1WH!HfQ+g@8`NQutW{|J>u@8*5rLO|wlrF}|GLjv6caSiyQ=DMt(1q0sylNVk!z2Ei4!WfR_Z zbQ;vVArxC%&;tC;EMGt#WY@x>VOVDbU_+Q{s?hxDFm9MfE{F4?K`*+t9-D!fSn)Ux zkK(+<%zD~T+jL`Ez0C3iXo@jdX!`N^Xhvs02^fKx+&NyZ8;ar9?bT@uD$8FVXy7ug zC{VBemNsg0t~k^L_ZCJM%162^|F!vK7w`C?EuHgfQrgcfJ_A9j5z5 z9J7Wayd&YAI!{0<6y!7bzp$-7j;RD!;9*2Nx1FkJ=5tyo4$Ok@SWF{9V^%{jRv8W! z&8o+S`LkbU9W>8+6VtF!siWBf#tS%Zj>+7Y@b+7PnaikX2o_a9Uc{63*YxdkFDa!_UUW3u(z23*zMp`Pm!yIk3%I~ zAt=;od8lW1!(k8XE&7}6mjvv-jb%%I$aqta{Z@8v=p+O7-jqk>+OTYcLl0Gqd_QQc z+yIpVXqv{|RENT;aqk1yO5^?-X_dx5Q#9@mh-Xa5H>*rkOzPb4A+5Y*q0qV4;konY zQs>qWX+GQ1vv@Wf{9SS%3S2)6_blFdZ zo9rXAjkIyf$8SDfgr}Y3bQH{T!bl987v>_-xS8BUZ{l5#-6j-ImCQHIV&_0DdNQWE zDmm3n(i7enkp%5m#pG%^&oTK)B=f|O+I398FN1pQfTX$knxe>*B80ss++DU>!s{1U z*UFs-IPZOyb*{IY7r^Zbde6%V@5-|{dAir$B3S2iItg%U4KcS)M#M1X^E5nT4&hmG z=AINb?|7X(WD=&jNto(B7xrJZnrg3BQ*ANHm2PW39owILFKC}R92Igut_s)!Tj`c< zohQp8{*2g&c55>JwTM|}m}4Eh5+)hUv7{*ed;OC~%DCBL4g=vfd8SO3TiQhmL7*h1 z5JJR~LKx2uDWD77_D@P-BBU_Ul0xU~G=t+jl5j&tdq!gYw(J6&LAZAP9XCn43 zq+rjAuus;!r$ImKJJ%K*M$6JVp{as4^_l&#|A`(w1sxcc7muv0y$3iUyln&R)c|J- z-<-#qy91}Cup0=kf`RpO?_d-icx=87!;C#V1mIvm=q+O$U_E-P1jWYsh}M>d#<)V` zBaT5~23{*?j?(>+!MXvrvWml{18R2@Ej9&u0q?qj)kr_1516cvW@5;qhyAEUAgnET zfFa-m0hckL+$xh}KO%oDX@kPTD?F&IinG4*v4<)bGwT6lbyk^iRTn;@E+s@e#Aioc zL|oQIJc<^0h(-zQ(KXxINHeyDjIrq55T6Jv4^tSTg|ALH(y&;gqplwvX~C!`6djuj zBXcbLOrGYx!jC4?q_;^v+x-Ex4Z?+imSu1p`gxK*USqWjfIpGRFltn?C{8`gGGKa@ zBo~=-tM-g@AqTM-gBI_F?*PE3n28{UT46GUGVgW%r?^I6m(Qb9QNC;AI7+pG@szVr^94px>RG7COmv)u8q4^%I}3FVQN>v(?zCV& zfkDDq5EEefe8TaQ|6k5D!c6(7(l`*3n=wU)^=H3<0k2LrCORd&VcG@lmOo z+IUPJ!+F`fAGz$Kjd-I0OM2(g#$k@5jlLP685?x*#Mr3w=p`8-9OTd!LF1W(H!5XMQiipe_}0A z(g`dUrB&iUGS5i<7{siyD)HqD?9`sE{By1E;;i7)krQzgvA6rLnK(a~F)!LD*t&(u z&4)q;J}8rQ%g8yl3vBJdJ3dMW8|74&l@eVl;={dOidAJQ{$W*sv- z7B>;Be7Q_YIi@J=4KZV<9}s~PDlCo-N>7wL8vp!I3V<7<(fpCSI$iv##ugex#xe+T z8IB2mgOe4ojpS!?BF*|n=zCr_>ZOOT&oM(d1-r*ObM*)!kTKACx-lF29v_M!rP0g8 z$hu%Ud)oZ`Q0aVeeDDm!x#9>GeaeE+26}8vA92>T(%7Exx(Sc2M1`S|_}T;N3{%TG zE677py1zSk0PMZ&4>Mf;EKoC8j30Y{WtiFAs1RgARVE1ZX@^7Q%%` zIDvxy-bSAO77%65D z)fIC(EW7`@LrwX4gcE>Ha-TeF!sBkxiPpK2S9GNrmtM{GvJaWgW;{hRRtk(X%~--j zhh{8f{M%{9JfaHCXqOtFhBO1JeHHYi6apmVejJu=rLo7cD8?CD?0c^-hhg%R*p3jx z25UKM?D)Ix*h_nz&XDA+1M5Z(mIu#dJ=A+7nXpwkPIjBqVRWLW7voeAwgk%1CTbfU zR*Q^!k~`|?$QZH?OIwevX@L?-+MCKhO|K1H-bL{92$xIb8sUOLW1;zZ=E%5CdVz|r zgJJlMat7_YijtXKPgD3uS$LLTwF-!33(iHuxW@G1Gv|NA0U^l9Pa>$7K{4eD`;K;< zv-)BUx)oNXG-;RP$Z4A%Gsrl0%1je(PQ+>9pO5or*ehAHog^I9Od1SoyjtJ?xFR-c zEcH=rdRQ-gDdKIT>kTq>WrB3;PMrJxrujXN{bKT4l6&3tJuXX#of=31ecZvqXRPNRdbkR0PpTJ#&a@rQj9`s{0g5;9(=2kDexY|JWg zoE(RN55fS$iPzHA;xPGTf)F=1(0tXbZ6UQR%xj_Cpnbu-P`?$q*qanuT1;xPiAd}LMf!Sg_wAwY6%(mfDKXyu9D$30nDG8cAfsbCkqga`M0VkOGo4xZM$D0InUTS*Z+-2ch|Ketncouh zu%U1=@G2zW^DoGPZ@|FqbvJoiv%Lj@)w5+SAI(UrGLf(~O$y4t9dq3`3lz}ZdB7ov zEh2uh?mKWL(;lE|r5-IS!Ow3NGMS%TYUO7pEb~8|S`vF|GBoEzhAck^bh%GGiGsc0N^(z2A))1F%Ma zc_cnraxr^K)O8n7G31*2oA0BQQOXA};5+XIkNM_(pRgcK4AGUk_@qzdWZlS{i!69Q z0%BxMc9exO%r^%kB2*h0QDU?F|Ih<@#mGY|pk(tvw4)rV3GXjJBUFp+8-BUvwl!dy zOh-sf=f;_`$MEHD??f{6lUH>`&qqORopMdxXpV_ zBuvCfg^Uc*KBLNzjpD(#z z0AZZvjb(j#geAIMe7&98=c!hAX%apUKT=KC`tWBkCH12n2T_0<%0@JkRp;8LYOU zwbDN2Aes&SI_LSX2DCb)PLE}Shvoo|Tm~m%I3M8F)_xljZ7d-Jo^&fdOok| z%yg&}+-vFR;dcjS@iwCMOB|s32a+)Q+r_$7khut1k#fCC0kN}?692J8 z9B(7`lZc37BW~`j2L`HYdHX+m>=H}%d5j2xhI4p-w4QU<#4g-nJO-!^JfZ&;QnQ~L zVmW@OC!2hj!{_)eEDcA#_c8L-bV`;Iu`Kk`&Y zq%YgF5dM7R!)LJ~L-p2`K2IYKnNHzh^VpPJ)FlI)<2^fcGJ&N_!q$}JREO&ORk7&_b1c+J>zBQjHG|!8cVVyR)_aSw`Ko6>Oxov2S}2o#8D zSo-TU;(bCKb(Z$gl&;&zFrHJs;cNs_&s-RRVJQ={qUENiv=6r(UGXeX9oeq19IgQ2 z8pVq|@--P8?1@Zdt{`)j^Y$H1HpN^dlm!0fIfsW#QGcA6G2VdhB(8YZ9`>hRjirKS;yIMFixl2kZTm=`3wOmwIO~5 zp{_ullWfS@3UZ5t9OZIR)~BC>@GlXN=M@|Bv0us{AR$lKkOK;Gj)eTghCHbt$Dpi0 z?M55&D+PI7LTYTtEei68gp}Ek1_ilOLWbCoX#&#xU6he!r}|~;RHXj<%47}Cld0z- zb*G&=NTy~qM4uLa%uakl zCZ43le`Y5>C=>IwxNHeg&<|wdiCVnb##|*62W#0EE#A*gJV7S**WyRDWcF{qBkG=~i4SZjnsJ%fPm4ceW4<60`)YB> z$}0UIGO>>q|D~PyJDHfP#c#6{@05wXw9Zwk6n>uvq;j-Qw62iPbuz`JbylgA*)kl~+2DrHKR);UV0l**J$t@BKka&9ukqf$%#K%s2Hq<% zCV8-*6DsP3O+36wwq;cg-`*|44(B#=63xpDzELVxm^^iwbf&-rs2I5mHcLV4yBU!a zTED=Dv4h5zPMH7LvM$=v>Ba*br7&8zVDr-062xm!_|(WMFdl&G6wCHO*b@)uVpkA* z%k4q8z9pF??F;aqs~6c$ucRTR3_L8KPr?#36vbN@+-1r{LcU1AMh#gr@82xfS(mUr$U^Z8x}32fg7DrsJkC2r<+x|WQAKFcuHo@K-8CO zDe=8YPB={!j9%w4vpFwFvCV|o;vCQr+h=lW&QY>C`*#$Zkj*K4jCp7J zrEK~Mh<8@0lFdv!;Giqce`8mBhP@WGM5G{1`BGN4pddA7coYtN>s=knNy*1~p207L z6fi!*dER9II8kuE&+Nnpt?)T2ex!ArIb2rb#!AWT?BB8)vi0w~6lpPUNP)@)$a^PK z*~WL^VMKfU_fRo`HD79)PumDdX`8BXbC++y3V0YAtuW9R%N}$}$g`Ns)6|aX1G0HP zZc4&oNcd((Az`_H<$arLZgjcr8*J7z$y%KP{Z@d4@PEq3nD>p#;d2>>0mS2cO~bJJ z#*%Q}m&*>A?AQwCvZGq|&OM2tr(cGp@=z1~HZk;Faeq(TKM?oB;{Gx2j`gEjNDY_H zv==Ez`IQO}ci+~D_&#$nhZo$X*iFQM!?RelIyyMNV8C5y>wB>dka$e4S5wQYNGs2) z%KMro@NvuIXUMs1Q|be{LsY?Mek?SCc-2HyVXKJmGk>Q@`m8D#7;IwshP>F7&e)8e zr6oM5TI$kM^532BRBA3{FECf7l^Rl|j$)}&W}C3O*35I6fNtc62IDvNWP1a<4V@?D zD<51Qtn5eWBjo zfe%BzOBKy9=Wv2CCV^mY^U~fd2X4KqE_VFg$)lnzgr_+4hNS%>b=7lzJUKCsEhOo1h;2Y|3AV((-x}ncF{kXIM|J^YOG(BNoWCod@Kr zf!t=e3IN!U*<9M%kr{QJh=^RN3on}YE|At^r}-Fg!M+S7Bfp>dPh@@=2k0U(*Eg_u z*gI?k#2#N!wD{BJDi&?Id8|fsgpgJo?xkdxN|Oghl{}<&gP1o|cSSRGnE%2s!8x^d z>N-(?gA2O=(l>!=rKHC#e#Pr*7^l0<-vOJUSiz*L7pMOSKFx`vMExD(l>SeYK^vlX z>(dGNt5Z=N@LYWQ-TT$ZR0@Qfm*8zN`qOT|NIB;00+f7WuzieIaKeg17@MrF?dW|Y zpBuT0e+mY1qPtv!%xWGeFz*yIxA%zfoOPHxe!;%#J(0X|_8BZ5($7**X5`0k<)EFh zjc__TCHlePzhV>A^)c=VZvps^x?aU|XO7`|4k6UZP#OuvIB&$tVJ0rN-WRz?KYH1p zfFpEU!h3WC#!tJ5B-;o3he)-ewtq3<{VmeFbS3DLs1qOY>(b)WopDLne&1Cu&Aae1 zO=}*YZ`tCRcXSJ04a)pvo4#e2Cw?X78q8(SK{kn@+r|BHaladPp$BYbWS@*sA7k8% zVIp2GGoOaSbexQUZHFlpCnE-%KL(C{%;ASZe<-6nMfJ!&x`_u+u@5a|+JPxO;k}X1 zQJ3d$BFJEX!vrpT!5QCoX+29b|0Ar?yc2t2;9g6GAIsZ`By%#JEsrnSnC~E3htQYf z4Z&(34^W6tJo-lB3x9`j>Z|l+_qq~rV7R{ii>8(Cbl-Ls`ROP(K8(8FMN*w^WDhMy z*VB!v+)kMN+af1#;-^c|&PX2Fepq+^@wBN=K-h0}<^+Uy-f)dU9RCLvac?>US+!%NN?iM6K|L>D0R99(rSVmWFMgPM>-)LE()Sv#(MRL8$dB;e zF`)Wrd>P{3^q?lZYZ<4^n)rZI5(!Lrc`rfn!JjN(d0P+>C{>7uO25Qg;iZQozYZB+ zhK#p5?-CzDJRhKh_X0t~)y51_*AEaxFKfcRy!1o&y0^&W&6h1iJpMACN4CdbM1aMT zd)-bvB;{m$*i}-`T#%I1c_08uxs;$zK(urx-sKT;nu1pByd0+4+w20dyk`*Xbag^u zLw1@u9N^NO&1-@1dx>yA0&@V8ce#`tDo_^YYI*p{TeBTT@Q=XyZ`Xkx58n8TDo-a>Q zV!grl;@*^JFRIL__wSEFaXi;NaJ2VlpxxXD|JYDv#<5{QxkX&9Ut~6qgiHC_GL#7g zlbhIY9DwHY;dsmm*hiPI@r;6!vy$ceuu0HGsEh=)CNi2Y!lLa$!0;7aV~=?fV9Cf~ z?81bM(>@!E&IRIqEkGdgJkK!VZ+4n5NmAVg%=#;}slo_eD+xkDHN|JYtD0 z`LcNJ%t5Vi_GhPSH+)7I?FqTWh5*IUF$j=zseD-?O}}9AF20urX*9b`11g1o9D^>5 zPoW9p(=t`!29{jVTG{AGiJ>{T%QcOs9OA-3Qk?Em?;87YsySdB6W;`QrS-!MY^pUZ zcL$4JW6{-|_h0HXJ2ld;2Vd&bb7;>{RQHuf{U8?h;7uISq$QQco59*+I7if4-GMxB zV4?M@o`vHmRk;>zcnDs%Xa^E6biTv6O7tRZJ@bv-8QT&==ME>|OK?wF8{`ectbzSG zq;tlDS%&piUtyfQi?q(wa?`&Af`M_8_s!$PZcAbtd2fr9)hfj=a{3v=X=HH-6nlpy z%4R>nZu@mnnB4MHcvkFzM7*l$g8u=ADjC(SGy*zKtYo_{7i$ z&u6VR;4WGKTPW)}dSZFA{zyib6|p@})Bl73!sl0txtCeZQmf2uECZEB??4yPA_4A> z!jL5a@d`C3SWyQc6~ZdZ1yN@3g^(YE5^Hb%YgIK?gV%u;97~3L4+P5V1>(k3w6z^8 zbyp3O(2oTbR}n@g@!MEl)HMvLJ6)Mb?47N(?{s~It}HcyEB+8M`0|J0`nP&+NO=DQ zt1;?YgdAco$h;TIgvQM;kPZp_2)?X@_a}(7UN#O$82l2i5qQw!0BmMa!cMt~dDd*F z@St3f`~AnDWv2pDj2Cfk35M(KSCI5&+>ghn&~SJN!!eV8Nw^JfVZ70Zlfl+fWLrwU z`7&Six5#H1DDb~*s=Nl@)g7H1$%3;=uhqxsSsf$W*NhHVpfde7_XT(JMqinae}VaA z+n!KuU<`a{`0vM1))t(3_YbOY|FtUTidaa?#{s0s>Bg1)@Fl0lKJbHOZ4Kd*((XV4 zf0VYRu%dK#LGxjrOJ-Z~5+=jnk zi+RS;{jG;GgypPyr;hHI7 z&o2-K)+GLaKmwmYLI~|w5*m5XIy{e*vkvGRN2=mNrEi4X2 zn;%1x{>;SCAD+ir-y!Zl7Wccwo&7Q~^jG5kpt!f7$i&b_aW6QR&u5E!p}3zX?!&}= zxVRUK`v`F#CGHQN!(4ac9)F@O<%L$EGfw;gUocBGgjENN_q{&_Kfe3El(@)$Gtzp< zFZy@VPA%p^PiPjO{92=VIf(OpjXwC0CiDgV$s&hG^<@-)pE#fw51`5@|3?ukEivKC zE#{1bX;-X}_oHY|Az^%`_=QW+ z|DzMC@HJHfuO;usCyVjMj*fQ$!sbRSJ-DLhVp?cM7<45xO8m6ybTXEFgH!akyYRJv zk-K;bW((eK5jw!)I=&DvD}pdynijtg-!O2%Q{^!nK+5ALoQVHFkw*jM5mYaOziW;o z6}&G3d7MLew7g7z_Gv#K&1tqa%&#^_7gpg=U^QNf!L0RdB%u5Sv3tZnTHm%$@XJH{ zBX{soSps$i<1?O5sc*a}EpDXBhw`|_>L2*rfhgvje}J}pKfpYN&&iYYv&5SR6T)b@ zC_Y-DPScy?MDlL)breQW@f zKHt=V_BSUTW~D{5pCrBS<_@gu**KziLk_dISzTR3?B=rRktaznfp;+QNi51nIG%R3 zClVMdk~48KZ`oN%ruUgAZ&gfVeB7}O|4R$t+JliZsaQSqWl#S*>FqOr4!V+!YRDVM z!_+BM6_ZS*j*rtt*4^ejvebQhVlIXe*HvE>Q(sU%w!S!9R7?m;RO~Ri7AkhI+}Io9 zU&_6JHo&UDXWsmzI0SC{$bO7QWCOka0jt2RJ|SD^3$YaJ@>ZEG;MDmDt^AQ-3fn5? zT_C2~O|Vm=*b)DXL!D**1I>sd(&unef+%;J{S_b61RqLySxX_X#K)9o-xELh^VI(M z`#VzO3sd7l-<^ZB|D*Z!b!7a%Jiji4Qn$sqCtj2mzwd!mcqf#*6aR_SxSBuLrKZ{$ z;s<|_n*aA{@!hHA33-i2S`YG4<-Pc`6smT4@a5+_=Rls2J4vQmAxuALxibU;tk! z|Ia-f9QMKwEBX}s(rQ(^lJSM9mSemqE#A2{rDw%EZ%>Usks7!9e`=~--tpw=L8h+q zOtS}9rp2E~n&-w5Np!+|Z51$lS zcbn75((&d)>-|X1H>?Ebn{z}x?CEa{B*p2^o^RZDrp-4KReAq;$6~eEu}j$9d_(=x zb$lG)F#>!q7lX$d9}tjv#+v{A`1tb1l=lB0l|Q@Xe_#F+t5eF4FHDP{k{b8(LuoJr z-i4dqZ}vB2JI+d~s1!KdARhCUL+Ln<;j$+M-+c0xblg<<zxFtA(O%#0IX}K7XFmD%@!*i}isQlkXzwa> z^YV0@p4)ph2GH^4QDuHNg`Qns)W`a~+&gb3$%yuJ^wDbb-M29IvD0c!iu0xB6zS8~ zKDEGO;S03F6tomL`n=D)*P@qzKI%fx<}X&c9PgK$2;Jo@(g}ylIu9M|c<_G?J`TJZ z-@82?{VH=}m$Bz8UpI#z7hYxd|1a5t?<_E_e4`HDnzWdu`r=*f_&=+u2A#A=JNs{RTS6_Vm zRZ1;wsX6iQW_@?tv}`Q<$$^jhP3%H76@Kk;;f3b4T?$LdFDmy%Q?hcY^0D>J&fhpu zY-ZE&!{$%BAUewnn-3o!F8KLwkNku!{dY+hGD)87@;E;|j1w*?>c-K(2*2&PaGyEx zq4fOe`cXG;cwOn+H=roH=*M*YYV!&U|B>$SZT>lb{j~AFmG3ui0gh1Qv;RB2iCyT~ z%^Hq zR;lBhUOKNf{a7X3f#)9&j`=XJN4QZ@Err>?wXT|ygk;`ucae;Bo-<( za@U#?oZWz%726PEBf?<_t6UEJNyQhC%3Qj8h zhZm*O#~%Hb+pz8V_7=G;M0^+GIHq@AKXJxG`O@+xpx5E-!X2k0h`PLt8Lnv}DA7lc zj?AVf0zK{|yg!PZMPE7&_u@z`PN`mrWaP<29vr3^DYE9`l;Z$ARn}(lfUofX^OUb^ z5EA7?{etL4|u&cxtvx|E>yOQsHfi z{umX0@VPASAr=3Xipx|@yXmNW`k@LpsBpUqUsd6MRCr8YzDtudoM^xBH)nkwf&s5=gDjcQ4D^%E`!a0inGgX+Q z!naj_drpO0Rd~6ATk>l8R6h0pM20>U7OT*&!pSO}tHOv1f2aEIk5#xPrDx{weSIY<$VuzhqOIU?ChsUc$+>dkHzFKRMBf&Hm7E;uV&GrrL{GY1xuG`TA!EC8iQiKQ@vBtDbAPSk?&h{Z`jU! zXS#lL66sYv%b2`ahg%W%sW|x{9z%ZX%DPyWPt))YsPgs?NiEMR*P?Uka~2g%Bb@@o zeJaT+4>q252htf|gpgD6-_r23j@0_Kt8%S+6+EwqB4E8nA?{O2q>E!(;<{={Q*%SZ z(#A;LT;G!B#dGQ!eM{&0YU^v3EU8=6y44Qt4*9Sh z-cFN`h4)n&Ucn2gawHz*I|k|2g){xy9o^uuoIMUawzKEORC*g!{r3-({QC=Kcu2{^ zD(@KbvHxyB$o`T4QYxJ@ee;$!`p_(M7c7|%xZQ3`8_*PIB1v3n>5H427S#IYH7;H3 zTU@tzY2%7CGFtJj?&Z34VC$utc0)P&BVTI|$^QGo0lp)yXrLQwdf%4Btz`YyXybpLT;sITajKg&?4u zMj`G~NzQT?Iq=9|Bn@w)YClbv?MV3%?*RIbb+NrpeYq=r@-Y+X*2R2nJ>YFf!+W6{ zJm!DTfyZ%FjDF%n$jho1@xn;AE}^Hp!6Sbg9Q7yO#A=F1E+5-QbbGzd7)PJbS>)e#4?B z>pKc@pGvao%W^|$cpx zq-m5(G2%XiyevG1>HT{{8s3ze#SM$D;3N;m4dUEQ&WI4Q3{&Nxc zF@nok@5894bx~e}y1}EoA9c`Ue|x(dJm#-{3paHUZv)~!6=%7DP}%H?s;RSUYZ@ZW zjdjU*Ss*<1s>u~v$#8qBjMX_+-O)YUGS zx1eq=+Iemdvk{m3HIClLlH^XL3dKPVsc<=aFSSKuqV}7RO*&2ZJu9mSwf5I=0(`Nb<68& zo1tC=;iZcg*DRUK@iKeTRa0kA8aKPLqH@yY=@y?>`)_o#E8G8V#C-}$jW-bkopF;U zR|clezU0C(ed2`|D;zuh;vUj3>LLBgs{-XoGLHVAHty7Tv&UsEhLEbI?Eke((b1O6 z=1i`irv6(oh`@y({~Xt+l31_F<1QY>XyZH?R))()Oh9~bL+yx#2q%pnuPvQFU%Pr* zg|_VaI;|`)POGh%r;Q5*%9wB7qMBNUQ_4qZO>;+RfoYSqn(G@8pMrRkrca%q)khX; zRY8oE1)3I~Hco4}ex3#iUc`KhYa${S+0N8ID~qLtTXvRXA0J*Ql^sh4WOnNQI3m zT&}|XitcI^xAb4`JAxH)qyEzo_o*cEXVv2|2OjJ3LKSWYi=4ozw&n*e=`5_`aS$An^u15OlY#YMN1nR>Nxq#Y?`-t(fNxP zG}X?W)4X8O+?lmZn7OzH^L*pXrE|V36V4YZZsz2=MRhezb-waYXy)>ZM+saBI)B9Q zhPiX(7*T9!p5hE`{Z80Y`1N#=rw1JHM;*`1LmJk_O-Mfb@grU5Wn;nC9+{yX*oQS+ z8V>QDcz)0>DF`{SJ5)p3`|`R?@O)JNXp!9keYRCbfgl;{6(ZI$bU&-rbra9xw9I;DEQ``M@*q zBkt`!3u$)82g`9@PCiWJIRrS?>OEehdCUR#Jl(x4NXw$_lmqEIFAIlhz6&$7YS4p? z-{ZydmpkBXckd{T;Sw87IFAIlhcaO->Hta$D({KoL;5!CHPK7GKk zt`a;~JK|P4X<4+Le3HKN+7CSIa^kH|!?SRR{eT0OUbamQ{SNg$09?#bJzm5=?1V#3 z&Wkjx%gG<ebBiNxWn|k~m$Q7fXLlE|+a0iUn&i!* z=%hz}otK5fG(Yr?4`UKO;2tlI;}YOlR~4R*H;ze@GT`OpgXK6cCm;F9vjK4UsC&Ff zv)uvji3ifMXgkX%edlH2Fs&YW3aOWR&`rc)`F;m{1D?CnWrurc*A_=!(z7n|akm4O zPLsS@ygKV6__c^2v~ZZzhCIhW6E;(i7whA}ykK30cuwzAgprm-+gU#8J1+}|X`WFT z+H%l?E!N}3e%0oHS7ClS-aN&*+$zJ#2j}oc|NIcQt#ac7T3IH;F4Xnm&Ee>q{f@NzP>oDrGDB5YKl6=&$q(cE);Y3@-7NAzt-;*0ctNbjq;8<9RJ zR~s}Jzp3B_xPwM`8Z!E1YkfxLYJEoJG_cMO+$C$;j&MMJww6Dtx7KHJPQzEwe5n4)kmBPSpQK*9bQwWL}oTYc)dha-WJ1I4wszZEl~GcG4b~ zdG;%u!wB~)Iz?wn`lAu@Dnm&6vLED#evs@x?7MS-?+nMP__qn!Zzo&*)9!~X&vOs@ z*Pv|l!`{RZ{mb`P(3X8YjJ-g?SKmU(=ZOfJk5@7Co|L1VgnB#k>yG?>g@2vOzt@pJ zjQqSBRM@7%M@d)6voGY?C)w{C9CR)I(!;}w{@`;Z?F$fQ;IT}_>k(!mPG1JwZw*3O zn?&M}Dqp)-=J6p+AA5Hnhld9gt*2BOZzE*cA0gy*@_F5~ahlFR_t3B(t9^>!R|hq1 z2>xBr70F3SJE;%G+K8Mm$HpP>bJCDL+K{>ZwNppsY5gbnIh=baXMc9PY)itei@fmn z_KQ*ml!G;%_9M-YxOFw4?j?x$tpq-+G|G#~J%!=(RXvBx%<~ZvcQ-bc_0;9HH8^pJ;BNaq&_ zS+{nCyk15~8N93FpCKe(`rN@ZAIfCNd;?C+)lQx2)=nJNU+dlIYR_uO6uPm>!9&|f zi62MEi{HOweqMejEivBvB*%M;gT^6vEQvqtB1z*r2pQ*94I0j?g)%uaS39#l3%ai# z#%f=!PotcpHaKWnvT0DXeywQ#6(MEug`^w~Z?Pl7eUCW@@=V%q|`R*x|9* zV=cqDe^rg)7y759Weo144W8=J2E!&8+&J*C=TQIlehq!A<$Tpo%W0H4u1fLa|Nq)M z7x1X6bMLQUlpr7pf`A1&L{z-t5UipFGl76XZbN_=Z)YZ#35kScIx~ULsvU)Dtd~Zs zN9?IOK%%IKsnwQRJ&smASnYAN9;KF}@s8EncxgXQwa<5c?_O)q?Ae(hUcTq~zVEo7 z=Rf~35S%+r3y!ctzd&AIb_YOkGsf@`JmzYLb+ zDqG)EKwBC~TPji`?j4#O5-zaDhrJKz`1|NbVngB0l#vPZ8xzM5&d_PU28)i=joeI4 z2F`1c(@o!}43_Iq&}pmZ*E$X_>BI>y@%-mb;8!TT|ZP!;QHu%w%E8I_S*J)mgsaAz;djBCA~GUon4C49=9=X$<%+R`Dm9C@%hvVMf}aL+oj@{qn^z1))} z^}U1m+lOsixHsFjUSpf&Q*>?iRB3rPEXV0*>2uMS+z-KhxEdSL?#}Ue7k09&}92pi3Pa2$Qn zy91WvSLVFm{ZEeP<*mdcVLe?stPf^xljU{^EM;{iEXU7`d)~xhYGQ0S^#w1d-Wb~_ zRvz9vHg#B1r^!1P+~mEB#GOc3!Bq;@_eqDUp&#a3&%Jve%H+e&PhUW%KPjlgEr!L8 zusOdHmUxZ6H`nvKRlczTbzuELOd_XE0?+HFd>!ZMI2_L*g_}r>!)w?N=X%%R`Pcro z+j;1$(>DGEmScFm&cir(5a&n1l7~si%%xKGz{S0Y6 z&ks=}mKRv>0Ij-zY%qQ6AQiuW_iN|wxf6`s{}AK{*nab?7F_Pfbpyqg?KnebjG z!Z>5{YQKv}tfl{fJtiN{bGL3`J9!18-qLw?p4)l0;-!3o=+y(C=vwbR@~!h2ZWSiH z_&d*?VWeJzQf99ASz{l|lv|4MqF21mDlRo0mh(xRGEYSP8T8rdW0TX(>f5~Em3Oqx zelFqTq$@`Pmh+_8F+#t0le*g>HkdwQ*PVTy_^uA~C@e<`mO32rJ?m5*21}gBz=LqA zGUsA*qFbrog08nsnPIcj&7_sCLy4!?Wm~VKe0ogW&%$!NX3p(;wd-s^mbN1A8twjI z_mc_3)CBIiC&Uiso^yzrz_n&V$+*5Ty`xj(tozu5xsT;u7WdJWMah#c*Ll6`5~Z%D z{PtqAa5v{ahNo=N_6-?x5bs2Wt1*#7lSSdepoEjMJ9<6yqXg&)7mYnojjbJ(92qVO z7IF_|>#fJH3&hcrqsZ86`+tPr*&DcbHU8;*4I89}%V;&@Aqb_EB`CvS&W z+Sg*ow~>L$Anl%?`Ho`8?M&NlSE64_Ioshz@jZohB=2=bRWf$D{jE4$HoM-z=DFi= zox97=^91E~s3|wtDz{Ol+$4S4tMi_$0)5X&?SC>X?bQd%(O}$7fAbfyf9&AAL#=!M zFyW;C2B{}G;=(4~BTTv{!V=#?bMCfvqlqJ7;z%0qg%hT(AA#j~7nZpG7d!~gH@3Os zOqw_q!u7xtLA%S_y>Ox$Zt+#BEn2zxCoVXTPwDV(OI_(H!vivaP_P}4c zAGwe3_wQ%i?)w{Z4{m)Kx5ayr?vH&d zUAZoY|6A6T*Q=W5h0NU#wS*!KYB6VLgkl*79`!T+(;N6+<2Y|v!!RURrPKwYiX@5U!wt2T;`M0F)I#!=+`>}Hj z=Q=gpX-ztY26aJNmhxL>g^g)N9KO$a-5kAWY?-XsQWrT~WQ9_>Uf88BcDS2WcdA3& zsId90G+7ynP#+gMwB|IoMnfie+~KZstye!yFPU23+|1kp{E298Bq9riFR`>8!PR;Cjv#{lAaa&ZgDr6ky=v6~1fcyOD+;$pOlr={FNGNJ8Yr0DGb9l_gUD9TS zQyRal$k^4_1yVSYXr~QjPg%)ilNCwMLe) zqOCc!r1k=q6sVH?<)O&xrWTg!EY~X>8U~T}@}{~~b7aM%Qi~6u6-L(i=?}7Cq@|AR z;Sq|cCH;KnMM5;hmb!K7$oyr^p-@=eHz>14e@=w;`>ZZoM#8e$!oy0p61V$HYOciZ zc2@5US{PzOfPU@^=2kAAyU?z=Lse<%bl=%!)&99<)xL975$7eG%V}T%4tydkUE5d_ z^M%^$Sk8tezG$r8=UXv%HcGS0tIts*2s5ppcUhSazoGbfU4BdFYQKVk{L1FeUP{!G z`oa6qsq#+qiB8|3K$umNlvT5;Q-Q#o_V#(QDT1!b$aLN_=LO8t_CR{Sgg{GcQ%ggu zny(}P)!DjsuAN1tKFViB{_55>p+Hm}fenEwMd8$P0v8>h;2y5bt0kVu7*NsRZ7NM6%edW4MSCvk-N?7(gz^%lmo$dA-%cCuS`Iw~F&}>`3 zn%L+oc0V}(z|z1%s=yam#EQxGjPX)b>Lq+vSXGqUe@a1VLvvfS(P!tdRc|yhP+?`F zFPmFdHLXN?`=z9@B-+sa`Qs21-yK>?PpM%MXpAs+60sqAkGI;Ijmo{sr4w#^qy4r5fDTzc{V z)#B=ABx+qzKA**2EAP{UW)tBT>)u}L`fqu=7pW@duZNYisIOHL!1jv+3+l9E*sfqC(oD!56ZHNcIrNmkB>+SZRB7W$5!?m~=L{S=Se)ce(ynTM-4a zy5#jRw$9Zx5jLb~)S$9bV`8?B<+hwrdiCK4<@(klQ&oI+6Ps{#DYh5VH z+m1W)cwRP-`nKcj{1q+waic!{1ZEyJ)VTa*q1b@lPYs$MEjP~*_KSiW52%baS2aaq zZ8gm+TGn#uW4@obE#x_)Ej*7~OnHjsp*h0y+ZEzt-k{ho3!YZxO;OpmML**&Y^sga zMApsW(IBd}JM7oq^NIg1hpWjI&P(Loz%px(o8?WbLuFAi6%t9m#52E@X1~SP4$*7V z{(!rnkv(OfX6~hzc_uQCR3K|RdQRqB5|Fv%{t~{uFwalsAFdGj)d&cnx(oxkMU@&l}iXD(0&b82?}g7EjFL-m)lPL2EQ;YDUY^qjYjsv6@lz1dv%17oRc_=fP^DlF2`;Nda$|8(CeTR`IHiyye!NwGRyb4gA zoc9t(C;na##?1$MfCqSa*BC@6DK?^)qP%2YZTz3Xjl==^kUQZp@ZEqL=PB6pW5Qj} zIdUQJa^4F%aSOsdZ~~-|ed34Q2Ndv17&tC&;tzX37^FnLn($YVZx9Cw&Ey3hspq;UMr|hdYox>^+^x*AgChk$XWQ2nujZ!9Kw27gY!pZb{Gy3V|Q= z;om25A^YSUd`$m4dPJUD1{%S7a4XmiJ^+Un=BcS*DQE##fV;pG;6pIDC{K+Cr+{<7 zT5uh>8@vUEj?7ahfEC~(@FTDZJOcg*J_17z%~LZ$0IUap1j9zY*umkjhLq_MR zGeHd80-gcygF_D^eXtC)ft$g@;B_#3OrDwrBH$+QD0l}Hj?Gi2fmU!UcnSOi9KlYk z^Fcf41tSj6Q)OT+=mAfGzk+e!z#Y_q$HDtx@c2A+6gVB62d)7<;2H3(33=+Dz||lL z-T*@;q7UYS2)F?}0Nw;+zKMO{JK!epTkt+8^swF8Mp&H0(OIsz|cv=3ub}k zU^Tc1To3LBkAP>v9`IjaWHI_+CRhxD;39A(*a+?c4}%xL+dv(Wr$&JiP!5)Y7H}2V z22$WXFnDsFIvkt=s=yj>6}SsL4qgR+2V;-SQ`0~N2!e~jPe2cN9J~bj!0@B;)bU_8 z2!J)<25=8}3cL@bGM%PM)O2+cUu8~Kr|?$sRCSvAwwkGCsnb=d@~JX4oA;OHT)5_`GgJj{ zf6r74_zty*uUAWyUoBOYd}UeASEed;ma68h=sD_KE+glwf8xtTP}OkBs8jWP$!bt5 zRikR+3(YFNQLW~?Pb=S|zM~?1A&T*}X$`w4x2tvPyS$~mknb`V^R*_fF5&CMdbNSK zq?f77`2uqVL*13?Ds?qqD1M|m8LX~TKV~?;flI=TYNNVI{Y3qX`l-5E-NFKagxaJw zt1YUFi6*zH+tpTehq_bUrM9WN)pm6cQxAT|RD++Z`_%pF7wVU4hx(OzK>b=hs2)=P z$`^#BdPF^{exn{!kEqf+Ww^_=>>dS3m9dO^LYcB$-5 zdE{e{^$xT$6tzCd`KtI9)l#oNZuz1OKHlZApoi>opi@x&k{=b7a`E zv45Iwjeddc4GlAfJ5;hf?WbnjBFy4zXwFh_cnx6JGHdr}S76?c?@x_d22RUVkNqlu z7wnm$ay#ZM2(7QZvhwNJRRU0J!5GG!oT zKcI%IKnB!vVKdYRxd>m$EyJs4b=#NuRm_>9Bob_ma)>= zK+<9D-Gi+!=GrDl8&jZHZ;9cAIvEN_bF@8`a(F1$?MkvoU{v=QZPdT&!-rfX%z zXL~zyAeTI+(izRIwKdIEt<7w@>Q2`#R^CRKrk^g)aoeJm;V~ zq&+AYx!9-MXAVDo$0eVA(n0m-Sm}^i`k5hH^6$`h7JoV^(}10Rc1yQfab~WH&V!@e zkPROYL+PS%1$kKuT1;o-319AGoQAWztvz3v}r$X`zl}f|_Hzv0k5Jf7yyT zjch-gRk-@vw1jC<)(h1f31t=UT=~pl5|sQbX<5dbcvo80Rz2Y*Gsv8I%n_9|-7L+0 z=-2~Xj_ZKfCGU%^xNNh9R|S(kOGaqvSAu0_0~c%h%I*%4 zDb=(}|8btArH*q}*uH~hqTjCz3JIkvV8H8Lx?nQ{WLEdGI=U_@rUd8e=`v|HN54#u z5E*}W^N>N(xanfbT*K4-enpsnOXz45oz;HkW6nIpp%C z%ynb~gm%|St~jjwq5;D9w>luNDYLcvH*rTY4$pK$&+TpQ09bW%Z79*M)frKteOgB?kenH_UP%V*|f7OPigmbI;IC%#-)87Pa6Fa%BsV3 z2xsl-LDprFadg>ZT(Ks*cUk6SJabk+#@lp3SD@^U=<>9?qubflDc#$tHn*%{!qw^muJ$IqIY*(0bN1jSF3tjy^BhGZ&RK(wRHEqqZHc=NKwbM??)JE=n z+Vdcz)`M5=XDt=6s@84aKI*&5v8+k8ZPc12n_oHMrsI_Q-T9v98lIP(4fIiA>Y>_j zqv3YL9fot2gEhWpm2vL;T6%i0b!q3;cdgX1GLS3%=GK)gzzWF{QM*~?Y*)>pmX)!_ zY{gvh@gGqEYqeH7w%qoadr>FdUqmAX|_ zU;q3+Tmqg#)<=R*-(oH!ywk|CAIkV5R>!=ftbJc@Mc(@^^CIDqBiU~WS?1zK!STp( z_+G&D8Z5HB$i)#!mj*OkE5lY#hD^NWNqa?5iM=;<^D(V9x6{WSRSV5x5Uo=EA-P zc8U(%I7X@6;toFv`jBNV@EGR9?nUN*OjQ*Sn`K__??C~w%&RSDu5BT*%nRNEJjgP~ zxSKh~Q$!!mXHM-5WSNWH02U(4eCCHiqv*pgFi&_JvdkB*V6JZxS?2sc40ehRT=`A@ zhXy$aUk5*GeGSok9L!_S{Y{UOU-@A_}i zH<4uy{m7FEvx{~HZvl=pjK+4K?QIQ$kk=_Txj?ft-ouK^2j7rwQew2)=){og=4 zvdq6<3br8!;a`AV$Vs?<9&PoH*0Rs_Qm_Yi;Rx7; zENc$#0R_9s3!DNokY#>9Qzw-VS?0}u1pLS{Xa982f$ZE%TK1kUTtND`3x~mdq65dl z)5x9T26iLM+JaZW8_0d|V~fbkf08~tlC=(TWLfj@D0ooZ;fwt2yYw>gz#U5oBQktV zC1GD7ZP>q@@Yd;_2dIS7xeVt=My;)G{b17sgO^=#S=vKOvDhqm!5Hp8)Vu>o23 zm3wEvaI14R!3PN%i4zxpc+}$ zj+|OgyFzyEcPe|KUJH707k(3@kY%6KsUh07=)=t`88_abeBf@-gDiW8Ufqbz$O+ir zgg$Z*eih`uNggjCFJKt5b3ahoC-glq8F%4N!A#L#rBo?ch%9@5z8#@%kePO?&H&qx zJu#*J0d|Of8+#$Hp*=O&ajkU>maRW%)jM5ZQAf^#k5R_QNZ|$D$Aa5PXW<3Eu(o z_YfA|35Fr3;OQ4p4#+-uD;STQgm;0-$o$8vdIZS0_ZVFKed^>{{NRf&!5y7AeE+2k zJ;*!YzXH+EUr(8W4Y>Q^?O+@7gK+Z(>I+$TJ@^>86MpFj*o?df_FSgRLAct;z3`;V ziTfRFhUEMPPUUC7i!5tWJ^(Y2WxYxO_>en)hz{^0C*d=%Bn@O)|FROa zBg>kYM?f4o1uwjcF-UaaH6Vd3Yj29KrtFYC@I26iEbD4s1n(jD!bh_H=3``8lk)&j zejb)xWzEtguua_I z--7#)Wo^?3Ac-t%oxTrtBFEuguuI%;BwnxwIRWng7d}fEcsJO9EdR|_u#vJtE`+Cm z^WLSb;0h!A;YK5e;cZ~%bL0!&Y1~ur9wYa`!*0^?6v9)$?%xw9Tmi;EPx-)&Ach=< zJHUm=o$yw$0l5c$8eD}e|D&{5fXoDbH6AdfUU}eBP=M@%SAuqA`LCgCj4c13@=LI7 z7kP*O03?sS@P8SZB>`$25O)uJs*!zgwUL8xyOHDYMk6QS9Y#*VyFmVn#1DT8h9R@y zK#c{XkUj7W(1GlOtHIOALAV`wurm(-6ih*u|F78zE<~39u6Yk^K$idC7<#iQXZScH zd*KQr`{72xZps9{5={9|${D@~c#(VH=fDhP`QM38fDgIw7IeWbWG`F+dXfEbBiMr+ zhOYvB$er*#U@x-#7sD>l{4!z04aAUHa-qh93z0o=DcFGQha15g$YHnx9RCV&!dpQc zxd(m`B#>qA{lN)zda)Cp0<3lmp9LQ4r99zwAntK^BN+A?;o;wb=aEzJKfrF}!cD{n zI$tNha0S?i?1!5{0yzv{28O+X9()G~BKN>gf=1*N{0;~s_rYT}6F;&CJ{82?qY z0xN!ahLL4I*Yk`VgxigrfbBh~g^#(7@+QB+y5t52(muAaJPTCs;+Fq#_JVXrC_k!|y46;GS$Ek1qt!5+`dSfnk=CVvgB`x)DG z9gdLEP+c2)nXR+p@o>zvwya~r$9g~CGMIe3G89dFI=$z%6I5n`FO>g>_cY7ztm2yJ z{FXJXt3r`tPg_%2ooop(tGJ=2IT|WHeddYjxU&PN<9BHEOMT{vS+>qRF`a2$2K6B( zdDhEjdnUS>wo9zclyxQ@yY%N1AV&5*@{WF1F?$J2FDdrO24k~|7umHiwQ3Ig9n7g* zUhG+8m;I?zy;Do3c}q&B&M5YT^*qkjNLi$=k&WT%Vr*7NS*)%<`6PVXYMYzt7KGL< zr(C4k8tP{7W#ZJDX`yK|Lep!dVBGfDSvWCw9%iQ9t=wk9pYAU!FQ32ojOuD5e0~1q z%0u>g4$^;bY~uo$7LR(qubZr)4iiR*}bzn)xE2` z*Rnx*8CM9e5(SCEgfG#N=uB)(>_{XNdlChk3O9}2OKxq0K}l>S(Mc9j$Yc37mlmM7bCQAr>!KP!VPng=**| zlId}j)*DZ2AMI0XZMF4Mi{PauAV~xSyaV3wR!@v56a)ly-tTwqbLNr+)V9z2{{Hy! zA#*N!pS{;wd+oK?T6^uiYc5#g$a6Rx`S?pF9ggL=@?SuH5B{?q$%Br0a**TkelHAL zo)dmy*o2vv&-2Wgd(~xgFS^1rs8}GT|s*5if@+eFl4O#ZoA`H&w$*14#xxi9gaEp z!@rV|xVq%FA%_><=QUhL0#9KDPZKbG>tZ$LC`?Gp;Z^cl@&Z8ZU+nqxl z_p-nSx8o5Oy>X~R{|jGO|CYENCO~WH=*N1S;_!j`XoUF1rHqAmp{ZNOa2-hI48UF$( z;p90gqu>Z!9giSGZI66`ljqKxI|E5V6VOJ%hHJ*Z0PCH5$?U6;@y$b#09rYUan0|M zuQKDa|Nl0F0(zog$MXITJ)WZ{kH741{T=JF|LO6m-oo?s*e4$3Y)4LGi*9^@>`8Y8 za_?T16Dib<4d%>KQHas58&kbLJ@%Yu`YKh99=opGHMc-FG|wtMfuHQ+*JYJ|BOyWQ zvDRWeu9?P`r2FQ__-aGaz4q~p+V=T+uWjABz<3MRGAV1bT~^XvDJ88Xa8rQm0+a_> z^mtg|=hNGRUeDLbWRf81y5N~~&qlT-K>dR!P-DEWo)}-OC&m>g-TNO^3Hz-Cg}aX8 zeKzhy^_$8svdVAlUjDD8{2rwOyOM_M3LTMS38qIk4%eIBh`4lPt@-X*4v=cC`PL~U z4ijU~mGq={ulUx2?B-VVBj9?^M(~FaVFd+!MkJOEDM6}8KwOK-0#C$CwIQQMt3q>u63`Pu|+qQ2;pCCr&_ggTcVp9wyg z$I-;JSk?TAr2oX~eD4y3xHv+CM{BF_>2h$@a;V;*X3O&Bi z>kAtf`ShkFFz_cMeUk30zzSu%L;g1-MMhO|MYY2j+mFhfB|)$6Qs<39Z|#bE@oW|l z^LV3|GKv%!s2d&TnjaFOOlMztdz^v+>p3|Aj_oZRE%m-+pcA2}TS zxJ`a^d^NwV(c6G3a>9wQcTPBg`t`&FZ+*yk!Tbb+4gaK8$P?~*@0-}XU_arbK!8%j- zPxD2KlJ07}&=Xaju6+K66L)*rN+DxPNywPx3mNmuL&p2sh1yh`=MT*9`*dToVyM3m zjGhd&2t&rVW~kSR*JsdNmgvSR;$ii?u<>RnKBkaTpgzq^#%2g0UnpL+Q8xyM;^RBO zCwSV5+fC_K_c=?#-T)W?zcq<59W{xnO`*hi(>%Wqn|zGV{Mm^9j_R^E!tp6S{DF)E zz|!?oI)8%q?Cs!Z>7On~kXN3t5%Ot|S0~-ekluBLViBJn0tHFNeC<-~s zH>Z+sqtF7v%+Mzu@-`EV*mJcIGSgPENs%$)bt$Dp1_gAD^B^G4D-2T>>@d%VA`3}^ zQbwVTCxN;naUEUQa2HNh9G~&cTo0tWW@1M6j3Bm=ui%E zAi^)@4+N+AijW8*D0xD*2m)cIWDN485Bkh(Z!v|4Hc2Cy0=jXXug2IOHr@kCK&3AN ze^WF#rP?S2x1{+ch_0#|djrm2t`0PAL-#ivko`6R-qnp$b>kh_13hr(wX zMB;1=Uq*@Ew3~8cHyJ4ZLC6jNS78H5(UZyVkX{?e5ggP)7_vq~h-(-_T@Xf~d!R5B zFY;MfsN}(P;Fci|?ne^kLErBv4@N01;+y3`H7fvAN*-uNpNgvD zd4p{obnTL4V*Hc9NYk8LJ&BGA>%o4MnIdcO%raWeklAr zn~fInLfu*D^;p6m>=H6|gxEzf%Ay;h@j5M;ETa8^KSCx{EGUegqZ?3uekuaHkM6H_ zkn%s5)Ef$;!*u8oyI{73jSEp?ob#6 zng9kLNN$P|DCmW3o#Q04Qp+NcOGEJ7HBralAieEqySM$wmd_oj{?>IOvZ+q#Ny{tE z#d@QIbPVIV5t4N3b7Kmnw@^Luk$J$>FG$z%nS0RRJI}P+Ap<}iBUZTubGR_!sa^$T)h8B%@lW(o_HULxv*CJ(nd!Q* zF`O7%>|8d|*NnQYfqRX40gPw#FoHIdY^yt~+vPLLfH99_m2Bi;^uUs z`-mjLlbuQD&t3Snan1hyFx*4(5gDWu2xbpPh4o7^Q2WH!8u zYp$-6KqIwWS|5HSTAD*^=FGp+Bd{9gz4{kATZ2^KSMMf2}K8gJvajgM*-l z^CF@rUys)oh7*;nRKZSwYSBaVxL(*bn6Le=C`_nAh|@T}k3$b-Zq_Qb=!K~Yb%!S7@zgbh@A2%CXIEEVIF8<}yTTx2=T%2$1}{cm-iM)a^O|H7|- zt9n(;O6cJUknWyoKNG1`pV#Acp#Ds>-<)EY4`KHA&X6&uu;B)br0nUB?LGuuRBuVT z%T-ljZ#n!Ozf;xjx?drUPCfyH7zBT9(%sjBsjt8!qSZa?6V=np&7-~eGz1H`99nPK z_?{+8H3p^|TwNH0Mk*buAY|&ACpXs6B@yod`XVb%|GyOT# zXM8?N@p*Cg?=#iEuIp%D3OnWK{;}-S#%AI-ITQT2p9qt$)s-xr#t0ID>LLbMU#3Xl z8_K=JBwsiIb;`doQUqaL=v;r98K9G0}1(p(+DY*qcv4(R2(O+i^Er5t&9&$EQY8|eIWfl!S z0`B{}E<~B=csbEoN>bqNB8oDmDWP*{8UnaLUNHB-DunHvF5-yPmncIO_G7CE*no<5 zf^Hm$brx|P6rqHw@F}_*5R@8UWbsR-_%SZ$vMOJ*<^$>&L^Kz3>4pGsC~|ZK?5d>p zZe{FJ)XXYE>aj|oVcRy!m(y@Vi6e42nAejs^Cu4{c5BUvN1+SBx~Y+Cb-9QSJ=p;{ zq;!&y0X;F(4#v1%!r`?ft*D5`MU|4Wi?Y8O(lk?sL3Yh5feiC?bHpg|Ao?ZvkoEvX zn+Ik1s6`rV^_}dX(R0N`W{;0Bm%t-0m=Si51st%?AbJacUXpIc4d(SFL~nz6&5=ZJ zt$8J`6e@6sMOwwNBzy$jw_KNz3ar{*t^9y=4dM}sRsd;YB~8mxuQK2j`;MxVxMBhF zzGz4p9>)0s;)`Gd1>!jbaUMY2O%T_cub)5=*PAaNp+H=VEBiW37lKIRMZgm{#E7$~ zMSHE1LlMXJj1dWv-oV%{=zxG6*o!#uhT<4vD+^(CR-&i4q61{yRqxd3r0!G2qx@Vo zu*=0B@p>tLpenyMvjU8*e2qcRdM(vi_o@!D9ReH%N^DBjjWPluUv zB03fP!^%fo~|WPv>o`Na=Vud*Ye#S{bwvM*HLbX)Px zg2&jLbYFxz!-=C;-h)dVe%DpKsO&?Tj06 zlB?Kfv+;feuWY=t5muO@)}y6XOkW9A^n}pC{0u04M+&5oM_1NCfvnjs%b#JjFDzo= z8Mv;6Yl7}?z-QAmy5rzpmG^wM#~`tk>r(R`x5r&Dj;2m5HH-fEts=WXP0 z_!PLRu_ZE6H?H;Q71tJD0~waQi(b^rio^cPJbeBP&t)y)#26Pn1C)_-aN`NXuc{lb zg^YD(RCzExmdq4u-|~OLgGT!LbUGcr(EV$ijkk-kG8$rAW-c!PC(ZWOh9L@{v0)9D zf_$q(d(5!0GSs>kqfZNg4(GK*QOO4LVktsMrE`3?q_nhe*f_s9Yyf*>bxrA-(4Nk) zu_e^HKextM8*1%5rzUT6jepg(a6-LU15$tnC%~l#vz;I4rDKbGq0^{hJyCQX{yNw` z@o}E6rkbXgqWNVnbwRR@DdnKFqg1b$CoktowqNmO6J56cQt|)s+5dF}zJc*zEi~!J9f3%ckxu1Aj*`7$nY?^tu+n$B9rE$ji4HckRiJ@m)?0p~u zAOI=iRS>aM667QFEFE2h&>u1;Q4|o+zrq*Dqpwonh4yS0@ZKSb0AXDU!n&lpOhI@z zx;P+oXG6FT0x1m}@5BeTB`s6JrO$_r7tzPESrBwOFO(SC67sK&j1HH!rsj7v=##OP z#Z~d3%hZg~pH#)eu1|2Yoj2QYvx_&oaI=>;dvWt6Z@#SYzZ^wpU74+ZbN({z|9~z5 z`4Ty^29mJE$kE~s=qy@1kPj6GmqO?sxD-L9!o_81Lva}zinU<$ZY}P5jxt7^AQ>o& z{GFKgpQa)%<}2~5Ckk@3e{Y2R?GTcF3^arDZOz~oyut`6xTGJ8~*)@&H?Tj_Kdp&#{E^btXO0Gui%-R_o2OKk>a}(UHYi zyd1^EWBfH1KP~tCH5RwXJ%5eG&&fT10S=X@W>KZ^@Vq?m*BS!mO9z>DVfXf8{EDJy zb_7cuJwBWD#G?wGAJKk02_z9TW}1Gt{8A-(h!4Bk#1_-2QcXfP;t*F z5bHf(5nYCe{1LiBI3W`lZE$KH+#%52{sh=?sr~2d&mQ($-mT;r+Hb%)Wxs8^g>PxU z0RUyc;U>d=L*^d#8**Uy?Pt&q=mi9kz;@o8T1 zp-9~aRa-tGm!2|v@fK;*9y0sJ`{Zki_1lrfSiBYFj>q_Ghz%GQd(c>H%6tAAi$9Tj z{u+z7%RPUM#k=I5zYyPhacP!_mxGIM@pq~CN@c%;U)XxghhGI z!~D==$^2^|=thIDx`u^I+u#jP#|Id>u*~!ISSPfBpzF)%XB_)xp?>97OM$SUxIOq( zA)rA5J%Q+&Vk&o&-`{Dzd-=~%%>n1TeyVLQR_p&kVIpu@QF9Cec zFP-)6be;TKYvY zspgkZRo46xo)1311k!)E`6ZSJ`JJ9$LJ7UiFCm|bAIhFzvOhmw`WEMx@O`iIOUNnV zMF*WsKgQUu0KSx}r1oxQG|DJE0P{=fBBUOxgbApl zZ4?V!Zx-cJKK;L$KoWT^UW%|CYPUHAtror?;pGuE2AnOm#UcMoRv7kB%=v-teZ&5j z!p_Q$a9SaLU8O*?^tjHg?@qH0M4H#*u5xFBihlfe4(r;_?P+bKWLsbK|G3cy}P5zQ?Dk zT8@$dNZ#@sER>-HE<7B13S5UqRk*tBdAK3UUXm~H&XaU+jo~X6sS4TL*x%6>`!B$N z%ToM;sc0=Aa&Y?2Zsz1VvEMxK`uyx0HBfkDG0hPJ51@qOa-Lu5hPlR3!ayhCLOCSoe_XqJZ1A{&1^ zs%E$Khm>M(-56Rp3k5@~&3gX1R-g5Z1}HHX!$(D;`&N_*nI9&>Xm!PUESOOG76LHG z;~R4t;+z}KKKl|h1EOH9383ZZ$`1dgYx*;uG_S?KYVJO&J3T_P1Y$#*(A45=T#iqI zMyRg3>3L`4gLr6I@hki~b~;^0uRx<;>in!_r|vwl1vk$-OJ3d?a-R77PUp0Zmuk){ z9nL8&xZlisz0f%Y36odiZ_Q5U;9UHTE{v3c4lF|}4dhEXnh_}4vk942Awy;UrOqo` z;QWz-)T^RZEG~d9m-#kdUKVBLD{G18Vgd>VG$x+9dys@)wGAuCXK1?3&Zb9kLmqNA z-Yc&bHS^+M)PRe#@n-y*d#+RMQE&0oF+W3lq&mUjc!CL}K8x`)+T;&5$Xh3(DpJBsQd-NI^9Y}a`toX4rBRQx7FH>Gc5c2#w4 zb0_`3(5kPFEtu+v%*yQJ0o0R5?}vOESrjzJ<_8(1bfB(2vM>vU{Wl5EjjI2(s zdbh+evWsW2e|kRCJP!ccPzb+bQPf{hN(OSc4NROQQ_A(4VH*Do8}Cw{F~FjlY<#OY zyzln16&U?nYmS(YZgOTRyUC$HW;e+<-tKZeC0%6aHGP-lz2Scw{R3FmnGWV1AbCH& zNag*iYv{9*_p@sTNIZXD(*M=medepzl0$BnSa7S;?gIgWR(QDPf6KXe96r?iUpW_# zXW}D_AUfGtxD%j4kLI zEt#Cpmh zt|3b)Mn$x$?`(nEd4rXucagdV$%ciC8W1}80oEKzABE=~ZZP;ctX7n{A1rForoyjh zzO|EdcmFqdlvDic(MotUtjA~ZNQI{(=?-3x90~UoR?6?0f~6%$IZ>sIvr-II#Oc=K zLOg25tCG{9at^nW$P#wahu2B*yTPA?Vv#<}r?qsRhQ5i(2^;!sPF7Ed zkA=5Xo2W4yrdBiXeJA2wJK{Nzkok<1jl;!_DD;~63>W5SDK`;$9oLG`q38;p3GHVi zrp`R@iBGLIW_45>^VXHMR5xwY6Qg}Wr*2j^?ZyRipwgGDE%a}{!O7Jhh~!6%I9?dr zL*OIp@jMrZANKFP;Ro3-_jY+Xw}1i-Gf0^tWl0hI9>pbVUB=$W5FWbD)az*L-Y2|k zw__uEC)+n@w8Nx_m$2;1WRfpqcuC$~lIHD47J@@2+MN9-JOzylYmMq~5IkEBp7muZ z89{Wdk|4SkRE>%J)GACd*DSngYZ4*a)})kGVf`NCsStSyvyu^+P!HRbK?(4nF-gb^+}q}wGxNwKdZJNq zW*(S7Hw*XE*IJH6OXi0^%)< z#ApvQ)rFA>@kj9P;30%)0Vud|wy!KGJe1Jb2sr6P7oT|aRW{3Iu=jgfF zq|hO%%FVwc;gKBrBEkSbCgvYJP~Kl6;j|Vym*=Q(Sq6~Xp|a9wneA1sB9795r{Z$L zEVb2a%TQX`wp6nPtY%v+BR8j1>i7eU;HWc)oRMlaG86L%_CBitu|`iOHD5F1R@;4G zwH>pwhq2+#hO2<>n%QuH?hOY(q~TEDfg7$av*7@!G+dpcdY#>H^_dMbSoJ}~DcQX>Q8m@bsv)$tk=zkX0 zf!;fySZ0OB1kB%lD&EpDA@i=Qa96fFJ}(@fR~w%@o3U0W9!xMOBtJpZaCw81rGk z6*Q(yrQFh~ap^16=zjmT^g0KumM$h-RBB&~azMM4kGgS}N_;pkmk^T;nHH>8}_%2_*qol=hn`|QnssETqOeOU}qHBzw03rrq)@!X>b1i~J2EwXI zb~qnispoCqv!yIqv7q*v6T&k-u9>lQNexz%sR8~^5D%fe&qH~iB-{N9YUh5KA>h}1 z2BN?)swMussk3kDo4-dUjCszn4N1Iv@y z9PT9YlOuxp*CDoC34LsLwR2|4-GZ5_DQ^NmYP_(;2!;xXk*gp^u7Vi3s)XLLA7aMD z7#WUNg^iK5@v2&5r?qsQs68sn4ePL;%9E^iE^EaS zffr5hMCy8N#_JfvsP0|7pFT<$BZMDF97v*C^2=IJ>r+8x=0EVY`HPeDP~^C9I57&O z>o7)v46m_2nxjtV*er!ZDF#cVr|7fG^8mK(D#+9Pr9h-4o?j$hWK2rdZPZI`Id=*~ zTzO9P7|OSDEhl;?C0x0d8y!d)SFYtn^8?LSixi}^d$DaX2Yi7C;HQ@5S}Y0uBp44A zkGJClV%LWq)yBJk36TQM#%(ZQW7pR@oQ?1E?z%AUHp?B~Z4mQzCj5tUwjvyQQ#d|n zV>mv)!)${-NKW~?TyGY+LM^F;K{9y~BvYk=WU2}!NT#X?&EP|H){iJue3t!iY7p9g z3I0YHV-WmT3+PX;F56w*gm%@xZc1wS^>;eQb;5|in!xQ{gPCt$E%O*(YsS|`Cqj%x zt<{W);mSm?z~NtcO@Z;TR%%uo)wPw0{O@c2mTUTG#&)fASJO73ao+)C%NqCcRggJKV_(N!YgF8h+X`1OHue$_nbOH>p7!`Hp! zbS@kFb-G-s3b~$dp7d3Ajau$YHU5v9Cw=X_xeB&w7OHyQUOf-{)ojCDOJ5{*`I>g$ zFhZX(+v^R_P{v(&hAf|6E!!-tHJ3vn3*~(o%6nUneVP;fho|KA^p&6S*ewlA#Dh1XcPWMeXF*E=m7X6?k0k1@7x;V{ z^{c%isya>ow*+v(?37SN!0muMgd2nh)an9K@gx+xhnrS!`f-NELP_ozL&FP}?DI?P3wtcMfhkjv#U=^l(5sHBoNMFy0= z=#!0TJ-xlr+k&guSd3pm?=WxKE0HNLV2jrsPEY0ymdE)2%+_HO0(P`-J!?3(pI z5xYi#pbVRLK2(N{rQ-rKsn_1c$hcVqyty3NVBdtjmz%>;iQIyp`lAXcK8v0s%TY#f zzC`w}$kk`)m>dWX)>%(~7$FFLxbsr*Zq}qp@Ag^JJpnlzTcSV~YVSBaEYS@_Cihxu zK$YsV>bK)@2hy!E7jUD->`>gCc^~u^iu=G!2^JpAo}Y04{IRTH;j20kr%e3~@lMJF z5|?0r+HpGQDa;`I9c6ET{0*Q8yXW&5`S<mr-$xN<;i-%wyrDlfySSks zRQeTGK_N)tA5?ik!0@R;Hf$F}vR!tG;4fds7M|*IL|x1x-WbTzawJ>jN~-hr7KkPv z$@f$~py+%KKSuD>;^SK|UdHwYB4@DbldNwrBAyD{1yv^9t1s@449RFwY;C@ULsx;G z+|aeY>5V8BZVCuB2)3sUAz%C&UxfUtBZH(W`c77@7&XDB|Us1g zp`*+PZv^OLw6@pCh_6E1i3?FjI6MAeKS(%xlKpHO5N5ge9V^_>lL=}8S52}<9Y?X^ff&(;)j?$zX1?qn+OcU*aYwv=84Zj?Q9HD z9H>lWGz;Oiw+5oa7$$B{I3^H?fi3Uf>Sz+Mn2IRqDHt6tg) zDSqu~q0*NK1Ev7hV7*DwJy0+KYm_3QAa4}fiHj*#5gw}$NJlJVY3V{R0$N5DGnrBV zX5l}%W~FpTC=afH*Q}!Zq3ERhZ!>_HaX!i#qi{c~e}t6+@uYjHB%*|j#!A-~DKNVv zTAE+4)l1JWHv7UPhSTX-wO&O^1p{mZ1N4um`l?xEy6LUbYKc&7#xdm9Sde%%iSd~hQOZd+nlQ>pVyNsyFLvi@{g2! zAfWDg*H6PJ}>aq{Iu#?JVCE?O{u}<6B_^@yU z`W&0Ojf=AVtLF7FPZsDQ3u%qM9QMEGj4@~*a!7x%Q&y&wwub!A&65K2!g=o^OW0ZY z9$b5_knxH+7Vc))X>?K7hp;S`4FJN26C-k^Ic2iy`HR@rYeUAXj28zX2EhX9lcL17 za9$T#p~e_hh;JhU!3GHPPP%`A@0MV3RI$#bPNl7S-X?xsV1DveKgVcTdR$1OC-T3C zD;V?I;!Z9fU@?%8q0$zjcmeFCVIed{sB}9^UJpi0y3e#qhUXHQS@J3hsR6;}VI)nm zwQIYcGacP$ln3j`LdLkl5LC@8u?_{0zha&Uq1IK8l81v`WuY0E8%TRkvyfh&biYy$ zxfH)luoC8n#s9K&Z@m=L%4?v0C*2Pt6H5;#@(*VXMXH8Z&5m~=Ho+J(We7oc_sJGY z8T$^}3Ud%6W%2k)*icfI$SFZZHUMN;5dqx%E9Zr<>jc-~T}Gf}(H%DNz&IT)<$55D z|BS`2&)A%czGU{Un!MHK_2^sz!G+j;2imSP_9Dnk7cl%=ke%W9#eh>)&<7P{F6G)i zozJCUM@T-p2S3D%8skmuWnx?iTkfk6R(M_OqFBV6OE3^G^kRF}* z%FA8|_6xqu5Uh*%{0)Nj2h1aaRlHsH5I_`d%BpMc`knIEz4nG0+~BRt+$c136v@Ml zLWf}#t%4Ne{x!UU7V_vyZxqUy8d3bLYT>`pvG0wwVzWL&JG1r&H9B<(CqoNYkgi75 z$FK{mmHVk|gB6=b?B8}a(!YTeQvE8tBh~Z5#xWuP6d#>#Q8@aT{V;pghukOBk`LZTc6Bb4QKhO-lH8Xr$=YX6@^IZp=R{^p)CA0@ zU#0SGRD&9vLBx)Oq%g)dT!RpVcnFXY)xM;eJ5-WKu}=sWh=4n5>GZqjC5oRKpSfi- zW`yIH`0yuX%JPu(uAT2wJL>!!GFke42%k$pPSE*8pg4%Y(4j$NW!Xz+%@6V%2=ure zdM`qwWC}NXOIaCjIhP)Qi^xy8;Tm4mxczGI{r?!a!uaX1r+L48$=s zjbhlq26GVRW~q5@FgBUFoTnvD#My%xXUP&YTFi0)VSohU(rDc)o`pI96qvS(N}W_R zRg@O%P3j?=cll)7>yrW48xask40PucdNCHd9SWq;%YpYqcsK=bzzQ=(G8usptX%AK z8UnqBcuD`rSl^afUOWfhU~|xLaeAZO8$W>M-rlqoObI6=5dV#di|R+WZ0gyM+N+9@ z4lh8J$GVDAO((De9%0)LOajg{4?BkncE^(q$V!yRXyZRjCLhDDd$=v$luVW-RlH@{ z8xr21@~4ScxkrI**s~S|A_j$XCMaU{Hniia*#6vw>yz!VWbVQzxYidEdJfx#6a4A^ z8;t8%pc%mEU+c1Fn`Hc6^vPDhN594rTLpW*nPTllow*b_#ApyOTK)psN89s}v8A;u zPs@8Jl=x|Y9rBsi=HATlc4Ik#`@JoXf zyj*9_`dlVs=#ZlMsQcU46o0NG>atbe26O%=6nh(MXe6vR{|92NXScB29$)!|k*kf> z8pD$|m}k9*zOWmEe>win3WBi$7|DY=o8in{(IWd!qxM3KQy> zIpZ@T)d2_LjtTuS-?5Y+UdSj%T-WXYgy1B8MDtJmjbC%2l`U+K8VqEr=XRX>BP1VcD1I{am#= zD()CUMkJvngzB&pOmvvp?`0Ba9E3I%-akY*|1?e<0R`sazsh4YP-0v?lwORO*Vf_> zrQAia!d+p_cI-?OHtvz<#I5(@bqxZ&F#RrX;!iAP#yIj?FR(KaL>a~#dp4=_^X*wt zpO$dLrMtapmZF=jVDp&mF9BvCQrOOAd$KhSi5P$`RA+v$lmkp8Y%W-bTnYE>Via_k zvmsc;z2A{^o9BVa6Yg`Zq;n<7{T|;k=p{c zJ&IKZevzfEM(CivK=TwKlT_2oj|wWD}MdW=KD~y6&-JU zu~#}maDa|?D}>H4%M?&W7D8SD%Kf)68$~Rg&1!|0NbjUi8@nAmk5D;SCPF{( zzQ_FSor3QmbJH5Z_aYJmIv|Lw2(s}cE5j2i!*(dqT|Xnr0ab^Ew=Q_6=Sb7sWBDI@ z+S{NP_Tz`EX9=cA#oH~6pSw{xcV%(89$(xdjJvpl7eg4^d}o7rbEnsnvcPq%`Ne5e zI*bA4bCSeGeiR8Y%-VMTW>+`9h8%E-&lfr+*s8VOJh2Rg$65mTAY1hlG=fytbbd9S zmO1wxZ3Z-DEtsK!5svu*J5n4wYQ-yu#w&~Cl}E+lEH@@&hZ0)jQ8)%y!sX2GARwkr z=YCBowM_FrA337hXvNkGz~z|}Npk3;4C*=@6DV{Xf^D%j{SrxO%EwE1Q7~J95HNEf zWCQXyeG2&~tn6HNx3vN3L*5otxad09>`3$~TU;}Ud49lodpo!IozwV6WH2`!ElSh^ z{Z^0p_X(Dcsy&*6nxQD(jS8gTaN_C`Oeyoba(w5(chMuc&7rQX2%sViXu!fOy3fk* zd{#SDi}yv=f@BMBLNl&J-02ydqCFPCayIk`Tp99NPp?1Q*!=HPF(_Y{o46sD=mmoG zB47)N7TOB6kkuaZ=H1Dp_DIse{tV-W8aj4s7*~v?Hn<#xNLCG=0nMoPBs*}IkDWHO z(rT|3pI#J#?7kN@;B_H~(Y0FqMwj#9)rdmTXKXa@hxpSPZa5;R#<&!FC;ks|62K!N z*TPW4%B_iH?e8EyCU85##;5jFM%nJBZ8w}3GQJKbZYYF3WWdBOg#*pMm+I4pwV3mI z$!J^AmzD3?Q@Tc9`Xr_0%kNblI}}V(RlIx45zk{Keyly;|9Nw`@0SaomMTLtu#t7% z<1$?m&f6NoylM0{ZdK0S(zysfVPhL+P_OR^pgk9YrV5l{Czx$FoS_-Jm3}Dj&G=M- zXcELqfQX6T{1d=c#X7XzwtV>boAZY+e3>u=(=h0<+0Znj57|&?#;Bp9#4xycRIvmW zk2)&OpyE;3m;m{x~o(EzNu-*gMEAxN{VKBc6N*e5;Z4Teqe{eEE{iKfPE(71s4 zXd5I62G-0$6@#ofT;xgOo_kRXWBuNt1wDqC!2Ic zPOqzhqF<;b0bx5s5+Up`WR0qasp8W^HEQt2zm?ax4z!Ke#ytXBZs2^A6+|8a2 z48G~8bMSUL>Kx#5K7Lw1)JR#Zd|eVQNN1Pa0B-dHY{jq)d{J+PR|#8#rSaKJcy?=f zGY2o zvNa#hTg-=-Gn=S5fE0}{^WpNW=EHfL-hTi)*xk$T@J$P^oY21yH`au{yi*hUyge9r z#VlhJGiA)`^VtGVk`iRZMq&2MY+KXWcx%t3#%H%pqt}B0G{rOfOGNv# zIH*0tr$s0D9-itnJTodG)*k4ZeLo>H)jDdHF|=#*RJD|kn}M1MK^P2MI3zJ-ff z+(LxoXK#|^vp1{D7M0@-=D4X8NGm`z075W|@HOkRdM%;Zu0G5mGV!x>)g_OY#J~w> z!UkXP94cx!`!M8#5sJv;UlkzD-8_*pXssDQoM>CY7u$w#MeQn%DXS=FsVS$%6wBY3 z-p_RBD1MCna8}S=;)r0w2<&Ks{W=DVR92rF5qrR2)(!sDmOe*F zg66W}JsCpVuD>|tU$pjTwUFP@JGj^a5Hz7w?*Z?J-9YRC-)$o;`d+7H>^JmNc?;m? zYiLPAhUCoshLE|(enZGnoPuOfigGO2>;^_kq3OP!9A#j`iT~Vsa>%(5P6U7m=0(uy zz5IW1|KM)$E1vuhqRlVpa9#o$NqK4a&66!UiPmG#ah6=twmkf(x3&shWqs! z{W|Z4e6bre9omuFPdUKh8{;+R9n$+L>y*T=;zMdHkm(-EoRc!QQcmz-9jrOlmO~;t z%>9rph(5%eX0Ulmpsh;7mzMZ|R;H_I4G5C%=Z|FKw;})$VoqnRs1ok5Z*@LF1HF4W zZ4DxB6xKGj(0{Ya7p#)cez)=i0c>OebQC?I(H4?mDk!7jdg6(>c|<^Li5^RPa6I&n z_2w($EJDZMU>=S78Wu3${>WAeRA1T=hv~tL_FW;Aoc>+m!)6|VVK#iD^s>KA0LqFE?ib@p4iq>8PYpNn{Rnx_^An=zeLUbG z08+GR;O43TzQBa#3+B-h@XthrxxG6L%>G#%DjMeF4!hIv1KFJhWng!jtTHO34D3#0 z7lF~)`VwVe%NP`a-D#wVUUsJ$D?P>ffCGCQJDg;Hksxl77!=u^22s|KECFaI+?|G3 zL81;hx&n4pQhT>D&X6*=J59O>smChe8l<<4Vu9<;E1#m!`+u`Ljq<-|$QNJ=X#u-> z4z!%F8*TtYdEf?zh*@i1EelZ2A@H7TiFZ;pC~#>T`~0eJK=TlyfAI6G(B9q7uL{6T@Ey*t%I@#f zQaz%>)>1Sc{5-+B3iOTx?yvYmNwxP^Y?SEEZ@0gqgI|8z{S{v>XJ+oNh~W{^V-=q5 z{S`r8wZ9^6y6vxs%&Gkqk$TYm6_MAZ{dU0p6+c4E!T+uO6|?nYb;vdJb}eQq5%2b?|i=KeP?jF!okiL{S%0H(DOwvLJ?F3xTi+yd{I2&yy1~Zvd$L; zGME8^C)%>QyPr3V51`*744mf;^L$Z!(EItK$cgiY@eA($@CT>>?J727`TxTCqW`J$ zXYUi`3Fpt=_-H={L8Xqsj&(nOHjHiVtkt%%m?jkgH{M-BU}^5lE1N!QWG?c2>$lfhZHwQC+zy@);8Welz zy$6fal{xowz!cDp#BE{Cq$zzkyM8Q=j3Sx?IeA>VZ%U^hI9M)+-t#Nh?M=u=_UH!Z zWJUFF2WO9XVoZO?>F^o!p}i2786XL=_|0EbkVQ;h#bexNTaU+FVjmhNoj2Db3-~Hv zUh$ORwbr~{#cEgxUVwCkAlyrZor__z9TZ>l)hzlPnfhGq$Cv>tB#h2}gyDRLk&B&y z5*HNeiR;jVxVTqBX3f1)nC!HVY22Uu9UvO9t$;hen7^1pArhD#6>&YQ$2T5)3ZbnBaJ zmx<-W9O^tK$dWsBoMdYG^5NgcbQVAU3Bo40lq9Q!V{NaARm35eqL1Kv3^7&#+jX2c z-WkJ(>eNZj^5WRZ8td3eAd6!svk;-@q#7eM9O!bT&Yi|hojh5MlP61vpM4mufj4pP zoq7j-gW<#?x%Ai{_!;pWI-8bBS3s%aLisJ8QvUshXRSPj;5hb=c%&nBQx#FqSvR(Rz4UTTe45*p|%gkg2V$b+bqATpa+=Xj9G6EwD7|DVML-? z5*6x@vGB^Mk1Q(Oh)4zMx+y47ZYoa-ASrkPvO=ErUak#`Rctfzwk;MS!gTlOSk%dR zZrw1_Lhpe;%6wh?DJArtQbO;kOrh6=EF$#gFB7515rPg*NOcHRAK0GHC43MELdKE> zj~r$%%W7oFf`<`J%>u((GlXe08QQ$8Aie;_E?}wVP(H(>RV3Gu83$b&d+Q?^%=)ylrucF=Yk@!okWjG`TuJvf9oi4>(l=K09x04^#KAb zx*Vt+1Whn{mG&|TFvs-5eo}`c3S+dzgzv4f6vAEhZ9om8O=KLAXvHfukap>n%ChAe zl$$xg6$_RTPO`7zNh#6U^e(by%%59_XFe_*e2$)&Cj21cHo_Kg>j7 z5L~_U14b*vtE88()H+M>Ec{T`Glx#Pvvyd_aF_)EORW-iC}4f)Q(xWB z>mEz&IU9!q70zOlCTbRY7C2*G2^ti~Q^|OrK5wYk^V$`uqL-vxbT>(7&Ggdk!kC&m zwOtA413BvAByBwN;Pz|f%_x`n_}HT9gWJEOzw5p7Ti(ZinCaGe?XN7f{atfUNc+3) zAFhVjlTT7ZtkBo?cWEkP!SHmVd*D3V-*vv6V{|ZoS0@yP|1E!)$WyqyJh|8zhU2N_ z%aZfjxvdM<=;FL~OV$s!#HVJ-eB1G*M6m7qYC+eOv)j?FHgXaj@&L#G@M6zZ%M|Lr zc6_@M;Jwt`!wF^$@~G=y^Mmab^!t5B>{sF|`ozu?AZFI+{A-HukJSv9 zAEAuKUgs}YF%%htICtGoE1>Ym^y7L28R5A|1i3B@8P$-=h*;H)5(!k&5u}X(yu*%% zxbc5Q-+p}*GaMK5Ov?=#!rvj@;e33-90*FbjdVfx0se@Liw}ak1fzh@eECfZSX7`H z`QD1k;(3GY?=efhs_Plag-;>+(R-omLtTZ%G81dYaRcjxD{rz)Z)xOi^B+C@p*RnD z6R<%4#V)^`mKJ-{pF?zXFVLx&RT%w=ZuHfSD`hyx@rr$zSSpEE6-H}B!8fpy8Y@jM z#D+X!W13H`F9CnHk1R(Agjxf*@yJ;u@v8ymKB0KNH^lL&^LAvhrFqR%DVn2)YCIR zqvj^ck?3sPc%14IHKlx571Wf1JX?VW1)w=+D*7VUdwvKja^du`;u6RP9&2?j))ZV< z4vF0<+y*D+j_9F0ngL7@@_`FXCtPuz6Cm1A0cgS1f(CY5u#9{~^p}t2+FTGN>|Yx_ z9>*IOS5!NkvHcL@WF!Xrua`>AR?xaL2c?M`2%=krljgY@#V|M&?)FvDlSuP0B)?JZ z&?>ZIXY3&q2WL}eadTPRV|b4>xPHBO-c?d8c@uO~MTv<-X8ryaHZvDQ)u6yo@x01V zx;IDY%gQXdm?hVtWWlQ&7W*-K)agf}R8gS=IHx?J8CW?N6wD7B*JMM14T7*xF8;K) z0h|*ye#G$C{~AVKfd|qyh~Zys!n>{sV3w4$_lOhIwos$ctib>FV`K-dqI5vmVQT#{ zcovxgcAQw`V?GNAIOd}QppaFMKvj%`9Dhf^9ue#D(hgrIi-Yp_x~W8cN95dNIbqviio{W*7BFQ^!QBC(M8fgN1u!inx?fUXyjhHBv=uU0P%nXh-Ws< zhwLzDt_sR9(Bg9NJ5DXs{aEad^{>akS-Crea|^LsXt7q2?{&r&f{)UQx7b4S%_*x$ zJ*@C7@?x{8CCI`6*QLB-UBpJ|oG&wal&{P`cTu$$R}$h<`R2%n((a^2?|kOB{Yi*1 z#iRKJY~Cf@VVi|hE}`ZLFqk0z*OQ8DN@+j1MmPi@I^C{r8dhyB(T$tE^9hf5S zwvUikd4p>MQ*dqO6*=p1H9!6pGNF*=;5~EmAEb~*YvU^hMj4ps6+5JdkxEMhE-e}* z6q*!P=yib<*a(%zx90D$T${B$zzP1|NTAmL3p&! z)cwC#OrOQJ9J=07#>P)o4cfWa1dJ(Vhchf2b)8= z8CjgmaI>wDAXEF5s!yg=SMi=};bWj%``APhLTPMLV|Vd-)WEzMS8TBP;P4J}u-s z-8r_EALVQ63*_c* zh+fcpY!jCfPLzHTUfu68*~R$^-jXs$RANjsfeMGSYAtjELEr{iaB&{^^kUQT`=KU23l zOP<5ak9Jl&Cx3_=oU}A`7ydeMAIiti)kVzqE`I9%5p{BNFhB8cM#j7zKw1-dTE z2MARi_!+YtKjR<3&y=NQE$x*hm=QP!tDWMNUW|h%!lk+R>wf%5wS~nyvS7A6UO58w zPkRMR>er&cvwwg(m~V}KBkQ z?MpkCbMgk}_^K#Q12X$sW)fIPUmn;w~6UUGY264;E89@>LqPpD|7(- zLX$9$Mup&|7QB~xG{l+sy9)cmwU3mhZy$LUIRGz@o{Iv2j%(m0ym7jYpDZQr#mCq_ zEk4oB_pe7^^8!9bH=#w%>NYZ`vjm8$tYEUilhCc0ICx~f zRsP_yL!Bk71u&or+}YarT3Du&??IlaA0iDD!FzO_!PlHlb8^13g!7oO=jtmgDqp}E_Q>O4Gwt&esaJqay8I4c}5)207u1a)jc~J>51Tshgg(#q1b1B+o zk`N1yQ>CT})LlW+aVT(RHdLdzGF~8kXvQOCK^@wwu6ug{9@UJQd0A@~{T4qd^uza> z%iMiiFGM^SIWmYi$$rcxVj7)wN*0E?wKnJ^EgPa3%tBD$sc%>zltNoZD}eE2mz<4^ zDLjnS9&@i)En~b&jKGg-{wM`2M(rvuc^I1(BsA+T10IyGMyG}q!WgV#wpCs9l%93n z+@r3SereMMb&Y{j0BcCh0(esJba5J_2PGTpAV?Qm>s|$_^g{+<)@{3n-Psz>Y1cfw z;AlUr$i;G8?ew@7jB69(T1i}kpQ$dcjfiV!#kHw%%@@}Kajmvp^Qtf5;9>z`b*bki zu0`UD8Uagu5nWqxZDw4K{fjSJDvz_{+QRsvyXAgPd{F~$7A?VVyLPcEX1-h&@pwRW zcdvDaiS1?)4b9R=+cC`Ut7_Nsc>y!GYlRNS^}%+nh?nl%w{9Jjbr5~v;N?!}T{%E8 zAAg1TE5e@(e?#$CoJ|!AQzV>@zaai5;IE`z6U=d|BZ61Q-sdkluKR!H{2x8$H~3jTkXpE8-L7c4=# z(U7jL-0a~4B8$3T9mgO3h4L*{Q}d18?OoGdAS<^Ej$Q_dhw!$9@c>q~n>XBvZrmQz z50z%4QUXzux&7e*>}Q0szx+3r1gk#Iujwn{isC2H9UMs)TsEqL7f=Dr`L$AP=eWG= z!;8?0`l41s(wYDBRESclZFys-KYpNe?hhVYAs9r8ZD@=f98ZU>^ZLS<7sIwO*m;MS ztdiA(8V?{9?N5OSw1b?-tP)Ce!(idYZTUo#1sAu)Dshhp5)Bs&ya7I;f{bA`Rg(?> zE0~o{z0A0=)1Ny~dSVgjlL8$r`|sgv`N}1vATu;_ws#I}=Xbe_BHXK+WgkBK*gXzI z^`?fnH`#=*4d*3V?fcU^xSe9O)I9xX@TC|qQ{DX^cRI}De@A~+2X+tpYaw?J`x}07 zK;j=kFKnb^ee7yxCLu5R2ktnVf6R$9cphG4_zDlcFuz)i!Z9CEPj3yfb(l>^SG%?e z^LCw}GQQFytIlaKL;VTG(whdSt zdLPIirndG@6g>Udx9JwkZd2XDJR9f*cDLv7sD`!X?`|Ry(<`~Hn8pltS=YHgH|5*n zd-TLkR*5h_J+AHTd^0;)%`eh_=K*yQmVqr8jm_X;po$ggT#Nm>X8e`w1e0IXowy*LEReCFp=3VsXD?8f+dVi7Z>`8BbqHuKp&-x(bYTTCfHPQ>;p zfF1ytZ(Ryd@YJ^WUY2d1&1Ztvwm4N;7K94Eh84_?oSP%qc|$rcF?10_^Ldof7E>8| zbkg4CC8&DaqpBfESmR|ge|8>M@EAnK9ECX(+zTam{)bh%A_$=9Aw@|^^)K6=3jkP} zbeNmmOOwu{HXj2kf*r6ABBtE1p<|MpJMM=>L%1GZ;*D(gxYPU$yJwL)un5}`5rGjF zL+#}GqOU*vFg4dY=<6e3YKb*AkNP^!V|I>cr&;BR!z`<7rCH}30i&Jy017R+u`umq zN)vnjAX+5Vn&3Ay6WR*vxyV#Fz;sjCX!JG+@js?+=pjDXjP(oR<1>p8dQv*o>nUC6 z^}?jfGA2y^u#R!2xfS6^CHH@VS^$ z$Si2V0O?O#+{a0?jDG?@;|V<0N_g%s^d8ThHPeX1501!EA+bWFs24tZ`M9w6w1=Cl}0clLQq2<(C3zI6VJuFNlfDY(%TRyMksn3#<@CnMaw|PGy=v8c_ z_|F5Glza#>3AK|MC;sfjr0y}OsR?)3*a}P|#q}}}S#2ccr{>@3pjNYu*bhjLKjdvd%V^vY zAFZ_y+wGY}tW(YrHsOHg++Kl(x?49ekl*5X)BN~C{R!4 z(U`hNnYRA?R-wIa!R{i+zp=CZ?bLgDUJSr(e3^b%*0Znk1Q_{Nx;4HhI2XLu{1K{S zZHQCjNZI){1~9t`@YCxo!o z9O*ouQff0G(#OUpVBzDl^o}jWsAL~~%Z>kK;Zp90SjJi&1D{R;VE zx2KW+%@>k%rUE1u8BmFFUtqsS*0u~H zNC4iaNI4KBNPZT{=4lF&+kUTF|2S3I<9jSf{>mF0l0GW&E<5o~+z^tn79=AH$#2nX zjR8C#=P0Cy;uk`{uXkHef5jUc>ROffuAR6QH#|;nDb7-EhilIP7Z10A74||T9@z`?0OZ~& zIJ=|keRGhi?J%phi4fi6u{07{hM7xAkpUAw?)&7|hM+WV)F1apw92z(w#;MmGS#vss5srE&#PH3$R-J)WNc-PNmw+&0r#DQw6R$!&~`w)CEb6=XW%d-)iUV>JIVbwBqZHWNU5nxX5tafuvI9Rdae)r zr7}#Q;%kF48t)jUHsjoUJ#XXgN>`u1;{$Hb@*2)9id>}PbS(tWrT z1{E$bPEWdrsG=q1Sr(~s+O>RuQ@gWku_}oEUi33)iq2&)Xa&q0Ray48_u|{1%La}l zfA1SOru;`xOaaY6LLllav`bG~4NWzvjNjdiK96o_h-kaK5WAlm#oV;J;_86&rY)of zELFt0$yr8+qZ9FX40V=~b*xT4d)AoZ#3aa~Igbu;ByMSKWJAw>2m(!gM}F?{-8x~y zF&=ZwwO~qQgpgd0cMS`M%fk7GaNngPhz(mV4R=J3u)DOXFe{~VesCH7Qo3d5SY)VLdQ+nppRR(R$Zd?tkA0Dhz$}Me$@f(C?J@8G z_9C>dFU*afqA({0jJ`?teGd;2+YxPg`A+tk1QxMEw**PnnwP<+3iW=#|6%S;prb0b z_HQ5w1|)P45R@rOz#t$fqXZ-|0Xh;8WH8LgBv%ko0uBs<2}o>OQE<45iU>}C!v&l` zWd<2!#sCgcK${tvMKRyApMAPJ>75Yn`@a9RKGq_A&iS3%Rkf>XSDiXl`}nrQCgK3D zxy1dij6@H`LrC8Ac1!G*DDxBjk>(EgbeZQcKa4Hwt)+0&d_57soiSe9a5s*kyTOBX z2NdG{NQCDC`kq%%6{HXD=vy#Ms(8h2Z>mXoeVV9q7dzSO@DX#MYaH|xQN{9dRc5LY z7gE??KHk^|Dh`wD*r_O!Bq^Rg&86Su!zYSUb_R6PGQIt=%Hy#aAkT7HDbqvPp%9tk z!RltHBu%x9IRDMVro#Rk>933jh9I1pLToI4Okyslq0_30}rfnz)%{Dn^*VaTB>;IhO=bRvwWhYQ~r|h*GqquDfs!>H~9#jy|oWo zmlTdRgnk86zyDxv3sti{YN-cFL{$u(nk}ThqZ&)!;j2%%^1NHjlN64Tp3J>rJu>Fs zRJ3?G7Bf3s#An18OULMFi?8iDKHpx(&$mB6m=D+Y^Lcht&Qf>8&LcD|ukW41l0DQ0 ze?pRD8%rw0E;skR0#zfIk`ycg&aIep!b!{3wA;SVF-;0Cl_~xLzQgRog0_ZPSK-OM zA>2D7OCk+!gY^r|jrmPwh`$%&WtRp>f4Vo86Y*_~U&pa=8LVdx`dy~WWq1)2PsP!= z%tKw<7aF@?_BlTS+^$#3J>V1QdV=QTIsMe+_>>YBz++7r|DMQQu7#dM6 zoGM47BMRyDAa4=PZ8`+&A=3$tQq>)Ia6Tr)->BH>g8iA6!6&4!DJ41;jc=9PgBFNQ zZC9seVd_e+fk*p~{iQ4G1M~Y!EmZ#h#MvmKar##^_|i$0XPbn7-^XEx0?u(Sp-P|^ z)z0b$bohev`k%$k#{Vqts4Ri#2{(`bS={S$iyz;-9fy-;dEN?CK`;A4zB*{NVg>ZP+>q}@cjGZCO!dBg#XSy=mMmh#vc3h9O-#rL(@@pk=lN%g8rlf z`>A18(YK~};Dq%8-oI#~pMem5Jv1554lv#I-B~cqk0B}e?jPDuf9Mb{5uhKb6-hC& zu6t32^=qXQ#v?|^HsFc8(vImzd(68HI8b5#%l*JI+{QmwU_bEc1pj{E0Y{uh zh#~1q$9No3{f|l}pLO5Ci_pZG>j) zuVdE!XZwD0(1=q#*!TN*QMvq7j4_f4mtb4vp+am&mhSZp7}mlwdHIdLg=90|7T=<> zS@iy1Den;fcX9un|GVJ+tJ$KB;2RP8NPs>@R`&a=!6E>?0r~U&H=O_Y2auy=q06Tbjq!G{&$7vgRo++M%r?k`=VgN@JeL8FB@+!)SoY+ z!eBM%&ll&H_vfos^S|)tD-vOSg8qCVp&)<0xUV38zW(5~_|PE!d=b7tf4;c0Xn($e zf?vVt9WK@hjM8-?F1J8r`L@*vl!fx=j?L^>rzBdM< zrvLxdpD!v@jNhN{eN;?qN%P?W;?K7Z(tTcr9N5{$5eG($Jo&Hu`Q{t%6ygs+V$Lea zA0yHSJMT9c4@EUyCqNzgC1gJFGwDszbaeO)1gB=4;2G~=z=1?Pyx5WN8WF}DM0$b)~$oZK6 z-8c8o%L{Rg^Z4~4d~z8N)6RI>?~mE|BfzWrY`99sz{1%jtkV|sNAUT6w9G>Nv%X5| z_s_Z*D;nS(4GWvXoSpn__>%unahcfh_?--JuY7+Ad8PhY8}VkHQWK5U#JS%;E6POu zv*IAcKP%K5@Xrc*S^uoKm(Mqa`e&^q8|s_+%fT(HVEx_@*hAw*g_K_$%oscEm^_8# zXrm~<2L1uLOod*te}mRo4|ZrbUh}{}<7uTp{|2Y=DSPYRz&jqHLUz9Yf%QL!GH{)a z2txcDEPxnwN>Gr01Me*e7P7&9j)-fF>+0XY<-LIM5k*U7h7whrtn=X3etDQ}i&&&q zH)s2Rf7D(WK>1J69&3Y3dkkaqy7Knu%*Ynq9@pgLZI4L#?d>a%zZ1o+2D1wM1%zaC z=_zEh11fnz&KBMf*pQRu*ik9Y7QEp+lhrTK!j(H)sE33FHG_6gMN$geuPGai0TkMC zG3w=ZxP%FQug8BG?E&@D(M0(|=A}cOEG+q19*YZhvM|17(8+=r?@$j5Z^5-zK^_*e zz z!l45FDHJe4?1LYLRL^~Eq;WLDd7UZT{S%y@!I{Dj>80pQp-r*zsWe9Tb|zj@U53UJo5O3;RkMkEh?>3#xfU;d1Fjy&@q7TM^qUswo%6b zXl~!*LaJ9x6Z`_?@l6LS?)Obs$o%VQJcHvY-PwP?uSZ~wa^dr<7x6}0_u*IXiMq^w zCabb8>PDhA`aY5G4bvZN9Wk)TTv5&gzR_t{&b_$N@nPDf;Ph&|?;x24#C!XH6L08z z^3>-Kz^nylt*1VJFyA?r9%SX@xq<~1lS0lrW0`92dt^;RIV@z2F3o+gy|JAQJ85yv zEvs0us8p8rcFuO)Qf*;|tJvr;_yoYsQGcU>evBOeFyy|@dMfE(z1?ALz zUIeGe%bh*$^M~^a4cqFDzbIch?Y&RznTIKWGawG1y%nBxXN7NDoADch)7k}=HTt6u zu4jrVC~9aM??v&qH)gms8J9^z_TD^ckk(`q;LIWhqW6!d{PU9qCBligi2MiR&XfJD zt-tdH1@W(wBe_k1i zQ7nE3#g4?^;j#Vk7i;YBclu)>DW0`M+PF?^4=FuwYKh#_sji#1VcX8*rLY$~t>O=p zUB%kC?md_I2_8%2*x{l)EGzD&HWEHzOTjq@3`d% z7tZ;<{}PrTQsQt&U=NZfTW%l=C^Jz?ky<-6bsZqIXS z*`Aa7wG`4|g|M&TbcksaE40^@k*P_G9u!NL48vm^dWT`mNf{EZF2xiO_LS7*S9b?% zmOtM0NMTyNIQcs$E?i{fx2X~_1NR9Ac72)}7mfW6u***B*K0uTen`6zYCajhTK@3m z3JZ^fEH6;N54!@XmjqmM83F4H6!2P509G@&GuBiVIe!%<$CY-{h;cpj9EK4`%0gXv z%0SMl)uNfmTbigSJJ7%N-Hx68Gx@R`H^N&3{``s_(-lV_4k$xhDJLcB>akAx!}X`# zu6po@Kz9)6LVN7S+m!^lxB>@>q&T=!4p!nIsi0DmXOj9(R~JoE z-kv+XgtX+s>fSFq0!1&MCP?+xTYtpgbR?K}RBjPf|4l2Qz!c_56Puhgn}H1bk#_t+ z{cLu78}|xHv5Y|6@!6xBl6)5Xs-nl84Mz>k!R6kAao+o9I6P6;B;txh+!A1a zQD^u?x@EU3^E?U=VZ?U@ZaRV6hsy9y{8aQsO%=y4vUw{9|FMq=8Mu`V~J?a_XCMAah&Nlc347!-_+P zB@R`j=R?{?!K+f-Sh%@~OA;R}?Zq2QFZ6Qa=0l!f`Uc$|`-c;o61sJF79gcLeP>Fb zvrNIR75~_EEmkFk^n$Eu;jX8OV|mELFE~aW9pM`$TPU1$L)hx-*(?ifrz3$}G~}yy zTNu6=@Rd9y;7!v%XzD2*uXIvqX(@HRYzC%}$ha8pnk*A%6zGd=6jm(7>-`v^xZm1$ zQ#8Woxd4BvzVhZ;wlCL(WZ)AbNENE13;#QX`}Q^oO2h07{MX?wzcjfZ($<)3**ROT$AsCvZxygoqcOC zhqzwMcfM>ehjKyEwBKCI_HDs6qpuGd2c=P8@8=2W*Vl{YTDEUeLDG8Xkrpm#>y;;@ zT#&T2GuN_xjS7-hHjgxFKPpd1zxMx(3g%v~W%~}|n#t*M)HBiFg@(|67tyF@Z?kU- zuB3Qgm)e>V|GHG)F)*92Y?e8}ucTfE=9@Zr<_Yd_`#iZ>?s^1w$z(^Vlz84MYuEZp z$oL;znXlp|XTjKAxRz(Z7{A=tRKv;#0qYikD+O_x0`P@RrNj((!2@(O7DKZg`1YY{ zIWcB~hsL-X*W4MaDs$TXifSMG9xsBWcqVJFwmH@7mMs*W#5=;FlF*%19W*`EugVBt7v0Nr66Tb!>6UXwoE?gB zPu?e5JG(KE#VYQMb(K@%$HqK*4WPVv3FG8T{A2uz;zry_NqL2E@(7P;ahECI7bIXv z`A)z!mTxuGB1hW~1d}2Q0$IM@B`jVJU}4up$%!rPgdsT-eN^^sL&egN-(yT73I7IHBzux2t1%-9vYsxq9df8W9*PnS^iYTBP4!DBBkX< z#;#3xB^M8rfd@&iJKDE&f%LC<5_HA=B>Np^OG>ct^gX8NJKtDcml-i1os1iPy1idZ zo6rfrC2cUT`mHnN*IcGPSKvbl?yS2j<9`hP$7Ma6gS*#Gk^Z^(+9}dB@x#6yDN>iK zJXj#NAr<-42d}lb?yDqe)aTVuK3n+t`NEwvXJI82L}K+f|0a8)aRrS4c}$h*+vc*M zbPen{=2zEB0rbbz!N>xJG91%zJzxU7;=q*1RF`N9vk06AhJ3t~;@^6>-VpN&@aG`v z!C7P9eTc(9*@KscfhFOAv637(<=IWP{3dq8ybsGX1~nI@l2#ezx*ih`pJM_c;XRC> z@DdRNr*#Q2hyoU1&7WRd90q!6nUOWp%hsWXwqA^aDN`ixFu~K|) z40%~=kb8MVhjRF^D63(yetJ1>@stEZ0nCcsDrZtAEk%`a&iKezAN^+H+R07@iSD40 zx}w`48YfPX!#G#tK;o1Od_9;yPK~R8IKG7|DSsSPS6YW~>MKoRL9RsL|0;(2^TYs+ zrHzB~@Y5KIL!EcTFN^)3W*{=Jc-cuPeHS7qH#r9f;+DTDrrc9x=QLaq;}UDR7#vJQ z#mS2fRCsZX<)=bxlTptkrBiY17)rw=4L4JEY& z6Pg^X`*KU8g=uBMlM1X~8f-K)EP+Mj%-Ewik~$(+7+e0BG=>5s&kIVsG3pmqxi5sm1vA;EB<{CruuJo!Ssx z@s)=;r~0jY(Zm1#7V~N6UA@ks_4GIeBj9VBR0_>SoOJpc;83n#kUz^&xhB9GrIkcR zlj&_lMun)w7!g1lQm-&Wsz1qit%!?mdA*2Vr`z#*q%HdHiVSoM8S6@9EnP4uTl>Acm76fW!w&AT@3%PEq5Wq>0WY56MilZ=uW zNR!V#AX>kOIL3r?2$mU9i6=%Qc1y&*_JImbziz?z8L6H`+_*RRzAv?IVr9IkNjdKe zotfpEnlHbRv3a}7m?ON*YZ~~mcGumOM<|?FnpZ#G@Ox6QLU=_^n7i)Q6nwj-U5C0W zP{otc(RmVmDH(?HW<@;xUK)01UOkO^^Y@>ZC%lz+Nj-dIa z#HG|-AG{>%voPC(Qdsd9UbL>#56fob>B5znhG+9s&xjcGj}k`j%s+$rg}$l%08YzR zxa+QT$FCbz(sy_+HrSe1A5fX4pEsqeuFEsI@0g&FBss8t2*jA zB#hp0XrC0?f1?6CR!P}H|DW+l*qF zqgD~zjQYu{Am4xP;OQHAm$yuf)c8H=tz0!Gin_)8HTRT&dv?5gNz6);moNB<^xRnn zKl1toKl1(sKNV6ik%Pda(V*cNsGmHqihH2EmY4QX7TsZ?89rj=tdDf2h_S-wSLt>< zDbV@Y%E6gpe2XBpE(&FBqjMcRSk~`L3AK6Hy5affNGo^zpE3tF;!Clm@H!?n*ByVg z%z^dPYp4%+)3}9Z;i7v*F3iF@H47KGoDhW)!`_U`4%`^xH`> zoDq2Ki#1_lFFh+^{-6%@EGaAg#BRE8-75~YP7TA*eJsobZ2lI#A%Cxx62EO!e52)< z(1=d;tc3;RSG4;(6KY$;r1^f9jS=2{_=tBeB%9tI^($WRG?E&>PPDiBbIC7eq{d;> zBN`u8A;}-<-cvnzS;GOrM$WM{^nJs=HoqMIK*srX>X)-#q?69;;hDS+W>>iXY%ixp zdNg_S{-8hi7+)6{H)ojFRqPz>>O>Sa#v8pb$cwHksqeo|eY#^z7cHbyINlbCr+2z| z$M`D;q{nhNFTz9fR{WOX~$L?~q@xOaCZdr~08)QuB3%Gj6xN<#W zxJq5Vi?esQZO4VETK)J~{u3vP5JtXI&>OF$%C&8XaW8a^kPjinMlC!`#!QWdylVu zGx5Hu;xiZ${@&jKgs`L-_4hvCe~QKz+}^)Q{JqEK$!AvQ{BChW{jcLZulw~)IM4S5 z3>11|OdfgSggnpbCQo91`T6p5mF5R^A~D7{rfC70+SWT?rgr;J^JmImIq*yQBPV`A z@XlaRt5u$YPJQ{CGc16V8*(c$+9dj4x)FX+bnKofr|#Ep49#50mU%$=h=G36;A z_-|(^NPJCvkIP(`Ja1rl;csxp`&$$NY0S6bPPZ;yiK< zv8~AJ9J?;D9$uri#)X#npNjutyWv;TvaNATK(kuG9NiweG zEmPUh;jdiEG;iG(oglM;??13khBS2#9DC=zj;G*vFMGdf+?51MqT!oB~JNmHeg2_bu|~Bbe{}8bJhde{>>d zX3{VTlNQLVlT&}d0>2g^`s|Ss&FO$1oh$sWG@%)g^g!NrW*owiq#lV7yrB>kuT-@a zs+s)l)o&QM_EQ!-!&5fLXMXeW)ytvgVc@M|fM_0&rtZ?aV;qF9m0%nwAJuX7=mp1f zaEjZb{W$zd8je3RCZgs+m*{NM@Rgx7kGSW@?`yO1D?@{k&?;W{m+J=yNclc@60&|Y zXkSipmwgfTr2)25<+m^M8V1Z~Aoa8wNIhnODmyvAizMctrR1O<{&Y#mll=C*anh^5 z7@9!3WtLBB68f)6pCebY(rVH&9zwp%6);Tt*JcZ*)nSkCKkPyqctieVzQmoc$Da5vm2m%9qN5Be-{nmT_H zy3r4BT&m|SNeA5ZbeMd=mH8}=Cw{RWe~WpTU}*<#d4%euk5Jy008(Cw-p0k#uT~A# zUFUr)cj6b4<6?46l3RDJcVw<_32PPx*>LlkEL8_Dp0a%pCCDTNmiOZ==T=`L-I2+5 z1~d;mkI?y$%+kaq_U^OF_XtGDCWtjzc+PSz=FN#7yYY0Al?Dw?I=UROW7^h-Y1?dh zVSt51e20e4R$d**`-4vM{vhp@A<3>0|CZZv)_937+6acK1~K?ckS+~RvND$KvuV2kg)vhvz@3sSfj|F`15tYbyeV|;ze5xL@icF0CQNmAkjk`IN! z8X=JyB z;sQ=Q*;q%8XDx8DKn(fBFNr*;<8mA(xF*w_VvcJv%_(NNCND>fGS4-cwOU_Z zVbVz+`Q6&s#5^2IK*mA~0sFDw7A4Yngiguo1@Ab+;QL^!-+zm`?Sk`^&rw*jI49V_ zvm(W_-S?R~EQ;8Y#&`H_8XZW@dPnq-ob`^R7C+SUl;t>~o~QWroILd%Q8a!;)2X*J z*yur`rp~pgGE7=*@paSVR5?z;v22#x;%k7T(Tj$>&q^|Vwee>Wv!DD^kq-7>Dx?ov#_>p;*5t;kng4 z`CNKEx3@bBEzK8yPP|MbU7e(U!t8zL8(K*w0#T%Cz7C*nI6J`lo2KyK5-`uFC;I!J%=0?eMPcjno3tf;_u|`ETzdQq$go)1JWrZhGj4xA z2P8czi@$3p@y0w4+P8DRl<)(%&vNvCqR~Kq=b0q(0;iiilO$a59Q|W<-V0dYc`w!} zOgcIhSMi}3fv_|_t%RemZ_^0=_f{rn-JG2DKsa1Y%58~#*_a2h()8GBXh_<52PR0rIC!#-A0_ z8|KfZ1Z0tz+e05{^gJ>b3jR4)5;@tOE$*%E}f3VcW+#i z?*L2myqJTyu_8<=iBw1Z2K9p2P9hD}(#_vxv0{j&nl{I;tIlFB=yugv78{Lolz3*W z7)cyV?Gmv2BPsaxn^VZiC0;4xpn2rOXq zc%?>Tqt8P5MP)sfF!5k<&z~z!lt`GmAa*38PCy061Zvv36(!O!@fID?q6?>W;8Pm( zNEC`pmZa-xqGxgr1j%hK+$Q^v&dFw@lekM3ugkC^H8vIAB1X%DWW;axKo%x8Px4iV z7)995jd<}Y+9-zKmhvmZ6!_x8sVGY>C(EzzXbg7~MI#i1jf)*FZ38b`+h{5r<)hth z7LXd7j+OUmD@9t@*xqckI8NhtK>0ctLpv@aN{#L6YuHs9P2NJ3hS?kqGuL;f4Ya8} ztK{%NqjMPC{Fv%Fhn8{DQ2~eTNOdR4evWV3A22GDm%B2r#+yM&O_Sd{aNeB^n*w(^i(@AO`r9uOo}G}1SB>xDV#Z&kU6bFy0n~iP z+vQIbHCkPIEH)lvaV3@nxqZ{a!=zZSrv~@H3I1;UZ03FChQsJ3UPX+7D6VHK-l!OZ z5Z{f!I8*jLegZ?s$N+&*A);#zH;?G%do!TVG|<1gz6<1zRWPD45}Ovi9a%(jcOxUMh&}@_;WosNWwrZWrpza;bUpQC$hy<2Y_YOMrw8 zXoLu?jR&I6OHkI&7!ia@q|0MZO3=SSdSex#XnDQwIRy159;wCUU|9J850mQZ{heV{Evc32=% zY4j2~O(Pc5&{SeYmY7b|by>SA2Edi+ML|mJgJM(tg^CoMkvyOCy;B^9O&@>cQN^j` zvRJ1#YND16&VXdgi9XHTsYI?hbsyqci{qRydWswTZO2zuiSH%Ehiv$5Z=By6$NBAZ zoZn){`E7WdT6M|0n0Z&6nte!7!!2D{Ls7=0)oJ*VH=V&zQm~V9zF)l++L-vo1^k8f z_P8d?;sbZaQt5bL((A~68vm-d7|B*LRuu6kPKRum%El9gUaE(&a)u89<;8i%Q65BQ zWt`+enXHU6IB;biD}fkvi4mR)B7I@UwCCH5>z<4p+=K1l+VL%8w5E~D-vb%;$07}q3c)kx0jhmXeg!$)KL zmGKQfAe|aMEEc^;G>IOeq0jBV)}x`Xp8q(lA^MYMzLq$bnI%9)0XK$-vwMj7`9-BkJBR^y&yE8xG`` zBM5nd{_0~sK|A+u!M*EfyQ z64v*I+?X{#2e)0Jwo*Jh{Y7{mhP(cm2bmO}#ieGV%l^=1Aq&Ry&R?+1Z!ec##y94; ze8lkrl7U_?-y{ZJU1EB+eDmVzF0M~>=dQ?IKJoTqqtEFihJ4$^v#kx*-%b8@bXcS1 zt6ZNJ#~fX`7Aw=Eo=Gf@+Y@t_;|r-L5|Jhqdvb;8v_^(`Y-6 zQayVTv62NbHIoI3cjDDTdhOJ@dxuQNb5)u02vZr|UJ04~b0xM|Ke}}8a(C{^#P}7D z{ER=Ynafup*yyVfY;?&)E^$eGMpr^Q`SnJHp#<^$g_p5-#2fWfTNLNya8LUo=-{DR^g2H!wDO7Sv-53_=G zRXoq&MZ`@MKWp$f;%gN@YH%Ck^D~(5{sxyN&Q_da@b_(`#J*5`o58b*UsYVi;C~U1 zRUB^cZN$A5AGWaTH*h`%I0`vWz!QF{-6hCip4dNAwpD@^$ zBuSg2c%Z?b5N9Y(HTVhQL5iCgoJ8D4adm^s5Z6|GmBG92l%!py_+;}?rM^Mzd!B09 zWAOdN-zr{da6{q`6wf#K&qRsaqj;vlD~X3I9&fORxP#&$26rXCMe*GRS0i>QZtmd1 zt#oia8nD;E8-~5^Y#p?|2Mtra0j}6951Wamk#s4<=e1hQX z6hCF~dg6;7=6jgI|0dq2xU0br5HC~Q%HVk7*A>?`xD4?G#V&(?Y%MA8r}%=n^v~D) zKO|02{ELGNH0J^PJ(hiTlmzic^~H(W?*#~~JcKw+@vR0oBfeen^#(^0U#~dK;BBnee`PV>M{f(&@vFo?DBfl8 zK;o|ye{FC*;x`n(Yw%fC+$R-JH+U^^f5nd*{4#N(;sFK^CB9K{dxJ5fhq@J}xUs>d zi4RPrTB-?Xm!Dw3bj527Zcp4z z@rMRiC2p$tWrL4#_)tmlM1#L3zVI~j`Y(f@Bi^I<9)tT6f2la$;2VfvQygpXDUMCX zDULFD5pf^I=Ng7;Z5;6(ihnk^4RH;{>kTeTTukvN27k}To?oU=Ew36pn|P(-41*sg zep~TygIf@1D(+@*81Z1mcNn~rPepAN-(>LX#5XC9Hh2Vaq~bptgetW)@uA7g_pb&Q zBi^8RqrurgvA2Rq7O8oZHswBqj!o<-bU@n;4EV98O--12ItTc?p55&;7^E`Do!@|DdJg*>l@sKc)a3k4UQ%5t2noQs8Y{z z_|RIh&)~JhF^abt{4#NI#a|jcl=#=DsFt@4zMXiL;%Nq#CZ4N!w81+#beXKUufem3 zhbV4m@L=M0iW?f-lsHcDbq43&Aw6Fy#U%`0PkeY1^L?aVsLr1!-l%w|!99r=DE`Xe zn#5kk?-+cvl_YJ1;^z!rLVUO4#|)l8+)(j-2Dc+Fr}!>|qlr&VWWF02yr-okZHMBj z2G1d0tT@8pVZ<*gK3+Fesf~%pDE{8yOYsu-y^5C`yq37R;`a@Hj`%voFBqIgeDO)< zd#u4X5bskw$l${*Bx%bOcQAMn@#~748a$48g5nwmw;}GQIMU#<#0iT3xH(j*-`_4t zyFu|@gJ%<$P`t|Ee-ZDWK(#C|_%`CzieEJNujUf>JjD|XUQIkj@%;vSiSJk3$>8q9 zZpF77T!Xld;u{V2HIt;3R(!R=pAa7z&wQV$6ROlFh&L(z(cmQFg^Jf2T!#2r#UDAi z&{1^(^KVzvv~>^x-l*STOmuub9HRLA)<{JUGBMAg;i;gwgTcdy&yHiRn;P7hc(>vj z24AA-_)Kx6gD;n@;PV3e-tiI=?|*Qj`Pmfb~?=2OKl7__*3HbiaQ(pB=P%-TNvDl_!-4D4ZeYRnBp=9pJKn7s`%_p zp=w!5Twn1|24@nNRlLsNZp0^^V7@;#xH|Dx#s4<=1ncG}ik~w0bK(~i4>NcY@hHVz z4Zf4OtKwD$mnUwbxVFJRu>M}F*k$lM;`5I)-xq3!Ds>ETw&Gt5ZcY4!;td8z62Gc= zk-^`x?Tl4C%ivdudn=x7@G#<5ibojSlDN9!dku~v&V7vePB8c<_R2Ym>lpkI@e0M) z7(9`9j^e*+g(|f(afadp247D+NbzQa_p?`Sqxe&U7ZBH0{HDR9iLX*T)!;jbeUDNt z4;y?H@wbY58oZUg@&}5O4E{H6C0}3GwhXbQT)5XUlF?$ zZ#8%d@yRjF_ZJ4=O}tI<9D^$p|3|UM;9uA)&rqCh@CU@{iu)KminyENwg$H(ZmPI} z!4brj6jwI*JNC*KMl;{V9ela&D>&bk!D{-I1jT$RPPG48UDN5m-d3T@aGt;a()yjL zc%H#WSjPq{e%8T-Cn?aMCNVwrH9gk`($m$Sp7JU&)kL_R5uQn>4w@7dq3nM}hL17O zHxh`;NFo@GEcnRp?jfkJx=f!}LU^M}2GY0lMn_+xGy$7%o?l-p8C6%sOAMYt+(hvk z2KOeuR`JsgE?k|Pocz7cU_X!Y=dT+=Vwufl^0$#87D@O=4pF0`wz#~lV ziw1`guTebV%F{E9;k**g8`Uw8o@9S|MybS>Cc<*#B{DT4?9s z!V;VJ{fDM^p#=0s)efY$3`DTK%}|lyCdOYGW4hvF)kCY}eBy43cN?tp2u&4#V{iwC zuB7-qgRdpNFoL;#-r%2ECH5$O!oinOMqYi4qUhHptT(DHPPF`5LJIYfp;8+cAvI7R zR9**_*D)aP?`n>`Mk?q7}9q=Mof9b9N80`bK&*pCk~{h}vL|6G53tAt>^ zWDx=b@_JF8SLNLjkT=LLZ2Ck2iRS z=3ns;gJ%+7tN3n%yAhus#=JH+_*&v@#Wy&((7cLC43u|yCi`^>>Ww-FIjY|SRs8i| zh5mr^g7iB`@fw3iF-dI{e`s(rac#vfJNPmw4y4z^fX5zSdWQtk+Z!U-UUvw|is)K| zNN4=ihtl4ZFdQG&qL>24PtN@vc>hCz`!8KD(H4GxecsibpuOaD_YhJEPd$Hn%B#fKA|wX#_cqh< zHqqx1n z?-OSzZfx))#Df%9Gq^5s8^t9ZTv+YP(;p3_zM>=?>>p0ler&qdsn4eeQ5UOmF7-KB z{|+;=I~6Z9coFdu#Ve#GDe;_DUnGPpSLUjvx$WP?|-fPPS1-(c-GzEXUx!O0B$hT_}`p-R8!A}z>D*n=7H}Q>%-!`}uahT$12JdA9J8&P>GTPwz#A_7yHFzBH zJBr&G+=2LM#SIOvPCQicbq1ekB8DYJaS4N$6W^@(Ncm8mKTmwM;++QfBtF`o`Tok_ zn#7wGzhm&x#*(xT6+dV265{6+KW6X*;*pB)Gq@dbXT^6J98G+i;zkDVX(UN2uehqg zbBNFMW4tbUh#yqE+u+8;9Tk6L@L4vT28!P^_*3F&#m^i3H1QvOnC~YHb`x(`Jka1$#ETTC z8oZqiXQtvN2G1ZKt+=|uU5UFZzRKWQ#LX0+j1E=mZ)_Qr74I?lUE)7`Gv6x>evEjp z;`s(A5-(Le)8Nv?vlNdvcn6!^c*R2uo=e9+5#ib3- zzD=6;uf3?2(=JtNAr`@To?F6l_(+2Ad2S6t75MxbupdhqV!VX#M!kd+4LFkl@jN$B zqn~#9=!5eOM<}np%3B+d*VQktyvj>;l~;jQCO-^Zlv8n^-_UDSp%77m2@7Jk{X7#IqGYZ17FQlN9$f_#`dI0L4iLe?gq2 zxSqjJ5yvX7XmESt2*v-D2~}zZ;@|G2T7Eb9M_P_`inkj44)J@6zcBbA;w;5;3~o;R zfMSoq#fjT1PB(Z1tyVq7eGHyK9HqFe!M%x(cW1sE7+i~Zi{i=#AHP*B=EsVQ8~hpZ z^NJ5&9jfz*#E&T6VQ>m@7sbmQT$qUo*w-B_$Z8VG8}%Vh)X-!iJm;svRNgof-6ITm zpc^$Y*x)4MHHteLT!#1^#mx-f#WH+aag4!Qe}*b9W$>d6ouc?uY1Lz4nhSHmaP#>qeGQ$gskm~R6DD4{wL;F3RVlFp-nZ!2ll@Q*jYjL6hQ~mLe z()g2|_=Ek^25Pjc;`#>9Aa0`gT7w4>U#mE`RA|*}LVUgp^X@aaByqOlZ3cf&EqtN) zOM_<90+}Ge`#MKqIGk7v_?mf(RLxVdK=P16; z;7Y_R6qhhKhYfa);v6xTMmCGix+E`uY8?^k@`s!-K^ z$85S4|6=f)#B~&JFnB0&X~l~SzLoe$C+2&W!53LBn-otrcop$N#Ul)!M*OVedkyYJ z{E*@V2NzoCYTEMKHxD09>x%?$)DWC#dH(Hx9xt!5&)^&+&-n0020U{&v;CvN`#FT$ zrFgBu3y42e{E@*A62GkY6@!}+Kc;w+!MPlx^-%nP!Rv`zDDGnL^TbsYw=}pX@!uVp z?^*`eB>quxS%Z(#oPVwOd_<^H^?B$`#W@B~VCad8zcsiW@qLQ_V{kO_or+&Gcn@24 zO~si8&mj(1{Gh?Zh!1w4TDlwDn0T$?)&^f<`+Zk&oWauX=2o1lxSYYy5&ui^#qdz2 zrV-zzc)!6n5Z6__$>76m-enXoF?bR2u~g>!4THxKf2a6qgWC{)q)a~ep}dMX}e@LR<3ihCP8fVisSHU`%uzH}G!eT%^dZjrcu zQe4U4dBoo+E@to$;@OH1l?c`OO~jKFZ#URiU*aC1c&Wkf6DKL2Yw!cav5LJ0*Cmcn zJjURo^(5}!QmB@G1}`LDr`T=q2;%n?-)e9J;w;728+@{^#QlKcFoQoKZm;-g@ld5c zL0nJqE`#HVqZEJb;G%oj!1Giu8oteLCnoyiyQns&C;LknDWELLN)px@m|F{41Sz=sp4e@ zw;-OSc%H$3(JYNu{H(#NiTf&k)L<`hYsLKy?oJ$|IK|)^#KjfgX0VTD>DRVYOBI7Z zAzr08+~B8(=PEvydrio2s|)dD#k&oTB_5*q8-vf%YPD1Rp22I0;}kz{@XN%d6hC3` zP~yXFnD2oG-%h+yajLoNJg?&F1}`8Uq4+9;#}nVJ_~bvKO6^G8Q1Kpv zYY>-Hywc#4G>NB@neX`quOQx`c&5S65HD6d-rz38FDf2la8=?litje~AT8#-ikln! zA#roXH#qpRMlE2^MzNw@NRFsa`s@9kw&>57{e{2FmL#nlb&P25!RRR&ihuB7LiwzXZek%RqcP|Mcfy1#ZGQQj%xBGe#77cEU~tVpEh_N@lA?H8a#wJQgIIlUs-v_GhLfoF~4O4`K<~eEbm1^ zvLY&&I5#lPnTju62vx@n;?atKb8z8F3h2Kk)6+`Ra}GkZyca+M(^FF=&NUH!zzD+? zdkr2&e6S^RGv>d4pn!#bj5sFI|nW{i~{$jYzEtsC&f%I%T=db@l zvLaUFJb!zCfdOYKUTAPH;?asEWGidz_*!zqYo6xTFZ=QoBaF5}=U*5_Z0yS{|R zegvFod)aix(Pw#;yBg>D_4z6To@vG`FEn@{@h-(L8QhroQ^ijje3n^$S@BSVzb1Z6 zac6^{ChnoQg~4gWEfm)@xDIg@#bpdWb+gPi{oR!LK6_f#Qk1%b80j`w;pV5Z_14X#2wSn&jd5AdXI)o=1F>;!Xw+A&yjhyTLaR zA8JCC+-R_mL);CDuQvD-;`xftoC>XHPY_R2{G-9~#1AT7Yj8MmN5vl*yqTS71I4cx ztj`tEiYFO-KSTe~nE8Id;5g##in|zmh$ecG;+6*Mcw?sGS_bQQW3=M32G>*julW2Q zp-Oe^zv3K&b$+0-;%^Oph>iEpM$Gqr3~o-mSMh5G7bjk-IMd(_Y<{y8KWOj_;_-^R z8{C_?uj1AQ*CKAMIL_eXY}+x4%NhI`adE{LPlhUWBJr=cQ7!uoP9a{Uc$2}`5YJV- z#Nd5(#OzE~{D#4EiH9hD+TaI?+bJGta8u$q#XStpjgz=bDZbO-^~8s7Wxneg{5@|21@#~7m7(9-6g5rJ#w<7MR*zMpV zJLkOXy+*MaRuc*Ew}BJwpTi-G{d1Vg{`**{(n>Snfm^7RgAOh<>frMMt>HommUsNM z00J1_3>7%n#5acl(-nIS9!13Rea(|s8V;)%HE_n z+u(PIBNeYO_)+3Rb(!xE3{D{4pm>JCrHJP%9%t}&TG?re2OInv@q>yx8a#-&qvB=; z*C%eEIL6>}w6f8POBwtP@gFxc-=_|TDs?*XcE$S)zK?j3;?)MN^w#{N?jo!ZBGkU@L3Ur1I&tcmhV7V~Pw zQ3iX6=P5pSC{&ldiKi(3+2C5l_bXm+@NpKiTk$6be@0wK@v8<;BrdHu!{8L+BXP|4 za0g#bmoj4&u>b9;&xH~i^Zz(;^a(j?|5a|RiS}1!IbCs-!Sji`DL&^5)n__!Q^h|U z+={r8;`IiXB))JHv;2v{Td0veieEMO72+=yXBd1R@oS2Q8+%D2FzqY+5e=mk28t8h5?fm558>T^48C>3>KyFbqvH;&mZ6ETFh;% ziLW#R?o=FQ@DA!~iQ;p=sVWQBRlfGpg;j67g!4w-f)maEGDu*18K@E$I}(HQCxi0<&DItiVqrmggrrh#ormcjJT}g&kP<l~>_P<&C1eD3vGeU(@%)0VjQ@Z)Dzg z;vA%CeBtM#-&0ITrsDAiFC`wVc!A#+;zb6(MZ8GyEQ22)o~d}U!HtMVD;{C+-)t7$72j*{8scV( z6AXTqxU%9p2H#8kXEo;g8iQkq_bUD?Cse72YRUxAQpE=h{txji#hVQtOFUljrv@hz z_f`C+!BNDm6;CyI_l=UY7{w18{3da6#XSukO8je8swK(bTZvaGu4nMY8zkc(e|`>C>NMgZihpG0-;>h~wQpjHZC`u53(@LRNn9_l{c2<*+=Dd z#EGV_v0q-2%B$zd3yv>JFkr0WiUzM@IwKVS^J8fJ%Ow8oI%fWNgWC|VQ@qvSlEm*R z{=(pOY_(a6=NLSd_yNTpgHwpxD^54KG;uw}eGJ~gRvV?bt--U1k5^{C8#wqf?aqvU z!gJ`h(N{W~k@`IKQI$RG0Gls65fD%3I)udbS1OA7XF(BG=d5wQD&PD%0ea)ex@y!ND6Sq)Y-r#NYq*O)m-+M#z{Q~jd6`AjY26rL; zQSo;Mmm&UI@n;6BAEq}I&o+1h_nb~toMmup;`NEq@KeO$ zit8J!-!VE^foi$dVEvBKTE)40LY2CUyGGwt>@)Z!;;D+a8GJACzZ8FIaAo4V6u)io z9&QV*t9Y8huM(G0Jlf!1#K+1r-+c{^CH_uvJA)5$chpCU8yYPBCvq!JSA3np4-r4C zxP-yYiSJQ-Bs)~+e{hpiBgH!n{ts~l#a|gbiumj`%=bG6HzwY#_&I~ma+A|%iXSuh zQ{quo z23I5gM)7ikf8#=;*^1vc_#@&;ieE7JG2#J=#~PeSoTPY=!KH~~6?ZUr2Nx1WC~j)- zG~(Z)sg@cB>;9B=iX#oy{VDG${$qEjQrB@IQI_Jp22Uk^K=CSrQ;6FuUSM!(;(Cf- zGuGQdSCIy9idA7nD`mR`wf1ac$nf%2DcziRlLODzx4TE@f!xOCN8V^ zX@kAQC$46`M;hFnc&p+b2H!;diQ+pAzQ9MB7Zleucm?q&#T5*GhPbQZOWQ-0+J(4@ z;@=FeN_?&2Ee0RtbH@47%=hO8e@L9I_$`AUCH_M3GX^&&epT@(gNqZ7RovU)4SXW) zt+^Vz0sbVq_@UM)4Sf=MvXe+|S?#iLX-ZHux4|UnJFXtHCE~NZj8lzTV)^ zi9b*rX7J<09>qtuhAQ<=;^B&S85~C3LGjlHudXghyG8N4278HJil-ago%rNc%=hC4 z*C5`ec!0saY7+N<6t_3{6XF?)8yoxxak}Da2G=F-rnscRN2^NQO%NiNy02mod0B z@ifI}H-{>9$F&mogNlDLcouO-#p?_nOx!^6#|Ga*9Ig1@2A{7easLs@^a1YsCo$e@z^t zxQ@Y36Bk!}jlrFWe=Sb6{IxMuspW`QDL!EE_HvT6xr#R%JcD?$;!h3kN<2jIn+8`T zZl`#v!Mmd+?l{E{8~ieHDaAbvP9r{CjQLJ7_&VZ^it8D?*ClZ;P+ZaAw~4)q|Je|# z)ZxS<6#s5;6XLrSZ#DRzvJ!Vg#a|fw4RJZea}1tHd@46mUU+#7P9ff*INjiDh!-pF zWAMHxN!p8w+ZsHVc#Pr(1`j5_S8-*7Zy|23xVXXR%ShbUDL(vdsLq!YU;Kyp-eGVS z@jk`N48Dtanc{f{UrqeF;%5!sbhRXHg5pOF_7e9~+~44~#0iR148Dr^2F14-yu7r; zT|#jcgC`O1zeKf!8{C3;wc=yzLzQ~Eln9@vc(=ieiKi(3#=%$eeo5cob&!DYXN<=e zeKC{?5q!VYNJWk_F+RXYoeGKv8{CNa?BC37M}z<7)5vbc%?w^c{F&ky2VW*T!S%xN zjCZ_*^hT8p_-bl#UmQCb5D!}nziDduwTzct^N{$l*s2I3#* zkAJ@q_%n0j556zk%Pg-}+{fVg#PbxlHFzBH6vYi3Tv+Dtk~Q#tu@|3~J4isR7sZKY z^vqg+`K!pII2U~d)B7t`Q$g`AgWo1Tdy%>Q+TcONyA{7{aDC#>6i+w!9CQ1M;>QjC zhWK&C0}P%@+*5ITgF6$)D{gG?^~6;bS2K7&A9XMN$$XbIcmeTGichQwRqANsZxm-6 zdf{ao$T&ly7SJyD$Jub)pbV7lU62Dc~frub`v z%MdqJ{I0>9nU6|}ryKk%@rCnD+T#Y_O}t0(0E456zf|1b;61DauPJV9@EqcCimMqs zjJS{Dk_J~LzC-beRiR4#k#(eo;%tN8AugtPg~1OI|8kCM`M}_Y#48ogaBv|NFi<~| zs4TApg8z4%X#MDo;OxIfskp8twhhc_SH-Oio``nWO(-nISu1VZY@fd>- zX#H2*&)_A*l@z-ToWtr+Ama z8N_`Qe{FCo@g0iaHMk;i4aL(9{)vTOO!4Cezf1hfX{u#_!6S)RDsFG^?Zj^@ZftM~ z;!MTW4Bp7bHCS;;gJ%-AReWN3s8ah7-=sL(;M&BIidPtXg7ch*PBGsf82mZ$2E{WB zoF;BA%vru)*btA5`4Y;2$^*+EH;cgXa-9P#k0M2;ykPr3`LH{Kp^6_o;6} zm0FB=yW)KYuiz}{BE_p6T%^5tjn!bhgo3{;oT&YohVZn9165w8iS9-QOji7$!KYco zwG?+ZcrkHF#jOnwY9h|yw#4fdmovB$@%xG|ejTdE92W62iuW7*KJhTcn;cx2 z9{uYNo$<vGc zWJNS~(jBz#ruXy7Ro<9Dd1m_MC8@k|j=W%b z-o}8jiU%94?I1#NM}ze};%`To*k%Und&G5$V+_{!i0>&bWw5?S%u;;n%g~yr?-3tR zyw6~LkJw)EYJ;C(Rja3Xp}|SSQHozOxD4^}!_4=S2Jd1Yw?*+#gWn+jSaD~A?9{W&C0qrr6-(d{VLE~>5h`*jc z{ze*qtP_7Qza<#3g5szmlIQE+kDnLP{+;}sWf6W9xPM7u_XqORg)xkm z5SY&jVJ`*>$%+_<^Zey^m{BDw9&GS@;#!J38k|mCQgJhbTM_^MJL8UVaG{kW zuf4vS`B^9-y-~kGj27&H&z$-=LuLMe^Zfal!zj}guQ7NSaW};u8r+h&sp6Lnjv%h2 zc%p+ZmmjA*`!L+kzacj|Uxc6qj;8|UIglY1N(k70oM^zR3@G+r2>jy~k%oZ0eU#Tn z<$W5E_rs@-K9f}5PMqi0=OYXltN1H}P&gO?DmQ~a30V~F2V ze4m3ar|#hVf!5mxB`Es)Kz?H(g#CRN6lB|{9IDMB#P2EIV{ilFEX6AgzQ9!}4=A2*@CxGg zif0=96mdPp;~ji?W#_eD`n+-MSL!?XywMVZsP7#@@O)$9{eT0%#fqyLJc{^5#U%}H zOgu*MiAA9bJxi;4ui|Wjzb0<3c!j}F6JMwJ1B2bf7k^>KW*A(Gc%R~N25)CYTBdlg z!LJd&uDGMY!-*#-Zf0;3;(m%_3_iz-l%Tkj!QT+yp!n2(LX|p^xP;<;1}75l&!JjY z8(e~Twc>>auVOWvr}!mL_mU|Izj)@J&?R z|9{&wP=pe;3MvXnQLvy$LBUdOAcYiCKv`8bt+EIxN{gTcTGMLcG=PdI3c`c9gQy^a zfV8xZa$*Z3mqoxX^} z^W~=!w}+DKuiR0x1jpYjS$#crh@HBU6R*c2Ihku*FX;Mhtgjc;ADU0ux`sYjo)j+6 zu|K#x_Xo?fkR7pp+e!q#2gmoa>#hBq)I!1UEBI5!?+YHU;O7{R7CczNjTrY9+)c+f zYNKFzcC+W5$``Bw zco2z)8;Pnb#z<8eEMG8)5JW=pW1t&6oNw7!3RT*~^{IY_#^I7yk!A~i8 z7ULR%+beh|<5RzLxtl7u1>@fYM=AIcpGAKZeD&+{m0G}fs^B9E_A!1{@FoTKV%$gY z5(U>|+(z(h9p7NEl)m0+&sBP58~6WP@kIvCbBMz8#Q`E-Yu}qh)z7z49Bn@N@c3)S zVQw`38nVYYN&hP9SR5~ZrKg`F>7T~;vg2k?;In& zQ@?R}rz`2*&W^tc&Q|aN&d!g5UsUj1##06NR&W~QR|O|1_)*4v1UFG|MaFFe*HG{# z?jE-bzVxM3^Ps*~MM`yQiVQMRQ731xKLliuf z@nXTnU;Kv}4wiQm=W86f`XW07%R3iAxPDV4=o~$$S-%%KO^0Bgf|oLGBzUxf(-~I~ zJV3$mjE`*Q>Tv4#MqNf9|58u$$&bf>6kKgnt}*`0=qCjA$3DM~K3HFsc^D>>2i~s} ztgmJ4i1T%<frv%qj@J{~aOq}4$pOr87M~v$VKBVBM8DH7R<=&v<8?|(~`C$RC z7M7Dg-uHq=G-;o>WcnlL{Wp_~d#ncRK|)XS_vljDk;cPg)?jmV#F@o+9|lr{ybE zW1J@Vu!4Iq?j?Amg70Mfu;9fCJ}$ri68t{}|0KWvTF2#nTfrIf`!B(x6r99(so=f} zzMb)O!HEh!Aiw_-e7}O{%J07f*H&;Em8>cMOkfA9>+^QE4$JXpbU-4R&BrGzFWcPc~H(4Tv@?+ zjNO7y&njQ3?=pT)@E!%HFisR)sNj~2?-4v-!B)l<1%IgE-+9dXS97&wD)&h!ViK!R&XBU_XKAt_-)3if=4L0JL8^$dnvds439@Hz!=;h&SH3;t2TA2aSJ_!9*` z$M{jfZz;GL<9dQe>iBwdw5;sPt?y#EGw)f2s_{i$MF)`eT~ox8>pvp+`yfivKXYf9 zBREpQZpPVy&(0`cr!K~W1plSrNX8unuU7Ey+#4DT{$9s7EOzkx^d3h(R>0*QgfCLw zR0QGjZYAQi4p-8=ogEhn?s>B`gXulZZsR1qhl1(VHPTCwfVFNCFc>e6<293bw+7?= zF@O%bNyrqo}pl=_vZz_so=Kk-9hk63br!7S8yK%Z{SLZ z5NucQB*w*gTod;xSl$cptKganuEgHo2)_JL`H{Vnr^6h4D7Yo#E`op3 z@r@c@pVWfw|1sw-k^s*W#A|89`&8mJ z)#I7%{|Gx~364^*h4J%(uTCppiv?Va4uX#;IGgdkf;TC+3*!jEOB8HlT)cv7Vzz=e zaU1+9SX1yc#@`4|Rq(Tna|HKOa4h2yf;%YqGM~`82!24v|DpZ$`%R6wWHxf=`%`B= zq-MXy{i$I4Hsp5L^9#4{S-6X10XyP;Q$7*w=f-!CQu}Lv;H2gV{!GEIGtL$~QNa$z zg9N{-U@PN}f(I&i16N{W!AT09#JG~+77Fge`0wRhusald8{@Tt!xg-XTWGG}V;@Mh z+_Z&)_3h@8jUadYJtTaQ`ksqGJU+Wi;5m9=b3EO`jx7cI6ug#m9VK|Qf~PP(yNt^` zK*2p3Zx`%T@U4s&3w}_?H!O3oyfPn+BUk)=`(SxbPu0ttB0-Phd)fZ=2$$C(c$@=EpWjDu+RextfA14tr2m|LU$4)a689*+Q+-}9Zm@kWaXs$&nd8xUQ{pW&;^h;; zeh@vL*&pS4W{%+Z6)e{?*@DL_SgvOV2_CFqxt{4LxSN9IdZw}9HVT&OnM#81Reqiq2NY3zFzk-*P~0hzm6j}>>mmC*Q4(l z<6iTIZSX<1R!Ot@u zAb6I7>3TU3l_1!w;EIeJ2!2Jun|Nvu6a2J-r!hXTkgLU^;Aa^Z2yUj}7{;FozE#0T zd3e4lI54?EgFEVxt-mKuq7&j68vw|ZS-y--^1#jlzS+ao3oulB77_SqY zrr;FD^91)-a8t$;1$R{N86Lea32v_7Ul?~2e4B#bV*H@sFa>vGTtjflr1Eus8{<8fEEBG76KMMX_!KsX=3ZA6kc*d^^9;4t2jQa?FM!_5T^=EAacT(_& zjBghltKerCU;3WQU01>PG5$laRl%qD{btJrAD>vhQkOCQMDTV6XEUB4I9I`47!MTu zm4a(CwhMk&!F&1jXLk#JUBO>5wg`Ss!LKkr_#IbEvV!9nuM+%_g2NeqF1Vh8*YnHM z-Vz+4;Hiv<2tMg6U#SBaCkfuA;Kq#a6P&N$ll|*?_;K2%xVmwK3HwFJ0LG$@Y!EF@$1>?sB->u_oFR_B__uV{n?j#>yJTAoG^+~M6blfCnFy0*;@5(%mcNW=_cvXye2Z(sB;r}(>DK6POiMJsb zZ=I&+?>&iEfbUe_*DG@{e_J_TKZ*BkFkX%kuf4>}`mga8aJ)!~H!&E`WyCu*m&@z; zukqgFc+1HP_Y;Hhsu=M;m3ZO*HJ+4rgv9$i7;oL%di`~mcm?=gw!c2h8EGkao`Pc- zM+u&);L|*np8bXkKS9B(7;hImM90@_JL<9e{kA(f)tThS_uE>*)i&iC_uF*6mGv(L z^^w=p2m8lT?!WQmf%~t)@$iRNudjxZ=il(XY<;z3$8f>R6>MRA=xeT!&lOz287&k% zNx?qGUkDzf;9iV9f}c@vJ;p-?cT%vQ8>5rpSOtI2I7VvTfBKP~6d)FT(} zf64H=QU9C4`hUJO^o?$!m-Wkvp#I8R*NGqOuM0Q@A9&e3xIW?I7mh6c9 zFCgNzHdQkC6gy549HrofjMD^PeY1S&4|3c05`09#pD}(|@FoSn$heN+B|5%-<(Tzz zh8_R<+^C;y_+GRB1ncKxF2_9b!2R4{{q$f*)X#fF@Ov30k1g0SRd6c>U*eqf6nvM0 z3m88nxT1oy8P^tkBD;L;%6o**f5utcsbG1J@J_)ib$r9>Gv|lI$4%dK9!I6x&3qGG! zzW#pa758Gn`*eK63JUg@622fFN3OoeLVS_(&Os1f&!tGv=}MZfv7-k#v$fsN#2@0Odc(vdr3Le1tE5S7s+?es(f-kwtSLR7R^9~byP{Cg_ zb_rgu;1tHq1TRvstjntko~htfeCGXUHkaF@;PH$%34U3@4>SH=@KXvt!Cm`Z!R;0N z72{EYn=1GT#ytc_Dfkrk&{l%4zEQqXr!&4)@DT+kGCub|F83w{pXL6&L+}y>f5CW( z;Mocu!uTV>nu41!eqC^?g8$}A#=e64Dfk=4@q#-j_&LUR34TDqcQOvl;&Rtfuw0Ms z6&$MI5BPdCPw?NF@IVFsUV+l~&*W-JQt$_i*9dN*;~P$Q#`z$MJMkp)>;u$HUu()RhsR15@`Sn7p@X#PM{dy1j$K$x`ZPOWcrf>RqF?R2^e>f8I~JGIqL zZ)$XNr#C&iwLbxV+6kxSlr!$nQLP5q>N!F}eyH!%*7`dTIUnawtKraco!ZtUZJqxW z*s^ld?(=mFMHI_UIK8sD1t`VS5Kl?%yU>z-wBB42hP(x$zWO90Zh!MJ73}WwmBw2VV{_dXE7{)q z5n}hn(6q=z6!1>SQL@JQ?u+5JNqHe5A!)Zj9%}Rbh~q-*+6gsC9d65-%in*N@0PSm zj<}UJ-zRLGV;IRb%;uZKR$pl=0%ovvv~Ep(z0f*Tj>FO@hoR#}7Fv7hmegT|)+9L& zWojKau+aKYX-oLHo`u$ir7f0mom#9ZaTZ!{g*CL$T2($O$j8<3Y&awU$js_OE9*l-;m#ceH?c7R+R_qB_P^FSJg?_mC3X zccC6@HVzA|AZ;fT7xgv`LudE|C0GP2A`($Huvb<%bX@=j{lm@zcTm>%!e8LX`Np%cxUFF z4c?Y{Rez;>_4rL;z~ZJs3tNak`f?zEV=In5)+hjf4OlYbBgxxi4TpsrpsN2h!~H}$ zyMO&4+z(x1_whLPSa$&Uw~D0)TZ+h%2TMjgO{mZ;f<+Jbq!Dno1PrBsQ^b8+a|-x2 zxxc~gHf9h{=B%q4Hth;7IzbIvMG*ite3rwh~r7zn8gi6+`trfGsKZ1_CEme zrHfqBWjOX&&%BO|6^rFvwj3nOcCmD0%T}_i63eY@SxJ@!uw=x4i+L7tzK2Dxjm}N< z9L|6ZEs}pf5`9zLXW|$`gWOZalE#))vOLQH`$@nQGhinpU{?v)f&#W;adQzrY>L+# z;)WtV)(qkZNh=S>9&2R)|Je(a`I9t%c&ry+3ugY4`}E8oh7Fm2k=)m?xIn}kOmUte z{#nFLNIV^4>W7@xYykh;V%go4Qh$dmW5n_mTQbNpNGucB@)B8kz>*Q)RTAwFi(b9U zj6^%ZhJ;$e#ec83N3eSfa*ty7YU19&bYE|{M~eH8F>v>vr?d{x^norhHkelP7`-<3 z!G^R3l6WbL7m0X{DIR5re-!Z@B%TN{9RInG%02_YpU&>DihGXf9^F(=YmB&0hl{@} zi#v&Upeg>s5W7S?fW&vR_)ZbGG{wIf;`$=4LEgx7Tm5A@W=j&t&mOB3@>Se=@{hig+-IUt#eG5l=S7 zy9{x=to1634OlArTKV#g;aDHhPP= zGKs6QxRQt;GsP7Qag2xy@s}3-`%Y19{DH{;wNcX)SBlpo2U59!nIv8aF$&ug#~$ku z0RL>U#IWUevP|ZHngm=0i{3X@8v(zUfP3-B6#OaTz6{46>ojtIoZV@PgT-UI?=;*~ z#r>7r|nTFT0-B0&%~C-203BIlN-pWBr)iUF_ab z+}}3c3!J+9XmOtl7k@o*&tUidUUufXy(2mDL|9*0FQU|1JD;4at@oavvs^ zT5S2AEKhR49ujbt88Fibm?Hu6@cu-9Qx@MV;#5=Y=&GkaP{gSu4xHfP(0ds@Rwsb} z7%Um_ehhP19yZ;38tx6n{TSYt=+6~*`g;smN0Ixt?EaOwUwk=O_6~;oVc4iYkb9=M z)B8g`)(rsum&8(sEz8N$Pb`P=@+6OSE?GK@Wf@yOCQBQ!yv>%k$#Sn)`mkjzS)#;p zKU;>7#Uhq)w)7^;$$z*ucHxal9%~1({3Vtz+0u$E>%}sfEzx9I3QI=(B1{kPstJqU z-0i#S6&@JLMQ#We|3q=8zjupS0>GaxmQ`%|oh&bi%DV8Xt_J|2iW~Sai3zk*M35G&k*<82xtpWTVv5aNQxe>6877P7- zT#xlIS)LP16kE2Dx=k9Q+&)2XNfqQ z#OF&W@+pj6q(0mfH-BD_+(*O-BwownLJ=pJ;`a=3QxTuSzD)loES@IfTBi7+!FuEn z5icU~%Mc^~@8TFs>)|N!0Cs;$+_%G`7rCS1o(~&bI+A+}7B>^|H>UUnL;Qh=FII=x zDrs%NvBx?Az<=s*PJKFCUL?ytvAn>Req`Aw7TUM(vAW2zTr5@D5=WMA#PSE8`*^JP zk!2bz8SzsvC%|$WEP5##7#Xv|hEin0#Xp?IgGGF7SWuibM6a=(utD6G#E-G~5fSH^ z;vz#lPsHbJ5Z925ZN;(2`aXa^L@eL4C5tS_i@6dev1Jrl{t(OaYL!mzVJdYa$`e$2sT8f zzn|-G&*Dc#yxtVY7~&-&rhQ!gTOo#HZ5(^7{{!%cvwHx;5thlOdtJjlUEJ42!hO4+ z-M_>!uC~a1l~~?nOLwv?5KCXSv?I&^V9AJ|E=fEHi(XO1Mn&BT8*){Nl1OFoOCq+K z;wnadP7Y;pK^2HQvbddycLL~6!izkY>i79^F5J!plX%Y`&@iQX6 zG9*~Q@rJk(&9^{Yg~b&`{Fy2K%@DsM;w%#Xb(m^n z7ltQlW2`AYXNaE{@na{2vm9KH^vAzu8U%~D_i~B&+{nd$j#$4jwo7~@Ju}{P;P4O;6TwlaBNc=pD2Z}ht z6kjpKrw4J7*H?tNHH%|K{0D$O975jHv$0yl86>U@F-p-F#~$l<0R9UHsS-|O%)v6# zbgw=|ch|(dI=Qc7agm5enc`Z8cz}r4Re*RV#7OH)9DA%C0sKC8_lWyLrn}W}zgyh< zk^4Y#e~{g8A@?rqo+R!Uo)4DvA;bL;Y)J92748jKTvx>FP4Sb4c!`Lok@)lh&T1Nt zF+&3Q_lu=7TPBlblUN$CWdd1#fh8k;2}UlwUW7%j`3^=BPr-)#YzRjZ?}+=?IQCfE zk^2O8e@)yUG~GWi-0u|kuH^oNxW}-&mE059Jx<(DKNn2B@%wti?S&1g@3p|aCX1_z zc(p0+Y={?%_+t_u-cRM)hcSq(PB+C}46#SVy-2(SVx-an#~$lQ0RI>4K3m)enC_1m z?w!T`NEqB-V{w{@V@>h1hPa-HKO%85i=85_Xo`D&pcna63Kuz<#Pua(4RGwS?gsEz zW%o+r{wpkcd%bD6FB13PL*c$}AD8QE9DA&vko!iljA4t9EX&2xg)Ql1`39DZ_|Gw9 z;WZ2vJ&93961`zVby+Bh@#6kh2qp0txesUe!Qy_u>HeJIe!I9&hl~F)aUa9(VdUP7 z-5ZPh$!CM9zi+tjfeooQBli$-4`ugN0RH29Df7h`YRJz*(>+)}v&8+|Kvg{df*7IR zz%lMek^6kHbYsh_WSJqByVx>_ESgwOUnQ@eWEm@#m27d4Ww2O2WJ@erdWz*mw%kpY z_F`$vmg;1AP%Jgr5<-@GV%c$p()#BaSR%#pEnEI1%cZ}l$Y(L0pji)#-d_1r^&YhZ zHWV`jF8&P=@qb~2Ax<7FdbOk*8Jh~t;ua%`5wIcbma|CWd2#<1$CxF^y}MY_+2SCJoddR&fU#!4 zHAcXC60ivcti@uRh%1`nrvK9mc&Z<#e((&$M|M+f?8oRq>bn8-tadfTMIxR_;-4W# zwqM7w$2uRt|D{+SXUivKnaTm*k$^rk;I~G=u@bNX1suxa=S2LBDgNFNCyO}mG{kKs ztrSX%-3?-R=?wnUSqj#%t$sY#X!oJ6Q35eAE1z%Fz2+Bn{qYvcGSB(ZZB7w}gc zd#t|$_={l4h+m2E1j{N|boT*<`}gAhD!G5eVwx2oo@R=lHN@E>Zb9M^l2!#yYXpG* zX|eqAFQwj>EJ+;DAptv^0W*z&4@*EVT>N!eTwBETOmWs{dPysb*hS)hc2c?i#t=bT zr=AX$tH==l1smGBB8gW*jN=0*DPu(d{_n)Hge{B6@(Bl=CILS)0}lFJPyHPU_##~V zFN=F8b{|Xb1H@8?EknqXES5h{P@=ub630nABuR9DMQ@9(MiMPxLq1Qz#b1@hl|+2I zDgNCMR}k?a67So=1^k)QI{p;W+6YTV{I3{2NPQ11dRj$>`x@AgmW|wJi+jmGl-2La zeX>~c*fNVO<2m412{_3NSm8^(eqNV=qv7IzoW(8?r_x3D)RK)#F z@zaL5lZfvi@vSVbF5(uZc)TILOT@n)g}C^4s)U0W7syxzQ`}&IUW$MFa3y$2yo|*^ ziFg-)USx+ME);QF5>I0B+amtf6c;VjBYz~~e@Y;Jmc{)<{Dvw1+YrAf;@MQdRuH2t zK7pgh+6%znP%NozNhC{kv2)BEPCc2UZm&81{=bj`x{AYff&bY zaqO|4>kao@u}ovjVX}NHmY3MFjV#l}lE{_*AnqAKg8=iQ8LyI#~y1Ofd9-^ z&gxxkxsNOd#B%yDX>KFSX0d$D{U?GfE5x#xHRpQ5GEXey*>adHAB&|2TegwKE0+7% zQb3khVabSp1w##KEr3OD+?n}$=4Zl&n*8e!GT%wu^KtC4zD4e>#WIa8qselQSYBew z^JJ+dmPEGnAWN87YON;r9tBDWyRpJFLuO9Qg36Uz*?R3ppJuw=ylh>-%X zK#ySNe=ss%0vj^_1YG<+7JEdz)f8_t#4AJ`N#cQ$R`CJK&ldpxF6^Ep?o&x4o2&24qew%#q#H$WT{J*Z^W{YEtSbKjgy!nNnCt9SoV{v^dt_$ zhOp1T#Xnr!&!Qj=mZ;b_%J2$D~nf&xP>XMVbs`NBL4Reh-W|y$6s)a zwFH1)6H5+T&UAxitXQ66%R#aX7E5!sY$Z!iv0U9vaaNM0y;y!@%lBk?P%N|AGK(zr z#FD|5No0u>OE0#JC(EVvoWrJU89|m}Sg`&j8KX9wu%S>pccFmG#QjGc zW9t;Tf6eZniF-ZMJy<`L#r;`wA1CgQviqs7a399*gT#G5EPCn|qk1>MhSX2(g!`l7 zUW8+8K_~a7?0&Dfe`dP>X1Kp2?&;(nSjT1W!|r3r{TM8G{)KLffJ038Rfc;HagQSR zTox}Caa&XDDbhQ3V-auK0r7j1)?6H8>lA=LQ!H<=CC~+ympI@H67V=IdfD%Voqqwb z3$|GK)$rm_{DOpktU|8=2>wt1J$5VH^9@8z8fN_d=QB9krrhZF#&_WMbs(xAdEouJ zaF-trrLrS_589px-p7pZAf?{FN%y4#QPF~XD)?!}R>6-dIGXX{7dZI63f_ae#DS9{ zVvl(8!0%`AMG{)aj_4l^CC3H$PW|J0)foIe?j2lz$A)mcv%z>dM!c;=yw)r|p85W_ zA2=fm1&>hh>x|zQ+)Kd@#-jy4rsL~n7NaVd-+XqACrA7qA77;W;RwO)-B3ba?p(eT zc4EhH!H0Bw-4uiAeavp_2XlI(gXzsh08VcK5wCTQl3ojToFdrwpVRx4-TIYJuZNLd zdkN@L(z}lxqXoB8a0#BS1fr~h@48ubjNdP|;-DJ`p^V(0k9E3P|7_15Gspw`0`Nr~ zm$4)Ir<(}gCy4L=secaRc*zp4Loi;t5ieHarRwp_{u#!OwFLK5@LH~qGtYBwIw*Jw zeBBg-{c|h3 zHIwwd4W>8UNUx>@oN|+Z!FWqK-k#?;{}Y4p`Wo@_iFmC&{%gDg9M32576s$gHR6qu zc(wF+W_`TEjy(ilah9*HSjMdcAJ*}8tIM1}WPDvo;qr|S_NTdsz~lJ<5sYUg!AH1Z z3k3TVe2Me(nc&e1E@1qo-~kHuF&-?~so*Y*oq``!u#IsO!M7`TQ=lq_{w;zn3ZBNe zvZwF(66zp$q&ie@R_eJ){7a1?e@K(-Ol;93G%~vo#qd4rIXE;Ap?~Jd;rXvK`cRmrXHC0Km6Q?*waKD?S7_6TI>^4Hu z`z4rOw2@wS30PN2?=^O8DcGvu_Kc$hA9s|m-71XF_UFQESMav0G-YfToU7v-RG(RY zaU6ICdHN!0zlF4S7GiMyxg}=$O=1S?N7^}A;`Iu~a~SbrC0<)So_YSL!5OI~xRHW) za|zG%;|i#%;5m$c7ksXL`RW_N_$R@8b^M>|N7`i^d6ur9If%jalOi#vD@pF+BprgY z75p*dMuJ~d@Nj6mq%D=k{s>gn&Z z7)|DK@3WW<+yDK27Qz139Z#nNQG1@|_IU`8>@nB}BVU22HDq(gKZ!47d z!WV>=gtgd>_IwlD5_Y7}h8)_m!&~Ce zr>sNsle$BKIQTJz`zyl%&I@sj$1?!_3s>0k23u;Ap4}@evZ@SlJF9YUE;@bnpfgB8MHe!-8BaFYAzDID94! zt1rRfX-RVqjy+Z%fIo>tOpy@jWkbv}LOdrSk|{(Tc1RHiS6PR3hC@qns6q}$E^_}D zhq`4QN(_f^aaem14vW|!R2+`RmubCDr}W174R$mD??cOGhfT1cRLjabe05rPm?I8t zD1{#EFjE|I$~r`x(H&C7!G8e`4cXyEap+stVX)!g5QmxM@b3jGbi6n;E$dKdIMfn{ zUgVGm2b8A;jy=}PZP7CGImAUA!cu~dQk{5#5n?Os)DN+J%s*a2{DfnVbt#1y&LMu1 z5MP%KQU9!7&UYomKnf8jAzE^X*C<32vE0Izp=7DeL7&ATlIeqwQu&HAf+oO@d@Z0I zX@}2KT|6ibjmtXhG90Rj!wcl_BRhnM!}+)}DbV{6_-^xF*pWg5a>!zbjj$j~tIIlk zcusft4tBmhUH|EP{ep|u@BWU90s)+_tp2K0RC>XZaXH5KdotpE6gRDkA5SL&h1Lo9 zChuVi%7O<@t)RCv^XM$P`Ca6Q9*MI!k62hSJ zMV-KO;`F(qoq?$M$0I@}!?a#E)el77N2bjD5DYr^r3$vUqH$v#imkpY0WIevXKGl8 z)ADOzA50!I&atj^o{qZT46_@SVn1ce7Zt$Fp(j`%!d1Ej>HR>$6(XE!3O^R1!xVZ+ zI8}sErtlRJZpFZ-G!SthEF~k6?iacZ1$Bw)c~kWWsX9T`##G%Ss(&zI^;oq?6%Ew_ z-G*2pqI%p^9q&RbC+k1>urEO+hqyEP?r|D7Kh1NC8w`P^cZHp zvhNQ6E2}Hg>I-h0Xmq9&UkT7xZEGOvFP0FRN60Bi`#lh~K1eho_v=mwj(mO@gj;$> zV84qAQAwH(wWxP+g!hBuU-Sf5^q4?YZ4{7?p{r~hBVYg;mv4IXER--wd%9YZHmXjN zc3?pMpvi4s2@81^|7rMdA^zKi|3XHEh1`Sxf}IrysHG*XYlH+lywe-`6~4#j>K139 z(KFp5Oc$3gY8p6RPv-JPPHIyF>8^BY)tqsgQyV$6x1`#f?%W7_AU7#4FZ~FjB&Fmg zd8@3nqq4o$nUB;6;palZIKt^ev%w(60;9j$I=2Kgi2x)fim@aont zOW6>^I=$3)r!R9lby4r*)r#zOGWam_OZk|Ek0QqOtjf$&>H5KR;eCgMPOrV1m&GWO z)3Va(zmRYD75wrS*bbIvq3XD5I+ z)wwC5LZpRDg68xJy8-#m51rnnoW9Rhr>@hhvDoCL^Ge71dR>z|Yj|tjJLG}CBDpBc z89=TDAokPw?j@9gkkoqq4m3+?8l_`f6zUA*AtCxgd3ZX%+>}`+Nh7_TPAY2ln$+k( zRDEem>VzS3sYm*ru%1R+hvXQM5fypCc;78ONo1 z^)>{gmmFFV(-}IG9Joj&VQ3TXU3iNk-f);o?^8?95?dAf0Mms49Gh$<$7@6P?W@qn|9 z_s;4qYJ?QqEg>P<0o%l8_)Lu5;zCOd?BGj1fDZQ;q8(1ub~%0Vi?Xf+2J!nn6SaK1 zw#8*xm1Nm&cVE5D_ST;`5hkS+YB_IZjHk8J#=t&bmq7L!o2LN8Zd(*m*e(>Sz?EU1 zc2|=Ex$ff7vBkw-g6XmuI7IL))Qjk$wTRHuE&wM_yDMXl6puDNhT+gwFT>CmwzE+D zaFKf2UDi`MP~6V+d6<1TKbW_Z+__=M2;z@DR$SLqRmb5V`k#`Ypo5;F!^MYi2GWbL z3x`raR9?zUFagRvvIKhq$`Tm+XYoAKZ#MZ|D?ReJa0c0vf^dYwb^)r9u{(+f!_|T0 z6RD=3DxJPFl%#Zaq98-paEHsi)3Tb(SBB*#TUO^?h_F-iPJyu-itj8PshXanQsp<| zp#`rMkg`-Z=+&`nidUm?g4tV&FJ^lg@i>3stu?0kb=o(a>znHtEyj+h_rTac5-s@uHmAEJ)Rui2bF2%K;Xocz zQ#(Xp!B*tLZwQ{Nn=gC?iF9u_hk|82m34vde||AnQ?_r~}fpdXj!dtkeF zoM=9{22Teo!hey7Yo0$`(GlHy(#c~aCJyalQp!%dZT@+!$TmOUnX=lMw=XOZ^-Chn z4LF53q8rl$fm1Oih}C5E-I<49Gw=j)q8Y9S-322D@O-l{`a?8?%R47}7JsHk4?LS6 zni{UxB zN$Fy_I<*PCS(h!HOi6grCDTl3^^hV#vb~sVdph@&?a4y_v_hPN1NlyOQFv0^U#IN0Ct2lU&G0J0Wj1p4M7~(=IRB*1-R0l04C?)iafi6vIgm8ntV*9PmYGi`vl}@SY^>GmNT;#L$2t_(2Fa-~&z3fSCmp#@>HG ze>!W-jb4mz)QY+MIX8MWKFc=bF(<8}4p2k(KtnpUtmyApyev8cpVXEksV(Q?mmt)Z z1G(9{akG6`5*cFa9niKX#s*xzaBfwXb^;1lbOQeEA|^7HBxwcG)T^A96LwqUmH2NBTDPKqX+cF?+&o!`hUt@Qd!T5P)z-MEB*OMU;b@Dk zap5Vat!b{_`p&pL9>-mQ^cA#vY0Qmol%6Z9ol+_w#TKd(pI$z8($~U*FCg@XG&;@6)(un zwFmNWUW^M%KWeAJu`=B5zEmxJTT)7%)3<~q_N8d-5C^;wV!cb-p5Vb>H3CTV4Xf(% z{V$?INXTTI{$q0O=ypy_tYP-J{4{$fUrv`0oHu!WFv#HzO$y`%^6@_Ia9bB&EnL9n zh2a7g($xKSZ7nadarqk9x}V;m{SA`Dip8$wCbgQKqyNInvyl%2oS~>*(y3g0KP3(xeEp^T8(MEz4xv3=7MM|M^rKkDJxL$WJ zp{UiI+C{A8$65XRaSiFv-lIh9+R8kCZQG(MturrBX~sRGaTc7~X4|5iHq__hR!`__ z-?~30PcrB5vZHNL)*~U|WpZHGes%iZYKk6VUvdj#G& zxCnH2|JQhGq)nx2bNQ@yB3s%&kPR8m{!d$@ST=*5W4Y61QzsrL6~Iw&KP1 zxC+9ZB)aioUV2_TKgLzGy(i8($dBG~$=bdo?Yv9-TiWk#dYQa`_!Z@;>F`=N;*#P6&y5IZ%Zfmr+&W`|PE_!lx)w*9#I z>wU(b(IW#x5h%;q7HIpP}-0>qv0=YUOHKTL(Ub>he_y@#gU1AiFmi6AWdb8ugX6{_(i7Ei=Y2 z3s~Zp)&Jh+tdf+a^_{B(#-@F+23Zw3-@Yb^C@{6R9!UTe5O!JYAzTC>!-D8@Rpi z$wf}I^X?@7v8sX zk+ApeS^RGX{o84vw^M?*Q+@9(-cEaqCnI^%?@hEVdU8jiZAHgi+-t~%374)bY%sh! z3!(5ixEc(vVg0oTN}q`_en-r|y0_n+S;#PR z6)!F3??CXCiN0EOeO2y4h#ej9+1?jkcj)f>9z4-ZzLvx?6N?F`(#VIy% z=)ofNUSxO^o_Hk=U6YR|Vu?eye6lxy>2s4KCNI&l6ZbzYyBzd?-0P7>8hUnD{g4op zxSrjz!)`g5cm5VT7Q!)?yzTb-9CwDql)#b~xFzq(E#5G@FZ`iI%YN_Axm49(&%(c; zE=}6m+pd0lpQBNTBjzlui7`j*c~@_-lViIChxdhn4(|^c@W23;`xZrEPWSNWh)|=S z82!eUy%%QyTAvQ2UW6wpjh%s2hRQhKCTcH-Cu+}}PSort>{@7|_M|^i8+tiW8+)`J zX0DFDTK5diE!~D|qz&`5&8P;=e!ip66_0|~t>cK2&^TcdQv|v%{cUUeuEdQcG9!<3Tn|Ho?Jgr+WOmoMEx5zEQE3)x*eAssZd(1gc zVj%Bo^~|fRsFi(otTmy<*^1P+iu0qibacC{6%z zcmaqwKLt=fF$tb=)*Hl0jM?K!47KN7s&3D`#5uY(F?;t|YhsJtB~^6Oc#C}j!(0xsFW|Jd%USV65NlQ>HMA`;YBMbQpJy^yQ4wp7<7V6#= zH|mZ>9JPuA~QX6mPFb#X#{6>$o%;K>}NB1e2p!Zu1xY?PuL zQL6MmJ(JnFODM~>#MSPlV-Oh+fNLi4MFSv)(*%y8mm$eRUS^f|NaAO4g~q z2*al_w15Nau=>uSxs$P8aQSlToVXnfnm(j4%vp7)4*d18rGvHwoWU2;^nga2a%wm} zTt3{lapvutFVZ#J>ZMxEaJr=9m|Ck9ifVg z+`$%c2V2A)Y!OZ&APo>Ga<7W8$6dDNY{wb|Rc{ZhN{su*mh&aP77s+ySQhuEk1cK9 zYm35Q0l>?qi4GX`^)+tOINB_24QiWM2WG529c|py%nol>^m)qE#Gc$ZZfa*IjC2hc zY#&!jbG_{yZRX~8<2V=K)!EnftgT)`h_>*O3&z-E*=KDNivZO2y+rMc?sAE|(F*4* zXUa7+PPh9@HTETLY+BbOS`OtMwv=mkd)`3{|2+U|`wOTGwEZP%`%Bkv`vPwGLNxp( zqv2;^V~n1EoR+ET0;}SV+j5-f52$NL++5DGEvGgN4%{W9>Y^J&R6|(F)6&=xSEe$J z`m^QaBV#w~Rr9e0vsAD0Aw2b}Y<&Lz)~ocA+5<(7IO!KTe$3T@m2qYIP)I zRtqS2W&w@5QnPuPiAtXaomxS6xi`I2`!%z8B|L0dG#$8$!<^nBysyXU9aG2U9a!Jx z9dg2!H4U-d#kEsMLXq0eec^6f*2^$uUfc`c^oY!h|KM|cmCTD*DOPq0Wd$?!0(u#u zw$|6}s(;KrJ*&lcA|ZlP0o~`rZQ1wg>TDRiJW#nz#iub8NH_v^+}ZXGxte{-kO8j+UyTQqP#nRZ(Q=ESHv{icV|C-G^;?SHj&_LT!`AAp!SQR8cApP(Q}~ zg8xH%%-VB<`tiD!)kpO>Xyp>9mi~p^eY|@1v9$Z0DOc%SgmX}U&OuIJPCe@O{uI1i znh!&>vEsaMPMPAw8(@@aNp<41Cg)t|3_8jKs49 zpLPE4+#gogtSL*0n8+Q7u@`!kE79!(Gb=-Tr^uqpzTX<^? z+soY=J-YikWekg5qa?Vsj;CB(aEAmlN;_}XS~`2$CLKqe+cD+fj*X=QtaK8#P1*sgw`yRO(_I)I z_YKvhEr(B`Hyl=tjNI3!+|&E&^x~G8=5X^ly<9a^DOCl*JJ>b~5>7z^GPnM>v|Etd z`kmKHJGBOSz}2nXVQW|C4r|rVUub>V-(q%&V5h}?47#nt_eJ^kl7n`g?sRB}{EuU} zxzAVD&X22$(4R`^Wz{G&T>;>trY}D^yhX|MHvO;QU@O}#LumumowwbCadGdK6KcC9~sN6@E?)P2E{8WFeN zmK_SAw{wIuWex2>8Hn{HcCC%CgMR5jkDBcAjyd7-V(U<@(;2fq?F9O+&yf^?5!ryB zh$8nxw{WApVN+@j1F{?MZ?S9VXka>cU@oNv<$pf^%Dx|dtnwY+3U{rJS%Q7sSjwY^lc0L+!{?+rqlYY zTQ+gCltl7a+3L`0(!}G?o(_-QvKZM+u%G)EH^|SO#FM>IG`K=Hv%}BgFq@{Qrdsz1 zr%&U{0@<&l*)PYfvUT-qq4u}}hpp>gJRZbf7ydgm?NIC%UzKAB9MZuTeuzHpKF2Kq z?>EiS+z#)jE%9;gWb78NmVhI#o32@KW6Kh7c-;;h+t1;K(>br3u5@Tq%tZP_yiOnY z7V~_n*&JF<9a~&A0d*jRWV-AY{inTKjNZdgQkAIqC=O=T3V&*3~!#+x$FS6nZ<> z$2ACtw&SbA+c6s7bM5Y2TT;sEK-7!TcpUHT*b;jwux%Gsmv=(j02Wqz@qD<*33M=S zR7Cn4vbfAb6ZksdvgCYr?wCeSUpRiIFg>5HItJl<(>Wp#^(f-Gym8oag1Y$!`=wC5 z_ig0reYy&@M{xpT!1%lvJFu~I0~!+;oo}o0?8Wnzeo62D?06v1b_bso|K7lHEfNA# zAn)_*pYOhkzmkln(53~m6Ky+d?jHR4~;i@~*-KeyVC@}AH#qaZ4H>7>8srB?>h5a79Sy9{QY$J>2_wsNK zaZs2;$I66BU1DS;`*qAm+V7;XZi4OoBCUw-#$%EX77kVS?|LqG<;vJ25u`G8 z_cyOx%=(Kx8;c(j?(}|7m-GHPsDI49l}pDos>f+&ZYNbs*4LP~^z|w7xr=PsFVb9w zT$bP>lPXBA9oPC}P(k$F4^_rex}kvUfo>4X{Su?PZpFUmyScjVm93n%tQd|cRkopY zmD#eZ37UnNrIz8PXa3>(hR~U=l=j$WjW+SUj?I!A^*ynlHQ+7CuyA}Y?;dpq_gE)* znwLafXKS^b!vlCI>clTM_?tY{NWC4SG%E(}g<21`0CnR2`9?0Id*o|)xQVb|lBFrtv_RS+tqaS0w>=6cYlz9-(1*7qOA<@6h(1 z9-)D>KdA>rBx(6&!Wzk8|2Z~rxhVc-_azKSY`XB+Lp`C`4El6F?Lo&mvKl`q^n~Io zlCdpn7fPvMPZko2E3|u_2p#XDrb>^llk963<{KHBq+N1ooIl&5j-lAq7lvyCpDQ5@ zUjr7LtitS`gsa5(OA>a*!4OE>Om$NSWpdnc)s=#|0f{3?HW)=~@2S;J4DCIRc1UVv z>ASiKy^~TdNO|x8(H#g)t4G7+{(w6AP0PHiz+w+h3p;P&F2b>z-{k# zc^AU%9@kS>>^@gW1im07eZQKH=jXJ?91T=WPtEReyoOtCD}&phx&2)!eWM#Er>wyS zTFemG?moT+*6GREnR0iMwiX-Kesx;b%J@a*!)u^FB**2q^Eg5S>Bo}-E0g0kr*Cj- z*v5~pP_`dXd_12Y9$mke6R9*$)^;Xg-@C}6k0sq-b7?3A^|oqMDfMX& zL*r7@a&UZ@KLy~6O5O(5W@vkCbJ`lC9E}g80p%N?8 z4=gGLqBgQ62A9Wf%sk^G(l=3}&2PAILeBy2XSuvi+^R}ID|N%8SZ4(GZ}THqdQ67f zn$ffHnXFyF77x4oa=7g+KW;+d*4Ap=H+6W2M);>);8O`Mdp7u+@oZQ;iRNqX+-REj zUEYP!t?`Nb`Nc8eo!?>M=Xaiw5K;PmJ|P$y})o?RC03Y3C-;@@X~N&}-Rz0ZV_aDi&&$Fl}~iiq)Xg+xay9JBq6lY`6(cYm^w5hrR1Q z>q?xCo!<5bOFH3_GmK3u4AaAqhNayDfGG~z3YT>4T|sTWVX6$yzfVRiJb*-#;io-C z&Lp}sdq180tJ>ywp~c)fY(tCs?RMH@=ck9l5uR z+x$Jq%pXaXJ!tS`x;M50^@|;AL#SV3f=O`tmPJp2jm{Si?bY)R?XlQ3cCB#pc}LuN z+YBsvQnC5}rK2vb<3XpktptmXmySBM-Un%?U&qr9t?T6^%@tiAWvn0Q{YNLSxdP0p|@iC-GPqbSn?KCL<%AHIC|j!(!p_6lCZ-h+-bqjTRI-aW=2#Yb_oyUIeM}s{c-pB2us@CS_KzU??d}(yE(P(IIlV|1vRGJ z_~X%PC9lM;X;XFd@Z^*NV9fS~?Ja>oo~M17r+ui$l4RL|`xbFkUpZ8ggs`D$cd5-3ER}0%C+t`P4>np`{Y12Be zidrWQt@B12&g--h^FtISHqd5##P~K&-zPLPV8$plH>|2ter{O6meO;BR>6sQqcI4666?%hMOO4CeA2^*)_9~Oe#lq|H$yKP zJedU)yX@&jU%#N9Fm>TvN0TV#y}$8O%y;vvViuvZO(1G~ZBz^YmL#y$s=al|!XlO|f+&Uv;6WTW7$C37&+7S<&<`5>skcbS}R8w_r;N zF6ppvx7N316KIrFarGDTVY!E%a!Tvy7iX`LD z?&6GdmpIQ0kbQW6C_?h;(}6kG$Sswqd=Y%T@bLe+=;pyvEaXxIbKiqkEPQI~3!DinSn@O1qoZCGRca<@5t zxhtD?gN4IE`SS7pOYZNpbItxf5kaNDr_r5_NkFL0y_c)w(!1oYQoVn*pYEricB$hJ zgqJMhuD^6xyqY?}tvjU?q->!MP0i;-#Wcq!o;YvjE`cFT%}oEJ9XQk-j3)OV`IDO( zH`yYauAp-mer4PqnM0SS@cGg)^)IDMua{r%ij#Mg&jlLSNFQ52jdXc%1T$DFWByO@ zfD$Lw>U8qlgp`p1>Rh;`&Ql>Zq26rNf)*!+_6d^Vj7E*x*c+;kp>pnKp0&KpeLZ`I zgls-1ZkjmUo$CWqXVd8%L0n!jG-}Cl|XYQlp%D>_+&!RQ> zeO=zZ2-~9E%6a7`KO|$scW5jB-z2f58d}O8vwG`!HL+{-KN?@yuJ;|BVgrd7L>jL4 z_Hz$#_&PeU()!2$^?MaVj6LxB{ofB@q9;Y@?CX-WZRY(g`MGhxkyW2>s-3X&1w5_~ z>N~WeMBh_YlT&_er={l9@8EUhj2whJ|D9=jrQ`o2?p@%csLsa!B%6=`feA`9R(y>b z6jkVs|qGl`B0EwH(F2e#=TBY@Eu~*yL+AHEc%OxZr z5Wov+RRk}yL=?3`g24X1&zYIcCM1a3|NG~|W@gTuIoIcT&U2pI@w8q$A^Olo*KiM| zI}W4VK8E^VhuC4h&!$07u2**Yo_F=+N)!raF&|-6H22qQ!!x+WLPXl8E!@Q|7Jeg3 zFelWSHu5wG!tzJsb7#{=s-7_#;b-ns{?<^ohz}=fD*$ z5`NX(Xtt{P-`wqKu|Z;Jn@pYpg{~~j4i!`kjjIU&Mg#(M@4EQ*?D+m{8#n-yl|TbK zexwmA2RCkM_A`IYtW#3p4T*NcSDo797X&ryyC#tITD;bO=f^`*B4{e$u5V$>tt7ckeKPH;A6#yD;w-5AOc< zbQ;kiE->Lwjktk4SwsZ5B?m&-IfVY$x}+@g!UBEkcK_fBBV#(7gQDn!f;rFjvKt+H zFfIcP=WuA?KtvmF=Q=DS-Xhp%C=X7(*$f~oZ z6fjDvuUoe#+fG}#b(bEUGSY3HO<(cEE>JR&_-v#h0i+v8T}hQWeI&w=)02Rk_DFsu zdrkI_vk~=x$_q{qz|gmL>Sq}RRnh4q0Vf3`vIytln9Be4wj03F!HU_Yz(ioA+a(%6 zl?@{u+Hz#Sz(|KE*{Im>E2uwFj5=^A;C}YM*|ije20N|=t?V#F2pR={vujA+9u$t89lA;xs&x4*7BwvrLPe? z_d5o$KcvCeE)L&OP%!)aApDdo-}D50E$Q%RL_LTjx9%7`)dlLxf;sp_PX$g^I&c!K z9OD4W=?41xMFpi{Fw|Vw?GBIlZ`}t?b??GsJQBj~4y>{I2g6+Q6`b&&jEQ8{PuX6MchO0fjbqjk) z_Cym6b83;{eID>@`Z~_geeC%}Bu#1T=#fzab7-$Zor&Yf2zj~cpNhQP_r6;FT=l!6 zKcbmouUH`jEq$9JR)R1gkR6C@vWo&N@V*dBqPD>;`(3Pc22PcB?Zt5eFe7l#B+3PYTp;q z5`CzooLLcX;tHl3wk9wpo zA8Dk>{Q|$Vs5fhnzl0i~29x1$CKte7`u~B%D|-3J#5&q-uH$31kN70^@rYzzSOVM2 zaC;s+6s$p&@40#jD3Ib8lP$^kMBkF8QkpaSePIwrU{4%wPbSwesuhWPAkJyz)?GAj zh3ppswOhRKH;VlG3uLIa?l-(0LPh*_^5}tqSTId`M2WM9Q=(JcxdOmcQY#YF&jNgh z%x!Tii z00Wf*ow9cosN{uMzX>3V>{kFAv&~q}AO50<)=q+8!EZIL7CIzGu2-R@j7=URNK#Q{ zwpyp!GNYFRwHvDtzLK6_VZ;{6!etFo?@&dzA~ow(L=UHA-`V`0slz{GWQ2vm_T0Mh zy01m>C6Fif0j$Qo`1StzBi(GWA58V?K%S!l-XwtxaLQuK8^v`I()G#W9^Kk2Z(Vlhbew>;~y zF#U)PI}eD{SIm^O!Paj{3p}3d{4-YMIsXt#-Az7YMUL~2z&_WJz~y@Ta)Z2%=9Ezb zmofI`%l73fatWu$XLRF(y(qEgtc|dTY!aNvW6DlaO`C}FD#S9&SX(LdD`RctNVx=_ zOttGtw?Tm?+*XTz17OSiEc`y)WfES#YqJ%8JCj1P;442he+u9qlI1Qd{JMwlL+1z} z&4)LES#JI}?I&smddCWTb0c~V(Ia4jBbzL-czX?vme%|SayE?5V3IRJGnlBZMB3yX zY*dq1$J^B8B}fZKPwya&%VztsMP1I_%EgGDyM!{h{Mf$y#J=1sm)J$nm_m84uPBDv zTaRL1BHaCCk-5iAAuwc^YGnI6ttp@9@OaIl zCkT!O$AteIFA|)&dBWk<000V&5<9s|gIo7jg7-x)F6LK65I^FojP^$Zr3CjIo%kz6 z*3Fi>%6_m2f29@0z>PJWU>@i>0<{Q~(KI9wq#Cs!Bn$s5DWTb9gQ_)ML!X1Ok!4CB zAb-jY&sr&_7?G)H=onL~l{Y8>Ut;Un-Z@lTK2(B$NG?D21lYOCE5s%3o%nzDymZl8 zu`skq_h82OP>I3qzC<4+2gi>E$A9_bk_7w&b<=Pi1@CoFm`Iw zO2(ioDh*W$xi7ZTL@uddQ<~KuIvl2tu<>GVi-Q+?*z1T; z-rQ*5U{E;dfQuJ(SK+9mrYn~HCDk{zU$`)q{a-?%i-UlEh5RXZu|y$=HA)%9u`HuZ z86sWw`so9bc`lu3ndwoo@ac~gfFR2hNU#+}Hxdc;)?#!j>ASOMo>?)P9M(j;y*0Hj z60$J}CKlJA)n)&v6qo!_tzen}225pCQ?P(hxSEe;N*)3d^_kyn*VzEcJCJotXFl@d z0{5lbKTsV=tF|88>YjCKSvD||5MUOY2WfME$cx4|=at_oJ>PQF8-ZmUY0 z$+w`cPtu}aKJ^WSo~PND5_LKEbafg37QwlU==itoi)CLDa)}l0QkNdo9rCt~gbM_7 zVugQHuNS1FuJx9k;|6lLsGE%=l%Vcq>MKF!zhSE6WbnisWDB9pt+qLg+cO9s%T^tA#=){RdpR0Izn6*La8D#;2} z-<86|D~(w81!^jQ0$_i1AQqOaN5sP=YDNA8JiLHPU`cx6p%anVZL*Djtxq`gA`RmL z9vh_u|Cv~tL(@P{8VOq0%DN`#(#G3R+##5A^ zmY=)$&H@C)$|9iLDoedOtLGI)RkUK9T@_qaZ(1Uiq>aC=ntc(6g4mZ|`H4t8)P6I( zOghuQzn$y9VEfy({7zb@^7ryxAdFHwb|n}1+K7xPMqkOi`rp}`1!#P!h`N;xG-}MA z=UC2Pf2nB4ORu`yn8RD|wBLLQI#wl0EsX5q-uO~KhHz$_6z?ijdVcQ~Qnr!eFMEl= z1WU_SdRJEYw$2^q_jSz81CXgUZ4MqCJ9|N+}A#L2$VmoY)jV4&ST5A_~QEfEM1%Q9FN$hEzg<| z$vzItPb0iLGqeB-R_x4=pX&-~U#w84K~=s(bvc!-*?Gx8?Yme?1w9)K&q3LUO%F0A zhR~P_GHK1?+A3|==3R%t$Zr3gkj%^r6HSq$zpcn9b)40G7%Zza@n!0f2;ZcfRs zXj}FWwaed?8PSuW_o%eS(-t83WvD$dn9tp!4x&skyUMmmStZJD=j9qNWxYr=WlF%G zetGuL30eMQk^x^wB(vVKOA>zuN_v{F-ID$;CGD~2Q%Xa+^a6ISY+Qm~=I3Ram}(!E z#n~fhA0g#L!Ho^=3CYkdr;(m6Bm8b==<&qWX{BGvz2DrP@^@DazCe|~k1a=ycN?>A zcsq$ik35;_&Hn;*oX_NV+UUmS?yL)wHS{2OcC!BUR7HXCJDH)sCAv`6xZQY%dqrdw zkS%2rRVDZyd>HV?gXSix3VPQAZJ3t0@na|=3oFiXGoR#yx(V4X_H>?X8~EOFmo2*s*X(a zBtuKZLeG$GEz2d#fXt|;i_REf3%eW_kW}ln=5eqNE*$##rX(>Ut(!UAyYqf_`n)Up zEc0`W0|A01*+cEwe>-jVS0&;At2=D}Yv(aT!YcJRZc0k1`E`@Q=yX=Z*HuTf{C z=(RDeYYq;PFJA<}FWds+)e?mqXZ1pk zH2JOze*%08KWyYwn5mE?o_Hgxr*qr5H@gI=&kcxa8?fANc%K7HYRnGhFGH)@s*3Ao z)`XK--TpM)J-J z2iC4#Eam%{Wy9P@Jh-6uIYAahHL=EHK0ue_gr3oUV9G%k83;WR9GMJl?_E0i#hg1Z#{YYQbPB-Gh3*VgdY`w{44nD5n?+d)%BvOgqvt(_lu7{fY`Wa zm!keB=A(^1t88RZxTEmJZ+59ntjlHl{oeg%+(DuD1cj_QBLuceF}amolsSorPs_7} zNGDr?E5Ud?8qQCKOvls}BCN2fcOM0%97OukVTdG)soQf=M4NkLfWNE;_+x<(?{fif zw;I|eUPIDxhNd}RWqdmlv?VJpgG*TA(3@_x?hO93^SgG@w|twabLgEEkFXO;L`2u6 zLGLR7pxK3)qo7oc_jRE^Xv5RcX^VjPDS#wIM9*S{dRKwu^J&$oY5a|>TESYFgcNIG z2e;)*^EuY9#?c3pvTpkp*gV9YQwXHuuvz!p5pu(;XQaoA0G^g~WT{^@*NgdG={!q% z?&hqFOZeT-Z$H18Mo)T(eCFUF+tWSr%*I=L7|+j#iQ0SKJF=D7 zDKIld*xwnVQgzn{GZ**7D@v~8HX$jU6S47?GWooNi+qDW z4^P{i4BT$#*6zN|uQIi00kgf&2{UWRoR^9(skp1|0XKxT9f$Kw(|LR(d&;x88VFR% zxiaIZbJ)g6uF;Hnv30NG#8|{@W!biY`q+DxnyaeH_DV>iF>trA#v+cy^xIsZ?qo)% z;{^15)=+O?Nw{;QxqehWtJDkHPW9u@D0evz?A2MN?02pNJaE*8rm2FY$QP!j4aHN+LO3=S9K=9!J z1X(A9cW9@oeiix0i1S+m*;v1_$Qn99yyo6ZO2{_we+xZl zf1PTHeIp19DZ#!;VsOcpl>m5#`DhDev)9r^ru~xk@OkD&2DCj{=(k+Cf!aS^dXL%# z-PNJ?PlAV{RjI&ZC4A5m^5ZSi6eiJp-lYe`Hx7u>G`SZ0S7Aa3TLis6L61}(6xBUF zt;BK9e*zwSmB~;?XEo-Wm3_a@?(h2p?)R!7`Cb*|Q3b6H0Aw6wUmGZ_oFH&K3lf1YwwD zJ*0s1!s8cHSVrCT@=1(Oa9oni9#*-6rk1*~sMyuV*S83a zEZx_wN2J7x%(R3GIX+=!dP0_x;#Fi-MW!$+Ktv1h4@CU>LxH8y>`r>c&Ynd3k_y3ov7tuF?7s&aH*i@CUcMVbME4A6?jK(; ze^OOIYi=N?gn4V;EDZHnyl&*vW-(QO&isXu#{gVw`a5q$z5?AEL)ZwK-2AeHl`Pek zwAeCp`c`bcWYPNQJi!g651P+sPBF>C!Z&j>FhziZETfK?!Di-Zslb;A4F`kj23IwK zLf>NBsx7z2u7ZT-OG$`U<4rf29|LHZ_p0)R=wCyf&+oHkjsHbmd{8%vpaJF4Iqo#UK^!uth$6R2IWNmQ@ zSwSK6NLr9Atb79k5q(-76ka9n=dBveu-s7cU|E8iLOj8;$k1kKP4~$b8mNek8svNB z2R;H74S6!7Kn_0As^2ALkY~5=mD>n2t%l!xE?M}qornwtPcG(D##cs7N+2kyTKx>q zy^>^^Ke2}*hx&kvF^L0e2qqVpIioj@5Kt@?bN({(-UrF}UZeb3K6%`oSwgb#Gp z4O~#7^WN0$)VYlKDAX@*<693qzh3(Lq zW;$g>?h)&dUo0b$85|mjRl?A#Z&eJIfMl}^xuwYYxDF87WKHHn`Yj)7%dvrLK_26L zsV!PfYWQPMNX*Ya>>OJ5GKVf`&3`7<`Q)%Ni>1tuf0S0HZKj|qK&%xy;)g2-{t)C& zABvt{R7;J~o)2j%L9nnwIpB`KoHLQ#-5XP@R!6&%gf^}gVwJ|ne-p0g4ZkV=!F8J@ z+y=hCb#1ArA@2jkp)zxQcqihqcp@vjJ~RA!rf2=W_lZ`5sf%`}giY*$?T=8grBY7;`Z>bnUU7Cu!k_$fw+( ztQ(l5#05O6ETSVf!ir`Bvx=8d*TtnLm_>QiVA=Z*M$PYnn~X zvFyRVJzDcE+?MSXuOP-h6Oy`chH49&D-!Jeu}tWL^cZPSa+UA4JeY#|&O|x+RQJC` z5sim3AamNh)3{&p$3Ohx5BuKoo4fSQyNRyy-3(u=);yRuis&eIjlNDGl#E;cyk!Ey z4pJSlzom-@?yoa$k&6x;RZ(v)I*Ou_M^)5Mk5E)(XltdMU1iUN);wIGg%Q0>p~xm{ z64!*p2d$Xztjv@16Tj^yQ!M9)(cu}1=Yd^k6|kxKMiO}WoVnki+rfIiCm7Xj-&Q7zN^>=##%_5EJCCxC` zV*e7$c_gCfRq+}{ui!bR2&0PdMxEnSuOix&+Chl>@@PTxU$|$f?FpO83ijDX10}O2 ztPVsgJLD?5v{D}0*r>|xN?%*Knu{!r#g@`~V(~{p-=fvL^qCI{-EQxR#06KQ-L4Dn z$Kp3?kJYzjV_9Lunrz=#sor4oxlMZPB;ukdNgX6Pt+M@f-S)F*mQ8%BnQy8cobA86 zRMoUf)Q*zji0c1moWV(X?#ckD=25%UAV)Y3?*jbB3Y3fm{rOWR_u&;cDS(-N0sFio%h7 zqj+`xl%i!Uq^^OyW_wV~hL75h}jgC#p5>*!`FaCpaK%>v?vD_CP9sfk>d~eU+T3lF<*7KLv_HzDp#~Oix z48OJS18MwcaQ;1n2Wx6>KH2$~X)?^!a(r|Ocz}dbngE<`5sz2TW;JO>8^Js}WOx-E z(et$xt0kKiw3|9YgcS-=8&}KNpei2FBBLj1+6SU^#Qr3}IXszjPRpBOUK4m$paWCd2++7oz$>JvvQfm1Z zNUlxRIOjUXxt`-(OPuQ{=Q`59!ov^YF3usDwsJk(m0zcYyGGXy33rv(<%GL#N;}y0 zD(9%&G)21upAPjq)MXzg6INiZIa0$3ohcj5ST^)ECTfRLi`6PQ-Dh< zk&~cZ5xuMhMm`%$3y%5_LUc=>atPoQ zBc1`ATLy(&^5Tg+Z2aXmJD$kK{#tIcgmv!Dx+N>wk|tR&H;Z%ZrI&8r)wn~hp3UY; z@sTbogL}q9wyX>*%{EH$w270nrs3^q<$2oVQs9Z>8JpfZ5<*Ibyn0yjZ>WK3C?wda~*77 zL4~A3wM{rBaV|-L-}9lh+fL!#PVNxz5X_txJ4Gx}&NeK+?h5{nt~-Ul<#i|W_oh0r z!+5hnaX4RlLdg*yXTKud_(iI;AKP~d@1nWZU8xuK+}Wws*@ST8qZ{mZIvV zChJmeF(6QN-E7yj<#AQlWT&n&`K)#u#Gyh0l}V#U+ZlgvXFP+9>;(z6DaLxTLuqbV zs{JA^#xDTLOlp!2hE5BAT%^VB1NQaUq?cA)1`zK{$c7}o`((doS7MHkQ<`)O6`Fg* zs-fxTeE88W#30vkBkwMg#&DhFTqio$uQ}JRa8=`YhZ@IACGV;BI|zn=p>?eD$ogRA zrtZgBAJ0=on-(xV&f3k>Q&g&I-7c?W$M!*@)k)f5=eE{3*C(CpKe=-JUftmE$HiLn zedKQ58w&6cI^#(mlA_a~72Jtxr<6+uJo`BA$B5*zvwp>P_H1shdTx1hGH-<6=)6b* zV>eG6YBwuj*J%AqGe-CA3k{cuLrwX730BHURMN`X!_i#G!7<_8 z!#Ox63yx9_k0Ly{xlepr!mS=?tv`BO9vsL}tPkr4QJEhVjD~_s^jyip;AUZ8Eup)j z%z@<(eGL$~wBD9~KWcO4He85eKrl+ySV1yTnh0h=K80)`X}Iz#jFUemy#0UiS8zCi8jn%aX(hjR((L36t(+xX|o*FVkveMX~z z!n|cv-)p6m{kxMMS@4e^N$ZZh_=>sOCQFWb`Q+l%GJQ0~t!x;$IGVMXW}(H&uS18V zy5P3aj>)W&I*VL+g(eN0DJ3S=o7Sd(+(Q98wg!Crv;}Ke-TY{k$_dOuq2$(n+=7H2 zrN|uq+<`|3HjvTDCb}BS9PR@W z7O-}+QM*35ibKGb$mm6~&yrg;A+_tBCz)-GZzLZn0d~ou!Kl%at6H;16ZAFHmy3*( zJQSW6x~R|4_e2G^hu`ZC|H(4^@6Sm!7rC4r@xjgqp0=ne1GRWyeb&~6TeEx@XbT=w zQ)v%5G2K*f)-U^QX|CU^Dy;IYo_#897XhzsKC5$blag+vM7-B-$j#^+0xpz=Kd3(ioHn1{a%z4vc=gXU?W^WQ2tDjKi9|~ zPOaj2HCz301&R=`zk(k};#%{WRhE!Yu9-_%$d)l+4xa!2A$ z1-5*EFPW`{r6`G+CSWV>uuaDyI8sqihN&A=&)M9lk~)d0Z0F<@2d{qP7pL|9oDAOr^3JxSTp9sgePWZ!h{qctw*ih1TVMng8D*7$ynxieLosyI) zzQWqeo||3?M@xemw@cIP2GX<{Fqcl}B#cYnp24!JnQtZHRc+hYtFmE1&^luWp)I@; zsxOO#sGI(mNfK?nkdK$LgnWqLCpK!d$bx1CW3`#V*o`=^D+qUq;SuGTGww(sMK_9Zy!;FbAR2$+0>oNjI%rp(2&7HUc<$|ad8nj; zTohJ7R7fb`rrCls+av%Y{2%0y2f?8rp?yzV;$U0*?Px#S_r17vM`sQ<>`k!mCcG1j z=j?*T=1SuIcs3CMR_#_Cbj5UmBJ|U?_#+%p)lUfr>=K@t4O&S7&-4@!EV+hn{lqdn zO%$2^eSOgWdPA!I4esZrlH^uqF(F8qiPB$poG2v4v0;Y)G)%>MuHWe01k=44fe z!lLFEjqr6S5o`?87W@j?G7XxUQFj}*7yGKSX-0C+&9uPZ!%vx-d3iR=lkVNZRx-H` zEA4gK!<#XFShhpnj^#XU6$eO28 zrn#WRf;dMr$tMqc)Po$})Wx0T%8C{lL~;BML=Hx^{#M1PzVc_a>AA#CJl;-hvlGXY z$ZB>fiR$$AzmnXWWp#x-X;)i*UOe>;?^5zvDL{DTqlv6oq!5wH)8w<~d{TW--=a&E)DTIfv%^;> z33H^poFwdSKz}~{xgXDkWOl<+noEk+Lqm7w4@L+hAu|84 zeTw&$NS@ToqjDm-V}O!vCz7~qicetgSvOLgC6Qze7D?6+kz@@G-GvFe$eSyy!rP^N z>#bqx+N*YZAXF0kwmMNFqYi$X^Ms{pcP!Rhn`hZ&v^&>0SE@Jn%+AI4;#YKCRfhqX z^;_pvm$slurT3~awW!&ZrcQ6ULMk;e6zgv!A(wQoyMXR>7ty`$;?OxYsAFsv!X{jv?RF?5XGIj8+l#Q>*x*@C*##CG*ZF?%!0~^6yVWss5l(ipO zq155}=PShdWORD+mNXDb2ZEjh<4>1a|FPujAAhuYUy?q23Y0MhC@c+SP7;(U5|lYs zP-eKG%wSMPYhG!?vGt*XL(WI&fkzi#2gaCY)Xz4fqD#_yc#FSvp+^;b)mf8;z& z>)o}Uf$>SMdMUA=f$0YwhT3}|sLVGVxpjKrdj~)UkY5*y1Fgu4KZpGKbq9o9#ntOi zr-Sh4m0yQ##av(cwe-ife-uJjoNmI_pk`75D)u1Q^VgVrf+jXd11UAm^pAZ&rPhg2To#%I|FvYX}^ZQ3AFI7=u0Jgt(S=S$_ENwY{ zOPe_E&N}s0sZzotms-cE`$fy>9M9#3Z_$I?igk$iG8s|zMvlTuYjRe4H3eAVIJ;{Z zf@dk1-O~Kl!$?~eAatHl`m$T!`nW_ECEL(exo0S;AGSf3d`0Q(QmM1 zOuQ@Sv^cIE_*Ro)inidN*+`Swhm*j8r#x`ng@}OX-Oqh^e;#yYe*tu5e-U(LKQdN{ z94TC)tRv04tD>5&RXxk84oN)<_3@Z1IoNCIZNuD^3*l(zF+C40kZ<`iI>>yV!L2~9 z^}aIc<*-<+dcTMNEo?I&DJpc~uclive=Lg^lCF%yK42hVdqs|Ku1>9xh|D1~$-;9e z!7sssDWF3NFsu<$00w&NWD^SmGhGf*HoR~UUfbY;V(fY$I}~C=O_IU=!Ya- z=a1Ny{xX=eB;x#mEa|)i=P-%fQ&+;FLpNqpWQn-r&!{5)wT!syvv;X`>^(+9MVJAyfG zwC{?vCh;mI4N!ZRJFwGVat42cC1>*YkUJ%6l1SK@c#d4spg+>3SY1g8X5upbN8IP9 z1cJrV=j}J7`rLPLvdneiRe6!&;=1H}wf^_19wdAscbZSz^uKcLY1jOns%f3NfBve7 z9mLi@|6@PN^EXyRAnl!JsxSJy6qxHA=AUl^oPR!#3eeb638)6Ccm}r8b!GDBZ25CM zD2ud>Q_}sB*%|)Gw>jpeCaZHydP?URq>1rm3%^Y_w$xnT{u4^`i1qgB8(U8Dw8gvg zA~i|FgXqSoN&B6sxPsymefnDr4f+qhD5HJQwQ0&sA$PZox zD?7A@Uo=17_ZqiYEUpjKuEcNST-otX57cfA#wOUY}{NE0Ed6-e}7<@iDcoreN(jJ@wd>KE=J62Z#Ex=t`4mPwC1 zc+{!QVW}wK@w+NX|*03L=z7ekS_ci0@6GqJWmE>kklBYMqB?>8ty94<`uza zk}mOy7L!LdMKi4zoW59${ury>c@hLi3a8jnGQm%JW?pEbyn%m~c85bXZOVxc~snp&1 zbve}={n}m@#E&>5?Vr?y?1H5%{8w4Z_6Q(Vu)skRV>yeiP~WzwZ$<UBo1xL%RHw*7Sfg zlnbs-HzGO_`70KqYPuUgZXl1=^a_9N`}&)mw1w@Y>1D5R4AB64qTamnnN;F5?6A#{ zr&9)ImQ*G2ZtVU^^o@@?uPu8yxk}#GU6JBf5AR<(@7=rFzswl8+Mas;q{|Uds}bhQ zc%q+2g~NcOycK@~(FBwxWcOOO8|w*sige%ZfcdXEI9)L6bL3sSct1Ha3 z9Pd@Sx%ac^>-SuBg!ZTTODL5S8Ypc6;6#gU-c#r-K#Gthed_J zW8CfMxJ%Gi+?K4Vg-FlFgILb=Zz^=To0vvOMQyxr<%ge_-+RbD`N*QyUVNlm{(o8@Fz%D;6Mj#q zAokjd=_ATGA)V6TH(e^(<1b^2rhCV8+H<8$gnHwmjh#(xG1KEYWq)EkCpGXXuF@Ty zlzcT-xab>95{A{XUjhtLAyBbSe0mzA>-Z1%79QfxAjHLPRc~Q_nKa%J=8F$^EB5`T zsXEqMFDL~bC6~3c`~7j82vACj*wd`k-2nWrvI@8SoE&4m_*4VUQ$q~>(3}6QHQh-9 zL2{KT$MKv4^+(}q>Pj4CgVwZ2y;mo@V!1Td9$|IZE=#d`az(FwR0qB1XUY`=&rc-( zOZXgbK18rB@RGHNnZyYahF{e0<&IiF6a=EBxq{HjIVb$LLX#WrQ7h6`dkFMLrFTK% zWyLOT!XMZV(&e%%%r1yz!CmQ_yCsH7$a2k4!KW&YtPl@d+s#E;pGGJn5dCIeAbR6A zER6!uTRVs}5;VKflf`P61)_Jj{^16aX{~7#hDXe7z zYena+x+|UdPEBofQ4Mx9f!I}}5cN20`?NnO&hjKZI!~mOl%_~Xvdt->Rn%g}eSxTQ zL%c8+EFTq!DygAUF_me{XC~bWv&3tsZ;NE9b2EHmi&p;rKhdJ;X)PkyjcQTkN{)X~ z{d4jAh>e=dFuCUrpL?{8dU_e7IM6T|X^kS_mEEYC%+K1W`yM>XkvjTDA<{+&5&%s6 zL(x&U*A*oT&r;RYo#ld(*0g}tiRKHW5FKr->W3zHsx{xts|GQlyNVlGo<_44H-C+# zOW(VuKv>BPEb>^FTRda!ogA{k5Ysi2ND5spLYX+hTdN^Mjg*Y0Pb6fm29sBtSOXCxYANWu#P@ zZz;Z^g!^kbk4W_@ZE8k;5)h}u%fa9NC#L4QGe497be@$(yU*J*P>MUH8QG`aI<{}>$m&8Z;AoiqH9>95{)p_x*YHTn-}69 z`g{0%m4BM~s`<@-V!mdj%@?OLr{?SJUrXuf^Hol(2f(0{q;oPfh>bV#TjSdxqh6|p zN1NPbagwn;LZisZCiewoigVw?>hh%U{wgiEH zv5U(tCMV;%r-QS71p5W6wFPIZPi*x@=S0@s#!H50bP{tsXNuf-xj9pAPUU9r#oV00 z&2w@iu9d%*n_O2~#n(u*q!yu+Nn}U;`acw%l@UTrG>QE9^XsNA1xk5)K2e zRF-Q_B&`vLR7ZLE_!WGg#y`$mCdE4Ii_L$jq&~*Wf1k?8*v89p$~62JK)>)Z87_&8 z(WLH(YM`j^G0DO|{!+otn6bZ5TEycW!GQ2bs(3|r)t>x%yXPzCOV1N5+!;b{3zqIX z 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

L&b?pHfb;zeS5anB!&6oLV`NpEF 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%0DHwb@?%7EVAaMZA2tYSnXHfUChTBVk7nn< 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 TQ?ANANLjQbS! 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 H`jc-q@TKNw~m8{zyq2wl_|d#8K7{u9et>&VV~p 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 z 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%0A*;kGybo`P>G(7Zz?pSdvM%TAMAuw6UhPcJ?P; zo$GgS|Iz*F{X_eQ_ZQ!H6&YhwdM~zvV#3f!KlG z2lqUfdho!5{SQ|5Rrh)O>iZh|Hukmjb@avhy8C+icJ%f3?dePP9q8-tJKPsL*nP0) z;Esd62lpII9XxQb|KQ<+0|$>B96YGf)|{eJsROD0)Zx@X>PTuZbu^Vu4W))tr&4Nf z@m}}d-o1PF9@yKzS0*5Smj+a-IOR@Nq&z8asw35#+CxdZMCIPQ-ubNPKMLZ3{{!v-MG61_ diff --git a/bindings/dotnet/extlibs/x64/libsndfile-1.dll b/bindings/dotnet/extlibs/x64/libsndfile-1.dll deleted file mode 100644 index c56c8e56f71645974ed691b5b0d47acb4e4dffa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2311680 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%0AA$P!Xlu^e-;4g$_RRt+i~g1N8`3;@ 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%0DVq-sOunlB^e??-?sFnR@kc&#-< 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≺9Wiv@#qpl#qL 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≪P+Tw+*$qa@!i>|Uj$m6(YG+< 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�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

- //////////////////////////////////////////////////////////// - public class Listener - { - //////////////////////////////////////////////////////////// - /// - /// Global volume of all sounds, in range [0 .. 100] (default is 100) - /// - //////////////////////////////////////////////////////////// - public static float GlobalVolume - { - get {return sfListener_GetGlobalVolume();} - set {sfListener_SetGlobalVolume(value);} - } - - //////////////////////////////////////////////////////////// - /// - /// 3D position of the listener (default is (0, 0, 0)) - /// - //////////////////////////////////////////////////////////// - public static Vector3f Position - { - get {Vector3f v; sfListener_GetPosition(out v.X, out v.Y, out v.Z); return v;} - set {sfListener_SetPosition(value.X, value.Y, value.Z);} - } - - //////////////////////////////////////////////////////////// - /// - /// 3D direction of the listener (default is (0, 0, -1)) - /// - //////////////////////////////////////////////////////////// - public static Vector3f Direction - { - get {Vector3f v; sfListener_GetDirection(out v.X, out v.Y, out v.Z); return v;} - set {sfListener_SetDirection(value.X, value.Y, value.Z);} - } - - #region Imports - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfListener_SetGlobalVolume(float Volume); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfListener_GetGlobalVolume(); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfListener_SetPosition(float X, float Y, float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfListener_GetPosition(out float X, out float Y, out float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfListener_SetDirection(float X, float Y, float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfListener_GetDirection(out float X, out float Y, out float Z); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Audio/Music.cs b/bindings/dotnet/src/Audio/Music.cs deleted file mode 100644 index 6aac0ef4..00000000 --- a/bindings/dotnet/src/Audio/Music.cs +++ /dev/null @@ -1,333 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using System.IO; - -namespace SFML -{ - namespace Audio - { - //////////////////////////////////////////////////////////// - /// - /// Music defines a big sound played using streaming, - /// so usually what we call a music :) - /// - //////////////////////////////////////////////////////////// - public class Music : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Construct the music from a file - /// - /// Path of the music file to load - //////////////////////////////////////////////////////////// - public Music(string filename) : - base(sfMusic_CreateFromFile(filename)) - { - if (This == IntPtr.Zero) - throw new LoadingFailedException("music", filename); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the music from a file in a stream - /// - /// Stream containing the file contents - //////////////////////////////////////////////////////////// - public Music(Stream stream) : - base(IntPtr.Zero) - { - stream.Position = 0; - byte[] StreamData = new byte[stream.Length]; - uint Read = (uint)stream.Read(StreamData, 0, StreamData.Length); - unsafe - { - fixed (byte* dataPtr = StreamData) - { - SetThis(sfMusic_CreateFromMemory((char*)dataPtr, Read)); - } - } - if (This == IntPtr.Zero) - throw new LoadingFailedException("music"); - } - - //////////////////////////////////////////////////////////// - /// - /// Play the music - /// - //////////////////////////////////////////////////////////// - public void Play() - { - sfMusic_Play(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Pause the music - /// - //////////////////////////////////////////////////////////// - public void Pause() - { - sfMusic_Pause(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Stop the music - /// - //////////////////////////////////////////////////////////// - public void Stop() - { - sfMusic_Stop(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Samples rate, in samples per second - /// - //////////////////////////////////////////////////////////// - public uint SampleRate - { - get {return sfMusic_GetSampleRate(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Number of channels (1 = mono, 2 = stereo) - /// - //////////////////////////////////////////////////////////// - public uint ChannelsCount - { - get {return sfMusic_GetChannelsCount(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Current status of the music (see SoundStatus enum) - /// - //////////////////////////////////////////////////////////// - public SoundStatus Status - { - get {return sfMusic_GetStatus(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Total duration of the music, in milliseconds - /// - //////////////////////////////////////////////////////////// - public uint Duration - { - get {return sfMusic_GetDuration(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Loop state of the sound. Default value is false - /// - //////////////////////////////////////////////////////////// - public bool Loop - { - get {return sfMusic_GetLoop(This);} - set {sfMusic_SetLoop(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Pitch of the music. Default value is 1 - /// - //////////////////////////////////////////////////////////// - public float Pitch - { - get {return sfMusic_GetPitch(This);} - set {sfMusic_SetPitch(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Volume of the music, in range [0, 100]. Default value is 100 - /// - //////////////////////////////////////////////////////////// - public float Volume - { - get {return sfMusic_GetVolume(This);} - set {sfMusic_SetVolume(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// 3D position of the music. Default value is (0, 0, 0) - /// - //////////////////////////////////////////////////////////// - public Vector3f Position - { - get {Vector3f v; sfMusic_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} - set {sfMusic_SetPosition(This, value.X, value.Y, value.Z);} - } - - //////////////////////////////////////////////////////////// - /// - /// Is the music's position relative to the listener's position, - /// or is it absolute? - /// Default value is false (absolute) - /// - //////////////////////////////////////////////////////////// - public bool RelativeToListener - { - get {return sfMusic_IsRelativeToListener(This);} - set {sfMusic_SetRelativeToListener(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Minimum distance of the music. Closer than this distance, - /// the listener will hear the sound at its maximum volume. - /// The default value is 1 - /// - //////////////////////////////////////////////////////////// - public float MinDistance - { - get {return sfMusic_GetMinDistance(This);} - set {sfMusic_SetMinDistance(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Attenuation factor. The higher the attenuation, the - /// more the sound will be attenuated with distance from listener. - /// The default value is 1 - /// - //////////////////////////////////////////////////////////// - public float Attenuation - { - get {return sfMusic_GetAttenuation(This);} - set {sfMusic_SetAttenuation(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Current playing position, in milliseconds - /// - //////////////////////////////////////////////////////////// - public uint PlayingOffset - { - get {return sfMusic_GetPlayingOffset(This);} - set {sfMusic_SetPlayingOffset(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Music]" + - " SampleRate(" + SampleRate + ")" + - " ChannelsCount(" + ChannelsCount + ")" + - " Status(" + Status + ")" + - " Duration(" + Duration + ")" + - " Loop(" + Loop + ")" + - " Pitch(" + Pitch + ")" + - " Volume(" + Volume + ")" + - " Position(" + Position + ")" + - " RelativeToListener(" + RelativeToListener + ")" + - " MinDistance(" + MinDistance + ")" + - " Attenuation(" + Attenuation + ")" + - " PlayingOffset(" + PlayingOffset + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfMusic_Destroy(This); - } - - #region Imports - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfMusic_CreateFromFile(string Filename); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern IntPtr sfMusic_CreateFromMemory(char* Data, uint SizeInBytes); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_Destroy(IntPtr MusicStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_Play(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_Pause(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_Stop(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern SoundStatus sfMusic_GetStatus(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfMusic_GetDuration(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfMusic_GetChannelsCount(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfMusic_GetSampleRate(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_SetPitch(IntPtr Music, float Pitch); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_SetLoop(IntPtr Music, bool Loop); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_SetVolume(IntPtr Music, float Volume); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_SetPosition(IntPtr Music, float X, float Y, float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_SetRelativeToListener(IntPtr Music, bool Relative); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_SetMinDistance(IntPtr Music, float MinDistance); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_SetAttenuation(IntPtr Music, float Attenuation); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_SetPlayingOffset(IntPtr Music, uint TimeOffset); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfMusic_GetLoop(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfMusic_GetPitch(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfMusic_GetVolume(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMusic_GetPosition(IntPtr Music, out float X, out float Y, out float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfMusic_IsRelativeToListener(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfMusic_GetMinDistance(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfMusic_GetAttenuation(IntPtr Music); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfMusic_GetPlayingOffset(IntPtr Music); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Audio/Sound.cs b/bindings/dotnet/src/Audio/Sound.cs deleted file mode 100644 index 69b39077..00000000 --- a/bindings/dotnet/src/Audio/Sound.cs +++ /dev/null @@ -1,325 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace SFML -{ - namespace Audio - { - //////////////////////////////////////////////////////////// - /// - /// Enumeration of all possible sound states - /// - //////////////////////////////////////////////////////////// - public enum SoundStatus - { - /// Sound is not playing - Stopped, - - /// Sound is paused - Paused, - - /// Sound is playing - Playing - } - - //////////////////////////////////////////////////////////// - /// - /// Sound defines the properties of a sound such as position, - /// volume, pitch, etc. - /// - //////////////////////////////////////////////////////////// - public class Sound : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Default constructor (invalid sound) - /// - //////////////////////////////////////////////////////////// - public Sound() : - base(sfSound_Create()) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the sound from a source buffer - /// - /// Sound buffer to play - //////////////////////////////////////////////////////////// - public Sound(SoundBuffer buffer) : - base(sfSound_Create()) - { - SoundBuffer = buffer; - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the sound from another source - /// - /// Sound to copy - //////////////////////////////////////////////////////////// - public Sound(Sound copy) : - base(sfSound_Copy(copy.This)) - { - SoundBuffer = copy.SoundBuffer; - } - - //////////////////////////////////////////////////////////// - /// - /// Play the sound - /// - //////////////////////////////////////////////////////////// - public void Play() - { - sfSound_Play(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Pause the sound - /// - //////////////////////////////////////////////////////////// - public void Pause() - { - sfSound_Pause(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Stop the sound - /// - //////////////////////////////////////////////////////////// - public void Stop() - { - sfSound_Stop(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Buffer containing the sound data to play through the sound - /// - //////////////////////////////////////////////////////////// - public SoundBuffer SoundBuffer - { - get {return myBuffer;} - set {myBuffer = value; sfSound_SetBuffer(This, value != null ? value.This : IntPtr.Zero);} - } - - //////////////////////////////////////////////////////////// - /// - /// Current status of the sound (see SoundStatus enum) - /// - //////////////////////////////////////////////////////////// - public SoundStatus Status - { - get {return sfSound_GetStatus(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Loop state of the sound. Default value is false - /// - //////////////////////////////////////////////////////////// - public bool Loop - { - get {return sfSound_GetLoop(This);} - set {sfSound_SetLoop(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Pitch of the sound. Default value is 1 - /// - //////////////////////////////////////////////////////////// - public float Pitch - { - get {return sfSound_GetPitch(This);} - set {sfSound_SetPitch(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Volume of the sound, in range [0, 100]. Default value is 100 - /// - //////////////////////////////////////////////////////////// - public float Volume - { - get {return sfSound_GetVolume(This);} - set {sfSound_SetVolume(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Current playing position of the sound, in milliseconds - /// - //////////////////////////////////////////////////////////// - public uint PlayingOffset - { - get {return sfSound_GetPlayingOffset(This);} - set {sfSound_SetPlayingOffset(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// 3D position of the sound. Default value is (0, 0, 0) - /// - //////////////////////////////////////////////////////////// - public Vector3f Position - { - get {Vector3f v; sfSound_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} - set {sfSound_SetPosition(This, value.X, value.Y, value.Z);} - } - - //////////////////////////////////////////////////////////// - /// - /// Is the sound's position relative to the listener's position, - /// or is it absolute? - /// Default value is false (absolute) - /// - //////////////////////////////////////////////////////////// - public bool RelativeToListener - { - get {return sfSound_IsRelativeToListener(This);} - set {sfSound_SetRelativeToListener(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Minimum distance of the sound. Closer than this distance, - /// the listener will hear the sound at its maximum volume. - /// The default value is 1 - /// - //////////////////////////////////////////////////////////// - public float MinDistance - { - get {return sfSound_GetMinDistance(This);} - set {sfSound_SetMinDistance(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Attenuation factor. The higher the attenuation, the - /// more the sound will be attenuated with distance from listener. - /// The default value is 1 - /// - //////////////////////////////////////////////////////////// - public float Attenuation - { - get {return sfSound_GetAttenuation(This);} - set {sfSound_SetAttenuation(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Sound]" + - " Status(" + Status + ")" + - " Loop(" + Loop + ")" + - " Pitch(" + Pitch + ")" + - " Volume(" + Volume + ")" + - " Position(" + Position + ")" + - " RelativeToListener(" + RelativeToListener + ")" + - " MinDistance(" + MinDistance + ")" + - " Attenuation(" + Attenuation + ")" + - " PlayingOffset(" + PlayingOffset + ")" + - " SoundBuffer(" + SoundBuffer + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfSound_Destroy(This); - } - - private SoundBuffer myBuffer; - - #region Imports - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSound_Create(); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSound_Copy(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_Destroy(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_Play(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_Pause(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_Stop(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetBuffer(IntPtr Sound, IntPtr Buffer); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSound_GetBuffer(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetLoop(IntPtr Sound, bool Loop); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfSound_GetLoop(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern SoundStatus sfSound_GetStatus(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetPitch(IntPtr Sound, float Pitch); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetVolume(IntPtr Sound, float Volume); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetPosition(IntPtr Sound, float X, float Y, float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetRelativeToListener(IntPtr Sound, bool Relative); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetMinDistance(IntPtr Sound, float MinDistance); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetAttenuation(IntPtr Sound, float Attenuation); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_SetPlayingOffset(IntPtr Sound, uint TimeOffset); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSound_GetPitch(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSound_GetVolume(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSound_GetPosition(IntPtr Sound, out float X, out float Y, out float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfSound_IsRelativeToListener(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSound_GetMinDistance(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSound_GetAttenuation(IntPtr Sound); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSound_GetPlayingOffset(IntPtr Sound); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Audio/SoundBuffer.cs b/bindings/dotnet/src/Audio/SoundBuffer.cs deleted file mode 100644 index acf4f6c6..00000000 --- a/bindings/dotnet/src/Audio/SoundBuffer.cs +++ /dev/null @@ -1,209 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using System.IO; - -namespace SFML -{ - namespace Audio - { - //////////////////////////////////////////////////////////// - /// - /// SoundBuffer is the low-level class for loading and manipulating - /// sound buffers. A sound buffer holds audio data (samples) - /// which can then be played by a Sound or saved to a file. - /// - //////////////////////////////////////////////////////////// - public class SoundBuffer : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Construct the sound buffer from a file - /// - /// Path of the sound file to load - /// - //////////////////////////////////////////////////////////// - public SoundBuffer(string filename) : - base(sfSoundBuffer_CreateFromFile(filename)) - { - if (This == IntPtr.Zero) - throw new LoadingFailedException("sound buffer", filename); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the sound buffer from a file in a stream - /// - /// Stream containing the file contents - //////////////////////////////////////////////////////////// - public SoundBuffer(Stream stream) : - base(IntPtr.Zero) - { - stream.Position = 0; - byte[] StreamData = new byte[stream.Length]; - uint Read = (uint)stream.Read(StreamData, 0, StreamData.Length); - unsafe - { - fixed (byte* dataPtr = StreamData) - { - SetThis(sfSoundBuffer_CreateFromMemory((char*)dataPtr, Read)); - } - } - if (This == IntPtr.Zero) - throw new LoadingFailedException("sound buffer"); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the sound buffer from an array of samples - /// - /// Array of samples - /// Channels count - /// Sample rate - /// - //////////////////////////////////////////////////////////// - public SoundBuffer(short[] samples, uint channelsCount, uint sampleRate) : - base(IntPtr.Zero) - { - unsafe - { - fixed (short* SamplesPtr = samples) - { - SetThis(sfSoundBuffer_CreateFromSamples(SamplesPtr, (uint)samples.Length, channelsCount, sampleRate)); - } - } - - if (This == IntPtr.Zero) - throw new LoadingFailedException("sound buffer"); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the sound buffer from another sound buffer - /// - /// Sound buffer to copy - //////////////////////////////////////////////////////////// - public SoundBuffer(SoundBuffer copy) : - base(sfSoundBuffer_Copy(copy.This)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Save the sound buffer to an audio file - /// - /// Path of the sound file to write - /// True if saving has been successful - //////////////////////////////////////////////////////////// - public bool SaveToFile(string filename) - { - return sfSoundBuffer_SaveToFile(This, filename); - } - - //////////////////////////////////////////////////////////// - /// - /// Samples rate, in samples per second - /// - //////////////////////////////////////////////////////////// - public uint SampleRate - { - get {return sfSoundBuffer_GetSampleRate(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Number of channels (1 = mono, 2 = stereo) - /// - //////////////////////////////////////////////////////////// - public uint ChannelsCount - { - get {return sfSoundBuffer_GetChannelsCount(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Total duration of the buffer, in milliseconds - /// - //////////////////////////////////////////////////////////// - public uint Duration - { - get {return sfSoundBuffer_GetDuration(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Array of samples contained in the buffer - /// - //////////////////////////////////////////////////////////// - public short[] Samples - { - get - { - short[] SamplesArray = new short[sfSoundBuffer_GetSamplesCount(This)]; - Marshal.Copy(sfSoundBuffer_GetSamples(This), SamplesArray, 0, SamplesArray.Length); - return SamplesArray; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[SoundBuffer]" + - " SampleRate(" + SampleRate + ")" + - " ChannelsCount(" + ChannelsCount + ")" + - " Duration(" + Duration + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfSoundBuffer_Destroy(This); - } - - #region Imports - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSoundBuffer_CreateFromFile(string Filename); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern IntPtr sfSoundBuffer_CreateFromMemory(char* Data, uint SizeInBytes); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern IntPtr sfSoundBuffer_CreateFromSamples(short* Samples, uint SamplesCount, uint ChannelsCount, uint SampleRate); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSoundBuffer_Copy(IntPtr SoundBuffer); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundBuffer_Destroy(IntPtr SoundBuffer); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfSoundBuffer_SaveToFile(IntPtr SoundBuffer, string Filename); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSoundBuffer_GetSamples(IntPtr SoundBuffer); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSoundBuffer_GetSamplesCount(IntPtr SoundBuffer); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSoundBuffer_GetSampleRate(IntPtr SoundBuffer); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSoundBuffer_GetChannelsCount(IntPtr SoundBuffer); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSoundBuffer_GetDuration(IntPtr SoundBuffer); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Audio/SoundBufferRecorder.cs b/bindings/dotnet/src/Audio/SoundBufferRecorder.cs deleted file mode 100644 index 1228d40f..00000000 --- a/bindings/dotnet/src/Audio/SoundBufferRecorder.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using System.Collections.Generic; - -namespace SFML -{ - namespace Audio - { - //////////////////////////////////////////////////////////// - /// - /// Specialized SoundRecorder which saves the captured - /// audio data into a sound buffer - /// - //////////////////////////////////////////////////////////// - public class SoundBufferRecorder : SoundRecorder - { - //////////////////////////////////////////////////////////// - /// - /// Sound buffer containing the recorded data (invalid until the capture stops) - /// - //////////////////////////////////////////////////////////// - public SoundBuffer SoundBuffer - { - get - { - return mySoundBuffer; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[SoundBufferRecorder]" + - " SampleRate(" + SampleRate + ")" + - " SoundBuffer(" + SoundBuffer + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Called when a new capture starts - /// - /// False to abort recording audio data, true to continue - //////////////////////////////////////////////////////////// - protected override bool OnStart() - { - mySamplesArray.Clear(); - return true; - } - - //////////////////////////////////////////////////////////// - /// - /// Process a new chunk of recorded samples - /// - /// Array of samples to process - /// False to stop recording audio data, true to continue - //////////////////////////////////////////////////////////// - protected override bool OnProcessSamples(short[] samples) - { - mySamplesArray.AddRange(samples); - return true; - } - - //////////////////////////////////////////////////////////// - /// - /// Called when the current capture stops - /// - //////////////////////////////////////////////////////////// - protected override void OnStop() - { - mySoundBuffer = new SoundBuffer(mySamplesArray.ToArray(), 1, SampleRate); - } - - List mySamplesArray = new List(); - SoundBuffer mySoundBuffer = null; - } - } -} diff --git a/bindings/dotnet/src/Audio/SoundRecorder.cs b/bindings/dotnet/src/Audio/SoundRecorder.cs deleted file mode 100644 index e24c0384..00000000 --- a/bindings/dotnet/src/Audio/SoundRecorder.cs +++ /dev/null @@ -1,192 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace SFML -{ - namespace Audio - { - //////////////////////////////////////////////////////////// - /// - /// SoundRecorder is an interface for capturing sound data, - /// it is meant to be used as a base class - /// - //////////////////////////////////////////////////////////// - public abstract class SoundRecorder : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Default constructor - /// - //////////////////////////////////////////////////////////// - public SoundRecorder() : - base(IntPtr.Zero) - { - myStartCallback = new StartCallback(OnStart); - myProcessCallback = new ProcessCallback(ProcessSamples); - myStopCallback = new StopCallback(OnStop); - - SetThis(sfSoundRecorder_Create(myStartCallback, myProcessCallback, myStopCallback, IntPtr.Zero)); - } - - //////////////////////////////////////////////////////////// - /// - /// Start the capture using default sample rate (44100 Hz) - /// Warning : only one capture can happen at the same time - /// - //////////////////////////////////////////////////////////// - public void Start() - { - Start(44100); - } - - //////////////////////////////////////////////////////////// - /// - /// Start the capture. - /// Warning : only one capture can happen at the same time - /// - /// Sound frequency; the more samples, the higher the quality (44100 by default = CD quality) - //////////////////////////////////////////////////////////// - public void Start(uint sampleRate) - { - sfSoundRecorder_Start(This, sampleRate); - } - - //////////////////////////////////////////////////////////// - /// - /// Stop the capture - /// - //////////////////////////////////////////////////////////// - public void Stop() - { - sfSoundRecorder_Stop(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Sample rate of the recorder, in samples per second - /// - //////////////////////////////////////////////////////////// - public uint SampleRate - { - get {return sfSoundRecorder_GetSampleRate(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Tell if the system supports sound capture. - /// If not, this class won't be usable - /// - //////////////////////////////////////////////////////////// - public static bool IsAvailable - { - get {return sfSoundRecorder_IsAvailable();} - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[SoundRecorder]" + - " SampleRate(" + SampleRate + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Called when a new capture starts - /// - /// False to abort recording audio data, true to continue - //////////////////////////////////////////////////////////// - protected virtual bool OnStart() - { - // Does nothing by default - return true; - } - - //////////////////////////////////////////////////////////// - /// - /// Process a new chunk of recorded samples - /// - /// Array of samples to process - /// False to stop recording audio data, true to continue - //////////////////////////////////////////////////////////// - protected abstract bool OnProcessSamples(short[] samples); - - //////////////////////////////////////////////////////////// - /// - /// Called when the current capture stops - /// - //////////////////////////////////////////////////////////// - protected virtual void OnStop() - { - // Does nothing by default - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfSoundRecorder_Destroy(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Function called directly by the C library ; convert - /// arguments and forward them to the internal virtual function - /// - /// Pointer to the array of samples - /// Number of samples in the array - /// User data -- unused - /// False to stop recording audio data, true to continue - //////////////////////////////////////////////////////////// - private bool ProcessSamples(IntPtr samples, uint nbSamples, IntPtr userData) - { - short[] samplesArray = new short[nbSamples]; - Marshal.Copy(samples, samplesArray, 0, samplesArray.Length); - - return OnProcessSamples(samplesArray); - } - - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - private delegate bool StartCallback(); - - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - private delegate bool ProcessCallback(IntPtr samples, uint nbSamples, IntPtr userData); - - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - private delegate void StopCallback(); - - private StartCallback myStartCallback; - private ProcessCallback myProcessCallback; - private StopCallback myStopCallback; - - #region Imports - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSoundRecorder_Create(StartCallback OnStart, ProcessCallback OnProcess, StopCallback OnStop, IntPtr UserData); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundRecorder_Destroy(IntPtr SoundRecorder); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundRecorder_Start(IntPtr SoundRecorder, uint SampleRate); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundRecorder_Stop(IntPtr SoundRecorder); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSoundRecorder_GetSampleRate(IntPtr SoundRecorder); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfSoundRecorder_IsAvailable(); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Audio/SoundStream.cs b/bindings/dotnet/src/Audio/SoundStream.cs deleted file mode 100644 index c44c13b8..00000000 --- a/bindings/dotnet/src/Audio/SoundStream.cs +++ /dev/null @@ -1,386 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace SFML -{ - namespace Audio - { - //////////////////////////////////////////////////////////// - /// - /// SoundStream is a streamed sound, ie. samples are acquired - /// while the sound is playing. Use it for big sounds that would - /// require hundreds of MB in memory (see Music), - /// or for streaming sound from the network - /// - //////////////////////////////////////////////////////////// - public abstract class SoundStream : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Default constructor - /// - //////////////////////////////////////////////////////////// - public SoundStream() : - base(IntPtr.Zero) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Play the sound stream - /// - //////////////////////////////////////////////////////////// - public void Play() - { - sfSoundStream_Play(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Pause the sound stream - /// - //////////////////////////////////////////////////////////// - public void Pause() - { - sfSoundStream_Pause(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Stop the sound stream - /// - //////////////////////////////////////////////////////////// - public void Stop() - { - sfSoundStream_Stop(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Samples rate, in samples per second - /// - //////////////////////////////////////////////////////////// - public uint SampleRate - { - get {return sfSoundStream_GetSampleRate(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Number of channels (1 = mono, 2 = stereo) - /// - //////////////////////////////////////////////////////////// - public uint ChannelsCount - { - get {return sfSoundStream_GetChannelsCount(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Current status of the sound stream (see SoundStatus enum) - /// - //////////////////////////////////////////////////////////// - public SoundStatus Status - { - get {return sfSoundStream_GetStatus(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Loop state of the sound stream. Default value is false - /// - //////////////////////////////////////////////////////////// - public bool Loop - { - get {return sfSoundStream_GetLoop(This);} - set {sfSoundStream_SetLoop(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Pitch of the sound stream. Default value is 1 - /// - //////////////////////////////////////////////////////////// - public float Pitch - { - get {return sfSoundStream_GetPitch(This);} - set {sfSoundStream_SetPitch(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Volume of the sound stream, in range [0, 100]. Default value is 100 - /// - //////////////////////////////////////////////////////////// - public float Volume - { - get {return sfSoundStream_GetVolume(This);} - set {sfSoundStream_SetVolume(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// 3D position of the sound stream. Default value is (0, 0, 0) - /// - //////////////////////////////////////////////////////////// - public Vector3f Position - { - get {Vector3f v; sfSoundStream_GetPosition(This, out v.X, out v.Y, out v.Z); return v;} - set {sfSoundStream_SetPosition(This, value.X, value.Y, value.Z);} - } - - //////////////////////////////////////////////////////////// - /// - /// Is the sound stream's position relative to the listener's position, - /// or is it absolute? - /// Default value is false (absolute) - /// - //////////////////////////////////////////////////////////// - public bool RelativeToListener - { - get {return sfSoundStream_IsRelativeToListener(This);} - set {sfSoundStream_SetRelativeToListener(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Minimum distance of the sound stream. Closer than this distance, - /// the listener will hear the sound at its maximum volume. - /// The default value is 1 - /// - //////////////////////////////////////////////////////////// - public float MinDistance - { - get {return sfSoundStream_GetMinDistance(This);} - set {sfSoundStream_SetMinDistance(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Attenuation factor. The higher the attenuation, the - /// more the sound will be attenuated with distance from listener. - /// The default value is 1 - /// - //////////////////////////////////////////////////////////// - public float Attenuation - { - get {return sfSoundStream_GetAttenuation(This);} - set {sfSoundStream_SetAttenuation(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Current playing position, in milliseconds - /// - //////////////////////////////////////////////////////////// - public uint PlayingOffset - { - get {return sfSoundStream_GetPlayingOffset(This);} - set {sfSoundStream_SetPlayingOffset(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[SoundStream]" + - " SampleRate(" + SampleRate + ")" + - " ChannelsCount(" + ChannelsCount + ")" + - " Status(" + Status + ")" + - " Loop(" + Loop + ")" + - " Pitch(" + Pitch + ")" + - " Volume(" + Volume + ")" + - " Position(" + Position + ")" + - " RelativeToListener(" + RelativeToListener + ")" + - " MinDistance(" + MinDistance + ")" + - " Attenuation(" + Attenuation + ")" + - " PlayingOffset(" + PlayingOffset + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Set the audio stream parameters, you must call it before Play() - /// - /// Number of channels - /// Sample rate, in samples per second - //////////////////////////////////////////////////////////// - protected void Initialize(uint channelsCount, uint sampleRate) - { - myGetDataCallback = new GetDataCallbackType(GetData); - mySeekCallback = new SeekCallbackType(Seek); - SetThis(sfSoundStream_Create(myGetDataCallback, mySeekCallback, channelsCount, sampleRate, IntPtr.Zero)); - } - - //////////////////////////////////////////////////////////// - /// - /// Virtual function called each time new audio data is needed to feed the stream - /// - /// Array of samples to fill for the stream - /// True to continue playback, false to stop - //////////////////////////////////////////////////////////// - protected abstract bool OnGetData(out short[] samples); - - //////////////////////////////////////////////////////////// - /// - /// Virtual function called to seek into the stream - /// - /// New position, in milliseconds - //////////////////////////////////////////////////////////// - protected abstract void OnSeek(uint timeOffset); - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfSoundStream_Destroy(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Structure mapping the C library arguments passed to the data callback - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - private struct Chunk - { - unsafe public short* samplesPtr; - public uint samplesCount; - } - - //////////////////////////////////////////////////////////// - /// - /// Called each time new audio data is needed to feed the stream - /// - /// Data chunk to fill with new audio samples - /// User data -- unused - /// True to continue playback, false to stop - //////////////////////////////////////////////////////////// - private bool GetData(ref Chunk dataChunk, IntPtr userData) - { - if (OnGetData(out myTempBuffer)) - { - unsafe - { - fixed (short* samplesPtr = myTempBuffer) - { - dataChunk.samplesPtr = samplesPtr; - dataChunk.samplesCount = (uint)myTempBuffer.Length; - } - } - - return true; - } - else - { - return false; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Called to seek in the stream - /// - /// New position, in milliseconds - /// User data -- unused - /// If false is returned, the playback is aborted - //////////////////////////////////////////////////////////// - private void Seek(uint timeOffset, IntPtr userData) - { - OnSeek(timeOffset); - } - - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - private delegate bool GetDataCallbackType(ref Chunk dataChunk, IntPtr UserData); - - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - private delegate void SeekCallbackType(uint timeOffset, IntPtr UserData); - - private GetDataCallbackType myGetDataCallback; - private SeekCallbackType mySeekCallback; - private short[] myTempBuffer; - - #region Imports - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSoundStream_Create(GetDataCallbackType OnGetData, SeekCallbackType OnSeek, uint ChannelsCount, uint SampleRate, IntPtr UserData); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_Destroy(IntPtr SoundStreamStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_Play(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_Pause(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_Stop(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern SoundStatus sfSoundStream_GetStatus(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSoundStream_GetChannelsCount(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSoundStream_GetSampleRate(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_SetLoop(IntPtr SoundStream, bool Loop); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_SetPitch(IntPtr SoundStream, float Pitch); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_SetVolume(IntPtr SoundStream, float Volume); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_SetPosition(IntPtr SoundStream, float X, float Y, float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_SetRelativeToListener(IntPtr SoundStream, bool Relative); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_SetMinDistance(IntPtr SoundStream, float MinDistance); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_SetAttenuation(IntPtr SoundStream, float Attenuation); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_SetPlayingOffset(IntPtr SoundStream, uint TimeOffset); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfSoundStream_GetLoop(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSoundStream_GetPitch(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSoundStream_GetVolume(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSoundStream_GetPosition(IntPtr SoundStream, out float X, out float Y, out float Z); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfSoundStream_IsRelativeToListener(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSoundStream_GetMinDistance(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSoundStream_GetAttenuation(IntPtr SoundStream); - - [DllImport("csfml-audio-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfSoundStream_GetPlayingOffset(IntPtr SoundStream); - #endregion - } - } -} \ No newline at end of file diff --git a/bindings/dotnet/src/Audio/Vector3.cs b/bindings/dotnet/src/Audio/Vector3.cs deleted file mode 100644 index 611e1968..00000000 --- a/bindings/dotnet/src/Audio/Vector3.cs +++ /dev/null @@ -1,133 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace SFML -{ - namespace Audio - { - //////////////////////////////////////////////////////////// - /// - /// Vector3f is an utility class for manipulating 3 dimensional - /// vectors with float components - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct Vector3f - { - //////////////////////////////////////////////////////////// - /// - /// Construct the vector from its coordinates - /// - /// X coordinate - /// Y coordinate - /// Z coordinate - //////////////////////////////////////////////////////////// - public Vector3f(float x, float y, float z) - { - X = x; - Y = y; - Z = z; - } - - //////////////////////////////////////////////////////////// - /// - /// Operator - overload ; returns the opposite of a vector - /// - /// Vector to negate - /// -v - //////////////////////////////////////////////////////////// - public static Vector3f operator -(Vector3f v) - { - return new Vector3f(-v.X, -v.Y, -v.Z); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator - overload ; subtracts two vectors - /// - /// First vector - /// Second vector - /// v1 - v2 - //////////////////////////////////////////////////////////// - public static Vector3f operator -(Vector3f v1, Vector3f v2) - { - return new Vector3f(v1.X - v2.X, v1.Y - v2.X, v1.Z - v2.Z); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator + overload ; add two vectors - /// - /// First vector - /// Second vector - /// v1 + v2 - //////////////////////////////////////////////////////////// - public static Vector3f operator +(Vector3f v1, Vector3f v2) - { - return new Vector3f(v1.X + v2.X, v1.Y + v2.X, v1.Z + v2.Z); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator * overload ; multiply a vector by a scalar value - /// - /// Vector - /// Scalar value - /// v * x - //////////////////////////////////////////////////////////// - public static Vector3f operator *(Vector3f v, float x) - { - return new Vector3f(v.X * x, v.Y * x, v.Z * x); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator * overload ; multiply a scalar value by a vector - /// - /// Scalar value - /// Vector - /// x * v - //////////////////////////////////////////////////////////// - public static Vector3f operator *(float x, Vector3f v) - { - return new Vector3f(v.X * x, v.Y * x, v.Z * x); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator / overload ; divide a vector by a scalar value - /// - /// Vector - /// Scalar value - /// v / x - //////////////////////////////////////////////////////////// - public static Vector3f operator /(Vector3f v, float x) - { - return new Vector3f(v.X / x, v.Y / x, v.Z / x); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Vector3f]" + - " X(" + X + ")" + - " Y(" + Y + ")" + - " Z(" + Z + ")"; - } - - /// X (horizontal) component of the vector - public float X; - - /// Y (vertical) component of the vector - public float Y; - - /// Z (depth) component of the vector - public float Z; - } - } -} diff --git a/bindings/dotnet/src/Audio/sfml-audio.csproj b/bindings/dotnet/src/Audio/sfml-audio.csproj deleted file mode 100644 index 95f740dd..00000000 --- a/bindings/dotnet/src/Audio/sfml-audio.csproj +++ /dev/null @@ -1,88 +0,0 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {0B202C4D-A457-47FE-84A3-031DD878C6BE} - Library - Properties - SFML.Audio - sfmlnet-audio-2 - - - - - 2.0 - - - - - true - ..\..\lib\x86\ - DEBUG;TRACE - true - ..\..\doc\build\audio-doc.xml - full - x86 - prompt - - - ..\..\lib\x86\ - TRACE - true - ..\..\doc\build\audio-doc.xml - true - pdbonly - x86 - prompt - - - true - ..\..\lib\x64\ - DEBUG;TRACE - true - ..\..\doc\build\audio-doc.xml - full - x64 - prompt - - - ..\..\lib\x64\ - TRACE - true - ..\..\doc\build\audio-doc.xml - true - pdbonly - x64 - prompt - - - - - - - - - - - - - - - - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F} - sfml-window - - - - - - \ No newline at end of file diff --git a/bindings/dotnet/src/Graphics/Color.cs b/bindings/dotnet/src/Graphics/Color.cs deleted file mode 100644 index 9f783ee1..00000000 --- a/bindings/dotnet/src/Graphics/Color.cs +++ /dev/null @@ -1,110 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Utility class for manipulating 32-bits RGBA colors - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct Color - { - //////////////////////////////////////////////////////////// - /// - /// Construct the color from its red, green and blue components - /// - /// Red component - /// Green component - /// Blue component - //////////////////////////////////////////////////////////// - public Color(byte red, byte green, byte blue) : - this(red, green, blue, 255) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the color from its red, green, blue and alpha components - /// - /// Red component - /// Green component - /// Blue component - /// Alpha (transparency) component - //////////////////////////////////////////////////////////// - public Color(byte red, byte green, byte blue, byte alpha) - { - R = red; - G = green; - B = blue; - A = alpha; - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the color from another - /// - /// Color to copy - //////////////////////////////////////////////////////////// - public Color(Color color) : - this(color.R, color.G, color.B, color.A) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Color]" + - " R(" + R + ")" + - " G(" + G + ")" + - " B(" + B + ")" + - " A(" + A + ")"; - } - - /// Red component of the color - public byte R; - - /// Green component of the color - public byte G; - - /// Blue component of the color - public byte B; - - /// Alpha (transparent) component of the color - public byte A; - - - /// Predefined black color - public static readonly Color Black = new Color(0, 0, 0); - - /// Predefined white color - public static readonly Color White = new Color(255, 255, 255); - - /// Predefined red color - public static readonly Color Red = new Color(255, 0, 0); - - /// Predefined green color - public static readonly Color Green = new Color(0, 255, 0); - - /// Predefined blue color - public static readonly Color Blue = new Color(0, 0, 255); - - /// Predefined yellow color - public static readonly Color Yellow = new Color(255, 255, 0); - - /// Predefined magenta color - public static readonly Color Magenta = new Color(255, 0, 255); - - /// Predefined cyan color - public static readonly Color Cyan = new Color(0, 255, 255); - } - } -} diff --git a/bindings/dotnet/src/Graphics/Context.cs b/bindings/dotnet/src/Graphics/Context.cs deleted file mode 100644 index ad3dab93..00000000 --- a/bindings/dotnet/src/Graphics/Context.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using System.Runtime.ConstrainedExecution; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// This class defines - /// - //////////////////////////////////////////////////////////// - internal class Context : CriticalFinalizerObject - { - //////////////////////////////////////////////////////////// - /// - /// Default constructor - /// - //////////////////////////////////////////////////////////// - public Context() - { - myThis = sfContext_Create(); - } - - //////////////////////////////////////////////////////////// - /// - /// Finalizer - /// - //////////////////////////////////////////////////////////// - ~Context() - { - sfContext_Destroy(myThis); - } - - //////////////////////////////////////////////////////////// - /// - /// Activate or deactivate the context - /// - /// True to activate, false to deactivate - //////////////////////////////////////////////////////////// - public void SetActive(bool active) - { - sfContext_SetActive(myThis, active); - } - - //////////////////////////////////////////////////////////// - /// - /// Global helper context - /// - //////////////////////////////////////////////////////////// - public static Context Global - { - get - { - if (ourGlobalContext == null) - ourGlobalContext = new Context(); - - return ourGlobalContext; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Context]"; - } - - private static Context ourGlobalContext = null; - - private IntPtr myThis = IntPtr.Zero; - - #region Imports - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfContext_Create(); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfContext_Destroy(IntPtr View); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfContext_SetActive(IntPtr View, bool Active); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/Drawable.cs b/bindings/dotnet/src/Graphics/Drawable.cs deleted file mode 100644 index 09e11a5e..00000000 --- a/bindings/dotnet/src/Graphics/Drawable.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Enumerate the blending modes available for drawable objects - /// - //////////////////////////////////////////////////////////// - public enum BlendMode - { - /// Pixel = Src * a + Dest * (1 - a) - Alpha, - - /// Pixel = Src + Dest - Add, - - /// Pixel = Src * Dest - Multiply, - - /// No blending - None - } - - //////////////////////////////////////////////////////////// - /// - /// Abstract base class for every object that can be drawn - /// into a render window - /// - //////////////////////////////////////////////////////////// - public abstract class Drawable : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Position of the object on screen - /// - //////////////////////////////////////////////////////////// - public abstract Vector2f Position { get; set; } - - //////////////////////////////////////////////////////////// - /// - /// Rotation of the object, defined in degrees - /// - //////////////////////////////////////////////////////////// - public abstract float Rotation {get; set;} - - //////////////////////////////////////////////////////////// - /// - /// Vertical and horizontal scale of the object - /// - //////////////////////////////////////////////////////////// - public abstract Vector2f Scale { get; set; } - - //////////////////////////////////////////////////////////// - /// - /// Origin of the transformation of the object - /// (center of translation, rotation and scale) - /// - //////////////////////////////////////////////////////////// - public abstract Vector2f Origin { get; set; } - - //////////////////////////////////////////////////////////// - /// - /// Global color of the object - /// - //////////////////////////////////////////////////////////// - public abstract Color Color {get; set;} - - //////////////////////////////////////////////////////////// - /// - /// Blending mode of the object - /// - //////////////////////////////////////////////////////////// - public abstract BlendMode BlendMode {get; set;} - - //////////////////////////////////////////////////////////// - /// - /// Transform a point from global coordinates into local coordinates - /// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) - /// - /// Point to transform - /// Transformed point - //////////////////////////////////////////////////////////// - public abstract Vector2f TransformToLocal(Vector2f point); - - //////////////////////////////////////////////////////////// - /// - /// Transform a point from local coordinates into global coordinates - /// (ie it applies the object's origin, translation, rotation and scale to the point) - /// - /// Point to transform - /// Transformed point - //////////////////////////////////////////////////////////// - public abstract Vector2f TransformToGlobal(Vector2f point); - - //////////////////////////////////////////////////////////// - /// - /// Render the object into the given render window - /// - /// Target render window - /// Shader to apply - //////////////////////////////////////////////////////////// - internal abstract void Render(RenderWindow target, Shader shader); - - //////////////////////////////////////////////////////////// - /// - /// Render the object into the given render image - /// - /// Target render image - /// Shader to apply - //////////////////////////////////////////////////////////// - internal abstract void Render(RenderImage target, Shader shader); - - //////////////////////////////////////////////////////////// - /// - /// Internal constructor, for derived classes - /// - /// Pointer to the object in C library - //////////////////////////////////////////////////////////// - protected Drawable(IntPtr thisPtr) : - base(thisPtr) - { - } - } - } -} diff --git a/bindings/dotnet/src/Graphics/Font.cs b/bindings/dotnet/src/Graphics/Font.cs deleted file mode 100644 index 300205d6..00000000 --- a/bindings/dotnet/src/Graphics/Font.cs +++ /dev/null @@ -1,238 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Runtime.InteropServices; -using System.Security; -using System.IO; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Structure describing a glyph (a visual character) - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct Glyph - { - /// Offset to move horizontically to the next character - public int Advance; - - /// Bounding rectangle of the glyph, in coordinates relative to the baseline - public IntRect Rectangle; - - /// Texture coordinates of the glyph inside the font's image - public FloatRect TexCoords; - } - - //////////////////////////////////////////////////////////// - /// - /// Font is the low-level class for loading and - /// manipulating character fonts. This class is meant to - /// be used by String2D - /// - //////////////////////////////////////////////////////////// - public class Font : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Construct the font from a file - /// - /// Font file to load - /// - //////////////////////////////////////////////////////////// - public Font(string filename) : - base(sfFont_CreateFromFile(filename)) - { - if (This == IntPtr.Zero) - throw new LoadingFailedException("font", filename); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the font from a file in a stream - /// - /// Stream containing the file contents - /// - //////////////////////////////////////////////////////////// - public Font(Stream stream) : - base(IntPtr.Zero) - { - unsafe - { - stream.Position = 0; - byte[] StreamData = new byte[stream.Length]; - uint Read = (uint)stream.Read(StreamData, 0, StreamData.Length); - fixed (byte* dataPtr = StreamData) - { - SetThis(sfFont_CreateFromMemory((char*)dataPtr, Read)); - } - } - - if (This == IntPtr.Zero) - throw new LoadingFailedException("font"); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the font from another font - /// - /// Font to copy - //////////////////////////////////////////////////////////// - public Font(Font copy) : - base(sfFont_Copy(copy.This)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Get a glyph in the font - /// - /// Unicode code point of the character to get - /// Character size - /// Retrieve the bold version or the regular one? - /// The glyph corresponding to the character - //////////////////////////////////////////////////////////// - public Glyph GetGlyph(uint codePoint, uint characterSize, bool bold) - { - return sfFont_GetGlyph(This, codePoint, characterSize, bold); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the kerning offset between two glyphs - /// - /// Unicode code point of the first character - /// Unicode code point of the second character - /// Character size - /// Kerning offset, in pixels - //////////////////////////////////////////////////////////// - public int GetKerning(uint first, uint second, uint characterSize) - { - return sfFont_GetKerning(This, first, second, characterSize); - } - - //////////////////////////////////////////////////////////// - /// - /// Get spacing between two consecutive lines - /// - /// Character size - /// Line spacing, in pixels - //////////////////////////////////////////////////////////// - public int GetLineSpacing(uint characterSize) - { - return sfFont_GetLineSpacing(This, characterSize); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the image containing the glyphs of a given size - /// - /// Character size - /// Image storing the glyphs for the given size - //////////////////////////////////////////////////////////// - public Image GetImage(uint characterSize) - { - myImages[characterSize] = new Image(sfFont_GetImage(This, characterSize)); - return myImages[characterSize]; - } - - //////////////////////////////////////////////////////////// - /// - /// Default built-in font - /// - //////////////////////////////////////////////////////////// - public static Font DefaultFont - { - get - { - if (ourDefaultFont == null) - ourDefaultFont = new Font(sfFont_GetDefaultFont()); - - return ourDefaultFont; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Font]"; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - if (this != ourDefaultFont) - { - if (!disposing) - Context.Global.SetActive(true); - - sfFont_Destroy(This); - - if (disposing) - { - foreach (Image image in myImages.Values) - image.Dispose(); - } - - if (!disposing) - Context.Global.SetActive(false); - } - } - - //////////////////////////////////////////////////////////// - /// - /// Internal constructor - /// - /// Pointer to the object in C library - //////////////////////////////////////////////////////////// - private Font(IntPtr thisPtr) : - base(thisPtr) - { - } - - private Dictionary myImages = new Dictionary(); - private static Font ourDefaultFont = null; - - #region Imports - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfFont_CreateFromFile(string Filename); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern IntPtr sfFont_CreateFromMemory(char* Data, uint SizeInBytes); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfFont_Copy(IntPtr Font); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfFont_Destroy(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Glyph sfFont_GetGlyph(IntPtr This, uint codePoint, uint characterSize, bool bold); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern int sfFont_GetKerning(IntPtr This, uint first, uint second, uint characterSize); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern int sfFont_GetLineSpacing(IntPtr This, uint characterSize); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfFont_GetImage(IntPtr This, uint characterSize); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfFont_GetDefaultFont(); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/Image.cs b/bindings/dotnet/src/Graphics/Image.cs deleted file mode 100644 index 1d16320e..00000000 --- a/bindings/dotnet/src/Graphics/Image.cs +++ /dev/null @@ -1,462 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using System.IO; -using System.Runtime.ConstrainedExecution; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Image is the low-level class for loading and - /// manipulating images - /// - //////////////////////////////////////////////////////////// - public class Image : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Construct the image with black color - /// - /// Image width - /// Image height - /// - //////////////////////////////////////////////////////////// - public Image(uint width, uint height) : - this(width, height, Color.Black) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the image from a single color - /// - /// Image width - /// Image height - /// Color to fill the image with - /// - //////////////////////////////////////////////////////////// - public Image(uint width, uint height, Color color) : - base(sfImage_CreateFromColor(width, height, color)) - { - if (This == IntPtr.Zero) - throw new LoadingFailedException("image"); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the image from a file - /// - /// Path of the image file to load - /// - //////////////////////////////////////////////////////////// - public Image(string filename) : - base(sfImage_CreateFromFile(filename)) - { - if (This == IntPtr.Zero) - throw new LoadingFailedException("image", filename); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the image from a file in a stream - /// - /// Stream containing the file contents - /// - //////////////////////////////////////////////////////////// - public Image(Stream stream) : - base(IntPtr.Zero) - { - stream.Position = 0; - byte[] StreamData = new byte[stream.Length]; - uint Read = (uint)stream.Read(StreamData, 0, StreamData.Length); - unsafe - { - fixed (byte* dataPtr = StreamData) - { - SetThis(sfImage_CreateFromMemory((char*)dataPtr, Read)); - } - } - if (This == IntPtr.Zero) - throw new LoadingFailedException("image"); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the image directly from an array of pixels - /// - /// 2 dimensions array containing the pixels - /// - //////////////////////////////////////////////////////////// - public Image(Color[,] pixels) : - base(IntPtr.Zero) - { - unsafe - { - fixed (Color* PixelsPtr = pixels) - { - uint Width = (uint)pixels.GetLength(0); - uint Height = (uint)pixels.GetLength(1); - SetThis(sfImage_CreateFromPixels(Width, Height, (byte*)PixelsPtr)); - } - } - - if (This == IntPtr.Zero) - throw new LoadingFailedException("image"); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the image directly from an array of pixels - /// - /// Image width - /// Image height - /// array containing the pixels - /// - //////////////////////////////////////////////////////////// - public Image(uint width, uint height, byte[] pixels) : - base(IntPtr.Zero) - { - unsafe - { - fixed (byte* PixelsPtr = pixels) - { - SetThis(sfImage_CreateFromPixels(width, height, PixelsPtr)); - } - } - - if (This == IntPtr.Zero) - throw new LoadingFailedException("image"); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the image from another image - /// - /// Image to copy - //////////////////////////////////////////////////////////// - public Image(Image copy) : - base(sfImage_Copy(copy.This)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Save the contents of the image to a file - /// - /// Path of the file to save (overwritten if already exist) - /// True if saving was successful - //////////////////////////////////////////////////////////// - public bool SaveToFile(string filename) - { - return sfImage_SaveToFile(This, filename); - } - - //////////////////////////////////////////////////////////// - /// - /// Create a transparency mask from a specified colorkey - /// - /// Color to become transparent - //////////////////////////////////////////////////////////// - public void CreateMaskFromColor(Color color) - { - CreateMaskFromColor(color, 0); - } - - //////////////////////////////////////////////////////////// - /// - /// Create a transparency mask from a specified colorkey - /// - /// Color to become transparent - /// Alpha value to use for transparent pixels - //////////////////////////////////////////////////////////// - public void CreateMaskFromColor(Color color, byte alpha) - { - sfImage_CreateMaskFromColor(This, color, alpha); - } - - //////////////////////////////////////////////////////////// - /// - /// Copy pixels from another image onto this one. - /// This function does a slow pixel copy and should only - /// be used at initialization time - /// - /// Source image to copy - /// X coordinate of the destination position - /// Y coordinate of the destination position - //////////////////////////////////////////////////////////// - public void Copy(Image source, uint destX, uint destY) - { - Copy(source, destX, destY, new IntRect(0, 0, 0, 0)); - } - - //////////////////////////////////////////////////////////// - /// - /// Copy pixels from another image onto this one. - /// This function does a slow pixel copy and should only - /// be used at initialization time - /// - /// Source image to copy - /// X coordinate of the destination position - /// Y coordinate of the destination position - /// Sub-rectangle of the source image to copy - //////////////////////////////////////////////////////////// - public void Copy(Image source, uint destX, uint destY, IntRect sourceRect) - { - sfImage_CopyImage(This, source.This, destX, destY, sourceRect); - } - - //////////////////////////////////////////////////////////// - /// - /// Create the image from the current contents of the - /// given window - /// - /// Window to capture - /// True if copy has been successful - //////////////////////////////////////////////////////////// - public bool CopyScreen(RenderWindow window) - { - return CopyScreen(window, new IntRect(0, 0, 0, 0)); - } - - //////////////////////////////////////////////////////////// - /// - /// Create the image from the current contents of the - /// given window - /// - /// Window to capture - /// Sub-rectangle of the screen to copy - /// True if copy has been successful - //////////////////////////////////////////////////////////// - public bool CopyScreen(RenderWindow window, IntRect sourceRect) - { - return sfImage_CopyScreen(This, window.This, sourceRect); - } - - //////////////////////////////////////////////////////////// - /// - /// Get a pixel from the image - /// - /// X coordinate of pixel in the image - /// Y coordinate of pixel in the image - /// Color of pixel (x, y) - //////////////////////////////////////////////////////////// - public Color GetPixel(uint x, uint y) - { - return sfImage_GetPixel(This, x, y); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the color of a pixel - /// - /// X coordinate of pixel in the image - /// Y coordinate of pixel in the image - /// New color for pixel (x, y) - //////////////////////////////////////////////////////////// - public void SetPixel(uint x, uint y, Color color) - { - sfImage_SetPixel(This, x, y, color); - } - - //////////////////////////////////////////////////////////// - /// - /// Get a copy of the array of pixels (RGBA 8 bits integers components) - /// Array size is Width x Height x 4 - /// - /// Array of pixels - //////////////////////////////////////////////////////////// - public byte[] Pixels - { - get - { - byte[] PixelsPtr = new byte[Width * Height * 4]; - Marshal.Copy(sfImage_GetPixelsPtr(This), PixelsPtr, 0, PixelsPtr.Length); - return PixelsPtr; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Update the pixels of the image - /// - /// 2 dimensions array containing the pixels - //////////////////////////////////////////////////////////// - public void UpdatePixels(Color[,] pixels) - { - UpdatePixels(pixels, 0, 0); - } - - //////////////////////////////////////////////////////////// - /// - /// Update the pixels of the image - /// - /// 2 dimensions array containing the pixels - /// X position of the rectangle to update - /// Y position of the rectangle to update - //////////////////////////////////////////////////////////// - public void UpdatePixels(Color[,] pixels, uint x, uint y) - { - unsafe - { - fixed (Color* PixelsPtr = pixels) - { - int Width = pixels.GetLength(0); - int Height = pixels.GetLength(1); - sfImage_UpdatePixels(This, PixelsPtr, new IntRect((int)x, (int)y, Width, Height)); - } - } - } - - //////////////////////////////////////////////////////////// - /// - /// Bind the image for rendering - /// - //////////////////////////////////////////////////////////// - public void Bind() - { - sfImage_Bind(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Control the smooth filter - /// - //////////////////////////////////////////////////////////// - public bool Smooth - { - get {return sfImage_IsSmooth(This);} - set {sfImage_SetSmooth(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Width of the image, in pixels - /// - //////////////////////////////////////////////////////////// - public uint Width - { - get {return sfImage_GetWidth(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Height of the image, in pixels - /// - //////////////////////////////////////////////////////////// - public uint Height - { - get {return sfImage_GetHeight(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Image]" + - " Width(" + Width + ")" + - " Height(" + Height + ")" + - " Smooth(" + Smooth + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Internal constructor - /// - /// Pointer to the object in C library - //////////////////////////////////////////////////////////// - internal Image(IntPtr thisPtr) : - base(thisPtr) - { - myExternal = true; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - if (!myExternal) - { - if (!disposing) - Context.Global.SetActive(true); - - sfImage_Destroy(This); - - if (!disposing) - Context.Global.SetActive(false); - } - } - - bool myExternal = false; - - #region Imports - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfImage_CreateFromColor(uint Width, uint Height, Color Col); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern IntPtr sfImage_CreateFromPixels(uint Width, uint Height, byte* Pixels); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfImage_CreateFromFile(string Filename); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfImage_Copy(IntPtr Image); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern IntPtr sfImage_CreateFromMemory(char* Data, uint Size); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfImage_Destroy(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfImage_SaveToFile(IntPtr This, string Filename); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfImage_CreateMaskFromColor(IntPtr This, Color Col, byte Alpha); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfImage_CopyScreen(IntPtr This, IntPtr Window, IntRect SourceRect); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfImage_CopyImage(IntPtr This, IntPtr Source, uint DestX, uint DestY, IntRect SourceRect); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfImage_SetPixel(IntPtr This, uint X, uint Y, Color Col); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Color sfImage_GetPixel(IntPtr This, uint X, uint Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfImage_GetPixelsPtr(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern void sfImage_UpdatePixels(IntPtr This, Color* Pixels, IntRect Rectangle); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfImage_Bind(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfImage_SetSmooth(IntPtr This, bool Smooth); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfImage_GetWidth(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfImage_GetHeight(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfImage_IsSmooth(IntPtr This); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/Rect.cs b/bindings/dotnet/src/Graphics/Rect.cs deleted file mode 100644 index 41d05c88..00000000 --- a/bindings/dotnet/src/Graphics/Rect.cs +++ /dev/null @@ -1,247 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// IntRect is an utility class for manipulating 2D rectangles - /// with integer coordinates - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct IntRect - { - //////////////////////////////////////////////////////////// - /// - /// Construct the rectangle from its coordinates - /// - /// Left coordinate of the rectangle - /// Top coordinate of the rectangle - /// Width of the rectangle - /// Height of the rectangle - //////////////////////////////////////////////////////////// - public IntRect(int left, int top, int width, int height) - { - Left = left; - Top = top; - Width = width; - Height = height; - } - - //////////////////////////////////////////////////////////// - /// - /// Check if a point is inside the rectangle's area - /// - /// X coordinate of the point to test - /// Y coordinate of the point to test - /// True if the point is inside - //////////////////////////////////////////////////////////// - public bool Contains(int x, int y) - { - return (x >= Left) && (x < Left + Width) && (y >= Top) && (y < Top + Height); - } - - //////////////////////////////////////////////////////////// - /// - /// Check intersection between two rectangles - /// - /// Rectangle to test - /// True if rectangles overlap - //////////////////////////////////////////////////////////// - public bool Intersects(IntRect rect) - { - // Compute the intersection boundaries - int left = Math.Max(Left, rect.Left); - int top = Math.Max(Top, rect.Top); - int right = Math.Min(Left + Width, rect.Left + rect.Width); - int bottom = Math.Min(Top + Height, rect.Top + rect.Height); - - return (left < right) && (top < bottom); - } - - //////////////////////////////////////////////////////////// - /// - /// Check intersection between two rectangles - /// - /// Rectangle to test - /// Rectangle to be filled with overlapping rect - /// True if rectangles overlap - //////////////////////////////////////////////////////////// - public bool Intersects(IntRect rect, out IntRect overlap) - { - // Compute the intersection boundaries - int left = Math.Max(Left, rect.Left); - int top = Math.Max(Top, rect.Top); - int right = Math.Min(Left + Width, rect.Left + rect.Width); - int bottom = Math.Min(Top + Height, rect.Top + rect.Height); - - // If the intersection is valid (positive non zero area), then there is an intersection - if ((left < right) && (top < bottom)) - { - overlap.Left = left; - overlap.Top = top; - overlap.Width = right - left; - overlap.Height = bottom - top; - return true; - } - else - { - overlap.Left = 0; - overlap.Top = 0; - overlap.Width = 0; - overlap.Height = 0; - return false; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[IntRect]" + - " Left(" + Left + ")" + - " Top(" + Top + ")" + - " Width(" + Width + ")" + - " Height(" + Height + ")"; - } - - /// Left coordinate of the rectangle - public int Left; - - /// Top coordinate of the rectangle - public int Top; - - /// Width of the rectangle - public int Width; - - /// Height of the rectangle - public int Height; - } - //////////////////////////////////////////////////////////// - /// - /// IntRect is an utility class for manipulating 2D rectangles - /// with float coordinates - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct FloatRect - { - //////////////////////////////////////////////////////////// - /// - /// Construct the rectangle from its coordinates - /// - /// Left coordinate of the rectangle - /// Top coordinate of the rectangle - /// Width of the rectangle - /// Height of the rectangle - //////////////////////////////////////////////////////////// - public FloatRect(float left, float top, float width, float height) - { - Left = left; - Top = top; - Width = width; - Height = height; - } - - //////////////////////////////////////////////////////////// - /// - /// Check if a point is inside the rectangle's area - /// - /// X coordinate of the point to test - /// Y coordinate of the point to test - /// True if the point is inside - //////////////////////////////////////////////////////////// - public bool Contains(float x, float y) - { - return (x >= Left) && (x < Left + Width) && (y >= Top) && (y < Top + Height); - } - - //////////////////////////////////////////////////////////// - /// - /// Check intersection between two rectangles - /// - /// Rectangle to test - /// True if rectangles overlap - //////////////////////////////////////////////////////////// - public bool Intersects(FloatRect rect) - { - // Compute the intersection boundaries - float left = Math.Max(Left, rect.Left); - float top = Math.Max(Top, rect.Top); - float right = Math.Min(Left + Width, rect.Left + rect.Width); - float bottom = Math.Min(Top + Height, rect.Top + rect.Height); - - return (left < right) && (top < bottom); - } - - //////////////////////////////////////////////////////////// - /// - /// Check intersection between two rectangles - /// - /// Rectangle to test - /// Rectangle to be filled with overlapping rect - /// True if rectangles overlap - //////////////////////////////////////////////////////////// - public bool Intersects(FloatRect rect, out FloatRect overlap) - { - // Compute the intersection boundaries - float left = Math.Max(Left, rect.Left); - float top = Math.Max(Top, rect.Top); - float right = Math.Min(Left + Width, rect.Left + rect.Width); - float bottom = Math.Min(Top + Height, rect.Top + rect.Height); - - // If the intersection is valid (positive non zero area), then there is an intersection - if ((left < right) && (top < bottom)) - { - overlap.Left = left; - overlap.Top = top; - overlap.Width = right - left; - overlap.Height = bottom - top; - return true; - } - else - { - overlap.Left = 0; - overlap.Top = 0; - overlap.Width = 0; - overlap.Height = 0; - return false; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[FloatRect]" + - " Left(" + Left + ")" + - " Top(" + Top + ")" + - " Width(" + Width + ")" + - " Height(" + Height + ")"; - } - - /// Left coordinate of the rectangle - public float Left; - - /// Top coordinate of the rectangle - public float Top; - - /// Width of the rectangle - public float Width; - - /// Height of the rectangle - public float Height; - } - } -} diff --git a/bindings/dotnet/src/Graphics/RenderImage.cs b/bindings/dotnet/src/Graphics/RenderImage.cs deleted file mode 100644 index 28bcde2c..00000000 --- a/bindings/dotnet/src/Graphics/RenderImage.cs +++ /dev/null @@ -1,336 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Collections; -using System.Collections.Generic; -using System.Security; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Simple wrapper for Window that allows easy - /// 2D rendering - /// - //////////////////////////////////////////////////////////// - public class RenderImage : ObjectBase, RenderTarget - { - //////////////////////////////////////////////////////////// - /// - /// Create the render image with the given dimensions - /// - /// Width of the render image - /// Height of the render image - //////////////////////////////////////////////////////////// - public RenderImage(uint width, uint height) : - this(width, height, false) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Create the render image with the given dimensions and - /// an optional depth-buffer attached - /// - /// Width of the render image - /// Height of the render image - /// Do you want a depth-buffer attached? - //////////////////////////////////////////////////////////// - public RenderImage(uint width, uint height, bool depthBuffer) : - base(sfRenderImage_Create(width, height, depthBuffer)) - { - myDefaultView = new View(sfRenderImage_GetDefaultView(This)); - myImage = new Image(sfRenderImage_GetImage(This)); - GC.SuppressFinalize(myDefaultView); - GC.SuppressFinalize(myImage); - } - - //////////////////////////////////////////////////////////// - /// - /// Width of the rendering region of the image - /// - //////////////////////////////////////////////////////////// - public uint Width - { - get {return sfRenderImage_GetWidth(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Height of the rendering region of the image - /// - //////////////////////////////////////////////////////////// - public uint Height - { - get {return sfRenderImage_GetHeight(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Activate of deactivate the render image as the current target - /// for rendering - /// - /// True to activate, false to deactivate (true by default) - /// True if operation was successful, false otherwise - //////////////////////////////////////////////////////////// - public bool SetActive(bool active) - { - return sfRenderImage_SetActive(This, active); - } - - //////////////////////////////////////////////////////////// - /// - /// Default view of the render image - /// - //////////////////////////////////////////////////////////// - public View DefaultView - { - get {return myDefaultView;} - } - - //////////////////////////////////////////////////////////// - /// - /// Return the current active view - /// - /// The current view - //////////////////////////////////////////////////////////// - public View GetView() - { - return new View(sfRenderImage_GetView(This)); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the current active view - /// - /// New view - //////////////////////////////////////////////////////////// - public void SetView(View view) - { - sfRenderImage_SetView(This, view.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the viewport of a view applied to this target - /// - /// Target view - /// Viewport rectangle, expressed in pixels in the current target - //////////////////////////////////////////////////////////// - public IntRect GetViewport(View view) - { - return sfRenderImage_GetViewport(This, view.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Convert a point in target coordinates into view coordinates - /// This version uses the current view of the window - /// - /// X coordinate of the point to convert, relative to the target - /// Y coordinate of the point to convert, relative to the target - /// Converted point - /// - //////////////////////////////////////////////////////////// - public Vector2f ConvertCoords(uint x, uint y) - { - return ConvertCoords(x, y, GetView()); - } - - //////////////////////////////////////////////////////////// - /// - /// Convert a point in target coordinates into view coordinates - /// This version uses the given view - /// - /// X coordinate of the point to convert, relative to the target - /// Y coordinate of the point to convert, relative to the target - /// Target view to convert the point to - /// Converted point - /// - //////////////////////////////////////////////////////////// - public Vector2f ConvertCoords(uint x, uint y, View view) - { - Vector2f point; - sfRenderImage_ConvertCoords(This, x, y, out point.X, out point.Y, view.This); - - return point; - } - - //////////////////////////////////////////////////////////// - /// - /// Clear the entire render image with black color - /// - //////////////////////////////////////////////////////////// - public void Clear() - { - sfRenderImage_Clear(This, Color.Black); - } - - //////////////////////////////////////////////////////////// - /// - /// Clear the entire render image with a single color - /// - /// Color to use to clear the image - //////////////////////////////////////////////////////////// - public void Clear(Color color) - { - sfRenderImage_Clear(This, color); - } - - //////////////////////////////////////////////////////////// - /// - /// Draw something into the render image - /// - /// Object to draw - //////////////////////////////////////////////////////////// - public void Draw(Drawable objectToDraw) - { - objectToDraw.Render(this, null); - } - - //////////////////////////////////////////////////////////// - /// - /// Draw something into the render image with a shader - /// - /// Object to draw - /// Shader to apply - //////////////////////////////////////////////////////////// - public void Draw(Drawable objectToDraw, Shader shader) - { - objectToDraw.Render(this, shader); - } - - //////////////////////////////////////////////////////////// - /// - /// Save the current OpenGL render states and matrices - /// - //////////////////////////////////////////////////////////// - public void SaveGLStates() - { - sfRenderImage_SaveGLStates(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Restore the previously saved OpenGL render states and matrices - /// - //////////////////////////////////////////////////////////// - public void RestoreGLStates() - { - sfRenderImage_RestoreGLStates(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Update the contents of the target image - /// - //////////////////////////////////////////////////////////// - public void Display() - { - sfRenderImage_Display(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Target image of the render image - /// - //////////////////////////////////////////////////////////// - public Image Image - { - get {return myImage;} - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[RenderImage]" + - " Width(" + Width + ")" + - " Height(" + Height + ")" + - " Image(" + Image + ")" + - " DefaultView(" + DefaultView + ")" + - " View(" + GetView() + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - if (!disposing) - Context.Global.SetActive(true); - - sfRenderImage_Destroy(This); - - if (disposing) - { - myDefaultView.Dispose(); - myImage.Dispose(); - } - - if (!disposing) - Context.Global.SetActive(false); - } - - private View myDefaultView = null; - private Image myImage = null; - - #region Imports - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderImage_Create(uint Width, uint Height, bool DepthBuffer); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_Destroy(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_Clear(IntPtr This, Color ClearColor); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfRenderImage_GetWidth(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfRenderImage_GetHeight(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderImage_SetActive(IntPtr This, bool Active); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderImage_SaveGLStates(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderImage_RestoreGLStates(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderImage_Display(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_SetView(IntPtr This, IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderImage_GetView(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderImage_GetDefaultView(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntRect sfRenderImage_GetViewport(IntPtr This, IntPtr TargetView); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_ConvertCoords(IntPtr This, uint WindowX, uint WindowY, out float ViewX, out float ViewY, IntPtr TargetView); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderImage_GetImage(IntPtr This); - - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/RenderTarget.cs b/bindings/dotnet/src/Graphics/RenderTarget.cs deleted file mode 100644 index 6319850d..00000000 --- a/bindings/dotnet/src/Graphics/RenderTarget.cs +++ /dev/null @@ -1,133 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Abstract base class for render targets (renderwindow, renderimage) - /// - //////////////////////////////////////////////////////////// - public interface RenderTarget - { - //////////////////////////////////////////////////////////// - /// - /// Width of the rendering region of the window - /// - //////////////////////////////////////////////////////////// - uint Width {get;} - - //////////////////////////////////////////////////////////// - /// - /// Height of the rendering region of the window - /// - //////////////////////////////////////////////////////////// - uint Height {get;} - - //////////////////////////////////////////////////////////// - /// - /// Default view of the window - /// - //////////////////////////////////////////////////////////// - View DefaultView {get;} - - //////////////////////////////////////////////////////////// - /// - /// Return the current active view - /// - /// The current view - //////////////////////////////////////////////////////////// - View GetView(); - - //////////////////////////////////////////////////////////// - /// - /// Change the current active view - /// - /// New view - //////////////////////////////////////////////////////////// - void SetView(View view); - - //////////////////////////////////////////////////////////// - /// - /// Get the viewport of a view applied to this target - /// - /// Target view - /// Viewport rectangle, expressed in pixels in the current target - //////////////////////////////////////////////////////////// - IntRect GetViewport(View view); - - //////////////////////////////////////////////////////////// - /// - /// Convert a point in target coordinates into view coordinates - /// This version uses the current view of the window - /// - /// X coordinate of the point to convert, relative to the target - /// Y coordinate of the point to convert, relative to the target - /// Converted point - //////////////////////////////////////////////////////////// - Vector2f ConvertCoords(uint x, uint y); - - //////////////////////////////////////////////////////////// - /// - /// Convert a point in target coordinates into view coordinates - /// This version uses the given view - /// - /// X coordinate of the point to convert, relative to the target - /// Y coordinate of the point to convert, relative to the target - /// Target view to convert the point to - /// Converted point - //////////////////////////////////////////////////////////// - Vector2f ConvertCoords(uint x, uint y, View view); - - //////////////////////////////////////////////////////////// - /// - /// Clear the entire window with black color - /// - //////////////////////////////////////////////////////////// - void Clear(); - - //////////////////////////////////////////////////////////// - /// - /// Clear the entire window with a single color - /// - /// Color to use to clear the window - //////////////////////////////////////////////////////////// - void Clear(Color color); - - //////////////////////////////////////////////////////////// - /// - /// Draw something into the window - /// - /// Object to draw - //////////////////////////////////////////////////////////// - void Draw(Drawable objectToDraw); - - //////////////////////////////////////////////////////////// - /// - /// Draw something into the render image with a shader - /// - /// Object to draw - /// Shader to apply - //////////////////////////////////////////////////////////// - void Draw(Drawable objectToDraw, Shader shader); - - //////////////////////////////////////////////////////////// - /// - /// Save the current OpenGL render states and matrices - /// - //////////////////////////////////////////////////////////// - void SaveGLStates(); - - //////////////////////////////////////////////////////////// - /// - /// Restore the previously saved OpenGL render states and matrices - /// - //////////////////////////////////////////////////////////// - void RestoreGLStates(); - } - } -} diff --git a/bindings/dotnet/src/Graphics/RenderWindow.cs b/bindings/dotnet/src/Graphics/RenderWindow.cs deleted file mode 100644 index ff757a2a..00000000 --- a/bindings/dotnet/src/Graphics/RenderWindow.cs +++ /dev/null @@ -1,630 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Collections; -using System.Collections.Generic; -using System.Security; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Simple wrapper for Window that allows easy - /// 2D rendering - /// - //////////////////////////////////////////////////////////// - public class RenderWindow : SFML.Window.Window, RenderTarget - { - //////////////////////////////////////////////////////////// - /// - /// Create the window with default style and creation settings - /// - /// Video mode to use - /// Title of the window - //////////////////////////////////////////////////////////// - public RenderWindow(VideoMode mode, string title) : - this(mode, title, Styles.Default, new ContextSettings(0, 0)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Create the window with default creation settings - /// - /// Video mode to use - /// Title of the window - /// Window style (Resize | Close by default) - //////////////////////////////////////////////////////////// - public RenderWindow(VideoMode mode, string title, Styles style) : - this(mode, title, style, new ContextSettings(0, 0)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Create the window - /// - /// Video mode to use - /// Title of the window - /// Window style (Resize | Close by default) - /// Creation parameters - //////////////////////////////////////////////////////////// - public RenderWindow(VideoMode mode, string title, Styles style, ContextSettings settings) : - base(sfRenderWindow_Create(mode, title, style, ref settings), 0) - { - Initialize(); - } - - //////////////////////////////////////////////////////////// - /// - /// Create the window from an existing control with default creation settings - /// - /// Platform-specific handle of the control - //////////////////////////////////////////////////////////// - public RenderWindow(IntPtr handle) : - this(handle, new ContextSettings(0, 0)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Create the window from an existing control - /// - /// Platform-specific handle of the control - /// Creation parameters - //////////////////////////////////////////////////////////// - public RenderWindow(IntPtr handle, ContextSettings settings) : - base(sfRenderWindow_CreateFromHandle(handle, ref settings), 0) - { - Initialize(); - } - - //////////////////////////////////////////////////////////// - /// - /// Tell whether or not the window is opened (ie. has been created). - /// Note that a hidden window (Show(false)) - /// will still return true - /// - /// True if the window is opened - //////////////////////////////////////////////////////////// - public override bool IsOpened() - { - return sfRenderWindow_IsOpened(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Close (destroy) the window. - /// The Window instance remains valid and you can call - /// Create to recreate the window - /// - //////////////////////////////////////////////////////////// - public override void Close() - { - sfRenderWindow_Close(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Display the window on screen - /// - //////////////////////////////////////////////////////////// - public override void Display() - { - sfRenderWindow_Display(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Width of the rendering region of the window - /// - //////////////////////////////////////////////////////////// - public override uint Width - { - get {return sfRenderWindow_GetWidth(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Height of the rendering region of the window - /// - //////////////////////////////////////////////////////////// - public override uint Height - { - get {return sfRenderWindow_GetHeight(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Creation settings of the window - /// - //////////////////////////////////////////////////////////// - public override ContextSettings Settings - { - get {return sfRenderWindow_GetSettings(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Enable / disable vertical synchronization - /// - /// True to enable v-sync, false to deactivate - //////////////////////////////////////////////////////////// - public override void EnableVerticalSync(bool enable) - { - sfRenderWindow_EnableVerticalSync(This, enable); - } - - //////////////////////////////////////////////////////////// - /// - /// Show or hide the mouse cursor - /// - /// True to show, false to hide - //////////////////////////////////////////////////////////// - public override void ShowMouseCursor(bool show) - { - sfRenderWindow_ShowMouseCursor(This, show); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the position of the mouse cursor - /// - /// Left coordinate of the cursor, relative to the window - /// Top coordinate of the cursor, relative to the window - //////////////////////////////////////////////////////////// - public override void SetCursorPosition(uint x, uint y) - { - sfRenderWindow_SetCursorPosition(This, x, y); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the position of the window on screen. - /// Only works for top-level windows - /// - /// Left position - /// Top position - //////////////////////////////////////////////////////////// - public override void SetPosition(int x, int y) - { - sfRenderWindow_SetPosition(This, x, y); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the size of the rendering region of the window - /// - /// New width - /// New height - //////////////////////////////////////////////////////////// - public override void SetSize(uint width, uint height) - { - sfRenderWindow_SetSize(This, width, height); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the title of the window - /// - /// New title - //////////////////////////////////////////////////////////// - public override void SetTitle(string title) - { - sfRenderWindow_SetTitle(This, title); - } - - //////////////////////////////////////////////////////////// - /// - /// Show or hide the window - /// - /// True to show, false to hide - //////////////////////////////////////////////////////////// - public override void Show(bool show) - { - sfRenderWindow_Show(This, show); - } - - //////////////////////////////////////////////////////////// - /// - /// Enable or disable automatic key-repeat. - /// Automatic key-repeat is enabled by default - /// - /// True to enable, false to disable - //////////////////////////////////////////////////////////// - public override void EnableKeyRepeat(bool enable) - { - sfRenderWindow_EnableKeyRepeat(This, enable); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the window's icon - /// - /// Icon's width, in pixels - /// Icon's height, in pixels - /// Array of pixels, format must be RGBA 32 bits - //////////////////////////////////////////////////////////// - public override void SetIcon(uint width, uint height, byte[] pixels) - { - unsafe - { - fixed (byte* PixelsPtr = pixels) - { - sfRenderWindow_SetIcon(This, width, height, PixelsPtr); - } - } - } - - //////////////////////////////////////////////////////////// - /// - /// Activate of deactivate the window as the current target - /// for rendering - /// - /// True to activate, false to deactivate (true by default) - /// True if operation was successful, false otherwise - //////////////////////////////////////////////////////////// - public override bool SetActive(bool active) - { - return sfRenderWindow_SetActive(This, active); - } - - //////////////////////////////////////////////////////////// - /// - /// Limit the framerate to a maximum fixed frequency - /// - /// Framerate limit, in frames per seconds (use 0 to disable limit) - //////////////////////////////////////////////////////////// - public override void SetFramerateLimit(uint limit) - { - sfRenderWindow_SetFramerateLimit(This, limit); - } - - //////////////////////////////////////////////////////////// - /// - /// Get time elapsed since last frame - /// - /// Time elapsed, in seconds - //////////////////////////////////////////////////////////// - public override uint GetFrameTime() - { - return sfRenderWindow_GetFrameTime(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the joystick threshold, ie. the value below which - /// no move event will be generated - /// - /// New threshold, in range [0, 100] - //////////////////////////////////////////////////////////// - public override void SetJoystickThreshold(float threshold) - { - sfRenderWindow_SetJoystickThreshold(This, threshold); - } - - //////////////////////////////////////////////////////////// - /// - /// OS-specific handle of the window - /// - //////////////////////////////////////////////////////////// - public override IntPtr SystemHandle - { - get {return sfRenderWindow_GetSystemHandle(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Default view of the window - /// - //////////////////////////////////////////////////////////// - public View DefaultView - { - get {return myDefaultView;} - } - - //////////////////////////////////////////////////////////// - /// - /// Return the current active view - /// - /// The current view - //////////////////////////////////////////////////////////// - public View GetView() - { - return new View(sfRenderWindow_GetView(This)); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the current active view - /// - /// New view - //////////////////////////////////////////////////////////// - public void SetView(View view) - { - sfRenderWindow_SetView(This, view.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the viewport of a view applied to this target - /// - /// Target view - /// Viewport rectangle, expressed in pixels in the current target - //////////////////////////////////////////////////////////// - public IntRect GetViewport(View view) - { - return sfRenderWindow_GetViewport(This, view.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Convert a point in target coordinates into view coordinates - /// This version uses the current view of the window - /// - /// X coordinate of the point to convert, relative to the target - /// Y coordinate of the point to convert, relative to the target - /// Converted point - /// - //////////////////////////////////////////////////////////// - public Vector2f ConvertCoords(uint x, uint y) - { - return ConvertCoords(x, y, GetView()); - } - - //////////////////////////////////////////////////////////// - /// - /// Convert a point in target coordinates into view coordinates - /// This version uses the given view - /// - /// X coordinate of the point to convert, relative to the target - /// Y coordinate of the point to convert, relative to the target - /// Target view to convert the point to - /// Converted point - /// - //////////////////////////////////////////////////////////// - public Vector2f ConvertCoords(uint x, uint y, View view) - { - Vector2f point; - sfRenderWindow_ConvertCoords(This, x, y, out point.X, out point.Y, view.This); - - return point; - } - - //////////////////////////////////////////////////////////// - /// - /// Clear the entire window with black color - /// - //////////////////////////////////////////////////////////// - public void Clear() - { - sfRenderWindow_Clear(This, Color.Black); - } - - //////////////////////////////////////////////////////////// - /// - /// Clear the entire window with a single color - /// - /// Color to use to clear the window - //////////////////////////////////////////////////////////// - public void Clear(Color color) - { - sfRenderWindow_Clear(This, color); - } - - //////////////////////////////////////////////////////////// - /// - /// Draw something into the window - /// - /// Object to draw - //////////////////////////////////////////////////////////// - public void Draw(Drawable objectToDraw) - { - objectToDraw.Render(this, null); - } - - //////////////////////////////////////////////////////////// - /// - /// Draw something into the window with a shader - /// - /// Object to draw - /// Shader to apply - //////////////////////////////////////////////////////////// - public void Draw(Drawable objectToDraw, Shader shader) - { - objectToDraw.Render(this, shader); - } - - //////////////////////////////////////////////////////////// - /// - /// Save the current OpenGL render states and matrices - /// - //////////////////////////////////////////////////////////// - public void SaveGLStates() - { - sfRenderWindow_SaveGLStates(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Restore the previously saved OpenGL render states and matrices - /// - //////////////////////////////////////////////////////////// - public void RestoreGLStates() - { - sfRenderWindow_RestoreGLStates(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[RenderWindow]" + - " Width(" + Width + ")" + - " Height(" + Height + ")" + - " Settings(" + Settings + ")" + - " DefaultView(" + DefaultView + ")" + - " View(" + GetView() + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Internal function to get the next event - /// - /// Variable to fill with the raw pointer to the event structure - /// True if there was an event, false otherwise - //////////////////////////////////////////////////////////// - protected override bool PollEvent(out Event eventToFill) - { - return sfRenderWindow_PollEvent(This, out eventToFill); - } - - //////////////////////////////////////////////////////////// - /// - /// Internal function to get the next event (blocking) - /// - /// Variable to fill with the raw pointer to the event structure - /// False if any error occured - //////////////////////////////////////////////////////////// - protected override bool WaitEvent(out Event eventToFill) - { - return sfRenderWindow_WaitEvent(This, out eventToFill); - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfRenderWindow_Destroy(This); - - if (disposing) - myDefaultView.Dispose(); - } - - //////////////////////////////////////////////////////////// - /// - /// Do common initializations - /// - //////////////////////////////////////////////////////////// - private void Initialize() - { - myDefaultView = new View(sfRenderWindow_GetDefaultView(This)); - GC.SuppressFinalize(myDefaultView); - } - - private View myDefaultView = null; - - #region Imports - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderWindow_Create(VideoMode Mode, string Title, Styles Style, ref ContextSettings Params); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderWindow_CreateFromHandle(IntPtr Handle, ref ContextSettings Params); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_Destroy(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderWindow_IsOpened(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_Close(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderWindow_PollEvent(IntPtr This, out Event Evt); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderWindow_WaitEvent(IntPtr This, out Event Evt); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_Clear(IntPtr This, Color ClearColor); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_Display(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfRenderWindow_GetWidth(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfRenderWindow_GetHeight(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern ContextSettings sfRenderWindow_GetSettings(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_EnableVerticalSync(IntPtr This, bool Enable); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_ShowMouseCursor(IntPtr This, bool Show); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_SetCursorPosition(IntPtr This, uint X, uint Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_SetPosition(IntPtr This, int X, int Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_SetSize(IntPtr This, uint Width, uint Height); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_SetTitle(IntPtr This, string title); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_Show(IntPtr This, bool Show); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_EnableKeyRepeat(IntPtr This, bool Enable); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern void sfRenderWindow_SetIcon(IntPtr This, uint Width, uint Height, byte* Pixels); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderWindow_SetActive(IntPtr This, bool Active); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderWindow_SaveGLStates(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfRenderWindow_RestoreGLStates(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_SetFramerateLimit(IntPtr This, uint Limit); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfRenderWindow_GetFrameTime(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_SetJoystickThreshold(IntPtr This, float Threshold); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_SetView(IntPtr This, IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderWindow_GetView(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderWindow_GetDefaultView(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntRect sfRenderWindow_GetViewport(IntPtr This, IntPtr TargetView); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_ConvertCoords(IntPtr This, uint WindowX, uint WindowY, out float ViewX, out float ViewY, IntPtr TargetView); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfRenderWindow_GetSystemHandle(IntPtr This); - - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/Shader.cs b/bindings/dotnet/src/Graphics/Shader.cs deleted file mode 100644 index 7efb2782..00000000 --- a/bindings/dotnet/src/Graphics/Shader.cs +++ /dev/null @@ -1,267 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using System.Collections.Generic; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Wrapper for pixel shaders - /// - //////////////////////////////////////////////////////////// - public class Shader : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Load the shader from a file - /// - /// Path of the shader file to load - /// - //////////////////////////////////////////////////////////// - public Shader(string filename) : - base(sfShader_CreateFromFile(filename)) - { - if (This == IntPtr.Zero) - throw new LoadingFailedException("shader", filename); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the shader from another shader - /// - /// Shader to copy - //////////////////////////////////////////////////////////// - public Shader(Shader copy) : - base(sfShader_Copy(copy.This)) - { - foreach (KeyValuePair pair in copy.myTextures) - myTextures[pair.Key] = copy.myTextures[pair.Key]; - } - - //////////////////////////////////////////////////////////// - /// - /// Create a new shader from a text in memory - /// - /// String containing the shader code - /// - //////////////////////////////////////////////////////////// - public static Shader FromString(string shader) - { - IntPtr ptr = sfShader_CreateFromMemory(shader); - if (ptr == IntPtr.Zero) - throw new LoadingFailedException("shader"); - - return new Shader(ptr); - } - - //////////////////////////////////////////////////////////// - /// - /// Change a vector2 parameter of the shader - /// - /// Name of the parameter in the shader - /// Value of the parameter - //////////////////////////////////////////////////////////// - public void SetParameter(string name, Vector2f v) - { - SetParameter(name, v.X, v.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Change a 1-component parameter of the shader - /// - /// Name of the parameter in the shader - /// Value of the parameter - //////////////////////////////////////////////////////////// - public void SetParameter(string name, float x) - { - sfShader_SetParameter1(This, name, x); - } - - //////////////////////////////////////////////////////////// - /// - /// Change a 2-component parameter of the shader - /// - /// Name of the parameter in the shader - /// X component of the value - /// Y component of the value - //////////////////////////////////////////////////////////// - public void SetParameter(string name, float x, float y) - { - sfShader_SetParameter2(This, name, x, y); - } - - //////////////////////////////////////////////////////////// - /// - /// Change a 3-component parameter of the shader - /// - /// Name of the parameter in the shader - /// X component of the value - /// Y component of the value - /// Z component of the value - //////////////////////////////////////////////////////////// - public void SetParameter(string name, float x, float y, float z) - { - sfShader_SetParameter3(This, name, x, y, z); - } - - //////////////////////////////////////////////////////////// - /// - /// Change a 4-component parameter of the shader - /// - /// Name of the parameter in the shader - /// X component of the value - /// Y component of the value - /// Z component of the value - /// W component of the value - //////////////////////////////////////////////////////////// - public void SetParameter(string name, float x, float y, float z, float w) - { - sfShader_SetParameter4(This, name, x, y, z, w); - } - - //////////////////////////////////////////////////////////// - /// - /// Set a texture parameter - /// - /// Name of the texture in the shader - /// Image to set - //////////////////////////////////////////////////////////// - public void SetTexture(string name, Image texture) - { - myTextures[name] = texture; - sfShader_SetTexture(This, name, texture.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Set the current texture parameter - /// - /// Name of the texture in the shader - //////////////////////////////////////////////////////////// - public void SetCurrentTexture(string name) - { - sfShader_SetCurrentTexture(This, name); - } - - //////////////////////////////////////////////////////////// - /// - /// Bind the shader for rendering - /// - //////////////////////////////////////////////////////////// - public void Bind() - { - sfShader_Bind(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Unbind the shader - /// - //////////////////////////////////////////////////////////// - public void Unbind() - { - sfShader_Unbind(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Tell whether or not the system supports shaders - /// - //////////////////////////////////////////////////////////// - public static bool IsAvailable - { - get {return sfShader_IsAvailable();} - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Shader]"; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - if (!disposing) - Context.Global.SetActive(true); - - myTextures.Clear(); - sfShader_Destroy(This); - - if (!disposing) - Context.Global.SetActive(false); - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the shader from a pointer - /// - /// Pointer to the shader instance - //////////////////////////////////////////////////////////// - public Shader(IntPtr ptr) : - base(ptr) - { - } - - Dictionary myTextures = new Dictionary(); - - #region Imports - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfShader_CreateFromFile(string Filename); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfShader_CreateFromMemory(string Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfShader_Copy(IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_Destroy(IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_SetParameter1(IntPtr Shader, string Name, float X); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_SetParameter2(IntPtr Shader, string Name, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_SetParameter3(IntPtr Shader, string Name, float X, float Y, float Z); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_SetParameter4(IntPtr Shader, string Name, float X, float Y, float Z, float W); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_SetTexture(IntPtr Shader, string Name, IntPtr Texture); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_SetCurrentTexture(IntPtr Shader, string Name); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_Bind(IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShader_Unbind(IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfShader_IsAvailable(); - - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/Shape.cs b/bindings/dotnet/src/Graphics/Shape.cs deleted file mode 100644 index 79e52418..00000000 --- a/bindings/dotnet/src/Graphics/Shape.cs +++ /dev/null @@ -1,565 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// Shape defines a drawable convex shape ; it also defines - /// helper functions to draw simple shapes like - /// lines, rectangles, circles, etc. - /// - //////////////////////////////////////////////////////////// - public class Shape : Drawable - { - //////////////////////////////////////////////////////////// - /// - /// Default constructor - /// - //////////////////////////////////////////////////////////// - public Shape() : - base(sfShape_Create()) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the shape from another shape - /// - /// Shape to copy - //////////////////////////////////////////////////////////// - public Shape(Shape copy) : - base(sfShape_Copy(copy.This)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Position of the object on screen - /// - //////////////////////////////////////////////////////////// - public override Vector2f Position - { - get { return new Vector2f(sfShape_GetX(This), sfShape_GetY(This)); } - set { sfShape_SetPosition(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Rotation of the object, defined in degrees - /// - //////////////////////////////////////////////////////////// - public override float Rotation - { - get { return sfShape_GetRotation(This); } - set { sfShape_SetRotation(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Vertical and horizontal scale of the object - /// - //////////////////////////////////////////////////////////// - public override Vector2f Scale - { - get { return new Vector2f(sfShape_GetScaleX(This), sfShape_GetScaleY(This)); } - set { sfShape_SetScale(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Origin of the transformation of the object - /// (center of translation, rotation and scale) - /// - //////////////////////////////////////////////////////////// - public override Vector2f Origin - { - get { return new Vector2f(sfShape_GetOriginX(This), sfShape_GetOriginY(This)); } - set { sfShape_SetOrigin(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Global color of the object - /// - //////////////////////////////////////////////////////////// - public override Color Color - { - get { return sfShape_GetColor(This); } - set { sfShape_SetColor(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Blending mode of the object - /// - //////////////////////////////////////////////////////////// - public override BlendMode BlendMode - { - get { return sfShape_GetBlendMode(This); } - set { sfShape_SetBlendMode(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Transform a point from global coordinates into local coordinates - /// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) - /// - /// Point to transform - /// Transformed point - //////////////////////////////////////////////////////////// - public override Vector2f TransformToLocal(Vector2f point) - { - Vector2f Transformed; - sfShape_TransformToLocal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); - - return Transformed; - } - - //////////////////////////////////////////////////////////// - /// - /// Transform a point from local coordinates into global coordinates - /// (ie it applies the object's origin, translation, rotation and scale to the point) - /// - /// Point to transform - /// Transformed point - //////////////////////////////////////////////////////////// - public override Vector2f TransformToGlobal(Vector2f point) - { - Vector2f Transformed; - sfShape_TransformToGlobal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); - - return Transformed; - } - - //////////////////////////////////////////////////////////// - /// - /// Add a point to the shape - /// - /// Position of the point - /// Color of the point - //////////////////////////////////////////////////////////// - public void AddPoint(Vector2f position, Color color) - { - AddPoint(position, color, Color.Black); - } - - //////////////////////////////////////////////////////////// - /// - /// Add a point to the shape - /// - /// Position of the point - /// Color of the point - /// Outline color of the point - //////////////////////////////////////////////////////////// - public void AddPoint(Vector2f position, Color color, Color outlineColor) - { - sfShape_AddPoint(This, position.X, position.Y, color, outlineColor); - } - - //////////////////////////////////////////////////////////// - /// - /// Enable or disable filling the shape. - /// Fill is enabled by default - /// - /// True to enable, false to disable - //////////////////////////////////////////////////////////// - public void EnableFill(bool enable) - { - sfShape_EnableFill(This, enable); - } - - //////////////////////////////////////////////////////////// - /// - /// Enable or disable drawing the shape outline. - /// Outline is enabled by default - /// - /// True to enable, false to disable - //////////////////////////////////////////////////////////// - public void EnableOutline(bool enable) - { - sfShape_EnableOutline(This, enable); - } - - //////////////////////////////////////////////////////////// - /// - /// Thickness of the shape outline - /// - //////////////////////////////////////////////////////////// - public float OutlineThickness - { - get {return sfShape_GetOutlineThickness(This);} - set {sfShape_SetOutlineThickness(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Total number of points of the shape - /// - //////////////////////////////////////////////////////////// - public uint PointsCount - { - get {return sfShape_GetPointsCount(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Set the position of a point - /// - /// Index of the point, in range [0, NbPoints - 1] - /// New position of the index-th point - //////////////////////////////////////////////////////////// - public void SetPointPosition(uint index, Vector2f position) - { - sfShape_SetPointPosition(This, index, position.X, position.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the position of a point - /// - /// Index of the point, in range [0, NbPoints - 1] - /// Position of the index-th point - //////////////////////////////////////////////////////////// - public Vector2f GetPointPosition(uint index) - { - Vector2f Pos; - sfShape_GetPointPosition(This, index, out Pos.X, out Pos.Y); - - return Pos; - } - - //////////////////////////////////////////////////////////// - /// - /// Set the color of a point - /// - /// Index of the point, in range [0, NbPoints - 1] - /// New color of the index-th point - //////////////////////////////////////////////////////////// - public void SetPointColor(uint index, Color color) - { - sfShape_SetPointColor(This, index, color); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the color of a point - /// - /// Index of the point, in range [0, NbPoints - 1] - /// Color of the index-th point - //////////////////////////////////////////////////////////// - public Color GetPointColor(uint index) - { - return sfShape_GetPointColor(This, index); - } - - //////////////////////////////////////////////////////////// - /// - /// Set the outline color of a point - /// - /// Index of the point, in range [0, NbPoints - 1] - /// New outline color of the index-th point - //////////////////////////////////////////////////////////// - public void SetPointOutlineColor(uint index, Color color) - { - sfShape_SetPointOutlineColor(This, index, color); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the outline color of a point - /// - /// Index of the point, in range [0, NbPoints - 1] - /// Outline color of the index-th point - //////////////////////////////////////////////////////////// - public Color GetPointOutlineColor(uint index) - { - return sfShape_GetPointOutlineColor(This, index); - } - - //////////////////////////////////////////////////////////// - /// - /// Create a shape made of a single line - /// - /// Position of the first point - /// Position of the second point - /// Line thickness - /// Color used to draw the line - /// New line shape built with the given parameters - //////////////////////////////////////////////////////////// - public static Shape Line(Vector2f p1, Vector2f p2, float thickness, Color color) - { - return Line(p1, p2, thickness, color, 0, Color.White); - } - - //////////////////////////////////////////////////////////// - /// - /// Create a shape made of a single line - /// - /// Position of the first point - /// Position of the second point - /// Line thickness - /// Color used to draw the line - /// Outline width - /// Color used to draw the outline - /// New line shape built with the given parameters - //////////////////////////////////////////////////////////// - public static Shape Line(Vector2f p1, Vector2f p2, float thickness, Color color, float outline, Color outlineColor) - { - return new Shape(sfShape_CreateLine(p1.X, p1.Y, p2.X, p2.Y, thickness, color, outline, outlineColor)); - } - - //////////////////////////////////////////////////////////// - /// - /// Create a shape made of a single rectangle - /// - /// Rectangle to create - /// Color used to fill the rectangle - /// New rectangle shape built with the given parameters - //////////////////////////////////////////////////////////// - public static Shape Rectangle(FloatRect rectangle, Color color) - { - return Rectangle(rectangle, color, 0, Color.White); - } - - //////////////////////////////////////////////////////////// - /// - /// Create a shape made of a single rectangle - /// - /// Rectangle to create - /// Color used to fill the rectangle - /// Outline width - /// Color used to draw the outline - /// New rectangle shape built with the given parameters - //////////////////////////////////////////////////////////// - public static Shape Rectangle(FloatRect rectangle, Color color, float outline, Color outlineColor) - { - return new Shape(sfShape_CreateRectangle(rectangle.Left, rectangle.Top, rectangle.Width, rectangle.Height, color, outline, outlineColor)); - } - - //////////////////////////////////////////////////////////// - /// - /// Create a shape made of a single circle - /// - /// Position of the center - /// Radius of the circle - /// Color used to fill the circle - /// New circle shape built with the given parameters - //////////////////////////////////////////////////////////// - public static Shape Circle(Vector2f center, float radius, Color color) - { - return Circle(center, radius, color, 0, Color.White); - } - - //////////////////////////////////////////////////////////// - /// - /// Create a shape made of a single circle - /// - /// Position of the center - /// Radius of the circle - /// Color used to fill the circle - /// Outline width - /// Color used to draw the outline - /// New circle shape built with the given parameters - //////////////////////////////////////////////////////////// - public static Shape Circle(Vector2f center, float radius, Color color, float outline, Color outlineColor) - { - return new Shape(sfShape_CreateCircle(center.X, center.Y, radius, color, outline, outlineColor)); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Shape]" + - " Position(" + Position + ")" + - " Rotation(" + Rotation + ")" + - " Scale(" + Scale + ")" + - " Origin(" + Origin + ")" + - " Color(" + Color + ")" + - " BlendMode(" + BlendMode + ")" + - " OutlineThickness(" + OutlineThickness + ")" + - " PointsCount(" + PointsCount + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Render the object into the given render window - /// - /// Target render window - /// Shader to apply - //////////////////////////////////////////////////////////// - internal override void Render(RenderWindow target, Shader shader) - { - if (shader == null) - sfRenderWindow_DrawShape(target.This, This); - else - sfRenderWindow_DrawShapeWithShader(target.This, This, shader.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Render the object into the given render image - /// - /// Target render image - /// Shader to apply - //////////////////////////////////////////////////////////// - internal override void Render(RenderImage target, Shader shader) - { - if (shader == null) - sfRenderImage_DrawShape(target.This, This); - else - sfRenderImage_DrawShapeWithShader(target.This, This, shader.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfShape_Destroy(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Internal constructor - /// - /// Pointer to the internal object in C library - //////////////////////////////////////////////////////////// - private Shape(IntPtr thisPtr) : - base(thisPtr) - { - } - - #region Imports - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfShape_Create(); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfShape_Copy(IntPtr Shape); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_Destroy(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetPosition(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfShape_GetX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfShape_GetY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetRotation(IntPtr This, float Rotation); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfShape_GetRotation(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetScale(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfShape_GetScaleX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfShape_GetScaleY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetOrigin(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfShape_GetOriginX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfShape_GetOriginY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetColor(IntPtr This, Color Color); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Color sfShape_GetColor(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetBlendMode(IntPtr This, BlendMode Mode); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern BlendMode sfShape_GetBlendMode(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_DrawShape(IntPtr This, IntPtr Shape); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_DrawShapeWithShader(IntPtr This, IntPtr Shape, IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_DrawShape(IntPtr This, IntPtr Shape); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_DrawShapeWithShader(IntPtr This, IntPtr Shape, IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfShape_CreateLine(float P1X, float P1Y, float P2X, float P2Y, float Thickness, Color Col, float Outline, Color OutlineCol); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfShape_CreateRectangle(float P1X, float P1Y, float P2X, float P2Y, Color Col, float Outline, Color OutlineCol); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfShape_CreateCircle(float X, float Y, float Radius, Color Col, float Outline, Color OutlineCol); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_AddPoint(IntPtr This, float X, float Y, Color Col, Color OutlineCol); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_EnableFill(IntPtr This, bool Enable); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_EnableOutline(IntPtr This, bool Enable); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetOutlineThickness(IntPtr This, float Thickness); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfShape_GetOutlineThickness(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfShape_GetPointsCount(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetPointPosition(IntPtr This, uint Index, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_GetPointPosition(IntPtr This, uint Index, out float X, out float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetPointColor(IntPtr This, uint Index, Color Col); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Color sfShape_GetPointColor(IntPtr This, uint Index); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfShape_SetPointOutlineColor(IntPtr This, uint Index, Color Col); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Color sfShape_GetPointOutlineColor(IntPtr This, uint Index); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/Sprite.cs b/bindings/dotnet/src/Graphics/Sprite.cs deleted file mode 100644 index 2ab1ee81..00000000 --- a/bindings/dotnet/src/Graphics/Sprite.cs +++ /dev/null @@ -1,397 +0,0 @@ -using System; -using System.Security; -using System.Runtime.InteropServices; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// This class defines a sprite : texture, transformations, - /// color, and draw on screen - /// - //////////////////////////////////////////////////////////// - public class Sprite : Drawable - { - //////////////////////////////////////////////////////////// - /// - /// Default constructor - /// - //////////////////////////////////////////////////////////// - public Sprite() : - base(sfSprite_Create()) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the sprite from a source image - /// - /// Source image to assign to the sprite - //////////////////////////////////////////////////////////// - public Sprite(Image image) : - base(sfSprite_Create()) - { - Image = image; - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the sprite from another sprite - /// - /// Sprite to copy - //////////////////////////////////////////////////////////// - public Sprite(Sprite copy) : - base(sfSprite_Copy(copy.This)) - { - Image = copy.Image; - } - - //////////////////////////////////////////////////////////// - /// - /// Position of the object on screen - /// - //////////////////////////////////////////////////////////// - public override Vector2f Position - { - get { return new Vector2f(sfSprite_GetX(This), sfSprite_GetY(This)); } - set { sfSprite_SetPosition(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Rotation of the object, defined in degrees - /// - //////////////////////////////////////////////////////////// - public override float Rotation - { - get { return sfSprite_GetRotation(This); } - set { sfSprite_SetRotation(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Vertical and horizontal scale of the object - /// - //////////////////////////////////////////////////////////// - public override Vector2f Scale - { - get { return new Vector2f(sfSprite_GetScaleX(This), sfSprite_GetScaleY(This)); } - set { sfSprite_SetScale(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Origin of the transformation of the object - /// (center of translation, rotation and scale) - /// - //////////////////////////////////////////////////////////// - public override Vector2f Origin - { - get { return new Vector2f(sfSprite_GetOriginX(This), sfSprite_GetOriginY(This)); } - set { sfSprite_SetOrigin(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Global color of the object - /// - //////////////////////////////////////////////////////////// - public override Color Color - { - get { return sfSprite_GetColor(This); } - set { sfSprite_SetColor(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Blending mode of the object - /// - //////////////////////////////////////////////////////////// - public override BlendMode BlendMode - { - get { return sfSprite_GetBlendMode(This); } - set { sfSprite_SetBlendMode(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Transform a point from global coordinates into local coordinates - /// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) - /// - /// Point to transform - /// Transformed point - //////////////////////////////////////////////////////////// - public override Vector2f TransformToLocal(Vector2f point) - { - Vector2f Transformed; - sfSprite_TransformToLocal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); - - return Transformed; - } - - //////////////////////////////////////////////////////////// - /// - /// Transform a point from local coordinates into global coordinates - /// (ie it applies the object's origin, translation, rotation and scale to the point) - /// - /// Point to transform - /// Transformed point - //////////////////////////////////////////////////////////// - public override Vector2f TransformToGlobal(Vector2f point) - { - Vector2f Transformed; - sfSprite_TransformToGlobal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); - - return Transformed; - } - - //////////////////////////////////////////////////////////// - /// - /// Width of the sprite - /// - //////////////////////////////////////////////////////////// - public float Width - { - get { return sfSprite_GetWidth(This); } - set { sfSprite_Resize(This, value, this.Height); } - } - - //////////////////////////////////////////////////////////// - /// - /// Height of the sprite - /// - //////////////////////////////////////////////////////////// - public float Height - { - get { return sfSprite_GetHeight(This); } - set { sfSprite_Resize(This, this.Width, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Source images displayed by the sprite - /// - //////////////////////////////////////////////////////////// - public Image Image - { - get { return myImage; } - set { myImage = value; sfSprite_SetImage(This, value != null ? value.This : IntPtr.Zero, false); } - } - - //////////////////////////////////////////////////////////// - /// - /// Sub-rectangle of the source image displayed by the sprite - /// - //////////////////////////////////////////////////////////// - public IntRect SubRect - { - get { return sfSprite_GetSubRect(This); } - set { sfSprite_SetSubRect(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Flip the sprite horizontically - /// - /// True to flip, false to canel flip - //////////////////////////////////////////////////////////// - public void FlipX(bool flipped) - { - sfSprite_FlipX(This, flipped); - } - - //////////////////////////////////////////////////////////// - /// - /// Flip the sprite vertically - /// - /// True to flip, false to canel flip - //////////////////////////////////////////////////////////// - public void FlipY(bool flipped) - { - sfSprite_FlipY(This, flipped); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the color of a given pixel in the sprite - /// (point is in local coordinates) - /// - /// X coordinate of the pixel to get - /// Y coordinate of the pixel to get - /// Color of pixel (x, y) - //////////////////////////////////////////////////////////// - public Color GetPixel(uint x, uint y) - { - return sfSprite_GetPixel(This, x, y); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Sprite]" + - " Position(" + Position + ")" + - " Rotation(" + Rotation + ")" + - " Scale(" + Scale + ")" + - " Origin(" + Origin + ")" + - " Color(" + Color + ")" + - " BlendMode(" + BlendMode + ")" + - " Width(" + Width + ")" + - " Height(" + Height + ")" + - " SubRect(" + SubRect + ")" + - " Image(" + Image + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Render the object into the given render window - /// - /// Target render window - /// Shader to apply - //////////////////////////////////////////////////////////// - internal override void Render(RenderWindow target, Shader shader) - { - if (shader == null) - sfRenderWindow_DrawSprite(target.This, This); - else - sfRenderWindow_DrawSpriteWithShader(target.This, This, shader.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Render the object into the given render image - /// - /// Target render image - /// Shader to apply - //////////////////////////////////////////////////////////// - internal override void Render(RenderImage target, Shader shader) - { - if (shader == null) - sfRenderImage_DrawSprite(target.This, This); - else - sfRenderImage_DrawSpriteWithShader(target.This, This, shader.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfSprite_Destroy(This); - } - - private Image myImage = null; - - #region Imports - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSprite_Create(); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfSprite_Copy(IntPtr Sprite); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_Destroy(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_SetPosition(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_SetRotation(IntPtr This, float Rotation); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetRotation(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_SetScale(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetScaleX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetScaleY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_SetOrigin(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetOriginX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetOriginY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_SetColor(IntPtr This, Color Color); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Color sfSprite_GetColor(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_SetBlendMode(IntPtr This, BlendMode Mode); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern BlendMode sfSprite_GetBlendMode(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2f sfSprite_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2f sfSprite_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_DrawSprite(IntPtr This, IntPtr Sprite); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_DrawSpriteWithShader(IntPtr This, IntPtr Sprite, IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_DrawSprite(IntPtr This, IntPtr Sprite); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_DrawSpriteWithShader(IntPtr This, IntPtr Sprite, IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_Resize(IntPtr This, float Width, float Height); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetWidth(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfSprite_GetHeight(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_SetImage(IntPtr This, IntPtr Image, bool AdjustToNewSize); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_SetSubRect(IntPtr This, IntRect Rect); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntRect sfSprite_GetSubRect(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_FlipX(IntPtr This, bool Flipped); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfSprite_FlipY(IntPtr This, bool Flipped); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Color sfSprite_GetPixel(IntPtr This, uint X, uint Y); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/Text.cs b/bindings/dotnet/src/Graphics/Text.cs deleted file mode 100644 index c0a6c816..00000000 --- a/bindings/dotnet/src/Graphics/Text.cs +++ /dev/null @@ -1,465 +0,0 @@ -using System; -using System.Security; -using System.Runtime.InteropServices; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// This class defines a graphical 2D text, that can be drawn on screen - /// - //////////////////////////////////////////////////////////// - public class Text : Drawable - { - //////////////////////////////////////////////////////////// - /// - /// Enumerate the string drawing styles - /// - //////////////////////////////////////////////////////////// - [Flags] - public enum Styles - { - /// Regular characters, no style - Regular = 0, - - /// Characters are bold - Bold = 1 << 0, - - /// Characters are in italic - Italic = 1 << 1, - - /// Characters are underlined - Underlined = 1 << 2 - } - - //////////////////////////////////////////////////////////// - /// - /// Default constructor - /// - //////////////////////////////////////////////////////////// - public Text() : - this("") - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the text from a string - /// - /// String to display - //////////////////////////////////////////////////////////// - public Text(string str) : - this(str, Font.DefaultFont) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the text from a string and a font - /// - /// String to display - /// Font to use - //////////////////////////////////////////////////////////// - public Text(string str, Font font) : - this(str, font, 30) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the text from a string, font and size - /// - /// String to display - /// Font to use - /// Base characters size - //////////////////////////////////////////////////////////// - public Text(string str, Font font, uint characterSize) : - base(sfText_Create()) - { - DisplayedString = str; - Font = font; - CharacterSize = characterSize; - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the text from another text - /// - /// Text to copy - //////////////////////////////////////////////////////////// - public Text(Text copy) : - base(sfText_Copy(copy.This)) - { - Font = copy.Font; - } - - //////////////////////////////////////////////////////////// - /// - /// Position of the object on screen - /// - //////////////////////////////////////////////////////////// - public override Vector2f Position - { - get { return new Vector2f(sfText_GetX(This), sfText_GetY(This)); } - set { sfText_SetPosition(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Rotation of the object, defined in degrees - /// - //////////////////////////////////////////////////////////// - public override float Rotation - { - get { return sfText_GetRotation(This); } - set { sfText_SetRotation(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Vertical and horizontal scale of the object - /// - //////////////////////////////////////////////////////////// - public override Vector2f Scale - { - get { return new Vector2f(sfText_GetScaleX(This), sfText_GetScaleY(This)); } - set { sfText_SetScale(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Origin of the transformation of the object - /// (center of translation, rotation and scale) - /// - //////////////////////////////////////////////////////////// - public override Vector2f Origin - { - get { return new Vector2f(sfText_GetOriginX(This), sfText_GetOriginY(This)); } - set { sfText_SetOrigin(This, value.X, value.Y); } - } - - //////////////////////////////////////////////////////////// - /// - /// Global color of the object - /// - //////////////////////////////////////////////////////////// - public override Color Color - { - get { return sfText_GetColor(This); } - set { sfText_SetColor(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Blending mode of the object - /// - //////////////////////////////////////////////////////////// - public override BlendMode BlendMode - { - get { return sfText_GetBlendMode(This); } - set { sfText_SetBlendMode(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Transform a point from global coordinates into local coordinates - /// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) - /// - /// Point to transform - /// Transformed point - //////////////////////////////////////////////////////////// - public override Vector2f TransformToLocal(Vector2f point) - { - Vector2f Transformed; - sfText_TransformToLocal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); - - return Transformed; - } - - //////////////////////////////////////////////////////////// - /// - /// Transform a point from local coordinates into global coordinates - /// (ie it applies the object's origin, translation, rotation and scale to the point) - /// - /// Point to transform - /// Transformed point - //////////////////////////////////////////////////////////// - public override Vector2f TransformToGlobal(Vector2f point) - { - Vector2f Transformed; - sfText_TransformToGlobal(This, point.X, point.Y, out Transformed.X, out Transformed.Y); - - return Transformed; - } - - //////////////////////////////////////////////////////////// - /// - /// String which is displayed - /// - //////////////////////////////////////////////////////////// - public string DisplayedString - { - get - { - // Get the number of characters - // This is probably not the most optimized way; if anyone has a better solution... - int length = Marshal.PtrToStringAnsi(sfText_GetString(This)).Length; - - // Copy the characters - byte[] characters = new byte[length * 4]; - Marshal.Copy(sfText_GetUnicodeString(This), characters, 0, characters.Length); - - // Convert from UTF-32 to String (UTF-16) - return System.Text.Encoding.UTF32.GetString(characters); - } - - set - { - // Convert from String (UTF-16) to UTF-32 - int[] characters = new int[value.Length]; - for (int i = 0; i < value.Length; ++i) - characters[i] = Char.ConvertToUtf32(value, i); - - // Transform to raw and pass to the C API - GCHandle handle = GCHandle.Alloc(characters, GCHandleType.Pinned); - sfText_SetUnicodeString(This, handle.AddrOfPinnedObject()); - handle.Free(); - } - } - - //////////////////////////////////////////////////////////// - /// - /// Font used to display the text - /// - //////////////////////////////////////////////////////////// - public Font Font - { - get {return myFont;} - set {myFont = value; sfText_SetFont(This, value != null ? value.This : IntPtr.Zero);} - } - - //////////////////////////////////////////////////////////// - /// - /// Base size of characters - /// - //////////////////////////////////////////////////////////// - public uint CharacterSize - { - get {return sfText_GetCharacterSize(This);} - set {sfText_SetCharacterSize(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Style of the text (see Styles enum) - /// - //////////////////////////////////////////////////////////// - public Styles Style - { - get {return sfText_GetStyle(This);} - set {sfText_SetStyle(This, value);} - } - - //////////////////////////////////////////////////////////// - /// - /// Get the text rectangle on screen - /// - /// Text rectangle in global coordinates (doesn't include rotation) - //////////////////////////////////////////////////////////// - public FloatRect GetRect() - { - return sfText_GetRect(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Return the visual position of the Index-th character of the text, - /// in coordinates relative to the text - /// (note : translation, origin, rotation and scale are not applied) - /// - /// Index of the character - /// Position of the Index-th character (end of text if Index is out of range) - //////////////////////////////////////////////////////////// - public Vector2f GetCharacterPos(uint index) - { - Vector2f Pos; - sfText_GetCharacterPos(This, index, out Pos.X, out Pos.Y); - - return Pos; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Text]" + - " Position(" + Position + ")" + - " Rotation(" + Rotation + ")" + - " Scale(" + Scale + ")" + - " Origin(" + Origin + ")" + - " Color(" + Color + ")" + - " BlendMode(" + BlendMode + ")" + - " String(" + DisplayedString + ")" + - " Font(" + Font + ")" + - " CharacterSize(" + CharacterSize + ")" + - " Style(" + Style + ")" + - " Rectangle(" + GetRect() + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Render the object into the given render window - /// - /// Target render window - /// Shader to apply - //////////////////////////////////////////////////////////// - internal override void Render(RenderWindow target, Shader shader) - { - if (shader == null) - sfRenderWindow_DrawText(target.This, This); - else - sfRenderWindow_DrawTextWithShader(target.This, This, shader.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Render the object into the given render image - /// - /// Target render image - /// Shader to apply - //////////////////////////////////////////////////////////// - internal override void Render(RenderImage target, Shader shader) - { - if (shader == null) - sfRenderImage_DrawText(target.This, This); - else - sfRenderImage_DrawTextWithShader(target.This, This, shader.This); - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfText_Destroy(This); - } - - private Font myFont = Font.DefaultFont; - - #region Imports - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfText_Create(); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfText_Copy(IntPtr Text); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_Destroy(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetPosition(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfText_GetX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfText_GetY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetRotation(IntPtr This, float Rotation); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfText_GetRotation(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetScale(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfText_GetScaleX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfText_GetScaleY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetOrigin(IntPtr This, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfText_GetOriginX(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfText_GetOriginY(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetColor(IntPtr This, Color Color); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Color sfText_GetColor(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetBlendMode(IntPtr This, BlendMode Mode); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern BlendMode sfText_GetBlendMode(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2f sfText_TransformToLocal(IntPtr This, float PointX, float PointY, out float X, out float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Vector2f sfText_TransformToGlobal(IntPtr This, float PointX, float PointY, out float X, out float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_DrawText(IntPtr This, IntPtr String); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderWindow_DrawTextWithShader(IntPtr This, IntPtr String, IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_DrawText(IntPtr This, IntPtr String); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfRenderImage_DrawTextWithShader(IntPtr This, IntPtr String, IntPtr Shader); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetUnicodeString(IntPtr This, IntPtr Text); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetFont(IntPtr This, IntPtr Font); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetCharacterSize(IntPtr This, uint Size); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_SetStyle(IntPtr This, Styles Style); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfText_GetString(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfText_GetUnicodeString(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfText_GetCharacterSize(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern Styles sfText_GetStyle(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern FloatRect sfText_GetRect(IntPtr This); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfText_GetCharacterPos(IntPtr This, uint Index, out float X, out float Y); - - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/View.cs b/bindings/dotnet/src/Graphics/View.cs deleted file mode 100644 index 5968aead..00000000 --- a/bindings/dotnet/src/Graphics/View.cs +++ /dev/null @@ -1,251 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; -using SFML.Window; - -namespace SFML -{ - namespace Graphics - { - //////////////////////////////////////////////////////////// - /// - /// This class defines a view (position, size, etc.) ; - /// you can consider it as a 2D camera - /// - //////////////////////////////////////////////////////////// - public class View : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Create a default view (1000x1000) - /// - //////////////////////////////////////////////////////////// - public View() : - base(sfView_Create()) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the view from a rectangle - /// - /// Rectangle defining the position and size of the view - //////////////////////////////////////////////////////////// - public View(FloatRect viewRect) : - base(sfView_CreateFromRect(viewRect)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the view from its center and size - /// - /// Center of the view - /// Size of the view - //////////////////////////////////////////////////////////// - public View(Vector2f center, Vector2f size) : - base(sfView_Create()) - { - this.Center = center; - this.Size = size; - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the view from another view - /// - /// View to copy - //////////////////////////////////////////////////////////// - public View(View copy) : - base(sfView_Copy(copy.This)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Center of the view - /// - //////////////////////////////////////////////////////////// - public Vector2f Center - { - get {return new Vector2f(sfView_GetCenterX(This), sfView_GetCenterY(This));} - set {sfView_SetCenter(This, value.X, value.Y);} - } - - //////////////////////////////////////////////////////////// - /// - /// Half-size of the view - /// - //////////////////////////////////////////////////////////// - public Vector2f Size - { - get {return new Vector2f(sfView_GetWidth(This), sfView_GetHeight(This));} - set {sfView_SetSize(This, value.X, value.Y);} - } - - //////////////////////////////////////////////////////////// - /// - /// Rotation of the view, in degrees - /// - //////////////////////////////////////////////////////////// - public float Rotation - { - get { return sfView_GetRotation(This); } - set { sfView_SetRotation(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Target viewport of the view, defined as a factor of the - /// size of the target to which the view is applied - /// - //////////////////////////////////////////////////////////// - public FloatRect Viewport - { - get { return sfView_GetViewport(This); } - set { sfView_SetViewport(This, value); } - } - - //////////////////////////////////////////////////////////// - /// - /// Rebuild the view from a rectangle - /// - /// Rectangle defining the position and size of the view - //////////////////////////////////////////////////////////// - public void Reset(FloatRect rectangle) - { - sfView_Reset(This, rectangle); - } - - //////////////////////////////////////////////////////////// - /// - /// Move the view - /// - /// Offset to move the view - //////////////////////////////////////////////////////////// - public void Move(Vector2f offset) - { - sfView_Move(This, offset.X, offset.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Rotate the view - /// - /// Angle of rotation, in degrees - //////////////////////////////////////////////////////////// - public void Rotate(float angle) - { - sfView_Rotate(This, angle); - } - - //////////////////////////////////////////////////////////// - /// - /// Resize the view rectangle to simulate a zoom / unzoom effect - /// - /// Zoom factor to apply, relative to the current zoom - //////////////////////////////////////////////////////////// - public void Zoom(float factor) - { - sfView_Zoom(This, factor); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[View]" + - " Center(" + Center + ")" + - " Size(" + Size + ")" + - " Rotation(" + Rotation + ")" + - " Viewport(" + Viewport + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Internal constructor for other classes which need to manipulate raw views - /// - /// Direct pointer to the view object in the C library - //////////////////////////////////////////////////////////// - internal View(IntPtr thisPtr) : - base(thisPtr) - { - myExternal = true; - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - if (!myExternal) - sfView_Destroy(This); - } - - private bool myExternal = false; - #region Imports - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfView_Create(); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfView_CreateFromRect(FloatRect Rect); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfView_Copy(IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_Destroy(IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_SetCenter(IntPtr View, float X, float Y); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_SetSize(IntPtr View, float Width, float Height); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_SetRotation(IntPtr View, float Angle); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_SetViewport(IntPtr View, FloatRect Viewport); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_Reset(IntPtr View, FloatRect Rectangle); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfView_GetCenterX(IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfView_GetCenterY(IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfView_GetWidth(IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfView_GetHeight(IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfView_GetRotation(IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern FloatRect sfView_GetViewport(IntPtr View); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_Move(IntPtr View, float OffsetX, float OffsetY); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_Rotate(IntPtr View, float Angle); - - [DllImport("csfml-graphics-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfView_Zoom(IntPtr View, float Factor); - - #endregion - } - } -} diff --git a/bindings/dotnet/src/Graphics/sfml-graphics.csproj b/bindings/dotnet/src/Graphics/sfml-graphics.csproj deleted file mode 100644 index 41fae5c1..00000000 --- a/bindings/dotnet/src/Graphics/sfml-graphics.csproj +++ /dev/null @@ -1,97 +0,0 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {46786269-57B9-48E7-AA4F-8F4D84609FE6} - Library - Properties - SFML.Graphics - sfmlnet-graphics-2 - - - - - 2.0 - - - - - true - ..\..\lib\x86\ - DEBUG;TRACE - true - ..\..\doc\build\graphics-doc.xml - full - x86 - prompt - - - ..\..\lib\x86\ - TRACE - true - ..\..\doc\build\graphics-doc.xml - true - pdbonly - x86 - prompt - - - true - ..\..\lib\x64\ - DEBUG;TRACE - true - ..\..\doc\build\graphics-doc.xml - full - x64 - prompt - - - ..\..\lib\x64\ - TRACE - true - ..\..\doc\build\graphics-doc.xml - true - pdbonly - x64 - prompt - - - - - - - - - - - - - - - - - - - - - - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F} - sfml-window - - - - - - - - - \ No newline at end of file diff --git a/bindings/dotnet/src/Window/ContextSettings.cs b/bindings/dotnet/src/Window/ContextSettings.cs deleted file mode 100644 index 5512229f..00000000 --- a/bindings/dotnet/src/Window/ContextSettings.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Structure defining the creation settings of OpenGL contexts - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct ContextSettings - { - //////////////////////////////////////////////////////////// - /// - /// Construct the settings from depth / stencil bits - /// - /// Depth buffer bits - /// Stencil buffer bits - //////////////////////////////////////////////////////////// - public ContextSettings(uint depthBits, uint stencilBits) : - this(depthBits, stencilBits, 0) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the settings from depth / stencil bits and antialiasing level - /// - /// Depth buffer bits - /// Stencil buffer bits - /// Antialiasing level - //////////////////////////////////////////////////////////// - public ContextSettings(uint depthBits, uint stencilBits, uint antialiasingLevel) : - this(depthBits, stencilBits, antialiasingLevel, 2, 0) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the settings from depth / stencil bits and antialiasing level - /// - /// Depth buffer bits - /// Stencil buffer bits - /// Antialiasing level - /// Major number of the context version - /// Minor number of the context version - //////////////////////////////////////////////////////////// - public ContextSettings(uint depthBits, uint stencilBits, uint antialiasingLevel, uint majorVersion, uint minorVersion) - { - DepthBits = depthBits; - StencilBits = stencilBits; - AntialiasingLevel = antialiasingLevel; - MajorVersion = majorVersion; - MinorVersion = minorVersion; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[ContextSettings]" + - " DepthBits(" + DepthBits + ")" + - " StencilBits(" + StencilBits + ")" + - " AntialiasingLevel(" + AntialiasingLevel + ")" + - " MajorVersion(" + MajorVersion + ")" + - " MinorVersion(" + MinorVersion + ")"; - } - - /// Depth buffer bits (0 is disabled) - public uint DepthBits; - - /// Stencil buffer bits (0 is disabled) - public uint StencilBits; - - /// Antialiasing level (0 is disabled) - public uint AntialiasingLevel; - - /// Major number of the context version - public uint MajorVersion; - - /// Minor number of the context version - public uint MinorVersion; - } - } -} diff --git a/bindings/dotnet/src/Window/Event.cs b/bindings/dotnet/src/Window/Event.cs deleted file mode 100644 index 0408c4ac..00000000 --- a/bindings/dotnet/src/Window/Event.cs +++ /dev/null @@ -1,266 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Enumeration of the different types of events - /// - //////////////////////////////////////////////////////////// - public enum EventType - { - /// Event triggered when a window is manually closed - Closed, - - /// Event triggered when a window is resized - Resized, - - /// Event triggered when a window loses the focus - LostFocus, - - /// Event triggered when a window gains the focus - GainedFocus, - - /// Event triggered when a valid character is entered - TextEntered, - - /// Event triggered when a keyboard key is pressed - KeyPressed, - - /// Event triggered when a keyboard key is released - KeyReleased, - - /// Event triggered when the mouse wheel is scrolled - MouseWheelMoved, - - /// Event triggered when a mouse button is pressed - MouseButtonPressed, - - /// Event triggered when a mouse button is released - MouseButtonReleased, - - /// Event triggered when the mouse moves within the area of a window - MouseMoved, - - /// Event triggered when the mouse enters the area of a window - MouseEntered, - - /// Event triggered when the mouse leaves the area of a window - MouseLeft, - - /// Event triggered when a joystick button is pressed - JoystickButtonPressed, - - /// Event triggered when a joystick button is released - JoystickButtonReleased, - - /// Event triggered when a joystick axis moves - JoystickMoved, - - /// Event triggered when a joystick is connected - JoystickConnected, - - /// Event triggered when a joystick is disconnected - JoystickDisconnected - } - - //////////////////////////////////////////////////////////// - /// - /// Keyboard event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct KeyEvent - { - /// Code of the key (see KeyCode enum) - public Keyboard.Key Code; - - /// Is the Alt modifier pressed? - public int Alt; - - /// Is the Control modifier pressed? - public int Control; - - /// Is the Shift modifier pressed? - public int Shift; - - /// Is the System modifier pressed? - public int System; - } - - //////////////////////////////////////////////////////////// - /// - /// Text event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct TextEvent - { - /// UTF-32 value of the character - public uint Unicode; - } - - //////////////////////////////////////////////////////////// - /// - /// Mouse move event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct MouseMoveEvent - { - /// X coordinate of the mouse cursor - public int X; - - /// Y coordinate of the mouse cursor - public int Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Mouse buttons event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct MouseButtonEvent - { - /// Code of the button (see MouseButton enum) - public Mouse.Button Button; - - /// X coordinate of the mouse cursor - public int X; - - /// Y coordinate of the mouse cursor - public int Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Mouse wheel event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct MouseWheelEvent - { - /// Scroll amount - public int Delta; - - /// X coordinate of the mouse cursor - public int X; - - /// Y coordinate of the mouse cursor - public int Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Joystick axis move event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct JoystickMoveEvent - { - /// Index of the joystick which triggered the event - public uint JoystickId; - - /// Joystick axis (see JoyAxis enum) - public Joystick.Axis Axis; - - /// Current position of the axis - public float Position; - } - - //////////////////////////////////////////////////////////// - /// - /// Joystick buttons event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct JoystickButtonEvent - { - /// Index of the joystick which triggered the event - public uint JoystickId; - - /// Index of the button - public uint Button; - } - - //////////////////////////////////////////////////////////// - /// - /// Joystick connect event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct JoystickConnectEvent - { - /// Index of the joystick which triggered the event - public uint JoystickId; - } - - //////////////////////////////////////////////////////////// - /// - /// Size event parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct SizeEvent - { - /// New width of the window - public uint Width; - - /// New height of the window - public uint Height; - } - - //////////////////////////////////////////////////////////// - /// - /// Event defines a system event and its parameters - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Explicit, Size = 20)] - public struct Event - { - /// Type of event (see EventType enum) - [FieldOffset(0)] - public EventType Type; - - /// Arguments for size events (Resized) - [FieldOffset(4)] - public SizeEvent Size; - - /// Arguments for key events (KeyPressed, KeyReleased) - [FieldOffset(4)] - public KeyEvent Key; - - /// Arguments for text events (TextEntered) - [FieldOffset(4)] - public TextEvent Text; - - /// Arguments for mouse move events (MouseMoved) - [FieldOffset(4)] - public MouseMoveEvent MouseMove; - - /// Arguments for mouse button events (MouseButtonPressed, MouseButtonReleased) - [FieldOffset(4)] - public MouseButtonEvent MouseButton; - - /// Arguments for mouse wheel events (MouseWheelMoved) - [FieldOffset(4)] - public MouseWheelEvent MouseWheel; - - /// Arguments for joystick axis events (JoystickMoved) - [FieldOffset(4)] - public JoystickMoveEvent JoystickMove; - - /// Arguments for joystick button events (JoystickButtonPressed, JoystickButtonReleased) - [FieldOffset(4)] - public JoystickButtonEvent JoystickButton; - - /// Arguments for joystick connect events (JoystickConnected, JoystickDisconnected) - [FieldOffset(4)] - public JoystickConnectEvent JoystickConnect; - } - } -} diff --git a/bindings/dotnet/src/Window/EventArgs.cs b/bindings/dotnet/src/Window/EventArgs.cs deleted file mode 100644 index 8ecf8d3c..00000000 --- a/bindings/dotnet/src/Window/EventArgs.cs +++ /dev/null @@ -1,378 +0,0 @@ -using System; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Keyboard event parameters - /// - //////////////////////////////////////////////////////////// - public class KeyEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the key arguments from a key event - /// - /// Key event - //////////////////////////////////////////////////////////// - public KeyEventArgs(KeyEvent e) - { - Code = e.Code; - Alt = e.Alt != 0; - Control = e.Control != 0; - Shift = e.Shift != 0; - System = e.System != 0; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[KeyEventArgs]" + - " Code(" + Code + ")" + - " Alt(" + Alt + ")" + - " Control(" + Control + ")" + - " Shift(" + Shift + ")" + - " System(" + System + ")"; - } - - /// Code of the key (see KeyCode enum) - public Keyboard.Key Code; - - /// Is the Alt modifier pressed? - public bool Alt; - - /// Is the Control modifier pressed? - public bool Control; - - /// Is the Shift modifier pressed? - public bool Shift; - - /// Is the System modifier pressed? - public bool System; - } - - //////////////////////////////////////////////////////////// - /// - /// Text event parameters - /// - //////////////////////////////////////////////////////////// - public class TextEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the text arguments from a text event - /// - /// Text event - //////////////////////////////////////////////////////////// - public TextEventArgs(TextEvent e) - { - Unicode = Char.ConvertFromUtf32((int)e.Unicode); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[TextEventArgs]" + - " Unicode(" + Unicode + ")"; - } - - /// UTF-16 value of the character - public string Unicode; - } - - //////////////////////////////////////////////////////////// - /// - /// Mouse move event parameters - /// - //////////////////////////////////////////////////////////// - public class MouseMoveEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the mouse move arguments from a mouse move event - /// - /// Mouse move event - //////////////////////////////////////////////////////////// - public MouseMoveEventArgs(MouseMoveEvent e) - { - X = e.X; - Y = e.Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[MouseMoveEventArgs]" + - " X(" + X + ")" + - " Y(" + Y + ")"; - } - - /// X coordinate of the mouse cursor - public int X; - - /// Y coordinate of the mouse cursor - public int Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Mouse buttons event parameters - /// - //////////////////////////////////////////////////////////// - public class MouseButtonEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the mouse button arguments from a mouse button event - /// - /// Mouse button event - //////////////////////////////////////////////////////////// - public MouseButtonEventArgs(MouseButtonEvent e) - { - Button = e.Button; - X = e.X; - Y = e.Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[MouseButtonEventArgs]" + - " Button(" + Button + ")" + - " X(" + X + ")" + - " Y(" + Y + ")"; - } - - /// Code of the button (see MouseButton enum) - public Mouse.Button Button; - - /// X coordinate of the mouse cursor - public int X; - - /// Y coordinate of the mouse cursor - public int Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Mouse wheel event parameters - /// - //////////////////////////////////////////////////////////// - public class MouseWheelEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the mouse wheel arguments from a mouse wheel event - /// - /// Mouse wheel event - //////////////////////////////////////////////////////////// - public MouseWheelEventArgs(MouseWheelEvent e) - { - Delta = e.Delta; - X = e.X; - Y = e.Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[MouseWheelEventArgs]" + - " Delta(" + Delta + ")" + - " X(" + X + ")" + - " Y(" + Y + ")"; - } - - /// Scroll amount - public int Delta; - - /// X coordinate of the mouse cursor - public int X; - - /// Y coordinate of the mouse cursor - public int Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Joystick axis move event parameters - /// - //////////////////////////////////////////////////////////// - public class JoystickMoveEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the joystick move arguments from a joystick move event - /// - /// Joystick move event - //////////////////////////////////////////////////////////// - public JoystickMoveEventArgs(JoystickMoveEvent e) - { - JoystickId = e.JoystickId; - Axis = e.Axis; - Position = e.Position; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[JoystickMoveEventArgs]" + - " JoystickId(" + JoystickId + ")" + - " Axis(" + Axis + ")" + - " Position(" + Position + ")"; - } - - /// Index of the joystick which triggered the event - public uint JoystickId; - - /// Joystick axis (see JoyAxis enum) - public Joystick.Axis Axis; - - /// Current position of the axis - public float Position; - } - - //////////////////////////////////////////////////////////// - /// - /// Joystick buttons event parameters - /// - //////////////////////////////////////////////////////////// - public class JoystickButtonEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the joystick button arguments from a joystick button event - /// - /// Joystick button event - //////////////////////////////////////////////////////////// - public JoystickButtonEventArgs(JoystickButtonEvent e) - { - JoystickId = e.JoystickId; - Button = e.Button; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[JoystickButtonEventArgs]" + - " JoystickId(" + JoystickId + ")" + - " Button(" + Button + ")"; - } - - /// Index of the joystick which triggered the event - public uint JoystickId; - - /// Index of the button - public uint Button; - } - - //////////////////////////////////////////////////////////// - /// - /// Joystick connection/disconnection event parameters - /// - //////////////////////////////////////////////////////////// - public class JoystickConnectEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the joystick connect arguments from a joystick connect event - /// - /// Joystick button event - //////////////////////////////////////////////////////////// - public JoystickConnectEventArgs(JoystickConnectEvent e) - { - JoystickId = e.JoystickId; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[JoystickConnectEventArgs]" + - " JoystickId(" + JoystickId + ")"; - } - - /// Index of the joystick which triggered the event - public uint JoystickId; - } - - //////////////////////////////////////////////////////////// - /// - /// Size event parameters - /// - //////////////////////////////////////////////////////////// - public class SizeEventArgs : EventArgs - { - //////////////////////////////////////////////////////////// - /// - /// Construct the size arguments from a size event - /// - /// Size event - //////////////////////////////////////////////////////////// - public SizeEventArgs(SizeEvent e) - { - Width = e.Width; - Height = e.Height; - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[SizeEventArgs]" + - " Width(" + Width + ")" + - " Height(" + Height + ")"; - } - - /// New width of the window - public uint Width; - - /// New height of the window - public uint Height; - } - } -} diff --git a/bindings/dotnet/src/Window/Joystick.cs b/bindings/dotnet/src/Window/Joystick.cs deleted file mode 100644 index 6b155566..00000000 --- a/bindings/dotnet/src/Window/Joystick.cs +++ /dev/null @@ -1,159 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Give access to the real-time state of the joysticks - /// - //////////////////////////////////////////////////////////// - public class Joystick - { - /// Maximum number of supported joysticks - public static readonly uint Count = 8; - - /// Maximum number of supported buttons - public static readonly uint ButtonCount = 32; - - /// Maximum number of supported axes - public static readonly uint AxisCount = 8; - - //////////////////////////////////////////////////////////// - /// - /// Axes supported by SFML joysticks - /// - //////////////////////////////////////////////////////////// - public enum Axis - { - /// The X axis - X, - - /// The Y axis - Y, - - /// The Z axis - Z, - - /// The R axis - R, - - /// The U axis - U, - - /// The V axis - V, - - /// The X axis of the point-of-view hat - PovX, - - /// TheY axis of the point-of-view hat - PovY - }; - - //////////////////////////////////////////////////////////// - /// - /// Check if a joystick is connected - /// - /// Index of the joystick to check - /// True if the joystick is connected, false otherwise - //////////////////////////////////////////////////////////// - public static bool IsConnected(uint joystick) - { - return sfJoystick_IsConnected(joystick); - } - - //////////////////////////////////////////////////////////// - /// - /// Return the number of buttons supported by a joystick - /// - /// If the joystick is not connected, this function returns 0. - /// Index of the joystick - /// Number of buttons supported by the joystick - //////////////////////////////////////////////////////////// - public static uint GetButtonCount(uint joystick) - { - return sfJoystick_GetButtonCount(joystick); - } - - //////////////////////////////////////////////////////////// - /// - /// Check if a joystick supports a given axis - /// - /// If the joystick is not connected, this function returns false. - /// Index of the joystick - /// Axis to check - /// True if the joystick supports the axis, false otherwise - //////////////////////////////////////////////////////////// - public static bool HasAxis(uint joystick, Axis axis) - { - return sfJoystick_HasAxis(joystick, axis); - } - - //////////////////////////////////////////////////////////// - /// - /// Check if a joystick button is pressed - /// - /// If the joystick is not connected, this function returns false. - /// Index of the joystick - /// Button to check - /// True if the button is pressed, false otherwise - //////////////////////////////////////////////////////////// - public static bool IsButtonPressed(uint joystick, uint button) - { - return sfJoystick_IsButtonPressed(joystick, button); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the current position of a joystick axis - /// - /// If the joystick is not connected, this function returns 0. - /// Index of the joystick - /// Axis to check - /// Current position of the axis, in range [-100 .. 100] - //////////////////////////////////////////////////////////// - public static float GetAxisPosition(uint joystick, Axis axis) - { - return sfJoystick_GetAxisPosition(joystick, axis); - } - - //////////////////////////////////////////////////////////// - /// - /// 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. - //////////////////////////////////////////////////////////// - public static void Update() - { - sfJoystick_Update(); - } - - #region Imports - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfJoystick_IsConnected(uint joystick); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfJoystick_GetButtonCount(uint joystick); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfJoystick_HasAxis(uint joystick, Axis axis); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfJoystick_IsButtonPressed(uint joystick, uint button); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern float sfJoystick_GetAxisPosition(uint joystick, Axis axis); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfJoystick_Update(); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Window/Keyboard.cs b/bindings/dotnet/src/Window/Keyboard.cs deleted file mode 100644 index 3f36cf0e..00000000 --- a/bindings/dotnet/src/Window/Keyboard.cs +++ /dev/null @@ -1,146 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Give access to the real-time state of the keyboard - /// - //////////////////////////////////////////////////////////// - public class Keyboard - { - //////////////////////////////////////////////////////////// - /// - /// Key codes - /// - //////////////////////////////////////////////////////////// - public enum Key - { - A, // 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 - Back, // 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, // + - Subtract, // - - Multiply, // * - Divide, // / - 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 F8 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 - }; - - //////////////////////////////////////////////////////////// - /// - /// Check if a key is pressed - /// - /// Key to check - /// True if the key is pressed, false otherwise - //////////////////////////////////////////////////////////// - public static bool IsKeyDown(Key key) - { - return sfKeyboard_IsKeyDown(key); - } - - #region Imports - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfKeyboard_IsKeyDown(Key Key); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Window/LoadingFailedException.cs b/bindings/dotnet/src/Window/LoadingFailedException.cs deleted file mode 100644 index cea37d27..00000000 --- a/bindings/dotnet/src/Window/LoadingFailedException.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System; -using System.Runtime.Serialization; - -namespace SFML -{ - //////////////////////////////////////////////////////////// - /// - /// Exception thrown by SFML whenever loading a resource fails - /// - //////////////////////////////////////////////////////////// - [Serializable] - public class LoadingFailedException : Exception - { - //////////////////////////////////////////////////////////// - /// - /// Default constructor (unknown error) - /// - //////////////////////////////////////////////////////////// - public LoadingFailedException() : - base("Failed to load a resource") - { - } - - //////////////////////////////////////////////////////////// - /// - /// Failure to load a resource from memory - /// - /// Name of the resource - //////////////////////////////////////////////////////////// - public LoadingFailedException(string resourceName) : - base("Failed to load " + resourceName + " from memory") - { - } - - //////////////////////////////////////////////////////////// - /// - /// Failure to load a resource from memory - /// - /// Name of the resource - /// Exception which is the cause ofthe current exception - //////////////////////////////////////////////////////////// - public LoadingFailedException(string resourceName, Exception innerException) : - base("Failed to load " + resourceName + " from memory", innerException) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Failure to load a resource from a file - /// - /// Name of the resource - /// Path of the file - //////////////////////////////////////////////////////////// - public LoadingFailedException(string resourceName, string filename) : - base("Failed to load " + resourceName + " from file " + filename) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Failure to load a resource from a file - /// - /// Name of the resource - /// Path of the file - /// Exception which is the cause ofthe current exception - //////////////////////////////////////////////////////////// - public LoadingFailedException(string resourceName, string filename, Exception innerException) : - base("Failed to load " + resourceName + " from file " + filename, innerException) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Initialize an instance of the exception with serialized data - /// - /// Serialized data - /// Contextual informations - //////////////////////////////////////////////////////////// - public LoadingFailedException(SerializationInfo info, StreamingContext context) : - base(info, context) - { - } - } -} diff --git a/bindings/dotnet/src/Window/Mouse.cs b/bindings/dotnet/src/Window/Mouse.cs deleted file mode 100644 index 3a79725d..00000000 --- a/bindings/dotnet/src/Window/Mouse.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Give access to the real-time state of the mouse - /// - //////////////////////////////////////////////////////////// - public class Mouse - { - //////////////////////////////////////////////////////////// - /// - /// Mouse buttons - /// - //////////////////////////////////////////////////////////// - public enum Button - { - /// The left mouse button - Left, - - /// The right mouse button - Right, - - /// The middle (wheel) mouse button - Middle, - - /// The first extra mouse button - XButton1, - - /// The second extra mouse button - XButton2, - - /// Keep last -- the total number of mouse buttons - ButtonCount - }; - - //////////////////////////////////////////////////////////// - /// - /// Check if a mouse button is pressed - /// - /// Button to check - /// True if the button is pressed, false otherwise - //////////////////////////////////////////////////////////// - public static bool IsButtonPressed(Button button) - { - return sfMouse_IsButtonPressed(button); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the current position of the mouse - /// - /// This function returns the current position of the mouse - /// cursor. - /// If the cursor is over a SFML window, the returned position - /// is relative to this window. Otherwise, the returned position - /// is in desktop coordinates. - /// Current position of the mouse - //////////////////////////////////////////////////////////// - public static Vector2i GetPosition() - { - Vector2i position; - sfMouse_GetPosition(out position.X, out position.Y); - return position; - } - - #region Imports - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfMouse_IsButtonPressed(Button button); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfMouse_GetPosition(out int x, out int y); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Window/ObjectBase.cs b/bindings/dotnet/src/Window/ObjectBase.cs deleted file mode 100644 index 6c3b08b5..00000000 --- a/bindings/dotnet/src/Window/ObjectBase.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace SFML -{ - //////////////////////////////////////////////////////////// - /// - /// The ObjectBase class is an abstract base for every - /// SFML object. It's meant for internal use only - /// - //////////////////////////////////////////////////////////// - public abstract class ObjectBase : IDisposable - { - //////////////////////////////////////////////////////////// - /// - /// Construct the object from a pointer to the C library object - /// - /// Internal pointer to the object in the C libraries - //////////////////////////////////////////////////////////// - public ObjectBase(IntPtr thisPtr) - { - myThis = thisPtr; - } - - //////////////////////////////////////////////////////////// - /// - /// Dispose the object - /// - //////////////////////////////////////////////////////////// - ~ObjectBase() - { - Dispose(false); - } - - //////////////////////////////////////////////////////////// - /// - /// Access to the internal pointer of the object. - /// For internal use only - /// - //////////////////////////////////////////////////////////// - public IntPtr This - { - get {return myThis;} - } - - //////////////////////////////////////////////////////////// - /// - /// Explicitely dispose the object - /// - //////////////////////////////////////////////////////////// - public void Dispose() - { - Dispose(true); - GC.SuppressFinalize(this); - } - - //////////////////////////////////////////////////////////// - /// - /// Destroy the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - private void Dispose(bool disposing) - { - if (myThis != IntPtr.Zero) - { - Destroy(disposing); - myThis = IntPtr.Zero; - } - } - - //////////////////////////////////////////////////////////// - /// - /// Destroy the object (implementation is left to each derived class) - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected abstract void Destroy(bool disposing); - - //////////////////////////////////////////////////////////// - /// - /// Set the pointer to the internal object. For internal use only - /// - /// Pointer to the internal object in C library - //////////////////////////////////////////////////////////// - protected void SetThis(IntPtr thisPtr) - { - myThis = thisPtr; - } - - private IntPtr myThis = IntPtr.Zero; - } -} diff --git a/bindings/dotnet/src/Window/Vector2.cs b/bindings/dotnet/src/Window/Vector2.cs deleted file mode 100644 index 8a07669a..00000000 --- a/bindings/dotnet/src/Window/Vector2.cs +++ /dev/null @@ -1,246 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Vector2f is an utility class for manipulating 2 dimensional - /// vectors with float components - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct Vector2f - { - //////////////////////////////////////////////////////////// - /// - /// Construct the vector from its coordinates - /// - /// X coordinate - /// Y coordinate - //////////////////////////////////////////////////////////// - public Vector2f(float x, float y) - { - X = x; - Y = y; - } - - //////////////////////////////////////////////////////////// - /// - /// Operator - overload ; returns the opposite of a vector - /// - /// Vector to negate - /// -v - //////////////////////////////////////////////////////////// - public static Vector2f operator -(Vector2f v) - { - return new Vector2f(-v.X, -v.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator - overload ; subtracts two vectors - /// - /// First vector - /// Second vector - /// v1 - v2 - //////////////////////////////////////////////////////////// - public static Vector2f operator -(Vector2f v1, Vector2f v2) - { - return new Vector2f(v1.X - v2.X, v1.Y - v2.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator + overload ; add two vectors - /// - /// First vector - /// Second vector - /// v1 + v2 - //////////////////////////////////////////////////////////// - public static Vector2f operator +(Vector2f v1, Vector2f v2) - { - return new Vector2f(v1.X + v2.X, v1.Y + v2.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator * overload ; multiply a vector by a scalar value - /// - /// Vector - /// Scalar value - /// v * x - //////////////////////////////////////////////////////////// - public static Vector2f operator *(Vector2f v, float x) - { - return new Vector2f(v.X * x, v.Y * x); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator * overload ; multiply a scalar value by a vector - /// - /// Scalar value - /// Vector - /// x * v - //////////////////////////////////////////////////////////// - public static Vector2f operator *(float x, Vector2f v) - { - return new Vector2f(v.X * x, v.Y * x); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator / overload ; divide a vector by a scalar value - /// - /// Vector - /// Scalar value - /// v / x - //////////////////////////////////////////////////////////// - public static Vector2f operator /(Vector2f v, float x) - { - return new Vector2f(v.X / x, v.Y / x); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Vector2f]" + - " X(" + X + ")" + - " Y(" + Y + ")"; - } - - /// X (horizontal) component of the vector - public float X; - - /// Y (vertical) component of the vector - public float Y; - } - - //////////////////////////////////////////////////////////// - /// - /// Vector2i is an utility class for manipulating 2 dimensional - /// vectors with integer components - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct Vector2i - { - //////////////////////////////////////////////////////////// - /// - /// Construct the vector from its coordinates - /// - /// X coordinate - /// Y coordinate - //////////////////////////////////////////////////////////// - public Vector2i(int x, int y) - { - X = x; - Y = y; - } - - //////////////////////////////////////////////////////////// - /// - /// Operator - overload ; returns the opposite of a vector - /// - /// Vector to negate - /// -v - //////////////////////////////////////////////////////////// - public static Vector2i operator -(Vector2i v) - { - return new Vector2i(-v.X, -v.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator - overload ; subtracts two vectors - /// - /// First vector - /// Second vector - /// v1 - v2 - //////////////////////////////////////////////////////////// - public static Vector2i operator -(Vector2i v1, Vector2i v2) - { - return new Vector2i(v1.X - v2.X, v1.Y - v2.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator + overload ; add two vectors - /// - /// First vector - /// Second vector - /// v1 + v2 - //////////////////////////////////////////////////////////// - public static Vector2i operator +(Vector2i v1, Vector2i v2) - { - return new Vector2i(v1.X + v2.X, v1.Y + v2.Y); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator * overload ; multiply a vector by a scalar value - /// - /// Vector - /// Scalar value - /// v * x - //////////////////////////////////////////////////////////// - public static Vector2i operator *(Vector2i v, int x) - { - return new Vector2i(v.X * x, v.Y * x); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator * overload ; multiply a scalar value by a vector - /// - /// Scalar value - /// Vector - /// x * v - //////////////////////////////////////////////////////////// - public static Vector2i operator *(int x, Vector2i v) - { - return new Vector2i(v.X * x, v.Y * x); - } - - //////////////////////////////////////////////////////////// - /// - /// Operator / overload ; divide a vector by a scalar value - /// - /// Vector - /// Scalar value - /// v / x - //////////////////////////////////////////////////////////// - public static Vector2i operator /(Vector2i v, int x) - { - return new Vector2i(v.X / x, v.Y / x); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Vector2i]" + - " X(" + X + ")" + - " Y(" + Y + ")"; - } - - /// X (horizontal) component of the vector - public int X; - - /// Y (vertical) component of the vector - public int Y; - } - } -} diff --git a/bindings/dotnet/src/Window/VideoMode.cs b/bindings/dotnet/src/Window/VideoMode.cs deleted file mode 100644 index 29d47d56..00000000 --- a/bindings/dotnet/src/Window/VideoMode.cs +++ /dev/null @@ -1,124 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Security; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// VideoMode defines a video mode (width, height, bpp, frequency) - /// and provides static functions for getting modes supported - /// by the display device - /// - //////////////////////////////////////////////////////////// - [StructLayout(LayoutKind.Sequential)] - public struct VideoMode - { - //////////////////////////////////////////////////////////// - /// - /// Construct the video mode with its width and height - /// - /// Video mode width - /// Video mode height - //////////////////////////////////////////////////////////// - public VideoMode(uint width, uint height) : - this(width, height, 32) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Construct the video mode with its width, height and depth - /// - /// Video mode width - /// Video mode height - /// Video mode depth (bits per pixel) - //////////////////////////////////////////////////////////// - public VideoMode(uint width, uint height, uint bpp) - { - Width = width; - Height = height; - BitsPerPixel = bpp; - } - - //////////////////////////////////////////////////////////// - /// - /// Tell whether or not the video mode is supported - /// - /// True if the video mode is valid, false otherwise - //////////////////////////////////////////////////////////// - public bool IsValid() - { - return sfVideoMode_IsValid(this); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the list of all the supported fullscreen video modes - /// - //////////////////////////////////////////////////////////// - public static VideoMode[] FullscreenModes - { - get - { - unsafe - { - uint Count; - VideoMode* ModesPtr = sfVideoMode_GetFullscreenModes(out Count); - VideoMode[] Modes = new VideoMode[Count]; - for (uint i = 0; i < Count; ++i) - Modes[i] = ModesPtr[i]; - - return Modes; - } - } - } - - //////////////////////////////////////////////////////////// - /// - /// Get the current desktop video mode - /// - //////////////////////////////////////////////////////////// - public static VideoMode DesktopMode - { - get {return sfVideoMode_GetDesktopMode();} - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[VideoMode]" + - " Width(" + Width + ")" + - " Height(" + Height + ")" + - " BitsPerPixel(" + BitsPerPixel + ")"; - } - - /// Video mode width, in pixels - public uint Width; - - /// Video mode height, in pixels - public uint Height; - - /// Video mode depth, in bits per pixel - public uint BitsPerPixel; - - #region Imports - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern VideoMode sfVideoMode_GetDesktopMode(); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern VideoMode* sfVideoMode_GetFullscreenModes(out uint Count); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfVideoMode_IsValid(VideoMode Mode); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Window/Window.cs b/bindings/dotnet/src/Window/Window.cs deleted file mode 100644 index 1a99e017..00000000 --- a/bindings/dotnet/src/Window/Window.cs +++ /dev/null @@ -1,690 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Collections.Generic; -using System.Security; - -namespace SFML -{ - namespace Window - { - //////////////////////////////////////////////////////////// - /// - /// Enumeration of window creation styles - /// - //////////////////////////////////////////////////////////// - [Flags] - public enum Styles - { - /// No border / title bar (this flag and all others are mutually exclusive) - None = 0, - - /// Title bar + fixed border - Titlebar = 1 << 0, - - /// Titlebar + resizable border + maximize button - Resize = 1 << 1, - - /// Titlebar + close button - Close = 1 << 2, - - /// Fullscreen mode (this flag and all others are mutually exclusive)) - Fullscreen = 1 << 3, - - /// Default window style (titlebar + resize + close) - Default = Titlebar | Resize | Close - } - - //////////////////////////////////////////////////////////// - /// - /// Window is a rendering window ; it can create a new window - /// or connect to an existing one - /// - //////////////////////////////////////////////////////////// - public class Window : ObjectBase - { - //////////////////////////////////////////////////////////// - /// - /// Create the window with default style and creation settings - /// - /// Video mode to use - /// Title of the window - //////////////////////////////////////////////////////////// - public Window(VideoMode mode, string title) : - this(mode, title, Styles.Default, new ContextSettings(0, 0)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Create the window with default creation settings - /// - /// Video mode to use - /// Title of the window - /// Window style (Resize | Close by default) - //////////////////////////////////////////////////////////// - public Window(VideoMode mode, string title, Styles style) : - this(mode, title, style, new ContextSettings(0, 0)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Create the window - /// - /// Video mode to use - /// Title of the window - /// Window style (Resize | Close by default) - /// Creation parameters - //////////////////////////////////////////////////////////// - public Window(VideoMode mode, string title, Styles style, ContextSettings settings) : - base(sfWindow_Create(mode, title, style, ref settings)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Create the window from an existing control with default creation settings - /// - /// Platform-specific handle of the control - //////////////////////////////////////////////////////////// - public Window(IntPtr handle) : - this(handle, new ContextSettings(0, 0)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Create the window from an existing control - /// - /// Platform-specific handle of the control - /// Creation parameters - //////////////////////////////////////////////////////////// - public Window(IntPtr Handle, ContextSettings settings) : - base(sfWindow_CreateFromHandle(Handle, ref settings)) - { - } - - //////////////////////////////////////////////////////////// - /// - /// Tell whether or not the window is opened (ie. has been created). - /// Note that a hidden window (Show(false)) - /// will still return true - /// - /// True if the window is opened - //////////////////////////////////////////////////////////// - public virtual bool IsOpened() - { - return sfWindow_IsOpened(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Close (destroy) the window. - /// The Window instance remains valid and you can call - /// Create to recreate the window - /// - //////////////////////////////////////////////////////////// - public virtual void Close() - { - sfWindow_Close(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Display the window on screen - /// - //////////////////////////////////////////////////////////// - public virtual void Display() - { - sfWindow_Display(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Width of the rendering region of the window - /// - //////////////////////////////////////////////////////////// - public virtual uint Width - { - get {return sfWindow_GetWidth(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Height of the rendering region of the window - /// - //////////////////////////////////////////////////////////// - public virtual uint Height - { - get {return sfWindow_GetHeight(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Creation settings of the window - /// - //////////////////////////////////////////////////////////// - public virtual ContextSettings Settings - { - get {return sfWindow_GetSettings(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Enable / disable vertical synchronization - /// - /// True to enable v-sync, false to deactivate - //////////////////////////////////////////////////////////// - public virtual void EnableVerticalSync(bool enable) - { - sfWindow_EnableVerticalSync(This, enable); - } - - //////////////////////////////////////////////////////////// - /// - /// Show or hide the mouse cursor - /// - /// True to show, false to hide - //////////////////////////////////////////////////////////// - public virtual void ShowMouseCursor(bool show) - { - sfWindow_ShowMouseCursor(This, show); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the position of the mouse cursor - /// - /// Left coordinate of the cursor, relative to the window - /// Top coordinate of the cursor, relative to the window - //////////////////////////////////////////////////////////// - public virtual void SetCursorPosition(uint x, uint y) - { - sfWindow_SetCursorPosition(This, x, y); - } - - //////////////////////////////////////////////////////////// - /// - /// Get the position of the mouse cursor - /// - /// The current position of the mouse cursor, relative to the window - //////////////////////////////////////////////////////////// - public virtual Vector2i GetCursorPosition() - { - Vector2i position; - sfWindow_GetCursorPosition(This, out position.X, out position.Y); - return position; - } - - //////////////////////////////////////////////////////////// - /// - /// Change the position of the window on screen. - /// Only works for top-level windows - /// - /// Left position - /// Top position - //////////////////////////////////////////////////////////// - public virtual void SetPosition(int x, int y) - { - sfWindow_SetPosition(This, x, y); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the size of the rendering region of the window - /// - /// New width - /// New height - //////////////////////////////////////////////////////////// - public virtual void SetSize(uint width, uint height) - { - sfWindow_SetSize(This, width, height); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the title of the window - /// - /// New title - //////////////////////////////////////////////////////////// - public virtual void SetTitle(string title) - { - sfWindow_SetTitle(This, title); - } - - //////////////////////////////////////////////////////////// - /// - /// Show or hide the window - /// - /// True to show, false to hide - //////////////////////////////////////////////////////////// - public virtual void Show(bool show) - { - sfWindow_Show(This, show); - } - - //////////////////////////////////////////////////////////// - /// - /// Enable or disable automatic key-repeat. - /// Automatic key-repeat is enabled by default - /// - /// True to enable, false to disable - //////////////////////////////////////////////////////////// - public virtual void EnableKeyRepeat(bool enable) - { - sfWindow_EnableKeyRepeat(This, enable); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the window's icon - /// - /// Icon's width, in pixels - /// Icon's height, in pixels - /// Array of pixels, format must be RGBA 32 bits - //////////////////////////////////////////////////////////// - public virtual void SetIcon(uint width, uint height, byte[] pixels) - { - unsafe - { - fixed (byte* PixelsPtr = pixels) - { - sfWindow_SetIcon(This, width, height, PixelsPtr); - } - } - } - - //////////////////////////////////////////////////////////// - /// - /// Activate the window as the current target - /// for rendering - /// - /// True if operation was successful, false otherwise - //////////////////////////////////////////////////////////// - public virtual bool SetActive() - { - return SetActive(true); - } - - //////////////////////////////////////////////////////////// - /// - /// Activate of deactivate the window as the current target - /// for rendering - /// - /// True to activate, false to deactivate (true by default) - /// True if operation was successful, false otherwise - //////////////////////////////////////////////////////////// - public virtual bool SetActive(bool active) - { - return sfWindow_SetActive(This, active); - } - - //////////////////////////////////////////////////////////// - /// - /// Limit the framerate to a maximum fixed frequency - /// - /// Framerate limit, in frames per seconds (use 0 to disable limit) - //////////////////////////////////////////////////////////// - public virtual void SetFramerateLimit(uint limit) - { - sfWindow_SetFramerateLimit(This, limit); - } - - //////////////////////////////////////////////////////////// - /// - /// Get time elapsed since last frame - /// - /// Time elapsed, in milliseconds - //////////////////////////////////////////////////////////// - public virtual uint GetFrameTime() - { - return sfWindow_GetFrameTime(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Change the joystick threshold, ie. the value below which - /// no move event will be generated - /// - /// New threshold, in range [0, 100] - //////////////////////////////////////////////////////////// - public virtual void SetJoystickThreshold(float threshold) - { - sfWindow_SetJoystickThreshold(This, threshold); - } - - //////////////////////////////////////////////////////////// - /// - /// OS-specific handle of the window - /// - //////////////////////////////////////////////////////////// - public virtual IntPtr SystemHandle - { - get {return sfWindow_GetSystemHandle(This);} - } - - //////////////////////////////////////////////////////////// - /// - /// Wait for a new event and dispatch it to the corresponding - /// event handler - /// - //////////////////////////////////////////////////////////// - public void WaitAndDispatchEvents() - { - Event e; - if (WaitEvent(out e)) - CallEventHandler(e); - } - - //////////////////////////////////////////////////////////// - /// - /// Call the event handlers for each pending event - /// - //////////////////////////////////////////////////////////// - public void DispatchEvents() - { - Event e; - while (PollEvent(out e)) - CallEventHandler(e); - } - - //////////////////////////////////////////////////////////// - /// - /// Provide a string describing the object - /// - /// String description of the object - //////////////////////////////////////////////////////////// - public override string ToString() - { - return "[Window]" + - " Width(" + Width + ")" + - " Height(" + Height + ")" + - " Settings(" + Settings + ")"; - } - - //////////////////////////////////////////////////////////// - /// - /// Constructor for derived classes - /// - /// Pointer to the internal object - /// Internal hack :) - //////////////////////////////////////////////////////////// - protected Window(IntPtr thisPtr, int dummy) : - base(thisPtr) - { - // TODO : find a cleaner way of separating this constructor from Window(IntPtr handle) - } - - //////////////////////////////////////////////////////////// - /// - /// Internal function to get the next event (non-blocking) - /// - /// Variable to fill with the raw pointer to the event structure - /// True if there was an event, false otherwise - //////////////////////////////////////////////////////////// - protected virtual bool PollEvent(out Event eventToFill) - { - return sfWindow_PollEvent(This, out eventToFill); - } - - //////////////////////////////////////////////////////////// - /// - /// Internal function to get the next event (blocking) - /// - /// Variable to fill with the raw pointer to the event structure - /// False if any error occured - //////////////////////////////////////////////////////////// - protected virtual bool WaitEvent(out Event eventToFill) - { - return sfWindow_WaitEvent(This, out eventToFill); - } - - //////////////////////////////////////////////////////////// - /// - /// Handle the destruction of the object - /// - /// Is the GC disposing the object, or is it an explicit call ? - //////////////////////////////////////////////////////////// - protected override void Destroy(bool disposing) - { - sfWindow_Destroy(This); - } - - //////////////////////////////////////////////////////////// - /// - /// Call the event handler for the given event - /// - /// Event to dispatch - //////////////////////////////////////////////////////////// - private void CallEventHandler(Event e) - { - switch (e.Type) - { - case EventType.Closed : - if (Closed != null) - Closed(this, EventArgs.Empty); - break; - - case EventType.GainedFocus : - if (GainedFocus != null) - GainedFocus(this, EventArgs.Empty); - break; - - case EventType.JoystickButtonPressed: - if (JoystickButtonPressed != null) - JoystickButtonPressed(this, new JoystickButtonEventArgs(e.JoystickButton)); - break; - - case EventType.JoystickButtonReleased : - if (JoystickButtonReleased != null) - JoystickButtonReleased(this, new JoystickButtonEventArgs(e.JoystickButton)); - break; - - case EventType.JoystickMoved : - if (JoystickMoved != null) - JoystickMoved(this, new JoystickMoveEventArgs(e.JoystickMove)); - break; - - case EventType.JoystickConnected: - if (JoystickConnected != null) - JoystickConnected(this, new JoystickConnectEventArgs(e.JoystickConnect)); - break; - - case EventType.JoystickDisconnected: - if (JoystickDisconnected != null) - JoystickDisconnected(this, new JoystickConnectEventArgs(e.JoystickConnect)); - break; - - case EventType.KeyPressed : - if (KeyPressed != null) - KeyPressed(this, new KeyEventArgs(e.Key)); - break; - - case EventType.KeyReleased : - if (KeyReleased != null) - KeyReleased(this, new KeyEventArgs(e.Key)); - break; - - case EventType.LostFocus : - if (LostFocus != null) - LostFocus(this, EventArgs.Empty); - break; - - case EventType.MouseButtonPressed : - if (MouseButtonPressed != null) - MouseButtonPressed(this, new MouseButtonEventArgs(e.MouseButton)); - break; - - case EventType.MouseButtonReleased : - if (MouseButtonReleased != null) - MouseButtonReleased(this, new MouseButtonEventArgs(e.MouseButton)); - break; - - case EventType.MouseEntered : - if (MouseEntered != null) - MouseEntered(this, EventArgs.Empty); - break; - - case EventType.MouseLeft : - if (MouseLeft != null) - MouseLeft(this, EventArgs.Empty); - break; - - case EventType.MouseMoved : - if (MouseMoved != null) - MouseMoved(this, new MouseMoveEventArgs(e.MouseMove)); - break; - - case EventType.MouseWheelMoved : - if (MouseWheelMoved != null) - MouseWheelMoved(this, new MouseWheelEventArgs(e.MouseWheel)); - break; - - case EventType.Resized : - if (Resized != null) - Resized(this, new SizeEventArgs(e.Size)); - break; - - case EventType.TextEntered : - if (TextEntered != null) - TextEntered(this, new TextEventArgs(e.Text)); - break; - } - } - - /// Event handler for the Closed event - public event EventHandler Closed = null; - - /// Event handler for the Resized event - public event EventHandler Resized = null; - - /// Event handler for the LostFocus event - public event EventHandler LostFocus = null; - - /// Event handler for the GainedFocus event - public event EventHandler GainedFocus = null; - - /// Event handler for the TextEntered event - public event EventHandler TextEntered = null; - - /// Event handler for the KeyPressed event - public event EventHandler KeyPressed = null; - - /// Event handler for the KeyReleased event - public event EventHandler KeyReleased = null; - - /// Event handler for the MouseWheelMoved event - public event EventHandler MouseWheelMoved = null; - - /// Event handler for the MouseButtonPressed event - public event EventHandler MouseButtonPressed = null; - - /// Event handler for the MouseButtonReleased event - public event EventHandler MouseButtonReleased = null; - - /// Event handler for the MouseMoved event - public event EventHandler MouseMoved = null; - - /// Event handler for the MouseEntered event - public event EventHandler MouseEntered = null; - - /// Event handler for the MouseLeft event - public event EventHandler MouseLeft = null; - - /// Event handler for the JoystickButtonPressed event - public event EventHandler JoystickButtonPressed = null; - - /// Event handler for the JoystickButtonReleased event - public event EventHandler JoystickButtonReleased = null; - - /// Event handler for the JoystickMoved event - public event EventHandler JoystickMoved = null; - - /// Event handler for the JoystickConnected event - public event EventHandler JoystickConnected = null; - - /// Event handler for the JoystickDisconnected event - public event EventHandler JoystickDisconnected = null; - - #region Imports - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfWindow_Create(VideoMode Mode, string Title, Styles Style, ref ContextSettings Params); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfWindow_CreateFromHandle(IntPtr Handle, ref ContextSettings Params); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_Destroy(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfWindow_IsOpened(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_Close(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfWindow_PollEvent(IntPtr This, out Event Evt); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfWindow_WaitEvent(IntPtr This, out Event Evt); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_Display(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfWindow_GetWidth(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfWindow_GetHeight(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern ContextSettings sfWindow_GetSettings(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_EnableVerticalSync(IntPtr This, bool Enable); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_ShowMouseCursor(IntPtr This, bool Show); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_SetCursorPosition(IntPtr This, uint X, uint Y); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_GetCursorPosition(IntPtr This, out int X, out int Y); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_SetPosition(IntPtr This, int X, int Y); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_SetSize(IntPtr This, uint Width, uint Height); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_SetTitle(IntPtr This, string title); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_Show(IntPtr This, bool Show); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_EnableKeyRepeat(IntPtr This, bool Enable); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - unsafe static extern void sfWindow_SetIcon(IntPtr This, uint Width, uint Height, byte* Pixels); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern bool sfWindow_SetActive(IntPtr This, bool Active); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_SetFramerateLimit(IntPtr This, uint Limit); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern uint sfWindow_GetFrameTime(IntPtr This); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern void sfWindow_SetJoystickThreshold(IntPtr This, float Threshold); - - [DllImport("csfml-window-2", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] - static extern IntPtr sfWindow_GetSystemHandle(IntPtr This); - #endregion - } - } -} diff --git a/bindings/dotnet/src/Window/sfml-window.csproj b/bindings/dotnet/src/Window/sfml-window.csproj deleted file mode 100644 index 6a2ead75..00000000 --- a/bindings/dotnet/src/Window/sfml-window.csproj +++ /dev/null @@ -1,85 +0,0 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {D17DE83D-A592-461F-8AF2-53F9E22E1D0F} - Library - Properties - SFML.Window - sfmlnet-window-2 - - - - - 2.0 - - - - - true - ..\..\lib\x86\ - DEBUG;TRACE - true - ..\..\doc\build\window-doc.xml - full - x86 - prompt - - - ..\..\lib\x86\ - TRACE - true - ..\..\doc\build\window-doc.xml - true - pdbonly - x86 - prompt - - - true - ..\..\lib\x64\ - DEBUG;TRACE - true - ..\..\doc\build\window-doc.xml - full - x64 - prompt - - - ..\..\lib\x64\ - TRACE - true - ..\..\doc\build\window-doc.xml - true - pdbonly - x64 - prompt - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From b189b59af45696e1680146c777e004e0cdcd6d8d Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Wed, 6 Jul 2011 22:42:56 +0200 Subject: [PATCH 12/23] Removed the C binding (moved to its own repository) --- bindings/c/CMakeLists.txt | 60 - bindings/c/cmake/Config.cmake | 48 - bindings/c/cmake/Macros.cmake | 95 -- bindings/c/doc/CMakeLists.txt | 50 - bindings/c/doc/doxyfile.in | 1513 ----------------- bindings/c/doc/doxygen.css | 681 -------- bindings/c/doc/footer.htm | 8 - bindings/c/doc/header.htm | 12 - bindings/c/doc/logo-bg.jpg | Bin 22457 -> 0 bytes bindings/c/doc/logo.jpg | Bin 116513 -> 0 bytes bindings/c/doc/mainpage.hpp | 94 - bindings/c/include/SFML/Audio.h | 41 - bindings/c/include/SFML/Audio/Listener.h | 91 - bindings/c/include/SFML/Audio/Music.h | 292 ---- bindings/c/include/SFML/Audio/Sound.h | 278 --- bindings/c/include/SFML/Audio/SoundBuffer.h | 151 -- .../include/SFML/Audio/SoundBufferRecorder.h | 91 - bindings/c/include/SFML/Audio/SoundRecorder.h | 103 -- bindings/c/include/SFML/Audio/SoundStatus.h | 42 - bindings/c/include/SFML/Audio/SoundStream.h | 294 ---- bindings/c/include/SFML/Audio/Types.h | 36 - bindings/c/include/SFML/Config.h | 150 -- bindings/c/include/SFML/Graphics.h | 46 - bindings/c/include/SFML/Graphics/BlendMode.h | 46 - bindings/c/include/SFML/Graphics/Color.h | 107 -- bindings/c/include/SFML/Graphics/Font.h | 132 -- bindings/c/include/SFML/Graphics/Glyph.h | 45 - bindings/c/include/SFML/Graphics/Image.h | 246 --- bindings/c/include/SFML/Graphics/Rect.h | 81 - .../c/include/SFML/Graphics/RenderImage.h | 206 --- .../c/include/SFML/Graphics/RenderWindow.h | 385 ----- bindings/c/include/SFML/Graphics/Shader.h | 157 -- bindings/c/include/SFML/Graphics/Shape.h | 464 ----- bindings/c/include/SFML/Graphics/Sprite.h | 403 ----- bindings/c/include/SFML/Graphics/Text.h | 434 ----- bindings/c/include/SFML/Graphics/Types.h | 40 - bindings/c/include/SFML/Graphics/View.h | 209 --- bindings/c/include/SFML/Network.h | 41 - bindings/c/include/SFML/Network/Ftp.h | 449 ----- bindings/c/include/SFML/Network/Http.h | 257 --- bindings/c/include/SFML/Network/IpAddress.h | 131 -- bindings/c/include/SFML/Network/Packet.h | 158 -- .../c/include/SFML/Network/SocketSelector.h | 118 -- .../c/include/SFML/Network/SocketStatus.h | 43 - bindings/c/include/SFML/Network/TcpListener.h | 97 -- bindings/c/include/SFML/Network/TcpSocket.h | 172 -- bindings/c/include/SFML/Network/Types.h | 43 - bindings/c/include/SFML/Network/UdpSocket.h | 162 -- bindings/c/include/SFML/OpenGL.h | 58 - bindings/c/include/SFML/System.h | 39 - bindings/c/include/SFML/System/Clock.h | 80 - bindings/c/include/SFML/System/Mutex.h | 68 - bindings/c/include/SFML/System/Sleep.h | 43 - bindings/c/include/SFML/System/Thread.h | 80 - bindings/c/include/SFML/System/Types.h | 33 - bindings/c/include/SFML/Window.h | 42 - bindings/c/include/SFML/Window/Context.h | 61 - bindings/c/include/SFML/Window/Event.h | 178 -- bindings/c/include/SFML/Window/Input.h | 102 -- bindings/c/include/SFML/Window/Joystick.h | 135 -- bindings/c/include/SFML/Window/Keyboard.h | 156 -- bindings/c/include/SFML/Window/Mouse.h | 74 - bindings/c/include/SFML/Window/Types.h | 33 - bindings/c/include/SFML/Window/VideoMode.h | 77 - bindings/c/include/SFML/Window/Window.h | 319 ---- bindings/c/include/SFML/Window/WindowHandle.h | 57 - bindings/c/license.txt | 31 - bindings/c/src/SFML/Audio/CMakeLists.txt | 34 - bindings/c/src/SFML/Audio/Listener.cpp | 96 -- bindings/c/src/SFML/Audio/Music.cpp | 297 ---- bindings/c/src/SFML/Audio/MusicStruct.h | 43 - bindings/c/src/SFML/Audio/Sound.cpp | 277 --- bindings/c/src/SFML/Audio/SoundBuffer.cpp | 157 -- .../c/src/SFML/Audio/SoundBufferRecorder.cpp | 90 - .../SFML/Audio/SoundBufferRecorderStruct.h | 45 - bindings/c/src/SFML/Audio/SoundBufferStruct.h | 43 - bindings/c/src/SFML/Audio/SoundRecorder.cpp | 90 - .../c/src/SFML/Audio/SoundRecorderStruct.h | 102 -- bindings/c/src/SFML/Audio/SoundStream.cpp | 265 --- bindings/c/src/SFML/Audio/SoundStreamStruct.h | 97 -- bindings/c/src/SFML/Audio/SoundStruct.h | 45 - bindings/c/src/SFML/CMakeLists.txt | 33 - bindings/c/src/SFML/ConvertEvent.h | 107 -- bindings/c/src/SFML/Graphics/CMakeLists.txt | 46 - bindings/c/src/SFML/Graphics/Color.cpp | 102 -- bindings/c/src/SFML/Graphics/Font.cpp | 148 -- bindings/c/src/SFML/Graphics/FontStruct.h | 46 - bindings/c/src/SFML/Graphics/Image.cpp | 254 --- bindings/c/src/SFML/Graphics/ImageStruct.h | 68 - bindings/c/src/SFML/Graphics/Rect.cpp | 100 -- bindings/c/src/SFML/Graphics/RenderImage.cpp | 248 --- .../c/src/SFML/Graphics/RenderImageStruct.h | 48 - bindings/c/src/SFML/Graphics/RenderWindow.cpp | 481 ------ .../c/src/SFML/Graphics/RenderWindowStruct.h | 46 - bindings/c/src/SFML/Graphics/Shader.cpp | 167 -- bindings/c/src/SFML/Graphics/ShaderStruct.h | 43 - bindings/c/src/SFML/Graphics/Shape.cpp | 469 ----- bindings/c/src/SFML/Graphics/ShapeStruct.h | 43 - bindings/c/src/SFML/Graphics/Sprite.cpp | 405 ----- bindings/c/src/SFML/Graphics/SpriteStruct.h | 47 - bindings/c/src/SFML/Graphics/Text.cpp | 432 ----- bindings/c/src/SFML/Graphics/TextStruct.h | 49 - bindings/c/src/SFML/Graphics/View.cpp | 215 --- bindings/c/src/SFML/Graphics/ViewStruct.h | 43 - bindings/c/src/SFML/Internal.h | 108 -- bindings/c/src/SFML/Main/CMakeLists.txt | 9 - bindings/c/src/SFML/Main/SFML_Main.cpp | 44 - bindings/c/src/SFML/Network/CMakeLists.txt | 37 - bindings/c/src/SFML/Network/Ftp.cpp | 377 ---- bindings/c/src/SFML/Network/FtpStruct.h | 93 - bindings/c/src/SFML/Network/Http.cpp | 213 --- bindings/c/src/SFML/Network/HttpStruct.h | 61 - bindings/c/src/SFML/Network/IpAddress.cpp | 137 -- bindings/c/src/SFML/Network/Packet.cpp | 210 --- bindings/c/src/SFML/Network/PacketStruct.h | 43 - .../c/src/SFML/Network/SocketSelector.cpp | 142 -- .../c/src/SFML/Network/SocketSelectorStruct.h | 43 - bindings/c/src/SFML/Network/TcpListener.cpp | 94 - .../c/src/SFML/Network/TcpListenerStruct.h | 43 - bindings/c/src/SFML/Network/TcpSocket.cpp | 179 -- bindings/c/src/SFML/Network/TcpSocketStruct.h | 43 - bindings/c/src/SFML/Network/UdpSocket.cpp | 184 -- bindings/c/src/SFML/Network/UdpSocketStruct.h | 43 - bindings/c/src/SFML/System/CMakeLists.txt | 24 - bindings/c/src/SFML/System/Clock.cpp | 77 - bindings/c/src/SFML/System/ClockStruct.h | 43 - bindings/c/src/SFML/System/Mutex.cpp | 66 - bindings/c/src/SFML/System/MutexStruct.h | 43 - bindings/c/src/SFML/System/Sleep.cpp | 39 - bindings/c/src/SFML/System/Thread.cpp | 78 - bindings/c/src/SFML/System/ThreadStruct.h | 48 - bindings/c/src/SFML/Window/CMakeLists.txt | 29 - bindings/c/src/SFML/Window/Context.cpp | 57 - bindings/c/src/SFML/Window/ContextStruct.h | 43 - bindings/c/src/SFML/Window/Joystick.cpp | 84 - bindings/c/src/SFML/Window/Keyboard.cpp | 39 - bindings/c/src/SFML/Window/Mouse.cpp | 53 - bindings/c/src/SFML/Window/VideoMode.cpp | 84 - bindings/c/src/SFML/Window/Window.cpp | 346 ---- bindings/c/src/SFML/Window/WindowStruct.h | 43 - 140 files changed, 19088 deletions(-) delete mode 100644 bindings/c/CMakeLists.txt delete mode 100644 bindings/c/cmake/Config.cmake delete mode 100644 bindings/c/cmake/Macros.cmake delete mode 100644 bindings/c/doc/CMakeLists.txt delete mode 100644 bindings/c/doc/doxyfile.in delete mode 100644 bindings/c/doc/doxygen.css delete mode 100644 bindings/c/doc/footer.htm delete mode 100644 bindings/c/doc/header.htm delete mode 100644 bindings/c/doc/logo-bg.jpg delete mode 100644 bindings/c/doc/logo.jpg delete mode 100644 bindings/c/doc/mainpage.hpp delete mode 100644 bindings/c/include/SFML/Audio.h delete mode 100644 bindings/c/include/SFML/Audio/Listener.h delete mode 100644 bindings/c/include/SFML/Audio/Music.h delete mode 100644 bindings/c/include/SFML/Audio/Sound.h delete mode 100644 bindings/c/include/SFML/Audio/SoundBuffer.h delete mode 100644 bindings/c/include/SFML/Audio/SoundBufferRecorder.h delete mode 100644 bindings/c/include/SFML/Audio/SoundRecorder.h delete mode 100644 bindings/c/include/SFML/Audio/SoundStatus.h delete mode 100644 bindings/c/include/SFML/Audio/SoundStream.h delete mode 100644 bindings/c/include/SFML/Audio/Types.h delete mode 100644 bindings/c/include/SFML/Config.h delete mode 100644 bindings/c/include/SFML/Graphics.h delete mode 100644 bindings/c/include/SFML/Graphics/BlendMode.h delete mode 100644 bindings/c/include/SFML/Graphics/Color.h delete mode 100644 bindings/c/include/SFML/Graphics/Font.h delete mode 100644 bindings/c/include/SFML/Graphics/Glyph.h delete mode 100644 bindings/c/include/SFML/Graphics/Image.h delete mode 100644 bindings/c/include/SFML/Graphics/Rect.h delete mode 100644 bindings/c/include/SFML/Graphics/RenderImage.h delete mode 100644 bindings/c/include/SFML/Graphics/RenderWindow.h delete mode 100644 bindings/c/include/SFML/Graphics/Shader.h delete mode 100644 bindings/c/include/SFML/Graphics/Shape.h delete mode 100644 bindings/c/include/SFML/Graphics/Sprite.h delete mode 100644 bindings/c/include/SFML/Graphics/Text.h delete mode 100644 bindings/c/include/SFML/Graphics/Types.h delete mode 100644 bindings/c/include/SFML/Graphics/View.h delete mode 100644 bindings/c/include/SFML/Network.h delete mode 100644 bindings/c/include/SFML/Network/Ftp.h delete mode 100644 bindings/c/include/SFML/Network/Http.h delete mode 100644 bindings/c/include/SFML/Network/IpAddress.h delete mode 100644 bindings/c/include/SFML/Network/Packet.h delete mode 100644 bindings/c/include/SFML/Network/SocketSelector.h delete mode 100644 bindings/c/include/SFML/Network/SocketStatus.h delete mode 100644 bindings/c/include/SFML/Network/TcpListener.h delete mode 100644 bindings/c/include/SFML/Network/TcpSocket.h delete mode 100644 bindings/c/include/SFML/Network/Types.h delete mode 100644 bindings/c/include/SFML/Network/UdpSocket.h delete mode 100644 bindings/c/include/SFML/OpenGL.h delete mode 100644 bindings/c/include/SFML/System.h delete mode 100644 bindings/c/include/SFML/System/Clock.h delete mode 100644 bindings/c/include/SFML/System/Mutex.h delete mode 100644 bindings/c/include/SFML/System/Sleep.h delete mode 100644 bindings/c/include/SFML/System/Thread.h delete mode 100644 bindings/c/include/SFML/System/Types.h delete mode 100644 bindings/c/include/SFML/Window.h delete mode 100644 bindings/c/include/SFML/Window/Context.h delete mode 100644 bindings/c/include/SFML/Window/Event.h delete mode 100644 bindings/c/include/SFML/Window/Input.h delete mode 100644 bindings/c/include/SFML/Window/Joystick.h delete mode 100644 bindings/c/include/SFML/Window/Keyboard.h delete mode 100644 bindings/c/include/SFML/Window/Mouse.h delete mode 100644 bindings/c/include/SFML/Window/Types.h delete mode 100644 bindings/c/include/SFML/Window/VideoMode.h delete mode 100644 bindings/c/include/SFML/Window/Window.h delete mode 100644 bindings/c/include/SFML/Window/WindowHandle.h delete mode 100644 bindings/c/license.txt delete mode 100644 bindings/c/src/SFML/Audio/CMakeLists.txt delete mode 100644 bindings/c/src/SFML/Audio/Listener.cpp delete mode 100644 bindings/c/src/SFML/Audio/Music.cpp delete mode 100644 bindings/c/src/SFML/Audio/MusicStruct.h delete mode 100644 bindings/c/src/SFML/Audio/Sound.cpp delete mode 100644 bindings/c/src/SFML/Audio/SoundBuffer.cpp delete mode 100644 bindings/c/src/SFML/Audio/SoundBufferRecorder.cpp delete mode 100644 bindings/c/src/SFML/Audio/SoundBufferRecorderStruct.h delete mode 100644 bindings/c/src/SFML/Audio/SoundBufferStruct.h delete mode 100644 bindings/c/src/SFML/Audio/SoundRecorder.cpp delete mode 100644 bindings/c/src/SFML/Audio/SoundRecorderStruct.h delete mode 100644 bindings/c/src/SFML/Audio/SoundStream.cpp delete mode 100644 bindings/c/src/SFML/Audio/SoundStreamStruct.h delete mode 100644 bindings/c/src/SFML/Audio/SoundStruct.h delete mode 100644 bindings/c/src/SFML/CMakeLists.txt delete mode 100644 bindings/c/src/SFML/ConvertEvent.h delete mode 100644 bindings/c/src/SFML/Graphics/CMakeLists.txt delete mode 100644 bindings/c/src/SFML/Graphics/Color.cpp delete mode 100644 bindings/c/src/SFML/Graphics/Font.cpp delete mode 100644 bindings/c/src/SFML/Graphics/FontStruct.h delete mode 100644 bindings/c/src/SFML/Graphics/Image.cpp delete mode 100644 bindings/c/src/SFML/Graphics/ImageStruct.h delete mode 100644 bindings/c/src/SFML/Graphics/Rect.cpp delete mode 100644 bindings/c/src/SFML/Graphics/RenderImage.cpp delete mode 100644 bindings/c/src/SFML/Graphics/RenderImageStruct.h delete mode 100644 bindings/c/src/SFML/Graphics/RenderWindow.cpp delete mode 100644 bindings/c/src/SFML/Graphics/RenderWindowStruct.h delete mode 100644 bindings/c/src/SFML/Graphics/Shader.cpp delete mode 100644 bindings/c/src/SFML/Graphics/ShaderStruct.h delete mode 100644 bindings/c/src/SFML/Graphics/Shape.cpp delete mode 100644 bindings/c/src/SFML/Graphics/ShapeStruct.h delete mode 100644 bindings/c/src/SFML/Graphics/Sprite.cpp delete mode 100644 bindings/c/src/SFML/Graphics/SpriteStruct.h delete mode 100644 bindings/c/src/SFML/Graphics/Text.cpp delete mode 100644 bindings/c/src/SFML/Graphics/TextStruct.h delete mode 100644 bindings/c/src/SFML/Graphics/View.cpp delete mode 100644 bindings/c/src/SFML/Graphics/ViewStruct.h delete mode 100644 bindings/c/src/SFML/Internal.h delete mode 100644 bindings/c/src/SFML/Main/CMakeLists.txt delete mode 100644 bindings/c/src/SFML/Main/SFML_Main.cpp delete mode 100644 bindings/c/src/SFML/Network/CMakeLists.txt delete mode 100644 bindings/c/src/SFML/Network/Ftp.cpp delete mode 100644 bindings/c/src/SFML/Network/FtpStruct.h delete mode 100644 bindings/c/src/SFML/Network/Http.cpp delete mode 100644 bindings/c/src/SFML/Network/HttpStruct.h delete mode 100644 bindings/c/src/SFML/Network/IpAddress.cpp delete mode 100644 bindings/c/src/SFML/Network/Packet.cpp delete mode 100644 bindings/c/src/SFML/Network/PacketStruct.h delete mode 100644 bindings/c/src/SFML/Network/SocketSelector.cpp delete mode 100644 bindings/c/src/SFML/Network/SocketSelectorStruct.h delete mode 100644 bindings/c/src/SFML/Network/TcpListener.cpp delete mode 100644 bindings/c/src/SFML/Network/TcpListenerStruct.h delete mode 100644 bindings/c/src/SFML/Network/TcpSocket.cpp delete mode 100644 bindings/c/src/SFML/Network/TcpSocketStruct.h delete mode 100644 bindings/c/src/SFML/Network/UdpSocket.cpp delete mode 100644 bindings/c/src/SFML/Network/UdpSocketStruct.h delete mode 100644 bindings/c/src/SFML/System/CMakeLists.txt delete mode 100644 bindings/c/src/SFML/System/Clock.cpp delete mode 100644 bindings/c/src/SFML/System/ClockStruct.h delete mode 100644 bindings/c/src/SFML/System/Mutex.cpp delete mode 100644 bindings/c/src/SFML/System/MutexStruct.h delete mode 100644 bindings/c/src/SFML/System/Sleep.cpp delete mode 100644 bindings/c/src/SFML/System/Thread.cpp delete mode 100644 bindings/c/src/SFML/System/ThreadStruct.h delete mode 100644 bindings/c/src/SFML/Window/CMakeLists.txt delete mode 100644 bindings/c/src/SFML/Window/Context.cpp delete mode 100644 bindings/c/src/SFML/Window/ContextStruct.h delete mode 100644 bindings/c/src/SFML/Window/Joystick.cpp delete mode 100644 bindings/c/src/SFML/Window/Keyboard.cpp delete mode 100644 bindings/c/src/SFML/Window/Mouse.cpp delete mode 100644 bindings/c/src/SFML/Window/VideoMode.cpp delete mode 100644 bindings/c/src/SFML/Window/Window.cpp delete mode 100644 bindings/c/src/SFML/Window/WindowStruct.h diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt deleted file mode 100644 index db4f9e17..00000000 --- a/bindings/c/CMakeLists.txt +++ /dev/null @@ -1,60 +0,0 @@ - -cmake_minimum_required(VERSION 2.8) - -# set a default build type if none was provided -# this has to be done before the project() instruction! -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build (Debug or Release)" FORCE) -endif() - -# project name -project(CSFML) - -# include the configuration file -include(${CMAKE_SOURCE_DIR}/cmake/Config.cmake) - -# setup version numbers -set(VERSION_MAJOR 2) -set(VERSION_MINOR 0) -set(VERSION_PATCH 0) - -# add the CSFML header path -include_directories(${CMAKE_SOURCE_DIR}/include) - -# force dynamic build (static build is not supported) -set(BUILD_SHARED_LIBS TRUE) - -# add an option for building the API documentation -set(BUILD_DOC FALSE CACHE BOOL "TRUE to generate the API documentation, FALSE to ignore it") - -# disable the rpath stuff -set(CMAKE_SKIP_BUILD_RPATH TRUE) - -# define an option for choosing between static and dynamic C runtime (Windows only) -if(WINDOWS) - set(STATIC_STD_LIBS FALSE CACHE BOOL "TRUE to statically link to the standard libraries, FALSE to use them as DLLs") - - # for VC++, we can apply it globally by modifying the compiler flags - if(COMPILER_MSVC AND STATIC_STD_LIBS) - foreach(flag - CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) - if(${flag} MATCHES "/MD") - string(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}") - endif() - endforeach() - endif() -endif() - -# add the subdirectories -add_subdirectory(src/SFML) -if(BUILD_DOC) - add_subdirectory(doc) -endif() - -# setup the install rules -install(DIRECTORY include - DESTINATION . - COMPONENT devel - PATTERN ".svn" EXCLUDE) -install(FILES license.txt DESTINATION ${INSTALL_MISC_DIR}) diff --git a/bindings/c/cmake/Config.cmake b/bindings/c/cmake/Config.cmake deleted file mode 100644 index 6465251c..00000000 --- a/bindings/c/cmake/Config.cmake +++ /dev/null @@ -1,48 +0,0 @@ - -# detect the OS -if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - set(WINDOWS 1) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set(LINUX 1) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set(MACOSX 1) -else() - message(WARNING "Unsupported operating system") - return() -endif() - -# detect the architecture -# note: this test won't work for cross-compilation -include(CheckTypeSize) -check_type_size(void* SIZEOF_VOID_PTR) -if(${SIZEOF_VOID_PTR} MATCHES "^8$") - set(ARCH_BITS 64) -else() - set(ARCH_BITS 32) -endif() - -# detect the compiler and its version -if(CMAKE_COMPILER_IS_GNUCXX) - set(COMPILER_GCC 1) - execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "-dumpversion" OUTPUT_VARIABLE GCC_VERSION_OUTPUT) - string(REGEX REPLACE "([0-9]+\\.[0-9]+).*" "\\1" GCC_VERSION "${GCC_VERSION_OUTPUT}") -elseif(MSVC_VERSION EQUAL 1400) - set(COMPILER_MSVC 1) - set(MSVC_VERSION 2005) -elseif(MSVC_VERSION EQUAL 1500) - set(COMPILER_MSVC 1) - set(MSVC_VERSION 2008) -elseif(MSVC_VERSION EQUAL 1600) - set(COMPILER_MSVC 1) - set(MSVC_VERSION 2010) -else() - message(WARNING "Unsupported compiler") - return() -endif() - -# define the install directory for miscellaneous files -if(WINDOWS) - set(INSTALL_MISC_DIR .) -elseif(UNIX) - set(INSTALL_MISC_DIR share/CSFML) -endif() diff --git a/bindings/c/cmake/Macros.cmake b/bindings/c/cmake/Macros.cmake deleted file mode 100644 index a89c05eb..00000000 --- a/bindings/c/cmake/Macros.cmake +++ /dev/null @@ -1,95 +0,0 @@ - -# some of these macros are inspired from the boost/cmake macros - -# check if a value is contained in a list -# sets ${var} to TRUE if the value is found -macro(csfml_list_contains var value) - set(${var}) - foreach(value2 ${ARGN}) - if(${value} STREQUAL ${value2}) - set(${var} TRUE) - endif() - endforeach() -endmacro() - -# parse a list of arguments and options -# ex: sfml_parse_arguments(THIS "SOURCES;DEPENDS" "FLAG" FLAG SOURCES s1 s2 s3 DEPENDS d1 d2) -# will define the following variables: -# - THIS_SOURCES (s1 s2 s3) -# - THIS_DEPENDS (d1 d2) -# - THIS_FLAG TRUE -macro(csfml_parse_arguments prefix arg_names option_names) - foreach(arg_name ${arg_names}) - set(${prefix}_${arg_name}) - endforeach() - foreach(option_name ${option_names}) - set(${prefix}_${option_name} FALSE) - endforeach() - set(current_arg_name) - set(current_arg_list) - foreach(arg ${ARGN}) - csfml_list_contains(is_arg_name ${arg} ${arg_names}) - if(is_arg_name) - set(${prefix}_${current_arg_name} ${current_arg_list}) - set(current_arg_name ${arg}) - set(current_arg_list) - else() - csfml_list_contains(is_option ${arg} ${option_names}) - if(is_option) - set(${prefix}_${arg} TRUE) - else() - set(current_arg_list ${current_arg_list} ${arg}) - endif() - endif() - endforeach() - set(${prefix}_${current_arg_name} ${current_arg_list}) -endmacro() - -# add a new target which is a CSFML library -# ex: csfml_add_library(sfml-graphics -# SOURCES sprite.cpp image.cpp ... -# DEPENDS sfml-window sfml-system) -macro(csfml_add_library target) - - # parse the arguments - csfml_parse_arguments(THIS "SOURCES;DEPENDS" "" ${ARGN}) - - # create the target - add_library(${target} ${THIS_SOURCES}) - - # adjust the output file prefix/suffix to match our conventions - if(WINDOWS) - # include the major version number in Windows shared library names (but not import library names) - set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d) - set_target_properties(${target} PROPERTIES SUFFIX "-${VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}") - else() - set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d) - endif() - if (WINDOWS AND COMPILER_GCC) - # on Windows/gcc get rid of "lib" prefix for shared libraries, - # and transform the ".dll.a" suffix into ".a" for import libraries - set_target_properties(${target} PROPERTIES PREFIX "") - set_target_properties(${target} PROPERTIES IMPORT_SUFFIX ".a") - endif() - - # set the version and soversion of the target (for compatible systems -- mostly Linuxes) - set_target_properties(${target} PROPERTIES SOVERSION ${VERSION_MAJOR}) - set_target_properties(${target} PROPERTIES VERSION ${VERSION_MAJOR}.${VERSION_MINOR}) - - # for gcc 4.x on Windows, apply the STATIC_STD_LIBS option if it is enabled - if(WINDOWS AND COMPILER_GCC AND STATIC_STD_LIBS) - if(${GCC_VERSION} MATCHES "4\\..*") - set_target_properties(${target} PROPERTIES LINK_FLAGS "-static-libgcc -static-libstdc++") - endif() - endif() - - # link the target to its external dependencies (C++ SFML libraries) - target_link_libraries(${target} ${THIS_DEPENDS}) - - # add the install rule - install(TARGETS ${target} - RUNTIME DESTINATION bin COMPONENT bin - LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT bin - ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT devel) - -endmacro() diff --git a/bindings/c/doc/CMakeLists.txt b/bindings/c/doc/CMakeLists.txt deleted file mode 100644 index 0eb1c8fa..00000000 --- a/bindings/c/doc/CMakeLists.txt +++ /dev/null @@ -1,50 +0,0 @@ - -# find doxygen -find_package(Doxygen REQUIRED) - -# set the input and output documentation paths -set(DOXYGEN_INPUT_DIR ${CMAKE_SOURCE_DIR}) -set(DOXYGEN_OUTPUT_DIR ${CMAKE_BINARY_DIR}/doc) - -# see if we can generate the CHM documentation -if(WINDOWS) - # if HHC is found, we can generate the CHM (compressed HTML) output - find_program(DOXYGEN_HHC_PROGRAM - NAMES hhc.exe - PATHS "c:/Program Files/HTML Help Workshop" - DOC "HTML Help Compiler program") - if(DOXYGEN_HHC_PROGRAM) - set(DOXYGEN_GENERATE_HTMLHELP YES) - else() - set(DOXYGEN_GENERATE_HTMLHELP NO) - endif() -else() - set(DOXYGEN_HHC_PROGRAM) - set(DOXYGEN_GENERATE_HTMLHELP NO) -endif() - -# configure the source Doxyfile by copying it and replacing all @variables@ -set(DOXYGEN_CONFIGURED_INPUT ${DOXYGEN_OUTPUT_DIR}/doxyfile) -configure_file(${DOXYGEN_INPUT_DIR}/doc/doxyfile.in ${DOXYGEN_CONFIGURED_INPUT} @ONLY) - -# copy the files needed by the documentation -configure_file(${DOXYGEN_INPUT_DIR}/doc/doxygen.css ${DOXYGEN_OUTPUT_DIR}/html/doxygen.css COPYONLY) -configure_file(${DOXYGEN_INPUT_DIR}/doc/logo.jpg ${DOXYGEN_OUTPUT_DIR}/html/logo.jpg COPYONLY) -configure_file(${DOXYGEN_INPUT_DIR}/doc/logo-bg.jpg ${DOXYGEN_OUTPUT_DIR}/html/logo-bg.jpg COPYONLY) - -# target setup -add_custom_target(doc - COMMAND ${CMAKE_COMMAND} -E echo_append "Building API Documentation..." - COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_CONFIGURED_INPUT} - COMMAND ${CMAKE_COMMAND} -E echo "Done." - WORKING_DIRECTORY ${DOXYGEN_INPUT_DIR}) - -# setup install rules -install(DIRECTORY ${DOXYGEN_OUTPUT_DIR}/html - DESTINATION ${INSTALL_MISC_DIR}/doc - COMPONENT doc) -if(DOXYGEN_HHC_PROGRAM) - install(FILES ${DOXYGEN_OUTPUT_DIR}/SFML.chm - DESTINATION ${INSTALL_MISC_DIR}/doc - COMPONENT doc) -endif() diff --git a/bindings/c/doc/doxyfile.in b/bindings/c/doc/doxyfile.in deleted file mode 100644 index 9c94ed88..00000000 --- a/bindings/c/doc/doxyfile.in +++ /dev/null @@ -1,1513 +0,0 @@ -# Doxyfile 1.5.8 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = SFML - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @VERSION_MAJOR@.@VERSION_MINOR@ - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = "@DOXYGEN_OUTPUT_DIR@" - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -# Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = YES - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = YES - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = "@DOXYGEN_INPUT_DIR@/include/SFML" \ - "@DOXYGEN_INPUT_DIR@/doc/mainpage.hpp" - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.h \ - *.hpp - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = .svn - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = NO - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .htm - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = "@DOXYGEN_INPUT_DIR@/doc/header.htm" - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = "@DOXYGEN_INPUT_DIR@/doc/footer.htm" - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = "@DOXYGEN_INPUT_DIR@/doc/doxygen.css" - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@ - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = ../SFML.chm - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = "@DOXYGEN_HHC_PROGRAM@" - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 1 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = D:/Programmes/mscgen - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Options related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/bindings/c/doc/doxygen.css b/bindings/c/doc/doxygen.css deleted file mode 100644 index b4dc5a0c..00000000 --- a/bindings/c/doc/doxygen.css +++ /dev/null @@ -1,681 +0,0 @@ -div#logo -{ - margin-bottom : 1em; - background : url("./logo-bg.jpg") repeat-x; -} - -div#logo a -{ - display : block; -} - -p#footer -{ - text-decoration : overline; - color : #606060; - padding-top : 1em; - text-align : center; - font-size : smaller; -} - -p#footer a -{ - color : #007298; - text-decoration : none; -} - -/* The standard CSS for doxygen */ - -body, table, div, p, dl { - font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; - font-size: 12px; -} - -/* @group Heading Levels */ - -h1 { - font-size: 150%; -} - -h2 { - font-size: 120%; -} - -h3 { - font-size: 100%; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd, p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code { - color: #4665A2; -} - -a.codeRef { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 10px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #C4CFE5; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 3px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.memitem { - padding: 0; - margin-bottom: 10px; -} - -.memname { - white-space: nowrap; - font-weight: bold; - margin-left: 6px; -} - -.memproto { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 8px; - -moz-border-radius-topleft: 8px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 8px; - -webkit-border-top-left-radius: 8px; - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - -} - -.memdoc { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 2px 5px; - background-color: #FBFCFD; - border-top-width: 0; - /* firefox specific markup */ - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} - -/* @end */ - -/* @group Directory (tree) */ - -/* for the tree view */ - -.ftvtree { - font-family: sans-serif; - margin: 0px; -} - -/* these are for tree view when used as main index */ - -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -/* -The following two styles can be used to replace the root node title -with an image of your choice. Simply uncomment the next two styles, -specify the name of your image and be sure to set 'height' to the -proper pixel height of your image. -*/ - -/* -.directory h3.swap { - height: 61px; - background-repeat: no-repeat; - background-image: url("yourimage.gif"); -} -.directory h3.swap span { - display: none; -} -*/ - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0px; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0px; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ - -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0px; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0px; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; -} - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right: 15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; -} - -.navpath a:hover -{ - color:#6884BD; -} - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} diff --git a/bindings/c/doc/footer.htm b/bindings/c/doc/footer.htm deleted file mode 100644 index a03c90eb..00000000 --- a/bindings/c/doc/footer.htm +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/bindings/c/doc/header.htm b/bindings/c/doc/header.htm deleted file mode 100644 index 0ac39bc0..00000000 --- a/bindings/c/doc/header.htm +++ /dev/null @@ -1,12 +0,0 @@ - - - - SFML - Simple and Fast Multimedia Library - - - - - - diff --git a/bindings/c/doc/logo-bg.jpg b/bindings/c/doc/logo-bg.jpg deleted file mode 100644 index 06ecea2846f3a18601df591ca656bdf995d4e4ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22457 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

Dc+9pjE@Mp@NF1Y27NGlLp1RM{!KY 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%0DouGb|FV0(38t5$Aj3^pYenbU?+yFbNn` zvB61cs3D?h#nIFeg!aZjf6g$O+Xr-O>VVtSRva=dhuzUeA8QpFvlPz(;d}w6WIldV zD!*(=ixpy^WOF{jOq&c6UnfN7i3!Hz97;mG`b-So%&wJhfx8gLN*OUjZo9ZimB}In zdFK`tHPaZGdb~(DifY3|SR1hVbd@_&Pm`RroQv*|GE#9_demlRLShj^+!)pFcRF~& zyDqWBTd%8|D+(4CCOBw z+}L(+ZwZ)!`OQe`!XRHO3$-qnP-T3SkZG;>wN*}PCz7Nr@l1n2 z=^b&b6-}`b#Qgj2wKE38(lt|i7W9&PRy>bRgOa&yrb8YCXz}qm2iGOLBTBG$uteGg z`Ko$zw3V+y9G{TBli>Y0qQ3N?)>jRO@!w>op4+gcdphGIPolEQtMlUsG_+NQQz}K2 zl)F-tiFFtG^JlwBd>OBNE{Cc?=ERm z9M9%JjTG!qgs*FKpu8($GJg_S5$~kGeL4LWn6#Iy)FXyUJk)kWL1$6NZAwn67w_lD z&k<%5fv_%^Ve$$Wf4zQ_=eNB}%sjn^N7L|MpHKal2>lM2w|5QS|4=UjDUIxpvwnT} z@^w4vchOoWRABw|7}mO&v@}9jd1ouQ(b2fORXJ?0*VpVcJvZAi@kWNoHejzVd`{Zc z0?mUe6}DCaeT1U#b`MiF=#V0Cf~8E6wdDmPCVkXq$yD(;*1eW*C+u2QS}o`br9Vi{ zNhz^U(i>I1<->e^RE*>(@1oKUFX`WI;RqA1DZb@l+_nshnB=L zCki3X&A{q8CgRs{atfH4LPTE(h}iAAK-RpRSB|CJ%kj;U=cbb_MJ2)lt;+Ip5R@y> ztfs!NwcIl2Tw5QEw$mMM6iCLrSyRV9#y5*|G7qW}y7rI(7mK78azi}oxeRuP9KICP zM)Gyq^GEJ(2Ss02M-^t2L|U4PqKPS2%f3RzAK_1H9&9*sU$$-a@mz)7I{q4<4hT&@Uon>h)v+!JP}?Rk-OG1n0HQ3%yWCxd8__*j485A!<*+3)Wfr<> z+pf1~-rZQJ?&WEX#}&U4~z&Fhr0Aa+)iA92H4h zvgY`Z;G^O74Kd+u97fM=@G@-TVFYcDug@+&E>O|Zo2!AJ*A;Mf+DxZ*^Kz}XtXu38$MesjNKs?;Wf2<6hEobu+DrNF?vUGjDdVgZgP@44SkC{B+yW(AM2yKLIytZSJQ&XirQ%6*d@QO9c*8m&UD6dcu<)Y zL@F|*=uC>h%<9szvS2>7xoKwRj)9#edxN84ZZHtG7GuO{$@rZLnp=_Hx- zB@AkU*bP4Y+FgmUKCn06WC3hq_O+Z9Jrg4$NHxXk$Y6;aswtJGac{YUsWXSo$ec=Y zB)(ahq&d9)3Tcxdnsg#@!g8(cD5;^D(LIgZG#0;^?v739ZQ?`w%MfN*@VlZwhDjML zONjzBS**Meed_VEo!RB=n!%J-W0U7*y*{e8b_V<&sv|KprGmVpm+!!$V3vo#^Gi`L zhw2l_c1CW4-I@udDFGT(&zhLzbcW-uXPp6=w4>cJpv#>+uT{7<5Tj19O_yu5VZ2!s zVt0gk^_sZ|`m;@BD}hbcB6&bjg|<=m?&JA|1N%8|Q7X=5+D{vlP&@PXpwJ$aAge6& z^3*-Gx%=nIP3>P4F`rxr+Xdr7lrcqqs3w&sAejA5xu}~9Xj&Awg0I58m|7jo8sZ~7 z?Mze+l>$iw1%Q5yApc*AIJ@I(y)6TIRCkS^@~*7#VkeSn%O^#+`}7N1CsvlQqu-`* zthwU9EtD51`*`XCMtGe#7{qW$P%5qpl#8b<6~9T zstLYOD2G(yTgaaDx3>g;@=R5kjI6e3ieC&yaqJ=9@WIA>(wvn%`^*me(o~vB@Km+xhG4_rWe*GnOa_Wz3^XO2l_c*Jv!|)NG=dpJ- z7c4K&V$xOoJn_l~K{>9dEG8LasxkQfmUOeEW396{^_LRo%0vX-XM{o}PSS)r7Jt!v zL1x`0JAnmJ`0z4Q#)@Q84StHIX_4=`mV|(rE54iJkX(&vfHA~+=cDI(aa@X?!3W%^ z63^mZ3Q_hcyyKTC<;)ZeW7;4;@j3df2(Q98=Biu9@wN4Fnj<{)Gng`skaeUfm{Bwm zWHXqTN(0aK@Ec1ZeAfW|ZjqF>8^cM~2co8%KN~`*K(f|C=q>s%WRTaR;o-hiIkU0qL=G%}hr(|ECLBi0y$Oe9jOk%zd%_?Z0s(}&x3N^?7&a#nfe zu+q}cOb05-W7-7ASy4xPFuV#0bvFm52f3J2e05|l5;^&e@z1GQoCXfKG9(G_3pi{G zzF~t)q)L)&;t*aYPFNfsaWUS17LEID2S-ax8x?!iYNje_;rzBFPl)W;8)#z+MALs2 zz^{9m$eOj@e4aLPz*VzTay>sgQ^=t$ed3sw&*UhIs!A7Qnbk=D1#Osi&Cm(D)O#jh z95W9JU0^JW#)e{}P);RC4N>A@52{kv9JWltm~Zzx_3+PW8?)4dqNFCV-9R8mwYkWQ zgHCo|pOrNE?kW6ygCx%kqEnxm(htcT_3T8xj&r6YHDzpwYE7)O()oDtMnVs{*7tCi zj;_N|Rs^pvfjwo(f|%sLYcGzO7$om`gkd?8P}s)GW@cR6>e~0v1bMPs&~%E!&J?%| zO@jWwn?+mUFDQYt&vrd5c)<4QEA;A5Tnc3iUT`-si?KXrxy+K^Cz# zHw9CPF~lQLk()$mX}`npk{*Ve5eiH~?KBEfAeRguCW5IRm*!)~a_VMt?rgIEg8bK^ zl?T=9bCZ<5%|vwfbOo_-#0Udv)_l&=f|rV>Mooxi_o3eZMZFZ^0IWl&6dlN#9t&;= z;yl7{fIJrPqb49H_OJOG=$`n$3btq3&GMX186cbW9C-aq1SH)6D$-)d!#S+l9(d?x z0MJYEUq0*tNKpI}T;~51Ssr|VzHG&m|HPMv4ItpE&_Unbd;JW5a`^v$Km6et*pB{Z z3=RPF_j6LkTau@ufBZ_ooQ`q3yYc(s|A{kj;5y2@Zv-6xLFQreO7R~`^Xg>9`|kp# z|LOw@fSFmS@NL^c6Lc`Z2EuTVf4CAJXlKZUG*7S1Y4l%E%fsDM+Uf0uuc~z81w0lp zaGBS|)}Bv0_0NsDfxjjBCU!YkWsrd!d*6(CH~v*&NY^2}!E0vLbMHjI^?k|#8tRT3 z7T+-%asxpHC1x+P0+r)Q9?8^ozi5d~9O-hPd^2yX4r15>eFPzbFv$0h7S#K(HKrvU?63x3(5b5< zsH+(ih9X8lCWXvAN$Si=5h#+zyOmz;j3>J>v<= zRqWIpeKO3|*`1+V+=sFlqBTQu82q+7pg9tW2#s9pOr(7cgoC^ZX{uAo!oRG_S#uow zdR0m|Vz@lqq?RJtpUo~vx=;N&eJWRu$G>MBomH$7bL+Mrd$`#z)l^S7Fs*$?j_hF8 zG}*5y64UY^Js&6A$B-a&xZ}2fl~EK8 z+FL`4zlw;;>y_)HNPS>)B`<2N4{M< zE^39+-Rf{m;b+mjQT`4O|6k7cupi08hQE@*&K=f*b5-6!2+t&w)m+h#9)vIE1b%^< zx4((HHlTJx3lGoQ0^-qvU(geBfp>~(Kq(LqC$%7u6jwVoN4;4Z?pF|~D2Q|uNG~t; zG&4N15Gh@CUhU^e%HVYUO;K2ypX1|!CCo?_JVp=@T>O6S+;96Gjo)BPp7wqb3AtfH zxVmbQv!a|YBZFTb>qynnL$VguXOiB8v$gDowazMd*Sd{ohw?!vHy8}oF#1_YQOJ*6 zu+(~;#!T4(S-R65eMKu<^nMh-1Pxy~X=-a~Yq#XGkz3e`QXiW0;ms>GJm0UDUpu2B z>1*-G{O!&*7g-bpubW}rx9YE-Y>&I=(1G5^5=J0i)4&`1u(*KOd|mmj?2}weV0V<9 zQ*+RJ>fe9*LWz-XoNP9ppProejsr#(Apy&3q`yfGfVLtF$H!FX~u*VW&CuT`z6V-~{pK$wQ{_!l(4v!@Uc z65Kz$`m;M8Cl&Fz{$`LlajjW`M{h%tnUPPz(&`EfCeL}9yu~(%+J_rq5tVPmaiStn zxH4XHo^n1`U2mYRppp^ACP|ZVF`t*A5t{t_2>l*{x#-?u)cd9eR(lkoo9^A+#KWx&?)FHZ|V=>P-|@76^ab7IM0WSOP7 zsHJ!M@TFMT4g2bGo}c952Jh2R=WQb#3TGbMI5u#;J_}utB8vgJN?5d|8%3X)&uoC( z*nula6vC7!HHd+rb;(buA#?G%Tg>CUD`{w*v&+2jIx)?frK3V<4 zo$8>mXH$0M_&a{k5RH?4k{{L0)y4?b{ zr^4*+)$h57X{y#2yEFL0@55S17Mx34*Lp{Y7AG+EN4sqstV8h}$R z)x=h8wq`wPTDb@4o%b$lXK&{W*+10=E&qw?B-vY@?p0&h9hPmgIWbOQxUC6;QAi_- zoT`;w5qdIfqZLpomtm_RN7DBMHX%MU=3DpT#s0WR5?B1jj8KayL_ak+O*$r9SLZqn z+Zfy6&1DxS^5?TS${%^JlTbcOjAJjdLtowsTA=fysAoxd5<98$x#s@hJaL3`J|gP7 zW|!|!GBZq+z!N3O*phE3`0mA@l2j_p@aHQyxMP_3kln}1iRTPKb{JaqRYP?EGBzk@ z>$^)U{D{pV!Ma=&ER@7Mq+fx;=>Kq zb-!#`UsXg&@^RKj=Gh97`UY9Dd$E%Tbt8ng;<3*Ja%?GPfZ?t;(s`uJy6(LCe65`0%SVU91 z1?_&#FBNSPPxTWV+A~Xb&p0ksbQ1&>*0}qT3bHEhrRkrf z0k+jUXH!=0!WYN+;hRJ5C3lxdhiR_1YBAMrRczr1b`%; z{=-oMyQ&rc+)JE082>*M*Wd#Nkf;g=D3X5xpE%$Niw8pV>wFJhy;EZ6V$9riZvW>>Ye zpa;1)Da%4Ewn}0Hg3o<7EJ8D9CK8XNMqT=ljzg5{Op7Ga^%N-`MG;N{e_M{cYeZEH zfw0GUH{&6Q?(@@I($2fLFZz$szpCESFOu`Ur7ImRs_ieEhisg#HKXdDUDZtwt25%7 zw5*8gD($bTW=qnbj zqc=@_u&Is?I5<$u7SLyXbd#8H=sapGMjgLZwYETLn#>t_I)E5EQkxGBy}m)}thqx^ zA;cMPu6b1tr;rzHYzbib-dX+H>3|=&j~Yo|O!&J<*WONJT>nbELrt`=nc2Wkz#CL; zvDqzULNAmQXU#8|cSMetmP;j7{(Z-B^-a3@s%zTnPs%y~36bkn4H!tfiG93gJm=f) zGE_?TDMfisM*sE~6jcW2`TuzO>aeEX|8G5Qs6f$$I%G?>lF%FZXx%fT6k;&BZX}3oU^DMmXX!z;AW=rd%3&?Az1%qYj zhfUKHJzqrvv6Vgl@Ait?1DTSua2jG^OZ{AtBMloOsDfG zs=b*g{^AY&WX--xJ0m*1gYkRKu{(_9j1VPvTNVUn`Z}NO!n$ltOXiXS_hQw8eFmJ; z={)x;`ipnl*SApRDp)oITTpr5b*@fRdOc&B88FiZy#~y*iT!t5 z97-KRMs#diD!G|QEv*4BZHt-T6B7r49&%5e_;TS9nnR>pCC?@e)=CX(H`yP{|M+OH zI(<{t!NL4b%v)jRh0Jxw$q4)MzMD9W%Rxb03N(53HzwgBTD+P*f160;a83eaaYDI{ z;d-2tXMvB+5iT492x56?-vfg1LN&eyqziWDC zr1$)V%LHGl-Pvz$W@mt1tW}mEjy+PhBV&CVl440>QJEjQI`V9DBFo*2bU4^cR7k7g z(EvC}cg-cz#|@(O*!X5?^*gh#rs(Clre8#97My!WETcv5bU)OLio(`@X030Lt|)RG z4x3TBGHOm)Dj%0d^iNy>(sgk2FVGbFr~;JnJ349a3i<$AS~b8(Eg$lH>^>Pjohr+U zziQp`w9zbMxj>K4hjxe5KhU$nY_jtar;yBxy{?Ps4ktq?mRfx1rs|;1l{M#OsN!1) z3~jb78(^x@C1yn5;L4IT`g~$c>vK<^pVZP^5 zHLnAl2|?szUva1-D%IaeRS;=HFwBs!*C)GPf0L2ui0_cVkRALP;>h;J^+pby$UEKL zqq3zYw3c7eOEq=YaxjASqnF1xW#vu7??IIZv>UlrO-*G|;XDX2!-2kaahvB)@aEE5 zOXD)QA>V5F1%zqrHNm6A4$m_s&Cl$Nxo(?f#a?_()70BH8+`Am?(nC**dwsOYfN7z zTt7EVUPm{oto}n;AF)W&?H~NzCtE5|*Z!Qq(HF-wRI;IgE#o+I#;*TGhQDKNC+k=FNZ)u? z0!tl=E)9ynUIN};>6(2Rx4n6vCQX|(lf)Lv=lLVxdpsdTco%DVsYe%3SxA-ke`!`DyG3a%0SjECqk|rR&W=NVYC7KC+i=U%5e;w^%bNY5c)Yy%JN9GGm{V39 zChdt(ajc^{hdspc9(8TpC&u7QE`o>w1DWia{-?|_d<<=wFUycGD<|yfc8_t1-&X(P z;prVyoyroO4cK~RdDeZM!YfJeZcUHD|-2+*FjW z;FV*#diuY|zR;x*2+ET!t;E05X{bWRl9X}2JIog*w>oPQW?l>Io0Rh_IenOpZqs-q zk-`OFOCt(fTc5QJhi|OAi^*xXo*&kGDJlJd7v;=h3dA{kcz#58%W}w4PCpe=ixN^g z{j|0Z;u*P(=$(}b`Rf$%4-}|E5lY|roZ zivbny18FyQ!^*_g2*f(9ONj;)nv_~=37Q3CKFVU|nwcy#p3YA_u^7e%C_TU-08uqUY7e&D^yp@XW&K94}MBCt6bB2Y1C~^q1i)aNX<} zywXgwz&e>ZKa-uVMw6q~In&hDCjbQa-3r-xuXzmS;yor*V(%l_=Ff_5(CqglKtw5N zqxqzCFkZan?AN13p?kG|I+yeG8{3>pTko)Q#@eXPCCLz&Wx*PVGsGbkGvdqVr;L)Y8gNa)jDF%GHl(p<$e;h;d4yKI*pwrzYxS2ajZqM&b&VS`4E0!eR0 z<8}4*XP$k#VW7fAE#_#UExYs=uZDX3lW&Xj=W06(tw-NlEy4r(KU@xieD^-h9btp7 zUfa0JdQd_xaMT!wqs^X`Ax)%F!CAp*fit~^05k1V!^Ofg9M2HV%^yL<#sJh^0k(Pa z2vqyNVE31F={5`EBP;Y|w2c{^p?JJ$)D+)3(3>VOK%Qeo`4-D32vqR=eg{68Ho)<} z=B=6^2u^!mqVY*H#I;er__?6|=l}ut8|qPJc7vO)j$43SaR0)_{ExaLkE8LsZ@KB9 z`h&!Q-Bi%ki&J7hNh_Cz+NxzGHMx)Zt(M<+nXoe6a%PU5-)e06JZ#g8t4^5Gs zsjmC@N#QNHu(z0J4^?S6a^ZgKL)#qGXnJJvb8c7gPb;_#51Lr-1zW!sYZ<20grzu) zIe)}xdViL&SY;ptt>S*%WVBMPprcDvx2B`l)@s(FF{JT|xpH=%I`hl+BhX{TCo6={ zdb%_vetJY>7k)pkHH2@&;TEc~pC#_8pq^3MQ$H}Wrq`d>@CM>=g;%h~It!CQ3~Beu zR|t{WfKXo^u1i62)!=x;VW%tkw`-`7+dX@^iUCBXLz^y*DO>OlIbE0uVRsXg6f~ z*#6=PscrrCOZ_JHR>cup$f!V4`~Crb;PFs&zWvs>FzU%NqbO3Xpz)5)p61spJ5L!CsBOdnM$e0#ASwFShV8gQ+FO<7e0W0`@pYUY_=jJ19 zao&f`5hIzG;sSosHt$Nln=AzjuPDTyrjwa|u>tX%g3mw9#lNYhcCumJ?wQJzUDaBf zqZrV&5GeoI<8Jq4vxsVI!7HD2-#NO;G~dcTBENfQD=vaqCb2)^+$2~ayDPJxBnWF^ zamGsSY4Xqp{lGmuP1BsceK>AS!J-1}8yH`_ymrSd#lLuF4KgME#eSU08A)F7VFp@u z;fseeScm(<3Oqx#me#=~eWM&YF5W3OPZCb~Ap+%eYkUREUfvgu+^XO-)8%~!u}z<< z^tu3-hG(zBPn0Z{c=H16?%*8^CZ2AIpwrw#;~I!9S2QH?>c8Q~kDWtm=&tfI^IWnc zq1y0d7cDeI|H067*1^@W^P$`^uXEkOlAex0IjeiUu;zMy3x^ysQw6h+j=eau(@9oh z1X9NKz*b!AwbEm0m-xBc3A*uG53cso2Ws~C1kmOl+Xg5~OwEKZ0e(+F z;IcVd9jLfpGntkFqBSt?@wWTFaRE5x*n$5Rpu`3YL=6lSs8iPRadPw8o8S<%4?rZh z|6@Q+qV@w$wQK%EQ38Y~Sd;GQ7TN05-znMv_AmXu!dzsv+` zTVz<)qtKRC>5ZOuS{=7Hw$Hv5lx>mzNUGznd_y7DfP6Q}+v@Pjs9&u*WnH8(8kQdu z=l|ow@s3m9ppHw!jy9iH5_=f)jA{=@HaLf)hF32uv^f22c%OSvrZ6c@T=Y3Iy8WY` z+07+(8cNG&{RnO)UolYi(MFf&!iYz)A@NREAv>w^0+|m>bTlIXTyCzw|;~9_ARgNY|9$O%p>W1 z*7L`NdPn^Efz+g6u;35M_Z@USlzMqC%EA3%L608?@lk>OhG}x5?|cuT`S~+~N}lq% zU2$^j*6I|$6G!TnPpOlQoq)CL;Gn%pO5C6hg&JG@6bM-2z*0Ok!+2(h;+TMz)j1R} z*$Th{!u0=0Y=H1#IQm*RaZ&Th$>nteD-=*p{Ljh^kbC@3ynJMMbAB;+%Q*tMyuxgA zD!^NL)~4>nxT;tF)Qq+WQ75J$Zk7&%@~5L38YA=ZrFoen%KDWPJ+zn)=A1aFi&ItD zRQA*54wU#7Hr$>IcAFa2%V%51Sw-T>E!-+C#oRN(+FtMlbMY^<9Ve-ueESvn)Z%NC z(&h1k&>fvGP0OnfeelHJtpD^((ob7of!(olEgx#IFLyCz@W&@_3Gi&u zP_8f_c}IdnxPh?3=)mL1Qvp`CgoAmr9o7Qdz!buxvp2iNN}fv_*5~`9OTI0`^;5hC z;&xZXyWX8{lgpQ6g@Iu$#?x@~K8kf7x^E5~pehV`Gwu{?xaNHM^yOc?U&3Q+cZ0^Q zqynD+LI-+RJ#zH&^G4~Iwn!nbHW$A7`MO%88kgZI6!qo2B?Wj*PT_3O#44(Au0l_0 z>*sIm;3)*QyZDmp2y?h<{+7WfU?1m_8DCui1e0a6D)P*4&}exy)M}`-OY7*|(;ksf`57dpO7Vpv>3m+^u~yR{RVjzc zxz4&db2(o%uz$%I_wrn&Bd(t`vrC9Y&@R7%d{0z}`axI|zM<6bm8Ogul(w0~Fbq|N z@;>=2pQtwy(`>!`!ndYSf-jp%_Cd)I6mh{=gQzW?o^M))HvzhJGY)l}+I!e}69I8) zHonRZqwwMc#MJAxM8)MJ%AMa)3OxFqYWrD8ues&DW%ltY+`ONe&4Bst?r_P@iqA`8 zmkH;k-mOCI*Qrv7MdKTDLT<@Esr$1|uaI>(o0_^cvUg9WiC<1G+-IwO-O;IZ{zm(O z0?W86KQWkUtGce+Lb_7;;$Fc<`-J1*8Har%$*P*1Qh2{4l)pl}GE&bGz0dXPi76OOeGA!JrgYd}|7+Vc9A-WL*)l*7Do7h;65O z`NIMF+bRZYcaD!(e!~l2-GMzfdhgC}&g)^_WWhOuxy4+5T&ZZFq$|9wr>B31e=$Eh zKVz~H-eLTh0)1I{>BpCJf8ZM)Qw#q+g)-%)V$Wa4JM2AHVqy~mDq&m|W9w)FDkb_A zR%Qf@_Di%_FSxTEWyYgS5YFPZKf(voYDwT541jR1=LII;%1g^!t=%~@*lSu_CMcM> zUo;?G>{8ZS6~pr(s7SCK|I{Iab^f*VE8~vlFJq+(|4JwE5${;@K>U~hkChQ=t zIi&ZDvK6Fs(7I!Jr1`_9q$sv+eqth(+7w>$ir55FtX=l9KfBQuUhu=Yk>$2gwcvB31wIJlchR{$0w7oXCf^e)cYRqp8Fx7=yich zLh~8qyI;o<*EHfrAoy6{1XQ_z&2#w=BXCWi_@8>$mBjU3H(&vHtp5pI{tpL`Y)**+ z@>swsjSP^!W(A~cuK?xewrPt6pe7FfFTw%t=Vt$mjbKcS|Gbmh0Liac@2`)^;4hbT zZJBvJY}V7lN0~zH#!qEXz)ijEg!(M_OxC6RmIx5D{?sh?tuYV3creNMdPH*P-q9+k z&4;$Cs)Q1dAE$!Yyu^2>@tJ!3LjQ+?4yEA5t*5axs)l0q6A>RScFRQFROE~;x?=n*I2xjDWMeAqx9zCUNAltG57T`QN(kP_hW`N zXna`lM(?Jg?Gq#J=8hE-B}%aTKFq-z{oc$YaZ2jCUax<&fUVotWr;0W0h))mDOpOC zl@uOVi!3X4A|J!qF;a$c1&whv*9@@C>H@URXk)ttL9G(tNsyMM>|)ENJ1?)r5e(sJ1BcMTMWrfxoPhYSM1r{Q?xSr94f#=elz(cGr8sLroyv3d$f5! z`WE(&oVs?4n-u3XeZq6=32xE>nk=lZfO?4T7g6vQz9{8VX%>}Vk@X^vm%u~!wZa3} zRpdj1sNNO!`&O&I3TBiiHKNh@B2EPAjUvSr<&y$;Zp8VO^&)q7{A~6nERTz&I=&Ot zPvnI_mO83~DJcYld6ilRFyRBW0BMf?*CJ!pFDu*mUkU6UA%<>WWZQ!~x%YZmZXPxX zGBeiJI`{Aoe-}(H_%@{>3d*nI9-o*U;`Sivcj$dDG z8_@Kgm9;Z}R(q;mMMSyrG}`In2~^aZ)=1naGzz-)G33H-*L`!o(#rwXx3lkaZM@rS|snX1W$B*?V2^9z%^GK_v|x8zSU|<>*+SL5x~X z9D(X4oYzwIH+5B9@s}V@R0AQh)Dqb+y61;&R6^#cxvO`n`akE<{iHvb7awU&_h1s+ zkJd;;o6A?$A-zl zBw$A6)BX|_DOuAiX*3l47z7!&?58;NJ3{=`njwx#5X}|xP?9+t&1zFE1 z^-pte$g&lbans@1ypfq>a$gymV|#1MbR|ac8T{hmLxa`Z4wX-_MZtaRLK>mb@%BrI ziUuD9ESQMF0q~=7gIK+e4o>SIl94BTR@cN6+~x!-nd}}&DwEV+;-!iF0*f_&nw=Eb znffBxk%jlY=%2eA>+{ZAO4Dp!1hrAQ2^B=KsT=-!L0=1#O~K@*F;bfQ z%yEo&|kzdy;}?zM;I72?0Fnk`<@!Gxv(yyhnjhqjC0`C3y&kq;d({)7wqr zwKCnUf6R}W{!|3)QVfp7OuQj2j*Sxe0dd+IqRzstg_ zq#s%KXk1%S>TI)=#xNwekOme1(m(io-=y5O?Q834-?DJZY&B&>g4~OF|5uqM+evUm z1ty;N5s3T&yyDvN1ysXXT}m0YJ2Wuu2R)m9=k~l|o@%vjs`s}WZ1L*gPo|{trhXm$ z05H_;Xs9jPC&c(oR7fhjjaSjbap~vQczAFTe0^B9)pE~!M*#1WA}(-XzuK+%wSP=e zlt5}yL+7OtkrHK`ytT^H=G$O)ryuDq1-S0kr6cXbL53QRnabio@MyQHTOO5x{*4@} z()e^;X1QFz`S${2xti$+^+csAyeaR^{=UVt!*!SHcB;p{H+eor1#)|Pd={2x+JPRg zlS=O?Stn4QPZt?-ZG8~{(W}X`B}rr|MIkr}e5$uBTQw}84j0UEP8V)TfV=BSPP2Sh z|9C0P)Ay!)Y0M7?1yiH%`!2HWm20I=bLh1D+pixf(D>dSjYWWiROup;^0j!iBMbH~ z#3zs4IS9+ds#ddPrnRaf`&0~`+b#C=g(pQ9akABf=q3tH8tTRs-0vUY|Mkg(Jac&W zt?(1j9z$1SF{|@~UmK8`hZMKLH|%t&%%lnxOo%xYFskG>6E zeMZ)#q`XEH=5{-V9e(rgfaK8rDInKdb1;;OGXdKN@z(SS2C2%-N>*h$X|*Im>x{TP z2NA=P-isE7ManhioJ)nwop!ow7ky0gvtLU(T+rI18dQch(Q_(%yAg;Hc3;8ve%-7^ zyx#;Ha-+H1(d|E+=uYF_If^7w&TxIN(zJEhgniF6j)_H>>OK8txNM>&zCQPH_$n79 zq(wp z&jJ`aCue#Y6(OLP`O+1lQN(B4iKmu8b}uJeWKw3sZBpAUJ#*^#?dUPX+`cnuSi6U^ zVbb&42pNhG5Ep&k>_aM=Esl{3`tkFH#`*IN*OA@cgNju_49IC*N!rH#5Jp9@j7ash zA^Fv3G*TO+277wzwK zoW*)?;zXjif_0Kl`X`D6pOa1498p3MYBT3bsQG4yvw72G*of@Di*)xkXk0bM( z*5r2!5{byaD9h&t6KE@w+R^$M?Lm26Ykpx|1}XY0)fg-vhnMDPJT!R5rKJm(*cD|N zZQTOJ*2{=Ht)t~U@?q`HbaSJV>V4~3RMZAMLhcY9hTAIcdG5w5#;2xYmWVE}A6gvq zHqfWT0CT=K%~Urc!skt z=7AL30n{n05Sv%))65Af4Nqr#20X7C4?eRIhcCMuC#1&DDNdFkGv)4o&3quCH{xnxaoHbu5HbnXLQAR|} ziqhO}YO)VPHD5uLQkP5#gKC_saNCtzw!_S_p$ejMsrwlyNkpkdvx!($xu}ZrJ}Mfq z(R~~=Buf97*g)6UQh$jJgf(|nRv(o792+R6XltUFcPMe2`1(O~PoR4H#hY#1xizog zjAqr6RZfzOhnAzX?g+n?23@L1s&RpDM2wl~7oH-k_bScK=-fET+;2{`S#!00?0Ju$ zwKu}YXKnq$@bzrD9Q5raJQ7=f_ZGZgx@po5b^Jk_aUl}ilyP*R30^}QKR|}_LA}heb|Y@%wcq-36wsV36sms_Dn$_`YCI1 z!STWZioAviE;3c04=1IfWr`^lb@1|5+nl|2KgHEK+wmDP=Fw-CJ~pU( zv*M{kJ7_3i#vr)U2J2O{Uj)dnDsV2iWcpm?8bd+`cKf zM2h#FP3^wEb(WWNG~6B7ZT25m)7oFovJ-qiB4_P;3W-$xeFPG5 zTibkFf9zjaHN87zReg_fq19FBk71Db?R+o~xFTX5O`ITGJG1Xus?sce)#b{~zx_z{ zHyKxArJX+5#^e6r9-eN{`Q}2C^y~e1nSLLJ<83*A80zVbkBmirDtLxy4EA{gj~t9o zip$KHGUgvRlB_59i`~VYw(WS<(%*CO{`$VSzek=6@dwXV`R?tM#ZM9Udurs?T>s+n zACoMs55^5G)>M5LDy?M9ph==4$@>fHwM#=XsnE_*hf zPa^VEZ{%WBJeD#zJ17TGFg^wX@c+NLRVw2*j!~#lN7cqSg}88g547EUrwgFTM21EiibMLb8e3eRdB*hM9SQ|a{B z5`TAoFMaOQLV7PurH~)1)>68{WQBC{YRW)4ICycvnMy>g4Eg2r&Z6fcZmpWW)@hbo zIV#QtX7JU zk5m)%+AY7^6A?*RQ9Y<0RbqUeKfIymK;1CPa|S~){>4i|zZ`Z)H9w(ve&-{-o~Yxy z&fj=}{3A2Fo~J zvaKy>DWjH@O0fRJW_d)lUsR8_>BW3z${?Xcr(P%quK?!v9{!|saJC5lG>Y`RL_HCA zVu}@>qm-@stpO2G1p`ZC6)$hMb_TWFf!SP3654SMzWc?e0S6x?8rYccn00Y4Z?AxKd;F8whl0Ft}_hcbt4e^YDhKs=u|uHz#vgC{ zuI$n}^EOD>sVSmYtHPh0Of|kna7C3a496k+z&@-wddL~hiS+|qJ09%WMcu@c3R-o1 zr{(+OY|bB$tux=d?J@@5M!f^UFx!Ehm}v%p-?0y%j)9ID0N`%+o8UhC*T%Y*=UYBS zm$&#PU;w+?zjz&&OiF+82(KMXqp!WyfDYKT>#VF_nSa|kz*jltJ@eSFy9Bi7fvT0y zwF4Va&@$%-x?Aqom`0Th5!g24r%Q|HQ{{8(l%h9>3jd>qn=J>n9cDBRDW&L({ z&w+yl4qpPi-4;!c+pXWT7-{2N9#M0Qz^!_wE^nNi%~kSg7;bL7@6>)fq(3grd*H8R9V!g4#^8q6AOSPV*+G*1Tfm?)nH-Mbc!U=nx%!s4` zzp(RKqu3=4hcEcN(B-I)+#*_#I3dNG@+>Bmv(6YuzY{$ZMl@vUo7!tjM&tJ)=Py5e zW1#flE9UZj*ed=PPaL4iuP zuWf#5^h-M$?8*$jnJv%J}&Mem`~~&i3z>PBPwVRniT) zB_P{~=^r9iEcYw9=VDQU*ZM^@ME*UK>d{EZvHN(?xKOu3HWujzx_IQt2euG=l|MVw za5lc#G_3!-D;Wv#8Cq6ig;-RC@$J@mj&wUjsPey+5)M_4Z zBcB}==8R;ZsgB$lCn1~ZOn2GlSw)?R&g8A#YHas}g!R86Es(_n*Ji7-?i}|pco+um z9KI13JD;a7^4|?9m4@-NyS%e`?lSp`D|hNPCxLn;Vr**p{q$-?hH`zHzD$H!U+y&L zEUMM~wD&_#&pwkf^UBJTTE%O}4U)HKZzsvEyLE5wF-z>x zukMUb|2Wuvd^74Eu_@Rvax@hHnA|0(4*mhYrBUI>Yj;K^ndJRVUP%a6m z-(F&!_n!kTw|{NpG_33%(9XTKgmCi4WdZPI;1vY7bs;%JLwc}J7HQJbL5aN^({AL{ z9NixgLI;__l2mN$}UwG9G`kRuG3VogkG53DHq{^I~ae&&w%i)q#lThWOqrC9b$bBwHs+8 zndus76t(ND16q(H#ib9&?r~K|+7!N$Wg*+d`nQXlMVKtke;uvHKe!q;z}6(xLAd2> z@^#8quP$R1%3Ikd>B4n-NW=3mT#R|XrS(5T!$-`tgnRy&u=>IAU)V82v(HjruHusq z+>7k`D8i@2-QBP}no`@4Y83H0kNXyFiN6dSaNC?D(#kocFiz+@OwL&zcjj}PlDLWg zY5Tn$)?%@z#?!0K8oZqElu)W%gM|J0__~(m{M^gXaec z)I{i#Z#GMu24(rBOn60oIf>G`KLpCf^%(YDckrP;7}Rl&zK zzbH$S>!5w?xAv53%B@`OETmu29qTY1n}?Obq|RcKXGD6Vi&w;8)l> z)%Tv4jz>4t7RTH)NE*G9g^FE_mMkgXh8TbR&D<#c7tiL^XL$IhM-BG6#B|0;`e;7A zQ|_{|Fzs2kv8|9)+qoA-X~c^#5YTDRsWsz-zU`G}U&DOh!7r9enru}8N4#-4dzSnA zU?aZ{Tc2u1n9=rKqzp4g^k`SFv5_4(-cYxA&g=m%Dg&TrN`f+ru*^9c4{ zCO?sWdPMM9wTnT zB_*t>Wp*3?{cbxPF0Z&4hNP?xb_ z_RFRLs#yDh?b(lrd{=wtmA($d-%(_&nnIK7(W&gXdEl@j_nD`OB! zecS9R@I?BF?-vOc@?M#*Ze3*n>&|R$1Ft};$CR|?>@VIT4(LryEu5TgeQ3OHjbZD7 z7y|gr0(>g$cpK#mgb2_pCG0xJ*{THvdZDAL1 zhMd2C^AF&X1DLKKZO?oBI|?T2pzR-~$Ls9u%I}cz8k19h$$Yke)ky}}w?NYkhuH+! zV`vkrux=*_87yeQedGanI37X=wNSlFUvk^}$P7KC_0KV}??Z zHVJVW;+TEF(-IjxBcE;l%^{Q{`*b?hEL!IrGgD^}LFBP06SOrketsm%1v2ml5pJJc z;$&eCG$~iI+!`11=TL3Rnf`j!$I7_2Le#9CXJI;do_i_(g6%JcQ(3gA75~?Y1{@5# zcjc!oW_#P6G(imWUP(rA?8QYYJfL)a`$C)=w2hptMp|kUNvUzHi-a!8zW@3}KTGBH z@F{5QQ{T$1z2VwUopve2o&m=#raTT;_#L@tf#UdwC&2CEY-IMk==T(;i=38<|$xjF#{eL2)|$mUG_>xqn)_A z+?n_lP^<%Bs@gDt0o36-p(XSUcS}nv{ZCcKOfJo~d)qMk+k0(Fj5 z?`kwTLtkShaqmhQRupwV3<8 zb*`e`jh0I#+@fsghd=Rh9u@~_xHvl(Oi?*Tyk&KIc7U{G{_Ni2 z!MkrUR&~xq^$>A2bjtZ)jc;%B>&BeIy`QKdUB6WopZ=5zM=j^#T1 z_9tw{KkN zfR3%Bmw007>azg`2YAFM^*HrHs`etIXo*v4KZ{+cpxe)3uj)Kr8)8IrTx;SzCEJ@J zo+5qUe}lp6xmt6KA8RfZi`O>&6O%)Q8!HE%ppnwbx+^g6x z{LmzAoAXOai}QKwwZ32n&GbTYe0uvCnjcn{0P=CGXSyy7f%}Sh@YrxOcm)?h1)@2IL6T zfhc#s?jHp0UxK&(UoHni1prB&Qv##k?htU>cSe^5jDqB@F_6ob{vg;GcKurD!0cL= zl353h`hQ%%z=OJLU)(bP3S1H(x*omuyM_bsp<^KcWf%}y|1V?R0=|S}UIyL_Z3Cc}KvWK_P+hO@Gs0Af#`i>MC z+Ct%U@*tbiL`E~FS&JUlfUSWJZ-ksGbK{C@G!b1E9HCz!X+IEyMtrSm@0eqOn_ooAsMVM2SC-7-nfZ9g1$ z=Eu5+t`LX59;{FU@u>dA%k^_&m>EbXq`j}PzNn#S@iE=YgK4j+O!D2?k*U}+@4NgW zF#n&)`YA^B+^IeU??IKz=A+v~NcR=WE`vDG6Ck!<7;0HYIvJI9yZtuQ`itk4OyY}5 zlG3+YexZ2?v8=J;$!-fSV`d$JbOZw7$+z#BPf=-4+uBT>{E|>Ux0mbo9{i|(ZXegh zs`8i_;{GTB``O*xX)m$}G~Ua>KqGih?&lrWoWQ&Dep8fiQiTmKejXuu>qW|jM|9g0 z6sr}RvNA%!=*zs#X*W%CqZnc>SX|U4o}|f(a?(KK(YV z17kS^S>jHUi~4`^J6}N~?R?+TjT22a2$W7QYr1nSH66bj$A8iNKs+Mmt4u-&^oeSz z&b=2p(Bi`zr(?J3FM|Ry0WxqxU~^IY-j`;X{oTDq8}3(h8fumek+-yWDg0#;XbTCV zB*4o#Bz01b`wAWoB3egdkEeDKHFBMtE4~)X7~xV^8$%LQD9p9aV^CCkfxK=_Sl|z= zTaop~MO2341v)mp2|bRfbEDv9TI{iUlDeQMTfyug6F>{JeOFwDRdk&(j6aB(Ht);% z_C;jz^xtRhjXmCcsTk8?{X=4~m6I)dT27i%(SkDhk|sYd({@eyN+^!(4<^~O%~v*O zVZy>5Eo_-V!ew}d8V;o;RMs6L=nBYOlEedjO#Fx;inpk?f^l2kf11+3 z?R00(cD4q9F6c{TLCBNJ#VG4Iq$sou9$sWk+EyoF!eZ|QT3HD%Z5&4OGEKvOa>W(ucW1v%mwZWX9U?ZT^6$ zd*-7LjYP+!1@+3$0kKa#EpveGwlNpTFEH5kT4;W`L74JFs!yESTSJFQiq7P#8f7_K zfe+8N?WE|P@0|{O-sP8=-rcHwl7Tj_GKX6Kseox`ue;*>zxE{J<~p-!KELZ)P^MF& zF;K7IsJR7wfx>L;Q#UEE_V2sK33|)lxS5F;Z(2FF+EXOm_u*5a^W#NNz|;meq;0`- ze4qa$nOQ;Yj%DYIO$0SQw5({3WQcje=odPG?L*G)!n}3f;@+F2)u5xDNcoymAmEb2 zpL6So`8noz>v!)dwh+OKI|B{;_DkB`YabxgSyl^!dA`9owy97HcfX)=rdAp<_c2nd zX+0=Af04HQP||-d;NZhSyh1%D)XmQ7aiX9x!X%%J9KpiDadTj*sMzpeV$4PR){E8~QC9!1+)uo`I_%K!Ki40-L( zhFnm>SfG8-Me~Ni=B6tROS8;4_W4hajyez@JUhayP1ecJMCtD0vu*zKw!D^BK{!dC zubS33May$aAgXeZO*exBKZkWeSKYl!MDea-4-2d?-=kY4EY;d<+=`sqH=H9v-Wg4y zrt=i9ny8(8)Y-0eS=x&|zTwzQ{KdjP#dFB_8Z5C5C-$iw2TuUSC3UsbjV;GBOuAQ~ zQyl~)Ci_cij%d@PH(061I`-DWZQH>Ki|}We@n%LBK0EK&O^wzozm@Fk-O8#86$Q;K z!xst9zQ-k{`fMTGxmNr;T>!4I2NLS`YXI%Js#WXaR<9+u%#%4Ht%r9+@Nfy1p&frE zvgLqkJ-%9RMAj5c5!6l*M;|+774{5n2Zprfc#tiX`ijs*M|LlBXXn67`TPkaZW8f% zuu&$&-sssK8&hK7QDuk`@E@d3uX1#t^gK|GMP_G%brFQUcz9c6Eo)6heFY8macWNK zaldvc9VO8BBMg%^uZP)@W;NoW<&b2=X?oc^}IeGDZO@E*;+G${H zOnl=67esart7$i2eCT_5`Y#f|^jsPI%O$V#OhDNN0Cw&tn_~h2Nc8JdAhNhNi$MWZ zaRXG?_IMd`>R$;P)PV&u&NAQAMV<3HAU&i8LIr@r(F1&Rv!_izx9q>D=(OZ79xG@H zfP^+40#Owi8hQ#{M!~lyHx;k*-#|2=M|b^?>w>v6ju3kt{^*|m&r5dO^t#fm-2_bK z5-_jX^S{ihD)X4Sj$W>y*8~^fJEvm640Ha?35FpX#yAILZ=;g0gC>7(T-y|MxJ}n% zubCStwPVph76voBxsp%O4g4rDFRzb)Im=2m1F8$_mw?v!DIsubuRAV4 zPotyczpHdtA;_4l#B z>0glDOP4yl@W`a8ekuketXcVg@usmVwezCfl$*UsHNvqR!W%7Kr1LNY?B}}Bd5SA} z9^_zI$Rk0}u!kv^4wBDS!LF`syh%!PQ!7-i!wky5o0eYQ=U>+$5=)`m8?kzK30%&u z)};zdepXVJD(+ao8&B*XUG?0Tj%4wd#7Puu?+f`DctKTWUfMF8qbuI&&IxY*Z$0Q3SE zEC?A0EEsR#SN<nAaR#2lcnE zTT*TMExw`Gfw>OG8I95g){)=!wOqz-V*>$S+RqMtN|vpIyS>M<$6r&e`}2H|1V{KT-|j==^st2<1(>LUxj<8-g!2(->Tzt3X zGNeuJzs(5zj^*v1>s{Llpu2%;6tHWUH}|Kv$AKMg@pn`l7@v9n;k5+G_Jq{ZOCT2k zt~X{Mu%6QXZ(3tm^ts=uOyjA{f7>w>w9mW*>H%&Oa7AEs0ibZ;q%e;yT<>u$_0l-y z4JOIlINDsBdvP5+BCbl0pYj~`M?w;U@31l3qDg8yJS!WJbsAhwo)%wA-$`b_kppao+L%{QlnY3aMl2y4Tr&yG%=Cjm}u*w_=mF?}-%cWMpG+l$KbJ zHn{7LLgu}P_>1W6qO>S)(SnY(b9FGvy1Xwr5;j_$m{NE6n@xU^S5*fE@tlpRCAIVi zk;*9Ewy`kyvXoLWPo*x8+xhVhZhDwfSke{WE>Z@YcWm!%n1Xhu z%ckvcq{Z1B518M8eoU}@IQja2MSXc(6Ib^>mbQFbTT|=Ss*tK(tiILPR$I#}Nv#Wt zuTuAw;93`6!7U1jNmQy>sYX<^RROJ55QP*KQ6xk~jCCmrNK_z^O@s(TgkeG^8Gg?h z?C19%A(@$b&ppd?o^$S1iY?73OAcwp;Cr*2N|pElzC2bRN;7dpRr|Iy3dW7vO% z-*_4P=jGNaU3|imFYC}Co=dG~s1`d8)czMY0apj56 z{Lgor92Ruc#fIDN{C?;Yzk6lz-}Vl=y>gH}b-8io@ZuMDKH0qO)1og2s0#a!6OM(} zH4f&BOAD4Y_*^Kl?9KUR=#|E4udkVUd*zl@g~k5pSDl`|O5|?|mh`r7U=KVqetjUpp@BmtNm;UYq|q-hKJg=ApqGzg|0S z&c?Dwu9e;WAO2Xsa_x#A_Kwh;J(v4~es<+ihwk}m`ODemV{C$Yn5?KFzs9(~>2UMp zqoM4AGgvg-P|A-!4gR-~IJaJ0-XTROfyW!sp4FQD_Z`#ZL*6r$k?Q4GXkK-$*y?gI^N>%hJ z@9W3U-``ghci*dYd)tq~2ixEL+*$Vi=z`b3AEh4?UTzQhEi>`Mrb}-RJhO0NQ_Z00 z>U9|t((j%dy*GW;uET+yw(ajc{_U-6CVOh-SvqC#V$ZpMFL<#acD1bG!<5T8*bsBH z@3MKTPA=^l-MgRf+yA?`+7P~UU*TUpXO8HiJ}T|+n|gcml?in#TRAsgBtL+n-`?B1 z@RF6+wr&~O=|O@Rv?XR_sB2LgK7`zC1>SaHuJ zh}Sek7Ln;Hw%<%jO6JYA!Z*x!QGh+RQct8ygg}-5xOLXqu@4#J?9}en9nBbo+KjCj z0)Pk0RmwubuoW3!1O91~4=KzFUaL)Fq!mD5#T4Ph9Yl)&*K8>Sc(`aW;H`W)%Ab`l zr{JZ_;_6lGpW+h%7Np!(Txxqtfvgu-zf_s3tnjJE-8mbiWKa-2hfU8s4$VpeKoMuC zAq2#$9?C)@fj*|b>eA3kl1{w~WWc5(>TrHN(4`2kY zwXbUJCLgDS%cFNgQgPiaF_dt4J7h$wJXCvXB5h(6B~B7S38-m-2GAA!UnPFMsg*NH z5sibU8>Sr~)Ua0I>v11-`dukXRwZ2hY~YCyrE{pxHHvs5POp?gU~jKQ+(;gH`=$WN8{3f_S1yknT2uAsf?yK{5d1=FZXHp+HUL+p!u7=biizuaeAw=@k$di3Y%&Aoiycr zLdX%UkO*68Q`(}DSzIN}k}?J~8$r=RWyYsjRdqr${@zeEMZDC)+of9XwCPZgs!-Z( zoJDyGlyBZKUp3b4h(6iLJABpNhDb?^yVNeK_--@<*=jBAMgNgW(6Ir~p4ZG6iVc33 z5=1RJ?L{{2EpYH|9MgzxI)!^Si}ANrSDZQmRn)U@Q>oS3~kf-9m_54w*x&)T&)y1IYi z4eO0LUGukJ%eO8QnBaw*PW`r?2)J{_kNP`zht@n;niKn@x#gSBPlVR>pVYR|DZglntNUuU zV^e^yV2-Q|lO5JJcb>bu*Qe(BqxawGG1c=uNO8&9ha9(pPwII*i{F}2P?t7jv7vPA z!K8wdU%vd}s$kwQzTIo`hoMdXY4_UFa%ZYz)1L`J`Io=`Qqiis)wnEd{UCT{rbI66=#-p#q(XY`VsG~?wFgS&HsGMoL!el(*kZvTC0ys+Sir&=>N z&iY=iyApx2M?LnTylS6{4xZgx(5GbS zxgK5h#pmx#dPfzl2`nxAzW$(a544)}xqqq9Q1f7xI-xGQS_AtOg?_%=bg(w z9TYUDB008j!ntEl`NSyoz9{*Dv_eb#<=Nq-X~kYWpI8Tecgm-Ag|XYspWj(LaLHT$ z_cZmj6u!p_pKAa8Nc-XYUk+WoN}1isk|RaXrtl3jZvw-T>{LJWx2m|(QU_QL&TPxZ ziQMoFJmWMNi;B|f>{bZ^xdzEIRdsHtShx#~#uaUtZh@03h4X4gP_Rns1c!j+%byMK zAyLb`$#VNzU8~itVn?}}fEReiY%Bte!K(-# zF=)Na#X00OE7?JpF3pK-bsoAfnn{|7pe!@PUPkhhKN92PAw?5aV&yjEvBlTyc{Sqi zv^q!~EufMRf&oah(NF{?5L%_T8(*5yjc+Km2Oj7z7`;R2a|>6aD_U^xH8G5jTYoD2f&&l z?N%wS|Jh9~tTSMXqWTI+!AK3#gb-L*o~PCw2^WNgflmccMqWVOD;mLOP4RCXS(NU^ zo70IjCY0OCGCoDIO+(Fm1e}SlDp3(4YLEK3=zsAjKTZ9w^tY4_`c=@ZW!WSf5UIIU zM1s*Q;5d-yfzAfIoFiw%7gO4c{g$NPkRAbcW#AW}5BOO|7V-CBaLKSsJq-T7L<5DF z1BDFfGS{eYOr1yGq?A0rKXY{?ITJulY9V{2+M`rWF^(lfpci|LG~!OeC~tTZtV5#_ zZUqSQ6Tda3y7-^8#MbQ{|SOq-VmQgwK$DLiIUA$WDC2xrCO$`PeQ%s*Io%#X=<{6ir)4 z;t#k$#(?ZBkIs<6>Q>X+X#I2v?lnk3; zhGJ4YydqJQxYGhk^&&(qYF?ATo6HYh#dbXUU4=qQd249kia&mJCth9?`U*6MICFsS-nI zeZ7TIy3hhvGzQC0x*N!iH5$8LLU>G(q5WaTfA{pi(lstUf9dIEc&qy0K^bjte`}dM z?vvHs3ntH;^yT{BSA6z!Tuenwu4(>)(NU}4C_nrAq?J=cK3KDC(dh|o?~RrYxpZC` zwszV2^~;o<1C`x>*>m!TGp7gL)-K#8xvP}qAt7sM{PiQ2G^5hwFk$G&UUpcl#uLoe z+F}$Wc(*QBtWNdD%6d3br(9zmw6M^I9MY}V4)BF{r}YG{{)0EnYuaq#TXW=D1wncRzfUK0a`Rd8L3?j$q^1#JT_=aS`~!=>-mywCeI9h zyU1FXND56RVPoWz_=n=1v(O-VW z6dM#(2nTS|`YIuiu`O2|gYk-#AIgs&BTd7ABmOM3NSwlf7d}8_9@OA~FaC)D$$muP z!Fv~B9Gb{3bbB>?a0x|r@mVX z0%w^nMus7w8s3W~n4dhK0uW0bIS=Xi65C1Xs&0UlKzO|}w))%Rn zsXZ-@9FT#A-bdJN0f!UPY1O3!m0y-*x|G{5bXPW()I0L%ext zbN3u3v$R`A__SH82fSA<)&Jn#dF^lB?}vSUz&Bv)ne+KV-_SZiZcmE(yiFM^h9;bU z=0;3}8;fnGK(Wb$(3$Os6~@bLh}vwG1@kcFxpkF^T#&LJxLCrIDuF#K0Fej15*|@% zBom_oTpajGs?IaLKuX$P1k{s&@&q0^lfX^E65;~h6CTMuMNOK?ze+|4n*>b-fn!8N zNmD$eo#}4;6zdYhOI68=HkRpCD|}9v_8pdy87njJQts_oar7G8NzYk8NhJ8=?(*r( zhBg+7&MuptAV>r=gS9`xeLKtx2W75-b!d-@yd-jBLu3qZf%k_CO?NNw_)rD))hL8f z1Wo+8om!oh%Go<*A+*>LW|x&k9;bqK5aB2{P!z0JT4Ld_VBBQR82eLs9?JeSrG6fH zb!e3!^N2n8ux${SS(rbk7$!1!<(r_eyYQ?5hDhy>GPuV#tsa6en7>2Kb2J{2)Whq@ zr9()&H_N?AV0LS60$mG1Q{!lXL51W3gf3K6!K<2L-9r)G&AzJN?1o8r?qy$p&84>BIdaaXw<8t>v5i+8x*y~vfHqx#m+2weWEeRH!d&7~ zwSU9-Lm5*VIB6vR`GOxy=w@h>%QLbAr67+&Sy}XbV_9 zyQJcf6LWt|IV~1{-XoDN^3Fk_dI|}S;3ESch*#CN+Re(%OKc*$?OPP z;%($;0{{P7!!qTFU7{|{_dG>`*<}lf1W624gH$N7P1J0vbP@CkA?qcdH{WjR1+K#b zg#|3bggYaHQUev^PvCp%(BQgU8KzxL>0u|cuR5QgFVh4~7q>%Ma%P)q-S9Z@<)%Cr z#6_@nr!Kgl#jR!oRIMr|-}w)OfH)P7`3|8u4E-9S`7!w|S$qMHGQ@Jxu5=yI6*=W* z7ebZ}v9@++R%=N|wEaZ(1P%?(E=He3Sl6N3j$;|cM0XaA9nkZYHt}u^ z57X>{=5XCD!K9~*78^<-0Xw>w;r~dRG+}BA=;HcT{)2`||0#pWZ_9#7qRRsouOZRI z5f?8J^&HBBFaaWi^^H{8^ezbz`iNPg#^QijagoJ%VnFDVI4vGuuuMwefOd;5dd+J0 zr}pdB7oSzOEe_iA7ABiNj;`?h^}zO2VecG!tg?@zz?zLZ zDW33~hW+(*nD>5j;l59r-s*QYE@Q3Ty1<{)*9p=F(@g|< zw5nIi855w@S)I%S4+MR$!cPe@98$QU5#c_3m!U1l?qi^IsKUUg%|akGjHQcygVR$B z$$Tud6sasJ3w$avodq83*S>_XZilMfhk2C;s5reaSO9_6jVUhZf=5@m@u4d!7<+)n z9N4X7!nSTeOtw+HwbQ_xP16HZ36X&UC)VG@@geUI4W&Bi3%p;)>{(%&A~|_kz&~u^}lIGHBx#hd}EmaR}t0> zmy3Y6NZ^mD*|^J;BM*5IUp{KEK*FHUI-NAMIi4K4)ozsl?fi)EJzVi z?P6wc#srX>5`N0j?G1P?8N@OWA~+3D>fK}KqqIBkCTAapUFz{K0Vis6_zr>b?Ukj2~ABalro+AY86 zn4XlIH5w5BH=_ef-HO=j(6{D!7*7~IRPg{#Eslp)p0=obK&iN_?m+rCW|wDJ(F?mE z>PXu7kMKyBi^A$LV8!pqx$=7Lu@=Y>Zz-WBH)Uh?eIMelImLZSObrggoEOLdk_*yX zBw{y}Jfunctions, as well as source -/// files.
-/// If you are looking for tutorials, you can visit the official website -/// at www.sfml-dev.org. -/// -/// \section example Short example -/// Here is a short example, to show you how simple it is to use SFML in C : -/// -/// \code -/// -/// #include -/// #include -/// -/// int main() -/// { -/// sfVideoMode mode = {800, 600, 32}; -/// sfRenderWindow* window; -/// sfImage* image; -/// sfSprite* sprite; -/// sfFont* font; -/// sfText* text; -/// sfMusic* music; -/// sfEvent event; -/// -/// /* Create the main window */ -/// window = sfRenderWindow_Create(mode, "SFML window", sfResize | sfClose, NULL); -/// if (!window) -/// return EXIT_FAILURE; -/// -/// /* Load a sprite to display */ -/// image = sfImage_CreateFromFile("cute_image.jpg"); -/// if (!image) -/// return EXIT_FAILURE; -/// sprite = sfSprite_Create(); -/// sfSprite_SetImage(sprite, image, sfTrue); -/// -/// /* Create a graphical text to display */ -/// font = sfFont_CreateFromFile("arial.ttf"); -/// if (!font) -/// return EXIT_FAILURE; -/// text = sfText_Create(); -/// sfText_SetString(text, "Hello SFML"); -/// sfText_SetFont(text, font); -/// sfText_SetCharacterSize(text, 50); -/// -/// /* Load a music to play */ -/// music = sfMusic_CreateFromFile("nice_music.ogg"); -/// if (!music) -/// return EXIT_FAILURE; -/// -/// /* Play the music */ -/// sfMusic_Play(music); -/// -/// /* Start the game loop */ -/// while (sfRenderWindow_IsOpened(window)) -/// { -/// /* Process events */ -/// while (sfRenderWindow_GetEvent(window, &event)) -/// { -/// /* Close window : exit */ -/// if (event.Type == sfEvtClosed) -/// sfRenderWindow_Close(window); -/// } -/// -/// /* Clear the screen */ -/// sfRenderWindow_Clear(window, sfBlack); -/// -/// /* Draw the sprite */ -/// sfRenderWindow_DrawSprite(window, sprite); -/// -/// /* Draw the text */ -/// sfRenderWindow_DrawText(window, text); -/// -/// /* Update the window */ -/// sfRenderWindow_Display(window); -/// } -/// -/// /* Cleanup resources */ -/// sfMusic_Destroy(music); -/// sfText_Destroy(text); -/// sfFont_Destroy(font); -/// sfSprite_Destroy(sprite); -/// sfImage_Destroy(image); -/// sfRenderWindow_Destroy(window); -/// -/// return EXIT_SUCCESS; -/// } -/// \endcode -//////////////////////////////////////////////////////////// diff --git a/bindings/c/include/SFML/Audio.h b/bindings/c/include/SFML/Audio.h deleted file mode 100644 index 64254130..00000000 --- a/bindings/c/include/SFML/Audio.h +++ /dev/null @@ -1,41 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_AUDIO_H -#define SFML_AUDIO_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include -#include - - -#endif // SFML_AUDIO_H diff --git a/bindings/c/include/SFML/Audio/Listener.h b/bindings/c/include/SFML/Audio/Listener.h deleted file mode 100644 index fe3aa4b9..00000000 --- a/bindings/c/include/SFML/Audio/Listener.h +++ /dev/null @@ -1,91 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_LISTENER_H -#define SFML_LISTENER_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -/// Change the global volume of all the sounds -/// -/// \param volume : New global volume, in the range [0, 100] -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfListener_SetGlobalVolume(float volume); - -//////////////////////////////////////////////////////////// -/// Get the current value of the global volume of all the sounds -/// -/// \return Current global volume, in the range [0, 100] -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfListener_GetGlobalVolume(void); - -//////////////////////////////////////////////////////////// -/// Change the position of the listener -/// -/// \param x : X position of the listener in the world -/// \param y : Y position of the listener in the world -/// \param z : Z position of the listener in the world -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfListener_SetPosition(float x, float y, float z); - -//////////////////////////////////////////////////////////// -/// Get the current position of the listener -/// -/// \param x : X position of the listener in the world -/// \param y : Y position of the listener in the world -/// \param z : Z position of the listener in the world -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfListener_GetPosition(float* x, float* y, float* z); - -//////////////////////////////////////////////////////////// -/// Change the orientation of the listener -/// -/// \param x : X component of the listener's direction -/// \param y : Y component of the listener's direction -/// \param z : Z component of the listener's direction -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfListener_SetDirection(float x, float y, float z); - -//////////////////////////////////////////////////////////// -/// Get the current orientation of the listener -/// -/// \param x : X component of the listener's direction -/// \param y : Y component of the listener's direction -/// \param z : Z component of the listener's direction -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfListener_GetDirection(float* x, float* y, float* z); - - -#endif // SFML_LISTENER_H diff --git a/bindings/c/include/SFML/Audio/Music.h b/bindings/c/include/SFML/Audio/Music.h deleted file mode 100644 index 6077bb3d..00000000 --- a/bindings/c/include/SFML/Audio/Music.h +++ /dev/null @@ -1,292 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_MUSIC_H -#define SFML_MUSIC_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new music and load it from a file -/// -/// \param filename : Path of the music file to open -/// -/// \return A new sfMusic object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfMusic* sfMusic_CreateFromFile(const char* filename); - -//////////////////////////////////////////////////////////// -/// Create a new music and load it from a file in memory -/// -/// \param data : Pointer to the file data in memory -/// \param sizeInBytes : Size of the data to load, in bytes -/// -/// \return A new sfMusic object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfMusic* sfMusic_CreateFromMemory(const void* data, size_t sizeInBytes); - -//////////////////////////////////////////////////////////// -/// Destroy an existing music -/// -/// \param music : Music to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_Destroy(sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Set a music loop state -/// -/// \param music : Music to set the loop state -/// \param loop : sfTrue to play in loop, sfFalse to play once -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_SetLoop(sfMusic* music, sfBool loop); - -//////////////////////////////////////////////////////////// -/// Tell whether or not a music is looping -/// -/// \param music : Music to get the loop state from -/// -/// \return sfTrue if the music is looping, sfFalse otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfMusic_GetLoop(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Get a music duration -/// -/// \param music : Music to get the duration from -/// -/// \return Music duration, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfMusic_GetDuration(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Start playing a music -/// -/// \param music : Music to play -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_Play(sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Pause a music -/// -/// \param music : Music to pause -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_Pause(sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Stop playing a music -/// -/// \param music : Music to stop -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_Stop(sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Return the number of channels of a music (1 = mono, 2 = stereo) -/// -/// \param music : Music to get the channels count from -/// -/// \return Number of channels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfMusic_GetChannelsCount(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Get the stream sample rate of a music -/// -/// \param music : Music to get the sample rate from -/// -/// \return Stream frequency (number of samples per second) -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfMusic_GetSampleRate(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Get the status of a music (stopped, paused, playing) -/// -/// \param music : Music to get the status from -/// -/// \return Current status of the sound -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundStatus sfMusic_GetStatus(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Get the current playing position of a music -/// -/// \param music : Music to get the position from -/// -/// \return Current playing position, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfMusic_GetPlayingOffset(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Set the pitch of a music -/// -/// \param music : Music to modify -/// \param pitch : New pitch -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_SetPitch(sfMusic* music, float pitch); - -//////////////////////////////////////////////////////////// -/// Set the volume of a music -/// -/// \param music : Music to modify -/// \param volume : Volume (in range [0, 100]) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_SetVolume(sfMusic* music, float volume); - -//////////////////////////////////////////////////////////// -/// Set the position of a music -/// -/// \param music : Music to modify -/// \param x : X position of the sound in the world -/// \param y : Y position of the sound in the world -/// \param z : Z position of the sound in the world -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_SetPosition(sfMusic* music, float x, float y, float z); - -//////////////////////////////////////////////////////////// -/// Make the music's position relative to the listener's -/// position, or absolute. -/// The default value is false (absolute) -/// -/// \param music : Music to modify -/// \param relative : True to set the position relative, false to set it absolute -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_SetRelativeToListener(sfMusic* music, sfBool relative); - -//////////////////////////////////////////////////////////// -/// Set the minimum distance - closer than this distance, -/// the listener will hear the music at its maximum volume. -/// The default minimum distance is 1.0 -/// -/// \param music : Music to modify -/// \param distance : New minimum distance for the music -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_SetMinDistance(sfMusic* music, float distance); - -//////////////////////////////////////////////////////////// -/// Set the attenuation factor - the higher the attenuation, the -/// more the sound will be attenuated with distance from listener. -/// The default attenuation factor 1.0 -/// -/// \param music : Music to modify -/// \param attenuation : New attenuation factor for the sound -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_SetAttenuation(sfMusic* music, float attenuation); - -//////////////////////////////////////////////////////////// -/// Set the current playing position of a music -/// -/// \param music : Music to modify -/// \param timeOffset : New playing position, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_SetPlayingOffset(sfMusic* music, sfUint32 timeOffset); - -//////////////////////////////////////////////////////////// -/// Get the pitch of a music -/// -/// \param music : Music to get the pitch from -/// -/// \return Pitch value -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfMusic_GetPitch(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Get the volume of a music -/// -/// \param music : Music to get the volume from -/// -/// \return Volume value (in range [1, 100]) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfMusic_GetVolume(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Get the position of a music -/// -/// \param music : Music to get the position from -/// \param x : X position of the sound in the world -/// \param y : Y position of the sound in the world -/// \param z : Z position of the sound in the world -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMusic_GetPosition(const sfMusic* music, float* x, float* y, float* z); - -//////////////////////////////////////////////////////////// -/// Tell if the music's position is relative to the listener's -/// position, or if it's absolute -/// -/// \param music : Music to check -/// -/// \return sfTrue if the position is relative, sfFalse if it's absolute -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfMusic_IsRelativeToListener(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Get the minimum distance of a music -/// -/// \param music : Music to get the minimum distance from -/// -/// \return Minimum distance for the music -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfMusic_GetMinDistance(const sfMusic* music); - -//////////////////////////////////////////////////////////// -/// Get the attenuation factor of a music -/// -/// \param music : Music to get the attenuation factor from -/// -/// \return Attenuation factor for the a music -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfMusic_GetAttenuation(const sfMusic* music); - - -#endif // SFML_MUSIC_H diff --git a/bindings/c/include/SFML/Audio/Sound.h b/bindings/c/include/SFML/Audio/Sound.h deleted file mode 100644 index 3c24b683..00000000 --- a/bindings/c/include/SFML/Audio/Sound.h +++ /dev/null @@ -1,278 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUND_H -#define SFML_SOUND_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new sound -/// -/// \return A new sfSound object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSound* sfSound_Create(void); - -//////////////////////////////////////////////////////////// -/// Copy an existing sound -/// -/// \param sound : Sound to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSound* sfSound_Copy(sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound -/// -/// \param sound : Sound to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_Destroy(sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Start playing a sound -/// -/// \param sound : Sound to play -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_Play(sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Pause a sound -/// -/// \param sound : Sound to pause -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_Pause(sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Stop playing a sound -/// -/// \param sound : Sound to stop -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_Stop(sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Bind a sound buffer to a sound -/// -/// \param sound : Sound to set the loop state -/// \param buffer : Buffer to bind -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetBuffer(sfSound* sound, const sfSoundBuffer* buffer); - -//////////////////////////////////////////////////////////// -/// Get the sound buffer bound to a sound -/// -/// \param sound : Sound to get the buffer from -/// -/// \return Pointer to the sound's buffer -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfSoundBuffer* sfSound_GetBuffer(const sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Set a sound loop state -/// -/// \param sound : Sound to set the loop state -/// \param loop : sfTrue to play in loop, sfFalse to play once -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetLoop(sfSound* sound, sfBool loop); - -//////////////////////////////////////////////////////////// -/// Tell whether or not a sound is looping -/// -/// \param sound : Sound to get the loop state from -/// -/// \return sfTrue if the sound is looping, sfFalse otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSound_GetLoop(const sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Get the status of a sound (stopped, paused, playing) -/// -/// \param sound : Sound to get the status from -/// -/// \return Current status of the sound -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundStatus sfSound_GetStatus(const sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Set the pitch of a sound -/// -/// \param sound : Sound to modify -/// \param pitch : New pitch -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetPitch(sfSound* sound, float pitch); - -//////////////////////////////////////////////////////////// -/// Set the volume of a sound -/// -/// \param sound : Sound to modify -/// \param volume : Volume (in range [0, 100]) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetVolume(sfSound* sound, float volume); - -//////////////////////////////////////////////////////////// -/// Set the position of a sound -/// -/// \param sound : Sound to modify -/// \param x : X position of the sound in the world -/// \param y : Y position of the sound in the world -/// \param z : Z position of the sound in the world -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetPosition(sfSound* sound, float x, float y, float z); - -//////////////////////////////////////////////////////////// -/// Make the sound's position relative to the listener's -/// position, or absolute. -/// The default value is false (absolute) -/// -/// \param sound : Sound to modify -/// \param relative : True to set the position relative, false to set it absolute -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetRelativeToListener(sfSound* sound, sfBool relative); - -//////////////////////////////////////////////////////////// -/// Set the minimum distance - closer than this distance, -/// the listener will hear the sound at its maximum volume. -/// The default minimum distance is 1.0 -/// -/// \param sound : Sound to modify -/// \param distance : New minimum distance for the sound -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetMinDistance(sfSound* sound, float distance); - -//////////////////////////////////////////////////////////// -/// Set the attenuation factor - the higher the attenuation, the -/// more the sound will be attenuated with distance from listener. -/// The default attenuation factor is 1.0 -/// -/// \param sound : Sound to modify -/// \param attenuation : New attenuation factor for the sound -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetAttenuation(sfSound* sound, float attenuation); - -//////////////////////////////////////////////////////////// -/// Set the current playing position of a sound -/// -/// \param sound : Sound to modify -/// \param timeOffset : New playing position, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_SetPlayingOffset(sfSound* sound, sfUint32 timeOffset); - -//////////////////////////////////////////////////////////// -/// Get the pitch of a sound -/// -/// \param sound : Sound to get the pitch from -/// -/// \return Pitch value -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSound_GetPitch(const sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Get the volume of a sound -/// -/// \param sound : Sound to get the volume from -/// -/// \return Volume value (in range [1, 100]) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSound_GetVolume(const sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Get the position of a sound -/// -/// \param sound : Sound to get the position from -/// \param x : X position of the sound in the world -/// \param y : Y position of the sound in the world -/// \param z : Z position of the sound in the world -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSound_GetPosition(const sfSound* sound, float* x, float* y, float* z); - -//////////////////////////////////////////////////////////// -/// Tell if the sound's position is relative to the listener's -/// position, or if it's absolute -/// -/// \param sound : Sound to check -/// -/// \return sfTrue if the position is relative, sfFalse if it's absolute -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSound_IsRelativeToListener(const sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Get the minimum distance of a sound -/// -/// \param sound : Sound to get the minimum distance from -/// -/// \return Minimum distance for the sound -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSound_GetMinDistance(const sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Get the attenuation factor of a sound -/// -/// \param sound : Sound to get the attenuation factor from -/// -/// \return Attenuation factor for the sound -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSound_GetAttenuation(const sfSound* sound); - -//////////////////////////////////////////////////////////// -/// Get the current playing position of a sound -/// -/// \param sound : Sound to get the position from -/// -/// \return Current playing position, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfSound_GetPlayingOffset(const sfSound* sound); - - -#endif // SFML_SOUND_H diff --git a/bindings/c/include/SFML/Audio/SoundBuffer.h b/bindings/c/include/SFML/Audio/SoundBuffer.h deleted file mode 100644 index 1b192626..00000000 --- a/bindings/c/include/SFML/Audio/SoundBuffer.h +++ /dev/null @@ -1,151 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDBUFFER_H -#define SFML_SOUNDBUFFER_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new sound buffer and load it from a file -/// -/// \param filename : Path of the music file to open -/// -/// \return A new sfSoundBuffer object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundBuffer* sfSoundBuffer_CreateFromFile(const char* filename); - -//////////////////////////////////////////////////////////// -/// Create a new sound buffer and load it from a file in memory -/// -/// \param data : Pointer to the file data in memory -/// \param sizeInBytes : Size of the data to load, in bytes -/// -/// \return A new sfSoundBuffer object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundBuffer* sfSoundBuffer_CreateFromMemory(const void* data, size_t sizeInBytes); - -//////////////////////////////////////////////////////////// -/// Create a new sound buffer and load it from an array of -/// samples in memory - assumed format for samples is -/// 16 bits signed integer -/// -/// \param samples : Pointer to the samples in memory -/// \param samplesCount : Number of samples pointed by Samples -/// \param channelsCount : Number of channels (1 = mono, 2 = stereo, ...) -/// \param sampleRate : Frequency (number of samples to play per second) -/// -/// \return A new sfSoundBuffer object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundBuffer* sfSoundBuffer_CreateFromSamples(const sfInt16* samples, size_t samplesCount, unsigned int channelsCount, unsigned int sampleRate); - -//////////////////////////////////////////////////////////// -/// Copy an existing sound buffer -/// -/// \param soundBuffer : Sound buffer to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundBuffer* sfSoundBuffer_Copy(sfSoundBuffer* soundBuffer); - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound buffer -/// -/// \param soundBuffer : Sound buffer to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundBuffer_Destroy(sfSoundBuffer* soundBuffer); - -//////////////////////////////////////////////////////////// -/// Save a sound buffer to a file -/// -/// \param soundBuffer : Sound buffer to save -/// \param filename : Path of the sound file to write -/// -/// \return sfTrue if saving has been successful -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSoundBuffer_SaveToFile(const sfSoundBuffer* soundBuffer, const char* filename); - -//////////////////////////////////////////////////////////// -/// Return the samples contained in a sound buffer -/// -/// \param soundBuffer : Sound buffer to get samples from -/// -/// \return Pointer to the array of sound samples, in 16 bits signed integer format -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfInt16* sfSoundBuffer_GetSamples(const sfSoundBuffer* soundBuffer); - -//////////////////////////////////////////////////////////// -/// Return the number of samples contained in a sound buffer -/// -/// \param soundBuffer : Sound buffer to get samples count from -/// -/// \return Number of samples -/// -//////////////////////////////////////////////////////////// -CSFML_API size_t sfSoundBuffer_GetSamplesCount(const sfSoundBuffer* soundBuffer); - -//////////////////////////////////////////////////////////// -/// Get the sample rate of a sound buffer -/// -/// \param soundBuffer : Sound buffer to get sample rate from -/// -/// \return Sound frequency (number of samples per second) -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfSoundBuffer_GetSampleRate(const sfSoundBuffer* soundBuffer); - -//////////////////////////////////////////////////////////// -/// Return the number of channels of a sound buffer (1 = mono, 2 = stereo, ...) -/// -/// \param soundBuffer : Sound buffer to get channels count from -/// -/// \return Number of channels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfSoundBuffer_GetChannelsCount(const sfSoundBuffer* soundBuffer); - -//////////////////////////////////////////////////////////// -/// Get the duration of a sound buffer -/// -/// \param soundBuffer : Sound buffer to get duration from -/// -/// \return Sound duration, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfSoundBuffer_GetDuration(const sfSoundBuffer* soundBuffer); - - -#endif // SFML_SOUNDBUFFER_H diff --git a/bindings/c/include/SFML/Audio/SoundBufferRecorder.h b/bindings/c/include/SFML/Audio/SoundBufferRecorder.h deleted file mode 100644 index d8bfce22..00000000 --- a/bindings/c/include/SFML/Audio/SoundBufferRecorder.h +++ /dev/null @@ -1,91 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDBUFFERRECORDER_H -#define SFML_SOUNDBUFFERRECORDER_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new sound buffer recorder -/// -/// \return A new sfSoundBufferRecorder object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundBufferRecorder* sfSoundBufferRecorder_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound buffer recorder -/// -/// \param soundBufferRecorder : Sound buffer recorder to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundBufferRecorder_Destroy(sfSoundBufferRecorder* soundBufferRecorder); - -//////////////////////////////////////////////////////////// -/// Start the capture. -/// Warning : only one capture can happen at the same time -/// -/// \param soundBufferRecorder : Sound buffer recorder to start -/// \param sampleRate : Sound frequency (the more samples, the higher the quality) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundBufferRecorder_Start(sfSoundBufferRecorder* soundBufferRecorder, unsigned int sampleRate); - -//////////////////////////////////////////////////////////// -/// Stop the capture -/// -/// \param soundBufferRecorder : Sound buffer recorder to stop -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundBufferRecorder_Stop(sfSoundBufferRecorder* soundBufferRecorder); - -//////////////////////////////////////////////////////////// -/// Get the sample rate of a sound buffer recorder -/// -/// \param soundBufferRecorder : Sound buffer recorder to get sample rate from -/// -/// \return Frequency, in samples per second -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfSoundBufferRecorder_GetSampleRate(const sfSoundBufferRecorder* soundBufferRecorder); - -//////////////////////////////////////////////////////////// -/// Get the sound buffer containing the captured audio data -/// of a sound buffer recorder -/// -/// \param soundBufferRecorder : Sound buffer recorder to get the sound buffer from -/// -/// \return Pointer to the sound buffer (you don't need to destroy it after use) -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfSoundBuffer* sfSoundBufferRecorder_GetBuffer(const sfSoundBufferRecorder* soundBufferRecorder); - - -#endif // SFML_SOUNDBUFFERRECORDER_H diff --git a/bindings/c/include/SFML/Audio/SoundRecorder.h b/bindings/c/include/SFML/Audio/SoundRecorder.h deleted file mode 100644 index 16c7677b..00000000 --- a/bindings/c/include/SFML/Audio/SoundRecorder.h +++ /dev/null @@ -1,103 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDRECORDER_H -#define SFML_SOUNDRECORDER_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -typedef sfBool (*sfSoundRecorderStartCallback)(void*); ///< Type of the callback used when starting a capture -typedef sfBool (*sfSoundRecorderProcessCallback)(const sfInt16*, size_t, void*); ///< Type of the callback used to process audio data -typedef void (*sfSoundRecorderStopCallback)(void*); ///< Type of the callback used when stopping a capture - - -//////////////////////////////////////////////////////////// -/// Construct a new sound recorder with callback functions -/// for processing captured samples -/// -/// \param onStart : Callback function which will be called when a new capture starts (can be NULL) -/// \param onProcess : Callback function which will be called each time there's audio data to process -/// \param onStop : Callback function which will be called when the current capture stops (can be NULL) -/// \param userData : Data to pass to the callback function (can be NULL) -/// -/// \return A new sfSoundRecorder object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundRecorder* sfSoundRecorder_Create(sfSoundRecorderStartCallback onStart, - sfSoundRecorderProcessCallback onProcess, - sfSoundRecorderStopCallback onStop, - void* userData); - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound recorder -/// -/// \param soundRecorder : Sound recorder to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundRecorder_Destroy(sfSoundRecorder* soundRecorder); - -//////////////////////////////////////////////////////////// -/// Start the capture. -/// Warning : only one capture can happen at the same time -/// -/// \param soundRecorder : Sound recorder to start -/// \param sampleRate : Sound frequency (the more samples, the higher the quality) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundRecorder_Start(sfSoundRecorder* soundRecorder, unsigned int sampleRate); - -//////////////////////////////////////////////////////////// -/// Stop the capture -/// -/// \param soundRecorder : Sound recorder to stop -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundRecorder_Stop(sfSoundRecorder* soundRecorder); - -//////////////////////////////////////////////////////////// -/// Get the sample rate of a sound recorder -/// -/// \param soundRecorder : Sound recorder to get sample rate from -/// -/// \return Frequency, in samples per second -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfSoundRecorder_GetSampleRate(const sfSoundRecorder* soundRecorder); - -//////////////////////////////////////////////////////////// -/// Tell if the system supports sound capture. -/// If not, this class won't be usable -/// -/// \return sfTrue if audio capture is supported -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSoundRecorder_IsAvailable(void); - - -#endif // SFML_SOUNDRECORDER_H diff --git a/bindings/c/include/SFML/Audio/SoundStatus.h b/bindings/c/include/SFML/Audio/SoundStatus.h deleted file mode 100644 index 80df5fac..00000000 --- a/bindings/c/include/SFML/Audio/SoundStatus.h +++ /dev/null @@ -1,42 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDSTATUS_H -#define SFML_SOUNDSTATUS_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -typedef enum -{ - sfStopped, ///< Sound / music is not playing - sfPaused, ///< Sound / music is paused - sfPlaying ///< Sound / music is playing -} sfSoundStatus; - - -#endif // SFML_SOUNDSTATUS_H diff --git a/bindings/c/include/SFML/Audio/SoundStream.h b/bindings/c/include/SFML/Audio/SoundStream.h deleted file mode 100644 index 8e2c6811..00000000 --- a/bindings/c/include/SFML/Audio/SoundStream.h +++ /dev/null @@ -1,294 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDSTREAM_H -#define SFML_SOUNDSTREAM_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// sfSoundStreamChunk defines the data to fill by the -/// OnGetData callback -//////////////////////////////////////////////////////////// -typedef struct -{ - sfInt16* Samples; ///< Pointer to the audio samples - unsigned int NbSamples; ///< Number of samples pointed by Samples -} sfSoundStreamChunk; - -typedef sfBool (*sfSoundStreamGetDataCallback)(sfSoundStreamChunk*, void*); ///< Type of the callback used to get a sound stream data -typedef void (*sfSoundStreamSeekCallback)(sfUint32, void*); ///< Type of the callback used to seek in a sound stream - - -//////////////////////////////////////////////////////////// -/// Construct a new sound stream -/// -/// \param onGetData : Function called when the stream needs more data (can't be NULL) -/// \param onSeek : Function called when the stream seeks (can't be NULL) -/// \param channelsCount : Number of channels to use (1 = mono, 2 = stereo) -/// \param sampleRate : Sample rate of the sound (44100 = CD quality) -/// \param userData : Data to pass to the callback functions -/// -/// \return A new sfSoundStream object (NULL if failed) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundStream* sfSoundStream_Create(sfSoundStreamGetDataCallback onGetData, - sfSoundStreamSeekCallback onSeek, - unsigned int channelsCount, - unsigned int sampleRate, - void* userData); - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound stream -/// -/// \param soundStream : Sound stream to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_Destroy(sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Start playing a sound stream -/// -/// \param soundStream : Sound stream to play -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_Play(sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Pause a sound stream -/// -/// \param soundStream : Sound stream to pause -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_Pause(sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Stop playing a sound stream -/// -/// \param soundStream : Sound stream to stop -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_Stop(sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Get the status of a sound stream (stopped, paused, playing) -/// -/// \param soundStream : Sound stream to get the status from -/// -/// \return Current status of the sound stream -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSoundStatus sfSoundStream_GetStatus(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Return the number of channels of a sound stream -/// (1 = mono, 2 = stereo) -/// -/// \param soundStream : Sound stream to get the channels count from -/// -/// \return Number of channels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfSoundStream_GetChannelsCount(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Get the sample rate of a sound stream -/// -/// \param soundStream : Sound stream to get the sample rate from -/// -/// \return Stream frequency (number of samples per second) -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfSoundStream_GetSampleRate(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Set the pitch of a sound stream -/// -/// \param soundStream : Sound stream to modify -/// \param pitch : New pitch -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_SetPitch(sfSoundStream* soundStream, float pitch); - -//////////////////////////////////////////////////////////// -/// Set the volume of a sound stream -/// -/// \param soundStream : Sound stream to modify -/// \param volume : Volume (in range [0, 100]) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_SetVolume(sfSoundStream* soundStream, float volume); - -//////////////////////////////////////////////////////////// -/// Set the position of a sound stream -/// -/// \param soundStream : Sound stream to modify -/// \param x : X position of the sound stream in the world -/// \param y : Y position of the sound stream in the world -/// \param z : Z position of the sound stream in the world -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_SetPosition(sfSoundStream* soundStream, float x, float y, float z); - -//////////////////////////////////////////////////////////// -/// Make the sound stream's position relative to the listener's -/// position, or absolute. -/// The default value is false (absolute) -/// -/// \param soundStream : Sound stream to modify -/// \param relative : True to set the position relative, false to set it absolute -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_SetRelativeToListener(sfSoundStream* soundStream, sfBool relative); - -//////////////////////////////////////////////////////////// -/// Set the minimum distance - closer than this distance, -/// the listener will hear the sound stream at its maximum volume. -/// The default minimum distance is 1.0 -/// -/// \param soundStream : Sound stream to modify -/// \param distance : New minimum distance for the sound stream -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_SetMinDistance(sfSoundStream* soundStream, float distance); - -//////////////////////////////////////////////////////////// -/// Set the attenuation factor - the higher the attenuation, the -/// more the sound stream will be attenuated with distance from listener. -/// The default attenuation factor 1.0 -/// -/// \param soundStream : Sound stream to modify -/// \param attenuation : New attenuation factor for the sound stream -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_SetAttenuation(sfSoundStream* soundStream, float attenuation); - -//////////////////////////////////////////////////////////// -/// Set the current playing position of a stream -/// -/// \param soundStream : Sound stream to modify -/// \param timeOffset : New playing position, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_SetPlayingOffset(sfSoundStream* soundStream, sfUint32 timeOffset); - -//////////////////////////////////////////////////////////// -/// Set a stream loop state -/// -/// \param soundStream : Stream to set the loop state -/// \param loop : sfTrue to play in loop, sfFalse to play once -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_SetLoop(sfSoundStream* soundStream, sfBool loop); - -//////////////////////////////////////////////////////////// -/// Get the pitch of a sound stream -/// -/// \param soundStream : Sound stream to get the pitch from -/// -/// \return Pitch value -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSoundStream_GetPitch(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Get the volume of a sound stream -/// -/// \param soundStream : Sound stream to get the volume from -/// -/// \return Volume value (in range [1, 100]) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSoundStream_GetVolume(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Get the position of a sound stream -/// -/// \param soundStream : Sound stream to get the position from -/// \param x : X position of the sound stream in the world -/// \param y : Y position of the sound stream in the world -/// \param z : Z position of the sound stream in the world -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSoundStream_GetPosition(const sfSoundStream* soundStream, float* x, float* y, float* z); - -//////////////////////////////////////////////////////////// -/// Tell if the sound stream's position is relative to the listener's -/// position, or if it's absolute -/// -/// \param soundStream : Sound stream to check -/// -/// \return sfTrue if the position is relative, sfFalse if it's absolute -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSoundStream_IsRelativeToListener(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Get the minimum distance of a sound stream -/// -/// \param soundStream : Sound stream to get the minimum distance from -/// -/// \return Minimum distance for the sound stream -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSoundStream_GetMinDistance(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Get the attenuation factor of a sound stream -/// -/// \param soundStream : Sound stream to get the attenuation factor from -/// -/// \return Attenuation factor for the sound stream -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSoundStream_GetAttenuation(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Tell whether or not a stream is looping -/// -/// \param soundStream : Soundstream to get the loop state from -/// -/// \return sfTrue if the stream is looping, sfFalse otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSoundStream_GetLoop(const sfSoundStream* soundStream); - -//////////////////////////////////////////////////////////// -/// Get the current playing position of a sound stream -/// -/// \param soundStream : Sound stream to get the position from -/// -/// \return Current playing position, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfSoundStream_GetPlayingOffset(const sfSoundStream* soundStream); - - -#endif // SFML_SOUNDSTREAM_H diff --git a/bindings/c/include/SFML/Audio/Types.h b/bindings/c/include/SFML/Audio/Types.h deleted file mode 100644 index af213606..00000000 --- a/bindings/c/include/SFML/Audio/Types.h +++ /dev/null @@ -1,36 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_AUDIO_TYPES_H -#define SFML_AUDIO_TYPES_H - - -typedef struct sfMusic sfMusic; -typedef struct sfSound sfSound; -typedef struct sfSoundBuffer sfSoundBuffer; -typedef struct sfSoundBufferRecorder sfSoundBufferRecorder; -typedef struct sfSoundRecorder sfSoundRecorder; -typedef struct sfSoundStream sfSoundStream; - - -#endif // SFML_AUDIO_TYPES_H diff --git a/bindings/c/include/SFML/Config.h b/bindings/c/include/SFML/Config.h deleted file mode 100644 index cfc31a9d..00000000 --- a/bindings/c/include/SFML/Config.h +++ /dev/null @@ -1,150 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_CONFIG_H -#define SFML_CONFIG_H - - -//////////////////////////////////////////////////////////// -// Define the CSFML version -//////////////////////////////////////////////////////////// -#define CSFML_VERSION_MAJOR 2 -#define CSFML_VERSION_MINOR 0 - - -//////////////////////////////////////////////////////////// -// Identify the operating system -//////////////////////////////////////////////////////////// -#if defined(_WIN32) || defined(__WIN32__) - - // Windows - #define CSFML_SYSTEM_WINDOWS - -#elif defined(linux) || defined(__linux) - - // Linux - #define CSFML_SYSTEM_LINUX - -#elif defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh) - - // MacOS - #define CSFML_SYSTEM_MACOS - -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) - - // FreeBSD - #define CSFML_SYSTEM_FREEBSD - -#else - - // Unsupported system - #error This operating system is not supported by SFML library - -#endif - - -//////////////////////////////////////////////////////////// -// Define portable import / export macros -//////////////////////////////////////////////////////////// -#if defined(CSFML_SYSTEM_WINDOWS) - - #ifdef CSFML_EXPORTS - - // From DLL side, we must export - #define CSFML_API extern "C" __declspec(dllexport) - - #else - - // From client application side, we must import - #define CSFML_API extern __declspec(dllimport) - - #endif - -#else - - #ifdef CSFML_EXPORTS - - #define CSFML_API extern "C" - - #else - - #define CSFML_API extern - - #endif - -#endif - - -//////////////////////////////////////////////////////////// -// Define a portable boolean type -//////////////////////////////////////////////////////////// -typedef int sfBool; -#define sfFalse 0 -#define sfTrue 1 - - -//////////////////////////////////////////////////////////// -// Define portable types -//////////////////////////////////////////////////////////// -#include -#include - -// 8 bits integer types -#if UCHAR_MAX == 0xFF - typedef signed char sfInt8; - typedef unsigned char sfUint8; -#else - #error No 8 bits integer type for this platform -#endif - -// 16 bits integer types -#if USHRT_MAX == 0xFFFF - typedef signed short sfInt16; - typedef unsigned short sfUint16; -#elif UINT_MAX == 0xFFFF - typedef signed int sfInt16; - typedef unsigned int sfUint16; -#elif ULONG_MAX == 0xFFFF - typedef signed long sfInt16; - typedef unsigned long sfUint16; -#else - #error No 16 bits integer type for this platform -#endif - -// 32 bits integer types -#if USHRT_MAX == 0xFFFFFFFF - typedef signed short sfInt32; - typedef unsigned short sfUint32; -#elif UINT_MAX == 0xFFFFFFFF - typedef signed int sfInt32; - typedef unsigned int sfUint32; -#elif ULONG_MAX == 0xFFFFFFFF - typedef signed long sfInt32; - typedef unsigned long sfUint32; -#else - #error No 32 bits integer type for this platform -#endif - - -#endif // SFML_CONFIG_H diff --git a/bindings/c/include/SFML/Graphics.h b/bindings/c/include/SFML/Graphics.h deleted file mode 100644 index 4ab27187..00000000 --- a/bindings/c/include/SFML/Graphics.h +++ /dev/null @@ -1,46 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_GRAPHICS_H -#define SFML_GRAPHICS_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#endif // SFML_GRAPHICS_H diff --git a/bindings/c/include/SFML/Graphics/BlendMode.h b/bindings/c/include/SFML/Graphics/BlendMode.h deleted file mode 100644 index d024b0b5..00000000 --- a/bindings/c/include/SFML/Graphics/BlendMode.h +++ /dev/null @@ -1,46 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_BLENDMODE_H -#define SFML_BLENDMODE_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -/// Enumerate the blending modes for drawable objects -//////////////////////////////////////////////////////////// -typedef enum -{ - sfBlendAlpha, ///< Pixel = Src * a + Dest * (1 - a) - sfBlendAdd, ///< Pixel = Src + Dest - sfBlendMultiply, ///< Pixel = Src * Dest - sfBlendNone ///< No blending -} sfBlendMode; - - -#endif // SFML_BLENDMODE_H diff --git a/bindings/c/include/SFML/Graphics/Color.h b/bindings/c/include/SFML/Graphics/Color.h deleted file mode 100644 index 767fa844..00000000 --- a/bindings/c/include/SFML/Graphics/Color.h +++ /dev/null @@ -1,107 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_COLOR_H -#define SFML_COLOR_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -/// sfColor is an utility class for manipulating colors -//////////////////////////////////////////////////////////// -typedef struct -{ - sfUint8 r; - sfUint8 g; - sfUint8 b; - sfUint8 a; -} sfColor; - - -//////////////////////////////////////////////////////////// -/// Define some common colors -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfBlack; -CSFML_API sfColor sfWhite; -CSFML_API sfColor sfRed; -CSFML_API sfColor sfGreen; -CSFML_API sfColor sfBlue; -CSFML_API sfColor sfYellow; -CSFML_API sfColor sfMagenta; -CSFML_API sfColor sfCyan; - - -//////////////////////////////////////////////////////////// -/// Construct a color from its 3 RGB components -/// -/// \param red : Red component (0 .. 255) -/// \param green : Green component (0 .. 255) -/// \param blue : Blue component (0 .. 255) -/// -/// \return sfColor constructed from the components -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfColor_FromRGB(sfUint8 red, sfUint8 green, sfUint8 blue); - -//////////////////////////////////////////////////////////// -/// Construct a color from its 4 RGBA components -/// -/// \param red : Red component (0 .. 255) -/// \param green : Green component (0 .. 255) -/// \param blue : Blue component (0 .. 255) -/// \param alpha : Alpha component (0 .. 255) -/// -/// \return sfColor constructed from the components -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfColor_FromRGBA(sfUint8 red, sfUint8 green, sfUint8 blue, sfUint8 alpha); - -//////////////////////////////////////////////////////////// -/// Add two colors -/// -/// \param color1 : First color -/// \param color2 : Second color -/// -/// \return Component-wise saturated addition of the two colors -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfColor_Add(sfColor color1, sfColor color2); - -//////////////////////////////////////////////////////////// -/// Modulate two colors -/// -/// \param color1 : First color -/// \param color2 : Second color -/// -/// \return Component-wise multiplication of the two colors -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfColor_Modulate(sfColor color1, sfColor color2); - - -#endif // SFML_COLOR_H diff --git a/bindings/c/include/SFML/Graphics/Font.h b/bindings/c/include/SFML/Graphics/Font.h deleted file mode 100644 index 5565f61b..00000000 --- a/bindings/c/include/SFML/Graphics/Font.h +++ /dev/null @@ -1,132 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_FONT_H -#define SFML_FONT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new font from a file -/// -/// \param filename : Path of the font file to load -/// -/// \return A new sfFont object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFont* sfFont_CreateFromFile(const char* filename); - -//////////////////////////////////////////////////////////// -/// Create a new image font a file in memory -/// -/// \param data : Pointer to the file data in memory -/// \param sizeInBytes : Size of the data to load, in bytes -/// -/// \return A new sfFont object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFont* sfFont_CreateFromMemory(const void* data, size_t sizeInBytes); - -//////////////////////////////////////////////////////////// -/// Copy an existing font -/// -/// \param font : Font to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFont* sfFont_Copy(sfFont* font); - -//////////////////////////////////////////////////////////// -/// Destroy an existing font -/// -/// \param font : Font to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfFont_Destroy(sfFont* font); - -//////////////////////////////////////////////////////////// -/// Get a glyph in a font -/// -/// \param font : Source font -/// \param codePoint : Unicode code point of the character to get -/// \param characterSize : Character size, in pixels -/// \param bold Retrieve the bold version or the regular one? -/// -/// \return The corresponding glyph -/// -//////////////////////////////////////////////////////////// -CSFML_API sfGlyph sfFont_GetGlyph(sfFont* font, sfUint32 codePoint, unsigned int characterSize, sfBool bold); - -//////////////////////////////////////////////////////////// -/// Get the kerning value corresponding to a given pair of characters in a font -/// -/// \param font : Source font -/// \param first : Unicode code point of the first character -/// \param second : Unicode code point of the second character -/// \param characterSize : Character size, in pixels -/// -/// \return Kerning offset, in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API int sfFont_GetKerning(sfFont* font, sfUint32 first, sfUint32 second, unsigned int characterSize); - -//////////////////////////////////////////////////////////// -/// Get the line spacing value -/// -/// \param font : Source font -/// \param codePoint : Unicode code point of the character to get -/// \param characterSize : Character size, in pixels -/// -/// \return Line spacing, in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API int sfFont_GetLineSpacing(sfFont* font, unsigned int characterSize); - -//////////////////////////////////////////////////////////// -/// Get the image containing the glyphs of a given size in a font -/// -/// \param font : Source font -/// \param characterSize : Character size, in pixels -/// -/// \return Read-only pointer to the image -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfImage* sfFont_GetImage(sfFont* font, unsigned int characterSize); - -//////////////////////////////////////////////////////////// -/// Get the built-in default font (Arial) -/// -/// \return Pointer to the default font -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfFont* sfFont_GetDefaultFont(void); - - -#endif // SFML_IMAGE_H diff --git a/bindings/c/include/SFML/Graphics/Glyph.h b/bindings/c/include/SFML/Graphics/Glyph.h deleted file mode 100644 index 76f237a2..00000000 --- a/bindings/c/include/SFML/Graphics/Glyph.h +++ /dev/null @@ -1,45 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_GLYPH_H -#define SFML_GLYPH_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -/// sfGlyph describes a glyph (a visual character) -//////////////////////////////////////////////////////////// -typedef struct -{ - int Advance; ///< Offset to move horizontically to the next character - sfIntRect Bounds; ///< Bounding rectangle of the glyph, in coordinates relative to the baseline - sfIntRect SubRect; ///< Texture coordinates of the glyph inside the font's image -} sfGlyph; - - -#endif // SFML_GLYPH_H diff --git a/bindings/c/include/SFML/Graphics/Image.h b/bindings/c/include/SFML/Graphics/Image.h deleted file mode 100644 index f69031dc..00000000 --- a/bindings/c/include/SFML/Graphics/Image.h +++ /dev/null @@ -1,246 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_IMAGE_H -#define SFML_IMAGE_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new image filled with a color -/// -/// \param width : Image width -/// \param height : Image height -/// \param color : Image color -/// -/// \return A new sfImage object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfImage* sfImage_CreateFromColor(unsigned int width, unsigned int height, sfColor color); - -//////////////////////////////////////////////////////////// -/// Create a new image from an array of pixels in memory -/// -/// \param width : Image width -/// \param height : Image height -/// \param data : Pointer to the pixels in memory (assumed format is RGBA) -/// -/// \return A new sfImage object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfImage* sfImage_CreateFromPixels(unsigned int width, unsigned int height, const sfUint8* data); - -//////////////////////////////////////////////////////////// -/// Create a new image from a file -/// -/// \param filename : Path of the image file to load -/// -/// \return A new sfImage object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfImage* sfImage_CreateFromFile(const char* filename); - -//////////////////////////////////////////////////////////// -/// Create a new image from a file in memory -/// -/// \param data : Pointer to the file data in memory -/// \param sizeInBytes : Size of the data to load, in bytes -/// -/// \return A new sfImage object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfImage* sfImage_CreateFromMemory(const void* data, size_t sizeInBytes); - -//////////////////////////////////////////////////////////// -/// Copy an existing image -/// -/// \param image : Image to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfImage* sfImage_Copy(sfImage* image); - -//////////////////////////////////////////////////////////// -/// Destroy an existing image -/// -/// \param image : Image to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfImage_Destroy(sfImage* image); - -//////////////////////////////////////////////////////////// -/// Save the content of an image to a file -/// -/// \param image : Image to save -/// \param filename : Path of the file to save (overwritten if already exist) -/// -/// \return sfTrue if saving was successful -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfImage_SaveToFile(const sfImage* image, const char* filename); - -//////////////////////////////////////////////////////////// -/// Create a transparency mask for an image from a specified colorkey -/// -/// \param image : Image to modify -/// \param colorKey : Color to become transparent -/// \param alpha : Alpha value to use for transparent pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfImage_CreateMaskFromColor(sfImage* image, sfColor colorKey, sfUint8 alpha); - -//////////////////////////////////////////////////////////// -/// Copy pixels from another image onto this one. -/// This function does a slow pixel copy and should only -/// be used at initialization time -/// -/// \param image : Destination image -/// \param source : Source image to copy -/// \param destX : X coordinate of the destination position -/// \param destY : Y coordinate of the destination position -/// \param sourceRect : Sub-rectangle of the source image to copy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfImage_CopyImage(sfImage* image, const sfImage* source, unsigned int destX, unsigned int destY, sfIntRect sourceRect); - -//////////////////////////////////////////////////////////// -/// Create the image from the current contents of the -/// given window -/// -/// \param image : Destination image -/// \param window : Window to capture -/// \param sourceRect : Sub-rectangle of the screen to copy (empty by default - entire image) -/// -/// \return True if creation was successful -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfImage_CopyScreen(sfImage* image, sfRenderWindow* window, sfIntRect sourceRect); - -//////////////////////////////////////////////////////////// -/// Change the color of a pixel of an image -/// -/// \param image : Image to modify -/// \param x : X coordinate of pixel in the image -/// \param y : Y coordinate of pixel in the image -/// \param color : New color for pixel (X, Y) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfImage_SetPixel(sfImage* image, unsigned int x, unsigned int y, sfColor color); - -//////////////////////////////////////////////////////////// -/// Get a pixel from an image -/// -/// \param image : Image to read -/// \param x : X coordinate of pixel in the image -/// \param y : Y coordinate of pixel in the image -/// -/// \return Color of pixel (x, y) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfImage_GetPixel(const sfImage* image, unsigned int x, unsigned int y); - -//////////////////////////////////////////////////////////// -/// Get a read-only pointer to the array of pixels of an image (8 bits integers RGBA) -/// Array size is sfImage_GetWidth(img) x sfImage_GetHeight(img) x 4 -/// This pointer becomes invalid if you reload or resize the image -/// -/// \param image : Image to read -/// -/// \return Pointer to the array of pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfUint8* sfImage_GetPixelsPtr(const sfImage* image); - -//////////////////////////////////////////////////////////// -/// Update a sub-rectangle of the image from an array of pixels -/// -/// Warning: for performances reasons, this function doesn't -/// perform any check; thus you're responsible of ensuring that -/// \a rectangle does not exceed the image size, and that -/// \a pixels contains enough elements. -/// -/// \param image : Image to update -/// \param rectangle : Sub-rectangle of the image to update -/// \param pixels : Array of pixels to write to the image -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfImage_UpdatePixels(const sfImage* image, const sfUint8* pixels, sfIntRect rectangle); - -//////////////////////////////////////////////////////////// -/// Bind the image for rendering -/// -/// \param image : Image to bind -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfImage_Bind(const sfImage* image); - -//////////////////////////////////////////////////////////// -/// Enable or disable image smooth filter -/// -/// \param image : Image to modify -/// \param smooth : sfTrue to enable smoothing filter, false to disable it -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfImage_SetSmooth(sfImage* image, sfBool smooth); - -//////////////////////////////////////////////////////////// -/// Return the width of the image -/// -/// \param image : Image to read -/// -/// \return Width in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfImage_GetWidth(const sfImage* image); - -//////////////////////////////////////////////////////////// -/// Return the height of the image -/// -/// \param image : Image to read -/// -/// \return Height in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfImage_GetHeight(const sfImage* image); - -//////////////////////////////////////////////////////////// -/// Tells whether the smoothing filter is enabled or not on an image -/// -/// \param image : Image to read -/// -/// \return sfTrue if the smoothing filter is enabled -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfImage_IsSmooth(const sfImage* image); - - -#endif // SFML_IMAGE_H diff --git a/bindings/c/include/SFML/Graphics/Rect.h b/bindings/c/include/SFML/Graphics/Rect.h deleted file mode 100644 index 2fbc5769..00000000 --- a/bindings/c/include/SFML/Graphics/Rect.h +++ /dev/null @@ -1,81 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_RECT_H -#define SFML_RECT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -/// sfFloatRect and sfIntRect are utility classes for -/// manipulating rectangles. -//////////////////////////////////////////////////////////// -typedef struct -{ - float Left; - float Top; - float Width; - float Height; -} sfFloatRect; - -typedef struct -{ - int Left; - int Top; - int Width; - int Height; -} sfIntRect; - -//////////////////////////////////////////////////////////// -/// Check if a point is inside a rectangle's area -/// -/// \param rect : Rectangle to test -/// \param x : X coordinate of the point to test -/// \param y : Y coordinate of the point to test -/// -/// \return sfTrue if the point is inside -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfFloatRect_Contains(const sfFloatRect* rect, float x, float y); -CSFML_API sfBool sfIntRect_Contains(const sfIntRect* rect, int x, int y); - -//////////////////////////////////////////////////////////// -/// Check intersection between two rectangles -/// -/// \param rect1 : First rectangle to test -/// \param rect2 : Second rectangle to test -/// \param intersection : Rectangle to be filled with overlapping rect (can be NULL) -/// -/// \return sfTrue if rectangles overlap -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfFloatRect_Intersects(const sfFloatRect* rect1, const sfFloatRect* rect2, sfFloatRect* intersection); -CSFML_API sfBool sfIntRect_Intersects(const sfIntRect* rect1, const sfIntRect* rect2, sfIntRect* intersection); - - -#endif // SFML_RECT_H diff --git a/bindings/c/include/SFML/Graphics/RenderImage.h b/bindings/c/include/SFML/Graphics/RenderImage.h deleted file mode 100644 index afd90e41..00000000 --- a/bindings/c/include/SFML/Graphics/RenderImage.h +++ /dev/null @@ -1,206 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_RENDERIMAGE_H -#define SFML_RENDERIMAGE_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new renderimage -/// -/// \param width : Width of the renderimage -/// \param height : Height of the renderimage -/// \param depthBuffer : Do you want a depth-buffer attached? (useful only if you're doing 3D OpenGL on the renderimage) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfRenderImage* sfRenderImage_Create(unsigned int width, unsigned int height, sfBool depthBuffer); - -//////////////////////////////////////////////////////////// -/// Destroy an existing renderimage -/// -/// \param renderImage : renderimage to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_Destroy(sfRenderImage* renderImage); - -//////////////////////////////////////////////////////////// -/// Get the width of the rendering region of a renderimage -/// -/// \param renderImage : Renderimage object -/// -/// \return Width in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfRenderImage_GetWidth(const sfRenderImage* renderImage); - -//////////////////////////////////////////////////////////// -/// Get the height of the rendering region of a renderimage -/// -/// \param renderImage : Renderimage object -/// -/// \return Height in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfRenderImage_GetHeight(const sfRenderImage* renderImage); - -//////////////////////////////////////////////////////////// -/// Activate or deactivate a renderimage as the current target for rendering -/// -/// \param renderImage : Renderimage object -/// \param active : sfTrue to activate, sfFalse to deactivate -/// -/// \return True if operation was successful, false otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfRenderImage_SetActive(sfRenderImage* renderImage, sfBool active); - -//////////////////////////////////////////////////////////// -/// Save the current OpenGL render states and matrices -/// -/// \param renderWindow : Renderwindow object -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_SaveGLStates(sfRenderImage* renderImage); - -//////////////////////////////////////////////////////////// -/// Restore the previously saved OpenGL render states and matrices -/// -/// \param renderWindow : Renderwindow object -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_RestoreGLStates(sfRenderImage* renderImage); - -//////////////////////////////////////////////////////////// -/// Update the contents of the target image -/// -/// \param renderImage : Renderimage object -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_Display(sfRenderImage* renderImage); - -//////////////////////////////////////////////////////////// -/// Draw something on a renderimage -/// -/// \param renderImage : Renderimage to draw in -/// \param sprite / text / shape : Object to draw -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_DrawSprite(sfRenderImage* renderImage, const sfSprite* sprite); -CSFML_API void sfRenderImage_DrawShape (sfRenderImage* renderImage, const sfShape* shape); -CSFML_API void sfRenderImage_DrawText (sfRenderImage* renderImage, const sfText* text); - -//////////////////////////////////////////////////////////// -/// Draw something on a renderimage with a shader -/// -/// \param renderImage : Renderimage to draw in -/// \param sprite / text / shape : Object to draw -/// \param shader : Shader to use -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_DrawSpriteWithShader(sfRenderImage* renderImage, const sfSprite* sprite, const sfShader* shader); -CSFML_API void sfRenderImage_DrawShapeWithShader (sfRenderImage* renderImage, const sfShape* shape, const sfShader* shader); -CSFML_API void sfRenderImage_DrawTextWithShader (sfRenderImage* renderImage, const sfText* text, const sfShader* shader); - -//////////////////////////////////////////////////////////// -/// Clear the renderimage with the given color -/// -/// \param renderImage : Renderimage to modify -/// \param color : Fill color -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_Clear(sfRenderImage* renderImage, sfColor color); - -//////////////////////////////////////////////////////////// -/// Change the current active view of a renderimage -/// -/// \param renderImage : Renderimage to modify -/// \param view : Pointer to the new view -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_SetView(sfRenderImage* renderImage, const sfView* view); - -//////////////////////////////////////////////////////////// -/// Get the current active view of a renderimage -/// -/// \param renderImage : Renderimage -/// -/// \return Current active view -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfView* sfRenderImage_GetView(const sfRenderImage* renderImage); - -//////////////////////////////////////////////////////////// -/// Get the default view of a renderimage -/// -/// \param renderImage : Renderimage -/// -/// \return Default view of the renderimage -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfView* sfRenderImage_GetDefaultView(const sfRenderImage* renderImage); - -//////////////////////////////////////////////////////////// -/// Get the viewport of a view applied to this target -/// -/// \param renderImage : Renderimage object -/// \param view : Target view -/// -/// \return Viewport rectangle, expressed in pixels in the current target -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIntRect sfRenderImage_GetViewport(const sfRenderImage* renderImage, const sfView* view); - -//////////////////////////////////////////////////////////// -/// Convert a point in image coordinates into view coordinates -/// -/// \param renderImage : Renderimage object -/// \param windowX : X coordinate of the point to convert, relative to the image -/// \param windowY : Y coordinate of the point to convert, relative to the image -/// \param viewX : Pointer to fill with the X coordinate of the converted point -/// \param viewY : Pointer to fill with the Y coordinate of the converted point -/// \param targetView : Target view to convert the point to (pass NULL to use the current view) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderImage_ConvertCoords(const sfRenderImage* renderImage, unsigned int windowX, unsigned int windowY, float* viewX, float* viewY, const sfView* targetView); - -//////////////////////////////////////////////////////////// -/// Get the target image -/// -/// \param renderImage : Renderimage object -/// -/// \return Pointer to the target image -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfImage* sfRenderImage_GetImage(const sfRenderImage* renderImage); - - -#endif // SFML_RENDERIMAGE_H diff --git a/bindings/c/include/SFML/Graphics/RenderWindow.h b/bindings/c/include/SFML/Graphics/RenderWindow.h deleted file mode 100644 index 489a6279..00000000 --- a/bindings/c/include/SFML/Graphics/RenderWindow.h +++ /dev/null @@ -1,385 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_RENDERWINDOW_H -#define SFML_RENDERWINDOW_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new renderwindow -/// -/// \param mode : Video mode to use -/// \param title : Title of the window -/// \param style : Window style -/// \param settings : Creation settings (pass NULL to use default values) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, unsigned long style, const sfContextSettings* settings); - -//////////////////////////////////////////////////////////// -/// Construct a renderwindow from an existing control -/// -/// \param handle : Platform-specific handle of the control -/// \param settings : Creation settings (pass NULL to use default values) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, const sfContextSettings* settings); - -//////////////////////////////////////////////////////////// -/// Destroy an existing renderwindow -/// -/// \param renderWindow : Renderwindow to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_Destroy(sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Close a renderwindow (but doesn't destroy the internal data) -/// -/// \param renderWindow : Renderwindow to close -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_Close(sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Tell whether or not a renderwindow is opened -/// -/// \param renderWindow : Renderwindow object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfRenderWindow_IsOpened(const sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Get the width of the rendering region of a window -/// -/// \param renderWindow : Renderwindow object -/// -/// \return Width in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfRenderWindow_GetWidth(const sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Get the height of the rendering region of a window -/// -/// \param renderWindow : Renderwindow object -/// -/// \return Height in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfRenderWindow_GetHeight(const sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Get the creation settings of a window -/// -/// \param renderWindow : Renderwindow object -/// -/// \return Settings used to create the window -/// -//////////////////////////////////////////////////////////// -CSFML_API sfContextSettings sfRenderWindow_GetSettings(const sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Get the event on top of events stack of a window, if any, and pop it -/// -/// \param renderWindow : Renderwindow object -/// \param event : Event to fill, if any -/// -/// \return sfTrue if an event was returned, sfFalse if events stack was empty -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfRenderWindow_PollEvent(sfRenderWindow* renderWindow, sfEvent* event); - -//////////////////////////////////////////////////////////// -/// Wait for an event and return it -/// -/// \param renderWindow : Renderwindow object -/// \param event : Event to fill -/// -/// \return sfFalse if an error occured -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfRenderWindow_WaitEvent(sfRenderWindow* renderWindow, sfEvent* event); - -//////////////////////////////////////////////////////////// -/// Enable / disable vertical synchronization on a window -/// -/// \param renderWindow : Renderwindow object -/// \param enabled : sfTrue to enable v-sync, sfFalse to deactivate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_EnableVerticalSync(sfRenderWindow* renderWindow, sfBool enabled); - -//////////////////////////////////////////////////////////// -/// Show or hide the mouse cursor on a window -/// -/// \param renderWindow : RenderWindow object -/// \param show : sfTrue to show, sfFalse to hide -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_ShowMouseCursor(sfRenderWindow* renderWindow, sfBool show); - -//////////////////////////////////////////////////////////// -/// Change the position of the mouse cursor on a window -/// -/// \param renderWindow : Renderwindow object -/// \param left : Left coordinate of the cursor, relative to the window -/// \param top : Top coordinate of the cursor, relative to the window -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SetCursorPosition(sfRenderWindow* renderWindow, unsigned int left, unsigned int top); - -//////////////////////////////////////////////////////////// -/// Change the position of a window on screen. -/// Only works for top-level windows -/// -/// \param renderWindow : Renderwindow object -/// \param left : Left position -/// \param top : Top position -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SetPosition(sfRenderWindow* renderWindow, int left, int top); - -//////////////////////////////////////////////////////////// -/// Change the size of the rendering region of a window -/// -/// \param renderWindow : Renderwindow object -/// \param width : New Width -/// \param height : New Height -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SetSize(sfRenderWindow* renderWindow, unsigned int width, unsigned int height); - -//////////////////////////////////////////////////////////// -/// Change the title of a window -/// -/// \param renderWindow : Renderwindow object -/// \param title : New title -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SetTitle(sfRenderWindow* renderWindow, const char* title); - -//////////////////////////////////////////////////////////// -/// Show or hide a window -/// -/// \param renderWindow : Renderwindow object -/// \param show : sfTrue to show, sfFalse to hide -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_Show(sfRenderWindow* renderWindow, sfBool show); - -//////////////////////////////////////////////////////////// -/// Enable or disable automatic key-repeat for keydown events. -/// Automatic key-repeat is enabled by default -/// -/// \param renderWindow : Renderwindow object -/// \param enabled : sfTrue to enable, sfFalse to disable -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_EnableKeyRepeat(sfRenderWindow* renderWindow, sfBool enabled); - -//////////////////////////////////////////////////////////// -/// Change the window's icon -/// -/// \param renderWindow : Renderwindow object -/// \param width : Icon's width, in pixels -/// \param height : Icon's height, in pixels -/// \param pixels : Pointer to the pixels in memory, format must be RGBA 32 bits -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SetIcon(sfRenderWindow* renderWindow, unsigned int width, unsigned int height, const sfUint8* pixels); - -//////////////////////////////////////////////////////////// -/// Activate or deactivate a window as the current target for rendering -/// -/// \param renderWindow : Renderwindow object -/// \param active : sfTrue to activate, sfFalse to deactivate -/// -/// \return True if operation was successful, false otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfRenderWindow_SetActive(sfRenderWindow* renderWindow, sfBool active); - -//////////////////////////////////////////////////////////// -/// Save the current OpenGL render states and matrices -/// -/// \param renderWindow : Renderwindow object -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SaveGLStates(sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Restore the previously saved OpenGL render states and matrices -/// -/// \param renderWindow : Renderwindow object -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_RestoreGLStates(sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Display a window on screen -/// -/// \param renderWindow : Renderwindow object -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_Display(sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Limit the framerate to a maximum fixed frequency for a window -/// -/// \param renderWindow : Renderwindow object -/// \param limit : Framerate limit, in frames per seconds (use 0 to disable limit) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SetFramerateLimit(sfRenderWindow* renderWindow, unsigned int limit); - -//////////////////////////////////////////////////////////// -/// Get time elapsed since last frame of a window -/// -/// \param renderWindow : Renderwindow object -/// -/// \return Time elapsed, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfRenderWindow_GetFrameTime(const sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Change the joystick threshold, ie. the value below which -/// no move event will be generated -/// -/// \param renderWindow : Renderwindow object -/// \param threshold : New threshold, in range [0, 100] -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SetJoystickThreshold(sfRenderWindow* renderWindow, float threshold); - -//////////////////////////////////////////////////////////// -/// Retrieve the Os-specific handle of a window -/// -/// \param renderWindow : Renderwindow object -/// -/// \return Window handle -/// -//////////////////////////////////////////////////////////// -CSFML_API sfWindowHandle sfRenderWindow_GetSystemHandle(const sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Draw something on a renderwindow -/// -/// \param renderWindow : Renderwindow to draw in -/// \param sprite / text / shape : Object to draw -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_DrawSprite(sfRenderWindow* renderWindow, const sfSprite* sprite); -CSFML_API void sfRenderWindow_DrawShape (sfRenderWindow* renderWindow, const sfShape* shape); -CSFML_API void sfRenderWindow_DrawText (sfRenderWindow* renderWindow, const sfText* text); - -//////////////////////////////////////////////////////////// -/// Draw something on a renderwindow with a shader -/// -/// \param renderWindow : Renderwindow to draw in -/// \param sprite / text / shape : Object to draw -/// \param shader : Shader to use -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_DrawSpriteWithShader(sfRenderWindow* renderWindow, const sfSprite* sprite, const sfShader* shader); -CSFML_API void sfRenderWindow_DrawShapeWithShader (sfRenderWindow* renderWindow, const sfShape* shape, const sfShader* shader); -CSFML_API void sfRenderWindow_DrawTextWithShader (sfRenderWindow* renderWindow, const sfText* text, const sfShader* shader); - -//////////////////////////////////////////////////////////// -/// Clear the screen with the given color -/// -/// \param renderWindow : Renderwindow to modify -/// \param color : Fill color -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_Clear(sfRenderWindow* renderWindow, sfColor color); - -//////////////////////////////////////////////////////////// -/// Change the current active view of a renderwindow -/// -/// \param renderWindow : Renderwindow to modify -/// \param view : Pointer to the new view -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_SetView(sfRenderWindow* renderWindow, const sfView* view); - -//////////////////////////////////////////////////////////// -/// Get the current active view of a renderwindow -/// -/// \param renderWindow : Renderwindow -/// -/// \return Current active view -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfView* sfRenderWindow_GetView(const sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Get the default view of a renderwindow -/// -/// \param renderWindow : Renderwindow -/// -/// \return Default view of the render window -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfView* sfRenderWindow_GetDefaultView(const sfRenderWindow* renderWindow); - -//////////////////////////////////////////////////////////// -/// Get the viewport of a view applied to this target -/// -/// \param renderWindow : Renderwindow -/// \param view : Target view -/// -/// \return Viewport rectangle, expressed in pixels in the current target -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIntRect sfRenderWindow_GetViewport(const sfRenderWindow* renderWindow, const sfView* view); - -//////////////////////////////////////////////////////////// -/// Convert a point in window coordinates into view coordinates -/// -/// \param renderWindow : Target Renderwindow -/// \param windowX : X coordinate of the point to convert, relative to the window -/// \param windowY : Y coordinate of the point to convert, relative to the window -/// \param viewX : Pointer to fill with the X coordinate of the converted point -/// \param viewY : Pointer to fill with the Y coordinate of the converted point -/// \param targetView : Target view to convert the point to (pass NULL to use the current view) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfRenderWindow_ConvertCoords(const sfRenderWindow* renderWindow, unsigned int windowX, unsigned int windowY, float* viewX, float* viewY, const sfView* targetView); - - -#endif // SFML_RENDERWINDOW_H diff --git a/bindings/c/include/SFML/Graphics/Shader.h b/bindings/c/include/SFML/Graphics/Shader.h deleted file mode 100644 index 8d6ab360..00000000 --- a/bindings/c/include/SFML/Graphics/Shader.h +++ /dev/null @@ -1,157 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SHADER_H -#define SFML_SHADER_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new shader from a file -/// -/// \param filename : File to load -/// -/// \return A new sfShader object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfShader* sfShader_CreateFromFile(const char* filename); - -//////////////////////////////////////////////////////////// -/// Create a new shader from an effect source code -/// -/// \param effect : Source code of the effect -/// -/// \return A new sfShader object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfShader* sfShader_CreateFromMemory(const char* effect); - -//////////////////////////////////////////////////////////// -/// Copy an existing shader -/// -/// \param shader : Shader to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfShader* sfShader_Copy(sfShader* shader); - -//////////////////////////////////////////////////////////// -/// Destroy an existing shader -/// -/// \param shader : Shader to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_Destroy(sfShader* shader); - -//////////////////////////////////////////////////////////// -/// Change a parameter of a shader (1 float) -/// -/// \param shader : Shader to modify -/// \param name : Parameter name in the effect -/// \param x : Value to assign -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_SetParameter1(sfShader* shader, const char* name, float x); - -//////////////////////////////////////////////////////////// -/// Change a parameter of a shader (2 floats) -/// -/// \param shader : Shader to modify -/// \param name : Parameter name in the effect -/// \param x, y : Values to assign -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_SetParameter2(sfShader* shader, const char* name, float x, float y); - -//////////////////////////////////////////////////////////// -/// Change a parameter of a shader (3 floats) -/// -/// \param shader : Shader to modify -/// \param name : Parameter name in the effect -/// \param x, y, z : Values to assign -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_SetParameter3(sfShader* shader, const char* name, float x, float y, float z); - -//////////////////////////////////////////////////////////// -/// Change a parameter of a shader (4 floats) -/// -/// \param shader : Shader to modify -/// \param name : Parameter name in the effect -/// \param x, y, z, w : Values to assign -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_SetParameter4(sfShader* shader, const char* name, float x, float y, float z, float w); - -//////////////////////////////////////////////////////////// -/// Set a texture parameter in a shader -/// -/// \param shader : Shader to modify -/// \param name : Texture name in the effect -/// \param texture : Image to set -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_SetTexture(sfShader* shader, const char* name, const sfImage* texture); - -//////////////////////////////////////////////////////////// -/// Set the current texture parameter in a shader -/// -/// \param shader : Shader to modify -/// \param name : Texture name in the effect -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_SetCurrentTexture(sfShader* shader, const char* name); - -//////////////////////////////////////////////////////////// -/// Bind a shader for rendering -/// -/// \param shader : Shader to bind -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_Bind(const sfShader* shader); - -//////////////////////////////////////////////////////////// -/// Unbind a shader -/// -/// \param shader : Shader to unbind -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShader_Unbind(const sfShader* shader); - -//////////////////////////////////////////////////////////// -/// Tell whether or not the system supports shaders -/// -/// \return sfTrue if the system can use shaders -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfShader_IsAvailable(void); - - -#endif // SFML_SHADER_H diff --git a/bindings/c/include/SFML/Graphics/Shape.h b/bindings/c/include/SFML/Graphics/Shape.h deleted file mode 100644 index 4ddb3169..00000000 --- a/bindings/c/include/SFML/Graphics/Shape.h +++ /dev/null @@ -1,464 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SHAPE_H -#define SFML_SHAPE_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new shape -/// -/// \return A new sfShape object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfShape* sfShape_Create(void); - -//////////////////////////////////////////////////////////// -/// Create a new shape made of a single line -/// -/// \param p1x, p1y : Position of the first point -/// \param p2x, p2y : Position second point -/// \param thickness : Line thickness -/// \param color : Color used to draw the line -/// \param outline : Outline thickness -/// \param outlineColor : Color used to draw the outline -/// -//////////////////////////////////////////////////////////// -CSFML_API sfShape* sfShape_CreateLine(float p1x, float p1y, float p2x, float p2y, float thickness, sfColor color, float outline, sfColor outlineColor); - -//////////////////////////////////////////////////////////// -/// Create a new shape made of a single rectangle -/// -/// \param left, top : Top-left corner of the rectangle -/// \param width, height : Size of the rectangle -/// \param color : Color used to fill the rectangle -/// \param outline : Outline thickness -/// \param outlineColor : Color used to draw the outline -/// -//////////////////////////////////////////////////////////// -CSFML_API sfShape* sfShape_CreateRectangle(float left, float top, float width, float height, sfColor color, float outline, sfColor outlineColor); - -//////////////////////////////////////////////////////////// -/// Create a new shape made of a single circle -/// -/// \param x, y : Position of the center -/// \param radius : Radius -/// \param color : Color used to fill the circle -/// \param outline : Outline thickness -/// \param outlineColor : Color used to draw the outline -/// -//////////////////////////////////////////////////////////// -CSFML_API sfShape* sfShape_CreateCircle(float x, float y, float radius, sfColor color, float outline, sfColor outlineColor); - -//////////////////////////////////////////////////////////// -/// Copy an existing shape -/// -/// \param shape : Shape to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfShape* sfShape_Copy(sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Destroy an existing Shape -/// -/// \param Shape : Shape to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_Destroy(sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Set the X position of a shape -/// -/// \param shape : Shape to modify -/// \param x : New X coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetX(sfShape* shape, float x); - -//////////////////////////////////////////////////////////// -/// Set the Y position of a shape -/// -/// \param shape : Shape to modify -/// \param y : New Y coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetY(sfShape* shape, float y); - -//////////////////////////////////////////////////////////// -/// Set the position of a shape -/// -/// \param shape : Shape to modify -/// \param x : New X coordinate -/// \param y : New Y coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetPosition(sfShape* shape, float x, float y); - -//////////////////////////////////////////////////////////// -/// Set the horizontal scale of a shape -/// -/// \param shape : Shape to modify -/// \param scale : New scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetScaleX(sfShape* shape, float scale); - -//////////////////////////////////////////////////////////// -/// Set the vertical scale of a shape -/// -/// \param shape : Shape to modify -/// \param scale : New scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetScaleY(sfShape* shape, float scale); - -//////////////////////////////////////////////////////////// -/// Set the scale of a shape -/// -/// \param shape : Shape to modify -/// \param scaleX : New horizontal scale (must be strictly positive) -/// \param scaleY : New vertical scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetScale(sfShape* shape, float scaleX, float scaleY); - -//////////////////////////////////////////////////////////// -/// Set the orientation of a shape -/// -/// \param shape : Shape to modify -/// \param rotation : Angle of rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetRotation(sfShape* shape, float rotation); - -//////////////////////////////////////////////////////////// -/// Set the local origin of a shape, in coordinates relative to -/// its left-top corner -/// -/// \param shape : Shape to modify -/// \param x : X coordinate of the origin -/// \param y : Y coordinate of the origin -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetOrigin(sfShape* shape, float x, float y); - -//////////////////////////////////////////////////////////// -/// Set the color of a shape -/// -/// \param shape : Shape to modify -/// \param color : New color -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetColor(sfShape* shape, sfColor color); - -//////////////////////////////////////////////////////////// -/// Set the blending mode for a shape -/// -/// \param shape : Shape to modify -/// \param mode : New blending mode -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetBlendMode(sfShape* shape, sfBlendMode mode); - -//////////////////////////////////////////////////////////// -/// Get the X position of a shape -/// -/// \param shape : Shape to read -/// -/// \return Current X position -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfShape_GetX(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the Y position of a shape -/// -/// \param shape : Shape to read -/// -/// \return Current Y position -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfShape_GetY(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the horizontal scale of a shape -/// -/// \param shape : Shape to read -/// -/// \return Current X scale factor (always positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfShape_GetScaleX(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the vertical scale of a shape -/// -/// \param shape : Shape to read -/// -/// \return Current Y scale factor (always positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfShape_GetScaleY(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the orientation of a shape -/// -/// \param shape : Shape to read -/// -/// \return Current rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfShape_GetRotation(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the X position of the origin a shape -/// -/// \param shape : Shape to read -/// -/// \return Current X origin -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfShape_GetOriginX(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the Y position of the origin a shape -/// -/// \param shape : Shape to read -/// -/// \return Current Y origin -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfShape_GetOriginY(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the color of a shape -/// -/// \param shape : Shape to read -/// -/// \return Current color -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfShape_GetColor(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the current blending mode of a shape -/// -/// \param shape : Shape to read -/// -/// \return Current blending mode -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBlendMode sfShape_GetBlendMode(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Move a shape -/// -/// \param shape : Shape to modify -/// \param offsetX : Offset on the X axis -/// \param offsetY : Offset on the Y axis -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_Move(sfShape* shape, float offsetX, float offsetY); - -//////////////////////////////////////////////////////////// -/// Scale a shape -/// -/// \param shape : Shape to modify -/// \param factorX : Horizontal scaling factor (must be strictly positive) -/// \param factorY : Vertical scaling factor (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_Scale(sfShape* shape, float factorX, float factorY); - -//////////////////////////////////////////////////////////// -/// Rotate a shape -/// -/// \param shape : Shape to modify -/// \param angle : Angle of rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_Rotate(sfShape* shape, float angle); - -//////////////////////////////////////////////////////////// -/// Transform a point from global coordinates into the shape's local coordinates -/// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) -/// -/// \param shape : Shape object -/// \param pointX : X coordinate of the point to transform -/// \param pointY : Y coordinate of the point to transform -/// \param x : Value to fill with the X coordinate of the converted point -/// \param y : Value to fill with the y coordinate of the converted point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_TransformToLocal(const sfShape* shape, float pointX, float pointY, float* x, float* y); - -//////////////////////////////////////////////////////////// -/// Transform a point from the shape's local coordinates into global coordinates -/// (ie it applies the object's origin, translation, rotation and scale to the point) -/// -/// \param shape : Shape object -/// \param pointX : X coordinate of the point to transform -/// \param pointY : Y coordinate of the point to transform -/// \param x : Value to fill with the X coordinate of the converted point -/// \param y : Value to fill with the y coordinate of the converted point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_TransformToGlobal(const sfShape* shape, float pointX, float pointY, float* x, float* y); - -//////////////////////////////////////////////////////////// -/// Add a point to a shape -/// -/// \param shape : Shape to modify -/// \param x, y : Position of the point -/// \param color : Color of the point -/// \param outlineColor : Outline color of the point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_AddPoint(sfShape* shape, float x, float y, sfColor color, sfColor outlineColor); - -//////////////////////////////////////////////////////////// -/// Enable or disable filling a shape. -/// Fill is enabled by default -/// -/// \param shape : Shape to modify -/// \param enable : True to enable, false to disable -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_EnableFill(sfShape* shape, sfBool enable); - -//////////////////////////////////////////////////////////// -/// Enable or disable drawing a shape outline. -/// Outline is enabled by default -/// -/// \param shape : Shape to modify -/// \param enable : True to enable, false to disable -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_EnableOutline(sfShape* shape, sfBool enable); - -//////////////////////////////////////////////////////////// -/// Change the thickness of a shape outline -/// -/// \param shape : Shape to modify -/// \param thickness : New thickness -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetOutlineThickness(sfShape* shape, float thickness); - -//////////////////////////////////////////////////////////// -/// Get the thickness of a shape outline -/// -/// \param shape : Shape to read -/// -/// \param return Current outline thickness -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfShape_GetOutlineThickness(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get the number of points composing a shape -/// -/// \param shape : Shape to read -/// -/// \return Total number of points -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfShape_GetPointsCount(const sfShape* shape); - -//////////////////////////////////////////////////////////// -/// Get a the position of a shape's point -/// -/// \param shape : Shape to read -/// \param index : Index of the point to get -/// \param x : Variable to fill with the X coordinate of the point -/// \param y : Variable to fill with the Y coordinate of the point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_GetPointPosition(const sfShape* shape, unsigned int index, float* x, float* y); - -//////////////////////////////////////////////////////////// -/// Get a the color of a shape's point -/// -/// \param shape : Shape to read -/// \param index : Index of the point to get -/// -/// \return Color of the point -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfShape_GetPointColor(const sfShape* shape, unsigned int index); - -//////////////////////////////////////////////////////////// -/// Get a the outline color of a shape's point -/// -/// \param shape : Shape to read -/// \param index : Index of the point to get -/// -/// \return Outline color of the point -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfShape_GetPointOutlineColor(const sfShape* shape, unsigned int index); - -//////////////////////////////////////////////////////////// -/// Set a the position of a shape's point -/// -/// \param shape : Shape to read -/// \param index : Index of the point to get -/// \param x : X coordinate of the point -/// \param y : Y coordinate of the point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetPointPosition(sfShape* shape, unsigned int index, float x, float y); - -//////////////////////////////////////////////////////////// -/// Set a the color of a shape's point -/// -/// \param shape : Shape to read -/// \param index : Index of the point to get -/// \param color : Color of the point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetPointColor(sfShape* shape, unsigned int index, sfColor color); - -//////////////////////////////////////////////////////////// -/// Set a the outline color of a shape's point -/// -/// \param shape : Shape to read -/// \param index : Index of the point to get -/// \param color : Outline color of the point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfShape_SetPointOutlineColor(sfShape* shape, unsigned int index, sfColor color); - - -#endif // SFML_SHAPE_H diff --git a/bindings/c/include/SFML/Graphics/Sprite.h b/bindings/c/include/SFML/Graphics/Sprite.h deleted file mode 100644 index 51eee157..00000000 --- a/bindings/c/include/SFML/Graphics/Sprite.h +++ /dev/null @@ -1,403 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SPRITE_H -#define SFML_SPRITE_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new sprite -/// -/// \return A new sfSprite object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSprite* sfSprite_Create(void); - -//////////////////////////////////////////////////////////// -/// Copy an existing sprite -/// -/// \param sprite : Sprite to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSprite* sfSprite_Copy(sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Destroy an existing sprite -/// -/// \param sprite : Sprite to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_Destroy(sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Set the X position of a sprite -/// -/// \param sprite : Sprite to modify -/// \param x : New X coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetX(sfSprite* sprite, float x); - -//////////////////////////////////////////////////////////// -/// Set the T position of a sprite -/// -/// \param sprite : Sprite to modify -/// \param y : New Y coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetY(sfSprite* sprite, float y); - -//////////////////////////////////////////////////////////// -/// Set the position of a sprite -/// -/// \param sprite : Sprite to modify -/// \param x : New X coordinate -/// \param y : New Y coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetPosition(sfSprite* sprite, float x, float y); - -//////////////////////////////////////////////////////////// -/// Set the horizontal scale of a sprite -/// -/// \param sprite : Sprite to modify -/// \param scale : New scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetScaleX(sfSprite* sprite, float scale); - -//////////////////////////////////////////////////////////// -/// Set the vertical scale of a sprite -/// -/// \param sprite : Sprite to modify -/// \param scale : New scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetScaleY(sfSprite* sprite, float scale); - -//////////////////////////////////////////////////////////// -/// Set the scale of a sprite -/// -/// \param sprite : Sprite to modify -/// \param scaleX : New horizontal scale (must be strictly positive) -/// \param scaleY : New vertical scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetScale(sfSprite* sprite, float scaleX, float scaleY); - -//////////////////////////////////////////////////////////// -/// Set the orientation of a sprite -/// -/// \param sprite : Sprite to modify -/// \param rotation : Angle of rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetRotation(sfSprite* sprite, float rotation); - -//////////////////////////////////////////////////////////// -/// Set the local origin of a sprite, in coordinates relative to -/// its left-top corner -/// -/// \param sprite : Sprite to modify -/// \param x : X coordinate of the origin -/// \param y : Y coordinate of the origin -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetOrigin(sfSprite* sprite, float x, float y); - -//////////////////////////////////////////////////////////// -/// Set the color of a sprite -/// -/// \param sprite : Sprite to modify -/// \param color : New color -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetColor(sfSprite* sprite, sfColor color); - -//////////////////////////////////////////////////////////// -/// Set the blending mode for a sprite -/// -/// \param sprite : Sprite to modify -/// \param mode : New blending mode -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetBlendMode(sfSprite* sprite, sfBlendMode mode); - -//////////////////////////////////////////////////////////// -/// Get the X position of a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current X position -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetX(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the Y position of a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current Y position -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetY(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the horizontal scale of a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current X scale factor (always positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetScaleX(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the vertical scale of a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current Y scale factor (always positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetScaleY(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the orientation of a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetRotation(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the X position of the origin a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current X origin -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetOriginX(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the Y position of the origin a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current Y origin -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetOriginY(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the color of a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current color -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfSprite_GetColor(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the current blending mode of a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Current blending mode -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBlendMode sfSprite_GetBlendMode(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Move a sprite -/// -/// \param sprite : Sprite to modify -/// \param offsetX : Offset on the X axis -/// \param offsetY : Offset on the Y axis -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_Move(sfSprite* sprite, float offsetX, float offsetY); - -//////////////////////////////////////////////////////////// -/// Scale a sprite -/// -/// \param sprite : Sprite to modify -/// \param factorX : Horizontal scaling factor (must be strictly positive) -/// \param factorY : Vertical scaling factor (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_Scale(sfSprite* sprite, float factorX, float factorY); - -//////////////////////////////////////////////////////////// -/// Rotate a sprite -/// -/// \param sprite : Sprite to modify -/// \param angle : Angle of rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_Rotate(sfSprite* sprite, float angle); - -//////////////////////////////////////////////////////////// -/// Transform a point from global coordinates into the sprite's local coordinates -/// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) -/// -/// \param sprite : Sprite object -/// \param pointX : X coordinate of the point to transform -/// \param pointY : Y coordinate of the point to transform -/// \param x : Value to fill with the X coordinate of the converted point -/// \param y : Value to fill with the y coordinate of the converted point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_TransformToLocal(const sfSprite* sprite, float pointX, float pointY, float* x, float* y); - -//////////////////////////////////////////////////////////// -/// Transform a point from the sprite's local coordinates into global coordinates -/// (ie it applies the object's origin, translation, rotation and scale to the point) -/// -/// \param sprite : Sprite object -/// \param pointX : X coordinate of the point to transform -/// \param pointY : Y coordinate of the point to transform -/// \param x : Value to fill with the X coordinate of the converted point -/// \param y : Value to fill with the y coordinate of the converted point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_TransformToGlobal(const sfSprite* sprite, float pointX, float pointY, float* x, float* y); - -//////////////////////////////////////////////////////////// -/// Change the image of a sprite -/// -/// \param sprite : Sprite to modify -/// \param image : New image -/// \param adjustToNewSize : If true, the SubRect of the sprite will be adjusted to the size of the new image -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetImage(sfSprite* sprite, const sfImage* image, sfBool adjustToNewSize); - -//////////////////////////////////////////////////////////// -/// Set the sub-rectangle of a sprite inside the source image -/// -/// \param sprite : Sprite to modify -/// \param rectangle : New sub-rectangle -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_SetSubRect(sfSprite* sprite, sfIntRect rectangle); - -//////////////////////////////////////////////////////////// -/// Resize a sprite (by changing its scale factors) -/// -/// \param sprite : Sprite to modify -/// \param width : New width (must be strictly positive) -/// \param height : New height (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_Resize(sfSprite* sprite, float width, float height); - -//////////////////////////////////////////////////////////// -/// Flip a sprite horizontally -/// -/// \param sprite : Sprite to modify -/// \param flipped : sfTrue to flip the sprite -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_FlipX(sfSprite* sprite, sfBool flipped); - -//////////////////////////////////////////////////////////// -/// Flip a sprite vertically -/// -/// \param sprite : Sprite to modify -/// \param flipped : sfTrue to flip the sprite -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSprite_FlipY(sfSprite* sprite, sfBool flipped); - -//////////////////////////////////////////////////////////// -/// Get the source image of a sprite -/// -/// \param sprite : Sprite to read -/// -/// \return Pointer to the image (can be NULL) -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfImage* sfSprite_GetImage(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the sub-rectangle of a sprite inside the source image -/// -/// \param sprite : Sprite to read -/// -/// \return Sub-rectangle -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIntRect sfSprite_GetSubRect(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get a sprite width -/// -/// \param sprite : Sprite to read -/// -/// \return Width of the sprite -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetWidth(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get a sprite height -/// -/// \param sprite : Sprite to read -/// -/// \return Height of the sprite -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfSprite_GetHeight(const sfSprite* sprite); - -//////////////////////////////////////////////////////////// -/// Get the color of a given pixel in a sprite -/// -/// \param sprite : Sprite to read -/// \param x : X coordinate of the pixel to get -/// \param y : Y coordinate of the pixel to get -/// -/// \return Color of pixel (X, Y) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfSprite_GetPixel(const sfSprite* sprite, unsigned int x, unsigned int y); - - -#endif // SFML_SPRITE_H diff --git a/bindings/c/include/SFML/Graphics/Text.h b/bindings/c/include/SFML/Graphics/Text.h deleted file mode 100644 index 8e434609..00000000 --- a/bindings/c/include/SFML/Graphics/Text.h +++ /dev/null @@ -1,434 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_TEXT_H -#define SFML_TEXT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// sfText styles -//////////////////////////////////////////////////////////// -typedef enum -{ - sfTextRegular = 0, ///< Regular characters, no style - sfTextBold = 1 << 0, ///< Characters are bold - sfTextItalic = 1 << 1, ///< Characters are in italic - sfTextUnderlined = 1 << 2 ///< Characters are underlined -} sfTextStyle; - - -//////////////////////////////////////////////////////////// -/// Create a new text -/// -/// \return A new sfText object, or NULL if it failed -/// -//////////////////////////////////////////////////////////// -CSFML_API sfText* sfText_Create(void); - -//////////////////////////////////////////////////////////// -/// Copy an existing text -/// -/// \param text : Text to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfText* sfText_Copy(sfText* text); - -//////////////////////////////////////////////////////////// -/// Destroy an existing text -/// -/// \param text : Text to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_Destroy(sfText* text); - -//////////////////////////////////////////////////////////// -/// Set the X position of a text -/// -/// \param text : String to modify -/// \param x : New X coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetX(sfText* text, float x); - -//////////////////////////////////////////////////////////// -/// Set the Y position of a text -/// -/// \param text : String to modify -/// \param y : New Y coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetY(sfText* text, float y); - -//////////////////////////////////////////////////////////// -/// Set the position of a text -/// -/// \param text : String to modify -/// \param x : New X coordinate -/// \param y : New Y coordinate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetPosition(sfText* text, float x, float y); - -//////////////////////////////////////////////////////////// -/// Set the horizontal scale of a text -/// -/// \param text : String to modify -/// \param scale : New scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetScaleX(sfText* text, float scale); - -//////////////////////////////////////////////////////////// -/// Set the vertical scale of a text -/// -/// \param text : String to modify -/// \param scale : New scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetScaleY(sfText* text, float scale); - -//////////////////////////////////////////////////////////// -/// Set the scale of a text -/// -/// \param text : String to modify -/// \param scaleX : New horizontal scale (must be strictly positive) -/// \param scaleY : New vertical scale (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetScale(sfText* text, float scaleX, float scaleY); - -//////////////////////////////////////////////////////////// -/// Set the orientation of a text -/// -/// \param text : String to modify -/// \param rotation : Angle of rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetRotation(sfText* text, float rotation); - -//////////////////////////////////////////////////////////// -/// Set the local origin of a text, in coordinates -/// relative to its left-top corner -/// -/// \param text : String to modify -/// \param x : X coordinate of the origin -/// \param y : Y coordinate of the origin -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetOrigin(sfText* text, float x, float y); - -//////////////////////////////////////////////////////////// -/// Set the color of a text -/// -/// \param text : String to modify -/// \param color : New color -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetColor(sfText* text, sfColor color); - -//////////////////////////////////////////////////////////// -/// Set the blending mode for a text -/// -/// \param text : String to modify -/// \param mode : New blending mode -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetBlendMode(sfText* text, sfBlendMode mode); - -//////////////////////////////////////////////////////////// -/// Get the X position of a text -/// -/// \param text : String to read -/// -/// \return Current X position -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfText_GetX(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the top Y of a text -/// -/// \param text : String to read -/// -/// \return Current Y position -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfText_GetY(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the horizontal scale of a text -/// -/// \param text : String to read -/// -/// \return Current X scale factor (always positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfText_GetScaleX(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the vertical scale of a text -/// -/// \param text : String to read -/// -/// \return Current Y scale factor (always positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfText_GetScaleY(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the orientation of a text -/// -/// \param text : String to read -/// -/// \return Current rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfText_GetRotation(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the X position of the origin a text -/// -/// \param text : String to read -/// -/// \return Current X origin position -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfText_GetOriginX(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the top Y of the origin of a text -/// -/// \param text : String to read -/// -/// \return Current Y origin position -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfText_GetOriginY(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the color of a text -/// -/// \param text : String to read -/// -/// \return Current color -/// -//////////////////////////////////////////////////////////// -CSFML_API sfColor sfText_GetColor(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the current blending mode of a text -/// -/// \param text : String to read -/// -/// \return Current blending mode -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBlendMode sfText_GetBlendMode(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Move a text -/// -/// \param text : String to modify -/// \param offsetX : Offset on the X axis -/// \param offsetY : Offset on the Y axis -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_Move(sfText* text, float offsetX, float offsetY); - -//////////////////////////////////////////////////////////// -/// Scale a text -/// -/// \param text : String to modify -/// \param factorX : Horizontal scaling factor (must be strictly positive) -/// \param factorY : Vertical scaling factor (must be strictly positive) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_Scale(sfText* text, float factorX, float factorY); - -//////////////////////////////////////////////////////////// -/// Rotate a text -/// -/// \param text : String to modify -/// \param angle : Angle of rotation, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_Rotate(sfText* text, float angle); - -//////////////////////////////////////////////////////////// -/// Transform a point from global coordinates into the string's local coordinates -/// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) -/// -/// \param text : String object -/// \param pointX : X coordinate of the point to transform -/// \param pointY : Y coordinate of the point to transform -/// \param x : Value to fill with the X coordinate of the converted point -/// \param y : Value to fill with the y coordinate of the converted point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_TransformToLocal(const sfText* text, float pointX, float pointY, float* x, float* y); - -//////////////////////////////////////////////////////////// -/// Transform a point from the string's local coordinates into global coordinates -/// (ie it applies the object's origin, translation, rotation and scale to the point) -/// -/// \param text : String object -/// \param pointX : X coordinate of the point to transform -/// \param pointY : Y coordinate of the point to transform -/// \param x : Value to fill with the X coordinate of the converted point -/// \param y : Value to fill with the y coordinate of the converted point -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_TransformToGlobal(const sfText* text, float pointX, float pointY, float* X, float* y); - -//////////////////////////////////////////////////////////// -/// Set the string of a text (from a multibyte string) -/// -/// \param text : Text to modify -/// \param string : New string -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetString(sfText* text, const char* string); - -//////////////////////////////////////////////////////////// -/// Set the string of a text (from a unicode string) -/// -/// \param text : Text to modify -/// \param string : New string -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetUnicodeString(sfText* text, const sfUint32* string); - -//////////////////////////////////////////////////////////// -/// Set the font of a text -/// -/// \param text : String to modify -/// \param font : Font to use -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetFont(sfText* text, const sfFont* font); - -//////////////////////////////////////////////////////////// -/// Set the size of a text -/// -/// \param text : String to modify -/// \param size : New size, in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetCharacterSize(sfText* text, unsigned int size); - -//////////////////////////////////////////////////////////// -/// Set the style of a text -/// -/// \param text : String to modify -/// \param style : New style (see sfTextStyle enum) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_SetStyle(sfText* text, unsigned long style); - -//////////////////////////////////////////////////////////// -/// Get the string of a text (returns a unicode string) -/// -/// \param text : String to read -/// -/// \return String as UTF-32 -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfUint32* sfText_GetUnicodeString(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the text of a text (returns an ANSI string) -/// -/// \param text : String to read -/// -/// \return String an a locale-dependant ANSI string -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfText_GetString(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the font used by a text -/// -/// \param text : String to read -/// -/// \return Pointer to the font -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfFont* sfText_GetFont(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the size of the characters of a text -/// -/// \param text : String to read -/// -/// \return Size of the characters -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfText_GetCharacterSize(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Get the style of a text -/// -/// \param text : String to read -/// -/// \return Current string style (see sfTextStyle enum) -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned long sfText_GetStyle(const sfText* text); - -//////////////////////////////////////////////////////////// -/// Return the visual position of the Index-th character of the text, -/// in coordinates relative to the string -/// (note : translation, origin, rotation and scale are not applied) -/// -/// \param text : String to read -/// \param index : Index of the character -/// \param x : Value to fill with the X coordinate of the position -/// \param y : Value to fill with the y coordinate of the position -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfText_GetCharacterPos(const sfText* text, size_t index, float* x, float* y); - -//////////////////////////////////////////////////////////// -/// Get the bounding rectangle of a text on screen -/// -/// \param text : String to read -/// -/// \return Rectangle contaning the string in screen coordinates -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFloatRect sfText_GetRect(const sfText* text); - - -#endif // SFML_TEXT_H diff --git a/bindings/c/include/SFML/Graphics/Types.h b/bindings/c/include/SFML/Graphics/Types.h deleted file mode 100644 index a490128c..00000000 --- a/bindings/c/include/SFML/Graphics/Types.h +++ /dev/null @@ -1,40 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_GRAPHICS_TYPES_H -#define SFML_GRAPHICS_TYPES_H - - -typedef struct sfFont sfFont; -typedef struct sfImage sfImage; -typedef struct sfShader sfShader; -typedef struct sfRenderImage sfRenderImage; -typedef struct sfRenderWindow sfRenderWindow; -typedef struct sfShape sfShape; -typedef struct sfSprite sfSprite; -typedef struct sfText sfText; -typedef struct sfView sfView; - - -#endif // SFML_GRAPHICS_TYPES_H diff --git a/bindings/c/include/SFML/Graphics/View.h b/bindings/c/include/SFML/Graphics/View.h deleted file mode 100644 index 45fcf8a3..00000000 --- a/bindings/c/include/SFML/Graphics/View.h +++ /dev/null @@ -1,209 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_VIEW_H -#define SFML_VIEW_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a default view (1000x1000) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfView* sfView_Create(void); - -//////////////////////////////////////////////////////////// -/// Construct a view from a rectangle -/// -/// \param rectangle : Rectangle defining the bounds of the view -/// -//////////////////////////////////////////////////////////// -CSFML_API sfView* sfView_CreateFromRect(sfFloatRect rectangle); - -//////////////////////////////////////////////////////////// -/// Copy an existing view -/// -/// \param view : View to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfView* sfView_Copy(sfView* view); - -//////////////////////////////////////////////////////////// -/// Destroy an existing view -/// -/// \param view : View to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_Destroy(sfView* view); - -//////////////////////////////////////////////////////////// -/// Change the center of a view -/// -/// \param view : View to modify -/// \param x : X coordinate of the new center -/// \param y : Y coordinate of the new center -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_SetCenter(sfView* view, float x, float y); - -//////////////////////////////////////////////////////////// -/// Change the size of a view -/// -/// \param view : View to modify -/// \param width : New width -/// \param height : New height -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_SetSize(sfView* view, float width, float height); - -//////////////////////////////////////////////////////////// -/// Set the angle of rotation of a view -/// -/// \param view : View to modify -/// \param angle : New angle, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_SetRotation(sfView* view, float angle); - -//////////////////////////////////////////////////////////// -/// Set the target viewport of a view -/// -/// The viewport is the rectangle into which the contents of the -/// view are displayed, expressed as a factor (between 0 and 1) -/// of the size of the RenderTarget to which the view is applied. -/// -/// \param view : View to modify -/// \param viewport : New viewport -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_SetViewport(sfView* view, sfFloatRect viewport); - -//////////////////////////////////////////////////////////// -/// Reset a view to the given rectangle. -/// Note: this function resets the rotation angle to 0. -/// -/// \param view : View to modify -/// \param rectangle : Rectangle defining the position and size of the view -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_Reset(sfView* view, sfFloatRect rectangle); - -//////////////////////////////////////////////////////////// -/// Get the X coordinate of the center of a view -/// -/// \param view : View to read -/// -/// \return X coordinate of the center of the view -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfView_GetCenterX(const sfView* view); - -//////////////////////////////////////////////////////////// -/// Get the Y coordinate of the center of a view -/// -/// \param view : View to read -/// -/// \return Y coordinate of the center of the view -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfView_GetCenterY(const sfView* view); - -//////////////////////////////////////////////////////////// -/// Get the width of the view -/// -/// \param view : View to read -/// -/// \return Width of the view -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfView_GetWidth(const sfView* view); - -//////////////////////////////////////////////////////////// -/// Get the height of the view -/// -/// \param view : View to read -/// -/// \return Height of the view -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfView_GetHeight(const sfView* view); - -//////////////////////////////////////////////////////////// -/// Get the current rotation of a view -/// -/// \param view : View to read -/// -/// \return Rotation of the view, in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfView_GetRotation(const sfView* view); - -//////////////////////////////////////////////////////////// -/// Get the target viewport of a view -/// -/// \param view : View to read -/// -/// \return Viewport rectangle, expressed as a factor of the target size -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFloatRect sfView_GetViewport(const sfView* view); - -//////////////////////////////////////////////////////////// -/// Move a view -/// -/// \param view : View to move -/// \param offsetX : Offset to move the view, on X axis -/// \param offsetY : Offset to move the view, on Y axis -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_Move(sfView* view, float offsetX, float offsetY); - -//////////////////////////////////////////////////////////// -/// Rotate a view -/// -/// \param view : View to rotate -/// \param angle : Angle in degrees -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_Rotate(sfView* view, float angle); - -//////////////////////////////////////////////////////////// -/// Resize a view rectangle to simulate a zoom / unzoom effect -/// -/// \param view : View to zoom -/// \param factor : Zoom factor to apply, relative to the current zoom -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfView_Zoom(sfView* view, float factor); - - -#endif // SFML_VIEW_H diff --git a/bindings/c/include/SFML/Network.h b/bindings/c/include/SFML/Network.h deleted file mode 100644 index b2de323e..00000000 --- a/bindings/c/include/SFML/Network.h +++ /dev/null @@ -1,41 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_NETWORK_H -#define SFML_NETWORK_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include -#include - - -#endif // SFML_NETWORK_H diff --git a/bindings/c/include/SFML/Network/Ftp.h b/bindings/c/include/SFML/Network/Ftp.h deleted file mode 100644 index b784e23b..00000000 --- a/bindings/c/include/SFML/Network/Ftp.h +++ /dev/null @@ -1,449 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_FTP_H -#define SFML_FTP_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Enumerate all the FTP file transfer modes -//////////////////////////////////////////////////////////// -enum sfFtpTransferMode -{ - sfFtpBinary, ///< Binary mode (file is transfered as a sequence of bytes) - sfFtpAscii, ///< Text mode using ASCII encoding - sfFtpEbcdic ///< Text mode using EBCDIC encoding -}; - - -//////////////////////////////////////////////////////////// -/// Enumerate all the valid status codes returned in -/// a FTP response -//////////////////////////////////////////////////////////// -enum sfFtpStatus -{ - // 1xx: the requested action is being initiated, - // expect another reply before proceeding with a new command - sfFtpRestartMarkerReply = 110, ///< Restart marker reply - sfFtpServiceReadySoon = 120, ///< Service ready in N minutes - sfFtpDataConnectionAlreadyOpened = 125, ///< Data connection already opened, transfer starting - sfFtpOpeningDataConnection = 150, ///< File status ok, about to open data connection - - // 2xx: the requested action has been successfully completed - sfFtpOk = 200, ///< Command ok - sfFtpPointlessCommand = 202, ///< Command not implemented - sfFtpSystemStatus = 211, ///< System status, or system help reply - sfFtpDirectoryStatus = 212, ///< Directory status - sfFtpFileStatus = 213, ///< File status - sfFtpHelpMessage = 214, ///< Help message - sfFtpSystemType = 215, ///< NAME system type, where NAME is an official system name from the list in the Assigned Numbers document - sfFtpServiceReady = 220, ///< Service ready for new user - sfFtpClosingConnection = 221, ///< Service closing control connection - sfFtpDataConnectionOpened = 225, ///< Data connection open, no transfer in progress - sfFtpClosingDataConnection = 226, ///< Closing data connection, requested file action successful - sfFtpEnteringPassiveMode = 227, ///< Entering passive mode - sfFtpLoggedIn = 230, ///< User logged in, proceed. Logged out if appropriate - sfFtpFileActionOk = 250, ///< Requested file action ok - sfFtpDirectoryOk = 257, ///< PATHNAME created - - // 3xx: the command has been accepted, but the requested action - // is dormant, pending receipt of further information - sfFtpNeedPassword = 331, ///< User name ok, need password - sfFtpNeedAccountToLogIn = 332, ///< Need account for login - sfFtpNeedInformation = 350, ///< Requested file action pending further information - - // 4xx: the command was not accepted and the requested action did not take place, - // but the error condition is temporary and the action may be requested again - sfFtpServiceUnavailable = 421, ///< Service not available, closing control connection - sfFtpDataConnectionUnavailable = 425, ///< Can't open data connection - sfFtpTransferAborted = 426, ///< Connection closed, transfer aborted - sfFtpFileActionAborted = 450, ///< Requested file action not taken - sfFtpLocalError = 451, ///< Requested action aborted, local error in processing - sfFtpInsufficientStorageSpace = 452, ///< Requested action not taken; insufficient storage space in system, file unavailable - - // 5xx: the command was not accepted and - // the requested action did not take place - sfFtpCommandUnknown = 500, ///< Syntax error, command unrecognized - sfFtpParametersUnknown = 501, ///< Syntax error in parameters or arguments - sfFtpCommandNotImplemented = 502, ///< Command not implemented - sfFtpBadCommandSequence = 503, ///< Bad sequence of commands - sfFtpParameterNotImplemented = 504, ///< Command not implemented for that parameter - sfFtpNotLoggedIn = 530, ///< Not logged in - sfFtpNeedAccountToStore = 532, ///< Need account for storing files - sfFtpFileUnavailable = 550, ///< Requested action not taken, file unavailable - sfFtpPageTypeUnknown = 551, ///< Requested action aborted, page type unknown - sfFtpNotEnoughMemory = 552, ///< Requested file action aborted, exceeded storage allocation - sfFtpFilenameNotAllowed = 553, ///< Requested action not taken, file name not allowed - - // 10xx: SFML custom codes - sfFtpInvalidResponse = 1000, ///< Response is not a valid FTP one - sfFtpConnectionFailed = 1001, ///< Connection with server failed - sfFtpConnectionClosed = 1002, ///< Connection with server closed - sfFtpInvalidFile = 1003 ///< Invalid file to upload / download -}; - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Ftp listing response -/// -/// \param ftpListingResponse : Ftp listing response to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfFtpListingResponse_Destroy(sfFtpListingResponse* ftpListingResponse); - -//////////////////////////////////////////////////////////// -/// Convenience function to check if the response status code -/// means a success -/// -/// \param ftpListingResponse : Ftp listing response -/// -/// \return sfTrue if status is success (code < 400) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfFtpListingResponse_IsOk(const sfFtpListingResponse* ftpListingResponse); - -//////////////////////////////////////////////////////////// -/// Get the response status code -/// -/// \param ftpListingResponse : Ftp listing response -/// -/// \return Status code -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpStatus sfFtpListingResponse_GetStatus(const sfFtpListingResponse* ftpListingResponse); - -//////////////////////////////////////////////////////////// -/// Get the full message contained in the response -/// -/// \param ftpListingResponse : Ftp listing response -/// -/// \return The response message -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfFtpListingResponse_GetMessage(const sfFtpListingResponse* ftpListingResponse); - -//////////////////////////////////////////////////////////// -/// Get the number of filenames in the listing -/// -/// \param ftpListingResponse : Ftp listing response -/// -/// \return Total number of filenames -/// -//////////////////////////////////////////////////////////// -CSFML_API size_t sfFtpListingResponse_GetCount(const sfFtpListingResponse* ftpListingResponse); - -//////////////////////////////////////////////////////////// -/// Get the Index-th filename in the directory -/// -/// \param ftpListingResponse : Ftp listing response -/// \param index : Index of the filename to get -/// -/// \return Index-th filename -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfFtpListingResponse_GetFilename(const sfFtpListingResponse* ftpListingResponse, size_t index); - -//////////////////////////////////////////////////////////// -/// Destroy an existing Ftp directory response -/// -/// \param ftpDirectoryResponse : Ftp directory response to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfFtpDirectoryResponse_Destroy(sfFtpDirectoryResponse* ftpDirectoryResponse); - -//////////////////////////////////////////////////////////// -/// Convenience function to check if the response status code -/// means a success -/// -/// \param ftpDirectoryResponse : Ftp directory response -/// -/// \return sfTrue if status is success (code < 400) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfFtpDirectoryResponse_IsOk(const sfFtpDirectoryResponse* ftpDirectoryResponse); - -//////////////////////////////////////////////////////////// -/// Get the response status code -/// -/// \param ftpDirectoryResponse : Ftp directory response -/// -/// \return Status code -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpStatus sfFtpDirectoryResponse_GetStatus(const sfFtpDirectoryResponse* ftpDirectoryResponse); - -//////////////////////////////////////////////////////////// -/// Get the full message contained in the response -/// -/// \param ftpDirectoryResponse : Ftp directory response -/// -/// \return The response message -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfFtpDirectoryResponse_GetMessage(const sfFtpDirectoryResponse* ftpDirectoryResponse); - -//////////////////////////////////////////////////////////// -/// Get the directory returned in the response -/// -/// \param ftpDirectoryResponse : Ftp directory response -/// -/// \return Directory name -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfFtpDirectoryResponse_GetDirectory(const sfFtpDirectoryResponse* ftpDirectoryResponse); - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Ftp response -/// -/// \param ftpResponse : Ftp response to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfFtpResponse_Destroy(sfFtpResponse* ftpResponse); - -//////////////////////////////////////////////////////////// -/// Convenience function to check if the response status code -/// means a success -/// -/// \param ftpResponse : Ftp response -/// -/// \return sfTrue if status is success (code < 400) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfFtpResponse_IsOk(const sfFtpResponse* ftpResponse); - -//////////////////////////////////////////////////////////// -/// Get the response status code -/// -/// \param ftpResponse : Ftp response -/// -/// \return Status code -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpStatus sfFtpResponse_GetStatus(const sfFtpResponse* ftpResponse); - -//////////////////////////////////////////////////////////// -/// Get the full message contained in the response -/// -/// \param ftpResponse : Ftp response -/// -/// \return The response message -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfFtpResponse_GetMessage(const sfFtpResponse* ftpResponse); - -//////////////////////////////////////////////////////////// -/// Construct a new Ftp -/// -/// \return Pointer to the new Ftp -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtp* sfFtp_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing Ftp -/// -/// \param ftp : Ftp to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfFtp_Destroy(sfFtp* ftp); - -//////////////////////////////////////////////////////////// -/// Connect to the specified FTP server -/// -/// \param ftp : Ftp instance -/// \param server : FTP server to connect to -/// \param port : Port used for connection (21 by default, standard FTP port) -/// \param timeout : Maximum time to wait, in milliseconds (0 to use no timeout) -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_Connect(sfFtp* ftp, sfIpAddress server, unsigned short port, sfUint32 timeout); - -//////////////////////////////////////////////////////////// -/// Log in using anonymous account -/// -/// \param ftp : Ftp instance -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_LoginAnonymous(sfFtp* ftp); - -//////////////////////////////////////////////////////////// -/// Log in using a username and a password -/// -/// \param ftp : Ftp instance -/// \param userName : User name -/// \param password : Password -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_Login(sfFtp* ftp, const char* userName, const char* password); - -//////////////////////////////////////////////////////////// -/// Close the connection with FTP server -/// -/// \param ftp : Ftp instance -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_Disconnect(sfFtp* ftp); - -//////////////////////////////////////////////////////////// -/// Send a null command just to prevent from being disconnected -/// -/// \param ftp : Ftp instance -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_KeepAlive(sfFtp* ftp); - -//////////////////////////////////////////////////////////// -/// Get the current working directory -/// -/// \param ftp : Ftp instance -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpDirectoryResponse* sfFtp_GetWorkingDirectory(sfFtp* ftp); - -//////////////////////////////////////////////////////////// -/// Get the contents of the given directory -/// (subdirectories and files) -/// -/// \param ftp : Ftp instance -/// \param directory : Directory to list ("" by default, the current one) -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpListingResponse* sfFtp_GetDirectoryListing(sfFtp* ftp, const char* directory); - -//////////////////////////////////////////////////////////// -/// Change the current working directory -/// -/// \param ftp : Ftp instance -/// \param directory : New directory, relative to the current one -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_ChangeDirectory(sfFtp* ftp, const char* directory); - -//////////////////////////////////////////////////////////// -/// Go to the parent directory of the current one -/// -/// \param ftp : Ftp instance -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_ParentDirectory(sfFtp* ftp); - -//////////////////////////////////////////////////////////// -/// Create a new directory -/// -/// \param ftp : Ftp instance -/// \param name : Name of the directory to create -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_CreateDirectory(sfFtp* ftp, const char* name); - -//////////////////////////////////////////////////////////// -/// Remove an existing directory -/// -/// \param ftp : Ftp instance -/// \param name : Name of the directory to remove -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_DeleteDirectory(sfFtp* ftp, const char* name); - -//////////////////////////////////////////////////////////// -/// Rename a file -/// -/// \param ftp : Ftp instance -/// \param file : File to rename -/// \param newName : New name -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_RenameFile(sfFtp* ftp, const char* file, const char* newName); - -//////////////////////////////////////////////////////////// -/// Remove an existing file -/// -/// \param ftp : Ftp instance -/// \param name : File to remove -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_DeleteFile(sfFtp* ftp, const char* name); - -//////////////////////////////////////////////////////////// -/// Download a file from the server -/// -/// \param ftp : Ftp instance -/// \param distantFile : Path of the distant file to download -/// \param destPath : Where to put to file on the local computer -/// \param mode : Transfer mode (binary by default) -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_Download(sfFtp* ftp, const char* distantFile, const char* destPath, sfFtpTransferMode mode); - -//////////////////////////////////////////////////////////// -/// Upload a file to the server -/// -/// \param ftp : Ftp instance -/// \param localFile : Path of the local file to upload -/// \param destPath : Where to put to file on the server -/// \param mode : Transfer mode (binary by default) -/// -/// \return Server response to the request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfFtpResponse* sfFtp_Upload(sfFtp* ftp, const char* localFile, const char* destPath, sfFtpTransferMode mode); - - -#endif // SFML_FTP_H diff --git a/bindings/c/include/SFML/Network/Http.h b/bindings/c/include/SFML/Network/Http.h deleted file mode 100644 index 773819aa..00000000 --- a/bindings/c/include/SFML/Network/Http.h +++ /dev/null @@ -1,257 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_HTTP_H -#define SFML_HTTP_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Enumerate the available HTTP methods for a request -//////////////////////////////////////////////////////////// -enum sfHttpMethod -{ - sfHttpGet, ///< Request in get mode, standard method to retrieve a page - sfHttpPost, ///< Request in post mode, usually to send data to a page - sfHttpHead ///< Request a page's header only -}; - - -//////////////////////////////////////////////////////////// -/// Enumerate all the valid status codes returned in -/// a HTTP response -//////////////////////////////////////////////////////////// -enum sfHttpStatus -{ - // 2xx: success - sfHttpOk = 200, ///< Most common code returned when operation was successful - sfHttpCreated = 201, ///< The resource has successfully been created - sfHttpAccepted = 202, ///< The request has been accepted, but will be processed later by the server - sfHttpNoContent = 204, ///< Sent when the server didn't send any data in return - - // 3xx: redirection - sfHttpMultipleChoices = 300, ///< The requested page can be accessed from several locations - sfHttpMovedPermanently = 301, ///< The requested page has permanently moved to a new location - sfHttpMovedTemporarily = 302, ///< The requested page has temporarily moved to a new location - sfHttpNotModified = 304, ///< For conditionnal requests, means the requested page hasn't changed and doesn't need to be refreshed - - // 4xx: client error - sfHttpBadRequest = 400, ///< The server couldn't understand the request (syntax error) - sfHttpUnauthorized = 401, ///< The requested page needs an authentification to be accessed - sfHttpForbidden = 403, ///< The requested page cannot be accessed at all, even with authentification - sfHttpNotFound = 404, ///< The requested page doesn't exist - - // 5xx: server error - sfHttpInternalServerError = 500, ///< The server encountered an unexpected error - sfHttpNotImplemented = 501, ///< The server doesn't implement a requested feature - sfHttpBadGateway = 502, ///< The gateway server has received an error from the source server - sfHttpServiceNotAvailable = 503, ///< The server is temporarily unavailable (overloaded, in maintenance, ...) - - // 10xx: SFML custom codes - sfHttpInvalidResponse = 1000, ///< Response is not a valid HTTP one - sfHttpConnectionFailed = 1001 ///< Connection with server failed -}; - - -//////////////////////////////////////////////////////////// -/// Construct a new Http request -/// -/// \return Pointer to the new Http request -/// -//////////////////////////////////////////////////////////// -CSFML_API sfHttpRequest* sfHttpRequest_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing Http request -/// -/// \param httpRequest : Http request to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttpRequest_Destroy(sfHttpRequest* httpRequest); - -//////////////////////////////////////////////////////////// -/// Set the value of a field; the field is added if it doesn't exist -/// -/// \param httpRequest : Http request to modify -/// \param field : Name of the field to set (case-insensitive) -/// \param value : Value of the field -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttpRequest_SetField(sfHttpRequest* httpRequest, const char* field, const char* value); - -//////////////////////////////////////////////////////////// -/// Set the request method. -/// This parameter is sfHttpGet by default -/// -/// \param httpRequest : Http request to modify -/// \param method : Method to use for the request -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttpRequest_SetMethod(sfHttpRequest* httpRequest, sfHttpMethod method); - -//////////////////////////////////////////////////////////// -/// Set the target URI of the request. -/// This parameter is "/" by default -/// -/// \param httpRequest : Http request to modify -/// \param URI : URI to request, local to the host -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttpRequest_SetUri(sfHttpRequest* httpRequest, const char* uri); - -//////////////////////////////////////////////////////////// -/// Set the HTTP version of the request. -/// This parameter is 1.0 by default -/// -/// \param httpRequest : Http request to modify -/// \param major : Major version number -/// \param minor : Minor version number -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttpRequest_SetHttpVersion(sfHttpRequest* httpRequest, unsigned int major, unsigned int minor); - -//////////////////////////////////////////////////////////// -/// Set the body of the request. This parameter is optional and -/// makes sense only for POST requests. -/// This parameter is empty by default -/// -/// \param httpRequest : Http request to modify -/// \param body : Content of the request body -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttpRequest_SetBody(sfHttpRequest* httpRequest, const char* body); - -//////////////////////////////////////////////////////////// -/// Destroy an existing Http response -/// -/// \param httpResponse : Http response to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttpResponse_Destroy(sfHttpResponse* httpResponse); - -//////////////////////////////////////////////////////////// -/// Get the value of a field; returns NULL if the field doesn't exist -/// -/// \param httpResponse : Http response -/// \param field : Field to get -/// -/// \return Value of the field (NULL if it doesn't exist) -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfHttpResponse_GetField(const sfHttpResponse* httpResponse, const char* field); - -//////////////////////////////////////////////////////////// -/// Get the status of a response -/// -/// \param httpResponse : Http response -/// -/// \return Status of the response -/// -//////////////////////////////////////////////////////////// -CSFML_API sfHttpStatus sfHttpResponse_GetStatus(const sfHttpResponse* httpResponse); - -//////////////////////////////////////////////////////////// -/// Get the major HTTP version of a response -/// -/// \param httpResponse : Http response -/// -/// \return HTTP major version of the response -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfHttpResponse_GetMajorVersion(const sfHttpResponse* httpResponse); - -//////////////////////////////////////////////////////////// -/// Get the minor HTTP version of a response -/// -/// \param httpResponse : Http response -/// -/// \return HTTP minor version of the response -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfHttpResponse_GetMinorVersion(const sfHttpResponse* httpResponse); - -//////////////////////////////////////////////////////////// -/// Get the body of the response. The body can contain : -/// - the requested page (for GET requests) -/// - a response from the server (for POST requests) -/// - nothing (for HEAD requests) -/// - an error message (in case of an error) -/// -/// \param httpResponse : Http response -/// -/// \return Body of the response (empty string if no body) -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfHttpResponse_GetBody(const sfHttpResponse* httpResponse); - -//////////////////////////////////////////////////////////// -/// Construct a new Http object -/// -/// \return Pointer to the new Http -/// -//////////////////////////////////////////////////////////// -CSFML_API sfHttp* sfHttp_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing Http object -/// -/// \param Http : Http to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttp_Destroy(sfHttp* http); - -//////////////////////////////////////////////////////////// -/// Set the target host of a Http server -/// -/// \param http : Http object -/// \param host : Web server to connect to -/// \param port : Port to use for connection (0 to use the standard port of the protocol used) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfHttp_SetHost(sfHttp* http, const char* host, unsigned short port); - -//////////////////////////////////////////////////////////// -/// Send a HTTP request and return the server's response. -/// You must be connected to a host before sending requests. -/// Any missing mandatory header field will be added with an appropriate value. -/// Warning : this function waits for the server's response and may -/// not return instantly; use a thread if you don't want to block your -/// application. -/// -/// \param http : Http object -/// \param request : Request to send -/// \param timeout : Maximum time to wait, in milliseconds (0 to use no timeout) -/// -/// \return Server's response, or NULL if request is invalid -/// -//////////////////////////////////////////////////////////// -CSFML_API sfHttpResponse* sfHttp_SendRequest(sfHttp* http, const sfHttpRequest* request, sfUint32 timeout); - - -#endif // SFML_HTTP_H diff --git a/bindings/c/include/SFML/Network/IpAddress.h b/bindings/c/include/SFML/Network/IpAddress.h deleted file mode 100644 index 71956447..00000000 --- a/bindings/c/include/SFML/Network/IpAddress.h +++ /dev/null @@ -1,131 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_IPADDRESS_H -#define SFML_IPADDRESS_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -/// sfIpAddress provides easy manipulation of IP v4 addresses -//////////////////////////////////////////////////////////// -typedef struct -{ - char Address[16]; -} sfIpAddress; - - -//////////////////////////////////////////////////////////// -/// Construct an address from a string -/// -/// \param string : IP address ("xxx.xxx.xxx.xxx") or network name -/// -/// \return Resulting address -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIpAddress sfIpAddress_FromString(const char* string); - -//////////////////////////////////////////////////////////// -/// Construct an address from 4 bytes -/// -/// \param byte0 : First byte of the address -/// \param byte1 : Second byte of the address -/// \param byte2 : Third byte of the address -/// \param byte3 : Fourth byte of the address -/// -/// \return Resulting address -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIpAddress sfIpAddress_FromBytes(sfUint8 byte0, sfUint8 byte1, sfUint8 byte2, sfUint8 byte3); - -//////////////////////////////////////////////////////////// -/// Construct the address from a 32-bits integer -/// -/// \param address : 4 bytes of the address packed into a 32-bits integer -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIpAddress sfIpAddress_FromInteger(sfUint32 address); - -//////////////////////////////////////////////////////////// -/// Get a string representation of an address -/// -/// \param address : Address to convert -/// \param string : Char array to fill (size must be >= 16) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfIpAddress_ToString(sfIpAddress address, char* string); - -//////////////////////////////////////////////////////////// -/// Get an integer representation of the address -/// -/// \param address : Address to convert -/// -/// \return 32-bits integer containing the 4 bytes of the address, in system endianness -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfIpAddress_ToInteger(sfIpAddress address); - -//////////////////////////////////////////////////////////// -/// Get the computer's local IP address (from the LAN point of view) -/// -/// \return Local IP address -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIpAddress sfIpAddress_GetLocalAddress(void); - -//////////////////////////////////////////////////////////// -/// Get the computer's public IP address (from the web point of view). -/// The only way to get a public address is to ask it to a -/// distant website ; as a consequence, this function may be -/// very slow -- use it as few as possible ! -/// -/// \param timeout : Maximum time to wait, in milliseconds (use 0 for no timeout) -/// -/// \return Public IP address -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIpAddress sfIpAddress_GetPublicAddress(sfUint32 timeout); - -//////////////////////////////////////////////////////////// -/// Get the computer's loopback address -/// -/// \return Local host IP address (127.0.0.1, or "localhost") -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIpAddress sfIpAddress_LocalHost(void); - -//////////////////////////////////////////////////////////// -/// Get the empty/invalid address -/// -/// \return Empty object that represents invalid addresses -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIpAddress sfIpAddress_None(void); - - -#endif // SFML_IPADDRESS_H diff --git a/bindings/c/include/SFML/Network/Packet.h b/bindings/c/include/SFML/Network/Packet.h deleted file mode 100644 index 139b0b91..00000000 --- a/bindings/c/include/SFML/Network/Packet.h +++ /dev/null @@ -1,158 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_PACKET_H -#define SFML_PACKET_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new empty packet -/// -/// \return A new sfPacket object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfPacket* sfPacket_Create(void); - -//////////////////////////////////////////////////////////// -/// Copy an existing packet -/// -/// \param packet : Packet to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfPacket* sfPacket_Copy(sfPacket* packet); - -//////////////////////////////////////////////////////////// -/// Destroy an existing packet -/// -/// \param packet : Packet to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfPacket_Destroy(sfPacket* packet); - -//////////////////////////////////////////////////////////// -/// Append data to the end of a packet -/// -/// \param packet : Packet to fill -/// \param data : Pointer to the bytes to append -/// \param sizeInBytes : Number of bytes to append -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfPacket_Append(sfPacket* packet, const void* data, size_t sizeInBytes); - -//////////////////////////////////////////////////////////// -/// Clear all the data of a packet -/// -/// \param packet : Packet to clear -/// -/////////////////////////////////////////////////////////// -CSFML_API void sfPacket_Clear(sfPacket* packet); - -//////////////////////////////////////////////////////////// -/// Get a pointer to the data contained in a packet -/// Warning : the returned pointer may be invalid after you -/// append data to the packet -/// -/// \param packet : Packet to get data from -/// -/// \return Pointer to the data -/// -//////////////////////////////////////////////////////////// -CSFML_API const char* sfPacket_GetData(const sfPacket* packet); - -//////////////////////////////////////////////////////////// -/// Get the size of the data contained in a packet -/// -/// \param packet : Packet to get data size from -/// -/// \return Data size, in bytes -/// -//////////////////////////////////////////////////////////// -CSFML_API size_t sfPacket_GetDataSize(const sfPacket* packet); - -//////////////////////////////////////////////////////////// -/// Tell if the reading position has reached the end of the packet -/// -/// \param packet : Packet to check -/// -/// \return sfTrue if all data have been read into the packet -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfPacket_EndOfPacket(const sfPacket* packet); - -//////////////////////////////////////////////////////////// -/// Return the validity of packet -/// -/// \param packet : Packet to check -/// -/// \return sfTrue if last data extraction from packet was successful -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfPacket_CanRead(const sfPacket* packet); - -//////////////////////////////////////////////////////////// -/// Functions to extract data from a packet -/// -/// \param packet : Packet to read -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfPacket_ReadBool(sfPacket* packet); -CSFML_API sfInt8 sfPacket_ReadInt8(sfPacket* packet); -CSFML_API sfUint8 sfPacket_ReadUint8(sfPacket* packet); -CSFML_API sfInt16 sfPacket_ReadInt16(sfPacket* packet); -CSFML_API sfUint16 sfPacket_ReadUint16(sfPacket* packet); -CSFML_API sfInt32 sfPacket_ReadInt32(sfPacket* packet); -CSFML_API sfUint32 sfPacket_ReadUint32(sfPacket* packet); -CSFML_API float sfPacket_ReadFloat(sfPacket* packet); -CSFML_API double sfPacket_ReadDouble(sfPacket* packet); -CSFML_API void sfPacket_ReadString(sfPacket* packet, char* string); -CSFML_API void sfPacket_ReadWideString(sfPacket* packet, wchar_t* string); - -//////////////////////////////////////////////////////////// -/// Functions to insert data into a packet -/// -/// \param packet : Packet to write -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfPacket_WriteBool(sfPacket* packet, sfBool); -CSFML_API void sfPacket_WriteInt8(sfPacket* packet, sfInt8); -CSFML_API void sfPacket_WriteUint8(sfPacket* packet, sfUint8); -CSFML_API void sfPacket_WriteInt16(sfPacket* packet, sfInt16); -CSFML_API void sfPacket_WriteUint16(sfPacket* packet, sfUint16); -CSFML_API void sfPacket_WriteInt32(sfPacket* packet, sfInt32); -CSFML_API void sfPacket_WriteUint32(sfPacket* packet, sfUint32); -CSFML_API void sfPacket_WriteFloat(sfPacket* packet, float); -CSFML_API void sfPacket_WriteDouble(sfPacket* packet, double); -CSFML_API void sfPacket_WriteString(sfPacket* packet, const char* string); -CSFML_API void sfPacket_WriteWideString(sfPacket* packet, const wchar_t* string); - - -#endif // SFML_PACKET_H diff --git a/bindings/c/include/SFML/Network/SocketSelector.h b/bindings/c/include/SFML/Network/SocketSelector.h deleted file mode 100644 index 53ddbffc..00000000 --- a/bindings/c/include/SFML/Network/SocketSelector.h +++ /dev/null @@ -1,118 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOCKETSELECTOR_H -#define SFML_SOCKETSELECTOR_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new selector -/// -/// \return A new sfSelector object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketSelector* sfSocketSelector_Create(void); - -//////////////////////////////////////////////////////////// -/// Copy an existing selector -/// -/// \param selector : Selector to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketSelector* sfSocketSelector_Copy(sfSocketSelector* selector); - -//////////////////////////////////////////////////////////// -/// Destroy an existing selector -/// -/// \param selector : Selector to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSocketSelector_Destroy(sfSocketSelector* selector); - -//////////////////////////////////////////////////////////// -/// Add a socket to watch to a selector -/// -/// \param selector : Selector to add the socket to -/// \param socket : Socket to add -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSocketSelector_AddTcpListener(sfSocketSelector* selector, sfTcpListener* socket); -CSFML_API void sfSocketSelector_AddTcpSocket(sfSocketSelector* selector, sfTcpSocket* socket); -CSFML_API void sfSocketSelector_AddUdpSocket(sfSocketSelector* selector, sfUdpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Remove a socket from a selector -/// -/// \param selector : Selector to remove the socket from -/// \param socket : Socket to remove -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSocketSelector_RemoveTcpListener(sfSocketSelector* selector, sfTcpListener* socket); -CSFML_API void sfSocketSelector_RemoveTcpSocket(sfSocketSelector* selector, sfTcpSocket* socket); -CSFML_API void sfSocketSelector_RemoveUdpSocket(sfSocketSelector* selector, sfUdpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Remove all sockets from a selector -/// -/// \param selector : Selector to remove the socket from -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSocketSelector_Clear(sfSocketSelector* selector); - -//////////////////////////////////////////////////////////// -/// Wait and collect sockets which are ready for reading. -/// This functions will return either when at least one socket -/// is ready, or when the given timeout is over -/// -/// \param selector : Selector to check -/// \param timeout : Maximum time to wait, in milliseconds (0 to disable timeout) -/// -/// \return sfTrue if there are sockets ready, sfFalse otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSocketSelector_Wait(sfSocketSelector* selector, sfUint32 timeout); - -//////////////////////////////////////////////////////////// -/// Test a socket to know if it is ready to receive data -/// -/// \param selector : Selector to check -/// \param socket : Socket to test -/// -/// \return sfTrue if the socket is ready to receive data -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSocketSelector_IsTcpListenerReady(const sfSocketSelector* selector, sfTcpListener* socket); -CSFML_API sfBool sfSocketSelector_IsTcpSocketReady(const sfSocketSelector* selector, sfTcpSocket* socket); -CSFML_API sfBool sfSocketSelector_IsUdpSocketReady(const sfSocketSelector* selector, sfUdpSocket* socket); - - -#endif // SFML_SOCKETSELECTOR_H diff --git a/bindings/c/include/SFML/Network/SocketStatus.h b/bindings/c/include/SFML/Network/SocketStatus.h deleted file mode 100644 index 1ff1f732..00000000 --- a/bindings/c/include/SFML/Network/SocketStatus.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOCKETSTATUS_H -#define SFML_SOCKETSTATUS_H - - -//////////////////////////////////////////////////////////// -/// Define the status that can be returned by the socket -/// functions -//////////////////////////////////////////////////////////// -typedef enum -{ - sfSocketDone, - sfSocketNotReady, - sfSocketDisconnected, - sfSocketError - -} sfSocketStatus; - - -#endif // SFML_SOCKETSTATUS_H diff --git a/bindings/c/include/SFML/Network/TcpListener.h b/bindings/c/include/SFML/Network/TcpListener.h deleted file mode 100644 index 3e9cb060..00000000 --- a/bindings/c/include/SFML/Network/TcpListener.h +++ /dev/null @@ -1,97 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_TCPLISTENER_H -#define SFML_TCPLISTENER_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new TCP socket -/// -/// \return Pointer to the new socket -/// -//////////////////////////////////////////////////////////// -CSFML_API sfTcpListener* sfTcpListener_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing TCP socket -/// -/// \param socket : Socket to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfTcpListener_Destroy(sfTcpListener* socket); - -//////////////////////////////////////////////////////////// -/// Change the blocking state of a TCP socket. -/// The default behaviour of a socket is blocking -/// -/// \param socket : Socket to modify -/// \param blocking : Pass sfTrue to set the socket as blocking, or sfFalse for non-blocking -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfTcpListener_SetBlocking(sfTcpListener* socket, sfBool blocking); - -//////////////////////////////////////////////////////////// -/// Get the blocking state of the socket -/// -/// \param socket : Socket to read -/// -/// \Return sfTrue if the socket is blocking, sfFalse otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfTcpListener_IsBlocking(const sfTcpListener* socket); - -//////////////////////////////////////////////////////////// -/// Listen to a specified port for incoming data or connections -/// -/// \param socket : Socket to use for listening -/// \param port : Port to listen to -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfTcpListener_Listen(sfTcpListener* socket, unsigned short port); - -//////////////////////////////////////////////////////////// -/// Wait for a connection (must be listening to a port). -/// This function is blocking, ie. it won't return before -/// a connection has been accepted -/// -/// \param socket : Socket to use for accepting -/// \param connected : Pointer to a socket pointer that will be filled with the connected client -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfTcpListener_Accept(sfTcpListener* socket, sfTcpSocket** connected); - - -#endif // SFML_TCPLISTENER_H diff --git a/bindings/c/include/SFML/Network/TcpSocket.h b/bindings/c/include/SFML/Network/TcpSocket.h deleted file mode 100644 index 71ea12f7..00000000 --- a/bindings/c/include/SFML/Network/TcpSocket.h +++ /dev/null @@ -1,172 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_TCPSOCKET_H -#define SFML_TCPSOCKET_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new TCP socket -/// -/// \return Pointer to the new socket -/// -//////////////////////////////////////////////////////////// -CSFML_API sfTcpSocket* sfTcpSocket_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing TCP socket -/// -/// \param socket : Socket to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfTcpSocket_Destroy(sfTcpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Change the blocking state of a TCP socket. -/// The default behaviour of a socket is blocking -/// -/// \param socket : Socket to modify -/// \param blocking : Pass sfTrue to set the socket as blocking, or false for non-blocking -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfTcpSocket_SetBlocking(sfTcpSocket* socket, sfBool blocking); - -//////////////////////////////////////////////////////////// -/// Get the blocking state of the socket -/// -/// \param socket : Socket to read -/// -/// \Return sfTrue if the socket is blocking, sfFalse otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfTcpSocket_IsBlocking(const sfTcpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Get the port to which a socket is bound locally -/// -/// \param socket : Socket to read -/// -/// \return Port to which the socket is bound -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned short sfTcpSocket_GetLocalPort(const sfTcpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Get the address of the connected peer of a socket -/// -/// \param socket : Socket to read -/// -/// \return Address of the remote peer -/// -//////////////////////////////////////////////////////////// -CSFML_API sfIpAddress sfTcpSocket_GetRemoteAddress(const sfTcpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Get the port of the connected peer to which a socket is connected -/// -/// \param socket : Socket to read -/// -/// \return Remote port to which the socket is connected -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned short sfTcpSocket_GetRemotePort(const sfTcpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Connect a TCP socket to another computer on a specified port -/// -/// \param socket : Socket to connect -/// \param host : IP Address of the host to connect to -/// \param port : Port to use for transfers (warning : ports < 1024 are reserved) -/// \param timeout : Maximum time to wait, in milliseconds (0 to use no timeout) -/// -/// \return sfTrue if operation has been successful -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfTcpSocket_Connect(sfTcpSocket* socket, sfIpAddress host, unsigned short port, sfUint32 timeout); - -//////////////////////////////////////////////////////////// -/// Disconnect a connect from its remote peer -/// -/// \param socket : Socket to disconnect -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfTcpSocket_Disconnect(sfTcpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Send an array of bytes to the host (must be connected first) -/// -/// \param socket : Socket to use for sending -/// \param data : Pointer to the bytes to send -/// \param size : Number of bytes to send -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfTcpSocket_Send(sfTcpSocket* socket, const char* data, size_t size); - -//////////////////////////////////////////////////////////// -/// Receive an array of bytes from the host (must be connected first) -/// -/// \param socket : Socket to use for receiving -/// \param data : Pointer to a byte array to fill (make sure it is big enough) -/// \param maxSize : Maximum number of bytes to read -/// \param sizeReceived : Number of bytes received -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfTcpSocket_Receive(sfTcpSocket* socket, char* data, size_t maxSize, size_t* sizeReceived); - -//////////////////////////////////////////////////////////// -/// Send a packet of data to the host (must be connected first) -/// -/// \param socket : Socket to use for sending -/// \param packet : Packet to send -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfTcpSocket_SendPacket(sfTcpSocket* socket, sfPacket* packet); - -//////////////////////////////////////////////////////////// -/// Receive a packet from the host (must be connected first) -/// -/// \param socket : Socket to use for receiving -/// \param packet : Packet to fill with received data -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfTcpSocket_ReceivePacket(sfTcpSocket* socket, sfPacket* packet); - - -#endif // SFML_TCPSOCKET_H diff --git a/bindings/c/include/SFML/Network/Types.h b/bindings/c/include/SFML/Network/Types.h deleted file mode 100644 index 75709310..00000000 --- a/bindings/c/include/SFML/Network/Types.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_NETWORK_TYPES_H -#define SFML_NETWORK_TYPES_H - - -typedef struct sfFtpDirectoryResponse sfFtpDirectoryResponse; -typedef struct sfFtpListingResponse sfFtpListingResponse; -typedef struct sfFtpResponse sfFtpResponse; -typedef struct sfFtp sfFtp; -typedef struct sfHttpRequest sfHttpRequest; -typedef struct sfHttpResponse sfHttpResponse; -typedef struct sfHttp sfHttp; -typedef struct sfPacket sfPacket; -typedef struct sfSocketSelector sfSocketSelector; -typedef struct sfTcpListener sfTcpListener; -typedef struct sfTcpSocket sfTcpSocket; -typedef struct sfUdpSocket sfUdpSocket; - - -#endif // SFML_NETWORK_TYPES_H diff --git a/bindings/c/include/SFML/Network/UdpSocket.h b/bindings/c/include/SFML/Network/UdpSocket.h deleted file mode 100644 index aee41982..00000000 --- a/bindings/c/include/SFML/Network/UdpSocket.h +++ /dev/null @@ -1,162 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_UDPSOCKET_H -#define SFML_UDPSOCKET_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new UDP socket -/// -/// \return Pointer to the new socket -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUdpSocket* sfUdpSocket_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing UDP socket -/// -/// \param socket : Socket to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfUdpSocket_Destroy(sfUdpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Change the blocking state of a UDP socket. -/// The default behaviour of a socket is blocking -/// -/// \param socket : Socket to modify -/// \param blocking : Pass sfTrue to set the socket as blocking, or false for non-blocking -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfUdpSocket_SetBlocking(sfUdpSocket* socket, sfBool blocking); - -//////////////////////////////////////////////////////////// -/// Get the blocking state of the socket -/// -/// \param socket : Socket to read -/// -/// \Return sfTrue if the socket is blocking, sfFalse otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfUdpSocket_IsBlocking(const sfUdpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Get the port to which a socket is bound locally -/// -/// \param socket : Socket to read -/// -/// \return Port to which the socket is bound -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned short sfUdpSocket_GetLocalPort(const sfUdpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Bind a socket to a specific port -/// -/// \param socket : Socket to bind -/// \param port : Port to bind the socket to -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfUdpSocket_Bind(sfUdpSocket* socket, unsigned short port); - -//////////////////////////////////////////////////////////// -/// Unbind a socket from its previous port, if any -/// -/// \param socket : Socket to unbind -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfUdpSocket_Unbind(sfUdpSocket* socket); - -//////////////////////////////////////////////////////////// -/// Send an array of bytes -/// -/// \param socket : Socket to use for sending -/// \param data : Pointer to the bytes to send -/// \param size : Number of bytes to send -/// \param address : Address of the computer to send the packet to -/// \param port : Port to use for communication -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfUdpSocket_Send(sfUdpSocket* socket, const char* data, size_t size, sfIpAddress address, unsigned short port); - -//////////////////////////////////////////////////////////// -/// Receive an array of bytes. -/// This function is blocking, ie. it won't return before some -/// bytes have been received -/// -/// \param socket : Socket to use for receiving -/// \param data : Pointer to a byte array to fill (make sure it is big enough) -/// \param maxSize : Maximum number of bytes to read -/// \param sizeReceived : Number of bytes received -/// \param address : Address of the computer which sent the data -/// \param port : Port on which the remote computer sent the data -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfUdpSocket_Receive(sfUdpSocket* socket, char* data, size_t maxSize, size_t* sizeReceived, sfIpAddress* address, unsigned short* port); - -//////////////////////////////////////////////////////////// -/// Send a packet of data -/// -/// \param socket : Socket to use for sending -/// \param packet : Packet to send -/// \param address : Address of the computer to send the packet to -/// \param port : Port to use for communication -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfUdpSocket_SendPacket(sfUdpSocket* socket, sfPacket* packet, sfIpAddress address, unsigned short port); - -//////////////////////////////////////////////////////////// -/// Receive a packet. -/// This function is blocking, ie. it won't return before a -/// packet is received -/// -/// \param socket : Socket to use for receiving -/// \param packet : Packet to fill with received data -/// \param address : Address of the computer which sent the packet -/// \param port : Port on which the remote computer sent the data -/// -/// \return Socket status -/// -//////////////////////////////////////////////////////////// -CSFML_API sfSocketStatus sfUdpSocket_ReceivePacket(sfUdpSocket* socket, sfPacket* packet, sfIpAddress* address, unsigned short* port); - - -#endif // SFML_UDPSOCKET_H diff --git a/bindings/c/include/SFML/OpenGL.h b/bindings/c/include/SFML/OpenGL.h deleted file mode 100644 index 99f6fd73..00000000 --- a/bindings/c/include/SFML/OpenGL.h +++ /dev/null @@ -1,58 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_OPENGL_H -#define SFML_OPENGL_H - - -//////////////////////////////////////////////////////////// -/// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -/// This file just includes the OpenGL (GL and GLU) headers, -/// which have actually different paths on each system -//////////////////////////////////////////////////////////// -#if defined(CSFML_SYSTEM_WINDOWS) - - #include - #include - #include - -#elif defined(CSFML_SYSTEM_LINUX) || defined(CSFML_SYSTEM_FREEBSD) - - #include - #include - -#elif defined(CSFML_SYSTEM_MACOS) - - #include - #include - -#endif - - -#endif // SFML_OPENGL_H diff --git a/bindings/c/include/SFML/System.h b/bindings/c/include/SFML/System.h deleted file mode 100644 index 4e8e3aa5..00000000 --- a/bindings/c/include/SFML/System.h +++ /dev/null @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SYSTEM_H -#define SFML_SYSTEM_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include - - -#endif // SFML_SYSTEM_H diff --git a/bindings/c/include/SFML/System/Clock.h b/bindings/c/include/SFML/System/Clock.h deleted file mode 100644 index 2f30da29..00000000 --- a/bindings/c/include/SFML/System/Clock.h +++ /dev/null @@ -1,80 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_CLOCK_H -#define SFML_CLOCK_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new clock and start it -/// -/// \return A new sfClock object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfClock* sfClock_Create(void); - -//////////////////////////////////////////////////////////// -/// Copy an existing clock -/// -/// \param clock : Clock to copy -/// -/// \return Copied object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfClock* sfClock_Copy(sfClock* clock); - -//////////////////////////////////////////////////////////// -/// Destroy an existing clock -/// -/// \param clock : Clock to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfClock_Destroy(sfClock* clock); - -//////////////////////////////////////////////////////////// -/// Get the time elapsed for a clock -/// -/// \param clock : Clock to get time from -/// -/// \return Elapsed time, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfClock_GetTime(const sfClock* clock); - -//////////////////////////////////////////////////////////// -/// Restart a clock -/// -/// \param clock : Clock to restart -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfClock_Reset(sfClock* clock); - - -#endif // SFML_CLOCK_H diff --git a/bindings/c/include/SFML/System/Mutex.h b/bindings/c/include/SFML/System/Mutex.h deleted file mode 100644 index 813bfdc5..00000000 --- a/bindings/c/include/SFML/System/Mutex.h +++ /dev/null @@ -1,68 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_MUTEX_H -#define SFML_MUTEX_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new mutex -/// -/// \return A new sfMutex object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfMutex* sfMutex_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing mutex -/// -/// \param mutex : Mutex to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMutex_Destroy(sfMutex* mutex); - -//////////////////////////////////////////////////////////// -/// Lock a mutex -/// -/// \param mutex : Mutex to lock -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMutex_Lock(sfMutex* mutex); - -//////////////////////////////////////////////////////////// -/// Unlock a mutex -/// -/// \param mutex : Mutex to unlock -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMutex_Unlock(sfMutex* mutex); - - -#endif // SFML_MUTEX_H diff --git a/bindings/c/include/SFML/System/Sleep.h b/bindings/c/include/SFML/System/Sleep.h deleted file mode 100644 index 783365a0..00000000 --- a/bindings/c/include/SFML/System/Sleep.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SLEEP_H -#define SFML_SLEEP_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -/// Make the current thread sleep for a given duration -/// -/// \param duration : Time to sleep, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfSleep(sfUint32 duration); - - -#endif // SFML_SLEEP_H diff --git a/bindings/c/include/SFML/System/Thread.h b/bindings/c/include/SFML/System/Thread.h deleted file mode 100644 index 05e485dc..00000000 --- a/bindings/c/include/SFML/System/Thread.h +++ /dev/null @@ -1,80 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_THREAD_H -#define SFML_THREAD_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new thread from a function pointer -/// -/// \param function : Entry point of the thread -/// \param userData : Data to pass to the thread function -/// -//////////////////////////////////////////////////////////// -CSFML_API sfThread* sfThread_Create(void (*function)(void*), void* userData); - -//////////////////////////////////////////////////////////// -/// Destroy an existing thread -/// -/// \param thread : Thread to delete -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfThread_Destroy(sfThread* thread); - -//////////////////////////////////////////////////////////// -/// Run a thread -/// -/// \param thread : Thread to launch -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfThread_Launch(sfThread* thread); - -//////////////////////////////////////////////////////////// -/// Wait until a thread finishes -/// -/// \param thread : Thread to wait for -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfThread_Wait(sfThread* thread); - -//////////////////////////////////////////////////////////// -/// Terminate a thread -/// Terminating a thread with this function is not safe, -/// you should rather try to make the thread function -/// terminate by itself -/// -/// \param thread : Thread to terminate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfThread_Terminate(sfThread* thread); - - -#endif // SFML_THREAD_H diff --git a/bindings/c/include/SFML/System/Types.h b/bindings/c/include/SFML/System/Types.h deleted file mode 100644 index c071b480..00000000 --- a/bindings/c/include/SFML/System/Types.h +++ /dev/null @@ -1,33 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SYSTEM_TYPES_H -#define SFML_SYSTEM_TYPES_H - - -typedef struct sfClock sfClock; -typedef struct sfMutex sfMutex; -typedef struct sfThread sfThread; - - -#endif // SFML_SYSTEM_TYPES_H diff --git a/bindings/c/include/SFML/Window.h b/bindings/c/include/SFML/Window.h deleted file mode 100644 index 5b002c78..00000000 --- a/bindings/c/include/SFML/Window.h +++ /dev/null @@ -1,42 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SFML_WINDOW_H -#define SFML_SFML_WINDOW_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include -#include -#include - - -#endif // SFML_SFML_WINDOW_H diff --git a/bindings/c/include/SFML/Window/Context.h b/bindings/c/include/SFML/Window/Context.h deleted file mode 100644 index e9881555..00000000 --- a/bindings/c/include/SFML/Window/Context.h +++ /dev/null @@ -1,61 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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 -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new context -/// -/// \return New context -/// -//////////////////////////////////////////////////////////// -CSFML_API sfContext* sfContext_Create(void); - -//////////////////////////////////////////////////////////// -/// Destroy an existing context -/// -/// \param context : Context to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfContext_Destroy(sfContext* context); - -//////////////////////////////////////////////////////////// -/// Activate or deactivate a context -/// -/// \param context : Context to activate or deactivate -/// \param active : sfTrue to activate, sfFalse to deactivate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfContext_SetActive(sfContext* context, sfBool active); - - -#endif // SFML_CONTEXT_H diff --git a/bindings/c/include/SFML/Window/Event.h b/bindings/c/include/SFML/Window/Event.h deleted file mode 100644 index 279b67cc..00000000 --- a/bindings/c/include/SFML/Window/Event.h +++ /dev/null @@ -1,178 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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 -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// 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; - - -//////////////////////////////////////////////////////////// -/// Keyboard event parameters -//////////////////////////////////////////////////////////// -struct sfKeyEvent -{ - sfEventType Type; - sfKeyCode Code; - sfBool Alt; - sfBool Control; - sfBool Shift; - sfBool System; -}; - -//////////////////////////////////////////////////////////// -/// Text event parameters -//////////////////////////////////////////////////////////// -struct sfTextEvent -{ - sfEventType Type; - sfUint32 Unicode; -}; - -//////////////////////////////////////////////////////////// -/// Mouse move event parameters -//////////////////////////////////////////////////////////// -struct sfMouseMoveEvent -{ - sfEventType Type; - int X; - int Y; -}; - -//////////////////////////////////////////////////////////// -/// Mouse buttons events parameters -//////////////////////////////////////////////////////////// -struct sfMouseButtonEvent -{ - sfEventType Type; - sfMouseButton Button; - int X; - int Y; -}; - -//////////////////////////////////////////////////////////// -/// Mouse wheel events parameters -//////////////////////////////////////////////////////////// -struct sfMouseWheelEvent -{ - sfEventType Type; - int Delta; - int X; - int Y; -}; - -//////////////////////////////////////////////////////////// -/// Joystick axis move event parameters -//////////////////////////////////////////////////////////// -struct sfJoystickMoveEvent -{ - sfEventType Type; - unsigned int JoystickId; - sfJoystickAxis Axis; - float Position; -}; - -//////////////////////////////////////////////////////////// -/// Joystick buttons events parameters -//////////////////////////////////////////////////////////// -struct sfJoystickButtonEvent -{ - sfEventType Type; - unsigned int JoystickId; - unsigned int Button; -}; - -//////////////////////////////////////////////////////////// -/// Joystick connection/disconnection event parameters -//////////////////////////////////////////////////////////// -struct sfJoystickConnectEvent -{ - sfEventType Type; - unsigned int JoystickId; -}; - -//////////////////////////////////////////////////////////// -/// Size events parameters -//////////////////////////////////////////////////////////// -struct sfSizeEvent -{ - sfEventType Type; - unsigned int Width; - unsigned int Height; -}; - - -//////////////////////////////////////////////////////////// -/// sfEvent defines a system event and its parameters -//////////////////////////////////////////////////////////// -typedef union -{ - //////////////////////////////////////////////////////////// - // Member data - //////////////////////////////////////////////////////////// - sfEventType Type; ///< Type of the event - struct sfSizeEvent Size; - struct sfKeyEvent Key; - struct sfTextEvent Text; - struct sfMouseMoveEvent MouseMove; - struct sfMouseButtonEvent MouseButton; - struct sfMouseWheelEvent MouseWheel; - struct sfJoystickMoveEvent JoystickMove; - struct sfJoystickButtonEvent JoystickButton; - struct sfJoystickConnectEvent JoystickConnect; -} sfEvent; - - -#endif // SFML_EVENT_H diff --git a/bindings/c/include/SFML/Window/Input.h b/bindings/c/include/SFML/Window/Input.h deleted file mode 100644 index e5e1d7dd..00000000 --- a/bindings/c/include/SFML/Window/Input.h +++ /dev/null @@ -1,102 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_INPUT_H -#define SFML_INPUT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Get the state of a key -/// -/// \param input : Input object -/// \param code : Key to check -/// -/// \return sfTrue if key is down, sfFalse if key is up -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfInput_IsKeyDown(const sfInput* input, sfKeyCode code); - -//////////////////////////////////////////////////////////// -/// Get the state of a mouse button -/// -/// \param input : Input object -/// \param button : Button to check -/// -/// \return sfTrue if button is down, sfFalse if button is up -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfInput_IsMouseButtonDown(const sfInput* input, sfMouseButton button); - -//////////////////////////////////////////////////////////// -/// Get the state of a joystick button -/// -/// \param input : Input object -/// \param joyId : Identifier of the joystick to check (0 or 1) -/// \param button : Button to check -/// -/// \return sfTrue if button is down, sfFalse if button is up -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfInput_IsJoystickButtonDown(const sfInput* input, unsigned int joyId, unsigned int button); - -//////////////////////////////////////////////////////////// -/// Get the mouse X position -/// -/// \param input : Input object -/// -/// \return Current mouse left position, relative to owner window -/// -//////////////////////////////////////////////////////////// -CSFML_API int sfInput_GetMouseX(const sfInput* input); - -//////////////////////////////////////////////////////////// -/// Get the mouse Y position -/// -/// \param input : Input object -/// -/// \return Current mouse top position, relative to owner window -/// -//////////////////////////////////////////////////////////// -CSFML_API int sfInput_GetMouseY(const sfInput* input); - -//////////////////////////////////////////////////////////// -/// Get the joystick position on a given axis -/// -/// \param input : Input object -/// \param joyId : Identifier of the joystick to check (0 or 1) -/// \param axis : Identifier of the axis to read -/// -/// \return Current joystick position, in the range [-100, 100] -/// -//////////////////////////////////////////////////////////// -CSFML_API float sfInput_GetJoystickAxis(const sfInput* input, unsigned int joyId, sfJoyAxis axis); - - -#endif // SFML_INPUT_H diff --git a/bindings/c/include/SFML/Window/Joystick.h b/bindings/c/include/SFML/Window/Joystick.h deleted file mode 100644 index 197a6a2b..00000000 --- a/bindings/c/include/SFML/Window/Joystick.h +++ /dev/null @@ -1,135 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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 - - -//////////////////////////////////////////////////////////// -/// \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_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_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_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_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_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_API void sfJoystick_Update(void); - - -#endif // SFML_JOYSTICK_H diff --git a/bindings/c/include/SFML/Window/Keyboard.h b/bindings/c/include/SFML/Window/Keyboard.h deleted file mode 100644 index 1901a236..00000000 --- a/bindings/c/include/SFML/Window/Keyboard.h +++ /dev/null @@ -1,156 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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 - - -//////////////////////////////////////////////////////////// -/// \brief Key codes -/// -//////////////////////////////////////////////////////////// -typedef enum -{ - 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_API sfBool sfKeyboard_IsKeyPressed(sfKeyCode key); - - -#endif // SFML_KEYBOARD_H diff --git a/bindings/c/include/SFML/Window/Mouse.h b/bindings/c/include/SFML/Window/Mouse.h deleted file mode 100644 index 3fb895ef..00000000 --- a/bindings/c/include/SFML/Window/Mouse.h +++ /dev/null @@ -1,74 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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 - - -//////////////////////////////////////////////////////////// -/// \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_API sfBool sfMouse_IsButtonPressed(sfMouseButton button); - -//////////////////////////////////////////////////////////// -/// \brief Get the current position of the mouse -/// -/// This function returns the current position of the mouse -/// cursor. -/// If the cursor is over a SFML window, the returned position -/// is relative to this window. Otherwise, the returned position -/// is in desktop coordinates. -/// -/// \return Current position of the mouse -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfMouse_GetPosition(int* x, int* y); - - -#endif // SFML_MOUSE_H diff --git a/bindings/c/include/SFML/Window/Types.h b/bindings/c/include/SFML/Window/Types.h deleted file mode 100644 index 65a488d9..00000000 --- a/bindings/c/include/SFML/Window/Types.h +++ /dev/null @@ -1,33 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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/bindings/c/include/SFML/Window/VideoMode.h b/bindings/c/include/SFML/Window/VideoMode.h deleted file mode 100644 index a31fdcf3..00000000 --- a/bindings/c/include/SFML/Window/VideoMode.h +++ /dev/null @@ -1,77 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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 - - -//////////////////////////////////////////////////////////// -/// 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; - - -//////////////////////////////////////////////////////////// -/// Get the current desktop video mode -/// -/// \return Current desktop video mode -/// -//////////////////////////////////////////////////////////// -CSFML_API sfVideoMode sfVideoMode_GetDesktopMode(void); - -//////////////////////////////////////////////////////////// -/// Get all the supported video modes for fullscreen mode. -/// Modes are sorted from best to worst. -/// -/// \param Count : Variable that will be filled with the number of modes -/// -/// \return Pointer to an array of \a count video modes -/// -//////////////////////////////////////////////////////////// -CSFML_API const sfVideoMode* sfVideoMode_GetFullscreenModes(size_t* Count); - -//////////////////////////////////////////////////////////// -/// Tell whether or not a video mode is supported -/// -/// \param mode : Video mode to check -/// -/// -/// \return True if video mode is supported, false otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfVideoMode_IsValid(sfVideoMode mode); - - -#endif // SFML_VIDEOMODE_H diff --git a/bindings/c/include/SFML/Window/Window.h b/bindings/c/include/SFML/Window/Window.h deleted file mode 100644 index dbf3e636..00000000 --- a/bindings/c/include/SFML/Window/Window.h +++ /dev/null @@ -1,319 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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 -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// 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 -}; - - -//////////////////////////////////////////////////////////// -/// 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; - - -//////////////////////////////////////////////////////////// -/// Construct a new window -/// -/// \param mode : Video mode to use -/// \param title : Title of the window -/// \param style : Window style -/// \param settings : Creation settings (pass NULL to use default values) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfWindow* sfWindow_Create(sfVideoMode mode, const char* title, unsigned long style, const sfContextSettings* settings); - -//////////////////////////////////////////////////////////// -/// Construct a window from an existing control -/// -/// \param handle : Platform-specific handle of the control -/// \param settings : Creation settings (pass NULL to use default values) -/// -//////////////////////////////////////////////////////////// -CSFML_API sfWindow* sfWindow_CreateFromHandle(sfWindowHandle handle, const sfContextSettings* settings); - -//////////////////////////////////////////////////////////// -/// Destroy an existing window -/// -/// \param window : Window to destroy -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_Destroy(sfWindow* window); - -//////////////////////////////////////////////////////////// -/// Close a window (but doesn't destroy the internal data) -/// -/// \param window : Window to close -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_Close(sfWindow* window); - -//////////////////////////////////////////////////////////// -/// Tell whether or not a window is opened -/// -/// \param window : Window object -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfWindow_IsOpened(const sfWindow* window); - -//////////////////////////////////////////////////////////// -/// Get the width of the rendering region of a window -/// -/// \param window : Window object -/// -/// \return Width in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfWindow_GetWidth(const sfWindow* window); - -//////////////////////////////////////////////////////////// -/// Get the height of the rendering region of a window -/// -/// \param window : Window object -/// -/// \return Height in pixels -/// -//////////////////////////////////////////////////////////// -CSFML_API unsigned int sfWindow_GetHeight(const sfWindow* window); - -//////////////////////////////////////////////////////////// -/// Get the creation settings of a window -/// -/// \param window : Window object -/// -/// \return Settings used to create the window -/// -//////////////////////////////////////////////////////////// -CSFML_API sfContextSettings sfWindow_GetSettings(const sfWindow* window); - -//////////////////////////////////////////////////////////// -/// Get the event on top of events stack of a window, if any, and pop it -/// -/// \param window : Window object -/// \param event : Event to fill, if any -/// -/// \return sfTrue if an event was returned, sfFalse if events stack was empty -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfWindow_PollEvent(sfWindow* window, sfEvent* event); - -//////////////////////////////////////////////////////////// -/// Wait for an event and return it -/// -/// \param window : Window object -/// \param event : Event to fill -/// -/// \return sfFalse if an error occured -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfWindow_WaitEvent(sfWindow* window, sfEvent* event); - -//////////////////////////////////////////////////////////// -/// Enable / disable vertical synchronization on a window -/// -/// \param window : Window object -/// \param enabled : sfTrue to enable v-sync, sfFalse to deactivate -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_EnableVerticalSync(sfWindow* window, sfBool enabled); - -//////////////////////////////////////////////////////////// -/// Show or hide the mouse cursor on a window -/// -/// \param window : Window object -/// \param show : sfTrue to show, sfFalse to hide -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_ShowMouseCursor(sfWindow* window, sfBool show); - -//////////////////////////////////////////////////////////// -/// Change the position of the mouse cursor on a window -/// -/// \param window : Window object -/// \param left : Left coordinate of the cursor, relative to the window -/// \param top : Top coordinate of the cursor, relative to the window -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_SetCursorPosition(sfWindow* window, unsigned int left, unsigned int top); - -//////////////////////////////////////////////////////////// -/// Get the position of the mouse cursor on a window -/// -/// \param window : Window object -/// \param left : Left coordinate of the cursor, relative to the window -/// \param top : Top coordinate of the cursor, relative to the window -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_GetCursorPosition(sfWindow* window, int* left, int* top); - -//////////////////////////////////////////////////////////// -/// Change the position of a window on screen. -/// Only works for top-level windows -/// -/// \param window : Window object -/// \param left : Left position -/// \param top : Top position -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_SetPosition(sfWindow* window, int left, int top); - -//////////////////////////////////////////////////////////// -/// Change the size of the rendering region of a window -/// -/// \param window : Window object -/// \param width : New Width -/// \param height : New Height -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_SetSize(sfWindow* window, unsigned int width, unsigned int height); - -//////////////////////////////////////////////////////////// -/// Change the title of a window -/// -/// \param window : Window object -/// \param title : New title -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_SetTitle(sfWindow* window, const char* title); - -//////////////////////////////////////////////////////////// -/// Show or hide a window -/// -/// \param window : Window object -/// \param show : sfTrue to show, sfFalse to hide -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_Show(sfWindow* window, sfBool show); - -//////////////////////////////////////////////////////////// -/// Enable or disable automatic key-repeat for keydown events. -/// Automatic key-repeat is enabled by default -/// -/// \param window : Window object -/// \param enabled : sfTrue to enable, sfFalse to disable -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_EnableKeyRepeat(sfWindow* window, sfBool enabled); - -//////////////////////////////////////////////////////////// -/// Change the window's icon -/// -/// \param window : Window object -/// \param width : Icon's width, in pixels -/// \param height : Icon's height, in pixels -/// \param pixels : Pointer to the pixels in memory, format must be RGBA 32 bits -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_SetIcon(sfWindow* window, unsigned int width, unsigned int height, const sfUint8* pixels); - -//////////////////////////////////////////////////////////// -/// Activate or deactivate a window as the current target for rendering -/// -/// \param window : Window object -/// \param active : sfTrue to activate, sfFalse to deactivate -/// -/// \return True if operation was successful, false otherwise -/// -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfWindow_SetActive(sfWindow* window, sfBool active); - -//////////////////////////////////////////////////////////// -/// Display a window on screen -/// -/// \param window : Window object -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_Display(sfWindow* window); - -//////////////////////////////////////////////////////////// -/// Limit the framerate to a maximum fixed frequency for a window -/// -/// \param window : Window object -/// \param limit : Framerate limit, in frames per seconds (use 0 to disable limit) -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_SetFramerateLimit(sfWindow* window, unsigned int limit); - -//////////////////////////////////////////////////////////// -/// Get time elapsed since last frame of a window -/// -/// \param window : Window object -/// -/// \return Time elapsed, in milliseconds -/// -//////////////////////////////////////////////////////////// -CSFML_API sfUint32 sfWindow_GetFrameTime(const sfWindow* window); - -//////////////////////////////////////////////////////////// -/// Change the joystick threshold, ie. the value below which -/// no move event will be generated -/// -/// \param window : Window object -/// \param threshold : New threshold, in range [0, 100] -/// -//////////////////////////////////////////////////////////// -CSFML_API void sfWindow_SetJoystickThreshold(sfWindow* window, float threshold); - -//////////////////////////////////////////////////////////// -/// Retrieve the Os-specific handle of a window -/// -/// \param window : Window object -/// -/// \return Window handle -/// -//////////////////////////////////////////////////////////// -CSFML_API sfWindowHandle sfWindow_GetSystemHandle(const sfWindow* window); - - -#endif // SFML_WINDOW_H diff --git a/bindings/c/include/SFML/Window/WindowHandle.h b/bindings/c/include/SFML/Window/WindowHandle.h deleted file mode 100644 index 171536e5..00000000 --- a/bindings/c/include/SFML/Window/WindowHandle.h +++ /dev/null @@ -1,57 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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 - - -//////////////////////////////////////////////////////////// -/// 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 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 diff --git a/bindings/c/license.txt b/bindings/c/license.txt deleted file mode 100644 index a67d6671..00000000 --- a/bindings/c/license.txt +++ /dev/null @@ -1,31 +0,0 @@ -CSFML ------ - -CSFML - Copyright (c) 2007-2009 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. - - - -External libraries used by CSFML --------------------------------- - -* SFML is under the zlib/png license diff --git a/bindings/c/src/SFML/Audio/CMakeLists.txt b/bindings/c/src/SFML/Audio/CMakeLists.txt deleted file mode 100644 index 47fc107d..00000000 --- a/bindings/c/src/SFML/Audio/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ - -set(INCROOT ${CMAKE_SOURCE_DIR}/include/SFML/Audio) -set(SRCROOT ${CMAKE_SOURCE_DIR}/src/SFML/Audio) - -# all source files -set(SRC - ${SRCROOT}/Listener.cpp - ${INCROOT}/Listener.h - ${SRCROOT}/Music.cpp - ${SRCROOT}/MusicStruct.h - ${INCROOT}/Music.h - ${SRCROOT}/Sound.cpp - ${SRCROOT}/SoundStruct.h - ${INCROOT}/Sound.h - ${SRCROOT}/SoundBuffer.cpp - ${SRCROOT}/SoundBufferStruct.h - ${INCROOT}/SoundBuffer.h - ${SRCROOT}/SoundBufferRecorder.cpp - ${SRCROOT}/SoundBufferRecorderStruct.h - ${INCROOT}/SoundBufferRecorder.h - ${SRCROOT}/SoundRecorder.cpp - ${SRCROOT}/SoundRecorderStruct.h - ${INCROOT}/SoundRecorder.h - ${INCROOT}/SoundStatus.h - ${SRCROOT}/SoundStream.cpp - ${SRCROOT}/SoundStreamStruct.h - ${INCROOT}/SoundStream.h - ${INCROOT}/Types.h -) - -# define the csfml-audio target -csfml_add_library(csfml-audio - SOURCES ${SRC} - DEPENDS ${SFML_AUDIO_LIBRARY} ${SFML_SYSTEM_LIBRARY}) diff --git a/bindings/c/src/SFML/Audio/Listener.cpp b/bindings/c/src/SFML/Audio/Listener.cpp deleted file mode 100644 index 71683940..00000000 --- a/bindings/c/src/SFML/Audio/Listener.cpp +++ /dev/null @@ -1,96 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - - -//////////////////////////////////////////////////////////// -/// Change the global volume of all the sounds -//////////////////////////////////////////////////////////// -void sfListener_SetGlobalVolume(float volume) -{ - sf::Listener::SetGlobalVolume(volume); -} - - -//////////////////////////////////////////////////////////// -/// Get the current value of the global volume of all the sounds -//////////////////////////////////////////////////////////// -float sfListener_GetGlobalVolume(void) -{ - return sf::Listener::GetGlobalVolume(); -} - - -//////////////////////////////////////////////////////////// -/// Change the position of the listener -//////////////////////////////////////////////////////////// -void sfListener_SetPosition(float x, float y, float z) -{ - sf::Listener::SetPosition(x, y, z); -} - - -//////////////////////////////////////////////////////////// -/// Get the current position of the listener -//////////////////////////////////////////////////////////// -void sfListener_GetPosition(float* x, float* y, float* z) -{ - if (x && y && z) - { - sf::Vector3f position = sf::Listener::GetPosition(); - *x = position.x; - *y = position.y; - *z = position.z; - } -} - - -//////////////////////////////////////////////////////////// -/// Change the orientation of the listener -//////////////////////////////////////////////////////////// -void sfListener_SetDirection(float x, float y, float z) -{ - sf::Listener::SetDirection(x, y, z); -} - - -//////////////////////////////////////////////////////////// -/// Get the current orientation of the listener -//////////////////////////////////////////////////////////// -void sfListener_GetDirection(float* x, float* y, float* z) -{ - if (x && y && z) - { - sf::Vector3f direction = sf::Listener::GetDirection(); - *x = direction.x; - *y = direction.y; - *z = direction.z; - } -} diff --git a/bindings/c/src/SFML/Audio/Music.cpp b/bindings/c/src/SFML/Audio/Music.cpp deleted file mode 100644 index 0022562d..00000000 --- a/bindings/c/src/SFML/Audio/Music.cpp +++ /dev/null @@ -1,297 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new music and load it from a file -//////////////////////////////////////////////////////////// -sfMusic* sfMusic_CreateFromFile(const char* filename) -{ - sfMusic* music = new sfMusic; - - if (!music->This.OpenFromFile(filename)) - { - delete music; - music = NULL; - } - - return music; -} - - -//////////////////////////////////////////////////////////// -/// Create a new music and load it from a file in memory -//////////////////////////////////////////////////////////// -sfMusic* sfMusic_CreateFromMemory(const void* data, size_t sizeInBytes) -{ - sfMusic* music = new sfMusic; - - if (!music->This.OpenFromMemory(data, sizeInBytes)) - { - delete music; - music = NULL; - } - - return music; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing music -//////////////////////////////////////////////////////////// -void sfMusic_Destroy(sfMusic* music) -{ - delete music; -} - - -//////////////////////////////////////////////////////////// -/// Set a music loop state -//////////////////////////////////////////////////////////// -void sfMusic_SetLoop(sfMusic* music, sfBool loop) -{ - CSFML_CALL(music, SetLoop(loop != 0)); -} - - -//////////////////////////////////////////////////////////// -/// Tell whether or not a music is looping -//////////////////////////////////////////////////////////// -sfBool sfMusic_GetLoop(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetLoop(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get a music duration -//////////////////////////////////////////////////////////// -sfUint32 sfMusic_GetDuration(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetDuration(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Start playing a music -//////////////////////////////////////////////////////////// -void sfMusic_Play(sfMusic* music) -{ - CSFML_CALL(music, Play()); -} - - -//////////////////////////////////////////////////////////// -/// Pause a music -//////////////////////////////////////////////////////////// -void sfMusic_Pause(sfMusic* music) -{ - CSFML_CALL(music, Pause()); -} - - -//////////////////////////////////////////////////////////// -/// Stop playing a music -//////////////////////////////////////////////////////////// -void sfMusic_Stop(sfMusic* music) -{ - CSFML_CALL(music, Stop()); -} - - -//////////////////////////////////////////////////////////// -/// Return the number of channels of a music (1 = mono, 2 = stereo) -//////////////////////////////////////////////////////////// -unsigned int sfMusic_GetChannelsCount(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetChannelsCount(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the stream sample rate of a music -//////////////////////////////////////////////////////////// -unsigned int sfMusic_GetSampleRate(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetSampleRate(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the status of a music (stopped, paused, playing) -//////////////////////////////////////////////////////////// -sfSoundStatus sfMusic_GetStatus(const sfMusic* music) -{ - CSFML_CHECK_RETURN(music, sfStopped); - - return static_cast(music->This.GetStatus()); -} - - -//////////////////////////////////////////////////////////// -/// Get the current playing position of a music -//////////////////////////////////////////////////////////// -sfUint32 sfMusic_GetPlayingOffset(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetPlayingOffset(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Set the pitch of a music -//////////////////////////////////////////////////////////// -void sfMusic_SetPitch(sfMusic* music, float pitch) -{ - CSFML_CALL(music, SetPitch(pitch)); -} - - -//////////////////////////////////////////////////////////// -/// Set the volume of a music -//////////////////////////////////////////////////////////// -void sfMusic_SetVolume(sfMusic* music, float volume) -{ - CSFML_CALL(music, SetVolume(volume)); -} - - -//////////////////////////////////////////////////////////// -/// Set the position of a music -//////////////////////////////////////////////////////////// -void sfMusic_SetPosition(sfMusic* music, float x, float y, float z) -{ - CSFML_CALL(music, SetPosition(sf::Vector3f(x, y, z))); -} - - -//////////////////////////////////////////////////////////// -/// Make the music's position relative to the listener's -/// position, or absolute. -/// The default value is false (absolute) -//////////////////////////////////////////////////////////// -void sfMusic_SetRelativeToListener(sfMusic* music, sfBool relative) -{ - CSFML_CALL(music, SetRelativeToListener(relative == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Set the minimum distance - closer than this distance, -/// the listener will hear the music at its maximum volume. -/// The default minimum distance is 1.0 -//////////////////////////////////////////////////////////// -void sfMusic_SetMinDistance(sfMusic* music, float distance) -{ - CSFML_CALL(music, SetMinDistance(distance)); -} - - -//////////////////////////////////////////////////////////// -/// Set the attenuation factor - the higher the attenuation, the -/// more the sound will be attenuated with distance from listener. -/// The default attenuation factor 1.0 -//////////////////////////////////////////////////////////// -void sfMusic_SetAttenuation(sfMusic* music, float attenuation) -{ - CSFML_CALL(music, SetAttenuation(attenuation)); -} - - -//////////////////////////////////////////////////////////// -/// Set the current playing position of a stream -//////////////////////////////////////////////////////////// -void sfMusic_SetPlayingOffset(sfMusic* music, sfUint32 timeOffset) -{ - CSFML_CALL(music, SetPlayingOffset(timeOffset)); -} - - -//////////////////////////////////////////////////////////// -/// Get the pitch of a music -//////////////////////////////////////////////////////////// -float sfMusic_GetPitch(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetPitch(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the volume of a music -//////////////////////////////////////////////////////////// -float sfMusic_GetVolume(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetVolume(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the position of a music -//////////////////////////////////////////////////////////// -void sfMusic_GetPosition(const sfMusic* music, float* x, float* y, float* z) -{ - CSFML_CHECK(music); - - if (x && y && z) - { - sf::Vector3f position = music->This.GetPosition(); - *x = position.x; - *y = position.y; - *z = position.z; - } -} - - -//////////////////////////////////////////////////////////// -/// Tell if the music's position is relative to the listener's -/// position, or if it's absolute -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfMusic_IsRelativeToListener(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, IsRelativeToListener(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the minimum distance of a music -//////////////////////////////////////////////////////////// -float sfMusic_GetMinDistance(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetMinDistance(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the attenuation factor of a music -//////////////////////////////////////////////////////////// -float sfMusic_GetAttenuation(const sfMusic* music) -{ - CSFML_CALL_RETURN(music, GetAttenuation(), 0.f); -} diff --git a/bindings/c/src/SFML/Audio/MusicStruct.h b/bindings/c/src/SFML/Audio/MusicStruct.h deleted file mode 100644 index 8c82e893..00000000 --- a/bindings/c/src/SFML/Audio/MusicStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_MUSICSTRUCT_H -#define SFML_MUSICSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfMusic -//////////////////////////////////////////////////////////// -struct sfMusic -{ - sf::Music This; -}; - - -#endif // SFML_MUSICSTRUCT_H diff --git a/bindings/c/src/SFML/Audio/Sound.cpp b/bindings/c/src/SFML/Audio/Sound.cpp deleted file mode 100644 index f7b95c5c..00000000 --- a/bindings/c/src/SFML/Audio/Sound.cpp +++ /dev/null @@ -1,277 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new sound -//////////////////////////////////////////////////////////// -sfSound* sfSound_Create(void) -{ - return new sfSound; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing sound -//////////////////////////////////////////////////////////// -sfSound* sfSound_Copy(sfSound* sound) -{ - CSFML_CHECK_RETURN(sound, NULL); - - return new sfSound(*sound); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound -//////////////////////////////////////////////////////////// -void sfSound_Destroy(sfSound* sound) -{ - delete sound; -} - - -//////////////////////////////////////////////////////////// -/// Start playing a sound -//////////////////////////////////////////////////////////// -void sfSound_Play(sfSound* sound) -{ - CSFML_CALL(sound, Play()) -} - - -//////////////////////////////////////////////////////////// -/// Pause a sound -//////////////////////////////////////////////////////////// -void sfSound_Pause(sfSound* sound) -{ - CSFML_CALL(sound, Pause()) -} - - -//////////////////////////////////////////////////////////// -/// Stop playing a sound -//////////////////////////////////////////////////////////// -void sfSound_Stop(sfSound* sound) -{ - CSFML_CALL(sound, Stop()) -} - - -//////////////////////////////////////////////////////////// -/// Bind a sound buffer to a sound -//////////////////////////////////////////////////////////// -void sfSound_SetBuffer(sfSound* sound, const sfSoundBuffer* buffer) -{ - if (buffer) - { - CSFML_CALL(sound, SetBuffer(buffer->This)) - sound->Buffer = buffer; - } -} - - -//////////////////////////////////////////////////////////// -/// Get the sound buffer bound to a sound -//////////////////////////////////////////////////////////// -const sfSoundBuffer* sfSound_GetBuffer(const sfSound* sound) -{ - CSFML_CHECK_RETURN(sound, NULL) - - return sound->Buffer; -} - - -//////////////////////////////////////////////////////////// -/// Set a sound loop state -//////////////////////////////////////////////////////////// -void sfSound_SetLoop(sfSound* sound, sfBool loop) -{ - CSFML_CALL(sound, SetLoop(loop == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Tell whether or not a sound is looping -//////////////////////////////////////////////////////////// -sfBool sfSound_GetLoop(const sfSound* sound) -{ - CSFML_CALL_RETURN(sound, GetLoop(), sfFalse) -} - - -//////////////////////////////////////////////////////////// -/// Get the status of a sound (stopped, paused, playing) -//////////////////////////////////////////////////////////// -sfSoundStatus sfSound_GetStatus(const sfSound* sound) -{ - CSFML_CHECK_RETURN(sound, sfStopped); - - return static_cast(sound->This.GetStatus()); -} - - -//////////////////////////////////////////////////////////// -/// Set the pitch of a sound -//////////////////////////////////////////////////////////// -void sfSound_SetPitch(sfSound* sound, float pitch) -{ - CSFML_CALL(sound, SetPitch(pitch)) -} - - -//////////////////////////////////////////////////////////// -/// Set the volume of a sound -//////////////////////////////////////////////////////////// -void sfSound_SetVolume(sfSound* sound, float volume) -{ - CSFML_CALL(sound, SetVolume(volume)) -} - - -//////////////////////////////////////////////////////////// -/// Set the position of a sound -//////////////////////////////////////////////////////////// -void sfSound_SetPosition(sfSound* sound, float x, float y, float z) -{ - CSFML_CALL(sound, SetPosition(sf::Vector3f(x, y, z))) -} - - -//////////////////////////////////////////////////////////// -/// Make the sound's position relative to the listener's -/// position, or absolute. -/// The default value is false (absolute) -//////////////////////////////////////////////////////////// -void sfSound_SetRelativeToListener(sfSound* sound, sfBool relative) -{ - CSFML_CALL(sound, SetRelativeToListener(relative == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Set the minimum distance - closer than this distance, -/// the listener will hear the sound at its maximum volume. -/// The default minimum distance is 1.0 -//////////////////////////////////////////////////////////// -void sfSound_SetMinDistance(sfSound* sound, float distance) -{ - CSFML_CALL(sound, SetMinDistance(distance)); -} - - -//////////////////////////////////////////////////////////// -/// Set the attenuation factor - the higher the attenuation, the -/// more the sound will be attenuated with distance from listener. -/// The default attenuation factor is 1.0 -//////////////////////////////////////////////////////////// -void sfSound_SetAttenuation(sfSound* sound, float attenuation) -{ - CSFML_CALL(sound, SetAttenuation(attenuation)); -} - - -//////////////////////////////////////////////////////////// -/// Set the current playing position of a sound -//////////////////////////////////////////////////////////// -void sfSound_SetPlayingOffset(sfSound* sound, sfUint32 timeOffset) -{ - CSFML_CALL(sound, SetPlayingOffset(timeOffset)); -} - - -//////////////////////////////////////////////////////////// -/// Get the pitch of a sound -//////////////////////////////////////////////////////////// -float sfSound_GetPitch(const sfSound* sound) -{ - CSFML_CALL_RETURN(sound, GetPitch(), 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the volume of a sound -//////////////////////////////////////////////////////////// -float sfSound_GetVolume(const sfSound* sound) -{ - CSFML_CALL_RETURN(sound, GetVolume(), 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the position of a sound -//////////////////////////////////////////////////////////// -void sfSound_GetPosition(const sfSound* sound, float* x, float* y, float* z) -{ - CSFML_CHECK(sound); - - sf::Vector3f position = sound->This.GetPosition(); - if (x) *x = position.x; - if (y) *y = position.y; - if (z) *z = position.z; -} - - -//////////////////////////////////////////////////////////// -/// Tell if the sound's position is relative to the listener's -/// position, or if it's absolute -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSound_IsRelativeToListener(const sfSound* sound) -{ - CSFML_CALL_RETURN(sound, IsRelativeToListener(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the minimum distance of a sound -//////////////////////////////////////////////////////////// -float sfSound_GetMinDistance(const sfSound* sound) -{ - CSFML_CALL_RETURN(sound, GetMinDistance(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the attenuation factor of a sound -//////////////////////////////////////////////////////////// -float sfSound_GetAttenuation(const sfSound* sound) -{ - CSFML_CALL_RETURN(sound, GetAttenuation(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the current playing position of a sound -//////////////////////////////////////////////////////////// -sfUint32 sfSound_GetPlayingOffset(const sfSound* sound) -{ - CSFML_CALL_RETURN(sound, GetPlayingOffset(), 0) -} diff --git a/bindings/c/src/SFML/Audio/SoundBuffer.cpp b/bindings/c/src/SFML/Audio/SoundBuffer.cpp deleted file mode 100644 index 13157bfd..00000000 --- a/bindings/c/src/SFML/Audio/SoundBuffer.cpp +++ /dev/null @@ -1,157 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new sound buffer and load it from a file -//////////////////////////////////////////////////////////// -sfSoundBuffer* sfSoundBuffer_CreateFromFile(const char* filename) -{ - sfSoundBuffer* buffer = new sfSoundBuffer; - - if (!buffer->This.LoadFromFile(filename)) - { - delete buffer; - buffer = NULL; - } - - return buffer; -} - - -//////////////////////////////////////////////////////////// -/// Create a new sound buffer and load it from a file in memory -//////////////////////////////////////////////////////////// -sfSoundBuffer* sfSoundBuffer_CreateFromMemory(const void* data, size_t sizeInBytes) -{ - sfSoundBuffer* buffer = new sfSoundBuffer; - - if (!buffer->This.LoadFromMemory(data, sizeInBytes)) - { - delete buffer; - buffer = NULL; - } - - return buffer; -} - - -//////////////////////////////////////////////////////////// -/// Create a new sound buffer and load it from an array of -/// samples in memory - assumed format for samples is -/// 16 bits signed integer -//////////////////////////////////////////////////////////// -sfSoundBuffer* sfSoundBuffer_CreateFromSamples(const sfInt16* samples, size_t samplesCount, unsigned int channelsCount, unsigned int sampleRate) -{ - sfSoundBuffer* buffer = new sfSoundBuffer; - - if (!buffer->This.LoadFromSamples(samples, samplesCount, channelsCount, sampleRate)) - { - delete buffer; - buffer = NULL; - } - - return buffer; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing sound buffer -//////////////////////////////////////////////////////////// -sfSoundBuffer* sfSoundBuffer_Copy(sfSoundBuffer* soundBuffer) -{ - CSFML_CHECK_RETURN(soundBuffer, NULL); - - return new sfSoundBuffer(*soundBuffer); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound buffer -//////////////////////////////////////////////////////////// -void sfSoundBuffer_Destroy(sfSoundBuffer* soundBuffer) -{ - delete soundBuffer; -} - - -//////////////////////////////////////////////////////////// -/// Save a sound buffer to a file -//////////////////////////////////////////////////////////// -sfBool sfSoundBuffer_SaveToFile(const sfSoundBuffer* soundBuffer, const char* filename) -{ - CSFML_CALL_RETURN(soundBuffer, SaveToFile(filename), sfFalse) -} - - -//////////////////////////////////////////////////////////// -/// Return the samples contained in a sound buffer -//////////////////////////////////////////////////////////// -const sfInt16* sfSoundBuffer_GetSamples(const sfSoundBuffer* soundBuffer) -{ - CSFML_CALL_RETURN(soundBuffer, GetSamples(), NULL) -} - - -//////////////////////////////////////////////////////////// -/// Return the number of samples contained in a sound buffer -//////////////////////////////////////////////////////////// -size_t sfSoundBuffer_GetSamplesCount(const sfSoundBuffer* soundBuffer) -{ - CSFML_CALL_RETURN(soundBuffer, GetSamplesCount(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Get the sample rate of a sound buffer -//////////////////////////////////////////////////////////// -unsigned int sfSoundBuffer_GetSampleRate(const sfSoundBuffer* soundBuffer) -{ - CSFML_CALL_RETURN(soundBuffer, GetSampleRate(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Return the number of channels of a sound buffer (1 = mono, 2 = stereo, ...) -//////////////////////////////////////////////////////////// -unsigned int sfSoundBuffer_GetChannelsCount(const sfSoundBuffer* soundBuffer) -{ - CSFML_CALL_RETURN(soundBuffer, GetChannelsCount(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Get the duration of a sound buffer -//////////////////////////////////////////////////////////// -sfUint32 sfSoundBuffer_GetDuration(const sfSoundBuffer* soundBuffer) -{ - CSFML_CALL_RETURN(soundBuffer, GetDuration(), 0) -} diff --git a/bindings/c/src/SFML/Audio/SoundBufferRecorder.cpp b/bindings/c/src/SFML/Audio/SoundBufferRecorder.cpp deleted file mode 100644 index 45e06a08..00000000 --- a/bindings/c/src/SFML/Audio/SoundBufferRecorder.cpp +++ /dev/null @@ -1,90 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new sound buffer recorder -//////////////////////////////////////////////////////////// -sfSoundBufferRecorder* sfSoundBufferRecorder_Create(void) -{ - return new sfSoundBufferRecorder; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound buffer recorder -//////////////////////////////////////////////////////////// -void sfSoundBufferRecorder_Destroy(sfSoundBufferRecorder* soundBufferRecorder) -{ - delete soundBufferRecorder; -} - - -//////////////////////////////////////////////////////////// -/// Start the capture. -/// Warning : only one capture can happen at the same time -//////////////////////////////////////////////////////////// -void sfSoundBufferRecorder_Start(sfSoundBufferRecorder* soundBufferRecorder, unsigned int sampleRate) -{ - CSFML_CALL(soundBufferRecorder, Start(sampleRate)); -} - - -//////////////////////////////////////////////////////////// -/// Stop the capture -//////////////////////////////////////////////////////////// -void sfSoundBufferRecorder_Stop(sfSoundBufferRecorder* soundBufferRecorder) -{ - CSFML_CALL(soundBufferRecorder, Stop()); -} - - -//////////////////////////////////////////////////////////// -/// Get the sample rate of a sound buffer recorder -//////////////////////////////////////////////////////////// -unsigned int sfSoundBufferRecorder_GetSampleRate(const sfSoundBufferRecorder* soundBufferRecorder) -{ - CSFML_CALL_RETURN(soundBufferRecorder, GetSampleRate(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the sound buffer containing the captured audio data -/// of a sound buffer recorder -//////////////////////////////////////////////////////////// -const sfSoundBuffer* sfSoundBufferRecorder_GetBuffer(const sfSoundBufferRecorder* soundBufferRecorder) -{ - CSFML_CHECK_RETURN(soundBufferRecorder, NULL); - - soundBufferRecorder->SoundBuffer.This = soundBufferRecorder->This.GetBuffer(); - - return &soundBufferRecorder->SoundBuffer; -} diff --git a/bindings/c/src/SFML/Audio/SoundBufferRecorderStruct.h b/bindings/c/src/SFML/Audio/SoundBufferRecorderStruct.h deleted file mode 100644 index 248e1a61..00000000 --- a/bindings/c/src/SFML/Audio/SoundBufferRecorderStruct.h +++ /dev/null @@ -1,45 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDBUFFERRECORDERSTRUCT_H -#define SFML_SOUNDBUFFERRECORDERSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfSoundBufferRecorder -//////////////////////////////////////////////////////////// -struct sfSoundBufferRecorder -{ - sf::SoundBufferRecorder This; - mutable sfSoundBuffer SoundBuffer; -}; - - -#endif // SFML_SOUNDBUFFERRECORDERSTRUCT_H diff --git a/bindings/c/src/SFML/Audio/SoundBufferStruct.h b/bindings/c/src/SFML/Audio/SoundBufferStruct.h deleted file mode 100644 index 8cadb73e..00000000 --- a/bindings/c/src/SFML/Audio/SoundBufferStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDBUFFERSTRUCT_H -#define SFML_SOUNDBUFFERSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfSoundBuffer -//////////////////////////////////////////////////////////// -struct sfSoundBuffer -{ - sf::SoundBuffer This; -}; - - -#endif // SFML_SOUNDBUFFERSTRUCT_H diff --git a/bindings/c/src/SFML/Audio/SoundRecorder.cpp b/bindings/c/src/SFML/Audio/SoundRecorder.cpp deleted file mode 100644 index f3f34895..00000000 --- a/bindings/c/src/SFML/Audio/SoundRecorder.cpp +++ /dev/null @@ -1,90 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new sound recorder with callback functions -/// for processing captured samples -//////////////////////////////////////////////////////////// -sfSoundRecorder* sfSoundRecorder_Create(sfSoundRecorderStartCallback onStart, - sfSoundRecorderProcessCallback onProcess, - sfSoundRecorderStopCallback onStop, - void* userData) -{ - return new sfSoundRecorder(onStart, onProcess, onStop, userData); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound recorder -//////////////////////////////////////////////////////////// -void sfSoundRecorder_Destroy(sfSoundRecorder* soundRecorder) -{ - delete soundRecorder; -} - - -//////////////////////////////////////////////////////////// -/// Start the capture. -/// Warning : only one capture can happen at the same time -//////////////////////////////////////////////////////////// -void sfSoundRecorder_Start(sfSoundRecorder* soundRecorder, unsigned int sampleRate) -{ - CSFML_CALL(soundRecorder, Start(sampleRate)); -} - - -//////////////////////////////////////////////////////////// -/// Stop the capture -//////////////////////////////////////////////////////////// -void sfSoundRecorder_Stop(sfSoundRecorder* soundRecorder) -{ - CSFML_CALL(soundRecorder, Stop()); -} - - -//////////////////////////////////////////////////////////// -/// Get the sample rate of a sound recorder -//////////////////////////////////////////////////////////// -unsigned int sfSoundRecorder_GetSampleRate(const sfSoundRecorder* soundRecorder) -{ - CSFML_CALL_RETURN(soundRecorder, GetSampleRate(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Tell if the system supports sound capture. -/// If not, this class won't be usable -//////////////////////////////////////////////////////////// -sfBool sfSoundRecorder_IsAvailable(void) -{ - return sf::SoundRecorder::IsAvailable() ? sfTrue : sfFalse; -} diff --git a/bindings/c/src/SFML/Audio/SoundRecorderStruct.h b/bindings/c/src/SFML/Audio/SoundRecorderStruct.h deleted file mode 100644 index 7de0f1ca..00000000 --- a/bindings/c/src/SFML/Audio/SoundRecorderStruct.h +++ /dev/null @@ -1,102 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDRECORDERSTRUCT_H -#define SFML_SOUNDRECORDERSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -// Helper class implementing the callback forwarding from -// C++ to C in sfSoundRecorder -//////////////////////////////////////////////////////////// -class sfSoundRecorderImpl : public sf::SoundRecorder -{ -public : - - sfSoundRecorderImpl(sfSoundRecorderStartCallback OnStart, - sfSoundRecorderProcessCallback OnProcess, - sfSoundRecorderStopCallback OnStop, - void* UserData) : - myStartCallback (OnStart), - myProcessCallback(OnProcess), - myStopCallback (OnStop), - myUserData (UserData) - { - } - -private : - - virtual bool OnStart() - { - if (myStartCallback) - return myStartCallback(myUserData) == sfTrue; - else - return true; - } - - virtual bool OnProcessSamples(const sf::Int16* Samples, std::size_t SamplesCount) - { - if (myProcessCallback) - return myProcessCallback(Samples, SamplesCount, myUserData) == sfTrue; - else - return true; - } - - virtual void OnStop() - { - if (myStopCallback) - myStopCallback(myUserData); - } - - sfSoundRecorderStartCallback myStartCallback; - sfSoundRecorderProcessCallback myProcessCallback; - sfSoundRecorderStopCallback myStopCallback; - void* myUserData; -}; - - -//////////////////////////////////////////////////////////// -// Internal structure of sfPacket -//////////////////////////////////////////////////////////// -struct sfSoundRecorder -{ - sfSoundRecorder(sfSoundRecorderStartCallback OnStart, - sfSoundRecorderProcessCallback OnProcess, - sfSoundRecorderStopCallback OnStop, - void* UserData) : - This(OnStart, OnProcess, OnStop, UserData) - { - } - - sfSoundRecorderImpl This; -}; - - -#endif // SFML_SOUNDRECORDERSTRUCT_H diff --git a/bindings/c/src/SFML/Audio/SoundStream.cpp b/bindings/c/src/SFML/Audio/SoundStream.cpp deleted file mode 100644 index 6b152f9b..00000000 --- a/bindings/c/src/SFML/Audio/SoundStream.cpp +++ /dev/null @@ -1,265 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new sound stream -//////////////////////////////////////////////////////////// -sfSoundStream* sfSoundStream_Create(sfSoundStreamGetDataCallback onGetData, - sfSoundStreamSeekCallback onSeek, - unsigned int channelsCount, - unsigned int sampleRate, - void* userData) -{ - return new sfSoundStream(onGetData, onSeek, channelsCount, sampleRate, userData); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing sound stream -//////////////////////////////////////////////////////////// -void sfSoundStream_Destroy(sfSoundStream* soundStream) -{ - delete soundStream; -} - - -//////////////////////////////////////////////////////////// -/// Start playing a sound stream -//////////////////////////////////////////////////////////// -void sfSoundStream_Play(sfSoundStream* soundStream) -{ - CSFML_CALL(soundStream, Play()); -} - - -//////////////////////////////////////////////////////////// -/// Pause a sound stream -//////////////////////////////////////////////////////////// -void sfSoundStream_Pause(sfSoundStream* soundStream) -{ - CSFML_CALL(soundStream, Pause()); -} - - -//////////////////////////////////////////////////////////// -/// Stop playing a sound stream -//////////////////////////////////////////////////////////// -void sfSoundStream_Stop(sfSoundStream* soundStream) -{ - CSFML_CALL(soundStream, Stop()); -} - - -//////////////////////////////////////////////////////////// -/// Get the status of a sound stream (stopped, paused, playing) -//////////////////////////////////////////////////////////// -sfSoundStatus sfSoundStream_GetStatus(const sfSoundStream* soundStream) -{ - CSFML_CHECK_RETURN(soundStream, sfStopped); - - return static_cast(soundStream->This.GetStatus()); -} - - -//////////////////////////////////////////////////////////// -/// Return the number of channels of a sound stream -/// (1 = mono, 2 = stereo) -//////////////////////////////////////////////////////////// -unsigned int sfSoundStream_GetChannelsCount(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, GetChannelsCount(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the sample rate of a sound stream -//////////////////////////////////////////////////////////// -unsigned int sfSoundStream_GetSampleRate(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, GetSampleRate(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Set the pitch of a sound stream -//////////////////////////////////////////////////////////// -void sfSoundStream_SetPitch(sfSoundStream* soundStream, float pitch) -{ - CSFML_CALL(soundStream, SetPitch(pitch)); -} - - -//////////////////////////////////////////////////////////// -/// Set the volume of a sound stream -//////////////////////////////////////////////////////////// -void sfSoundStream_SetVolume(sfSoundStream* soundStream, float volume) -{ - CSFML_CALL(soundStream, SetVolume(volume)); -} - - -//////////////////////////////////////////////////////////// -/// Set the position of a sound stream -//////////////////////////////////////////////////////////// -void sfSoundStream_SetPosition(sfSoundStream* soundStream, float x, float y, float z) -{ - CSFML_CALL(soundStream, SetPosition(x, y, z)); -} - - -//////////////////////////////////////////////////////////// -/// Make the sound stream's position relative to the listener's -/// position, or absolute. -/// The default value is false (absolute) -//////////////////////////////////////////////////////////// -void sfSoundStream_SetRelativeToListener(sfSoundStream* soundStream, sfBool relative) -{ - CSFML_CALL(soundStream, SetRelativeToListener(relative == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Set the minimum distance - closer than this distance, -/// the listener will hear the sound stream at its maximum volume. -/// The default minimum distance is 1.0 -//////////////////////////////////////////////////////////// -void sfSoundStream_SetMinDistance(sfSoundStream* soundStream, float distance) -{ - CSFML_CALL(soundStream, SetMinDistance(distance)); -} - - -//////////////////////////////////////////////////////////// -/// Set the attenuation factor - the higher the attenuation, the -/// more the sound stream will be attenuated with distance from listener. -/// The default attenuation factor 1.0 -//////////////////////////////////////////////////////////// -void sfSoundStream_SetAttenuation(sfSoundStream* soundStream, float attenuation) -{ - CSFML_CALL(soundStream, SetAttenuation(attenuation)); -} - - -//////////////////////////////////////////////////////////// -/// Set the current playing position of a stream -//////////////////////////////////////////////////////////// -void sfSoundStream_SetPlayingOffset(sfSoundStream* soundStream, sfUint32 timeOffset) -{ - CSFML_CALL(soundStream, SetPlayingOffset(timeOffset)); -} - - -//////////////////////////////////////////////////////////// -/// Set a stream loop state -//////////////////////////////////////////////////////////// -void sfSoundStream_SetLoop(sfSoundStream* soundStream, sfBool loop) -{ - CSFML_CALL(soundStream, SetLoop(loop == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Get the pitch of a sound stream -//////////////////////////////////////////////////////////// -float sfSoundStream_GetPitch(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, GetPitch(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the volume of a sound stream -//////////////////////////////////////////////////////////// -float sfSoundStream_GetVolume(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, GetVolume(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the position of a sound stream -//////////////////////////////////////////////////////////// -void sfSoundStream_GetPosition(const sfSoundStream* soundStream, float* x, float* y, float* z) -{ - CSFML_CHECK(soundStream); - - sf::Vector3f position = soundStream->This.GetPosition(); - if (x) *x = position.x; - if (y) *y = position.y; - if (z) *z = position.z; -} - - -//////////////////////////////////////////////////////////// -/// Tell if the sound stream's position is relative to the listener's -/// position, or if it's absolute -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfSoundStream_IsRelativeToListener(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, IsRelativeToListener(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the minimum distance of a sound stream -//////////////////////////////////////////////////////////// -float sfSoundStream_GetMinDistance(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, GetMinDistance(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the attenuation factor of a sound stream -//////////////////////////////////////////////////////////// -float sfSoundStream_GetAttenuation(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, GetAttenuation(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Tell whether or not a stream is looping -//////////////////////////////////////////////////////////// -sfBool sfSoundStream_GetLoop(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, GetLoop(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the current playing position of a sound stream -//////////////////////////////////////////////////////////// -sfUint32 sfSoundStream_GetPlayingOffset(const sfSoundStream* soundStream) -{ - CSFML_CALL_RETURN(soundStream, GetPlayingOffset(), 0); -} diff --git a/bindings/c/src/SFML/Audio/SoundStreamStruct.h b/bindings/c/src/SFML/Audio/SoundStreamStruct.h deleted file mode 100644 index dba54774..00000000 --- a/bindings/c/src/SFML/Audio/SoundStreamStruct.h +++ /dev/null @@ -1,97 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDSTREAMSTRUCT_H -#define SFML_SOUNDSTREAMSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Helper class implementing the callback forwarding from -// C++ to C in sfSoundStream -//////////////////////////////////////////////////////////// -class sfSoundStreamImpl : public sf::SoundStream -{ -public : - - sfSoundStreamImpl(sfSoundStreamGetDataCallback OnGetData, - sfSoundStreamSeekCallback OnSeek, - unsigned int ChannelsCount, - unsigned int SampleRate, - void* UserData) : - myGetDataCallback(OnGetData), - mySeekCallback (OnSeek), - myUserData (UserData) - { - Initialize(ChannelsCount, SampleRate); - } - -private : - - virtual bool OnGetData(Chunk& Data) - { - sfSoundStreamChunk Chunk = {NULL, 0}; - bool Continue = (myGetDataCallback(&Chunk, myUserData) == sfTrue); - - Data.Samples = Chunk.Samples; - Data.NbSamples = Chunk.NbSamples; - - return Continue; - } - - virtual void OnSeek(sfUint32 TimeOffset) - { - if (mySeekCallback) - mySeekCallback(TimeOffset, myUserData); - } - - sfSoundStreamGetDataCallback myGetDataCallback; - sfSoundStreamSeekCallback mySeekCallback; - void* myUserData; -}; - - -//////////////////////////////////////////////////////////// -// Internal structure of sfSoundStream -//////////////////////////////////////////////////////////// -struct sfSoundStream -{ - sfSoundStream(sfSoundStreamGetDataCallback OnGetData, - sfSoundStreamSeekCallback OnSeek, - unsigned int ChannelsCount, - unsigned int SampleRate, - void* UserData) : - This(OnGetData, OnSeek, ChannelsCount, SampleRate, UserData) - { - } - - sfSoundStreamImpl This; -}; - - -#endif // SFML_SOUNDSTREAMSTRUCT_H diff --git a/bindings/c/src/SFML/Audio/SoundStruct.h b/bindings/c/src/SFML/Audio/SoundStruct.h deleted file mode 100644 index d0850680..00000000 --- a/bindings/c/src/SFML/Audio/SoundStruct.h +++ /dev/null @@ -1,45 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOUNDSTRUCT_H -#define SFML_SOUNDSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfSound -//////////////////////////////////////////////////////////// -struct sfSound -{ - sf::Sound This; - const sfSoundBuffer* Buffer; -}; - - -#endif // SFML_SOUNDSTRUCT_H diff --git a/bindings/c/src/SFML/CMakeLists.txt b/bindings/c/src/SFML/CMakeLists.txt deleted file mode 100644 index 7fcfc49f..00000000 --- a/bindings/c/src/SFML/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ - -# include the SFML specific macros -include(${CMAKE_SOURCE_DIR}/cmake/Macros.cmake) - -# add the CSFML sources path -include_directories(${CMAKE_SOURCE_DIR}/src) - -# define the path of our additional CMake modules -set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/") - -# set the output directory for CSFML libraries -set(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib") - -# define the export symbol -add_definitions(-DCSFML_EXPORTS) - -# find SFML libraries (C++) -if(WINDOWS) - set(SFML_STATIC_LIBRARIES TRUE) - add_definitions(-DSFML_STATIC) -endif() -find_package(SFML 2.0 COMPONENTS system window network graphics audio REQUIRED) -include_directories(${SFML_INCLUDE_DIR}) - -# add the modules subdirectories -add_subdirectory(System) -add_subdirectory(Window) -add_subdirectory(Network) -add_subdirectory(Graphics) -add_subdirectory(Audio) -if(WINDOWS) - add_subdirectory(Main) -endif() diff --git a/bindings/c/src/SFML/ConvertEvent.h b/bindings/c/src/SFML/ConvertEvent.h deleted file mode 100644 index a248b377..00000000 --- a/bindings/c/src/SFML/ConvertEvent.h +++ /dev/null @@ -1,107 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_CONVERTEVENT_H -#define SFML_CONVERTEVENT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -// Define a function to convert a sf::Event ot a sfEvent -//////////////////////////////////////////////////////////// -inline void ConvertEvent(const sf::Event& SFMLEvent, sfEvent* event) -{ - // Convert its type - event->Type = static_cast(SFMLEvent.Type); - - // Fill its fields - switch (event->Type) - { - case sfEvtResized : - event->Size.Width = SFMLEvent.Size.Width; - event->Size.Height = SFMLEvent.Size.Height; - break; - - case sfEvtTextEntered : - event->Text.Unicode = SFMLEvent.Text.Unicode; - break; - - case sfEvtKeyReleased : - case sfEvtKeyPressed : - event->Key.Code = static_cast(SFMLEvent.Key.Code); - event->Key.Alt = SFMLEvent.Key.Alt ? sfTrue : sfFalse; - event->Key.Control = SFMLEvent.Key.Control ? sfTrue : sfFalse; - event->Key.Shift = SFMLEvent.Key.Shift ? sfTrue : sfFalse; - event->Key.System = SFMLEvent.Key.System ? sfTrue : sfFalse; - break; - - case sfEvtMouseWheelMoved : - event->MouseWheel.Delta = SFMLEvent.MouseWheel.Delta; - event->MouseWheel.X = SFMLEvent.MouseWheel.X; - event->MouseWheel.Y = SFMLEvent.MouseWheel.Y; - break; - - case sfEvtMouseButtonPressed : - case sfEvtMouseButtonReleased : - event->MouseButton.Button = static_cast(SFMLEvent.MouseButton.Button); - event->MouseButton.X = SFMLEvent.MouseButton.X; - event->MouseButton.Y = SFMLEvent.MouseButton.Y; - break; - - case sfEvtMouseMoved : - event->MouseMove.X = SFMLEvent.MouseMove.X; - event->MouseMove.Y = SFMLEvent.MouseMove.Y; - break; - - case sfEvtJoystickButtonPressed : - case sfEvtJoystickButtonReleased : - event->JoystickButton.JoystickId = SFMLEvent.JoystickButton.JoystickId; - event->JoystickButton.Button = SFMLEvent.JoystickButton.Button; - break; - - case sfEvtJoystickMoved : - event->JoystickMove.JoystickId = SFMLEvent.JoystickMove.JoystickId; - event->JoystickMove.Axis = static_cast(SFMLEvent.JoystickMove.Axis); - event->JoystickMove.Position = SFMLEvent.JoystickMove.Position; - break; - - case sfEvtJoystickConnected : - event->JoystickConnect.JoystickId = SFMLEvent.JoystickConnect.JoystickId; - break; - - case sfEvtJoystickDisconnected : - event->JoystickConnect.JoystickId = SFMLEvent.JoystickConnect.JoystickId; - break; - - default : - break; - } -} - -#endif // SFML_CONVERTEVENT_H diff --git a/bindings/c/src/SFML/Graphics/CMakeLists.txt b/bindings/c/src/SFML/Graphics/CMakeLists.txt deleted file mode 100644 index bcb54ffd..00000000 --- a/bindings/c/src/SFML/Graphics/CMakeLists.txt +++ /dev/null @@ -1,46 +0,0 @@ - -set(INCROOT ${CMAKE_SOURCE_DIR}/include/SFML/Graphics) -set(SRCROOT ${CMAKE_SOURCE_DIR}/src/SFML/Graphics) - -# all source files -set(SRC - ${INCROOT}/BlendMode.h - ${SRCROOT}/Color.cpp - ${INCROOT}/Color.h - ${SRCROOT}/Font.cpp - ${SRCROOT}/FontStruct.h - ${INCROOT}/Font.h - ${INCROOT}/Glyph.h - ${SRCROOT}/Image.cpp - ${SRCROOT}/ImageStruct.h - ${INCROOT}/Image.h - ${SRCROOT}/Rect.cpp - ${INCROOT}/Rect.h - ${SRCROOT}/RenderImage.cpp - ${SRCROOT}/RenderImageStruct.h - ${INCROOT}/RenderImage.h - ${SRCROOT}/RenderWindow.cpp - ${SRCROOT}/RenderWindowStruct.h - ${INCROOT}/RenderWindow.h - ${SRCROOT}/Shader.cpp - ${SRCROOT}/ShaderStruct.h - ${INCROOT}/Shader.h - ${SRCROOT}/Shape.cpp - ${SRCROOT}/ShapeStruct.h - ${INCROOT}/Shape.h - ${SRCROOT}/Sprite.cpp - ${SRCROOT}/SpriteStruct.h - ${INCROOT}/Sprite.h - ${SRCROOT}/Text.cpp - ${SRCROOT}/TextStruct.h - ${INCROOT}/Text.h - ${INCROOT}/Types.h - ${SRCROOT}/View.cpp - ${SRCROOT}/ViewStruct.h - ${INCROOT}/View.h -) - -# define the csfml-graphics target -csfml_add_library(csfml-graphics - SOURCES ${SRC} - DEPENDS ${SFML_GRAPHICS_LIBRARY} ${SFML_WINDOW_LIBRARY} ${SFML_SYSTEM_LIBRARY}) diff --git a/bindings/c/src/SFML/Graphics/Color.cpp b/bindings/c/src/SFML/Graphics/Color.cpp deleted file mode 100644 index 11dc537c..00000000 --- a/bindings/c/src/SFML/Graphics/Color.cpp +++ /dev/null @@ -1,102 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Define some common colors -//////////////////////////////////////////////////////////// -sfColor sfBlack = sfColor_FromRGB( 0, 0, 0); -sfColor sfWhite = sfColor_FromRGB(255, 255, 255); -sfColor sfRed = sfColor_FromRGB(255, 0, 0); -sfColor sfGreen = sfColor_FromRGB( 0, 255, 0); -sfColor sfBlue = sfColor_FromRGB( 0, 0, 255); -sfColor sfYellow = sfColor_FromRGB(255, 255, 0); -sfColor sfMagenta = sfColor_FromRGB(255, 0, 255); -sfColor sfCyan = sfColor_FromRGB( 0, 255, 255); - - -//////////////////////////////////////////////////////////// -/// Construct a color from its 3 RGB components -//////////////////////////////////////////////////////////// -sfColor sfColor_FromRGB(sfUint8 red, sfUint8 green, sfUint8 blue) -{ - return sfColor_FromRGBA(red, green, blue, 255); -} - - -//////////////////////////////////////////////////////////// -/// Construct a color from its 4 RGBA components -//////////////////////////////////////////////////////////// -sfColor sfColor_FromRGBA(sfUint8 red, sfUint8 green, sfUint8 blue, sfUint8 alpha) -{ - sfColor color; - - color.r = red; - color.g = green; - color.b = blue; - color.a = alpha; - - return color; -} - - -//////////////////////////////////////////////////////////// -/// Add two colors -//////////////////////////////////////////////////////////// -sfColor sfColor_Add(sfColor color1, sfColor color2) -{ - int red = std::min(color1.r + color2.r, 255); - int green = std::min(color1.g + color2.g, 255); - int blue = std::min(color1.b + color2.b, 255); - int alpha = std::min(color1.a + color2.a, 255); - - return sfColor_FromRGBA(static_cast(red), - static_cast(green), - static_cast(blue), - static_cast(alpha)); -} - - -//////////////////////////////////////////////////////////// -/// Modulate two colors -//////////////////////////////////////////////////////////// -sfColor sfColor_Modulate(sfColor color1, sfColor color2) -{ - int red = color1.r * color2.r / 255; - int green = color1.g * color2.g / 255; - int blue = color1.b * color2.b / 255; - int alpha = color1.a * color2.a / 255; - - return sfColor_FromRGBA(static_cast(red), - static_cast(green), - static_cast(blue), - static_cast(alpha)); -} diff --git a/bindings/c/src/SFML/Graphics/Font.cpp b/bindings/c/src/SFML/Graphics/Font.cpp deleted file mode 100644 index e489fcab..00000000 --- a/bindings/c/src/SFML/Graphics/Font.cpp +++ /dev/null @@ -1,148 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new font from a file -//////////////////////////////////////////////////////////// -sfFont* sfFont_CreateFromFile(const char* filename) -{ - sfFont* font = new sfFont; - if (!font->This.LoadFromFile(filename)) - { - delete font; - font = NULL; - } - - return font; -} - - -//////////////////////////////////////////////////////////// -/// Create a new font from a file in memory -//////////////////////////////////////////////////////////// -sfFont* sfFont_CreateFromMemory(const void* data, size_t sizeInBytes) -{ - sfFont* font = new sfFont; - if (!font->This.LoadFromMemory(data, sizeInBytes)) - { - delete font; - font = NULL; - } - - return font; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing font -//////////////////////////////////////////////////////////// -sfFont* sfFont_Copy(sfFont* font) -{ - CSFML_CHECK_RETURN(font, NULL); - - return new sfFont(*font); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing font -//////////////////////////////////////////////////////////// -void sfFont_Destroy(sfFont* font) -{ - delete font; -} - - -//////////////////////////////////////////////////////////// -/// Get a glyph in a font -//////////////////////////////////////////////////////////// -sfGlyph sfFont_GetGlyph(sfFont* font, sfUint32 codePoint, unsigned int characterSize, sfBool bold) -{ - sfGlyph glyph = {0, {0, 0, 0, 0}, {0, 0, 0, 0}}; - CSFML_CHECK_RETURN(font, glyph); - - sf::Glyph SFMLGlyph = font->This.GetGlyph(codePoint, characterSize, bold == sfTrue); - - glyph.Advance = SFMLGlyph.Advance; - glyph.Bounds.Left = SFMLGlyph.Bounds.Left; - glyph.Bounds.Top = SFMLGlyph.Bounds.Top; - glyph.Bounds.Width = SFMLGlyph.Bounds.Width; - glyph.Bounds.Height = SFMLGlyph.Bounds.Height; - glyph.SubRect.Left = SFMLGlyph.SubRect.Left; - glyph.SubRect.Top = SFMLGlyph.SubRect.Top; - glyph.SubRect.Width = SFMLGlyph.SubRect.Width; - glyph.SubRect.Height = SFMLGlyph.SubRect.Height; - - return glyph; -} - - -//////////////////////////////////////////////////////////// -/// Get the kerning value corresponding to a given pair of characters in a font -//////////////////////////////////////////////////////////// -int sfFont_GetKerning(sfFont* font, sfUint32 first, sfUint32 second, unsigned int characterSize) -{ - CSFML_CALL_RETURN(font, GetKerning(first, second, characterSize), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the line spacing value -//////////////////////////////////////////////////////////// -int sfFont_GetLineSpacing(sfFont* font, unsigned int characterSize) -{ - CSFML_CALL_RETURN(font, GetLineSpacing(characterSize), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the image containing the glyphs of a given size in a font -//////////////////////////////////////////////////////////// -const sfImage* sfFont_GetImage(sfFont* font, unsigned int characterSize) -{ - CSFML_CHECK_RETURN(font, NULL); - - *font->Images[characterSize].This = font->This.GetImage(characterSize); - - return &font->Images[characterSize]; -} - - -//////////////////////////////////////////////////////////// -/// Get the built-in default font (Arial) -//////////////////////////////////////////////////////////// -const sfFont* sfFont_GetDefaultFont(void) -{ - static sfFont defaultFont = {sf::Font::GetDefaultFont(), std::map()}; - - return &defaultFont; -} diff --git a/bindings/c/src/SFML/Graphics/FontStruct.h b/bindings/c/src/SFML/Graphics/FontStruct.h deleted file mode 100644 index 019ea773..00000000 --- a/bindings/c/src/SFML/Graphics/FontStruct.h +++ /dev/null @@ -1,46 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_FONTSTRUCT_H -#define SFML_FONTSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfFont -//////////////////////////////////////////////////////////// -struct sfFont -{ - sf::Font This; - std::map Images; -}; - - -#endif // SFML_FONTSTRUCT_H diff --git a/bindings/c/src/SFML/Graphics/Image.cpp b/bindings/c/src/SFML/Graphics/Image.cpp deleted file mode 100644 index 9f088982..00000000 --- a/bindings/c/src/SFML/Graphics/Image.cpp +++ /dev/null @@ -1,254 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new image filled with a color -//////////////////////////////////////////////////////////// -sfImage* sfImage_CreateFromColor(unsigned int width, unsigned int height, sfColor color) -{ - sfImage* image = new sfImage; - - if (!image->This->Create(width, height, sf::Color(color.r, color.g, color.b, color.a))) - { - delete image; - image = NULL; - } - - return image; -} - - -//////////////////////////////////////////////////////////// -/// Create a new image from an array of pixels in memory -//////////////////////////////////////////////////////////// -sfImage* sfImage_CreateFromPixels(unsigned int width, unsigned int height, const sfUint8* data) -{ - sfImage* image = new sfImage; - - if (!image->This->LoadFromPixels(width, height, data)) - { - delete image; - image = NULL; - } - - return image; -} - - -//////////////////////////////////////////////////////////// -/// Create a new image from a file -//////////////////////////////////////////////////////////// -sfImage* sfImage_CreateFromFile(const char* filename) -{ - sfImage* image = new sfImage; - - if (!image->This->LoadFromFile(filename)) - { - delete image; - image = NULL; - } - - return image; -} - - -//////////////////////////////////////////////////////////// -/// Create a new image from a file in memory -//////////////////////////////////////////////////////////// -sfImage* sfImage_CreateFromMemory(const void* data, size_t sizeInBytes) -{ - sfImage* image = new sfImage; - - if (!image->This->LoadFromMemory(data, sizeInBytes)) - { - delete image; - image = NULL; - } - - return image; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing image -//////////////////////////////////////////////////////////// -sfImage* sfImage_Copy(sfImage* image) -{ - CSFML_CHECK_RETURN(image, NULL); - - return new sfImage(*image); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing image -//////////////////////////////////////////////////////////// -void sfImage_Destroy(sfImage* image) -{ - delete image; -} - - -//////////////////////////////////////////////////////////// -/// Save the content of an image to a file -//////////////////////////////////////////////////////////// -sfBool sfImage_SaveToFile(const sfImage* image, const char* filename) -{ - CSFML_CALL_PTR_RETURN(image, SaveToFile(filename), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Create a transparency mask for an image from a specified colorkey -//////////////////////////////////////////////////////////// -void sfImage_CreateMaskFromColor(sfImage* image, sfColor colorKey, sfUint8 alpha) -{ - sf::Color SFMLColor(colorKey.r, colorKey.g, colorKey.b, colorKey.a); - CSFML_CALL_PTR(image, CreateMaskFromColor(SFMLColor, alpha)); -} - - -//////////////////////////////////////////////////////////// -/// Copy pixels from another image onto this one. -/// This function does a slow pixel copy and should only -/// be used at initialization time -//////////////////////////////////////////////////////////// -void sfImage_CopyImage(sfImage* image, const sfImage* source, unsigned int destX, unsigned int destY, sfIntRect sourceRect) -{ - CSFML_CHECK(source); - sf::IntRect SFMLRect(sourceRect.Left, sourceRect.Top, sourceRect.Width, sourceRect.Height); - CSFML_CALL_PTR(image, Copy(*source->This, destX, destY, SFMLRect)); -} - - -//////////////////////////////////////////////////////////// -/// Create the image from the current contents of the -/// given window -//////////////////////////////////////////////////////////// -CSFML_API sfBool sfImage_CopyScreen(sfImage* image, sfRenderWindow* window, sfIntRect sourceRect) -{ - CSFML_CHECK_RETURN(window, sfFalse); - sf::IntRect SFMLRect(sourceRect.Left, sourceRect.Top, sourceRect.Width, sourceRect.Height); - CSFML_CALL_PTR_RETURN(image, CopyScreen(window->This, SFMLRect), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Change the color of a pixel of an image -/// Don't forget to call Update when you end modifying pixels -//////////////////////////////////////////////////////////// -void sfImage_SetPixel(sfImage* image, unsigned int x, unsigned int y, sfColor color) -{ - sf::Color SFMLColor(color.r, color.g, color.b, color.a); - CSFML_CALL_PTR(image, SetPixel(x, y, SFMLColor)); -} - - -//////////////////////////////////////////////////////////// -/// Get a pixel from an image -//////////////////////////////////////////////////////////// -sfColor sfImage_GetPixel(const sfImage* image, unsigned int x, unsigned int y) -{ - sfColor color = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(image, color); - - sf::Color SFMLColor = image->This->GetPixel(x, y); - - return sfColor_FromRGBA(SFMLColor.r, SFMLColor.g, SFMLColor.b, SFMLColor.a); -} - - -//////////////////////////////////////////////////////////// -/// Get a read-only pointer to the array of pixels of an image (8 bits integers RGBA) -/// Array size is sfImage_GetWidth() x sfImage_GetHeight() x 4 -/// This pointer becomes invalid if you reload or resize the image -//////////////////////////////////////////////////////////// -const sfUint8* sfImage_GetPixelsPtr(const sfImage* image) -{ - CSFML_CALL_PTR_RETURN(image, GetPixelsPtr(), NULL); -} - - -//////////////////////////////////////////////////////////// -/// Update a sub-rectangle of the image from an array of pixels -//////////////////////////////////////////////////////////// -void sfImage_UpdatePixels(const sfImage* image, const sfUint8* pixels, sfIntRect rectangle) -{ - sf::IntRect rect(rectangle.Left, rectangle.Top, rectangle.Width, rectangle.Height); - CSFML_CALL_PTR(image, UpdatePixels(pixels, rect)); -} - - -//////////////////////////////////////////////////////////// -/// Bind the image for rendering -//////////////////////////////////////////////////////////// -void sfImage_Bind(const sfImage* image) -{ - CSFML_CALL_PTR(image, Bind()); -} - - -//////////////////////////////////////////////////////////// -/// Enable or disable image smooth filter -//////////////////////////////////////////////////////////// -void sfImage_SetSmooth(sfImage* image, sfBool smooth) -{ - CSFML_CALL_PTR(image, SetSmooth(smooth == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Return the width of the image -//////////////////////////////////////////////////////////// -unsigned int sfImage_GetWidth(const sfImage* image) -{ - CSFML_CALL_PTR_RETURN(image, GetWidth(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Return the height of the image -//////////////////////////////////////////////////////////// -unsigned int sfImage_GetHeight(const sfImage* image) -{ - CSFML_CALL_PTR_RETURN(image, GetHeight(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Tells whether the smoothing filter is enabled or not on an image -//////////////////////////////////////////////////////////// -sfBool sfImage_IsSmooth(const sfImage* image) -{ - CSFML_CALL_PTR_RETURN(image, IsSmooth(), sfFalse); -} diff --git a/bindings/c/src/SFML/Graphics/ImageStruct.h b/bindings/c/src/SFML/Graphics/ImageStruct.h deleted file mode 100644 index d0032680..00000000 --- a/bindings/c/src/SFML/Graphics/ImageStruct.h +++ /dev/null @@ -1,68 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_IMAGESTRUCT_H -#define SFML_IMAGESTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfImage -//////////////////////////////////////////////////////////// -struct sfImage -{ - sfImage() - { - This = new sf::Image; - OwnInstance = true; - } - - sfImage(sf::Image* image) - { - This = image; - OwnInstance = false; - } - - sfImage(const sfImage& image) - { - This = image.This ? new sf::Image(*image.This) : NULL; - OwnInstance = true; - } - - ~sfImage() - { - if (OwnInstance) - delete This; - } - - sf::Image* This; - bool OwnInstance; -}; - - -#endif // SFML_IMAGESTRUCT_H diff --git a/bindings/c/src/SFML/Graphics/Rect.cpp b/bindings/c/src/SFML/Graphics/Rect.cpp deleted file mode 100644 index 4061315b..00000000 --- a/bindings/c/src/SFML/Graphics/Rect.cpp +++ /dev/null @@ -1,100 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Check if a point is inside a rectangle's area -//////////////////////////////////////////////////////////// -sfBool sfFloatRect_Contains(const sfFloatRect* rect, float x, float y) -{ - CSFML_CHECK_RETURN(rect, sfFalse) - return sf::FloatRect(rect->Left, rect->Top, rect->Width, rect->Height).Contains(x, y); -} -sfBool sfIntRect_Contains(const sfIntRect* rect, int x, int y) -{ - CSFML_CHECK_RETURN(rect, sfFalse) - return sf::IntRect(rect->Left, rect->Top, rect->Width, rect->Height).Contains(x, y); -} - - -//////////////////////////////////////////////////////////// -/// Check intersection between two rectangles -//////////////////////////////////////////////////////////// -sfBool sfFloatRect_Intersects(const sfFloatRect* rect1, const sfFloatRect* rect2, sfFloatRect* intersection) -{ - CSFML_CHECK_RETURN(rect1, sfFalse) - CSFML_CHECK_RETURN(rect2, sfFalse) - - sf::FloatRect SFMLRect1(rect1->Left, rect1->Top, rect1->Width, rect1->Height); - sf::FloatRect SFMLRect2(rect2->Left, rect2->Top, rect2->Width, rect2->Height); - - if (intersection) - { - sf::FloatRect overlap; - bool intersects = SFMLRect1.Intersects(SFMLRect2, overlap); - - intersection->Left = overlap.Left; - intersection->Top = overlap.Top; - intersection->Width = overlap.Width; - intersection->Height = overlap.Height; - - return intersects; - } - else - { - return SFMLRect1.Intersects(SFMLRect2); - } -} -sfBool sfIntRect_Intersects(const sfIntRect* rect1, const sfIntRect* rect2, sfIntRect* intersection) -{ - CSFML_CHECK_RETURN(rect1, sfFalse) - CSFML_CHECK_RETURN(rect2, sfFalse) - - sf::IntRect SFMLRect1(rect1->Left, rect1->Top, rect1->Width, rect1->Height); - sf::IntRect SFMLRect2(rect2->Left, rect2->Top, rect2->Width, rect2->Height); - - if (intersection) - { - sf::IntRect overlap; - bool intersects = SFMLRect1.Intersects(SFMLRect2, overlap); - - intersection->Left = overlap.Left; - intersection->Top = overlap.Top; - intersection->Width = overlap.Width; - intersection->Height = overlap.Height; - - return intersects; - } - else - { - return SFMLRect1.Intersects(SFMLRect2); - } -} diff --git a/bindings/c/src/SFML/Graphics/RenderImage.cpp b/bindings/c/src/SFML/Graphics/RenderImage.cpp deleted file mode 100644 index 92f46d08..00000000 --- a/bindings/c/src/SFML/Graphics/RenderImage.cpp +++ /dev/null @@ -1,248 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new renderimage -//////////////////////////////////////////////////////////// -sfRenderImage* sfRenderImage_Create(unsigned int width, unsigned int height, sfBool depthBuffer) -{ - sfRenderImage* renderImage = new sfRenderImage; - renderImage->This.Create(width, height, depthBuffer == sfTrue); - renderImage->Target = new sfImage(const_cast(&renderImage->This.GetImage())); - renderImage->DefaultView.This = renderImage->This.GetDefaultView(); - renderImage->CurrentView.This = renderImage->This.GetView(); - - return renderImage; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing renderimage -//////////////////////////////////////////////////////////// -void sfRenderImage_Destroy(sfRenderImage* renderImage) -{ - delete renderImage->Target; - delete renderImage; -} - - -//////////////////////////////////////////////////////////// -/// Get the width of the rendering region of a renderimage -//////////////////////////////////////////////////////////// -unsigned int sfRenderImage_GetWidth(const sfRenderImage* renderImage) -{ - CSFML_CALL_RETURN(renderImage, GetWidth(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the height of the rendering region of a renderimage -//////////////////////////////////////////////////////////// -unsigned int sfRenderImage_GetHeight(const sfRenderImage* renderImage) -{ - CSFML_CALL_RETURN(renderImage, GetHeight(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Set a renderimage as the current target for rendering -//////////////////////////////////////////////////////////// -sfBool sfRenderImage_SetActive(sfRenderImage* renderImage, sfBool active) -{ - CSFML_CALL_RETURN(renderImage, SetActive(active == sfTrue), sfFalse) -} - - -//////////////////////////////////////////////////////////// -/// Save the current OpenGL render states and matrices -//////////////////////////////////////////////////////////// -void sfRenderImage_SaveGLStates(sfRenderImage* renderImage) -{ - CSFML_CALL(renderImage, SaveGLStates()); -} - - -//////////////////////////////////////////////////////////// -/// Restore the previously saved OpenGL render states and matrices -//////////////////////////////////////////////////////////// -void sfRenderImage_RestoreGLStates(sfRenderImage* renderImage) -{ - CSFML_CALL(renderImage, RestoreGLStates()); -} - - -//////////////////////////////////////////////////////////// -/// Update the contents of the target image -//////////////////////////////////////////////////////////// -void sfRenderImage_Display(sfRenderImage* renderImage) -{ - CSFML_CALL(renderImage, Display()) -} - - -//////////////////////////////////////////////////////////// -/// Draw something on a renderimage -//////////////////////////////////////////////////////////// -void sfRenderImage_DrawSprite(sfRenderImage* renderImage, const sfSprite* sprite) -{ - CSFML_CHECK(sprite); - CSFML_CALL(renderImage, Draw(sprite->This)); -} -void sfRenderImage_DrawShape(sfRenderImage* renderImage, const sfShape* shape) -{ - CSFML_CHECK(shape); - CSFML_CALL(renderImage, Draw(shape->This)); -} -void sfRenderImage_DrawText(sfRenderImage* renderImage, const sfText* text) -{ - CSFML_CHECK(text); - CSFML_CALL(renderImage, Draw(text->This)); -} - - -//////////////////////////////////////////////////////////// -/// Draw something on a renderimage with a shader -//////////////////////////////////////////////////////////// -void sfRenderImage_DrawSpriteWithShader(sfRenderImage* renderImage, const sfSprite* sprite, const sfShader* shader) -{ - CSFML_CHECK(sprite); - CSFML_CHECK(shader); - CSFML_CALL(renderImage, Draw(sprite->This, shader->This)); -} -void sfRenderImage_DrawShapeWithShader(sfRenderImage* renderImage, const sfShape* shape, const sfShader* shader) -{ - CSFML_CHECK(shape); - CSFML_CHECK(shader); - CSFML_CALL(renderImage, Draw(shape->This, shader->This)); -} -void sfRenderImage_DrawTextWithShader(sfRenderImage* renderImage, const sfText* text, const sfShader* shader) -{ - CSFML_CHECK(text); - CSFML_CHECK(shader); - CSFML_CALL(renderImage, Draw(text->This, shader->This)); -} - - -//////////////////////////////////////////////////////////// -/// Clear the renderimage with the given color -//////////////////////////////////////////////////////////// -void sfRenderImage_Clear(sfRenderImage* renderImage, sfColor color) -{ - sf::Color SFMLColor(color.r, color.g, color.b, color.a); - - CSFML_CALL(renderImage, Clear(SFMLColor)); -} - - -//////////////////////////////////////////////////////////// -/// Change the current active view of a renderimage -//////////////////////////////////////////////////////////// -void sfRenderImage_SetView(sfRenderImage* renderImage, const sfView* view) -{ - CSFML_CHECK(view); - CSFML_CALL(renderImage, SetView(view->This)); - renderImage->CurrentView.This = view->This; -} - - -//////////////////////////////////////////////////////////// -/// Get the current active view of a renderimage -//////////////////////////////////////////////////////////// -const sfView* sfRenderImage_GetView(const sfRenderImage* renderImage) -{ - CSFML_CHECK_RETURN(renderImage, NULL); - - return &renderImage->CurrentView; -} - - -//////////////////////////////////////////////////////////// -/// Get the default view of a renderimage -//////////////////////////////////////////////////////////// -const sfView* sfRenderImage_GetDefaultView(const sfRenderImage* renderImage) -{ - CSFML_CHECK_RETURN(renderImage, NULL); - - return &renderImage->DefaultView; -} - - -//////////////////////////////////////////////////////////// -/// Get the viewport of a view applied to this target -//////////////////////////////////////////////////////////// -sfIntRect sfRenderImage_GetViewport(const sfRenderImage* renderImage, const sfView* view) -{ - sfIntRect rect = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(view, rect); - CSFML_CHECK_RETURN(renderImage, rect); - - sf::IntRect SFMLrect = renderImage->This.GetViewport(view->This); - rect.Left = SFMLrect.Left; - rect.Top = SFMLrect.Top; - rect.Width = SFMLrect.Width; - rect.Height = SFMLrect.Height; - - return rect; -} - - -//////////////////////////////////////////////////////////// -/// Convert a point in image coordinates into view coordinates -//////////////////////////////////////////////////////////// -void sfRenderImage_ConvertCoords(const sfRenderImage* renderImage, unsigned int imageX, unsigned int imageY, float* viewX, float* viewY, const sfView* targetView) -{ - CSFML_CHECK(renderImage); - - sf::Vector2f point; - if (targetView) - point = renderImage->This.ConvertCoords(imageX, imageY, targetView->This); - else - point = renderImage->This.ConvertCoords(imageX, imageY); - - if (viewX) *viewX = point.x; - if (viewY) *viewY = point.y; -} - - -//////////////////////////////////////////////////////////// -/// Get the target image -//////////////////////////////////////////////////////////// -const sfImage* sfRenderImage_GetImage(const sfRenderImage* renderImage) -{ - CSFML_CHECK_RETURN(renderImage, NULL); - - return renderImage->Target; -} diff --git a/bindings/c/src/SFML/Graphics/RenderImageStruct.h b/bindings/c/src/SFML/Graphics/RenderImageStruct.h deleted file mode 100644 index 452c5212..00000000 --- a/bindings/c/src/SFML/Graphics/RenderImageStruct.h +++ /dev/null @@ -1,48 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_RENDERIMAGESTRUCT_H -#define SFML_RENDERIMAGESTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfRenderWindow -//////////////////////////////////////////////////////////// -struct sfRenderImage -{ - sf::RenderImage This; - const sfImage* Target; - sfView DefaultView; - sfView CurrentView; -}; - - -#endif // SFML_RENDERIMAGESTRUCT_H diff --git a/bindings/c/src/SFML/Graphics/RenderWindow.cpp b/bindings/c/src/SFML/Graphics/RenderWindow.cpp deleted file mode 100644 index 6c266ee3..00000000 --- a/bindings/c/src/SFML/Graphics/RenderWindow.cpp +++ /dev/null @@ -1,481 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new renderwindow -//////////////////////////////////////////////////////////// -sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, unsigned long style, const sfContextSettings* settings) -{ - // Convert video mode - sf::VideoMode videoMode(mode.Width, mode.Height, mode.BitsPerPixel); - - // Convert context settings - sf::ContextSettings params; - if (settings) - { - params.DepthBits = settings->DepthBits; - params.StencilBits = settings->StencilBits; - params.AntialiasingLevel = settings->AntialiasingLevel; - params.MajorVersion = settings->MajorVersion; - params.MinorVersion = settings->MinorVersion; - } - - // Create the window - sfRenderWindow* renderWindow = new sfRenderWindow; - renderWindow->This.Create(videoMode, title, style, params); - renderWindow->DefaultView.This = renderWindow->This.GetDefaultView(); - renderWindow->CurrentView.This = renderWindow->This.GetView(); - - return renderWindow; -} - - -//////////////////////////////////////////////////////////// -/// Construct a renderwindow from an existing control -//////////////////////////////////////////////////////////// -sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, const sfContextSettings* settings) -{ - // Convert context settings - sf::ContextSettings params; - if (settings) - { - params.DepthBits = settings->DepthBits; - params.StencilBits = settings->StencilBits; - params.AntialiasingLevel = settings->AntialiasingLevel; - params.MajorVersion = settings->MajorVersion; - params.MinorVersion = settings->MinorVersion; - } - - // Create the window - sfRenderWindow* renderWindow = new sfRenderWindow; - renderWindow->This.Create(handle, params); - renderWindow->DefaultView.This = renderWindow->This.GetDefaultView(); - renderWindow->CurrentView.This = renderWindow->This.GetView(); - - return renderWindow; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing renderwindow -//////////////////////////////////////////////////////////// -void sfRenderWindow_Destroy(sfRenderWindow* renderWindow) -{ - delete renderWindow; -} - -//////////////////////////////////////////////////////////// -/// Close a renderwindow (but doesn't destroy the internal data) -//////////////////////////////////////////////////////////// -void sfRenderWindow_Close(sfRenderWindow* renderWindow) -{ - CSFML_CALL(renderWindow, Close()); -} - - -//////////////////////////////////////////////////////////// -/// Tell whether or not a renderwindow is opened -//////////////////////////////////////////////////////////// -sfBool sfRenderWindow_IsOpened(const sfRenderWindow* renderWindow) -{ - CSFML_CALL_RETURN(renderWindow, IsOpened(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the width of the rendering region of a window -//////////////////////////////////////////////////////////// -unsigned int sfRenderWindow_GetWidth(const sfRenderWindow* renderWindow) -{ - CSFML_CALL_RETURN(renderWindow, GetWidth(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the height of the rendering region of a window -//////////////////////////////////////////////////////////// -unsigned int sfRenderWindow_GetHeight(const sfRenderWindow* renderWindow) -{ - CSFML_CALL_RETURN(renderWindow, GetHeight(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the creation settings of a window -//////////////////////////////////////////////////////////// -sfContextSettings sfRenderWindow_GetSettings(const sfRenderWindow* renderWindow) -{ - sfContextSettings settings = {0, 0, 0, 2, 0}; - CSFML_CHECK_RETURN(renderWindow, settings); - - const sf::ContextSettings& params = renderWindow->This.GetSettings(); - settings.DepthBits = params.DepthBits; - settings.StencilBits = params.StencilBits; - settings.AntialiasingLevel = params.AntialiasingLevel; - - return settings; -} - - - -//////////////////////////////////////////////////////////// -/// Get the event on top of events stack of a window, if any, and pop it -//////////////////////////////////////////////////////////// -sfBool sfRenderWindow_PollEvent(sfRenderWindow* renderWindow, sfEvent* event) -{ - CSFML_CHECK_RETURN(renderWindow, sfFalse); - CSFML_CHECK_RETURN(event, sfFalse); - - // Get the event - sf::Event SFMLEvent; - sfBool ret = renderWindow->This.PollEvent(SFMLEvent); - - // No event, return - if (!ret) - return sfFalse; - - // Convert the sf::Event event to a sfEvent - ConvertEvent(SFMLEvent, event); - - return sfTrue; -} - - -//////////////////////////////////////////////////////////// -/// Wait for an event and return it -//////////////////////////////////////////////////////////// -sfBool sfRenderWindow_WaitEvent(sfRenderWindow* renderWindow, sfEvent* event) -{ - CSFML_CHECK_RETURN(renderWindow, sfFalse); - CSFML_CHECK_RETURN(event, sfFalse); - - // Get the event - sf::Event SFMLEvent; - sfBool ret = renderWindow->This.WaitEvent(SFMLEvent); - - // Error, return - if (!ret) - return sfFalse; - - // Convert the sf::Event event to a sfEvent - ConvertEvent(SFMLEvent, event); - - return sfTrue; -} - - -//////////////////////////////////////////////////////////// -/// Enable / disable vertical synchronization on a window -//////////////////////////////////////////////////////////// -void sfRenderWindow_EnableVerticalSync(sfRenderWindow* renderWindow, sfBool enabled) -{ - CSFML_CALL(renderWindow, EnableVerticalSync(enabled == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Show or hide the mouse cursor on a window -//////////////////////////////////////////////////////////// -void sfRenderWindow_ShowMouseCursor(sfRenderWindow* renderWindow, sfBool show) -{ - CSFML_CALL(renderWindow, ShowMouseCursor(show == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Change the position of the mouse cursor on a window -//////////////////////////////////////////////////////////// -void sfRenderWindow_SetCursorPosition(sfRenderWindow* renderWindow, unsigned int left, unsigned int top) -{ - CSFML_CALL(renderWindow, SetCursorPosition(left, top)); -} - - -//////////////////////////////////////////////////////////// -/// Change the position of a window on screen. -/// Only works for top-level windows -//////////////////////////////////////////////////////////// -void sfRenderWindow_SetPosition(sfRenderWindow* renderWindow, int left, int top) -{ - CSFML_CALL(renderWindow, SetPosition(left, top)); -} - - -//////////////////////////////////////////////////////////// -/// Change the size of the rendering region of a window -//////////////////////////////////////////////////////////// -void sfRenderWindow_SetSize(sfRenderWindow* renderWindow, unsigned int width, unsigned int height) -{ - CSFML_CALL(renderWindow, SetSize(width, height)) -} - - -//////////////////////////////////////////////////////////// -/// Change the title of a window -//////////////////////////////////////////////////////////// -void sfRenderWindow_SetTitle(sfRenderWindow* renderWindow, const char* title) -{ - CSFML_CALL(renderWindow, SetTitle(title)) -} - - -//////////////////////////////////////////////////////////// -/// Show or hide a window -//////////////////////////////////////////////////////////// -void sfRenderWindow_Show(sfRenderWindow* renderWindow, sfBool show) -{ - CSFML_CALL(renderWindow, Show(show == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Enable or disable automatic key-repeat for keydown events. -/// Automatic key-repeat is enabled by default -//////////////////////////////////////////////////////////// -void sfRenderWindow_EnableKeyRepeat(sfRenderWindow* renderWindow, sfBool enabled) -{ - CSFML_CALL(renderWindow, EnableKeyRepeat(enabled == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Change the window's icon -//////////////////////////////////////////////////////////// -void sfRenderWindow_SetIcon(sfRenderWindow* renderWindow, unsigned int width, unsigned int height, const sfUint8* pixels) -{ - CSFML_CALL(renderWindow, SetIcon(width, height, pixels)) -} - - -//////////////////////////////////////////////////////////// -/// Set a window as the current target for rendering -//////////////////////////////////////////////////////////// -sfBool sfRenderWindow_SetActive(sfRenderWindow* renderWindow, sfBool active) -{ - CSFML_CALL_RETURN(renderWindow, SetActive(active == sfTrue), sfFalse) -} - - -//////////////////////////////////////////////////////////// -/// Save the current OpenGL render states and matrices -//////////////////////////////////////////////////////////// -void sfRenderWindow_SaveGLStates(sfRenderWindow* renderWindow) -{ - CSFML_CALL(renderWindow, SaveGLStates()); -} - - -//////////////////////////////////////////////////////////// -/// Restore the previously saved OpenGL render states and matrices -//////////////////////////////////////////////////////////// -void sfRenderWindow_RestoreGLStates(sfRenderWindow* renderWindow) -{ - CSFML_CALL(renderWindow, RestoreGLStates()); -} - - -//////////////////////////////////////////////////////////// -/// Display a window on screen -//////////////////////////////////////////////////////////// -void sfRenderWindow_Display(sfRenderWindow* renderWindow) -{ - CSFML_CALL(renderWindow, Display()); -} - - -//////////////////////////////////////////////////////////// -/// Limit the framerate to a maximum fixed frequency for a window -//////////////////////////////////////////////////////////// -void sfRenderWindow_SetFramerateLimit(sfRenderWindow* renderWindow, unsigned int limit) -{ - CSFML_CALL(renderWindow, SetFramerateLimit(limit)); -} - - -//////////////////////////////////////////////////////////// -/// Get time elapsed since last frame of a window -//////////////////////////////////////////////////////////// -sfUint32 sfRenderWindow_GetFrameTime(const sfRenderWindow* renderWindow) -{ - CSFML_CALL_RETURN(renderWindow, GetFrameTime(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Change the joystick threshold, ie. the value below which -/// no move event will be generated -//////////////////////////////////////////////////////////// -void sfRenderWindow_SetJoystickThreshold(sfRenderWindow* renderWindow, float threshold) -{ - CSFML_CALL(renderWindow, SetJoystickThreshold(threshold)); -} - - -//////////////////////////////////////////////////////////// -/// Retrieve the Os-specific handle of a window -//////////////////////////////////////////////////////////// -sfWindowHandle sfRenderWindow_GetSystemHandle(const sfRenderWindow* renderWindow) -{ - CSFML_CHECK_RETURN(renderWindow, NULL); - - return (sfWindowHandle)renderWindow->This.GetSystemHandle(); -} - - -//////////////////////////////////////////////////////////// -/// Draw something on a renderwindow -//////////////////////////////////////////////////////////// -void sfRenderWindow_DrawSprite(sfRenderWindow* renderWindow, const sfSprite* sprite) -{ - CSFML_CHECK(sprite); - CSFML_CALL(renderWindow, Draw(sprite->This)); -} -void sfRenderWindow_DrawShape(sfRenderWindow* renderWindow, const sfShape* shape) -{ - CSFML_CHECK(shape); - CSFML_CALL(renderWindow, Draw(shape->This)); -} -void sfRenderWindow_DrawText(sfRenderWindow* renderWindow, const sfText* text) -{ - CSFML_CHECK(text); - CSFML_CALL(renderWindow, Draw(text->This)); -} - - -//////////////////////////////////////////////////////////// -/// Draw something on a renderwindow with a shader -//////////////////////////////////////////////////////////// -void sfRenderWindow_DrawSpriteWithShader(sfRenderWindow* renderWindow, const sfSprite* sprite, const sfShader* shader) -{ - CSFML_CHECK(sprite); - CSFML_CHECK(shader); - CSFML_CALL(renderWindow, Draw(sprite->This, shader->This)); -} -void sfRenderWindow_DrawShapeWithShader(sfRenderWindow* renderWindow, const sfShape* shape, const sfShader* shader) -{ - CSFML_CHECK(shape); - CSFML_CHECK(shader); - CSFML_CALL(renderWindow, Draw(shape->This, shader->This)); -} -void sfRenderWindow_DrawTextWithShader(sfRenderWindow* renderWindow, const sfText* text, const sfShader* shader) -{ - CSFML_CHECK(text); - CSFML_CHECK(shader); - CSFML_CALL(renderWindow, Draw(text->This, shader->This)); -} - - -//////////////////////////////////////////////////////////// -/// Clear the screen with the given color -//////////////////////////////////////////////////////////// -void sfRenderWindow_Clear(sfRenderWindow* renderWindow, sfColor color) -{ - sf::Color SFMLColor(color.r, color.g, color.b, color.a); - - CSFML_CALL(renderWindow, Clear(SFMLColor)); -} - - -//////////////////////////////////////////////////////////// -/// Change the current active view of a renderwindow -//////////////////////////////////////////////////////////// -void sfRenderWindow_SetView(sfRenderWindow* renderWindow, const sfView* view) -{ - CSFML_CHECK(view); - CSFML_CALL(renderWindow, SetView(view->This)); - renderWindow->CurrentView.This = view->This; -} - - -//////////////////////////////////////////////////////////// -/// Get the current active view of a renderwindow -//////////////////////////////////////////////////////////// -const sfView* sfRenderWindow_GetView(const sfRenderWindow* renderWindow) -{ - CSFML_CHECK_RETURN(renderWindow, NULL); - - return &renderWindow->CurrentView; -} - - -//////////////////////////////////////////////////////////// -/// Get the default view of a renderwindow -//////////////////////////////////////////////////////////// -const sfView* sfRenderWindow_GetDefaultView(const sfRenderWindow* renderWindow) -{ - CSFML_CHECK_RETURN(renderWindow, NULL); - - return &renderWindow->DefaultView; -} - - -//////////////////////////////////////////////////////////// -/// Get the viewport of a view applied to this target -//////////////////////////////////////////////////////////// -sfIntRect sfRenderWindow_GetViewport(const sfRenderWindow* renderWindow, const sfView* view) -{ - sfIntRect rect = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(view, rect); - CSFML_CHECK_RETURN(renderWindow, rect); - - sf::IntRect SFMLrect = renderWindow->This.GetViewport(view->This); - rect.Left = SFMLrect.Left; - rect.Top = SFMLrect.Top; - rect.Width = SFMLrect.Width; - rect.Height = SFMLrect.Height; - - return rect; -} - - -//////////////////////////////////////////////////////////// -/// Convert a point in window coordinates into view coordinates -//////////////////////////////////////////////////////////// -void sfRenderWindow_ConvertCoords(const sfRenderWindow* renderWindow, unsigned int windowX, unsigned int windowY, float* viewX, float* viewY, const sfView* targetView) -{ - CSFML_CHECK(renderWindow); - - sf::Vector2f point; - if (targetView) - point = renderWindow->This.ConvertCoords(windowX, windowY, targetView->This); - else - point = renderWindow->This.ConvertCoords(windowX, windowY); - - if (viewX) *viewX = point.x; - if (viewY) *viewY = point.y; -} diff --git a/bindings/c/src/SFML/Graphics/RenderWindowStruct.h b/bindings/c/src/SFML/Graphics/RenderWindowStruct.h deleted file mode 100644 index 2498b234..00000000 --- a/bindings/c/src/SFML/Graphics/RenderWindowStruct.h +++ /dev/null @@ -1,46 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_RENDERWINDOWSTRUCT_H -#define SFML_RENDERWINDOWSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfRenderWindow -//////////////////////////////////////////////////////////// -struct sfRenderWindow -{ - sf::RenderWindow This; - sfView DefaultView; - sfView CurrentView; -}; - - -#endif // SFML_RENDERWINDOWSTRUCT_H diff --git a/bindings/c/src/SFML/Graphics/Shader.cpp b/bindings/c/src/SFML/Graphics/Shader.cpp deleted file mode 100644 index acc93e94..00000000 --- a/bindings/c/src/SFML/Graphics/Shader.cpp +++ /dev/null @@ -1,167 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new shader from a file -//////////////////////////////////////////////////////////// -sfShader* sfShader_CreateFromFile(const char* filename) -{ - sfShader* shader = new sfShader; - - if (!shader->This.LoadFromFile(filename)) - { - delete shader; - shader = NULL; - } - - return shader; -} - - -//////////////////////////////////////////////////////////// -/// Create a new shader from an effect source code -//////////////////////////////////////////////////////////// -sfShader* sfShader_CreateFromMemory(const char* effect) -{ - sfShader* shader = new sfShader; - - if (!shader->This.LoadFromMemory(effect)) - { - delete shader; - shader = NULL; - } - - return shader; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing clock -//////////////////////////////////////////////////////////// -sfShader* sfShader_Copy(sfShader* shader) -{ - CSFML_CHECK_RETURN(shader, NULL); - - return new sfShader(*shader); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing shader -//////////////////////////////////////////////////////////// -void sfShader_Destroy(sfShader* shader) -{ - delete shader; -} - - -//////////////////////////////////////////////////////////// -/// Change a parameter of a shader (1 float) -//////////////////////////////////////////////////////////// -void sfShader_SetParameter1(sfShader* shader, const char* name, float x) -{ - CSFML_CALL(shader, SetParameter(name, x)) -} - - -//////////////////////////////////////////////////////////// -/// Change a parameter of a shader (2 floats) -//////////////////////////////////////////////////////////// -void sfShader_SetParameter2(sfShader* shader, const char* name, float x, float y) -{ - CSFML_CALL(shader, SetParameter(name, x, y)) -} - - -//////////////////////////////////////////////////////////// -/// Change a parameter of a shader (3 floats) -//////////////////////////////////////////////////////////// -void sfShader_SetParameter3(sfShader* shader, const char* name, float x, float y, float z) -{ - CSFML_CALL(shader, SetParameter(name, x, y, z)) -} - - -//////////////////////////////////////////////////////////// -/// Change a parameter of a shader (4 floats) -//////////////////////////////////////////////////////////// -void sfShader_SetParameter4(sfShader* shader, const char* name, float x, float y, float z, float w) -{ - CSFML_CALL(shader, SetParameter(name, x, y, z, w)) -} - - -//////////////////////////////////////////////////////////// -/// Set a texture parameter in a shader -//////////////////////////////////////////////////////////// -void sfShader_SetTexture(sfShader* shader, const char* name, const sfImage* texture) -{ - CSFML_CHECK(texture); - CSFML_CALL(shader, SetTexture(name, *texture->This)) -} - - -//////////////////////////////////////////////////////////// -/// Set the current texture parameter in a shader -//////////////////////////////////////////////////////////// -void sfShader_SetCurrentTexture(sfShader* shader, const char* name) -{ - CSFML_CALL(shader, SetCurrentTexture(name)) -} - - -//////////////////////////////////////////////////////////// -/// Bind a shader for rendering -//////////////////////////////////////////////////////////// -void sfShader_Bind(const sfShader* shader) -{ - CSFML_CALL(shader, Bind()) -} - - -//////////////////////////////////////////////////////////// -/// Unbind a shader -//////////////////////////////////////////////////////////// -void sfShader_Unbind(const sfShader* shader) -{ - CSFML_CALL(shader, Unbind()) -} - - -//////////////////////////////////////////////////////////// -/// Tell whether or not the system supports shaders -//////////////////////////////////////////////////////////// -sfBool sfShader_IsAvailable(void) -{ - return sf::Shader::IsAvailable() ? sfTrue : sfFalse; -} diff --git a/bindings/c/src/SFML/Graphics/ShaderStruct.h b/bindings/c/src/SFML/Graphics/ShaderStruct.h deleted file mode 100644 index 127f2965..00000000 --- a/bindings/c/src/SFML/Graphics/ShaderStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SHADERSTRUCT_H -#define SFML_SHADERSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfShader -//////////////////////////////////////////////////////////// -struct sfShader -{ - sf::Shader This; -}; - - -#endif // SFML_SHADERSTRUCT_H diff --git a/bindings/c/src/SFML/Graphics/Shape.cpp b/bindings/c/src/SFML/Graphics/Shape.cpp deleted file mode 100644 index 5105cf72..00000000 --- a/bindings/c/src/SFML/Graphics/Shape.cpp +++ /dev/null @@ -1,469 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new shape -//////////////////////////////////////////////////////////// -sfShape* sfShape_Create(void) -{ - return new sfShape; -} - - -//////////////////////////////////////////////////////////// -/// Create a new shape made of a single line -//////////////////////////////////////////////////////////// -sfShape* sfShape_CreateLine(float p1x, float p1y, float p2x, float p2y, float thickness, sfColor color, float outline, sfColor outlineColor) -{ - sf::Color SFMLColor(color.r, color.g, color.b, color.a); - sf::Color SFMLOutlineColor(outlineColor.r, outlineColor.g, outlineColor.b, outlineColor.a); - - sfShape* shape = new sfShape; - shape->This = sf::Shape::Line(p1x, p1y, p2x, p2y, thickness, SFMLColor, outline, SFMLOutlineColor); - return shape; -} - - -//////////////////////////////////////////////////////////// -/// Create a new shape made of a single rectangle -//////////////////////////////////////////////////////////// -sfShape* sfShape_CreateRectangle(float left, float top, float width, float height, sfColor color, float outline, sfColor outlineColor) -{ - sf::Color SFMLColor(color.r, color.g, color.b, color.a); - sf::Color SFMLOutlineColor(outlineColor.r, outlineColor.g, outlineColor.b, outlineColor.a); - - sfShape* shape = new sfShape; - shape->This = sf::Shape::Rectangle(left, top, width, height, SFMLColor, outline, SFMLOutlineColor); - return shape; -} - - -//////////////////////////////////////////////////////////// -/// Create a new shape made of a single circle -//////////////////////////////////////////////////////////// -sfShape* sfShape_CreateCircle(float x, float y, float radius, sfColor color, float outline, sfColor outlineColor) -{ - sf::Color SFMLColor(color.r, color.g, color.b, color.a); - sf::Color SFMLOutlineColor(outlineColor.r, outlineColor.g, outlineColor.b, outlineColor.a); - - sfShape* shape = new sfShape; - shape->This = sf::Shape::Circle(x, y, radius, SFMLColor, outline, SFMLOutlineColor); - return shape; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing shape -//////////////////////////////////////////////////////////// -sfShape* sfShape_Copy(sfShape* shape) -{ - CSFML_CHECK_RETURN(shape, NULL); - - return new sfShape(*shape); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing shape -//////////////////////////////////////////////////////////// -void sfShape_Destroy(sfShape* shape) -{ - delete shape; -} - - -//////////////////////////////////////////////////////////// -/// Set the X position of a shape -//////////////////////////////////////////////////////////// -void sfShape_SetX(sfShape* shape, float x) -{ - CSFML_CALL(shape, SetX(x)) -} - - -//////////////////////////////////////////////////////////// -/// Set the Y position of a shape -//////////////////////////////////////////////////////////// -void sfShape_SetY(sfShape* shape, float y) -{ - CSFML_CALL(shape, SetY(y)) -} - - -//////////////////////////////////////////////////////////// -/// Set the position of a shape -//////////////////////////////////////////////////////////// -void sfShape_SetPosition(sfShape* shape, float x, float y) -{ - CSFML_CALL(shape, SetPosition(sf::Vector2f(x, y))) -} - - -//////////////////////////////////////////////////////////// -/// Set the horizontal scale of a shape -//////////////////////////////////////////////////////////// -void sfShape_SetScaleX(sfShape* shape, float scale) -{ - CSFML_CALL(shape, SetScaleX(scale)) -} - - -//////////////////////////////////////////////////////////// -/// Set the vertical scale of a shape -//////////////////////////////////////////////////////////// -void sfShape_SetScaleY(sfShape* shape, float scale) -{ - CSFML_CALL(shape, SetScaleY(scale)) -} - - -//////////////////////////////////////////////////////////// -/// Set the scale of a shape -//////////////////////////////////////////////////////////// -void sfShape_SetScale(sfShape* shape, float scaleX, float scaleY) -{ - CSFML_CALL(shape, SetScale(sf::Vector2f(scaleX, scaleY))) -} - - -//////////////////////////////////////////////////////////// -/// Set the orientation of a shape -//////////////////////////////////////////////////////////// -void sfShape_SetRotation(sfShape* shape, float rotation) -{ - CSFML_CALL(shape, SetRotation(rotation)) -} - - -//////////////////////////////////////////////////////////// -/// Set the local origin of a shape, in coordinates -/// relative to its left-top corner -//////////////////////////////////////////////////////////// -void sfShape_SetOrigin(sfShape* shape, float x, float y) -{ - CSFML_CALL(shape, SetOrigin(sf::Vector2f(x, y))) -} - - -//////////////////////////////////////////////////////////// -/// Set the color of a shape -//////////////////////////////////////////////////////////// -void sfShape_SetColor(sfShape* shape, sfColor color) -{ - CSFML_CALL(shape, SetColor(sf::Color(color.r, color.g, color.b, color.a))) -} - - -//////////////////////////////////////////////////////////// -/// Set the blending mode for a shape -//////////////////////////////////////////////////////////// -void sfShape_SetBlendMode(sfShape* shape, sfBlendMode mode) -{ - CSFML_CALL(shape, SetBlendMode(static_cast(mode))) -} - - -//////////////////////////////////////////////////////////// -/// Get the X position of a shape -//////////////////////////////////////////////////////////// -float sfShape_GetX(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetPosition().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the Y position of a shape -//////////////////////////////////////////////////////////// -float sfShape_GetY(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetPosition().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the horizontal scale of a shape -//////////////////////////////////////////////////////////// -float sfShape_GetScaleX(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetScale().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the vertical scale of a shape -//////////////////////////////////////////////////////////// -float sfShape_GetScaleY(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetScale().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the orientation of a shape -//////////////////////////////////////////////////////////// -float sfShape_GetRotation(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetRotation(), 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the X position of the origin a shape -//////////////////////////////////////////////////////////// -float sfShape_GetOriginX(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetOrigin().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the Y position of the origin a shape -//////////////////////////////////////////////////////////// -float sfShape_GetOriginY(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetOrigin().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the color of a shape -//////////////////////////////////////////////////////////// -sfColor sfShape_GetColor(const sfShape* shape) -{ - sfColor color = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(shape, color) - - sf::Color SFMLColor = shape->This.GetColor(); - return sfColor_FromRGBA(SFMLColor.r, SFMLColor.g, SFMLColor.b, SFMLColor.a); -} - - -//////////////////////////////////////////////////////////// -/// Get the current blending mode of a shape -//////////////////////////////////////////////////////////// -sfBlendMode sfShape_GetBlendMode(const sfShape* shape) -{ - CSFML_CHECK_RETURN(shape, sfBlendNone) - - return static_cast(shape->This.GetBlendMode()); -} - - -//////////////////////////////////////////////////////////// -/// Move a shape -//////////////////////////////////////////////////////////// -void sfShape_Move(sfShape* shape, float offsetX, float offsetY) -{ - CSFML_CALL(shape, Move(sf::Vector2f(offsetX, offsetY))) -} - - -//////////////////////////////////////////////////////////// -/// Scale a shape -//////////////////////////////////////////////////////////// -void sfShape_Scale(sfShape* shape, float factorX, float factorY) -{ - CSFML_CALL(shape, Scale(sf::Vector2f(factorX, factorY))) -} - - -//////////////////////////////////////////////////////////// -/// Rotate a shape -//////////////////////////////////////////////////////////// -void sfShape_Rotate(sfShape* shape, float angle) -{ - CSFML_CALL(shape, Rotate(angle)) -} - - -//////////////////////////////////////////////////////////// -/// Transform a point from global coordinates into the shape's local coordinates -/// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) -//////////////////////////////////////////////////////////// -void sfShape_TransformToLocal(const sfShape* shape, float pointX, float pointY, float* x, float* y) -{ - CSFML_CHECK(shape) - - sf::Vector2f point = shape->This.TransformToLocal(sf::Vector2f(pointX, pointY)); - if (x) *x = point.x; - if (y) *y = point.y; -} - - -//////////////////////////////////////////////////////////// -/// Transform a point from the shape's local coordinates into global coordinates -/// (ie it applies the object's origin, translation, rotation and scale to the point) -//////////////////////////////////////////////////////////// -void sfShape_TransformToGlobal(const sfShape* shape, float pointX, float pointY, float* x, float* y) -{ - CSFML_CHECK(shape) - - sf::Vector2f point = shape->This.TransformToGlobal(sf::Vector2f(pointX, pointY)); - if (x) *x = point.x; - if (y) *y = point.y; -} - - -//////////////////////////////////////////////////////////// -/// Add a point to a shape -//////////////////////////////////////////////////////////// -void sfShape_AddPoint(sfShape* shape, float x, float y, sfColor color, sfColor outlineColor) -{ - sf::Color SFMLColor(color.r, color.g, color.b, color.a); - sf::Color SFMLOutlineColor(outlineColor.r, outlineColor.g, outlineColor.b, outlineColor.a); - - CSFML_CALL(shape, AddPoint(x, y, SFMLColor, SFMLOutlineColor)) -} - - -//////////////////////////////////////////////////////////// -/// Enable or disable filling a shape. -/// Fill is enabled by default -//////////////////////////////////////////////////////////// -void sfShape_EnableFill(sfShape* shape, sfBool enable) -{ - CSFML_CALL(shape, EnableFill(enable == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Enable or disable drawing a shape outline. -/// Outline is enabled by default -//////////////////////////////////////////////////////////// -void sfShape_EnableOutline(sfShape* shape, sfBool enable) -{ - CSFML_CALL(shape, EnableOutline(enable == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Change the thickness of a shape outline -//////////////////////////////////////////////////////////// -void sfShape_SetOutlineThickness(sfShape* shape, float thickness) -{ - CSFML_CALL(shape, SetOutlineThickness(thickness)) -} - - -//////////////////////////////////////////////////////////// -/// Get the thickness of a shape outline -//////////////////////////////////////////////////////////// -float sfShape_GetOutlineThickness(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetOutlineThickness(), 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the number of points composing a shape -//////////////////////////////////////////////////////////// -unsigned int sfShape_GetPointsCount(const sfShape* shape) -{ - CSFML_CALL_RETURN(shape, GetPointsCount(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Get a point of a shape -//////////////////////////////////////////////////////////// -void sfShape_GetPointPosition(const sfShape* shape, unsigned int index, float* x, float* y) -{ - CSFML_CHECK(shape) - - sf::Vector2f point = shape->This.GetPointPosition(index); - if (x) *x = point.x; - if (y) *y = point.y; -} - - -//////////////////////////////////////////////////////////// -/// Get a the color of a shape's point -//////////////////////////////////////////////////////////// -sfColor sfShape_GetPointColor(const sfShape* shape, unsigned int index) -{ - sfColor color = {255, 255, 255, 255}; - CSFML_CHECK_RETURN(shape, color) - - const sf::Color& SFMLColor = shape->This.GetPointColor(index); - color.r = SFMLColor.r; - color.g = SFMLColor.g; - color.b = SFMLColor.b; - color.a = SFMLColor.a; - - return color; -} - - -//////////////////////////////////////////////////////////// -/// Get a the outline color of a shape's point -//////////////////////////////////////////////////////////// -sfColor sfShape_GetPointOutlineColor(const sfShape* shape, unsigned int index) -{ - sfColor color = {255, 255, 255, 255}; - CSFML_CHECK_RETURN(shape, color) - - const sf::Color& SFMLColor = shape->This.GetPointOutlineColor(index); - color.r = SFMLColor.r; - color.g = SFMLColor.g; - color.b = SFMLColor.b; - color.a = SFMLColor.a; - - return color; -} - -//////////////////////////////////////////////////////////// -/// Set a the position of a shape's point -//////////////////////////////////////////////////////////// -void sfShape_SetPointPosition(sfShape* shape, unsigned int index, float x, float y) -{ - CSFML_CALL(shape, SetPointPosition(index, x, y)); -} - - -//////////////////////////////////////////////////////////// -/// Set a the color of a shape's point -//////////////////////////////////////////////////////////// -void sfShape_SetPointColor(sfShape* shape, unsigned int index, sfColor color) -{ - CSFML_CALL(shape, SetPointColor(index, sf::Color(color.r, color.g, color.b, color.a))); -} - - -//////////////////////////////////////////////////////////// -/// Set a the outline color of a shape's point -//////////////////////////////////////////////////////////// -void sfShape_SetPointOutlineColor(sfShape* shape, unsigned int index, sfColor color) -{ - CSFML_CALL(shape, SetPointOutlineColor(index, sf::Color(color.r, color.g, color.b, color.a))); -} diff --git a/bindings/c/src/SFML/Graphics/ShapeStruct.h b/bindings/c/src/SFML/Graphics/ShapeStruct.h deleted file mode 100644 index 90825caa..00000000 --- a/bindings/c/src/SFML/Graphics/ShapeStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SHAPESTRUCT_H -#define SFML_SHAPESTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfShape -//////////////////////////////////////////////////////////// -struct sfShape -{ - sf::Shape This; -}; - - -#endif // SFML_SHAPESTRUCT_H diff --git a/bindings/c/src/SFML/Graphics/Sprite.cpp b/bindings/c/src/SFML/Graphics/Sprite.cpp deleted file mode 100644 index 40ccb2c0..00000000 --- a/bindings/c/src/SFML/Graphics/Sprite.cpp +++ /dev/null @@ -1,405 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new sprite -//////////////////////////////////////////////////////////// -sfSprite* sfSprite_Create(void) -{ - sfSprite* sprite = new sfSprite; - sprite->Image = NULL; - sprite->SubRect.Left = sprite->This.GetSubRect().Left; - sprite->SubRect.Top = sprite->This.GetSubRect().Top; - sprite->SubRect.Width = sprite->This.GetSubRect().Width; - sprite->SubRect.Height = sprite->This.GetSubRect().Height; - - return sprite; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing sprite -//////////////////////////////////////////////////////////// -sfSprite* sfSprite_Copy(sfSprite* sprite) -{ - CSFML_CHECK_RETURN(sprite, NULL); - - return new sfSprite(*sprite); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing sprite -//////////////////////////////////////////////////////////// -void sfSprite_Destroy(sfSprite* sprite) -{ - delete sprite; -} - - -//////////////////////////////////////////////////////////// -/// Set the X position of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetX(sfSprite* sprite, float x) -{ - CSFML_CALL(sprite, SetX(x)) -} - - -//////////////////////////////////////////////////////////// -/// Set the Y position of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetY(sfSprite* sprite, float y) -{ - CSFML_CALL(sprite, SetY(y)) -} - - -//////////////////////////////////////////////////////////// -/// Set the position of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetPosition(sfSprite* sprite, float x, float y) -{ - CSFML_CALL(sprite, SetPosition(sf::Vector2f(x, y))) -} - - -//////////////////////////////////////////////////////////// -/// Set the horizontal scale of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetScaleX(sfSprite* sprite, float scale) -{ - CSFML_CALL(sprite, SetScaleX(scale)) -} - - -//////////////////////////////////////////////////////////// -/// Set the vertical scale of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetScaleY(sfSprite* sprite, float scale) -{ - CSFML_CALL(sprite, SetScaleY(scale)) -} - - -//////////////////////////////////////////////////////////// -/// Set the scale of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetScale(sfSprite* sprite, float scaleX, float scaleY) -{ - CSFML_CALL(sprite, SetScale(sf::Vector2f(scaleX, scaleY))) -} - - -//////////////////////////////////////////////////////////// -/// Set the orientation of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetRotation(sfSprite* sprite, float rotation) -{ - CSFML_CALL(sprite, SetRotation(rotation)) -} - - -//////////////////////////////////////////////////////////// -/// Set the local origin of a sprite, in coordinates -/// relative to its left-top corner -//////////////////////////////////////////////////////////// -void sfSprite_SetOrigin(sfSprite* sprite, float x, float y) -{ - CSFML_CALL(sprite, SetOrigin(sf::Vector2f(x, y))) -} - - -//////////////////////////////////////////////////////////// -/// Set the color of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetColor(sfSprite* sprite, sfColor color) -{ - CSFML_CALL(sprite, SetColor(sf::Color(color.r, color.g, color.b, color.a))) -} - - -//////////////////////////////////////////////////////////// -/// Set the blending mode for a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetBlendMode(sfSprite* sprite, sfBlendMode mode) -{ - CSFML_CALL(sprite, SetBlendMode(static_cast(mode))) -} - - -//////////////////////////////////////////////////////////// -/// Get the X position of a sprite -//////////////////////////////////////////////////////////// -float sfSprite_GetX(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetPosition().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the Y position of a sprite -//////////////////////////////////////////////////////////// -float sfSprite_GetY(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetPosition().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the horizontal scale of a sprite -//////////////////////////////////////////////////////////// -float sfSprite_GetScaleX(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetScale().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the vertical scale of a sprite -//////////////////////////////////////////////////////////// -float sfSprite_GetScaleY(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetScale().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the orientation of a sprite -//////////////////////////////////////////////////////////// -float sfSprite_GetRotation(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetRotation(), 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the X position of the origin a sprite -//////////////////////////////////////////////////////////// -float sfSprite_GetOriginX(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetOrigin().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the Y position of the origin a sprite -//////////////////////////////////////////////////////////// -float sfSprite_GetOriginY(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetOrigin().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the color of a sprite -//////////////////////////////////////////////////////////// -sfColor sfSprite_GetColor(const sfSprite* sprite) -{ - sfColor color = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(sprite, color) - - sf::Color SFMLColor = sprite->This.GetColor(); - return sfColor_FromRGBA(SFMLColor.r, SFMLColor.g, SFMLColor.b, SFMLColor.a); -} - - -//////////////////////////////////////////////////////////// -/// Get the current blending mode of a sprite -//////////////////////////////////////////////////////////// -sfBlendMode sfSprite_GetBlendMode(const sfSprite* sprite) -{ - CSFML_CHECK_RETURN(sprite, sfBlendNone) - - return static_cast(sprite->This.GetBlendMode()); -} - - -//////////////////////////////////////////////////////////// -/// Move a sprite -//////////////////////////////////////////////////////////// -void sfSprite_Move(sfSprite* sprite, float offsetX, float offsetY) -{ - CSFML_CALL(sprite, Move(sf::Vector2f(offsetX, offsetY))) -} - - -//////////////////////////////////////////////////////////// -/// Scale a sprite -//////////////////////////////////////////////////////////// -void sfSprite_Scale(sfSprite* sprite, float factorX, float factorY) -{ - CSFML_CALL(sprite, Scale(sf::Vector2f(factorX, factorY))) -} - - -//////////////////////////////////////////////////////////// -/// Rotate a sprite -//////////////////////////////////////////////////////////// -void sfSprite_Rotate(sfSprite* sprite, float angle) -{ - CSFML_CALL(sprite, Rotate(angle)) -} - - -//////////////////////////////////////////////////////////// -/// Transform a point from global coordinates into the sprite's local coordinates -/// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) -//////////////////////////////////////////////////////////// -void sfSprite_TransformToLocal(const sfSprite* sprite, float pointX, float pointY, float* x, float* y) -{ - CSFML_CHECK(sprite) - - sf::Vector2f point = sprite->This.TransformToLocal(sf::Vector2f(pointX, pointY)); - if (x) *x = point.x; - if (y) *y = point.y; -} - - -//////////////////////////////////////////////////////////// -/// Transform a point from the sprite's local coordinates into global coordinates -/// (ie it applies the object's origin, translation, rotation and scale to the point) -//////////////////////////////////////////////////////////// -void sfSprite_TransformToGlobal(const sfSprite* sprite, float pointX, float pointY, float* x, float* y) -{ - CSFML_CHECK(sprite) - - sf::Vector2f point = sprite->This.TransformToGlobal(sf::Vector2f(pointX, pointY)); - if (x) *x = point.x; - if (y) *y = point.y; -} - - -//////////////////////////////////////////////////////////// -/// Change the image of a sprite -//////////////////////////////////////////////////////////// -void sfSprite_SetImage(sfSprite* sprite, const sfImage* image, sfBool adjustToNewSize) -{ - if (image) - { - CSFML_CALL(sprite, SetImage(*image->This, adjustToNewSize == sfTrue)) - sprite->Image = image; - } -} - - -//////////////////////////////////////////////////////////// -/// Set the sub-rectangle of a sprite inside the source image -//////////////////////////////////////////////////////////// -void sfSprite_SetSubRect(sfSprite* sprite, sfIntRect rectangle) -{ - CSFML_CALL(sprite, SetSubRect(sf::IntRect(rectangle.Left, rectangle.Top, rectangle.Width, rectangle.Height))) - sprite->SubRect = rectangle; -} - - -//////////////////////////////////////////////////////////// -/// Resize a sprite (by changing its scale factors) -//////////////////////////////////////////////////////////// -void sfSprite_Resize(sfSprite* sprite, float width, float height) -{ - CSFML_CALL(sprite, Resize(sf::Vector2f(width, height))) -} - - -//////////////////////////////////////////////////////////// -/// Flip a sprite horizontally -//////////////////////////////////////////////////////////// -void sfSprite_FlipX(sfSprite* sprite, sfBool flipped) -{ - CSFML_CALL(sprite, FlipX(flipped == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Flip a sprite vertically -//////////////////////////////////////////////////////////// -void sfSprite_FlipY(sfSprite* sprite, sfBool flipped) -{ - CSFML_CALL(sprite, FlipY(flipped == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Get the source image of a sprite -//////////////////////////////////////////////////////////// -const sfImage* sfSprite_GetImage(const sfSprite* sprite) -{ - CSFML_CHECK_RETURN(sprite, NULL) - - return sprite->Image; -} - - -//////////////////////////////////////////////////////////// -/// Get the sub-rectangle of a sprite inside the source image -//////////////////////////////////////////////////////////// -sfIntRect sfSprite_GetSubRect(const sfSprite* sprite) -{ - sfIntRect rect = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(sprite, rect) - - return sprite->SubRect; -} - - -//////////////////////////////////////////////////////////// -/// Get a sprite width -//////////////////////////////////////////////////////////// -float sfSprite_GetWidth(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetSize().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get a sprite height -//////////////////////////////////////////////////////////// -float sfSprite_GetHeight(const sfSprite* sprite) -{ - CSFML_CALL_RETURN(sprite, GetSize().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the color of a given pixel in a sprite -//////////////////////////////////////////////////////////// -sfColor sfSprite_GetPixel(const sfSprite* sprite, unsigned int x, unsigned int y) -{ - sfColor color = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(sprite, color) - - sf::Color SFMLColor = sprite->This.GetPixel(x, y); - return sfColor_FromRGBA(SFMLColor.r, SFMLColor.g, SFMLColor.b, SFMLColor.a); -} diff --git a/bindings/c/src/SFML/Graphics/SpriteStruct.h b/bindings/c/src/SFML/Graphics/SpriteStruct.h deleted file mode 100644 index ecb8df98..00000000 --- a/bindings/c/src/SFML/Graphics/SpriteStruct.h +++ /dev/null @@ -1,47 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SPRITESTRUCT_H -#define SFML_SPRITESTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfMusic -//////////////////////////////////////////////////////////// -struct sfSprite -{ - sf::Sprite This; - const sfImage* Image; - sfIntRect SubRect; -}; - - -#endif // SFML_SPRITESTRUCT_H diff --git a/bindings/c/src/SFML/Graphics/Text.cpp b/bindings/c/src/SFML/Graphics/Text.cpp deleted file mode 100644 index 01d8c1f4..00000000 --- a/bindings/c/src/SFML/Graphics/Text.cpp +++ /dev/null @@ -1,432 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new text -//////////////////////////////////////////////////////////// -sfText* sfText_Create(void) -{ - sfText* text = new sfText; - text->Font = sfFont_GetDefaultFont(); - - return text; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing text -//////////////////////////////////////////////////////////// -sfText* sfText_Copy(sfText* text) -{ - CSFML_CHECK_RETURN(text, NULL); - - return new sfText(*text); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing text -//////////////////////////////////////////////////////////// -void sfText_Destroy(sfText* text) -{ - delete text; -} - - -//////////////////////////////////////////////////////////// -/// Set the X position of a text -//////////////////////////////////////////////////////////// -void sfText_SetX(sfText* text, float x) -{ - CSFML_CALL(text, SetX(x)) -} - - -//////////////////////////////////////////////////////////// -/// Set the Y position of a text -//////////////////////////////////////////////////////////// -void sfText_SetY(sfText* text, float y) -{ - CSFML_CALL(text, SetY(y)) -} - - -//////////////////////////////////////////////////////////// -/// Set the position of a text -//////////////////////////////////////////////////////////// -void sfText_SetPosition(sfText* text, float x, float y) -{ - CSFML_CALL(text, SetPosition(sf::Vector2f(x, y))) -} - - -//////////////////////////////////////////////////////////// -/// Set the horizontal scale of a text -//////////////////////////////////////////////////////////// -void sfText_SetScaleX(sfText* text, float scale) -{ - CSFML_CALL(text, SetScaleX(scale)) -} - - -//////////////////////////////////////////////////////////// -/// Set the vertical scale of a text -//////////////////////////////////////////////////////////// -void sfText_SetScaleY(sfText* text, float scale) -{ - CSFML_CALL(text, SetScaleY(scale)) -} - - -//////////////////////////////////////////////////////////// -/// Set the scale of a text -//////////////////////////////////////////////////////////// -void sfText_SetScale(sfText* text, float scaleX, float scaleY) -{ - CSFML_CALL(text, SetScale(sf::Vector2f(scaleX, scaleY))) -} - - -//////////////////////////////////////////////////////////// -/// Set the orientation of a text -//////////////////////////////////////////////////////////// -void sfText_SetRotation(sfText* text, float rotation) -{ - CSFML_CALL(text, SetRotation(rotation)) -} - - -//////////////////////////////////////////////////////////// -/// Set the local origin of a text, in coordinates -/// relative to its left-top corner -//////////////////////////////////////////////////////////// -void sfText_SetOrigin(sfText* text, float x, float y) -{ - CSFML_CALL(text, SetOrigin(sf::Vector2f(x, y))) -} - - -//////////////////////////////////////////////////////////// -/// Set the color of a text -//////////////////////////////////////////////////////////// -void sfText_SetColor(sfText* text, sfColor color) -{ - CSFML_CALL(text, SetColor(sf::Color(color.r, color.g, color.b, color.a))) -} - - -//////////////////////////////////////////////////////////// -/// Set the blending mode for a text -//////////////////////////////////////////////////////////// -void sfText_SetBlendMode(sfText* text, sfBlendMode mode) -{ - CSFML_CALL(text, SetBlendMode(static_cast(mode))) -} - - -//////////////////////////////////////////////////////////// -/// Get the X position of a text -//////////////////////////////////////////////////////////// -float sfText_GetX(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetPosition().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the Y position of a text -//////////////////////////////////////////////////////////// -float sfText_GetY(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetPosition().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the horizontal scale of a text -//////////////////////////////////////////////////////////// -float sfText_GetScaleX(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetScale().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the vertical scale of a text -//////////////////////////////////////////////////////////// -float sfText_GetScaleY(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetScale().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the orientation of a text -//////////////////////////////////////////////////////////// -float sfText_GetRotation(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetRotation(), 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the X position of the origin a text -//////////////////////////////////////////////////////////// -float sfText_GetOriginX(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetOrigin().x, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the top Y of the origin of a text -//////////////////////////////////////////////////////////// -float sfText_GetOriginY(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetOrigin().y, 0.f) -} - - -//////////////////////////////////////////////////////////// -/// Get the color of a text -//////////////////////////////////////////////////////////// -sfColor sfText_GetColor(const sfText* text) -{ - sfColor color = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(text, color) - - sf::Color SFMLColor = text->This.GetColor(); - return sfColor_FromRGBA(SFMLColor.r, SFMLColor.g, SFMLColor.b, SFMLColor.a); -} - - -//////////////////////////////////////////////////////////// -/// Get the current blending mode of a text -//////////////////////////////////////////////////////////// -sfBlendMode sfText_GetBlendMode(const sfText* text) -{ - CSFML_CHECK_RETURN(text, sfBlendNone) - - return static_cast(text->This.GetBlendMode()); -} - - -//////////////////////////////////////////////////////////// -/// Move a text -//////////////////////////////////////////////////////////// -void sfText_Move(sfText* text, float offsetX, float offsetY) -{ - CSFML_CALL(text, Move(sf::Vector2f(offsetX, offsetY))) -} - - -//////////////////////////////////////////////////////////// -/// Scale a text -//////////////////////////////////////////////////////////// -void sfText_Scale(sfText* text, float factorX, float factorY) -{ - CSFML_CALL(text, Scale(sf::Vector2f(factorX, factorY))) -} - - -//////////////////////////////////////////////////////////// -/// Rotate a text -//////////////////////////////////////////////////////////// -void sfText_Rotate(sfText* text, float angle) -{ - CSFML_CALL(text, Rotate(angle)) -} - - -//////////////////////////////////////////////////////////// -/// Transform a point from global coordinates into the text's local coordinates -/// (ie it applies the inverse of object's origin, translation, rotation and scale to the point) -//////////////////////////////////////////////////////////// -void sfText_TransformToLocal(const sfText* text, float pointX, float pointY, float* x, float* y) -{ - CSFML_CHECK(text) - - sf::Vector2f point = text->This.TransformToLocal(sf::Vector2f(pointX, pointY)); - if (x) *x = point.x; - if (y) *y = point.y; -} - - -//////////////////////////////////////////////////////////// -/// Transform a point from the text's local coordinates into global coordinates -/// (ie it applies the object's origin, translation, rotation and scale to the point) -//////////////////////////////////////////////////////////// -void sfText_TransformToGlobal(const sfText* text, float pointX, float pointY, float* x, float* y) -{ - CSFML_CHECK(text) - - sf::Vector2f point = text->This.TransformToGlobal(sf::Vector2f(pointX, pointY)); - if (x) *x = point.x; - if (y) *y = point.y; -} - - -//////////////////////////////////////////////////////////// -/// Set the string of a text (from a multibyte string) -//////////////////////////////////////////////////////////// -void sfText_SetString(sfText* text, const char* string) -{ - CSFML_CALL(text, SetString(string)) -} - - -//////////////////////////////////////////////////////////// -/// Set the string of a text (from a unicode string) -//////////////////////////////////////////////////////////// -void sfText_SetUnicodeString(sfText* text, const sfUint32* string) -{ - sf::String UTF32Text = string; - CSFML_CALL(text, SetString(UTF32Text)) -} - - -//////////////////////////////////////////////////////////// -/// Set the font of a string -//////////////////////////////////////////////////////////// -void sfText_SetFont(sfText* text, const sfFont* font) -{ - CSFML_CHECK(font); - - CSFML_CALL(text, SetFont(font->This)) - text->Font = font; -} - - -//////////////////////////////////////////////////////////// -/// Set the size of a string -//////////////////////////////////////////////////////////// -void sfText_SetCharacterSize(sfText* text, unsigned int size) -{ - CSFML_CALL(text, SetCharacterSize(size)) -} - - -//////////////////////////////////////////////////////////// -/// Set the style of a string -//////////////////////////////////////////////////////////// -void sfText_SetStyle(sfText* text, unsigned long style) -{ - CSFML_CALL(text, SetStyle(style)) -} - - -//////////////////////////////////////////////////////////// -/// Get the string of a text (returns a unicode string) -//////////////////////////////////////////////////////////// -const sfUint32* sfText_GetUnicodeString(const sfText* text) -{ - CSFML_CHECK_RETURN(text, NULL) - - return text->This.GetString().GetData(); -} - - -//////////////////////////////////////////////////////////// -/// Get the string of a text (returns an ANSI string) -//////////////////////////////////////////////////////////// -const char* sfText_GetString(const sfText* text) -{ - CSFML_CHECK_RETURN(text, NULL) - - text->String = text->This.GetString().ToAnsiString(); - - return text->String.c_str(); -} - - -//////////////////////////////////////////////////////////// -/// Get the font used by a text -//////////////////////////////////////////////////////////// -const sfFont* sfText_GetFont(const sfText* text) -{ - CSFML_CHECK_RETURN(text, NULL) - - return text->Font; -} - - -//////////////////////////////////////////////////////////// -/// Get the size of the characters of a text -//////////////////////////////////////////////////////////// -unsigned int sfText_GetCharacterSize(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetCharacterSize(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Get the style of a text -//////////////////////////////////////////////////////////// -unsigned long sfText_GetStyle(const sfText* text) -{ - CSFML_CALL_RETURN(text, GetStyle(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Return the visual position of the Index-th character of the text, -/// in coordinates relative to the text -/// (note : translation, origin, rotation and scale are not applied) -//////////////////////////////////////////////////////////// -void sfText_GetCharacterPos(const sfText* text, size_t index, float* x, float* y) -{ - CSFML_CHECK(text); - - sf::Vector2f pos = text->This.GetCharacterPos(index); - if (x) *x = pos.x; - if (y) *y = pos.y; -} - - -//////////////////////////////////////////////////////////// -/// Get the bounding rectangle of a text on screen -//////////////////////////////////////////////////////////// -sfFloatRect sfText_GetRect(const sfText* text) -{ - sfFloatRect rect = {0.f, 0.f, 0.f, 0.f}; - CSFML_CHECK_RETURN(text, rect) - - sf::FloatRect SFMLRect = text->This.GetRect(); - text->Rect.Left = SFMLRect.Left; - text->Rect.Top = SFMLRect.Top; - text->Rect.Width = SFMLRect.Width; - text->Rect.Height = SFMLRect.Height; - - return text->Rect; -} diff --git a/bindings/c/src/SFML/Graphics/TextStruct.h b/bindings/c/src/SFML/Graphics/TextStruct.h deleted file mode 100644 index 98af9f18..00000000 --- a/bindings/c/src/SFML/Graphics/TextStruct.h +++ /dev/null @@ -1,49 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_TEXTSTRUCT_H -#define SFML_TEXTSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfText -//////////////////////////////////////////////////////////// -struct sfText -{ - sf::Text This; - const sfFont* Font; - mutable std::string String; - mutable sfFloatRect Rect; -}; - - -#endif // SFML_TEXTSTRUCT_H diff --git a/bindings/c/src/SFML/Graphics/View.cpp b/bindings/c/src/SFML/Graphics/View.cpp deleted file mode 100644 index 35793fcb..00000000 --- a/bindings/c/src/SFML/Graphics/View.cpp +++ /dev/null @@ -1,215 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a default view (1000x1000) -//////////////////////////////////////////////////////////// -sfView* sfView_Create(void) -{ - return new sfView; -} - - -//////////////////////////////////////////////////////////// -/// Construct a view from a rectangle -//////////////////////////////////////////////////////////// -sfView* sfView_CreateFromRect(sfFloatRect rectangle) -{ - sfView* view = new sfView; - sfView_Reset(view, rectangle); - - return view; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing view -//////////////////////////////////////////////////////////// -sfView* sfView_Copy(sfView* view) -{ - CSFML_CHECK_RETURN(view, NULL); - - return new sfView(*view); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing view -//////////////////////////////////////////////////////////// -void sfView_Destroy(sfView* view) -{ - delete view; -} - - -//////////////////////////////////////////////////////////// -/// Change the center of a view -//////////////////////////////////////////////////////////// -void sfView_SetCenter(sfView* view, float x, float y) -{ - CSFML_CALL(view, SetCenter(x, y)); -} - - -//////////////////////////////////////////////////////////// -/// Change the size of a view -//////////////////////////////////////////////////////////// -void sfView_SetSize(sfView* view, float width, float height) -{ - CSFML_CALL(view, SetSize(width, height)); -} - - -//////////////////////////////////////////////////////////// -/// Set the angle of rotation of a view -//////////////////////////////////////////////////////////// -void sfView_SetRotation(sfView* view, float angle) -{ - CSFML_CALL(view, SetRotation(angle)); -} - - -//////////////////////////////////////////////////////////// -/// Set the target viewport of a view -//////////////////////////////////////////////////////////// -void sfView_SetViewport(sfView* view, sfFloatRect viewport) -{ - CSFML_CALL(view, SetViewport(sf::FloatRect(viewport.Left, viewport.Top, viewport.Width, viewport.Height))); -} - - -//////////////////////////////////////////////////////////// -/// Reset a view to the given rectangle. -/// Note: this function resets the rotation angle to 0. -//////////////////////////////////////////////////////////// -void sfView_Reset(sfView* view, sfFloatRect rectangle) -{ - CSFML_CALL(view, Reset(sf::FloatRect(rectangle.Left, rectangle.Top, rectangle.Width, rectangle.Height))); -} - - -//////////////////////////////////////////////////////////// -/// Get the X coordinate of the center of a view -//////////////////////////////////////////////////////////// -float sfView_GetCenterX(const sfView* view) -{ - CSFML_CHECK_RETURN(view, 0.f); - - return view->This.GetCenter().x; -} - - -//////////////////////////////////////////////////////////// -/// Get the Y coordinate of the center of a view -//////////////////////////////////////////////////////////// -float sfView_GetCenterY(const sfView* view) -{ - CSFML_CHECK_RETURN(view, 0.f); - - return view->This.GetCenter().y; -} - - -//////////////////////////////////////////////////////////// -/// Get the width of the view -//////////////////////////////////////////////////////////// -float sfView_GetWidth(const sfView* view) -{ - CSFML_CHECK_RETURN(view, 0.f); - - return view->This.GetSize().x; -} - - -//////////////////////////////////////////////////////////// -/// Get the height of the view -//////////////////////////////////////////////////////////// -float sfView_GetHeight(const sfView* view) -{ - CSFML_CHECK_RETURN(view, 0.f); - - return view->This.GetSize().y; -} - - -//////////////////////////////////////////////////////////// -/// Get the current rotation of a view -//////////////////////////////////////////////////////////// -float sfView_GetRotation(const sfView* view) -{ - CSFML_CALL_RETURN(view, GetRotation(), 0.f); -} - - -//////////////////////////////////////////////////////////// -/// Get the target viewport of a view -//////////////////////////////////////////////////////////// -sfFloatRect sfView_GetViewport(const sfView* view) -{ - sfFloatRect rect = {0, 0, 0, 0}; - CSFML_CHECK_RETURN(view, rect); - - sf::FloatRect SFMLRect = view->This.GetViewport(); - rect.Left = SFMLRect.Left; - rect.Top = SFMLRect.Top; - rect.Width = SFMLRect.Width; - rect.Height = SFMLRect.Height; - - return rect; -} - - -//////////////////////////////////////////////////////////// -/// Move a view -//////////////////////////////////////////////////////////// -void sfView_Move(sfView* view, float offsetX, float offsetY) -{ - CSFML_CALL(view, Move(offsetX, offsetY)); -} - - -//////////////////////////////////////////////////////////// -/// Rotate a view -//////////////////////////////////////////////////////////// -void sfView_Rotate(sfView* view, float angle) -{ - CSFML_CALL(view, Rotate(angle)); -} - - -//////////////////////////////////////////////////////////// -/// Resize a view rectangle to simulate a zoom / unzoom effect -//////////////////////////////////////////////////////////// -void sfView_Zoom(sfView* view, float factor) -{ - CSFML_CALL(view, Zoom(factor)); -} diff --git a/bindings/c/src/SFML/Graphics/ViewStruct.h b/bindings/c/src/SFML/Graphics/ViewStruct.h deleted file mode 100644 index e41b8211..00000000 --- a/bindings/c/src/SFML/Graphics/ViewStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_VIEWSTRUCT_H -#define SFML_VIEWSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfMusic -//////////////////////////////////////////////////////////// -struct sfView -{ - sf::View This; -}; - - -#endif // SFML_VIEWSTRUCT_H diff --git a/bindings/c/src/SFML/Internal.h b/bindings/c/src/SFML/Internal.h deleted file mode 100644 index e6dd6cfc..00000000 --- a/bindings/c/src/SFML/Internal.h +++ /dev/null @@ -1,108 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_INTERNAL_H -#define SFML_INTERNAL_H - -//////////////////////////////////////////////////////////// -// Define macros to check the validity of CSFML objects -// in debug run -//////////////////////////////////////////////////////////// -#include - -#ifndef NDEBUG - - #define CSFML_CHECK(Object) \ - if (Object == NULL) \ - { \ - fprintf(stderr, "SFML warning : trying to use a null " #Object " object\n"); \ - return; \ - } - - #define CSFML_CALL(Object, Function) \ - if (Object) \ - { \ - (Object->This.Function); \ - } \ - else \ - { \ - fprintf(stderr, "SFML warning : trying to use a null " #Object " object\n"); \ - } \ - - #define CSFML_CALL_PTR(Object, Function) \ - if (Object) \ - { \ - (Object->This->Function); \ - } \ - else \ - { \ - fprintf(stderr, "SFML warning : trying to use a null " #Object " object\n"); \ - } \ - - #define CSFML_CHECK_RETURN(Object, Default) \ - if (Object == NULL) \ - { \ - fprintf(stderr, "SFML warning : trying to use a null " #Object " object\n"); \ - return Default; \ - } - - #define CSFML_CALL_RETURN(Object, Function, Default) \ - if (Object) \ - { \ - return (Object->This.Function); \ - } \ - else \ - { \ - fprintf(stderr, "SFML warning : trying to use a null " #Object " object\n"); \ - return Default; \ - } \ - - #define CSFML_CALL_PTR_RETURN(Object, Function, Default) \ - if (Object) \ - { \ - return (Object->This->Function); \ - } \ - else \ - { \ - fprintf(stderr, "SFML warning : trying to use a null " #Object " object\n"); \ - return Default; \ - } \ - -#else - - #define CSFML_CHECK(Object) - - #define CSFML_CALL(Object, Function) (Object->This.Function); - - #define CSFML_CALL_PTR(Object, Function) (Object->This->Function); - - #define CSFML_CHECK_RETURN(Object, Default) (void)Default; - - #define CSFML_CALL_RETURN(Object, Function, Default) (void)Default; return (Object->This.Function); - - #define CSFML_CALL_PTR_RETURN(Object, Function, Default) (void)Default; return (Object->This->Function); - -#endif - -#endif // SFML_INTERNAL_H diff --git a/bindings/c/src/SFML/Main/CMakeLists.txt b/bindings/c/src/SFML/Main/CMakeLists.txt deleted file mode 100644 index 09840094..00000000 --- a/bindings/c/src/SFML/Main/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ - -# define the csfml-main target -add_library(csfml-main STATIC ${CMAKE_SOURCE_DIR}/src/SFML/Main/SFML_Main.cpp) - -# set the debug suffix -set_target_properties(csfml-main PROPERTIES DEBUG_POSTFIX -d) - -# insert the major version number in the output filename -set_target_properties(csfml-main PROPERTIES OUTPUT_NAME "csfml-main") diff --git a/bindings/c/src/SFML/Main/SFML_Main.cpp b/bindings/c/src/SFML/Main/SFML_Main.cpp deleted file mode 100644 index a39d0c10..00000000 --- a/bindings/c/src/SFML/Main/SFML_Main.cpp +++ /dev/null @@ -1,44 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - - -//////////////////////////////////////////////////////////// -// Windows specific : defines the WinMain entry function, -// so that developers can use the standard main function -// even in a Win32 Application project, and keep a portable code -//////////////////////////////////////////////////////////// - - -#if defined(_WIN32) - - #include - - extern int main(int argc, char* argv[]); - - int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT) - { - return main(__argc, __argv); - } - -#endif // _WIN32 diff --git a/bindings/c/src/SFML/Network/CMakeLists.txt b/bindings/c/src/SFML/Network/CMakeLists.txt deleted file mode 100644 index 6db20056..00000000 --- a/bindings/c/src/SFML/Network/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ - -set(INCROOT ${CMAKE_SOURCE_DIR}/include/SFML/Network) -set(SRCROOT ${CMAKE_SOURCE_DIR}/src/SFML/Network) - -# all source files -set(SRC - ${SRCROOT}/Ftp.cpp - ${SRCROOT}/FtpStruct.h - ${INCROOT}/Ftp.h - ${SRCROOT}/Http.cpp - ${SRCROOT}/HttpStruct.h - ${INCROOT}/Http.h - ${SRCROOT}/IpAddress.cpp - ${INCROOT}/IpAddress.h - ${SRCROOT}/Packet.cpp - ${SRCROOT}/PacketStruct.h - ${INCROOT}/Packet.h - ${SRCROOT}/SocketSelector.cpp - ${SRCROOT}/SocketSelectorStruct.h - ${INCROOT}/SocketSelector.h - ${INCROOT}/SocketStatus.h - ${SRCROOT}/TcpListener.cpp - ${SRCROOT}/TcpListenerStruct.h - ${INCROOT}/TcpListener.h - ${SRCROOT}/TcpSocket.cpp - ${SRCROOT}/TcpSocketStruct.h - ${INCROOT}/TcpSocket.h - ${INCROOT}/Types.h - ${SRCROOT}/UdpSocket.cpp - ${SRCROOT}/UdpSocketStruct.h - ${INCROOT}/UdpSocket.h -) - -# define the csfml-network target -csfml_add_library(csfml-network - SOURCES ${SRC} - DEPENDS ${SFML_NETWORK_LIBRARY} ${SFML_SYSTEM_LIBRARY}) diff --git a/bindings/c/src/SFML/Network/Ftp.cpp b/bindings/c/src/SFML/Network/Ftp.cpp deleted file mode 100644 index 2a282ca2..00000000 --- a/bindings/c/src/SFML/Network/Ftp.cpp +++ /dev/null @@ -1,377 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Ftp directory response -//////////////////////////////////////////////////////////// -void sfFtpListingResponse_Destroy(sfFtpListingResponse* ftpListingResponse) -{ - delete ftpListingResponse; -} - - -//////////////////////////////////////////////////////////// -/// Convenience function to check if the response status code -/// means a success -//////////////////////////////////////////////////////////// -sfBool sfFtpListingResponse_IsOk(const sfFtpListingResponse* ftpListingResponse) -{ - CSFML_CALL_RETURN(ftpListingResponse, IsOk(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the response status code -//////////////////////////////////////////////////////////// -sfFtpStatus sfFtpListingResponse_GetStatus(const sfFtpListingResponse* ftpListingResponse) -{ - CSFML_CHECK_RETURN(ftpListingResponse, sfFtpInvalidResponse); - - return static_cast(ftpListingResponse->This.GetStatus()); -} - - -//////////////////////////////////////////////////////////// -/// Get the full message contained in the response -//////////////////////////////////////////////////////////// -const char* sfFtpListingResponse_GetMessage(const sfFtpListingResponse* ftpListingResponse) -{ - CSFML_CHECK_RETURN(ftpListingResponse, NULL); - - return ftpListingResponse->This.GetMessage().c_str(); -} - - -//////////////////////////////////////////////////////////// -/// Get the number of filenames in the listing -//////////////////////////////////////////////////////////// -size_t sfFtpListingResponse_GetCount(const sfFtpListingResponse* ftpListingResponse) -{ - CSFML_CHECK_RETURN(ftpListingResponse, 0); - - return ftpListingResponse->This.GetFilenames().size(); -} - - -//////////////////////////////////////////////////////////// -/// Get the Index-th filename in the directory -//////////////////////////////////////////////////////////// -const char* sfFtpListingResponse_GetFilename(const sfFtpListingResponse* ftpListingResponse, size_t index) -{ - CSFML_CHECK_RETURN(ftpListingResponse, NULL); - - return ftpListingResponse->This.GetFilenames()[index].c_str(); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Ftp directory response -//////////////////////////////////////////////////////////// -void sfFtpDirectoryResponse_Destroy(sfFtpDirectoryResponse* ftpDirectoryResponse) -{ - delete ftpDirectoryResponse; -} - - -//////////////////////////////////////////////////////////// -/// Convenience function to check if the response status code -/// means a success -//////////////////////////////////////////////////////////// -sfBool sfFtpDirectoryResponse_IsOk(const sfFtpDirectoryResponse* ftpDirectoryResponse) -{ - CSFML_CALL_RETURN(ftpDirectoryResponse, IsOk(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the response status code -//////////////////////////////////////////////////////////// -sfFtpStatus sfFtpDirectoryResponse_GetStatus(const sfFtpDirectoryResponse* ftpDirectoryResponse) -{ - CSFML_CHECK_RETURN(ftpDirectoryResponse, sfFtpInvalidResponse); - - return static_cast(ftpDirectoryResponse->This.GetStatus()); -} - - -//////////////////////////////////////////////////////////// -/// Get the full message contained in the response -//////////////////////////////////////////////////////////// -const char* sfFtpDirectoryResponse_GetMessage(const sfFtpDirectoryResponse* ftpDirectoryResponse) -{ - CSFML_CHECK_RETURN(ftpDirectoryResponse, NULL); - - return ftpDirectoryResponse->This.GetMessage().c_str(); -} - - -//////////////////////////////////////////////////////////// -/// Get the directory returned in the response -//////////////////////////////////////////////////////////// -const char* sfFtpDirectoryResponse_GetDirectory(const sfFtpDirectoryResponse* ftpDirectoryResponse) -{ - CSFML_CHECK_RETURN(ftpDirectoryResponse, NULL); - - return ftpDirectoryResponse->This.GetDirectory().c_str(); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Ftp response -//////////////////////////////////////////////////////////// -void sfFtpResponse_Destroy(sfFtpResponse* ftpResponse) -{ - delete ftpResponse; -} - - -//////////////////////////////////////////////////////////// -/// Convenience function to check if the response status code -/// means a success -//////////////////////////////////////////////////////////// -sfBool sfFtpResponse_IsOk(const sfFtpResponse* ftpResponse) -{ - CSFML_CALL_RETURN(ftpResponse, IsOk(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the response status code -//////////////////////////////////////////////////////////// -sfFtpStatus sfFtpResponse_GetStatus(const sfFtpResponse* ftpResponse) -{ - CSFML_CHECK_RETURN(ftpResponse, sfFtpInvalidResponse); - - return static_cast(ftpResponse->This.GetStatus()); -} - - -//////////////////////////////////////////////////////////// -/// Get the full message contained in the response -//////////////////////////////////////////////////////////// -const char* sfFtpResponse_GetMessage(const sfFtpResponse* ftpResponse) -{ - CSFML_CHECK_RETURN(ftpResponse, NULL); - - return ftpResponse->This.GetMessage().c_str(); -} - - -//////////////////////////////////////////////////////////// -/// Construct a new Ftp -//////////////////////////////////////////////////////////// -sfFtp* sfFtp_Create(void) -{ - return new sfFtp; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Ftp -//////////////////////////////////////////////////////////// -void sfFtp_Destroy(sfFtp* ftp) -{ - delete ftp; -} - - -//////////////////////////////////////////////////////////// -/// Connect to the specified FTP server -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_Connect(sfFtp* ftp, sfIpAddress server, unsigned short port, sfUint32 timeout) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - sf::IpAddress SFMLServer(server.Address); - - return new sfFtpResponse(ftp->This.Connect(SFMLServer, port, timeout)); -} - - -//////////////////////////////////////////////////////////// -/// Log in using anonymous account -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_LoginAnonymous(sfFtp* ftp) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.Login()); -} - - -//////////////////////////////////////////////////////////// -/// Log in using a username and a password -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_Login(sfFtp* ftp, const char* userName, const char* password) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.Login(userName ? userName : "", password ? password : "")); -} - - -//////////////////////////////////////////////////////////// -/// Close the connection with FTP server -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_Disconnect(sfFtp* ftp) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.Disconnect()); -} - - -//////////////////////////////////////////////////////////// -/// Send a null command just to prevent from being disconnected -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_KeepAlive(sfFtp* ftp) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.KeepAlive()); -} - - -//////////////////////////////////////////////////////////// -/// Get the current working directory -//////////////////////////////////////////////////////////// -sfFtpDirectoryResponse* sfFtp_GetWorkingDirectory(sfFtp* ftp) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpDirectoryResponse(ftp->This.GetWorkingDirectory()); -} - - -//////////////////////////////////////////////////////////// -/// Get the contents of the given directory -/// (subdirectories and files) -//////////////////////////////////////////////////////////// -sfFtpListingResponse* sfFtp_GetDirectoryListing(sfFtp* ftp, const char* directory) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpListingResponse(ftp->This.GetDirectoryListing(directory ? directory : "")); -} - - -//////////////////////////////////////////////////////////// -/// Change the current working directory -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_ChangeDirectory(sfFtp* ftp, const char* directory) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.ChangeDirectory(directory ? directory : "")); -} - - -//////////////////////////////////////////////////////////// -/// Go to the parent directory of the current one -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_ParentDirectory(sfFtp* ftp) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.ParentDirectory()); -} - - -//////////////////////////////////////////////////////////// -/// Create a new directory -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_CreateDirectory(sfFtp* ftp, const char* name) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.CreateDirectory(name ? name : "")); -} - - -//////////////////////////////////////////////////////////// -/// Remove an existing directory -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_DeleteDirectory(sfFtp* ftp, const char* name) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.DeleteDirectory(name ? name : "")); -} - - -//////////////////////////////////////////////////////////// -/// Rename a file -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_RenameFile(sfFtp* ftp, const char* file, const char* newName) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.RenameFile(file ? file : "", newName ? newName : "")); -} - - -//////////////////////////////////////////////////////////// -/// Remove an existing file -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_DeleteFile(sfFtp* ftp, const char* name) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.DeleteFile(name ? name : "")); -} - - -//////////////////////////////////////////////////////////// -/// Download a file from the server -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_Download(sfFtp* ftp, const char* distantFile, const char* destPath, sfFtpTransferMode mode) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.Download(distantFile ? distantFile : "", - destPath ? destPath : "", - static_cast(mode))); -} - - -//////////////////////////////////////////////////////////// -/// Upload a file to the server -//////////////////////////////////////////////////////////// -sfFtpResponse* sfFtp_Upload(sfFtp* ftp, const char* localFile, const char* destPath, sfFtpTransferMode mode) -{ - CSFML_CHECK_RETURN(ftp, NULL); - - return new sfFtpResponse(ftp->This.Upload(localFile ? localFile : "", - destPath ? destPath : "", - static_cast(mode))); -} diff --git a/bindings/c/src/SFML/Network/FtpStruct.h b/bindings/c/src/SFML/Network/FtpStruct.h deleted file mode 100644 index adcacab1..00000000 --- a/bindings/c/src/SFML/Network/FtpStruct.h +++ /dev/null @@ -1,93 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_FTPSTRUCT_H -#define SFML_FTPSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfFtp -//////////////////////////////////////////////////////////// -struct sfFtp -{ - sf::Ftp This; -}; - - -//////////////////////////////////////////////////////////// -// Internal structure of sfFtpResponse -//////////////////////////////////////////////////////////// -struct sfFtpResponse -{ - sfFtpResponse(const sf::Ftp::Response& Response) - : This(Response) - { - } - - sf::Ftp::Response This; -}; - - -//////////////////////////////////////////////////////////// -// Internal structure of sfFtpDirectoryResponse -//////////////////////////////////////////////////////////// -struct sfFtpDirectoryResponse -{ - sfFtpDirectoryResponse(const sf::Ftp::DirectoryResponse& Response) - : This(Response) - { - } - - sf::Ftp::DirectoryResponse This; -}; - - -//////////////////////////////////////////////////////////// -// Internal structure of sfFtpListingResponse -//////////////////////////////////////////////////////////// -struct sfFtpListingResponse -{ - sfFtpListingResponse(const sf::Ftp::ListingResponse& Response) - : This(Response) - { - } - - ~sfFtpListingResponse() - { - for (std::vector::iterator it = Filenames.begin(); it != Filenames.end(); ++it) - delete[] *it; - } - - sf::Ftp::ListingResponse This; - std::vector Filenames; -}; - - -#endif // SFML_FTPSTRUCT_H diff --git a/bindings/c/src/SFML/Network/Http.cpp b/bindings/c/src/SFML/Network/Http.cpp deleted file mode 100644 index 7c1d784f..00000000 --- a/bindings/c/src/SFML/Network/Http.cpp +++ /dev/null @@ -1,213 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new Http request -//////////////////////////////////////////////////////////// -sfHttpRequest* sfHttpRequest_Create(void) -{ - return new sfHttpRequest; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Http request -//////////////////////////////////////////////////////////// -void sfHttpRequest_Destroy(sfHttpRequest* httpRequest) -{ - delete httpRequest; -} - - -//////////////////////////////////////////////////////////// -/// Set the value of a field; the field is added if it doesn't exist -//////////////////////////////////////////////////////////// -void sfHttpRequest_SetField(sfHttpRequest* httpRequest, const char* field, const char* value) -{ - CSFML_CHECK(httpRequest); - if (field) - httpRequest->This.SetField(field, value); -} - - -//////////////////////////////////////////////////////////// -/// Set the request method. -/// This parameter is sfHttpGet by default -//////////////////////////////////////////////////////////// -void sfHttpRequest_SetMethod(sfHttpRequest* httpRequest, sfHttpMethod method) -{ - CSFML_CALL(httpRequest, SetMethod(static_cast(method))); -} - - -//////////////////////////////////////////////////////////// -/// Set the target URI of the request. -/// This parameter is "/" by default -//////////////////////////////////////////////////////////// -void sfHttpRequest_SetUri(sfHttpRequest* httpRequest, const char* uri) -{ - CSFML_CALL(httpRequest, SetUri(uri ? uri : "")); -} - - -//////////////////////////////////////////////////////////// -/// Set the HTTP version of the request. -/// This parameter is 1.0 by default -//////////////////////////////////////////////////////////// -void sfHttpRequest_SetHttpVersion(sfHttpRequest* httpRequest, unsigned int major, unsigned int minor) -{ - CSFML_CALL(httpRequest, SetHttpVersion(major, minor)); -} - - -//////////////////////////////////////////////////////////// -/// Set the body of the request. This parameter is optional and -/// makes sense only for POST requests. -/// This parameter is empty by default -//////////////////////////////////////////////////////////// -void sfHttpRequest_SetBody(sfHttpRequest* httpRequest, const char* body) -{ - CSFML_CALL(httpRequest, SetBody(body ? body : "")); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Http response -//////////////////////////////////////////////////////////// -void sfHttpResponse_Destroy(sfHttpResponse* httpResponse) -{ - delete httpResponse; -} - - -//////////////////////////////////////////////////////////// -/// Get the value of a field; returns NULL if the field doesn't exist -//////////////////////////////////////////////////////////// -const char* sfHttpResponse_GetField(const sfHttpResponse* httpResponse, const char* field) -{ - CSFML_CHECK_RETURN(httpResponse, NULL); - if (!field) - return NULL; - - return httpResponse->This.GetField(field).c_str(); -} - - -//////////////////////////////////////////////////////////// -/// Get the status of a response -//////////////////////////////////////////////////////////// -sfHttpStatus sfHttpResponse_GetStatus(const sfHttpResponse* httpResponse) -{ - CSFML_CHECK_RETURN(httpResponse, sfHttpInvalidResponse); - - return static_cast(httpResponse->This.GetStatus()); -} - - -//////////////////////////////////////////////////////////// -/// Get the major HTTP version of a response -//////////////////////////////////////////////////////////// -unsigned int sfHttpResponse_GetMajorVersion(const sfHttpResponse* httpResponse) -{ - CSFML_CALL_RETURN(httpResponse, GetMajorHttpVersion(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the minor HTTP version of a response -//////////////////////////////////////////////////////////// -unsigned int sfHttpResponse_GetMinorVersion(const sfHttpResponse* httpResponse) -{ - CSFML_CALL_RETURN(httpResponse, GetMinorHttpVersion(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the body of the response. The body can contain : -/// - the requested page (for GET requests) -/// - a response from the server (for POST requests) -/// - nothing (for HEAD requests) -/// - an error message (in case of an error) -//////////////////////////////////////////////////////////// -const char* sfHttpResponse_GetBody(const sfHttpResponse* httpResponse) -{ - CSFML_CHECK_RETURN(httpResponse, NULL); - - return httpResponse->This.GetBody().c_str(); -} - - -//////////////////////////////////////////////////////////// -/// Construct a new Http object -//////////////////////////////////////////////////////////// -sfHttp* sfHttp_Create(void) -{ - return new sfHttp; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing Http object -//////////////////////////////////////////////////////////// -void sfHttp_Destroy(sfHttp* http) -{ - delete http; -} - - -//////////////////////////////////////////////////////////// -/// Set the target host of a Http server -//////////////////////////////////////////////////////////// -void sfHttp_SetHost(sfHttp* http, const char* host, unsigned short port) -{ - CSFML_CALL(http, SetHost(host ? host : "", port)); -} - - -//////////////////////////////////////////////////////////// -/// Send a HTTP request and return the server's response. -/// You must be connected to a host before sending requests. -/// Any missing mandatory header field will be added with an appropriate value. -/// Warning : this function waits for the server's response and may -/// not return instantly; use a thread if you don't want to block your -/// application. -//////////////////////////////////////////////////////////// -sfHttpResponse* sfHttp_SendRequest(sfHttp* http, const sfHttpRequest* request, sfUint32 timeout) -{ - CSFML_CHECK_RETURN(http, NULL); - CSFML_CHECK_RETURN(request, NULL); - - sfHttpResponse* response = new sfHttpResponse; - response->This = http->This.SendRequest(request->This, timeout); - - return response; -} diff --git a/bindings/c/src/SFML/Network/HttpStruct.h b/bindings/c/src/SFML/Network/HttpStruct.h deleted file mode 100644 index f1894453..00000000 --- a/bindings/c/src/SFML/Network/HttpStruct.h +++ /dev/null @@ -1,61 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_HTTPSTRUCT_H -#define SFML_HTTPSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfHttp -//////////////////////////////////////////////////////////// -struct sfHttp -{ - sf::Http This; -}; - - -//////////////////////////////////////////////////////////// -// Internal structure of sfHttpRequest -//////////////////////////////////////////////////////////// -struct sfHttpRequest -{ - sf::Http::Request This; -}; - - -//////////////////////////////////////////////////////////// -// Internal structure of sfHttpResponse -//////////////////////////////////////////////////////////// -struct sfHttpResponse -{ - sf::Http::Response This; -}; - - -#endif // SFML_HTTPSTRUCT_H diff --git a/bindings/c/src/SFML/Network/IpAddress.cpp b/bindings/c/src/SFML/Network/IpAddress.cpp deleted file mode 100644 index 985a9a21..00000000 --- a/bindings/c/src/SFML/Network/IpAddress.cpp +++ /dev/null @@ -1,137 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -namespace -{ - //////////////////////////////////////////////////////////// - /// Helper function for converting a SFML address to a CSFML one - //////////////////////////////////////////////////////////// - sfIpAddress FromSFMLAddress(sf::IpAddress address) - { - sfIpAddress result; - strncpy(result.Address, address.ToString().c_str(), 16); - - return result; - } - - //////////////////////////////////////////////////////////// - /// Helper function for converting a CSFML address to a SFML one - //////////////////////////////////////////////////////////// - sf::IpAddress ToSFMLAddress(sfIpAddress address) - { - return sf::IpAddress(address.Address); - } -} - - -//////////////////////////////////////////////////////////// -/// Construct an address from a string -//////////////////////////////////////////////////////////// -sfIpAddress sfIpAddress_FromString(const char* string) -{ - return FromSFMLAddress(sf::IpAddress(string)); -} - - -//////////////////////////////////////////////////////////// -/// Construct an address from 4 bytes -//////////////////////////////////////////////////////////// -sfIpAddress sfIpAddress_FromBytes(sfUint8 byte0, sfUint8 byte1, sfUint8 byte2, sfUint8 byte3) -{ - return FromSFMLAddress(sf::IpAddress(byte0, byte1, byte2, byte3)); -} - - -//////////////////////////////////////////////////////////// -/// Construct the address from a 32-bits integer -//////////////////////////////////////////////////////////// -sfIpAddress sfIpAddress_FromInteger(sfUint32 address) -{ - return FromSFMLAddress(sf::IpAddress(address)); -} - - -//////////////////////////////////////////////////////////// -/// Get a string representation of an address -//////////////////////////////////////////////////////////// -void sfIpAddress_ToString(sfIpAddress address, char* string) -{ - if (string) - strcpy(string, address.Address); -} - - -//////////////////////////////////////////////////////////// -/// Get an integer representation of the address -//////////////////////////////////////////////////////////// -sfUint32 sfIpAddress_ToInteger(sfIpAddress address) -{ - return ToSFMLAddress(address).ToInteger(); -} - - -//////////////////////////////////////////////////////////// -/// Get the computer's local IP address (from the LAN point of view) -//////////////////////////////////////////////////////////// -sfIpAddress sfIpAddress_GetLocalAddress(void) -{ - return FromSFMLAddress(sf::IpAddress::GetLocalAddress()); -} - - -//////////////////////////////////////////////////////////// -/// Get the computer's public IP address (from the web point of view). -/// The only way to get a public address is to ask it to a -/// distant website ; as a consequence, this function may be -/// very slow -- use it as few as possible ! -//////////////////////////////////////////////////////////// -sfIpAddress sfIpAddress_GetPublicAddress(sfUint32 timeout) -{ - return FromSFMLAddress(sf::IpAddress::GetPublicAddress(timeout)); -} - - -//////////////////////////////////////////////////////////// -/// Get the computer's loopback address -//////////////////////////////////////////////////////////// -sfIpAddress sfIpAddress_LocalHost(void) -{ - return FromSFMLAddress(sf::IpAddress::LocalHost); -} - -//////////////////////////////////////////////////////////// -/// Get the empty/invalid address -//////////////////////////////////////////////////////////// -sfIpAddress sfIpAddress_None(void) -{ - return FromSFMLAddress(sf::IpAddress::None); -} diff --git a/bindings/c/src/SFML/Network/Packet.cpp b/bindings/c/src/SFML/Network/Packet.cpp deleted file mode 100644 index 7c7b6c45..00000000 --- a/bindings/c/src/SFML/Network/Packet.cpp +++ /dev/null @@ -1,210 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -namespace -{ - //////////////////////////////////////////////////////////// - /// Helper function to read a variable from a packet - //////////////////////////////////////////////////////////// - template - T PacketRead(sfPacket* packet) - { - CSFML_CHECK_RETURN(packet, 0); - - T value; - packet->This >> value; - return value; - } - - //////////////////////////////////////////////////////////// - /// Helper function to write a variable to a packet - //////////////////////////////////////////////////////////// - template - void PacketWrite(sfPacket* packet, T value) - { - CSFML_CHECK(packet); - - packet->This << value; - } -} - - -//////////////////////////////////////////////////////////// -/// Create a new empty packet -//////////////////////////////////////////////////////////// -sfPacket* sfPacket_Create(void) -{ - return new sfPacket; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing packet -//////////////////////////////////////////////////////////// -sfPacket* sfPacket_Copy(sfPacket* packet) -{ - CSFML_CHECK_RETURN(packet, NULL); - - return new sfPacket(*packet); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing packet -//////////////////////////////////////////////////////////// -void sfPacket_Destroy(sfPacket* packet) -{ - delete packet; -} - - -//////////////////////////////////////////////////////////// -/// Append data to the end of a packet -//////////////////////////////////////////////////////////// -void sfPacket_Append(sfPacket* packet, const void* data, size_t sizeInBytes) -{ - CSFML_CALL(packet, Append(data, sizeInBytes)); -} - - -//////////////////////////////////////////////////////////// -/// Clear all the data of a packet -/////////////////////////////////////////////////////////// -void sfPacket_Clear(sfPacket* packet) -{ - CSFML_CALL(packet, Clear()); -} - - -//////////////////////////////////////////////////////////// -/// Get a pointer to the data contained in a packet -/// Warning : the returned pointer may be invalid after you -/// append data to the packet -//////////////////////////////////////////////////////////// -const char* sfPacket_GetData(const sfPacket* packet) -{ - CSFML_CALL_RETURN(packet, GetData(), NULL); -} - - -//////////////////////////////////////////////////////////// -/// Get the size of the data contained in a packet -//////////////////////////////////////////////////////////// -size_t sfPacket_GetDataSize(const sfPacket* packet) -{ - CSFML_CALL_RETURN(packet, GetDataSize(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Tell if the reading position has reached the end of the packet -//////////////////////////////////////////////////////////// -sfBool sfPacket_EndOfPacket(const sfPacket* packet) -{ - CSFML_CALL_RETURN(packet, EndOfPacket(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Check if a packet is in a valid reading state -//////////////////////////////////////////////////////////// -sfBool sfPacket_CanRead(const sfPacket* packet) -{ - CSFML_CHECK_RETURN(packet, sfFalse); - return packet->This ? sfTrue : sfFalse; -} - - -//////////////////////////////////////////////////////////// -/// Functions to extract data from a packet -/// -/// \param Packet : Packet to read -/// -//////////////////////////////////////////////////////////// -sfBool sfPacket_ReadBool(sfPacket* packet) {return PacketRead(packet);} -sfInt8 sfPacket_ReadInt8(sfPacket* packet) {return PacketRead(packet);} -sfUint8 sfPacket_ReadUint8(sfPacket* packet) {return PacketRead(packet);} -sfInt16 sfPacket_ReadInt16(sfPacket* packet) {return PacketRead(packet);} -sfUint16 sfPacket_ReadUint16(sfPacket* packet) {return PacketRead(packet);} -sfInt32 sfPacket_ReadInt32(sfPacket* packet) {return PacketRead(packet);} -sfUint32 sfPacket_ReadUint32(sfPacket* packet) {return PacketRead(packet);} -float sfPacket_ReadFloat(sfPacket* packet) {return PacketRead(packet);} -double sfPacket_ReadDouble(sfPacket* packet) {return PacketRead(packet);} - -void sfPacket_ReadString(sfPacket* packet, char* string) -{ - CSFML_CHECK(packet); - - if (string) - packet->This >> string; -} - -void sfPacket_ReadWideString(sfPacket* packet, wchar_t* string) -{ - CSFML_CHECK(packet); - - if (string) - packet->This >> string; -} - - -//////////////////////////////////////////////////////////// -/// Functions to insert data into a packet -/// -/// \param Packet : Packet to write -/// -//////////////////////////////////////////////////////////// -void sfPacket_WriteBool(sfPacket* packet, sfBool value) {PacketWrite(packet, static_cast(value));} -void sfPacket_WriteInt8(sfPacket* packet, sfInt8 value) {PacketWrite(packet, value);} -void sfPacket_WriteUint8(sfPacket* packet, sfUint8 value) {PacketWrite(packet, value);} -void sfPacket_WriteInt16(sfPacket* packet, sfInt16 value) {PacketWrite(packet, value);} -void sfPacket_WriteUint16(sfPacket* packet, sfUint16 value) {PacketWrite(packet, value);} -void sfPacket_WriteInt32(sfPacket* packet, sfInt32 value) {PacketWrite(packet, value);} -void sfPacket_WriteUint32(sfPacket* packet, sfUint32 value) {PacketWrite(packet, value);} -void sfPacket_WriteFloat(sfPacket* packet, float value) {PacketWrite(packet, value);} -void sfPacket_WriteDouble(sfPacket* packet, double value) {PacketWrite(packet, value);} - -void sfPacket_WriteString(sfPacket* packet, const char* string) -{ - CSFML_CHECK(packet); - - if (string) - packet->This << string; -} - -void sfPacket_WriteWideString(sfPacket* packet, const wchar_t* string) -{ - CSFML_CHECK(packet); - - if (string) - packet->This << string; -} diff --git a/bindings/c/src/SFML/Network/PacketStruct.h b/bindings/c/src/SFML/Network/PacketStruct.h deleted file mode 100644 index b452fc06..00000000 --- a/bindings/c/src/SFML/Network/PacketStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_PACKETSTRUCT_H -#define SFML_PACKETSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfPacket -//////////////////////////////////////////////////////////// -struct sfPacket -{ - sf::Packet This; -}; - - -#endif // SFML_PACKETSTRUCT_H diff --git a/bindings/c/src/SFML/Network/SocketSelector.cpp b/bindings/c/src/SFML/Network/SocketSelector.cpp deleted file mode 100644 index 7418b9d4..00000000 --- a/bindings/c/src/SFML/Network/SocketSelector.cpp +++ /dev/null @@ -1,142 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new selector -//////////////////////////////////////////////////////////// -sfSocketSelector* sfSocketSelector_Create(void) -{ - return new sfSocketSelector; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing selector -//////////////////////////////////////////////////////////// -sfSocketSelector* sfSocketSelector_Copy(sfSocketSelector* selector) -{ - CSFML_CHECK_RETURN(selector, NULL); - - return new sfSocketSelector(*selector); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing selector -//////////////////////////////////////////////////////////// -void sfSocketSelector_Destroy(sfSocketSelector* selector) -{ - delete selector; -} - - -//////////////////////////////////////////////////////////// -/// Add a socket to watch to a selector -//////////////////////////////////////////////////////////// -void sfSocketSelector_AddTcpListener(sfSocketSelector* selector, sfTcpListener* socket) -{ - CSFML_CHECK(socket); - CSFML_CALL(selector, Add(socket->This)); -} -void sfSocketSelector_AddTcpSocket(sfSocketSelector* selector, sfTcpSocket* socket) -{ - CSFML_CHECK(socket); - CSFML_CALL(selector, Add(socket->This)); -} -void sfSocketSelector_AddUdpSocket(sfSocketSelector* selector, sfUdpSocket* socket) -{ - CSFML_CHECK(socket); - CSFML_CALL(selector, Add(socket->This)); -} - - -//////////////////////////////////////////////////////////// -/// Remove a socket from a selector -//////////////////////////////////////////////////////////// -void sfSocketSelector_RemoveTcpListener(sfSocketSelector* selector, sfTcpListener* socket) -{ - CSFML_CHECK(socket); - CSFML_CALL(selector, Remove(socket->This)); -} -void sfSocketSelector_RemoveTcpSocket(sfSocketSelector* selector, sfTcpSocket* socket) -{ - CSFML_CHECK(socket); - CSFML_CALL(selector, Remove(socket->This)); -} -void sfSocketSelector_RemoveUdpSocket(sfSocketSelector* selector, sfUdpSocket* socket) -{ - CSFML_CHECK(socket); - CSFML_CALL(selector, Remove(socket->This)); -} - - -//////////////////////////////////////////////////////////// -/// Remove all sockets from a selector -//////////////////////////////////////////////////////////// -void sfSocketSelector_Clear(sfSocketSelector* selector) -{ - CSFML_CALL(selector, Clear()); -} - - -//////////////////////////////////////////////////////////// -/// Wait and collect sockets which are ready for reading. -/// This functions will return either when at least one socket -/// is ready, or when the given timeout is over -//////////////////////////////////////////////////////////// -sfBool sfSocketSelector_Wait(sfSocketSelector* selector, sfUint32 timeout) -{ - CSFML_CALL_RETURN(selector, Wait(timeout), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Test a socket to know if it is ready to receive data -//////////////////////////////////////////////////////////// -sfBool sfSocketSelector_IsTcpListenerReady(const sfSocketSelector* selector, sfTcpListener* socket) -{ - CSFML_CHECK_RETURN(socket, sfFalse); - CSFML_CALL_RETURN(selector, IsReady(socket->This), sfFalse); -} -sfBool sfSocketSelector_IsTcpSocketReady(const sfSocketSelector* selector, sfTcpSocket* socket) -{ - CSFML_CHECK_RETURN(socket, sfFalse); - CSFML_CALL_RETURN(selector, IsReady(socket->This), sfFalse); -} -sfBool sfSocketSelector_IsUdpSocketReady(const sfSocketSelector* selector, sfUdpSocket* socket) -{ - CSFML_CHECK_RETURN(socket, sfFalse); - CSFML_CALL_RETURN(selector, IsReady(socket->This), sfFalse); -} diff --git a/bindings/c/src/SFML/Network/SocketSelectorStruct.h b/bindings/c/src/SFML/Network/SocketSelectorStruct.h deleted file mode 100644 index 740aac20..00000000 --- a/bindings/c/src/SFML/Network/SocketSelectorStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_SOCKETSELECTORSTRUCT_H -#define SFML_SOCKETSELECTORSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfSocketSelector -//////////////////////////////////////////////////////////// -struct sfSocketSelector -{ - sf::SocketSelector This; -}; - - -#endif // SFML_SOCKETSELECTORSTRUCT_H diff --git a/bindings/c/src/SFML/Network/TcpListener.cpp b/bindings/c/src/SFML/Network/TcpListener.cpp deleted file mode 100644 index d04bf4f5..00000000 --- a/bindings/c/src/SFML/Network/TcpListener.cpp +++ /dev/null @@ -1,94 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new TCP socket -//////////////////////////////////////////////////////////// -sfTcpListener* sfTcpListener_Create(void) -{ - return new sfTcpListener; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing TCP socket -//////////////////////////////////////////////////////////// -void sfTcpListener_Destroy(sfTcpListener* socket) -{ - delete socket; -} - - -//////////////////////////////////////////////////////////// -/// Change the blocking state of a TCP socket. -/// The default behaviour of a socket is blocking -//////////////////////////////////////////////////////////// -void sfTcpListener_SetBlocking(sfTcpListener* socket, sfBool blocking) -{ - CSFML_CALL(socket, SetBlocking(blocking == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Get the blocking state of the socket -//////////////////////////////////////////////////////////// -sfBool sfTcpListener_IsBlocking(const sfTcpListener* socket) -{ - CSFML_CALL_RETURN(socket, IsBlocking(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Listen to a specified port for incoming data or connections -//////////////////////////////////////////////////////////// -sfSocketStatus sfTcpListener_Listen(sfTcpListener* socket, unsigned short port) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - - return static_cast(socket->This.Listen(port)); -} - - -//////////////////////////////////////////////////////////// -/// Wait for a connection (must be listening to a port). -/// This function is blocking, ie. it won't return before -/// a connection has been accepted -//////////////////////////////////////////////////////////// -sfSocketStatus sfTcpListener_Accept(sfTcpListener* socket, sfTcpSocket** connected) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - CSFML_CHECK_RETURN(connected, sfSocketError); - - *connected = new sfTcpSocket; - return static_cast(socket->This.Accept((*connected)->This)); -} diff --git a/bindings/c/src/SFML/Network/TcpListenerStruct.h b/bindings/c/src/SFML/Network/TcpListenerStruct.h deleted file mode 100644 index 292dadd6..00000000 --- a/bindings/c/src/SFML/Network/TcpListenerStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_TCPLISTENERSTRUCT_H -#define SFML_TCPLISTENERSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfTcpListener -//////////////////////////////////////////////////////////// -struct sfTcpListener -{ - sf::TcpListener This; -}; - - -#endif // SFML_TCPLISTENERSTRUCT_H diff --git a/bindings/c/src/SFML/Network/TcpSocket.cpp b/bindings/c/src/SFML/Network/TcpSocket.cpp deleted file mode 100644 index 9cba5b82..00000000 --- a/bindings/c/src/SFML/Network/TcpSocket.cpp +++ /dev/null @@ -1,179 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new TCP socket -//////////////////////////////////////////////////////////// -sfTcpSocket* sfTcpSocket_Create(void) -{ - return new sfTcpSocket; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing TCP socket -//////////////////////////////////////////////////////////// -void sfTcpSocket_Destroy(sfTcpSocket* socket) -{ - delete socket; -} - - -//////////////////////////////////////////////////////////// -/// Change the blocking state of a TCP socket. -/// The default behaviour of a socket is blocking -//////////////////////////////////////////////////////////// -void sfTcpSocket_SetBlocking(sfTcpSocket* socket, sfBool blocking) -{ - CSFML_CALL(socket, SetBlocking(blocking == sfTrue)); -} - - -//////////////////////////////////////////////////////////// -/// Get the blocking state of the socket -//////////////////////////////////////////////////////////// -sfBool sfTcpSocket_IsBlocking(const sfTcpSocket* socket) -{ - CSFML_CALL_RETURN(socket, IsBlocking(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the port to which a socket is bound locally -//////////////////////////////////////////////////////////// -unsigned short sfTcpSocket_GetLocalPort(const sfTcpSocket* socket) -{ - CSFML_CALL_RETURN(socket, GetLocalPort(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Get the address of the connected peer of a socket -//////////////////////////////////////////////////////////// -sfIpAddress sfTcpSocket_GetRemoteAddress(const sfTcpSocket* socket) -{ - sfIpAddress result; - CSFML_CHECK_RETURN(socket, result); - - sf::IpAddress address = socket->This.GetRemoteAddress(); - strncpy(result.Address, address.ToString().c_str(), 16); - - return result; -} - - -//////////////////////////////////////////////////////////// -/// Get the port of the connected peer to which a socket is connected -//////////////////////////////////////////////////////////// -unsigned short sfTcpSocket_GetRemotePort(const sfTcpSocket* socket) -{ - CSFML_CALL_RETURN(socket, GetRemotePort(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Connect a TCP socket to another computer on a specified port -//////////////////////////////////////////////////////////// -sfSocketStatus sfTcpSocket_Connect(sfTcpSocket* socket, sfIpAddress host, unsigned short port, sfUint32 timeout) -{ - sf::IpAddress address(host.Address); - - CSFML_CHECK_RETURN(socket, sfSocketError); - - return static_cast(socket->This.Connect(address, port, timeout)); -} - - -//////////////////////////////////////////////////////////// -/// Disconnect a connect from its remote peer -//////////////////////////////////////////////////////////// -void sfTcpSocket_Disconnect(sfTcpSocket* socket) -{ - CSFML_CALL(socket, Disconnect()); -} - - -//////////////////////////////////////////////////////////// -/// Send an array of bytes to the host (must be connected first) -//////////////////////////////////////////////////////////// -sfSocketStatus sfTcpSocket_Send(sfTcpSocket* socket, const char* data, size_t size) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - - return static_cast(socket->This.Send(data, size)); -} - - -//////////////////////////////////////////////////////////// -/// Receive an array of bytes from the host (must be connected first) -//////////////////////////////////////////////////////////// -sfSocketStatus sfTcpSocket_Receive(sfTcpSocket* socket, char* data, size_t maxSize, size_t* sizeReceived) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - - if (sizeReceived) - { - return static_cast(socket->This.Receive(data, maxSize, *sizeReceived)); - } - else - { - std::size_t size = 0; - return static_cast(socket->This.Receive(data, maxSize, size)); - } -} - - -//////////////////////////////////////////////////////////// -/// Send a packet of data to the host (must be connected first) -//////////////////////////////////////////////////////////// -sfSocketStatus sfTcpSocket_SendPacket(sfTcpSocket* socket, sfPacket* packet) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - CSFML_CHECK_RETURN(packet, sfSocketError); - - return static_cast(socket->This.Send(packet->This)); -} - - -//////////////////////////////////////////////////////////// -/// Receive a packet from the host (must be connected first) -//////////////////////////////////////////////////////////// -sfSocketStatus sfTcpSocket_ReceivePacket(sfTcpSocket* socket, sfPacket* packet) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - CSFML_CHECK_RETURN(packet, sfSocketError); - - return static_cast(socket->This.Receive(packet->This)); -} diff --git a/bindings/c/src/SFML/Network/TcpSocketStruct.h b/bindings/c/src/SFML/Network/TcpSocketStruct.h deleted file mode 100644 index f3f434bf..00000000 --- a/bindings/c/src/SFML/Network/TcpSocketStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_TCPSOCKETSTRUCT_H -#define SFML_TCPSOCKETSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfTcpSocket -//////////////////////////////////////////////////////////// -struct sfTcpSocket -{ - sf::TcpSocket This; -}; - - -#endif // SFML_TCPSOCKETSTRUCT_H diff --git a/bindings/c/src/SFML/Network/UdpSocket.cpp b/bindings/c/src/SFML/Network/UdpSocket.cpp deleted file mode 100644 index 9f9a405e..00000000 --- a/bindings/c/src/SFML/Network/UdpSocket.cpp +++ /dev/null @@ -1,184 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new UDP socket -//////////////////////////////////////////////////////////// -sfUdpSocket* sfUdpSocket_Create(void) -{ - return new sfUdpSocket; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing UDP socket -//////////////////////////////////////////////////////////// -void sfUdpSocket_Destroy(sfUdpSocket* socket) -{ - delete socket; -} - - -//////////////////////////////////////////////////////////// -/// Change the blocking state of a UDP socket. -/// The default behaviour of a socket is blocking -//////////////////////////////////////////////////////////// -void sfUdpSocket_SetBlocking(sfUdpSocket* socket, sfBool blocking) -{ - CSFML_CALL(socket, SetBlocking(blocking == sfTrue)); -} - -//////////////////////////////////////////////////////////// -/// Get the blocking state of the socket -//////////////////////////////////////////////////////////// -sfBool sfUdpSocket_IsBlocking(const sfUdpSocket* socket) -{ - CSFML_CALL_RETURN(socket, IsBlocking(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the port to which the socket is bound locally -//////////////////////////////////////////////////////////// -unsigned short sfUdpSocket_GetLocalPort(const sfUdpSocket* socket) -{ - CSFML_CALL_RETURN(socket, GetLocalPort(), 0); -} - - -//////////////////////////////////////////////////////////// -/// Bind a socket to a specific port -//////////////////////////////////////////////////////////// -sfSocketStatus sfUdpSocket_Bind(sfUdpSocket* socket, unsigned short port) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - - return static_cast(socket->This.Bind(port)); -} - - -//////////////////////////////////////////////////////////// -/// Unbind a socket from its previous port, if any -//////////////////////////////////////////////////////////// -void sfUdpSocket_Unbind(sfUdpSocket* socket) -{ - CSFML_CALL(socket, Unbind()); -} - - -//////////////////////////////////////////////////////////// -/// Send an array of bytes -//////////////////////////////////////////////////////////// -sfSocketStatus sfUdpSocket_Send(sfUdpSocket* socket, const char* data, size_t size, sfIpAddress address, unsigned short port) -{ - CSFML_CHECK_RETURN(socket, sfSocketError) - - // Convert the address - sf::IpAddress receiver(address.Address); - - return static_cast(socket->This.Send(data, size, receiver, port)); -} - - -//////////////////////////////////////////////////////////// -/// Receive an array of bytes. -/// This function is blocking, ie. it won't return before some -/// bytes have been received -//////////////////////////////////////////////////////////// -sfSocketStatus sfUdpSocket_Receive(sfUdpSocket* socket, char* data, size_t maxSize, size_t* sizeReceived, sfIpAddress* address, unsigned short* port) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - - // Call SFML internal function - sf::IpAddress sender; - unsigned short senderPort; - std::size_t received; - - sf::Socket::Status status = socket->This.Receive(data, maxSize, received, sender, senderPort); - if (status != sf::Socket::Done) - return static_cast(status); - - if (sizeReceived) - *sizeReceived = received; - - if (address) - strncpy(address->Address, sender.ToString().c_str(), 16); - - if (port) - *port = senderPort; - - return sfSocketDone; -} - - -//////////////////////////////////////////////////////////// -/// Send a packet of data -//////////////////////////////////////////////////////////// -sfSocketStatus sfUdpSocket_SendPacket(sfUdpSocket* socket, sfPacket* packet, sfIpAddress address, unsigned short port) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - CSFML_CHECK_RETURN(packet, sfSocketError); - - // Convert the address - sf::IpAddress receiver(address.Address); - - return static_cast(socket->This.Send(packet->This, receiver, port)); -} - - -//////////////////////////////////////////////////////////// -/// Receive a packet. -/// This function is blocking, ie. it won't return before a -/// packet is received -//////////////////////////////////////////////////////////// -sfSocketStatus sfUdpSocket_ReceivePacket(sfUdpSocket* socket, sfPacket* packet, sfIpAddress* address, unsigned short* port) -{ - CSFML_CHECK_RETURN(socket, sfSocketError); - CSFML_CHECK_RETURN(packet, sfSocketError); - - sf::IpAddress sender; - unsigned short senderPort; - sf::Socket::Status status = socket->This.Receive(packet->This, sender, senderPort); - if (status != sf::Socket::Done) - return static_cast(status); - - if (address) - strncpy(address->Address, sender.ToString().c_str(), 16); - - if (port) - *port = senderPort; - - return sfSocketDone; -} diff --git a/bindings/c/src/SFML/Network/UdpSocketStruct.h b/bindings/c/src/SFML/Network/UdpSocketStruct.h deleted file mode 100644 index 40833eff..00000000 --- a/bindings/c/src/SFML/Network/UdpSocketStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_UDPSOCKETSTRUCT_H -#define SFML_UDPSOCKETSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfUdpSocket -//////////////////////////////////////////////////////////// -struct sfUdpSocket -{ - sf::UdpSocket This; -}; - - -#endif // SFML_UDPSOCKETSTRUCT_H diff --git a/bindings/c/src/SFML/System/CMakeLists.txt b/bindings/c/src/SFML/System/CMakeLists.txt deleted file mode 100644 index 1ce356ce..00000000 --- a/bindings/c/src/SFML/System/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ - -set(INCROOT ${CMAKE_SOURCE_DIR}/include/SFML/System) -set(SRCROOT ${CMAKE_SOURCE_DIR}/src/SFML/System) - -# all source files -set(SRC - ${SRCROOT}/Clock.cpp - ${SRCROOT}/ClockStruct.h - ${INCROOT}/Clock.h - ${SRCROOT}/Mutex.cpp - ${SRCROOT}/MutexStruct.h - ${INCROOT}/Mutex.h - ${SRCROOT}/Sleep.cpp - ${INCROOT}/Sleep.h - ${SRCROOT}/Thread.cpp - ${SRCROOT}/ThreadStruct.h - ${INCROOT}/Thread.h - ${INCROOT}/Types.h -) - -# define the csfml-system target -csfml_add_library(csfml-system - SOURCES ${SRC} - DEPENDS ${SFML_SYSTEM_LIBRARY}) diff --git a/bindings/c/src/SFML/System/Clock.cpp b/bindings/c/src/SFML/System/Clock.cpp deleted file mode 100644 index 69667612..00000000 --- a/bindings/c/src/SFML/System/Clock.cpp +++ /dev/null @@ -1,77 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new clock and start it -//////////////////////////////////////////////////////////// -sfClock* sfClock_Create(void) -{ - return new sfClock; -} - - -//////////////////////////////////////////////////////////// -/// Copy an existing clock -//////////////////////////////////////////////////////////// -sfClock* sfClock_Copy(sfClock* clock) -{ - CSFML_CHECK_RETURN(clock, NULL); - - return new sfClock(*clock); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing clock -//////////////////////////////////////////////////////////// -void sfClock_Destroy(sfClock* clock) -{ - delete clock; -} - - -//////////////////////////////////////////////////////////// -/// Get the time elapsed for a clock -//////////////////////////////////////////////////////////// -sfUint32 sfClock_GetTime(const sfClock* clock) -{ - CSFML_CALL_RETURN(clock, GetElapsedTime(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Restart a clock -//////////////////////////////////////////////////////////// -void sfClock_Reset(sfClock* clock) -{ - CSFML_CALL(clock, Reset()) -} diff --git a/bindings/c/src/SFML/System/ClockStruct.h b/bindings/c/src/SFML/System/ClockStruct.h deleted file mode 100644 index 20b4edc0..00000000 --- a/bindings/c/src/SFML/System/ClockStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_CLOCKSTRUCT_H -#define SFML_CLOCKSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfClock -//////////////////////////////////////////////////////////// -struct sfClock -{ - sf::Clock This; -}; - - -#endif // SFML_CLOCKSTRUCT_H diff --git a/bindings/c/src/SFML/System/Mutex.cpp b/bindings/c/src/SFML/System/Mutex.cpp deleted file mode 100644 index f9ac7860..00000000 --- a/bindings/c/src/SFML/System/Mutex.cpp +++ /dev/null @@ -1,66 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Create a new mutex -//////////////////////////////////////////////////////////// -sfMutex* sfMutex_Create(void) -{ - return new sfMutex; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing mutex -//////////////////////////////////////////////////////////// -void sfMutex_Destroy(sfMutex* mutex) -{ - delete mutex; -} - - -//////////////////////////////////////////////////////////// -/// Lock a mutex -//////////////////////////////////////////////////////////// -void sfMutex_Lock(sfMutex* mutex) -{ - CSFML_CALL(mutex, Lock()) -} - - -//////////////////////////////////////////////////////////// -/// Unlock a mutex -//////////////////////////////////////////////////////////// -void sfMutex_Unlock(sfMutex* mutex) -{ - CSFML_CALL(mutex, Unlock()) -} diff --git a/bindings/c/src/SFML/System/MutexStruct.h b/bindings/c/src/SFML/System/MutexStruct.h deleted file mode 100644 index 68f6786e..00000000 --- a/bindings/c/src/SFML/System/MutexStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_MUTEXSTRUCT_H -#define SFML_MUTEXSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfMutex -//////////////////////////////////////////////////////////// -struct sfMutex -{ - sf::Mutex This; -}; - - -#endif // SFML_MUTEXSTRUCT_H diff --git a/bindings/c/src/SFML/System/Sleep.cpp b/bindings/c/src/SFML/System/Sleep.cpp deleted file mode 100644 index 8d8f9fc5..00000000 --- a/bindings/c/src/SFML/System/Sleep.cpp +++ /dev/null @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Make the current thread sleep for a given duration -//////////////////////////////////////////////////////////// -void sfSleep(sfUint32 Duration) -{ - sf::Sleep(Duration); -} diff --git a/bindings/c/src/SFML/System/Thread.cpp b/bindings/c/src/SFML/System/Thread.cpp deleted file mode 100644 index 4b312aee..00000000 --- a/bindings/c/src/SFML/System/Thread.cpp +++ /dev/null @@ -1,78 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new thread from a function pointer -//////////////////////////////////////////////////////////// -sfThread* sfThread_Create(void (*function)(void*), void* userData) -{ - return new sfThread(function, userData); -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing thread -//////////////////////////////////////////////////////////// -void sfThread_Destroy(sfThread* thread) -{ - delete thread; -} - - -//////////////////////////////////////////////////////////// -/// Run a thread -//////////////////////////////////////////////////////////// -void sfThread_Launch(sfThread* thread) -{ - CSFML_CALL(thread, Launch()); -} - - -//////////////////////////////////////////////////////////// -/// Wait until a thread finishes -//////////////////////////////////////////////////////////// -void sfThread_Wait(sfThread* thread) -{ - CSFML_CALL(thread, Wait()); -} - - -//////////////////////////////////////////////////////////// -/// Terminate a thread -/// Terminating a thread with this function is not safe, -/// you should rather try to make the thread function -/// terminate by itself -//////////////////////////////////////////////////////////// -void sfThread_Terminate(sfThread* thread) -{ - CSFML_CALL(thread, Terminate()); -} diff --git a/bindings/c/src/SFML/System/ThreadStruct.h b/bindings/c/src/SFML/System/ThreadStruct.h deleted file mode 100644 index c25ffddb..00000000 --- a/bindings/c/src/SFML/System/ThreadStruct.h +++ /dev/null @@ -1,48 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_THREADSTRUCT_H -#define SFML_THREADSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfThread -//////////////////////////////////////////////////////////// -struct sfThread -{ - sfThread(void (*Function)(void*), void* UserData) : - This(Function, UserData) - { - } - - sf::Thread This; -}; - - -#endif // SFML_THREADSTRUCT_H diff --git a/bindings/c/src/SFML/Window/CMakeLists.txt b/bindings/c/src/SFML/Window/CMakeLists.txt deleted file mode 100644 index 1e8595ec..00000000 --- a/bindings/c/src/SFML/Window/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ - -set(INCROOT ${CMAKE_SOURCE_DIR}/include/SFML/Window) -set(SRCROOT ${CMAKE_SOURCE_DIR}/src/SFML/Window) - -# all source files -set(SRC - ${SRCROOT}/Context.cpp - ${SRCROOT}/ContextStruct.h - ${INCROOT}/Context.h - ${INCROOT}/Event.h - ${SRCROOT}/Joystick.cpp - ${SRCROOT}/Keyboard.cpp - ${SRCROOT}/Mouse.cpp - ${INCROOT}/Joystick.h - ${INCROOT}/Keyboard.h - ${INCROOT}/Mouse.h - ${INCROOT}/Types.h - ${SRCROOT}/VideoMode.cpp - ${INCROOT}/VideoMode.h - ${SRCROOT}/Window.cpp - ${SRCROOT}/WindowStruct.h - ${INCROOT}/Window.h - ${INCROOT}/WindowHandle.h -) - -# define the csfml-window target -csfml_add_library(csfml-window - SOURCES ${SRC} - DEPENDS ${SFML_WINDOW_LIBRARY} ${SFML_SYSTEM_LIBRARY}) diff --git a/bindings/c/src/SFML/Window/Context.cpp b/bindings/c/src/SFML/Window/Context.cpp deleted file mode 100644 index 1b731f5e..00000000 --- a/bindings/c/src/SFML/Window/Context.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new context -//////////////////////////////////////////////////////////// -sfContext* sfContext_Create(void) -{ - return new sfContext; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing context -//////////////////////////////////////////////////////////// -void sfContext_Destroy(sfContext* context) -{ - delete context; -} - - -//////////////////////////////////////////////////////////// -/// Activate or deactivate a context -//////////////////////////////////////////////////////////// -void sfContext_SetActive(sfContext* context, sfBool active) -{ - CSFML_CALL(context, SetActive(active == sfTrue)) -} diff --git a/bindings/c/src/SFML/Window/ContextStruct.h b/bindings/c/src/SFML/Window/ContextStruct.h deleted file mode 100644 index fcae94e2..00000000 --- a/bindings/c/src/SFML/Window/ContextStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_CONTEXTSTRUCT_H -#define SFML_CONTEXTSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfContext -//////////////////////////////////////////////////////////// -struct sfContext -{ - sf::Context This; -}; - - -#endif // SFML_CONTEXTSTRUCT_H diff --git a/bindings/c/src/SFML/Window/Joystick.cpp b/bindings/c/src/SFML/Window/Joystick.cpp deleted file mode 100644 index cc60c4c4..00000000 --- a/bindings/c/src/SFML/Window/Joystick.cpp +++ /dev/null @@ -1,84 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Check if a joystick is connected -//////////////////////////////////////////////////////////// -sfBool sfJoystick_IsConnected(unsigned int joystick) -{ - return sf::Joystick::IsConnected(joystick) ? sfTrue : sfFalse; -} - - -//////////////////////////////////////////////////////////// -/// Return the number of buttons supported by a joystick -//////////////////////////////////////////////////////////// -unsigned int sfJoystick_GetButtonCount(unsigned int joystick) -{ - return sf::Joystick::GetButtonCount(joystick); -} - - -//////////////////////////////////////////////////////////// -/// Check if a joystick supports a given axis -//////////////////////////////////////////////////////////// -sfBool sfJoystick_HasAxis(unsigned int joystick, sfJoystickAxis axis) -{ - return sf::Joystick::HasAxis(joystick, static_cast(axis)) ? sfTrue : sfFalse; -} - - -//////////////////////////////////////////////////////////// -/// Check if a joystick button is pressed -//////////////////////////////////////////////////////////// -sfBool sfJoystick_IsButtonPressed(unsigned int joystick, unsigned int button) -{ - return sf::Joystick::IsButtonPressed(joystick, button) ? sfTrue : sfFalse; -} - - -//////////////////////////////////////////////////////////// -/// Get the current position of a joystick axis -//////////////////////////////////////////////////////////// -float sfJoystick_GetAxisPosition(unsigned int joystick, sfJoystickAxis axis) -{ - return sf::Joystick::GetAxisPosition(joystick, static_cast(axis)); -} - - -//////////////////////////////////////////////////////////// -/// Update the states of all joysticks -//////////////////////////////////////////////////////////// -void sfJoystick_Update(void) -{ - sf::Joystick::Update(); -} diff --git a/bindings/c/src/SFML/Window/Keyboard.cpp b/bindings/c/src/SFML/Window/Keyboard.cpp deleted file mode 100644 index 190c118e..00000000 --- a/bindings/c/src/SFML/Window/Keyboard.cpp +++ /dev/null @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Check if a key is pressed -//////////////////////////////////////////////////////////// -sfBool sfKeyboard_IsKeyPressed(sfKeyCode key) -{ - return sf::Keyboard::IsKeyPressed(static_cast(key)); -} diff --git a/bindings/c/src/SFML/Window/Mouse.cpp b/bindings/c/src/SFML/Window/Mouse.cpp deleted file mode 100644 index ac0a2663..00000000 --- a/bindings/c/src/SFML/Window/Mouse.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Check if a mouse button is pressed -//////////////////////////////////////////////////////////// -sfBool sfMouse_IsButtonPressed(sfMouseButton button) -{ - return sf::Mouse::IsButtonPressed(static_cast(button)) ? sfTrue : sfFalse; -} - - -//////////////////////////////////////////////////////////// -/// Get the current position of the mouse -//////////////////////////////////////////////////////////// -void sfMouse_GetPosition(int* x, int* y) -{ - sf::Vector2i position = sf::Mouse::GetPosition(); - - if (x) - *x = position.x; - if (y) - *y = position.y; -} diff --git a/bindings/c/src/SFML/Window/VideoMode.cpp b/bindings/c/src/SFML/Window/VideoMode.cpp deleted file mode 100644 index 0a9ba709..00000000 --- a/bindings/c/src/SFML/Window/VideoMode.cpp +++ /dev/null @@ -1,84 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Get the current desktop video mode -//////////////////////////////////////////////////////////// -sfVideoMode sfVideoMode_GetDesktopMode(void) -{ - sf::VideoMode desktop = sf::VideoMode::GetDesktopMode(); - sfVideoMode ret; - ret.Width = desktop.Width; - ret.Height = desktop.Height; - ret.BitsPerPixel = desktop.BitsPerPixel; - - return ret; -} - - -//////////////////////////////////////////////////////////// -/// Get all the supported video modes for fullscreen mode. -/// Modes are sorted from best to worst. -//////////////////////////////////////////////////////////// -const sfVideoMode* sfVideoMode_GetFullscreenModes(size_t* Count) -{ - static std::vector modes; - - // Populate the array on first call - if (modes.empty()) - { - const std::vector& SFMLModes = sf::VideoMode::GetFullscreenModes(); - for (std::vector::const_iterator it = SFMLModes.begin(); it != SFMLModes.end(); ++it) - { - sfVideoMode mode; - mode.Width = it->Width; - mode.Height = it->Height; - mode.BitsPerPixel = it->BitsPerPixel; - modes.push_back(mode); - } - } - - if (Count) - *Count = modes.size(); - - return !modes.empty() ? &modes[0] : NULL; -} - - -//////////////////////////////////////////////////////////// -/// Tell whether or not a video mode is supported -//////////////////////////////////////////////////////////// -sfBool sfVideoMode_IsValid(sfVideoMode mode) -{ - sf::VideoMode videoMode(mode.Width, mode.Height, mode.BitsPerPixel); - return videoMode.IsValid() ? sfTrue : sfFalse; -} diff --git a/bindings/c/src/SFML/Window/Window.cpp b/bindings/c/src/SFML/Window/Window.cpp deleted file mode 100644 index ea12c500..00000000 --- a/bindings/c/src/SFML/Window/Window.cpp +++ /dev/null @@ -1,346 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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. -// -//////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include -#include -#include -#include - - -//////////////////////////////////////////////////////////// -/// Construct a new window -//////////////////////////////////////////////////////////// -sfWindow* sfWindow_Create(sfVideoMode mode, const char* title, unsigned long style, const sfContextSettings* settings) -{ - // Convert video mode - sf::VideoMode videoMode(mode.Width, mode.Height, mode.BitsPerPixel); - - // Convert context settings - sf::ContextSettings params; - if (settings) - { - params.DepthBits = settings->DepthBits; - params.StencilBits = settings->StencilBits; - params.AntialiasingLevel = settings->AntialiasingLevel; - params.MajorVersion = settings->MajorVersion; - params.MinorVersion = settings->MinorVersion; - } - - // Create the window - sfWindow* window = new sfWindow; - window->This.Create(videoMode, title, style, params); - - return window; -} - - -//////////////////////////////////////////////////////////// -/// Construct a window from an existing control -//////////////////////////////////////////////////////////// -sfWindow* sfWindow_CreateFromHandle(sfWindowHandle handle, const sfContextSettings* settings) -{ - // Convert context settings - sf::ContextSettings params; - if (settings) - { - params.DepthBits = settings->DepthBits; - params.StencilBits = settings->StencilBits; - params.AntialiasingLevel = settings->AntialiasingLevel; - params.MajorVersion = settings->MajorVersion; - params.MinorVersion = settings->MinorVersion; - } - - // Create the window - sfWindow* window = new sfWindow; - window->This.Create(handle, params); - - return window; -} - - -//////////////////////////////////////////////////////////// -/// Destroy an existing window -//////////////////////////////////////////////////////////// -void sfWindow_Destroy(sfWindow* window) -{ - delete window; -} - -//////////////////////////////////////////////////////////// -/// Close a window (but doesn't destroy the internal data) -//////////////////////////////////////////////////////////// -void sfWindow_Close(sfWindow* window) -{ - CSFML_CALL(window, Close()); -} - - -//////////////////////////////////////////////////////////// -/// Tell whether or not a window is opened -//////////////////////////////////////////////////////////// -sfBool sfWindow_IsOpened(const sfWindow* window) -{ - CSFML_CALL_RETURN(window, IsOpened(), sfFalse); -} - - -//////////////////////////////////////////////////////////// -/// Get the width of the rendering region of a window -//////////////////////////////////////////////////////////// -unsigned int sfWindow_GetWidth(const sfWindow* window) -{ - CSFML_CALL_RETURN(window, GetWidth(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Get the height of the rendering region of a window -//////////////////////////////////////////////////////////// -unsigned int sfWindow_GetHeight(const sfWindow* window) -{ - CSFML_CALL_RETURN(window, GetHeight(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Get the creation settings of a window -//////////////////////////////////////////////////////////// -sfContextSettings sfWindow_GetSettings(const sfWindow* window) -{ - sfContextSettings settings = {0, 0, 0, 0, 0}; - CSFML_CHECK_RETURN(window, settings); - - const sf::ContextSettings& params = window->This.GetSettings(); - settings.DepthBits = params.DepthBits; - settings.StencilBits = params.StencilBits; - settings.AntialiasingLevel = params.AntialiasingLevel; - settings.MajorVersion = params.MajorVersion; - settings.MinorVersion = params.MinorVersion; - - return settings; -} - - -//////////////////////////////////////////////////////////// -/// Get the event on top of events stack of a window, if any, and pop it -//////////////////////////////////////////////////////////// -sfBool sfWindow_PollEvent(sfWindow* window, sfEvent* event) -{ - CSFML_CHECK_RETURN(window, sfFalse); - CSFML_CHECK_RETURN(event, sfFalse); - - // Get the event - sf::Event SFMLEvent; - sfBool ret = window->This.PollEvent(SFMLEvent); - - // No event, return - if (!ret) - return sfFalse; - - // Convert the sf::Event event to a sfEvent - ConvertEvent(SFMLEvent, event); - - return sfTrue; -} - - -//////////////////////////////////////////////////////////// -/// Wait for an event and return it -//////////////////////////////////////////////////////////// -sfBool sfWindow_WaitEvent(sfWindow* window, sfEvent* event) -{ - CSFML_CHECK_RETURN(window, sfFalse); - CSFML_CHECK_RETURN(event, sfFalse); - - // Get the event - sf::Event SFMLEvent; - sfBool ret = window->This.WaitEvent(SFMLEvent); - - // Error, return - if (!ret) - return sfFalse; - - // Convert the sf::Event event to a sfEvent - ConvertEvent(SFMLEvent, event); - - return sfTrue; -} - - -//////////////////////////////////////////////////////////// -/// Enable / disable vertical synchronization on a window -//////////////////////////////////////////////////////////// -void sfWindow_EnableVerticalSync(sfWindow* window, sfBool enabled) -{ - CSFML_CALL(window, EnableVerticalSync(enabled == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Show or hide the mouse cursor on a window -//////////////////////////////////////////////////////////// -void sfWindow_ShowMouseCursor(sfWindow* window, sfBool show) -{ - CSFML_CALL(window, ShowMouseCursor(show == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Change the position of the mouse cursor on a window -//////////////////////////////////////////////////////////// -void sfWindow_SetCursorPosition(sfWindow* window, unsigned int left, unsigned int top) -{ - CSFML_CALL(window, SetCursorPosition(left, top)) -} - - -//////////////////////////////////////////////////////////// -/// Get the position of the mouse cursor on a window -//////////////////////////////////////////////////////////// -void sfWindow_GetCursorPosition(sfWindow* window, int* left, int* top) -{ - CSFML_CHECK(window); - sf::Vector2i position = window->This.GetCursorPosition(); - - if (left) - *left = position.x; - if (top) - *top = position.y; -} - - -//////////////////////////////////////////////////////////// -/// Change the position of a window on screen. -/// Only works for top-level windows -//////////////////////////////////////////////////////////// -void sfWindow_SetPosition(sfWindow* window, int left, int top) -{ - CSFML_CALL(window, SetPosition(left, top)) -} - - -//////////////////////////////////////////////////////////// -/// Change the size of the rendering region of a window -//////////////////////////////////////////////////////////// -void sfWindow_SetSize(sfWindow* window, unsigned int width, unsigned int height) -{ - CSFML_CALL(window, SetSize(width, height)) -} - - -//////////////////////////////////////////////////////////// -/// Change the title of a window -//////////////////////////////////////////////////////////// -void sfWindow_SetTitle(sfWindow* window, const char* title) -{ - CSFML_CALL(window, SetTitle(title)) -} - - -//////////////////////////////////////////////////////////// -/// Show or hide a window -//////////////////////////////////////////////////////////// -void sfWindow_Show(sfWindow* window, sfBool show) -{ - CSFML_CALL(window, Show(show == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Enable or disable automatic key-repeat for keydown events. -/// Automatic key-repeat is enabled by default -//////////////////////////////////////////////////////////// -void sfWindow_EnableKeyRepeat(sfWindow* window, sfBool enabled) -{ - CSFML_CALL(window, EnableKeyRepeat(enabled == sfTrue)) -} - - -//////////////////////////////////////////////////////////// -/// Change the window's icon -//////////////////////////////////////////////////////////// -void sfWindow_SetIcon(sfWindow* window, unsigned int width, unsigned int height, const sfUint8* pixels) -{ - CSFML_CALL(window, SetIcon(width, height, pixels)) -} - - -//////////////////////////////////////////////////////////// -/// Activate or deactivate a window as the current target for rendering -//////////////////////////////////////////////////////////// -sfBool sfWindow_SetActive(sfWindow* window, sfBool active) -{ - CSFML_CALL_RETURN(window, SetActive(active == sfTrue), sfFalse) -} - - -//////////////////////////////////////////////////////////// -/// Display a window on screen -//////////////////////////////////////////////////////////// -void sfWindow_Display(sfWindow* window) -{ - CSFML_CALL(window, Display()) -} - - -//////////////////////////////////////////////////////////// -/// Limit the framerate to a maximum fixed frequency for a window -//////////////////////////////////////////////////////////// -void sfWindow_SetFramerateLimit(sfWindow* window, unsigned int limit) -{ - CSFML_CALL(window, SetFramerateLimit(limit)) -} - - -//////////////////////////////////////////////////////////// -/// Get time elapsed since last frame of a window -//////////////////////////////////////////////////////////// -sfUint32 sfWindow_GetFrameTime(const sfWindow* window) -{ - CSFML_CALL_RETURN(window, GetFrameTime(), 0) -} - - -//////////////////////////////////////////////////////////// -/// Change the joystick threshold, ie. the value below which -/// no move event will be generated -//////////////////////////////////////////////////////////// -void sfWindow_SetJoystickThreshold(sfWindow* window, float threshold) -{ - CSFML_CALL(window, SetJoystickThreshold(threshold)) -} - - -//////////////////////////////////////////////////////////// -/// Retrieve the Os-specific handle of a window -//////////////////////////////////////////////////////////// -sfWindowHandle sfWindow_GetSystemHandle(const sfWindow* window) -{ - CSFML_CHECK_RETURN(window, NULL); - - return (sfWindowHandle)window->This.GetSystemHandle(); -} diff --git a/bindings/c/src/SFML/Window/WindowStruct.h b/bindings/c/src/SFML/Window/WindowStruct.h deleted file mode 100644 index 1f0eadde..00000000 --- a/bindings/c/src/SFML/Window/WindowStruct.h +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 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_WINDOWSTRUCT_H -#define SFML_WINDOWSTRUCT_H - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#include - - -//////////////////////////////////////////////////////////// -// Internal structure of sfWindow -//////////////////////////////////////////////////////////// -struct sfWindow -{ - sf::Window This; -}; - - -#endif // SFML_WINDOWSTRUCT_H From e95323e2ea0cda28cc54236e567dd8a1e5837be3 Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Wed, 6 Jul 2011 23:10:53 +0200 Subject: [PATCH 13/23] Removed the D and Python bindings --- bindings/d/AUTHORS | 2 - bindings/d/LICENCE | 18 - bindings/d/import/dsfml/audio/all.d | 36 - bindings/d/import/dsfml/audio/listener.d | 185 ----- bindings/d/import/dsfml/audio/music.d | 188 ----- bindings/d/import/dsfml/audio/sound.d | 224 ----- bindings/d/import/dsfml/audio/soundbuffer.d | 205 ----- .../import/dsfml/audio/soundbufferrecorder.d | 109 --- bindings/d/import/dsfml/audio/soundrecorder.d | 316 ------- bindings/d/import/dsfml/audio/soundsource.d | 311 ------- bindings/d/import/dsfml/audio/soundstream.d | 384 --------- bindings/d/import/dsfml/graphics/all.d | 41 - bindings/d/import/dsfml/graphics/blendmode.d | 38 - bindings/d/import/dsfml/graphics/color.d | 123 --- .../d/import/dsfml/graphics/drawableimpl.d | 268 ------ bindings/d/import/dsfml/graphics/font.d | 193 ----- bindings/d/import/dsfml/graphics/idrawable.d | 283 ------- bindings/d/import/dsfml/graphics/image.d | 352 -------- .../d/import/dsfml/graphics/irendertarget.d | 138 ---- bindings/d/import/dsfml/graphics/rect.d | 149 ---- .../d/import/dsfml/graphics/renderimage.d | 316 ------- .../d/import/dsfml/graphics/renderwindow.d | 336 -------- bindings/d/import/dsfml/graphics/shader.d | 177 ---- bindings/d/import/dsfml/graphics/shape.d | 306 ------- bindings/d/import/dsfml/graphics/sprite.d | 238 ------ bindings/d/import/dsfml/graphics/text.d | 277 ------- bindings/d/import/dsfml/graphics/view.d | 347 -------- bindings/d/import/dsfml/network/all.d | 38 - bindings/d/import/dsfml/network/ftp.d | 602 -------------- bindings/d/import/dsfml/network/http.d | 398 --------- bindings/d/import/dsfml/network/ipaddress.d | 148 ---- bindings/d/import/dsfml/network/packet.d | 417 ---------- .../d/import/dsfml/network/socketselector.d | 153 ---- .../d/import/dsfml/network/socketstatus.d | 38 - bindings/d/import/dsfml/network/tcplistener.d | 49 -- bindings/d/import/dsfml/network/tcpsocket.d | 273 ------ bindings/d/import/dsfml/network/udpsocket.d | 241 ------ bindings/d/import/dsfml/system/all.d | 47 -- bindings/d/import/dsfml/system/alloc.d | 84 -- bindings/d/import/dsfml/system/common.d | 141 ---- bindings/d/import/dsfml/system/dllloader.d | 238 ------ bindings/d/import/dsfml/system/exception.d | 43 - bindings/d/import/dsfml/system/linkedlist.d | 103 --- bindings/d/import/dsfml/system/lock.d | 66 -- bindings/d/import/dsfml/system/stringutil.d | 82 -- bindings/d/import/dsfml/system/vector.d | 470 ----------- bindings/d/import/dsfml/window/all.d | 34 - bindings/d/import/dsfml/window/context.d | 68 -- bindings/d/import/dsfml/window/event.d | 326 -------- bindings/d/import/dsfml/window/input.d | 152 ---- bindings/d/import/dsfml/window/videomode.d | 105 --- bindings/d/import/dsfml/window/window.d | 454 ---------- bindings/d/import/dsfml/window/windowhandle.d | 47 -- bindings/d/import/dsss.conf | 46 -- .../d/samples/dsfml/bin/Data/background.jpg | Bin 157847 -> 0 bytes bindings/d/samples/dsfml/bin/Data/ball.tga | Bin 2891 -> 0 bytes bindings/d/samples/dsfml/bin/Data/ball.wav | Bin 15442 -> 0 bytes .../dsfml/bin/Data/bluerallyecarleft.bmp | Bin 27702 -> 0 bytes .../dsfml/bin/Data/bluerallyecarright.bmp | Bin 27702 -> 0 bytes bindings/d/samples/dsfml/bin/Data/blur.sfx | 16 - .../d/samples/dsfml/bin/Data/car_idle.wav | Bin 59291 -> 0 bytes .../d/samples/dsfml/bin/Data/cheeseburger.ttf | Bin 42020 -> 0 bytes .../d/samples/dsfml/bin/Data/colorize.sfx | 10 - .../d/samples/dsfml/bin/Data/crosshair.bmp | Bin 3126 -> 0 bytes .../d/samples/dsfml/bin/Data/crosshair.tga | Bin 1466 -> 0 bytes bindings/d/samples/dsfml/bin/Data/fisheye.sfx | 12 - bindings/d/samples/dsfml/bin/Data/nothing.sfx | 6 - .../dsfml/bin/Data/opengl/background.jpg | Bin 142959 -> 0 bytes .../samples/dsfml/bin/Data/opengl/texture.jpg | Bin 20550 -> 0 bytes bindings/d/samples/dsfml/bin/Data/paddle.tga | Bin 1943 -> 0 bytes bindings/d/samples/dsfml/bin/Data/wave.jpg | Bin 23249 -> 0 bytes bindings/d/samples/dsfml/bin/Data/wave.sfx | 12 - bindings/d/samples/dsfml/bin/libsndfile-1.dll | Bin 325120 -> 0 bytes bindings/d/samples/dsfml/bin/openal32.dll | Bin 294774 -> 0 bytes bindings/d/samples/dsfml/dfl/DFLSample.d | 230 ------ bindings/d/samples/dsfml/dsss.conf | 33 - bindings/d/samples/dsfml/opengl/opengl.d | 155 ---- bindings/d/samples/dsfml/pong/pong.d | 202 ----- bindings/d/samples/dsfml/postFX/postFX.d | 117 --- .../d/samples/dsfml/socket/socketclient.d | 66 -- .../d/samples/dsfml/socket/socketserver.d | 83 -- bindings/d/samples/dsfml/sound3d/sound3d.d | 185 ----- .../d/samples/dsfml/soundstream/soundstream.d | 97 --- bindings/d/samples/dsfml/view/view.d | 69 -- bindings/d/samples/dsfml/voip/client.d | 72 -- bindings/d/samples/dsfml/voip/entry.d | 46 -- bindings/d/samples/dsfml/voip/server.d | 162 ---- bindings/d/samples/dsfml/voip/util.d | 49 -- bindings/python/MANIFEST.in | 5 - bindings/python/PySFML/__init__.py | 2 - bindings/python/doc/style.css | 96 --- bindings/python/samples/data/apple.png | Bin 868 -> 0 bytes bindings/python/samples/data/cheeseburger.ttf | Bin 42020 -> 0 bytes bindings/python/samples/data/fart.wav | Bin 14962 -> 0 bytes bindings/python/samples/data/rond2.png | Bin 1167 -> 0 bytes bindings/python/samples/hellosfml.py | 98 --- bindings/python/samples/opengl.py | 165 ---- bindings/python/samples/sound.py | 43 - bindings/python/samples/sound_capture.py | 68 -- bindings/python/samples/sound_capture_py3.py | 67 -- bindings/python/samples/sound_stream.py | 49 -- bindings/python/samples/sound_stream_py3.py | 49 -- bindings/python/samples/worm.py | 272 ------ bindings/python/scripts/footer.htm | 7 - bindings/python/scripts/gen_doc.py | 118 --- bindings/python/scripts/header.htm | 11 - bindings/python/setup.py | 27 - bindings/python/src/Blend.cpp | 100 --- bindings/python/src/Blend.hpp | 39 - bindings/python/src/Clock.cpp | 110 --- bindings/python/src/Clock.hpp | 37 - bindings/python/src/Color.cpp | 198 ----- bindings/python/src/Color.hpp | 52 -- bindings/python/src/ContextSettings.cpp | 125 --- bindings/python/src/ContextSettings.hpp | 49 -- bindings/python/src/Drawable.cpp | 325 -------- bindings/python/src/Drawable.hpp | 53 -- bindings/python/src/Event.cpp | 780 ------------------ bindings/python/src/Event.hpp | 105 --- bindings/python/src/Font.cpp | 200 ----- bindings/python/src/Font.hpp | 42 - bindings/python/src/Glyph.cpp | 145 ---- bindings/python/src/Glyph.hpp | 53 -- bindings/python/src/Image.cpp | 410 --------- bindings/python/src/Image.hpp | 42 - bindings/python/src/Input.cpp | 134 --- bindings/python/src/Input.hpp | 40 - bindings/python/src/Joy.cpp | 114 --- bindings/python/src/Joy.hpp | 39 - bindings/python/src/Key.cpp | 385 --------- bindings/python/src/Key.hpp | 39 - bindings/python/src/Listener.cpp | 128 --- bindings/python/src/Listener.hpp | 37 - bindings/python/src/Mouse.cpp | 102 --- bindings/python/src/Mouse.hpp | 39 - bindings/python/src/Music.cpp | 140 ---- bindings/python/src/Music.hpp | 37 - bindings/python/src/Rect.cpp | 394 --------- bindings/python/src/Rect.hpp | 70 -- bindings/python/src/RenderQueue.cpp | 94 --- bindings/python/src/RenderQueue.hpp | 40 - bindings/python/src/RenderWindow.cpp | 286 ------- bindings/python/src/RenderWindow.hpp | 41 - bindings/python/src/Shader.cpp | 194 ----- bindings/python/src/Shader.hpp | 38 - bindings/python/src/Shape.cpp | 379 --------- bindings/python/src/Shape.hpp | 42 - bindings/python/src/Sleep.cpp | 33 - bindings/python/src/Sleep.hpp | 35 - bindings/python/src/Sound.cpp | 338 -------- bindings/python/src/Sound.hpp | 40 - bindings/python/src/SoundBuffer.cpp | 194 ----- bindings/python/src/SoundBuffer.hpp | 40 - bindings/python/src/SoundBufferRecorder.cpp | 106 --- bindings/python/src/SoundBufferRecorder.hpp | 37 - bindings/python/src/SoundRecorder.cpp | 166 ---- bindings/python/src/SoundRecorder.hpp | 46 -- bindings/python/src/SoundStream.cpp | 346 -------- bindings/python/src/SoundStream.hpp | 51 -- bindings/python/src/Sprite.cpp | 256 ------ bindings/python/src/Sprite.hpp | 43 - bindings/python/src/Text.cpp | 307 ------- bindings/python/src/Text.hpp | 43 - bindings/python/src/VideoMode.cpp | 197 ----- bindings/python/src/VideoMode.hpp | 43 - bindings/python/src/View.cpp | 168 ---- bindings/python/src/View.hpp | 43 - bindings/python/src/Window.cpp | 395 --------- bindings/python/src/Window.hpp | 41 - bindings/python/src/WindowStyle.cpp | 103 --- bindings/python/src/WindowStyle.hpp | 39 - bindings/python/src/compat.hpp | 72 -- bindings/python/src/main.cpp | 304 ------- bindings/python/src/main.hpp | 37 - bindings/python/src/offsetof.hpp | 32 - 175 files changed, 22354 deletions(-) delete mode 100644 bindings/d/AUTHORS delete mode 100644 bindings/d/LICENCE delete mode 100644 bindings/d/import/dsfml/audio/all.d delete mode 100644 bindings/d/import/dsfml/audio/listener.d delete mode 100644 bindings/d/import/dsfml/audio/music.d delete mode 100644 bindings/d/import/dsfml/audio/sound.d delete mode 100644 bindings/d/import/dsfml/audio/soundbuffer.d delete mode 100644 bindings/d/import/dsfml/audio/soundbufferrecorder.d delete mode 100644 bindings/d/import/dsfml/audio/soundrecorder.d delete mode 100644 bindings/d/import/dsfml/audio/soundsource.d delete mode 100644 bindings/d/import/dsfml/audio/soundstream.d delete mode 100644 bindings/d/import/dsfml/graphics/all.d delete mode 100644 bindings/d/import/dsfml/graphics/blendmode.d delete mode 100644 bindings/d/import/dsfml/graphics/color.d delete mode 100644 bindings/d/import/dsfml/graphics/drawableimpl.d delete mode 100644 bindings/d/import/dsfml/graphics/font.d delete mode 100644 bindings/d/import/dsfml/graphics/idrawable.d delete mode 100644 bindings/d/import/dsfml/graphics/image.d delete mode 100644 bindings/d/import/dsfml/graphics/irendertarget.d delete mode 100644 bindings/d/import/dsfml/graphics/rect.d delete mode 100644 bindings/d/import/dsfml/graphics/renderimage.d delete mode 100644 bindings/d/import/dsfml/graphics/renderwindow.d delete mode 100644 bindings/d/import/dsfml/graphics/shader.d delete mode 100644 bindings/d/import/dsfml/graphics/shape.d delete mode 100644 bindings/d/import/dsfml/graphics/sprite.d delete mode 100644 bindings/d/import/dsfml/graphics/text.d delete mode 100644 bindings/d/import/dsfml/graphics/view.d delete mode 100644 bindings/d/import/dsfml/network/all.d delete mode 100644 bindings/d/import/dsfml/network/ftp.d delete mode 100644 bindings/d/import/dsfml/network/http.d delete mode 100644 bindings/d/import/dsfml/network/ipaddress.d delete mode 100644 bindings/d/import/dsfml/network/packet.d delete mode 100644 bindings/d/import/dsfml/network/socketselector.d delete mode 100644 bindings/d/import/dsfml/network/socketstatus.d delete mode 100644 bindings/d/import/dsfml/network/tcplistener.d delete mode 100644 bindings/d/import/dsfml/network/tcpsocket.d delete mode 100644 bindings/d/import/dsfml/network/udpsocket.d delete mode 100644 bindings/d/import/dsfml/system/all.d delete mode 100644 bindings/d/import/dsfml/system/alloc.d delete mode 100644 bindings/d/import/dsfml/system/common.d delete mode 100644 bindings/d/import/dsfml/system/dllloader.d delete mode 100644 bindings/d/import/dsfml/system/exception.d delete mode 100644 bindings/d/import/dsfml/system/linkedlist.d delete mode 100644 bindings/d/import/dsfml/system/lock.d delete mode 100644 bindings/d/import/dsfml/system/stringutil.d delete mode 100644 bindings/d/import/dsfml/system/vector.d delete mode 100644 bindings/d/import/dsfml/window/all.d delete mode 100644 bindings/d/import/dsfml/window/context.d delete mode 100644 bindings/d/import/dsfml/window/event.d delete mode 100644 bindings/d/import/dsfml/window/input.d delete mode 100644 bindings/d/import/dsfml/window/videomode.d delete mode 100644 bindings/d/import/dsfml/window/window.d delete mode 100644 bindings/d/import/dsfml/window/windowhandle.d delete mode 100644 bindings/d/import/dsss.conf delete mode 100644 bindings/d/samples/dsfml/bin/Data/background.jpg delete mode 100644 bindings/d/samples/dsfml/bin/Data/ball.tga delete mode 100644 bindings/d/samples/dsfml/bin/Data/ball.wav delete mode 100644 bindings/d/samples/dsfml/bin/Data/bluerallyecarleft.bmp delete mode 100644 bindings/d/samples/dsfml/bin/Data/bluerallyecarright.bmp delete mode 100644 bindings/d/samples/dsfml/bin/Data/blur.sfx delete mode 100644 bindings/d/samples/dsfml/bin/Data/car_idle.wav delete mode 100644 bindings/d/samples/dsfml/bin/Data/cheeseburger.ttf delete mode 100644 bindings/d/samples/dsfml/bin/Data/colorize.sfx delete mode 100644 bindings/d/samples/dsfml/bin/Data/crosshair.bmp delete mode 100644 bindings/d/samples/dsfml/bin/Data/crosshair.tga delete mode 100644 bindings/d/samples/dsfml/bin/Data/fisheye.sfx delete mode 100644 bindings/d/samples/dsfml/bin/Data/nothing.sfx delete mode 100644 bindings/d/samples/dsfml/bin/Data/opengl/background.jpg delete mode 100644 bindings/d/samples/dsfml/bin/Data/opengl/texture.jpg delete mode 100644 bindings/d/samples/dsfml/bin/Data/paddle.tga delete mode 100644 bindings/d/samples/dsfml/bin/Data/wave.jpg delete mode 100644 bindings/d/samples/dsfml/bin/Data/wave.sfx delete mode 100644 bindings/d/samples/dsfml/bin/libsndfile-1.dll delete mode 100644 bindings/d/samples/dsfml/bin/openal32.dll delete mode 100644 bindings/d/samples/dsfml/dfl/DFLSample.d delete mode 100644 bindings/d/samples/dsfml/dsss.conf delete mode 100644 bindings/d/samples/dsfml/opengl/opengl.d delete mode 100644 bindings/d/samples/dsfml/pong/pong.d delete mode 100644 bindings/d/samples/dsfml/postFX/postFX.d delete mode 100644 bindings/d/samples/dsfml/socket/socketclient.d delete mode 100644 bindings/d/samples/dsfml/socket/socketserver.d delete mode 100644 bindings/d/samples/dsfml/sound3d/sound3d.d delete mode 100644 bindings/d/samples/dsfml/soundstream/soundstream.d delete mode 100644 bindings/d/samples/dsfml/view/view.d delete mode 100644 bindings/d/samples/dsfml/voip/client.d delete mode 100644 bindings/d/samples/dsfml/voip/entry.d delete mode 100644 bindings/d/samples/dsfml/voip/server.d delete mode 100644 bindings/d/samples/dsfml/voip/util.d delete mode 100644 bindings/python/MANIFEST.in delete mode 100644 bindings/python/PySFML/__init__.py delete mode 100644 bindings/python/doc/style.css delete mode 100644 bindings/python/samples/data/apple.png delete mode 100644 bindings/python/samples/data/cheeseburger.ttf delete mode 100644 bindings/python/samples/data/fart.wav delete mode 100644 bindings/python/samples/data/rond2.png delete mode 100644 bindings/python/samples/hellosfml.py delete mode 100644 bindings/python/samples/opengl.py delete mode 100644 bindings/python/samples/sound.py delete mode 100644 bindings/python/samples/sound_capture.py delete mode 100644 bindings/python/samples/sound_capture_py3.py delete mode 100755 bindings/python/samples/sound_stream.py delete mode 100755 bindings/python/samples/sound_stream_py3.py delete mode 100644 bindings/python/samples/worm.py delete mode 100644 bindings/python/scripts/footer.htm delete mode 100755 bindings/python/scripts/gen_doc.py delete mode 100644 bindings/python/scripts/header.htm delete mode 100644 bindings/python/setup.py delete mode 100644 bindings/python/src/Blend.cpp delete mode 100644 bindings/python/src/Blend.hpp delete mode 100644 bindings/python/src/Clock.cpp delete mode 100644 bindings/python/src/Clock.hpp delete mode 100644 bindings/python/src/Color.cpp delete mode 100644 bindings/python/src/Color.hpp delete mode 100644 bindings/python/src/ContextSettings.cpp delete mode 100644 bindings/python/src/ContextSettings.hpp delete mode 100644 bindings/python/src/Drawable.cpp delete mode 100644 bindings/python/src/Drawable.hpp delete mode 100644 bindings/python/src/Event.cpp delete mode 100644 bindings/python/src/Event.hpp delete mode 100644 bindings/python/src/Font.cpp delete mode 100644 bindings/python/src/Font.hpp delete mode 100644 bindings/python/src/Glyph.cpp delete mode 100644 bindings/python/src/Glyph.hpp delete mode 100644 bindings/python/src/Image.cpp delete mode 100644 bindings/python/src/Image.hpp delete mode 100644 bindings/python/src/Input.cpp delete mode 100644 bindings/python/src/Input.hpp delete mode 100644 bindings/python/src/Joy.cpp delete mode 100644 bindings/python/src/Joy.hpp delete mode 100644 bindings/python/src/Key.cpp delete mode 100644 bindings/python/src/Key.hpp delete mode 100644 bindings/python/src/Listener.cpp delete mode 100644 bindings/python/src/Listener.hpp delete mode 100644 bindings/python/src/Mouse.cpp delete mode 100644 bindings/python/src/Mouse.hpp delete mode 100644 bindings/python/src/Music.cpp delete mode 100644 bindings/python/src/Music.hpp delete mode 100644 bindings/python/src/Rect.cpp delete mode 100644 bindings/python/src/Rect.hpp delete mode 100644 bindings/python/src/RenderQueue.cpp delete mode 100644 bindings/python/src/RenderQueue.hpp delete mode 100644 bindings/python/src/RenderWindow.cpp delete mode 100644 bindings/python/src/RenderWindow.hpp delete mode 100644 bindings/python/src/Shader.cpp delete mode 100644 bindings/python/src/Shader.hpp delete mode 100644 bindings/python/src/Shape.cpp delete mode 100644 bindings/python/src/Shape.hpp delete mode 100644 bindings/python/src/Sleep.cpp delete mode 100644 bindings/python/src/Sleep.hpp delete mode 100644 bindings/python/src/Sound.cpp delete mode 100644 bindings/python/src/Sound.hpp delete mode 100644 bindings/python/src/SoundBuffer.cpp delete mode 100644 bindings/python/src/SoundBuffer.hpp delete mode 100644 bindings/python/src/SoundBufferRecorder.cpp delete mode 100644 bindings/python/src/SoundBufferRecorder.hpp delete mode 100644 bindings/python/src/SoundRecorder.cpp delete mode 100644 bindings/python/src/SoundRecorder.hpp delete mode 100644 bindings/python/src/SoundStream.cpp delete mode 100644 bindings/python/src/SoundStream.hpp delete mode 100644 bindings/python/src/Sprite.cpp delete mode 100644 bindings/python/src/Sprite.hpp delete mode 100644 bindings/python/src/Text.cpp delete mode 100644 bindings/python/src/Text.hpp delete mode 100644 bindings/python/src/VideoMode.cpp delete mode 100644 bindings/python/src/VideoMode.hpp delete mode 100644 bindings/python/src/View.cpp delete mode 100644 bindings/python/src/View.hpp delete mode 100644 bindings/python/src/Window.cpp delete mode 100644 bindings/python/src/Window.hpp delete mode 100644 bindings/python/src/WindowStyle.cpp delete mode 100644 bindings/python/src/WindowStyle.hpp delete mode 100644 bindings/python/src/compat.hpp delete mode 100644 bindings/python/src/main.cpp delete mode 100644 bindings/python/src/main.hpp delete mode 100644 bindings/python/src/offsetof.hpp diff --git a/bindings/d/AUTHORS b/bindings/d/AUTHORS deleted file mode 100644 index 266b2457..00000000 --- a/bindings/d/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -SirJulio (Dagorn Julien) => sirjulio13@gmail.com -Insomniak => insomniak.fr@gmail.com diff --git a/bindings/d/LICENCE b/bindings/d/LICENCE deleted file mode 100644 index 48844753..00000000 --- a/bindings/d/LICENCE +++ /dev/null @@ -1,18 +0,0 @@ -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. diff --git a/bindings/d/import/dsfml/audio/all.d b/bindings/d/import/dsfml/audio/all.d deleted file mode 100644 index 918cfb8d..00000000 --- a/bindings/d/import/dsfml/audio/all.d +++ /dev/null @@ -1,36 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.audio.all; - -public import - dsfml.audio.listener, - dsfml.audio.music, - dsfml.audio.sound, - dsfml.audio.soundbuffer, - dsfml.audio.soundbufferrecorder, - dsfml.audio.soundrecorder, - dsfml.audio.soundstream; diff --git a/bindings/d/import/dsfml/audio/listener.d b/bindings/d/import/dsfml/audio/listener.d deleted file mode 100644 index 408b4e7b..00000000 --- a/bindings/d/import/dsfml/audio/listener.d +++ /dev/null @@ -1,185 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.audio.listener; - -import dsfml.system.common; -import dsfml.system.vector; - -/** -* Listener is a global interface for defining the audio -* listener properties ; the audio listener is the point in -* the scene from where all the sounds are heard. -* -* See_Also: -* SFML Tutorial for sound spatialization example. -*/ -class Listener -{ - - /** - * Change the global volume of all the sounds. - * The default volume is 100 - * - * Params: - * volume = New global volume, in the range [0, 100] - */ - static void setGlobalVolume(float volume) - in - { - assert (volume >= 0.f && volume <= 100.f); - } - body - { - sfListener_SetGlobalVolume(volume); - } - - /** - * Get the current value of the global volume of all the sounds - * - * Returns: - * Current global volume, in the range [0, 100] - */ - static float getGlobalVolume() - { - return sfListener_GetGlobalVolume(); - } - - /** - * Change the position of the listener. - * The default position is (0, 0, 0) - * - * Params: - * posX = X position of the listener in the world - * posY = Y position of the listener in the world - * posZ = Z position of the listener in the world - */ - static void setPosition(float posX, float posY, float posZ) - { - sfListener_SetPosition(posX, posY, posZ); - } - - /** - * Change the position of the listener. - * The default position is (0, 0, 0) - * - * Params: - * position = new position - */ - static void setPosition(Vector3f position) - { - sfListener_SetPosition(position.x, position.y, position.z); - } - - - /** - * Get the current position of the listener - * - * Returns: - * Current position - */ - static Vector3f getPosition() - { - Vector3f ret; - sfListener_GetPosition(&ret.x, &ret.y, &ret.z); - return ret; - } - - /** - * Change the orientation of the listener - * The default direction is (0, 0, -1) - * - * Params: - * directionX = X component of the listener's direction - * directionY = Y component of the listener's direction - * directionZ = Z component of the listener's direction - */ - static void setDirection(float directionX, float directionY, float directionZ) - { - sfListener_SetDirection(directionX, directionY, directionZ); - } - - /** - * Change the orientation of the listener - * The default direction is (0, 0, -1) - * - * Params: - * direction = Position of the point the listener must look at - */ - static void setDirection(Vector3f position) - { - sfListener_SetDirection(position.x, position.y, position.z); - } - - /** - * Get the current orientation of the listener - * - * Returns: - * Position of the point the listener is looking at - */ - static Vector3f getDirection() - { - Vector3f ret; - sfListener_GetDirection(&ret.x, &ret.y, &ret.z); - return ret; - } - -private: - -// External ==================================================================== - - extern (C) - { - typedef void function(float) pf_sfListener_SetGlobalVolume; - typedef float function() pf_sfListener_GetGlobalVolume; - typedef void function(float, float, float) pf_sfListener_SetPosition; - typedef void function(float*, float*, float*) pf_sfListener_GetPosition; - typedef void function(float, float, float) pf_sfListener_SetDirection; - typedef void function(float*, float*, float*) pf_sfListener_GetDirection; - - static pf_sfListener_SetGlobalVolume sfListener_SetGlobalVolume; - static pf_sfListener_GetGlobalVolume sfListener_GetGlobalVolume; - static pf_sfListener_SetPosition sfListener_SetPosition; - static pf_sfListener_GetPosition sfListener_GetPosition; - static pf_sfListener_SetDirection sfListener_SetDirection; - static pf_sfListener_GetDirection sfListener_GetDirection; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-audio-d-2"); - else - DllLoader dll = DllLoader.load("csfml-audio-2"); - - sfListener_SetGlobalVolume = cast(pf_sfListener_SetGlobalVolume)dll.getSymbol("sfListener_SetGlobalVolume"); - sfListener_GetGlobalVolume = cast(pf_sfListener_GetGlobalVolume)dll.getSymbol("sfListener_GetGlobalVolume"); - sfListener_SetPosition = cast(pf_sfListener_SetPosition)dll.getSymbol("sfListener_SetPosition"); - sfListener_GetPosition = cast(pf_sfListener_GetPosition)dll.getSymbol("sfListener_GetPosition"); - sfListener_SetDirection = cast(pf_sfListener_SetDirection)dll.getSymbol("sfListener_SetDirection"); - sfListener_GetDirection = cast(pf_sfListener_GetDirection)dll.getSymbol("sfListener_GetDirection"); - } -} diff --git a/bindings/d/import/dsfml/audio/music.d b/bindings/d/import/dsfml/audio/music.d deleted file mode 100644 index 39f64acf..00000000 --- a/bindings/d/import/dsfml/audio/music.d +++ /dev/null @@ -1,188 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.audio.music; - -import dsfml.audio.soundsource; - -import dsfml.system.common; -import dsfml.system.exception; -import dsfml.system.stringutil; -import dsfml.system.vector; - -/** -* Music defines a big sound played using streaming, -* so usually what we call a music :) -*/ -class Music : SoundSource!("sfMusic") -{ - /** - * Open a music file (doesn't play it -- call Play for that) - * - * Params: - * filename = Path of the file to open - * - */ - this(string filename) - { - if (filename is null || filename.length == 0) - throw new LoadingException("LoadingException : Filename is invalid."); - - m_ptr = sfMusic_CreateFromFile(toStringz(filename)); // TODO: this is a hack, should properly call the super constructor - } - - /** - * Open a music file from memory (doesn't play it -- call Play() for that) - * - * Params: - * data = file data in memory - * - */ - this(byte[] data) - { - if (data is null || data.length == 0) - throw new Exception("LoadingException : Memory stream is invalid."); - - m_ptr = sfMusic_CreateFromMemory(data.ptr, data.length); // TODO: ditto - } - - /** - * Start playing the audio stream - */ - void play() - { - sfMusic_Play(m_ptr); - } - - /** - * Stop playing the audio stream - */ - void stop() - { - sfMusic_Stop(m_ptr); - } - - /** - * Pause the audio stream - */ - void pause() - { - sfMusic_Pause(m_ptr); - } - - - /** - * Return the number of channels (1 = mono, 2 = stereo) - * - * Returns: - * Number of channels - */ - uint getChannelsCount() - { - return sfMusic_GetChannelsCount(m_ptr); - } - - /** - * Get the stream sample rate - * - * Returns: - * Stream frequency (number of samples per second) - */ - uint getSampleRate() - { - return sfMusic_GetSampleRate(m_ptr); - } - - - /** - * Get the music duration - * - * Returns: - * Music duration, in seconds - */ - float getDuration() - { - return sfMusic_GetDuration(m_ptr); - } - - /** - * Tell whether or not the music is looping - * - * Returns: - * True if the music is looping, false otherwise - */ - bool getLoop() - { - return cast(bool)sfMusic_GetLoop(m_ptr); - } - - /** - * Set the music loop state. - * This parameter is disabled by default - * - * Params: - * loop = True to play in loop, false to play once - */ - void setLoop(bool loop) - { - sfMusic_SetLoop(m_ptr, loop); - } -} - -private: - -extern(C) -{ -SFMLClass function(cchar*) sfMusic_CreateFromFile; -SFMLClass function(byte*, size_t) sfMusic_CreateFromMemory; -void function(SFMLClass, int) sfMusic_SetLoop; -bool function(SFMLClass) sfMusic_GetLoop; -float function(SFMLClass) sfMusic_GetDuration; -void function(SFMLClass) sfMusic_Play; -void function(SFMLClass) sfMusic_Pause; -void function(SFMLClass) sfMusic_Stop; -uint function(SFMLClass) sfMusic_GetChannelsCount; -uint function(SFMLClass) sfMusic_GetSampleRate; -} - -static this() -{ -debug - DllLoader dll = DllLoader.load("csfml-audio-d-2"); -else - DllLoader dll = DllLoader.load("csfml-audio-2"); - - mixin(loadFromSharedLib("sfMusic_CreateFromFile")); - mixin(loadFromSharedLib("sfMusic_CreateFromMemory")); - mixin(loadFromSharedLib("sfMusic_SetLoop")); - mixin(loadFromSharedLib("sfMusic_GetLoop")); - mixin(loadFromSharedLib("sfMusic_GetDuration")); - mixin(loadFromSharedLib("sfMusic_Play")); - mixin(loadFromSharedLib("sfMusic_Pause")); - mixin(loadFromSharedLib("sfMusic_Stop")); - mixin(loadFromSharedLib("sfMusic_GetChannelsCount")); - mixin(loadFromSharedLib("sfMusic_GetSampleRate")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/audio/sound.d b/bindings/d/import/dsfml/audio/sound.d deleted file mode 100644 index c13922ad..00000000 --- a/bindings/d/import/dsfml/audio/sound.d +++ /dev/null @@ -1,224 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.audio.sound; - -import dsfml.audio.soundbuffer; -import dsfml.audio.soundsource; - -import dsfml.system.common; -import dsfml.system.exception; -import dsfml.system.vector; - -/** - * Sound defines the properties of the sound such as position, - * volume, pitch, etc. - */ -class Sound : SoundSource!("sfSound") -{ - /** - * Default constructor - */ - this() - { - super(); - } - - /** - * Construct the sound from its parameters - * - * Params: - * soundbuffer = Sound buffer to play - * loop = Loop flag (false by default) - * pitch = Value of the pitch (1 by default) - * volume = Volume (100 by default) - * x = X position (0 by default) - * y = Y position (0 by default) - * z = Z position (0 by default) - * - * Throws: - * NullParameterException if buffer is null - */ - this(SoundBuffer soundbuffer, bool loop = false, float pitch = 1.f, float volume = 100.f, float x = 0.f, float y = 0.f, float z = 0.f) - { - if (soundbuffer is null) - throw new NullParameterException("NullParameterException : SoundBuffer is null."); - - super(); - buffer = soundbuffer; - loop = loop; - pitch = pitch; - volume = volume; - setPosition(x, y, z); - } - - - /** - * Play the sound - */ - void play() - { - sfSound_Play(m_ptr); - } - - /** - * Pause the sound - */ - void pause() - { - sfSound_Pause(m_ptr); - } - - /** - * Stop the sound - */ - void stop() - { - sfSound_Stop(m_ptr); - } - -@property -{ - /** - * Set the source buffer - * - * Params: - * buffer = New sound buffer to bind to the sound - */ - void buffer(SoundBuffer buffer) - { - if (buffer is null) - throw new NullParameterException("NullParameterException : SoundBuffer is null."); - - m_buffer = buffer; - sfSound_SetBuffer(m_ptr, buffer.nativePointer); - } - - /** - * Set the sound loop state. - * This parameter is disabled by default - * - * Params: - * loop = True to play in loop, false to play once - */ - void loop(bool loop) - { - sfSound_SetLoop(m_ptr, loop); - } - - /** - * Set the current playing offset of a sound - * - * Params: - * offset = new playing position, expressed in seconds - */ - void playingOffset(float offset) - { - sfSound_SetPlayingOffset(m_ptr, offset); - } - - - /** - * Get the source buffer - * - * Returns: - * Sound buffer bound to the sound (can be NULL) - */ - SoundBuffer buffer() - { - return m_buffer; - } - - /** - * Tell whether or not the sound is looping - * - * Returns: - * True if the sound is looping, false otherwise - */ - bool loop() - { - - return cast(bool)(sfSound_GetLoop(m_ptr)); - } - - /** - * Get the current playing position of the sound - * - * Returns: - * Current playing position, expressed in seconds - */ - float playingOffset() - { - return sfSound_GetPlayingOffset(m_ptr); - } -} - -private: - SoundBuffer m_buffer; - -// External ==================================================================== - - extern (C) - { - typedef void function(SFMLClass) pf_sfSound_Play; - typedef void function(SFMLClass) pf_sfSound_Pause; - typedef void function(SFMLClass) pf_sfSound_Stop; - typedef void function(SFMLClass, SFMLClass) pf_sfSound_SetBuffer; - typedef SFMLClass function(SFMLClass) pf_sfSound_GetBuffer; - typedef void function(SFMLClass, int) pf_sfSound_SetLoop; - typedef int function(SFMLClass) pf_sfSound_GetLoop; - typedef float function(SFMLClass) pf_sfSound_GetPlayingOffset; - typedef void function(SFMLClass, float) pf_sfSound_SetPlayingOffset; - - static pf_sfSound_Play sfSound_Play; - static pf_sfSound_Pause sfSound_Pause; - static pf_sfSound_Stop sfSound_Stop; - static pf_sfSound_SetBuffer sfSound_SetBuffer; - static pf_sfSound_GetBuffer sfSound_GetBuffer; - static pf_sfSound_SetLoop sfSound_SetLoop; - static pf_sfSound_GetLoop sfSound_GetLoop; - static pf_sfSound_GetPlayingOffset sfSound_GetPlayingOffset; - static pf_sfSound_SetPlayingOffset sfSound_SetPlayingOffset; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-audio-d-2"); - else - DllLoader dll = DllLoader.load("csfml-audio-2"); - - sfSound_Play = cast(pf_sfSound_Play)dll.getSymbol("sfSound_Play"); - sfSound_Pause = cast(pf_sfSound_Pause)dll.getSymbol("sfSound_Pause"); - sfSound_Stop = cast(pf_sfSound_Stop)dll.getSymbol("sfSound_Stop"); - sfSound_SetBuffer = cast(pf_sfSound_SetBuffer)dll.getSymbol("sfSound_SetBuffer"); - sfSound_GetBuffer = cast(pf_sfSound_GetBuffer)dll.getSymbol("sfSound_GetBuffer"); - sfSound_SetLoop = cast(pf_sfSound_SetLoop)dll.getSymbol("sfSound_SetLoop"); - sfSound_GetLoop = cast(pf_sfSound_GetLoop)dll.getSymbol("sfSound_GetLoop"); - sfSound_GetPlayingOffset = cast(pf_sfSound_GetPlayingOffset)dll.getSymbol("sfSound_GetPlayingOffset"); - sfSound_SetPlayingOffset = cast(pf_sfSound_SetPlayingOffset)dll.getSymbol("sfSound_SetPlayingOffset"); - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/audio/soundbuffer.d b/bindings/d/import/dsfml/audio/soundbuffer.d deleted file mode 100644 index b2793f7b..00000000 --- a/bindings/d/import/dsfml/audio/soundbuffer.d +++ /dev/null @@ -1,205 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.audio.soundbuffer; - -import dsfml.system.common; -import dsfml.system.exception; -import dsfml.system.stringutil; - - -/** - * SoundBuffer is the low-level for loading and manipulating - * sound buffers - */ -class SoundBuffer : DSFMLObject -{ - /** - * Load the sound buffer from a file - * - * Params: - * filename = Path of the sound file to load - * - * Throws: - * LoadingException on failure - */ - this(string filename) - { - if (filename is null || filename.length == 0) - throw new LoadingException("LoadingException : Filename is invalid."); - - super(sfSoundBuffer_CreateFromFile(toStringz(filename))); - } - - /** - * Load the sound buffer from a file in memory - * - * Params: - * data = Array of file data in memory - * - * Throws: - * LoadingException on failure - */ - this(byte[] data) - { - if (data is null || data.length == 0) - throw new Exception("LoadingException : Memory stream is invalid."); - - super(sfSoundBuffer_CreateFromMemory(data.ptr, data.length)); - } - - /** - * Load the sound buffer from an array of samples - assumed format for - * samples is 16 bits signed integer - * - * Params: - * samples = Array of samples in memory - * channelsCount = Number of channels (1 = mono, 2 = stereo, ...) - * sampleRate = Frequency (number of samples to play per second) - * - * Throws: - * LoadingException on failure - */ - this(const(short)[] samples, uint channelsCount, uint sampleRate) - { - if (samples is null || samples.length == 0) - throw new Exception("LoadingException : Samples array is invalid."); - - super(sfSoundBuffer_CreateFromSamples(samples.ptr, samples.length, channelsCount, sampleRate)); - } - - override void dispose() - { - sfSoundBuffer_Destroy(m_ptr); - } - - - - /** - * Save the sound buffer to a file - * - * Params: - * filename = Path of the sound file to write - * - * Returns: - * True if saving has been successful - */ - bool saveToFile(string filename) - { - if (filename !is null && filename.length > 0 ) - { - return cast(bool)sfSoundBuffer_SaveToFile(m_ptr, toStringz(filename)); - } - return false; - } - -@property -{ - /** - * Return the sound samples - * - * Returns: - * Array of sound samples, in 16 bits signed integer format - */ - short[] samples() - { - short* temp = null; - temp = sfSoundBuffer_GetSamples(m_ptr); - - return temp is null ? null : temp[0..samplesCount()]; - } - - /** - * Return the samples count - * - * Returns: - * Number of samples - */ - size_t samplesCount() - { - return sfSoundBuffer_GetSamplesCount(m_ptr); - } - - /** - * Get the sample rate - * - * Returns: - * Sound frequency (number of samples per second) - */ - uint sampleRate() - { - return sfSoundBuffer_GetSampleRate(m_ptr); - } - - /** - * Return the number of channels (1 = mono, 2 = stereo, ...) - * - * Returns: - * Number of channels - */ - uint channelsCount() - { - return sfSoundBuffer_GetChannelsCount(m_ptr); - } - - /** - * Get the sound duration - * - * Returns: - * Sound duration, in seconds - */ - float duration() - { - return sfSoundBuffer_GetDuration(m_ptr); - } -} - -package: - this(SFMLClass ptr) - { - super(ptr, true); - } - -private: - - static extern(C) - { - SFMLClass function(cchar*) sfSoundBuffer_CreateFromFile; - SFMLClass function(const(byte)*, size_t) sfSoundBuffer_CreateFromMemory; - SFMLClass function(const(short)*, size_t, uint, uint) sfSoundBuffer_CreateFromSamples; - void function(SFMLClass) sfSoundBuffer_Destroy; - int function(SFMLClass, cchar*) sfSoundBuffer_SaveToFile; - short* function(SFMLClass) sfSoundBuffer_GetSamples; - size_t function(SFMLClass) sfSoundBuffer_GetSamplesCount; - uint function(SFMLClass) sfSoundBuffer_GetSampleRate; - uint function(SFMLClass) sfSoundBuffer_GetChannelsCount; - float function(SFMLClass) sfSoundBuffer_GetDuration; - } - - mixin(loadFromSharedLib2("csfml-audio", "sfSoundBuffer", - "CreateFromFile", "CreateFromMemory", "CreateFromSamples", "Destroy", "SaveToFile", "GetSamples", "GetSamplesCount", - "GetSampleRate", "GetChannelsCount", "GetDuration")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/audio/soundbufferrecorder.d b/bindings/d/import/dsfml/audio/soundbufferrecorder.d deleted file mode 100644 index caf1fc50..00000000 --- a/bindings/d/import/dsfml/audio/soundbufferrecorder.d +++ /dev/null @@ -1,109 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.audio.soundbufferrecorder; - -import dsfml.system.common; - -import dsfml.audio.soundbuffer; -import dsfml.audio.soundrecorder; - -/** -* Specialized sfSoundRecorder which saves the captured -* audio data into a sound buffer -*/ -class SoundBufferRecorder : SoundRecorder -{ - /** - * Constructor - */ - this() - { - super(sfSoundBufferRecorder_Create()); - } - - override void dispose() - { - sfSoundBufferRecorder_Destroy(m_ptr); - } - - /** - * Get the sound buffer containing the captured audio data - * - * Returns: - * SoundBuffer containing the captured audio data - * - */ - SoundBuffer getBuffer() - { - return new SoundBuffer(sfSoundBufferRecorder_GetBuffer(m_ptr)); - } - -protected: - - override bool onStart() - { - return true; - } - - override bool onProcessSamples(short[] s) - { - return true; - } - - override void onStop() - { - - } - -private: - -// External ==================================================================== - - extern (C) - { - typedef SFMLClass function() pf_sfSoundBufferRecorder_Create; - typedef void function(SFMLClass) pf_sfSoundBufferRecorder_Destroy; - typedef SFMLClass function(SFMLClass) pf_sfSoundBufferRecorder_GetBuffer; - - static pf_sfSoundBufferRecorder_Create sfSoundBufferRecorder_Create; - static pf_sfSoundBufferRecorder_Destroy sfSoundBufferRecorder_Destroy; - static pf_sfSoundBufferRecorder_GetBuffer sfSoundBufferRecorder_GetBuffer; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-audio-d-2"); - else - DllLoader dll = DllLoader.load("csfml-audio-2"); - - sfSoundBufferRecorder_Create = cast(pf_sfSoundBufferRecorder_Create)dll.getSymbol("sfSoundBufferRecorder_Create"); - sfSoundBufferRecorder_Destroy = cast(pf_sfSoundBufferRecorder_Destroy)dll.getSymbol("sfSoundBufferRecorder_Destroy"); - sfSoundBufferRecorder_GetBuffer = cast(pf_sfSoundBufferRecorder_GetBuffer)dll.getSymbol("sfSoundBufferRecorder_GetBuffer"); - } -} - diff --git a/bindings/d/import/dsfml/audio/soundrecorder.d b/bindings/d/import/dsfml/audio/soundrecorder.d deleted file mode 100644 index 8a2562f1..00000000 --- a/bindings/d/import/dsfml/audio/soundrecorder.d +++ /dev/null @@ -1,316 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.audio.soundrecorder; - -import dsfml.audio.soundbuffer; - -import dsfml.system.alloc; -import dsfml.system.common; - -import dsfml.system.linkedlist; -import dsfml.system.lock; - -import core.thread; -import core.sync.mutex; - -/** -* SoundRecorder is an interface for capturing sound data. -* -* $(B onProcessSamples and onStop will be called by a different thread, take care of synchronization issues.) -* -* Examples: -* ------- -* class MySoundRecorder : SoundRecorder -* { -* this() -* { -* -* } -* -* protected bool onStart() -* { -* return true; -* } -* -* protected void onStop() -* { -* -* } -* -* protected bool onProcessSamples(out short[]) -* { -* // Process data here -* -* return true; //return true to continue capture, else return false -* } -* } -* ------- -*/ -abstract class SoundRecorder : DSFMLObject -{ - override void dispose() - { - if (m_flag) - stop(); - - m_instances.remove(m_id); - sfSoundRecorder_Destroy(m_ptr); - } - - - /** - * Start the capture. - * - * Only one capture can happen at the same time - * - * Params: - * sampleRate : Sound frequency (the more samples, the higher the quality) - * (44100 by default = CD quality) - */ - void start(uint sampleRate = 44100) - { - sfSoundRecorder_Start(m_ptr, sampleRate); - m_t = new Thread(&threadPoll); - m_t.start(); - } - - /** - * Stop the capture - */ - void stop() - { - sfSoundRecorder_Stop(m_ptr); - m_flag = false; - m_t.join(); - m_t = null; - } - - /** - * Get the sample rate - * - * Returns: - * Frequency, in samples per second - */ - uint getSampleRate() - { - return sfSoundRecorder_GetSampleRate(m_ptr); - } - - /** - * Tell if the system supports sound capture. - * If not, this class won't be usable - * - * Returns: - * True if audio capture is supported - * - */ - static bool isAvailable() - { - return cast(bool) sfSoundRecorder_IsAvailable(); - } - -protected: - /** - * Protected constructor - */ - this() - { - m_id = ++seed; - m_instances[m_id] = this; - super(sfSoundRecorder_Create(&internalOnStart, &internalCallback, &internalOnStop, &m_id)); - - init(true); - } - - this(SFMLClass ptr) - { - super(ptr); - - init(false); - } - - /** - * Start recording audio data - * - * Returns: - * False to abort recording audio data, true to start - */ - abstract bool onStart(); - - /** - * Stop recording audio data - */ - abstract void onStop(); - - /** - * callback function - * - * Parameters: - * samples = Array of samples - * - * Returns: - * true to continue recording, false to stop. - */ - abstract bool onProcessSamples(short[] samples); - - bool m_disposed; -private: - /* - * an init function to initialize id of the object. - */ - void init(bool flag) - { - if (flag) - { - m_list = new LinkedList!(Samples)(); - - m_flag = true; - m_continue = true; - - m_mutex = new Mutex(); - } - } - - void* m_userData; - int m_id; - - static int seed = 0; - static SoundRecorder[int] m_instances; - - /* - * Extern C callback function - * - * This function must be static for C interop. To retrieve the current - * instance, we retrieve id of the sender in the user data, and search associated instance - * in the associative array. - * - * We don't call delegate or derived class on that thread because GC is not aware of this thread - * instead we enqueue data informations in a queue and poll this queue with a managed thread. - */ - extern(C) static int internalCallback(short* s, size_t size, void* user) - { - int id; - // retrieve instance - if ((id = *cast(int*)(user)) in m_instances) - { - SoundRecorder temp = m_instances[id]; - scope Lock l = new Lock(temp.m_mutex); - if (temp.m_continue) - // this new is allowed because Samples is an custom alloc class. - temp.m_list.enqueue(new Samples(s, size)); - return temp.m_continue; - } - return false; - } - - extern(C) static int internalOnStart(void* user) - { - int id; - bool ret = false; - if ((id = *cast(int*)(user)) in m_instances) - { - SoundRecorder temp = m_instances[id]; - ret = temp.onStart(); - } - - return ret; - } - - extern(C) static void internalOnStop(void* user) - { - // Nothing to do - } - - /* - * Managed thread loop - */ - void threadPoll() - { - while (m_flag) - { - Thread.sleep(50_000_0); // 50ms - // if samples are available - if (!m_list.empty) - { - // Lock ressources - scope Lock l = new Lock(m_mutex); - - Samples s = m_list.dequeue; - m_continue = this.onProcessSamples(s.data[0..s.length].dup); - - delete s; - - if (!m_continue) - { - // delete all samples left - foreach(Samples dummy; m_list) - delete dummy; - break; - } - } - } - - onStop(); - } - - Mutex m_mutex; - - bool m_flag; - bool m_continue = true; - LinkedList!(Samples) m_list; - Thread m_t; - -// External ==================================================================== - - static extern (C) - { - SFMLClass function(int function(void*), int function(const(short)*, size_t, void*), void function(void*), void*) sfSoundRecorder_Create; - void function(SFMLClass) sfSoundRecorder_Destroy; - void function(SFMLClass, uint SampleRate) sfSoundRecorder_Start; - void function(SFMLClass) sfSoundRecorder_Stop; - uint function(SFMLClass) sfSoundRecorder_GetSampleRate; - int function() sfSoundRecorder_IsAvailable; - } - - mixin(loadFromSharedLib2("csfml-audio", "sfSoundRecorder", "Create", "Destroy", "Start", - "Stop", "GetSampleRate", "IsAvailable")); -} - -// Use explicit alloc to allow instaciation by C thread -private class Samples -{ - mixin Alloc; - - this(short* data, size_t length) - { - this.data = data; - this.length = length; - } - - public short* data; - public size_t length; -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/audio/soundsource.d b/bindings/d/import/dsfml/audio/soundsource.d deleted file mode 100644 index 64b9d2ba..00000000 --- a/bindings/d/import/dsfml/audio/soundsource.d +++ /dev/null @@ -1,311 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.audio.soundsource; - -import dsfml.system.vector; -import dsfml.system.common; - - -/// the sound's current status -enum SoundStatus -{ - Stopped, /// Sound is not playing - Paused, /// Sound is paused - Playing /// Sound is playing -} - -/// base class -package class SoundSource(alias derivedClassName) : DSFMLObject -{ -protected: - - /** - * Default constructor - * - * This constructor is meant ot be called by derived classes only. - * - */ - this() - { - super(sfSoundSource_Create()); - } - - this(SFMLClass ptr) - { - super(ptr); - } - - override void dispose() - { - sfSoundSource_Destroy(m_ptr); - } - -public: - - /** - * Set the 3D position of the sound in the audio scene - * - * Only sounds with one channel (mono sounds) can be spatialized. - * The default position of a sound is (0, 0, 0). - * - * Params: - * x = X coordinate of the position of the sound in the scene - * y = Y coordinate of the position of the sound in the scene - * z = Z coordinate of the position of the sound in the scene - */ - void setPosition(float x, float y, float z) - { - sfSoundSource_SetPosition(m_ptr, x, y, z); - } - -@property -{ - /** - * Get the current status of the sound (stopped, paused, playing) - * - * Returns: - * current status of the sound - */ - SoundStatus status() - { - return sfSoundSource_GetStatus(m_ptr); - } - - /** - * Set the pitch of the sound - * - * The pitch represents the perceived fundamental frequency - * of a sound; thus you can make a sound more acute or grave - * by changing its pitch. A side effect of changing the pitch - * is to modify the playing speed of the sound as well. - * The default value for the pitch is 1. - * - * Params: - * pitch = New pitch to apply to the sound - */ - void pitch(float pitch) - { - sfSoundSource_SetPitch(m_ptr, pitch); - } - - /** - * Get the pitch of the sound - * - * Returns: - * pitch of the sound - */ - float pitch() - { - return sfSoundSource_GetPitch(m_ptr); - } - - /** - * Set the volume of the sound - * - * The volume is a value between 0 (mute) and 100 (full volume). - * The default value for the volume is 100. - * - * Params: - * volume = volume of the sound - */ - void volume(float volume) - in - { - assert(volume >= 0 && volume <= 100); - } - body - { - sfSoundSource_SetVolume(m_ptr, volume); - } - - /** - * Get the volume of the sound - * - * Returns: - * Volume of the sound, in the range [0, 100] - */ - float volume() - { - return sfSoundSource_GetVolume(m_ptr); - } - - /** - * Set the 3D position of the sound in the audio scene - * - * Only sounds with one channel (mono sounds) can be - * spatialized. - * The default position of a sound is (0, 0, 0). - * - * Params: - * position = Position of the sound in the scene - */ - void position(Vector3f position) - { - sfSoundSource_SetPosition(m_ptr, position.x, position.y, position.z); - } - - /** - * Get the 3D position of the sound in the audio scene - * - * Returns: - * Position of the sound - */ - Vector3f position() - { - Vector3f ret; - sfSoundSource_GetPosition(m_ptr, &ret.x, &ret.y, &ret.z); - return ret; - } - - /** - * Make the sound's position relative to the listener or absolute - * - * Making a sound relative to the listener will ensure that it will always - * be played the same way regardless the position of the listener. - * This can be useful for non-spatialized sounds, sounds that are - * produced by the listener, or sounds attached to it. - * The default value is false (position is absolute). - * - * Params: - * relative = True to set the position relative, false to set it absolute - */ - void relativeToListener(bool relative) - { - sfSoundSource_SetRelativeToListener(m_ptr, relative); - } - - /** - * Tell whether the sound's position is relative to the listener or is absolute - * - * Returns: - * True if the position is relative, false if it's absolute - */ - bool relativeToListener() - { - return sfSoundSource_IsRelativeToListener(m_ptr); - } - - /** - * Set the minimum distance of the sound - * - * The "minimum distance" of a sound is the maximum - * distance at which it is heard at its maximum volume. Further - * than the minimum distance, it will start to fade out according - * to its attenuation factor. A value of 0 ("inside the head - * of the listener") is an invalid value and is forbidden. - * The default value of the minimum distance is 1. - * - * Params: - * distance = New minimum distance of the sound - * - * \see GetMinDistance, SetAttenuation - * - */ - void minDistance(float distance) - { - sfSoundSource_SetMinDistance(m_ptr, distance); - } - - /** - * Get the minimum distance of the sound - * - * Returns: - * Minimum distance of the sound - * - * \see SetMinDistance, GetAttenuation - * - */ - float minDistance() - { - return sfSoundSource_GetMinDistance(m_ptr); - } - - /** - * Set the attenuation factor of the sound - * - * The attenuation is a multiplicative factor which makes - * the sound more or less loud according to its distance - * from the listener. An attenuation of 0 will produce a - * non-attenuated sound, i.e. its volume will always be the same - * whether it is heard from near or from far. On the other hand, - * an attenuation value such as 100 will make the sound fade out - * very quickly as it gets further from the listener. - * The default value of the attenuation is 1. - * - * Params: - * attenuation = New attenuation factor of the sound - * - * \see GetAttenuation, SetMinDistance - * - */ - void attenuation(float attenuation) - { - sfSoundSource_SetAttenuation(m_ptr, attenuation); - } - - /** - * Get the attenuation factor of the sound - * - * Returns: - * Attenuation factor of the sound - * - * \see SetAttenuation, GetMinDistance - * - */ - float attenuation() - { - return sfSoundSource_GetAttenuation(m_ptr); - } -} // of @property - - -private: - - static extern(C) - { - SFMLClass function() sfSoundSource_Create; - void function(SFMLClass) sfSoundSource_Destroy; - - SoundStatus function(SFMLClass) sfSoundSource_GetStatus; - void function(SFMLClass, float) sfSoundSource_SetPitch; - void function(SFMLClass, float) sfSoundSource_SetVolume; - void function(SFMLClass, float, float, float) sfSoundSource_SetPosition; - float function(SFMLClass) sfSoundSource_GetPitch; - float function(SFMLClass) sfSoundSource_GetVolume; - void function(SFMLClass, float*, float*, float*) sfSoundSource_GetPosition; - float function(SFMLClass) sfSoundSource_GetMinDistance; - float function(SFMLClass) sfSoundSource_GetAttenuation; - void function(SFMLClass, float) sfSoundSource_SetMinDistance; - void function(SFMLClass, float) sfSoundSource_SetAttenuation; - - void function(SFMLClass, bool) sfSoundSource_SetRelativeToListener; - bool function(SFMLClass) sfSoundSource_IsRelativeToListener; - } - - mixin(loadDerivedFromSharedLib("csfml-audio", "sfSoundSource", derivedClassName, - "Create", "Destroy", "GetStatus", "GetPitch", "SetPitch", "GetVolume", "SetVolume", "GetPosition", "SetPosition", - "GetMinDistance", "SetMinDistance", "GetAttenuation", "SetAttenuation", "SetRelativeToListener", "IsRelativeToListener")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/audio/soundstream.d b/bindings/d/import/dsfml/audio/soundstream.d deleted file mode 100644 index 8fb4d060..00000000 --- a/bindings/d/import/dsfml/audio/soundstream.d +++ /dev/null @@ -1,384 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.audio.soundstream; - -import dsfml.system.alloc; -import dsfml.system.common; -import dsfml.system.vector; -import dsfml.system.linkedlist; -import dsfml.system.lock; - -import core.thread; -import core.sync.mutex; - -import dsfml.audio.sound; -import dsfml.audio.soundsource; - -/** -* SoundStream is a streamed sound, ie samples are acquired -* while the sound is playing. Use it for big sounds that would -* require hundreds of MB in memory, or for streaming sound from the network. -* -* SoundStream is a base class and cannot be instanciated directly. -* -* $(B onGetData override will be called by a different thread, take care of synchronization issues.) onStart is called by the thread which called .play(). -* -* ------------------------ -* class MySoundStream : SoundStream -* { -* this() -* { -* super(2, 44100); // you need to initialize the base class before any operation. -* } -* protected bool onGetData(out short[] data) -* { -* //You need to fill data array with some samples -* -* return true; //or false if you want to stop playback -* } -* -* protected bool onStart() -* { -* return true; -* } -* } -* ------------------------ -*/ -abstract class SoundStream : SoundSource!("sfSoundStream") -{ - override void dispose() - { - stop(); - sfSoundStream_Destroy(m_ptr); - s_instances.remove(m_id); - } - - /** - * Start playing the stream - */ - void play() - { - m_flag = true; - sfSoundStream_Play(m_ptr); - - if (status != SoundStatus.Paused) - { - m_t = new Thread(&threadPoll); - m_t.start(); - } - } - - /** - * Pause the stream - */ - void pause() - { - sfSoundStream_Pause(m_ptr); - } - - /** - * Stop the stream - */ - void stop() - { - m_flag = false; - sfSoundStream_Stop(m_ptr); - m_t.join(); - if (m_dummy !is null) - delete m_dummy; - } - -@property -{ - /** - * Get number of channels of the stream - * - * Returns: - * number of channels - */ - uint channelsCount() - { - return m_channelsCount; - } - - /** - * Get the sample rate of the stream - * - * Returns: - * sample rate - */ - uint sampleRate() - { - return m_sampleRate; - } - - /** - * Get the current playing offset of the stream - * - * Returns: - * current playing offset, in seconds. - */ - float playingOffset() - { - return sfSoundStream_GetPlayingOffset(m_ptr); - } - - /** - * Set the current playing position of a music - * - * Params: - * timeOffset = New playing position, expressed in seconds - */ - void playingOffset(float timeOffset) - { - sfSoundStream_SetPlayingOffset(m_ptr, timeOffset); - } - - /** - * Tell whether or not the stream is looping - * - * Returns: - * True if the music is looping, false otherwise - */ - bool loop() - { - if (m_ptr !is null) - return cast(bool)sfSoundStream_GetLoop(m_ptr); - return false; - } - - /** - * Set the stream loop state. - * - * Disabled by default. - * - * Params: - * loop = true to play in loop, false to play once - */ - void loop(bool loop) - { - if (m_ptr !is null) - sfSoundStream_SetLoop(m_ptr, loop); - } -} // of @property - -protected: - /** - * Protected constructor - * - * Params: - * channelsCount = number of channel - * sampleRate = sample rate of the stream - * - */ - this(uint channelsCount, uint sampleRate) - { - m_channelsCount = channelsCount; - m_sampleRate = sampleRate; - - super(sfSoundStream_Create(&externalOnGetData, &externalOnSeek, channelsCount, sampleRate, &m_id)); - - m_mutex = new Mutex(); - - m_samples = new LinkedList!(Data); - - m_t = new Thread(&this.threadPoll); - - m_id = ++s_seed; - s_instances[m_id] = this; - } - - /** - * Called each time the stream is seeked - */ - abstract void onSeek(float timeOffset); - - /** - * Called each time the stream needs new data. - * This method will be call by an other thread, take care of possible synchronisation issues. - * - * Params: - * data = array of samples to stream - * - * Returns: - * true to continue streaming, false to stop - */ - abstract bool onGetData(out short[] data); -private: - - // Called sync when user calling play() - // TODO: check if it's correct that way - extern(C) static void externalOnSeek(float t, void* user) - { - int id; - if ((id = *cast(int*) user) in s_instances) - { - SoundStream temp = s_instances[id]; - return (temp.onSeek(t)); - } - } - - // C Thread callback (no allocation can be done) - extern (C) static int externalOnGetData(sfSoundStreamChunk* data, void* user) - { - int id, flag = false; - // Get calling soundStream - if ((id = *cast(int*) user) in s_instances) - { - SoundStream temp = s_instances[id]; - //if no samples are available but streaming is not stopped, we sleep the thread - while (temp.m_samples.empty && temp.m_flag) - Thread.sleep(10_000_0); // 10ms - - scope Lock l = new Lock(temp.m_mutex); - if (!temp.m_samples.empty) - { - if (temp.m_dummy !is null) - delete temp.m_dummy; - - temp.m_dummy = temp.m_samples.dequeue; - - if ((flag = temp.m_dummy.Flag) == true) - { - data.Samples = temp.m_dummy.Samples.ptr; - data.NbSamples = temp.m_dummy.Samples.length; - } - else - { - data.Samples = null; - data.NbSamples = 0; - } - } - } - return flag; - } - - // Managed thread loop - void threadPoll() - { - short[] data; - bool ret = true; - // while streaming is active ... - while (ret && m_flag) - { - { - scope Lock l = new Lock(m_mutex); - // see how many samples are available (keep always 2 samples ready) - if (m_samples.getCount < 2) - { - // if we need new samples, lock and call derived class - ret = onGetData(data); - m_samples.enqueue(new Data(data, ret)); - } - } - Thread.sleep(100_000_0); // 100ms - } - } - - private class Data - { - short[] Samples; - bool Flag; - - mixin Alloc; - - this (short[] samples, bool flag) - { - this.Samples = samples; - this.Flag = flag; - } - } - - Thread m_t; - Mutex m_mutex; - LinkedList!(Data) m_samples; - Data m_dummy; - - bool m_flag; - - uint m_channelsCount; - uint m_sampleRate; - - int m_id; - static SoundStream[int] s_instances; - static int s_seed = 0; - -// External ==================================================================== - - extern (C) - { - struct sfSoundStreamChunk{ short* Samples; uint NbSamples; } - - alias void function(float, void*) sfSoundStreamSeekCallback; - alias int function (sfSoundStreamChunk*, void*) sfSoundStreamGetDataCallback; - - alias SFMLClass function(sfSoundStreamGetDataCallback, sfSoundStreamSeekCallback, uint, uint, void*) pf_sfSoundStream_Create; - alias void function(SFMLClass) pf_sfSoundStream_Destroy; - alias void function(SFMLClass) pf_sfSoundStream_Play; - alias void function(SFMLClass) pf_sfSoundStream_Pause; - alias void function(SFMLClass) pf_sfSoundStream_Stop; - alias uint function(SFMLClass) pf_sfSoundStream_GetChannelsCount; - alias uint function(SFMLClass) pf_sfSoundStream_GetSampleRate; - alias float function(SFMLClass) pf_sfSoundStream_GetPlayingOffset; - alias void function(SFMLClass, float) pf_sfSoundStream_SetPlayingOffset; - alias int function(SFMLClass) pf_sfSoundStream_GetLoop; - alias void function(SFMLClass, int) pf_sfSoundStream_SetLoop; - - - static pf_sfSoundStream_Create sfSoundStream_Create; - static pf_sfSoundStream_Destroy sfSoundStream_Destroy; - static pf_sfSoundStream_Play sfSoundStream_Play; - static pf_sfSoundStream_Pause sfSoundStream_Pause; - static pf_sfSoundStream_Stop sfSoundStream_Stop; - static pf_sfSoundStream_GetChannelsCount sfSoundStream_GetChannelsCount; - static pf_sfSoundStream_GetSampleRate sfSoundStream_GetSampleRate; - static pf_sfSoundStream_GetPlayingOffset sfSoundStream_GetPlayingOffset; - static pf_sfSoundStream_SetPlayingOffset sfSoundStream_SetPlayingOffset; - static pf_sfSoundStream_GetLoop sfSoundStream_GetLoop; - static pf_sfSoundStream_SetLoop sfSoundStream_SetLoop; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-audio-d-2"); - else - DllLoader dll = DllLoader.load("csfml-audio-2"); - - sfSoundStream_Create = cast(pf_sfSoundStream_Create)dll.getSymbol("sfSoundStream_Create"); - sfSoundStream_Destroy = cast(pf_sfSoundStream_Destroy)dll.getSymbol("sfSoundStream_Destroy"); - sfSoundStream_Play = cast(pf_sfSoundStream_Play)dll.getSymbol("sfSoundStream_Play"); - sfSoundStream_Pause = cast(pf_sfSoundStream_Pause)dll.getSymbol("sfSoundStream_Pause"); - sfSoundStream_Stop = cast(pf_sfSoundStream_Stop)dll.getSymbol("sfSoundStream_Stop"); - sfSoundStream_GetChannelsCount = cast(pf_sfSoundStream_GetChannelsCount)dll.getSymbol("sfSoundStream_GetChannelsCount"); - sfSoundStream_GetSampleRate = cast(pf_sfSoundStream_GetSampleRate)dll.getSymbol("sfSoundStream_GetSampleRate"); - sfSoundStream_GetPlayingOffset = cast(pf_sfSoundStream_GetPlayingOffset)dll.getSymbol("sfSoundStream_GetPlayingOffset"); - sfSoundStream_SetPlayingOffset = cast(pf_sfSoundStream_SetPlayingOffset)dll.getSymbol("sfSoundStream_SetPlayingOffset"); - sfSoundStream_GetLoop = cast(pf_sfSoundStream_GetLoop)dll.getSymbol("sfSoundStream_GetLoop"); - sfSoundStream_SetLoop = cast(pf_sfSoundStream_SetLoop)dll.getSymbol("sfSoundStream_SetLoop"); - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/all.d b/bindings/d/import/dsfml/graphics/all.d deleted file mode 100644 index 9fc102ce..00000000 --- a/bindings/d/import/dsfml/graphics/all.d +++ /dev/null @@ -1,41 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.all; - -public import - dsfml.graphics.blendmode, - dsfml.graphics.color, - dsfml.graphics.font, - dsfml.graphics.idrawable, - dsfml.graphics.image, - dsfml.graphics.shader, - dsfml.graphics.rect, - dsfml.graphics.renderwindow, - dsfml.graphics.shape, - dsfml.graphics.sprite, - dsfml.graphics.text, - dsfml.graphics.view; diff --git a/bindings/d/import/dsfml/graphics/blendmode.d b/bindings/d/import/dsfml/graphics/blendmode.d deleted file mode 100644 index fcb91e74..00000000 --- a/bindings/d/import/dsfml/graphics/blendmode.d +++ /dev/null @@ -1,38 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.blendmode; - -/** -* Enumerate the blending modes for drawable objects. -*/ -enum BlendMode -{ - ALPHA, /// Pixel = Src * a + Dest * (1 - a) - ADD, /// Pixel = Src + Dest - MULTIPLY, /// Pixel = Src * Dest - NONE /// No blending -} diff --git a/bindings/d/import/dsfml/graphics/color.d b/bindings/d/import/dsfml/graphics/color.d deleted file mode 100644 index 8750fd7a..00000000 --- a/bindings/d/import/dsfml/graphics/color.d +++ /dev/null @@ -1,123 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.color; - -import std.string; - -alias RGBA Color; // standard Color is RGBA - -/** - * Color is an utility structure for manipulating colors - */ -struct RGBA -{ -align(1): - ubyte r; /// Red component - ubyte g; /// Green component - ubyte b; /// Blue component - ubyte a = 255; /// Alpha (transparency) component, 255 = opaque - - /** - * Operator == and != overload to compare two colors - */ - const bool opEquals(ref const(Color) color2) - { - return - (r == color2.r) - && (g == color2.g) - && (b == color2.b) - && (a == color2.a); - } - /** - * Operator + overload to add two colors - */ - Color opAdd(Color color2) - { - ubyte r = this.r + color2.r > 255 ? 255 : cast(ubyte) (this.r + color2.r); - ubyte g = this.g + color2.g > 255 ? 255 : cast(ubyte) (this.g + color2.g); - ubyte b = this.b + color2.b > 255 ? 255 : cast(ubyte) (this.b + color2.b); - ubyte a = this.a + color2.a > 255 ? 255 : cast(ubyte) (this.a + color2.a); - - return Color(r, g, b, a); - } - - /** - * Operator += overload - */ - Color opAddAssign(Color color2) - { - this.r = this.r + color2.r > 255 ? 255 : cast(ubyte) (this.r + color2.r); - this.g = this.g + color2.g > 255 ? 255 : cast(ubyte) (this.g + color2.g); - this.b = this.b + color2.b > 255 ? 255 : cast(ubyte) (this.b + color2.b); - this.a = this.a + color2.a > 255 ? 255 : cast(ubyte) (this.a + color2.a); - - return this; - } - - /** - * Operator * overload to modulate colors - */ - Color opMul(Color color2) - { - ubyte r = cast(ubyte) (this.r * color2.r / 255); - ubyte g = cast(ubyte) (this.g * color2.g / 255); - ubyte b = cast(ubyte) (this.b * color2.b / 255); - ubyte a = cast(ubyte) (this.a * color2.a / 255); - - return Color(r, g, b, a); - } - - /** - * Operator *= overload - */ - Color opMulAssign(Color color2) - { - this.r = cast(ubyte) (this.r * color2.r / 255); - this.g = cast(ubyte) (this.g * color2.g / 255); - this.b = cast(ubyte) (this.b * color2.b / 255); - this.a = cast(ubyte) (this.a * color2.a / 255); - - return this; - } - - string toString() - { - return std.string.format("(%d,%d,%d,%d)", r,g,b,a); - } - - static immutable - { - Color BLACK = Color(0, 0, 0); /// Black predefined color - Color WHITE = Color(255, 255, 255); /// White predefined color - Color RED = Color(255, 0, 0); /// Red predefined color - Color GREEN = Color(0, 255, 0); /// Green predefined color - Color BLUE = Color(0, 0, 255); /// Blue predefined color - Color YELLOW = Color(255, 0, 255); /// Yellow predefined color - Color MAGENTA = Color(255, 0, 255); /// Magenta predefined color - Color CYAN = Color(0, 255, 255); /// Cyan predefined color - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/drawableimpl.d b/bindings/d/import/dsfml/graphics/drawableimpl.d deleted file mode 100644 index 916876e9..00000000 --- a/bindings/d/import/dsfml/graphics/drawableimpl.d +++ /dev/null @@ -1,268 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.drawableimpl; - -public import dsfml.system.common; -import dsfml.system.vector; - -import dsfml.graphics.irendertarget; -import dsfml.graphics.idrawable, - dsfml.graphics.color, - dsfml.graphics.blendmode, - dsfml.graphics.renderwindow, - dsfml.graphics.renderimage, - dsfml.graphics.shader; - - -/* - * Package base class of all drawable. - * Provide implementation of IDrawable and functions aliases. - */ -package class DrawableImpl(string derivedClassName) : DSFMLObject, IDrawable -{ -protected: - this() - { - super(sfDrawable_Create()); - } - - this(SFMLClass ptr) - { - super(ptr, true); - } - - override void dispose() - { - sfDrawable_Destroy(m_ptr); - } - -public: - override void rotate(float angle) - { - sfDrawable_Rotate(m_ptr, angle); - } - - override void move(float offsetX, float offsetY) - { - sfDrawable_Move(m_ptr, offsetX, offsetY); - } - - override void move(Vector2f offset) - { - sfDrawable_Move(m_ptr, offset.x, offset.y); - } - - override Vector2f transformToLocal(Vector2f point) const - { - Vector2f ret; - sfDrawable_TransformToLocal(m_ptr, point.x, point.y, &ret.x, &ret.y); - return ret; - } - - override Vector2f transformToGlobal(Vector2f point) const - { - Vector2f ret; - sfDrawable_TransformToLocal(m_ptr, point.x, point.y, &ret.x, &ret.y); - return ret; - } - - override void render(IRenderTarget window) - { - sfRenderWindow_DrawThis((cast(DSFMLObject)window).nativePointer, m_ptr); - } - - override void renderWithShader(IRenderTarget window, Shader shader) - { - sfRenderWindow_DrawThisWithShader((cast(DSFMLObject)window).nativePointer, m_ptr, shader.nativePointer); - } - - override void setPosition(float x, float y) - { - sfDrawable_SetPosition(m_ptr, x, y); - } - - override void setScale(float scaleX, float scaleY) - { - sfDrawable_SetScale(m_ptr, scaleX, scaleY); - } - - override void setOrigin(float originX, float originY) - { - sfDrawable_SetOrigin(m_ptr, originX, originY); - } - -@property -{ - override void x(float x) - { - sfDrawable_SetX(m_ptr, x); - } - - override void y(float y) - { - sfDrawable_SetY(m_ptr, y); - } - - override void position(Vector2f vec) - { - sfDrawable_SetPosition(m_ptr, vec.x, vec.y); - } - - override void scaleX(float scale) - { - if (scale > 0) - sfDrawable_SetScaleX(m_ptr, scale); - } - - override void scaleY(float scale) - { - if (scale > 0) - sfDrawable_SetScaleY(m_ptr, scale); - } - - override void scale(Vector2f scale) - { - if (scale.x > 0 && scale.y > 0) - sfDrawable_SetScale(m_ptr, scale.x, scale.y); - } - - override void origin(Vector2f origin) - { - sfDrawable_SetOrigin(m_ptr, origin.x, origin.y); - } - - override void rotation(float angle) - { - sfDrawable_SetRotation(m_ptr, angle); - } - - override void color(Color c) - { - sfDrawable_SetColor(m_ptr, c); - } - - override void blendMode(BlendMode mode) - { - sfDrawable_SetBlendMode(m_ptr, mode); - } - - override Vector2f position() const - { - return Vector2f(sfDrawable_GetX(m_ptr), sfDrawable_GetY(m_ptr)); - } - - override Vector2f scale() const - { - return Vector2f(sfDrawable_GetScaleX(m_ptr), sfDrawable_GetScaleY(m_ptr)); - } - - override Vector2f origin() const - { - return Vector2f(sfDrawable_GetOriginX(m_ptr), sfDrawable_GetOriginY(m_ptr)); - } - - override float rotation() const - { - return sfDrawable_GetRotation(m_ptr); - } - - override Color color() const - { - return sfDrawable_GetColor(m_ptr); - } - - override BlendMode blendMode() const - { - return cast(BlendMode)(sfDrawable_GetBlendMode(m_ptr)); - } - - override void scale(Vector2f scale) - { - sfDrawable_SetScale(m_ptr, scale.x, scale.y); - } -} - -private: - - static extern(C) - { - SFMLClass function() sfDrawable_Create; - void function(SFMLClass) sfDrawable_Destroy; - void function(SFMLClass, float) sfDrawable_SetX; - void function(SFMLClass, float) sfDrawable_SetY; - void function(SFMLClass, float, float) sfDrawable_SetPosition; - void function(SFMLClass, float) sfDrawable_SetScaleX; - void function(SFMLClass, float) sfDrawable_SetScaleY; - void function(SFMLClass, float, float) sfDrawable_SetScale; - void function(SFMLClass, float) sfDrawable_SetRotation; - void function(SFMLClass, float, float) sfDrawable_SetOrigin; - void function(SFMLClass, Color) sfDrawable_SetColor; - void function(SFMLClass, BlendMode) sfDrawable_SetBlendMode; - float function(SFMLClass) sfDrawable_GetX; - float function(SFMLClass) sfDrawable_GetY; - float function(SFMLClass) sfDrawable_GetScaleX; - float function(SFMLClass) sfDrawable_GetScaleY; - float function(SFMLClass) sfDrawable_GetRotation; - float function(SFMLClass) sfDrawable_GetOriginX; - float function(SFMLClass) sfDrawable_GetOriginY; - Color function(SFMLClass) sfDrawable_GetColor; - BlendMode function(SFMLClass) sfDrawable_GetBlendMode; - void function(SFMLClass, float, float) sfDrawable_Move; - void function(SFMLClass, float, float) sfDrawable_Scale; - void function(SFMLClass, float) sfDrawable_Rotate; - void function(SFMLClass, float, float, float*, float*) sfDrawable_TransformToLocal; - void function(SFMLClass, float, float, float*, float*) sfDrawable_TransformToGlobal; - - typedef void function(SFMLClass, SFMLClass) pf_sfRenderWindow_DrawThis; - typedef void function(SFMLClass, SFMLClass, SFMLClass) pf_sfRenderWindow_DrawThisWithShader; - typedef void function(SFMLClass, SFMLClass) pf_sfRenderImage_DrawThis; - typedef void function(SFMLClass, SFMLClass, SFMLClass) pf_sfRenderImage_DrawThisWithShader; - - pf_sfRenderWindow_DrawThis sfRenderWindow_DrawThis; - pf_sfRenderWindow_DrawThisWithShader sfRenderWindow_DrawThisWithShader; - pf_sfRenderImage_DrawThis sfRenderImage_DrawThis; - pf_sfRenderImage_DrawThisWithShader sfRenderImage_DrawThisWithShader; - } - - mixin(loadDerivedFromSharedLib("csfml-graphics", "sfDrawable", derivedClassName, - "Create", "Destroy", "SetX", "SetY", "SetPosition", "SetScaleX", "SetScaleY", "SetScale", "SetRotation", "SetOrigin", "SetColor", "SetBlendMode", - "GetX", "GetY", "GetScaleX", "GetScaleY", "GetRotation", "GetOriginX", "GetOriginY", "GetColor", "GetBlendMode", "Move", - "Scale", "Rotate", "TransformToLocal", "TransformToGlobal")); - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-graphics-d-2"); - else - DllLoader dll = DllLoader.load("csfml-graphics-2"); - - sfRenderWindow_DrawThis = cast(pf_sfRenderWindow_DrawThis)dll.getSymbol("sfRenderWindow_Draw" ~ derivedClassName[2..$]); - sfRenderWindow_DrawThisWithShader = cast(pf_sfRenderWindow_DrawThisWithShader)dll.getSymbol("sfRenderWindow_Draw" ~ derivedClassName[2..$] ~ "WithShader"); - sfRenderImage_DrawThis = cast(pf_sfRenderImage_DrawThis)dll.getSymbol("sfRenderImage_Draw" ~ derivedClassName[2..$]); - sfRenderImage_DrawThisWithShader = cast(pf_sfRenderImage_DrawThisWithShader)dll.getSymbol("sfRenderImage_Draw" ~ derivedClassName[2..$] ~ "WithShader"); - } -} diff --git a/bindings/d/import/dsfml/graphics/font.d b/bindings/d/import/dsfml/graphics/font.d deleted file mode 100644 index 0cbfa045..00000000 --- a/bindings/d/import/dsfml/graphics/font.d +++ /dev/null @@ -1,193 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.font; - -import dsfml.system.common, - dsfml.system.exception, - dsfml.system.stringutil; - -import dsfml.graphics.rect, - dsfml.graphics.image; - - -/// Glyph describes a glyph (a visual character) -struct Glyph -{ - int Advance; /// Offset to move horizontically to the next character - IntRect Bounds; /// Bounding rectangle of the glyph, in coordinates relative to the baseline - IntRect SubRect; /// Texture coordinates of the glyph inside the font's image -} - -/** -* Font is the low-level class for loading and -* manipulating character fonts. -*/ -class Font : DSFMLObject -{ -private: - static Font s_default; -public: - - /** - * Get SFML default built-in font (Arial) - */ - static Font getDefaultFont() - { - if (s_default is null) - s_default = new Font(sfFont_GetDefaultFont()); - return s_default; - } - - /** - * construct the Font from a file - * - * Params: - * filename = font file to load - */ - this(string filename) - { - if (filename is null || filename.length == 0) - throw new LoadingException("LoadingException : Filename is invalid."); - - super(sfFont_CreateFromFile(toStringz(filename))); - } - - /** - * construct the Font from a file in memory - * - * Params: - * data = data to load - */ - this(ubyte[] data) - { - if (data is null || data.length == 0) - throw new Exception("LoadingException : Memory stream is invalid."); - - super(sfFont_CreateFromMemory(data.ptr, data.length)); - } - - - override void dispose() - { - sfFont_Destroy(m_ptr); - } - - /** - * get a glyph in a font - * - * Params: - * codePoint = Unicode code point of the character to get - * charSize = Reference character size - * bold = Retrieve the bold version or the regular one? - * Returns: - * The glyph corresponding to codePoint and charSize - */ - Glyph getGlyph(uint codePoint, uint charSize, bool bold) - { - return sfFont_GetGlyph(m_ptr, codePoint, charSize, bold); - } - - /** - * Get the kerning offset of two glyphs - * - * Params: - * first = Unicode code point of the first character - * second = Unicode code point of the second character - * charSize = Reference character size - * - * Returns: - * Kerning value for first and second, in pixels - */ - int getKerning(uint first, uint second, uint charSize) - { - return sfFont_GetKerning(m_ptr, first, second, charSize); - } - - /** - * Get the vertical offset to apply between two consecutive lines of text. - * - * Params: - * charSize = Reference character size - * - * Returns: - * Line spacing, in pixels - */ - int getLineSpacing(uint charSize) - { - return sfFont_GetLineSpacing(m_ptr, charSize); - } - - Image getImage(uint charSize) - { - return new Image(sfFont_GetImage(m_ptr, charSize)); - } - -package: - - this(SFMLClass ptr) - { - super(ptr, true); - } - -private: - static extern(C) - { - // sfFont - SFMLClass function() sfFont_Create; - SFMLClass function(cchar*) sfFont_CreateFromFile; - SFMLClass function(ubyte*, size_t) sfFont_CreateFromMemory; - void function(SFMLClass) sfFont_Destroy; - SFMLClass function() sfFont_GetDefaultFont; - - // DSFML2 - Glyph function(SFMLClass, uint, uint, bool) sfFont_GetGlyph; - int function(SFMLClass, uint, uint, uint) sfFont_GetKerning; - int function(SFMLClass, uint) sfFont_GetLineSpacing; - SFMLClass function(SFMLClass, uint) sfFont_GetImage; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-graphics-d-2"); - else - DllLoader dll = DllLoader.load("csfml-graphics-2"); - - // sfFont - mixin(loadFromSharedLib("sfFont_CreateFromFile")); - mixin(loadFromSharedLib("sfFont_CreateFromMemory")); - mixin(loadFromSharedLib("sfFont_Destroy")); - mixin(loadFromSharedLib("sfFont_GetDefaultFont")); - - // DSFML2 - mixin(loadFromSharedLib("sfFont_GetGlyph")); - mixin(loadFromSharedLib("sfFont_GetKerning")); - mixin(loadFromSharedLib("sfFont_GetLineSpacing")); - mixin(loadFromSharedLib("sfFont_GetImage")); - - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/idrawable.d b/bindings/d/import/dsfml/graphics/idrawable.d deleted file mode 100644 index a96dbcbf..00000000 --- a/bindings/d/import/dsfml/graphics/idrawable.d +++ /dev/null @@ -1,283 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.graphics.idrawable; - -import dsfml.system.vector; - -import dsfml.graphics.irendertarget; -import dsfml.graphics.color, - dsfml.graphics.blendmode, - dsfml.graphics.shader; - - -/** - * Interface for drawable object - * - * Shape, Text and Sprite implement IDrawable - */ -interface IDrawable -{ - /** - * Set the position of the object - * - * Params: - * x = New left coordinate - * y = New top coordinate - */ - void setPosition(float x, float y); - - /** - * Set the scale of the object - * - * Params: - * scaleX = New horizontal scale > 0 - * scaleY = New vertical scale > 0 - */ - void setScale(float scalex, float scaley); - // in {assert(scalex > 0 && scalex > 0);} // TODO: add in again when interface contracts work - - /** - * Set the origin of the object, in coordinates relative to the - * top-left of the object (take 2 values). - * The default origin is (0, 0) - * - * Params: - * originX : X coordinate of the origin - * originY : Y coordinate of the origin - */ - void setOrigin(float originX, float originY); - -@property -{ - /** - * Set the left position of the object - * - * Params: - * x = New left coordinate - */ - void x(float x); - - /** - * Set the top position of the object - * - * Params: - * y = New top coordinate - */ - void y(float y); - - /** - * Set the position of the object - * - * Params: - * vec = new position - */ - void position(Vector2f vec); - - /** - * Set the horizontal scale of the object - * - * Params: - * scale = New horizontal scale (Strictly positive) - */ - void scaleX(float scale); - - /** - * Set the vertical scale of the object - * - * Params: - * scale = New vertical scale (Strictly positive) - */ - void scaleY(float scale); - - /** - * Set the scale of the object - * - * Params: - * scale = new scale - */ - void scale(Vector2f scale); -// in {assert(scale.x > 0 && scale.y > 0);} // TODO - - /** - * Set the origin of the object, in coordinates relative to the - * top-left of the object (take a 2D vector). - * The default origin is (0, 0) - * - * Params: - * origin : New origin - */ - void origin(Vector2f origin); - - - /** - * Set the rotation of the object - * - * Params: - * angle = Angle of rotation, in degree - */ - void rotation(float angle); - - /** - * Set the color - * - * Params: - * c = New color - */ - void color(Color c); - - /** - * Set the blending mode for the object. - * The default blend mode is Blend.Alpha - * - * Params: - * mode = New blending mode - */ - void blendMode(BlendMode mode); - -const -{ - /** - * Get the position of the object - * - * Returns: - * Current position - * - */ - Vector2f position(); - - /** - * Get the current scale of the object - * - * Returns: - * Current scale - */ - Vector2f scale(); - - /** - * Get the origin of the object - * - * Returns: - * Current position of the origin - * - */ - Vector2f origin(); - - /** - * Get the rotation angle of the object - * - * Returns: - * Angle of rotation, in degree - */ - float rotation(); - - /** - * Get the color of the string - * - * Returns: - * Current color - */ - Color color(); - - /** - * Get the current blending mode - * - * Returns: - * Current blending mode - */ - BlendMode blendMode(); -} // const -} // @property - - /** - * Rotate the object - * Angle is added to the current orientation of the objet - * - * Params: - * angle = Angle of rotation in degree - */ - void rotate(float angle); - - /** - * Move the object - * New offset is added to object current position - * - * Params: - * offsetX = Offset on the X axis - * offsetY = Offset on the Y axis - */ - void move(float offsetX, float offsetY); - - /** - * Move the object - * New offset is added to object current position - * - * Params: - * offset = Amount of units to move the object of - */ - void move(Vector2f offset); - - /** - * Transform a point from global coordinates into local coordinates - * (ie it applies the inverse of object's origin, translation, rotation and scale to the point) - * - * Params: - * point = Point to transform - * - * Returns: - * Transformed point - */ - Vector2f transformToLocal(Vector2f point) const; - - /** - * Transform a point from local coordinates into global coordinates - * (ie it applies the inverse of object's origin, translation, rotation and scale to the point) - * - * Params: - * point = Point to transform - * - * Returns: - * Transformed point - */ - Vector2f transformToGlobal(Vector2f point) const; - - /** - * Render the specific geometry of the object - * - * Params: - * window = Target into which render the object - */ - void render(IRenderTarget window); - - /** - * Render the specific geometry of the object with a shader - * - * Params: - * window = Render target - * shader = Shader to use - */ - void renderWithShader(IRenderTarget window, Shader shader); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/image.d b/bindings/d/import/dsfml/graphics/image.d deleted file mode 100644 index 42988acd..00000000 --- a/bindings/d/import/dsfml/graphics/image.d +++ /dev/null @@ -1,352 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - - -module dsfml.graphics.image; - -import dsfml.graphics.color, - dsfml.graphics.rect; -// dsfml.graphics.renderwindow; - -import dsfml.system.common, - dsfml.system.exception, - dsfml.system.stringutil; - - -/** - * Image is the low-level class for loading and - * manipulating images - */ -class Image : DSFMLObject -{ -package: - this(SFMLClass ptr) - { - super(ptr, true); - } - -public: - - /** - * Default constructor - */ - this() - { - super(sfImage_Create()); - } - - /** - * Construct an empty image - * - * Params: - * width = Image width - * height = Image height - * col = Image color (black by default) - */ - this(uint width, uint height, Color col = Color.BLACK) - { - super(sfImage_CreateFromColor(width, height, col)); - } - - /** - * Construct the image from a file - * - * Params: - * filename = Path of the image file to load - * - * Throws: - * LoadingException if filename is empty or null. - */ - this(string filename) - { - if (filename is null || filename.length == 0) - throw new LoadingException("LoadingException : Filename is invalid."); - - super(sfImage_CreateFromFile(toStringz(filename))); - } - - /** - * Construct the image from a file in memory - * - * Params: - * data = array of data in memory - * Throws: - * LoadingException if data is empty or null. - */ - this(ubyte[] data) - { - if (data is null || data.length == 0) - throw new LoadingException("Memory stream is invalid."); - - super(sfImage_CreateFromMemory(data.ptr, data.length)); - } - - /** - * Construct the image directly from an array of pixels - * - * Params: - * width = Image width - * height = Image height - * data = array of pixels in memory (assumed format is RGBA) - * - * Throws: - * LoadingException if data length doesn't match Width * Height * 4 - */ - this(uint width, uint height, ubyte[] data) - { - if (width * height * 4 != data.length) - throw new LoadingException("Pixels array length doesn't match the specified size."); - - super(sfImage_CreateFromPixels(width, height, data.ptr)); - } - - override void dispose() - { - sfImage_Destroy(m_ptr); - } - - /** - * Save the content of the image to a file - * - * Params: - * filename = Path of the file to save (overwritten if already exist) - * - * Returns: - * True if saving was successful - */ - bool saveToFile(string filename) - { - return cast(bool)sfImage_SaveToFile(m_ptr, toStringz(filename)); - } - - /** - * Create an empty image - * - * Params: - * width = Image width - * height = Image height - * col = Image color (black by default) - * - * Returns: - * True if creation was successful - */ - bool create(uint width, uint height, Color col = Color.BLACK) - { - m_ptr = sfImage_CreateFromColor(width, height, col); - return (m_ptr !is null); - } - - /** - * Create transparency mask from a specified colorkey - * - * Params: - * colorKey = Color to become transparent - * alpha = Alpha value to use for transparent pixels (0 by default) - */ - void createMaskFromColor(Color colorKey, ubyte alpha = 0) - { - sfImage_CreateMaskFromColor(m_ptr, colorKey, alpha); - } - -/+ - /** - * Create the image from the current contents of the - * given window - * - * Params: - * window = Window to capture - * sourceRect = Sub-rectangle of the screen to copy (empty by default - entire image) - * - * Returns: - * True if copy was successful - */ - bool copyScreen(RenderWindow window, IntRect sourceRect = IntRect()) - { - return cast(bool)sfImage_CopyScreen(m_ptr, window.nativePointer, sourceRect); - } -+/ - - /** - * Copy pixels from another image onto this one. - * This function does a slow pixel copy and should only - * be used at initialization time - * - * Params: - * source = Source image to copy - * destX = X coordinate of the destination position - * destY = Y coordinate of the destination position - * sourceRect = Sub-rectangle of the source image to copy - */ - void copyImage(Image source, uint destX, uint destY, IntRect sourceRect = IntRect()) - { - sfImage_CopyImage(m_ptr, source.nativePointer, destX, destY, sourceRect); - } - - /** - * Change the color of a pixel - * Don't forget to call Update when you end modifying pixels - * - * Params: - * x = X coordinate of pixel in the image - * y = Y coordinate of pixel in the image - * col = New color for pixel (X, Y) - */ - void setPixel(uint x, uint y, Color col) - { - sfImage_SetPixel(m_ptr, x, y, col); - } - - /** - * Get a pixel from the image - * - * Params: - * x = X coordinate of pixel in the image - * y = Y coordinate of pixel in the image - * - * Returns: - * Color of pixel (x, y) - */ - Color getPixel(uint x, uint y) - { - return sfImage_GetPixel(m_ptr, x, y); - } - - /** - * Get an array of pixels (8 bits integers RGBA) - * Array size is GetWidth() x GetHeight() x 4 - * This array becomes invalid if you reload or resize the image - * - * Returns: - * array of pixels - */ - ubyte[] getPixelsArray() - { - return sfImage_GetPixelsPtr(m_ptr)[0..width() * height() * 4]; - } - - /** - * Bind the image for rendering - */ - void bind() - { - sfImage_Bind(m_ptr); - } - - /** - * Update a sub-rectangle of the image from an array of pixels - * - * Warning: for performances reasons, this function doesn't - * perform any check; thus you're responsible of ensuring that - * rectangle does not exceed the image size, and that - * pixels contains enough elements. - * - * Params: - * rectangle = sub rectangle of the image to update - * pixels = array of pixels to write to the image - */ - void updatePixels(ubyte[] pixels, IntRect rectangle) - { - sfImage_UpdatePixels(m_ptr, pixels.ptr, rectangle); - } - -@property -{ - /** - * Enable or disable image smooth filter. - * This parameter is enabled by default - * - * Params: - * s = True to enable smoothing filter, false to disable it - */ - void smooth(bool s) - { - sfImage_SetSmooth(m_ptr, s); - } - - /** - * Return the width of the image - * - * Returns: - * Width in pixels - */ - uint width() - { - return sfImage_GetWidth(m_ptr); - } - - /** - * Return the height of the image - * - * Returns: - * Height in pixels - */ - uint height() - { - return sfImage_GetHeight(m_ptr); - } - - /** - * Tells whether the smooth filtering is enabled or not - * - * Returns: - * True if image smoothing is enabled - */ - bool smooth() - { - return cast(bool)sfImage_IsSmooth(m_ptr); - } -} - -private: - static extern (C) - { - SFMLClass function() sfImage_Create; - SFMLClass function(uint, uint, Color) sfImage_CreateFromColor; - SFMLClass function(uint, uint, ubyte*) sfImage_CreateFromPixels; - SFMLClass function(cchar*) sfImage_CreateFromFile; - SFMLClass function(ubyte* ,size_t) sfImage_CreateFromMemory; - void function(SFMLClass) sfImage_Destroy; - int function(SFMLClass, cchar*) sfImage_SaveToFile; - void function(SFMLClass, Color, ubyte) sfImage_CreateMaskFromColor; - SFMLClass function(SFMLClass) sfImage_Copy; - int function(SFMLClass, SFMLClass, IntRect) sfImage_CopyScreen; - void function(SFMLClass, SFMLClass, uint, uint, IntRect) sfImage_CopyImage; - void function(SFMLClass, uint, uint, Color) sfImage_SetPixel; - Color function(SFMLClass, uint, uint) sfImage_GetPixel; - ubyte* function(SFMLClass) sfImage_GetPixelsPtr; - void function(SFMLClass) sfImage_Bind; - void function(SFMLClass, int) sfImage_SetSmooth; - uint function(SFMLClass) sfImage_GetWidth; - uint function(SFMLClass) sfImage_GetHeight; - int function(SFMLClass) sfImage_IsSmooth; - void function(SFMLClass, ubyte*, IntRect) sfImage_UpdatePixels; - } - - mixin(loadFromSharedLib2("csfml-graphics", "sfImage", - "Create", "CreateFromColor", "CreateFromPixels", "CreateFromFile", "CreateFromMemory", "Destroy", "SaveToFile", - "CreateMaskFromColor", "Copy", "CopyScreen", "CopyImage", "SetPixel", "GetPixel", "GetPixelsPtr", "Bind", "SetSmooth", "GetWidth", - "GetHeight", "IsSmooth", "UpdatePixels")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/irendertarget.d b/bindings/d/import/dsfml/graphics/irendertarget.d deleted file mode 100644 index 719a2a48..00000000 --- a/bindings/d/import/dsfml/graphics/irendertarget.d +++ /dev/null @@ -1,138 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.graphics.irendertarget; - -import dsfml.system.vector; -import dsfml.graphics.idrawable; -import dsfml.graphics.rect; -import dsfml.graphics.shader; -import dsfml.graphics.view; -import dsfml.graphics.color; - -interface IRenderTarget -{ - /** - * Clear the entire target with a single color - * - * \param color : Color to use to clear the render target - * - */ - void clear(Color color = Color()); - - /** - * Draw something into the target - * - * \param object : Object to draw - * - */ - void draw(IDrawable object); - - /** - * Draw something into the target with a shader - * - * \param object : Object to draw - * \param shader : Shader to apply - * - */ - void draw(IDrawable object, Shader shader); - - /** - * Convert a point in target coordinates into view coordinates - * - * \param x : X coordinate of the point to convert, relative to the target - * \param y : Y coordinate of the point to convert, relative to the target - * \param view : Target view to convert the point to, null to use the currently associated view - * - * \return Converted point - * - */ - Vector2f convertCoords(uint x, uint y, View view = null); - - /** - * Save the current OpenGL render states and matrices - * - */ - void saveGLStates(); - - /** - * Restore the previously saved OpenGL render states and matrices - * - */ - void restoreGLStates(); - -@property -{ - /** - * Get the width of the rendering region of the target - * - * \return Width in pixels - * - */ - uint width(); - - /** - * Get the height of the rendering region of the target - * - * \return Height in pixels - * - */ - uint height(); - - /** - * Change the current active view. - * - * \param view : New view to use (pass GetDefaultView() to set the default view) - * - */ - void view(View view); - - /** - * Get the current view - * - * \return Current view active in the window - * - */ - View view(); - - /** - * Get the default view of the window - * - * \return Default view - * - */ - View defaultView(); - - /** - * Get the viewport of a view applied to this target - * - * \param view Target view - * - * \return Viewport rectangle, expressed in pixels in the current target - * - */ - IntRect viewport(View view); -} -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/rect.d b/bindings/d/import/dsfml/graphics/rect.d deleted file mode 100644 index 3e8b9df1..00000000 --- a/bindings/d/import/dsfml/graphics/rect.d +++ /dev/null @@ -1,149 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.rect; - -version (Tango) -{ - import tango.core.Traits; -} -else -{ - template isIntegerType(T) - { - const bool isIntegerType = - is (T == byte) || - is (T == short) || - is (T == int) || - is (T == long); - } - - template isRealType(T) - { - const bool isRealType = - is (T == float) || - is (T == double) || - is (T == real); - } -} - -/** - * Rect is an utility class for manipulating rectangles. - * Template parameter defines the type of coordinates (integer float, ...) - */ -struct Rect(T) -{ - T left; // Left coordinate of the rectangle - T top; // Top coordinate of the rectangle - T width; // width - T height; // height - - static if (!isIntegerType!(T) && !isRealType!(T)) - { - static assert (0, "This type is not supported by Rectangle"); - } - - T min(T)(T i, T j) - { - return i < j ? i : j; - } - - T max(T)(T i, T j) - { - return i > j ? i : j; - } - - /** - * Get the right coordinate of the rectangle - */ - T right() - { - return left + width; - } - - /** - * Get the bottom coordinate of the rectangle - */ - T bottom() - { - return top + height; - } - - /** - * Check if a point is inside the rectangle's area - * - * Params: - * x = X coordinate of the point to test - * y = Y coordinate of the point to test - * - * Returns: - * True if the point is inside - */ - bool contains(T x, T y) - { - return (x >= left) && (x < right) && (y >= top) && (y < bottom); - } - - /** - * Check intersection between two rectangles - * - * Params: - * rectangle = Rectangle to test - * overlappingRect = Rectangle to be filled with overlapping rect (NULL by default) - * - * Returns: - * True if rectangles overlap - */ - bool intersects(Rect!(T) rectangle, out Rect!(T) overlappingRect = Rect!(T)()) - { - // Compute overlapping rect - auto overlapping = Rect!(T)( - max(left, rectangle.left), - max(top, rectangle.top), - min(right, rectangle.right), - min(bottom, rectangle.bottom) - ); - - // If overlapping rect is valid, then there is intersection - if ((overlapping.left < overlapping.right) && (overlapping.top < overlapping.bottom)) - { - overlappingRect = overlapping; - return true; - } - else - { - overlappingRect = Rect!(T)(); - return false; - } - } - - //bool opEquals -} - -///Alias -alias Rect!(int) IntRect; -///ditto -alias Rect!(float) FloatRect; \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/renderimage.d b/bindings/d/import/dsfml/graphics/renderimage.d deleted file mode 100644 index 76bdbe6c..00000000 --- a/bindings/d/import/dsfml/graphics/renderimage.d +++ /dev/null @@ -1,316 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - - -module dsfml.graphics.renderimage; - -import dsfml.system.common, - dsfml.system.exception, - dsfml.system.stringutil, - dsfml.system.vector; - -import dsfml.graphics.idrawable, - dsfml.graphics.image, - dsfml.graphics.color, - dsfml.graphics.rect, - dsfml.graphics.shader, - dsfml.graphics.view, - dsfml.graphics.irendertarget; - - -/** - * Target for 2D rendering into an image that can be reused in a sprite - */ -class RenderImage : DSFMLObject, IRenderTarget -{ -private: - Image _image = null; - View _view = null; - View _defaultView = null; - -package: - this(SFMLClass ptr) - { - super(ptr, true); - } - - override void dispose() - { - sfRenderImage_Destroy(m_ptr); - } - -public: - - /** - * Construct a new renderimage - * - * Params: - * width = Width of the renderimage - * height = Height of the renderimage - * depthBuffer = Do you want a depth-buffer attached? (useful only if you're doing 3D OpenGL on the renderimage) - */ - this(uint width, uint height, bool depthBuffer = false) - { - super(sfRenderImage_Create(width, height, depthBuffer)); - } - - /** - * Update the contents of the target image - */ - void display() - { - sfRenderImage_Display(m_ptr); - } - - /** - * Draw something on a renderimage - * - * Params: - * drawable = object to draw - */ - void draw(IDrawable drawable) - { - drawable.render(this); - } - - /** - * - * Params: - * drawable = Object to draw - * shader = Shader to use - */ - void draw(IDrawable drawable, Shader shader) - { - drawable.renderWithShader(this, shader); - } - - /** - * Clear the renderimage with the given color - * - * Params: - * color = Fill color - */ - void clear(Color color) - { - sfRenderImage_Clear(m_ptr, color); - } - - /** - * Convert a point in image coordinates into view coordinates - * - * Params: - * imageX = X coordinate of the point to convert, relative to the image - * imageY = Y coordinate of the point to convert, relative to the image - * targetView = Target view to convert the point to (pass NULL to use the current view) - * - * Returns: - * Converted point - */ - Vector2f convertCoords(uint imageX, uint imageY, View targetView = null) - { - Vector2f vec; - sfRenderImage_ConvertCoords(m_ptr, imageX, imageY, &vec.x, &vec.y, targetView is null ? null : targetView.nativePointer); - return vec; - } - - - - /** - * Save the current OpenGL render states and matrices - */ - void saveGLStates() - { - sfRenderImage_SaveGLStates(m_ptr); - } - - /** - * Restore the previously saved OpenGL render states and matrices - */ - void restoreGLStates() - { - sfRenderImage_RestoreGLStates(m_ptr); - } - -@property -{ - /** - * Return the width of the rendering region of a renderimage - * - * Returns: - * Width in pixels - */ - uint width() - { - return sfRenderImage_GetWidth(m_ptr); - } - - /** - * Return the height of the rendering region of a renderimage - * - * Returns: - * Height in pixels - */ - uint height() - { - return sfRenderImage_GetHeight(m_ptr); - } - - /** - * Activate or deactivate a renderimage as the current target for rendering - * - * Params: - * active = true to activate, false to deactivate - * Returns: - * true if operation was successful, false otherwise - */ - bool active(bool activ) - { - return sfRenderImage_SetActive(m_ptr, activ); - } - - /** - * Change the current active view of a renderimage - * - * Params: - * view = Pointer to the new view - */ - void view(View v) - { - if (_view !is null) - { - _view.setHandled(false); - } - - sfRenderImage_SetView(m_ptr, v.nativePointer); - - _view = v; - _view.setHandled(true); - } - - /** - * Get the current active view rectangle - * - * Returns: - * current view rectangle, in global coordinates - */ - View view() - { - if (_view is null) - { - SFMLClass cView = sfRenderImage_GetView(m_ptr); - _view = new View(cView, true); - } - return _view; - } - - /** - * Get the default view - * - * Returns: - * default view - */ - View defaultView() - { - if (_defaultView is null) - { - SFMLClass cView = sfRenderImage_GetDefaultView(m_ptr); - _defaultView = new View(cView, true); - } - return _defaultView; - } - - - IntRect viewport(View v = null) // TODO: is there a need to accept other Views than the currently assigned one? - { - return sfRenderImage_GetViewport(m_ptr, v is null ? _view.nativePointer : v.nativePointer); - } - - /** - * Get the target image - * - * Returns: - * target image - */ - Image image() - { - if (_image is null) - { - SFMLClass cImage = sfRenderImage_GetImage(m_ptr); - _image = new Image(cImage); - } - return _image; - } - - /** - * Check whether the system supports render images or not - * - * Returns: - * true if the RenderImage class can be used - */ - bool isAvailable() - { - return sfRenderImage_IsAvailable(); - } -} - -private: - static extern(C) - { - SFMLClass function(uint, uint, bool) sfRenderImage_Create; - void function(SFMLClass) sfRenderImage_Destroy; - uint function(SFMLClass) sfRenderImage_GetWidth; - uint function(SFMLClass) sfRenderImage_GetHeight; - bool function(SFMLClass, bool) sfRenderImage_SetActive; - void function(SFMLClass) sfRenderImage_Display; - - void function(SFMLClass, void*) sfRenderImage_DrawSprite; - void function(SFMLClass, void*) sfRenderImage_DrawShape; - void function(SFMLClass, void*) sfRenderImage_DrawText; - - void function(SFMLClass, void*, void*) sfRenderImage_DrawSpriteWithShader; - void function(SFMLClass, void*, void*) sfRenderImage_DrawShapeWithShader; - void function(SFMLClass, void*, void*) sfRenderImage_DrawTextWithShader; - - void function(SFMLClass, Color) sfRenderImage_Clear; - void function(SFMLClass, SFMLClass) sfRenderImage_SetView; - SFMLClass function(SFMLClass) sfRenderImage_GetView; - SFMLClass function(SFMLClass) sfRenderImage_GetDefaultView; - IntRect function(SFMLClass, SFMLClass) sfRenderImage_GetViewport; - void function(SFMLClass, uint, uint, float*, float*, SFMLClass) sfRenderImage_ConvertCoords; - SFMLClass function(SFMLClass) sfRenderImage_GetImage; - bool function() sfRenderImage_IsAvailable; - - // DSFML2 - void function(SFMLClass) sfRenderImage_SaveGLStates; - void function(SFMLClass) sfRenderImage_RestoreGLStates; - } - - mixin(loadFromSharedLib2("csfml-graphics", "sfRenderImage", "Create", "Destroy", "GetWidth", "GetHeight", - "SetActive", "Display", "Clear", "SetView", "GetView", "GetDefaultView", "GetViewport", "ConvertCoords", - "GetImage", "IsAvailable", - // DSFML2 - "SaveGLStates", "RestoreGLStates")); - -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/renderwindow.d b/bindings/d/import/dsfml/graphics/renderwindow.d deleted file mode 100644 index fa23631c..00000000 --- a/bindings/d/import/dsfml/graphics/renderwindow.d +++ /dev/null @@ -1,336 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.renderwindow; - -import dsfml.graphics.color, - dsfml.graphics.rect, - dsfml.graphics.shader, - dsfml.graphics.view, - dsfml.graphics.idrawable, - dsfml.graphics.irendertarget; - -import dsfml.window.event, - dsfml.window.input, - dsfml.window.videomode, - dsfml.window.window, - dsfml.window.windowhandle; - -import dsfml.system.common, - dsfml.system.stringutil, - dsfml.system.vector; - -/** - * Simple wrapper for Window that allows easy 2D rendering. - */ -class RenderWindow : Window, IRenderTarget -{ -private: - View m_view = null; - View m_defaultView = null; - -public: - - /** - * Construct the window - * - * Params: - * mode = Video mode to use - * title = Title of the window - * windowStyle = Window style (Resize | Close by default) - * settings = Context settings (default is default ContextSettings values) - */ - this(VideoMode mode, string title, Style windowStyle = Style.Default, ContextSettings settings = ContextSettings()) - { - super(sfRenderWindow_Create(mode, toStringz(title), windowStyle, &settings)); - m_input = new Input(sfRenderWindow_GetInput(m_ptr)); - } - - /** - * Construct the window from an existing control - * - * Params: - * handle = Platform-specific handle of the control - * settings = Context settings (default is default ContextSettings values) - */ - this(WindowHandle handle, ContextSettings settings = ContextSettings()) - { - super(sfRenderWindow_CreateFromHandle(handle, &settings)); - m_input = new Input(sfRenderWindow_GetInput(m_ptr)); - } - - override void dispose() - { - sfRenderWindow_Destroy(m_ptr); - } - - /** - * Create (or recreate) the window - * - * Input created with getInput will become invalid. - * - * Params: - * mode = Video mode to use - * title = Title of the window - * windowStyle = Window style (Resize | Close by default) - * settings = Context settings (default is default ContextSettings values) - * - */ - override void create(VideoMode mode, string title, Style windowStyle = Style.Default, ContextSettings settings = ContextSettings()) - { - if (m_ptr !is null) - dispose(); - - m_ptr = sfRenderWindow_Create(mode, toStringz(title), windowStyle, &settings); - m_input = new Input(sfRenderWindow_GetInput(m_ptr)); - } - - /** - * Create (or recreate) the window from an existing control - * - * Input created with getInput become invalid. - * - * Params: - * handle = Platform-specific handle of the control - * settings = Context settings (default is default ContextSettings values) - * - */ - override void create(WindowHandle handle, ContextSettings settings = ContextSettings()) - { - if (m_ptr !is null) - dispose(); - - m_ptr = sfRenderWindow_CreateFromHandle(handle, &settings); - m_input = new Input(sfRenderWindow_GetInput(m_ptr)); - } - - /** - * Draw a sprite, shape or text on the window with a shader - * - * Params: - * drawable = IDrawable to draw - * shader = Shader to use - */ - void draw(IDrawable drawable, Shader shader) - { - drawable.renderWithShader(this, shader); - } - - /** - * Draw a sprite, shape or text - * - * Params: - * drawable = IDrawable to draw - */ - void draw(IDrawable drawable) - { - drawable.render(this); - } - - /** - * Clear the screen with the given color. - * - * Params: - * col = Fill color - */ - void clear(Color col = Color.BLACK) - { - sfRenderWindow_Clear(m_ptr, col); - } - - - - /** - * Convert a point in window coordinates into view coordinates - * - * Params: - * windowX = X coordinate of the point to convert, relative to the window - * windowY = Y coordinate of the point to convert, relative to the window - * targetView = Target view to convert the point to (pass NULL to use the current view) - * - * Returns: - * Converted point - */ - Vector2f convertCoords(uint windowX, uint windowY, View targetView = null) - { - Vector2f vec; - sfRenderWindow_ConvertCoords(m_ptr, windowX, windowY, &vec.x, &vec.y, targetView is null ? null : targetView.nativePointer); - return vec; - } - - /** - * Save the current OpenGL render states and matrices - */ - void saveGLStates() - { - sfRenderWindow_SaveGLStates(m_ptr); - } - - /** - * Restore the previously saved OpenGL render states and matrices - */ - void restoreGLStates() - { - sfRenderWindow_RestoreGLStates(m_ptr); - } - -@property -{ - /** - * Change the current active view. - * The current view is defined with the initial size of the window - * - * Params: - * newView = Pointer to the new view (pass getDefaultView to set the default view) - */ - void view(View newView) - { - if (m_view !is null) - { - m_view.setHandled(false); - } - - sfRenderWindow_SetView(m_ptr, newView.nativePointer); - - m_view = newView; - m_view.setHandled(true); - } - - /** - * Get the current view rectangle - * - * Returns: - * current view rectangle, in global coordinates - */ - View view() - { - if (m_view is null) - { - SFMLClass cView = sfRenderWindow_GetView(m_ptr); - m_view = new View(cView, true); - } - return m_view; - } - - /** - * Get the default view - * - * Returns: - * default view - */ - View defaultView() - { - if (m_defaultView is null) - { - SFMLClass cView = sfRenderWindow_GetDefaultView(m_ptr); - m_defaultView = new View(cView, true); - } - return m_defaultView; - } - - /** - * Return the width of the rendering region of a renderwindow - * - * Returns: - * Width in pixels - */ - override uint width() - { - return sfRenderWindow_GetWidth(m_ptr); - } - - /** - * Return the height of the rendering region of a renderwindow - * - * Returns: - * Height in pixels - */ - override uint height() - { - return sfRenderWindow_GetHeight(m_ptr); - } - - /** - * Get the viewport of a view applied to this target - * - * Params: - * view = Target view - * Returns: - * Viewport rectangle, expressed in pixels in the current target - */ - IntRect viewport(View v = null) // TODO: is there a need to accept other Views than the currently assigned one? - { - return sfRenderWindow_GetViewport(m_ptr, v is null ? m_view.nativePointer : v.nativePointer); - } -} - -private: - - static extern(C) - { - SFMLClass function(VideoMode, cchar*, Style, ContextSettings*)sfRenderWindow_Create; - SFMLClass function(WindowHandle, ContextSettings*) sfRenderWindow_CreateFromHandle; - void function(SFMLClass) sfRenderWindow_Destroy; - SFMLClass function(SFMLClass) sfRenderWindow_GetInput; - bool function(SFMLClass) sfRenderWindow_IsOpened; - uint function(SFMLClass) sfRenderWindow_GetWidth; - uint function(SFMLClass) sfRenderWindow_GetHeight; - - /* - void function(SFMLClass, SFMLClass) sfRenderWindow_DrawSprite; - void function(SFMLClass, SFMLClass) sfRenderWindow_DrawShape; - void function(SFMLClass, SFMLClass) sfRenderWindow_DrawText; - - void function(SFMLClass, SFMLClass, SFMLClass) sfRenderWindow_DrawSpriteWithShader; - void function(SFMLClass, SFMLClass, SFMLClass) sfRenderWindow_DrawShapeWithShader; - void function(SFMLClass, SFMLClass, SFMLClass) sfRenderWindow_DrawTextWithShader; - */ - - SFMLClass function(SFMLClass) sfRenderWindow_Capture; - void function(SFMLClass, Color) sfRenderWindow_Clear; - void function(SFMLClass, SFMLClass) sfRenderWindow_SetView; - SFMLClass function(SFMLClass) sfRenderWindow_GetView; - SFMLClass function(SFMLClass) sfRenderWindow_GetDefaultView; - void function(SFMLClass, uint, uint, float*, float*, SFMLClass) sfRenderWindow_ConvertCoords; - - // DSFML2 - void function(SFMLClass) sfRenderWindow_SaveGLStates; - void function(SFMLClass) sfRenderWindow_RestoreGLStates; - IntRect function(SFMLClass, SFMLClass) sfRenderWindow_GetViewport; - } - - mixin(loadFromSharedLib2("csfml-graphics", "sfRenderWindow", "Create", "CreateFromHandle", - "Destroy", "GetInput", "Clear", "SetView", "GetView", "GetDefaultView", "ConvertCoords", - "GetWidth", "GetHeight", - // DSFML2 - "SaveGLStates", "RestoreGLStates", "GetViewport")); - - - static ~this() - { - - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/shader.d b/bindings/d/import/dsfml/graphics/shader.d deleted file mode 100644 index ea7e07b7..00000000 --- a/bindings/d/import/dsfml/graphics/shader.d +++ /dev/null @@ -1,177 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.shader; - -import dsfml.graphics.image; - -import dsfml.system.common; -import dsfml.system.exception; -import dsfml.system.stringutil; - - -/** -* Define loading methods for effect -*/ -enum LoadingType -{ - FROMFILE, /// string represents a file path - FROMSTRING /// string represents effect code -} - -/** -* Shader is used to apply a post effect to a window -* -* See_Also: -* $(LINK2 http://www.sfml-dev.org/tutorials/graphics-postfx.php, SFML post FX tutorial) from more informations about Post effects and GLSL fragment shaders syntax. -*/ -class Shader : DSFMLObject -{ -private: - Image m_texture; - -public: - - /** - * construct the effect - * - * Params: - * effect = Path of a file or string containing the effect. - * type = type of the effect (default is FROMFILE) - */ - this(string effect, LoadingType type = LoadingType.FROMFILE) - { - if (effect is null || effect.length == 0) - throw new LoadingException("LoadingException : Effect is invalid."); - - if (type == LoadingType.FROMFILE) - super(sfShader_CreateFromFile(toStringz(effect))); - else - super(sfShader_CreateFromMemory(toStringz(effect))); - } - - override void dispose() - { - sfShader_Destroy(m_ptr); - } - - /** - * Change parameters of the effect - * - * Params: - * name = Parameter name in the effect - */ - void setParameter(string name, float x) - { - sfShader_SetParameter1(m_ptr, toStringz(name), x); - } - - /** - * ditto - */ - void setParameter(string name, float x, float y) - { - sfShader_SetParameter2(m_ptr, toStringz(name), x, y); - } - - /** - * ditto - */ - void setParameter(string name, float x, float y, float z) - { - sfShader_SetParameter3(m_ptr, toStringz(name), x, y, z); - } - - /** - * ditto - */ - void setParameter(string name, float x, float y, float z, float w) - { - sfShader_SetParameter4(m_ptr, toStringz(name), x, y, z, w); - } - - /** - * Set a texture parameter - * - * Params: - * name = Texture name in the effect - * texture = Image to set (pass NULL to use content of current framebuffer) - */ - void setTexture(string name, Image texture) - { - m_texture = texture; - sfShader_SetTexture(m_ptr, toStringz(name), texture is null ? null : texture.nativePointer); - } - - /** - * Tell whether or not the system supports shaders - * - * Returns: - * True if the system can use shaders - */ - static bool isAvailable() - { - return cast(bool)sfShader_IsAvailable(); - } - - -private: - - static extern(C) - { - SFMLClass function(cchar*) sfShader_CreateFromFile; - SFMLClass function(cchar*) sfShader_CreateFromMemory; - void function(SFMLClass) sfShader_Destroy; - void function(SFMLClass, cchar*, float) sfShader_SetParameter1; - void function(SFMLClass, cchar*, float, float) sfShader_SetParameter2; - void function(SFMLClass, cchar*, float, float, float) sfShader_SetParameter3; - void function(SFMLClass, cchar*, float, float, float, float) sfShader_SetParameter4; - void function(SFMLClass, cchar*, SFMLClass) sfShader_SetTexture; - int function() sfShader_IsAvailable; - void function(SFMLClass) sfShader_Bind; - void function(SFMLClass) sfShader_Unbind; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-graphics-d-2"); - else - DllLoader dll = DllLoader.load("csfml-graphics-2"); - - mixin(loadFromSharedLib("sfShader_CreateFromFile")); - mixin(loadFromSharedLib("sfShader_CreateFromMemory")); - mixin(loadFromSharedLib("sfShader_Destroy")); - mixin(loadFromSharedLib("sfShader_SetParameter1")); - mixin(loadFromSharedLib("sfShader_SetParameter2")); - mixin(loadFromSharedLib("sfShader_SetParameter3")); - mixin(loadFromSharedLib("sfShader_SetParameter4")); - mixin(loadFromSharedLib("sfShader_SetTexture")); - mixin(loadFromSharedLib("sfShader_IsAvailable")); - mixin(loadFromSharedLib("sfShader_Bind")); - mixin(loadFromSharedLib("sfShader_Unbind")); - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/shape.d b/bindings/d/import/dsfml/graphics/shape.d deleted file mode 100644 index 87f40dc4..00000000 --- a/bindings/d/import/dsfml/graphics/shape.d +++ /dev/null @@ -1,306 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.graphics.shape; - -import dsfml.system.vector; - -import dsfml.graphics.blendmode; -import dsfml.graphics.color; -import dsfml.graphics.drawableimpl; - -/** - * Shape defines a drawable convex shape ; it also defines - * helper functions to draw simple shapes like - * lines, rectangles, circles, etc. - */ -class Shape : DrawableImpl!("sfShape") -{ -private: - this (SFMLClass ptr) - { - super(ptr); - } - -public: - this() - { - super(); - } - - /** - * Add a point to the shape - * - * Params: - * x = X position of the point - * y = Y position of the point - * col = Color of the point (white by default) - * outlineCol = Outline color of the point (black by default) - */ - void addPoint(float x, float y, Color col = Color.WHITE, Color outlineCol = Color.BLACK) - { - sfShape_AddPoint(m_ptr, x, y, col, outlineCol); - } - - /** - * Add a point to the shape - * - * Params: - * position = position of the point - * col = Color of the point (white by default) - * outlineCol = Outline color of the point (black by default) - */ - void addPoint(Vector2f position, Color col = Color.WHITE, Color outlineCol = Color.BLACK) - { - sfShape_AddPoint(m_ptr, position.x, position.x, col, outlineCol); - } - -@property -{ - /** - * Enable or disable filling the shape. - * Fill is enabled by default. - * - * Params: - * enable = True to enable, false to disable - */ - void enableFill(bool enable) - { - sfShape_EnableFill(m_ptr, enable); - } - - /** - * Enable or disable drawing a shape outline. - * Outline is enabled by default - * - * Params: - * enable = True to enable, false to disable - */ - void enableOutline(bool enable) - { - sfShape_EnableOutline(m_ptr, enable); - } - - /** - * Change the thickness of a shape outline - * - * Params: - * thickness = New thickness - */ - void outlineThickness(float thickness) - { - sfShape_SetOutlineThickness(m_ptr, thickness); - } - - /** - * Get the thickness of the shape outline - * - * Returns: - * Current outline thickness - * - */ - float outlineThickness() - { - return sfShape_GetOutlineThickness(m_ptr); - } - - /** - * Get the number of points composing a shape - * - * Returns: - * Total number of points - */ - uint pointsCount() - { - return sfShape_GetPointsCount(m_ptr); - } -} - - /** - * Get a point of the shape - * - * Params: - * index = Index of the point - * - * Returns: - * position of the point - */ - Vector2f getPointPosition(uint index) - { - float x, y; - sfShape_GetPointPosition(m_ptr, index, &x, &y); - return Vector2f(x, y); - } - - /** - * Set the position of a shape point - * - * Params: - * index = Index of the point - * position = New position of the point - */ - void setPointPosition(uint index, Vector2f position) - { - sfShape_SetPointPosition(m_ptr, index, position.x, position.y); - } - - /** - * Get the color of a shape's point - * - * Params: - * index = Index of the point - * - * Returns: - * Color of the point - */ - Color getPointColor(uint index) - { - return sfShape_GetPointColor(m_ptr, index); - } - - /** - * Set the color of a shape's point - * - * Params: - * index = Index of the point - * color = new color of the point - */ - void setPointColor(uint index, Color color) - { - sfShape_SetPointColor(m_ptr, index, color); - } - - /** - * Get the outline color of a shape's point - * - * Params: - * index = Index of the point - * - * Returns: - * Color of the outline - */ - Color getPointOutlineColor(uint index) - { - return sfShape_GetPointOutlineColor(m_ptr, index); - } - - /** - * Set the outline color of a shape's point - * - * Params: - * index = Index of the point - * color = new color of the point - */ - void setPointOutlineColor(uint index, Color color) - { - sfShape_SetPointOutlineColor(m_ptr, index, color); - } - - - - /** - * Create a shape made of a single line - * - * Params: - * p1X, p1Y = Position of the first point - * p2X, p2Y = Position second point - * thickness = Line thickness - * col = Color used to draw the line - * outline = Outline thickness (0 by default) - * outlineCol = Color used to draw the outline (black by default) - * - * Returns: - * New line shape - */ - static Shape line(float p1X, float p1Y, float p2X, float p2Y, float thickness, Color col, float outline = 0.f, Color outlineCol = Color.BLACK) - { - - return new Shape(sfShape_CreateLine(p1X, p1Y, p2X, p2Y, thickness, col, outline, outlineCol)); - } - - /** - * Create a shape made of a single rectangle - * - * Params: - * left, top = Top-left corner of the rectangle - * width, height = Size of the rectangle - * col = Color used to fill the rectangle - * outline = Outline thickness (0 by default) - * outlineCol = Color used to draw the outline (black by default) - * - * Returns: - * new rectangle shape - */ - static Shape rectangle(float left, float top, float width, float height, Color col, float outline = 0.f, Color outlineCol = Color.BLACK) - { - return new Shape(sfShape_CreateRectangle(left, top, width, height, col, outline, outlineCol)); - } - - /** - * Create a shape made of a single circle - * - * Params: - * x = X position of the center - * y = Y position of the center - * radius = Radius - * col = Color used to fill the circle - * outline = Outline thickness (0 by default) - * outlineCol = Color used to draw the outline (black by default) - * - * Returns: - * new circle shape - */ - static Shape circle(float x, float y, float radius, Color col, float outline = 0.f, Color outlineCol = Color.BLACK) - { - return new Shape(sfShape_CreateCircle(x, y, radius, col, outline, outlineCol)); - } - -private: - - static extern(C) - { - SFMLClass function(float, float, float, float, float, Color, float, Color) sfShape_CreateLine; - SFMLClass function(float, float, float, float, Color, float, Color) sfShape_CreateRectangle; - SFMLClass function(float, float, float, Color, float, Color) sfShape_CreateCircle; - void function(SFMLClass, float, float, Color, Color) sfShape_AddPoint; - void function(SFMLClass, int) sfShape_EnableFill; - void function(SFMLClass, int) sfShape_EnableOutline; - void function(SFMLClass, float Width) sfShape_SetOutlineThickness; - float function(SFMLClass) sfShape_GetOutlineThickness; - uint function(SFMLClass) sfShape_GetPointsCount; - void function(SFMLClass, uint Index, float* X, float* Y) sfShape_GetPointPosition; - void function(SFMLClass, uint Index, float X, float Y) sfShape_SetPointPosition; - Color function(SFMLClass, uint index) sfShape_GetPointColor; - void function(SFMLClass, uint index, Color color) sfShape_SetPointColor; - Color function(SFMLClass, uint index) sfShape_GetPointOutlineColor; - void function(SFMLClass, uint index, Color color) sfShape_SetPointOutlineColor; - } - - mixin(loadFromSharedLib2("csfml-graphics", "sfShape", - "CreateLine", "CreateRectangle", "CreateCircle", "AddPoint", "EnableFill", "EnableOutline", "SetOutlineThickness", "GetOutlineThickness", - "GetPointsCount", "GetPointPosition", "SetPointPosition", "GetPointColor", "SetPointColor", "GetPointOutlineColor", - "SetPointOutlineColor")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/sprite.d b/bindings/d/import/dsfml/graphics/sprite.d deleted file mode 100644 index a8f32df5..00000000 --- a/bindings/d/import/dsfml/graphics/sprite.d +++ /dev/null @@ -1,238 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.sprite; - -import dsfml.graphics.blendmode; -import dsfml.graphics.color; -import dsfml.graphics.drawableimpl; -import dsfml.graphics.image; -import dsfml.graphics.rect; - -import dsfml.system.vector; - -/** -* Sprite defines a sprite : texture, transformations, -* color, and draw on screen -* See_Also: -* IDrawable -*/ -class Sprite : DrawableImpl!("sfSprite") -{ -private: - Image m_image; //< Image used to draw the sprite - IntRect m_subRect; //< Sub-rectangle of source image to assign to the sprite - -public: - - /** - * Default constructor - */ - this() - { - super(); - } - - /** - * Construct the sprite from a source image - * - * Params: - * img = Image of the sprite - * left = Left coordinate of the sprite (0 by default) - * top = Top coordinate of the sprite (0 by default) - * scalex = Horizontal scale (1 by default) - * scaley = Vertical scale (1 by default) - * rot = Orientation, in degrees (0 by default) - * col = Color of the sprite (white by default) - */ - this(Image img, float left = 0.f, float top = 0.f, float scalex = 1.f, float scaley = 1.f, float rot = 0.f, Color col = Color.WHITE) - { - super(); - m_image = img; - sfSprite_SetImage(m_ptr, img.nativePointer, true); - x = left; - y = top; - scaleX = scalex; - scaleY = scaley; - rotation = rot; - color = col; - } - - /** - * Change the image of the sprite - * - * Params: - * img = New image - * adjustToNewSize = adjust sprite subrect to new image size - */ - void setImage(Image img, bool adjustToNewSize = false) - { - assert(img !is null, "Trying to set a null image."); - sfSprite_SetImage(m_ptr, img.nativePointer, adjustToNewSize); - m_image = img; - } - - @property void image(Image img) - { - setImage(img, false); - } - - /** - * Resize the sprite (by changing its scale factors). - * The default size is defined by the subrect - * - * Params: - * width = New width (must be strictly positive) - * height = New height (must be strictly positive) - */ - void resize(float width, float height) - { - if (width > 0 && height > 0) - sfSprite_Resize(m_ptr, width, height); - } - - /** - * Resize the sprite (by changing its scale factors). - * The default size is defined by the subrect - * - * Params: - * size = New size (both coordinates must be strictly positive) - */ - void resize(Vector2f size) - { - if (size.x > 0 && size.y > 0) - sfSprite_Resize(m_ptr, size.x, size.y); - } - - - /** - * Flip the sprite horizontally - * - * Params: - * flipped = True to flip the sprite - */ - void flipX(bool flipped) - { - sfSprite_FlipX(m_ptr, flipped); - } - - /** - * Flip the sprite vertically - * - * Params: - * flipped = True to flip the sprite - */ - void flipY(bool flipped) - { - sfSprite_FlipY(m_ptr, flipped); - } - - /** - * Get the color of a given pixel in the sprite - * - * Params: - * x = X coordinate - * y = Y coordinate - * - * Returns: - * Color of pixel - */ - Color getPixel(uint x, uint y) const - { - return sfSprite_GetPixel(m_ptr, x, y); - } - -@property -{ - /** - * Set the sub-rectangle of a sprite inside the source image. - * - * Params: - * rect = New sub-rectangle - */ - void subRect(IntRect rect) - { - sfSprite_SetSubRect(m_ptr, rect); - m_subRect = rect; - } - - /** - * Get the source image of the sprite - * - * Returns: - * Pointer to the image (can be NULL) - */ - Image image() - { - return m_image; - } - - /** - * Get the sub-rectangle of the sprite inside the source image - * - * Returns: - * Sub-rectangle - */ - IntRect subRect() - { - if (m_subRect == IntRect()) - m_subRect = sfSprite_GetSubRect(m_ptr); - //m_subRect = IntRect(0, 0, m_image.getWidth(), m_image.getHeight()); - - return m_subRect; - } - - /** - * Get the sprite size - * - * Returns: - * Size of the sprite - */ - Vector2f size() const - { - return Vector2f(sfSprite_GetWidth(m_ptr), sfSprite_GetHeight(m_ptr)); - } -} - -private: - - static extern(C) - { - void function(SFMLClass, SFMLClass, bool) sfSprite_SetImage; - void function(SFMLClass, IntRect) sfSprite_SetSubRect; - void function(SFMLClass, float, float) sfSprite_Resize; - void function(SFMLClass, int) sfSprite_FlipX; - void function(SFMLClass, int) sfSprite_FlipY; - SFMLClass function(SFMLClass) sfSprite_GetImage; - IntRect function(SFMLClass) sfSprite_GetSubRect; - float function(SFMLClass) sfSprite_GetWidth; - float function(SFMLClass) sfSprite_GetHeight; - Color function(SFMLClass, uint, uint) sfSprite_GetPixel; - } - - mixin(loadFromSharedLib2("csfml-graphics", "sfSprite", - "SetImage", "SetSubRect", "Resize", "FlipX", "FlipY", "GetImage", "GetSubRect", "GetWidth", "GetHeight", "GetPixel")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/text.d b/bindings/d/import/dsfml/graphics/text.d deleted file mode 100644 index 72a65c45..00000000 --- a/bindings/d/import/dsfml/graphics/text.d +++ /dev/null @@ -1,277 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.text; - -import dsfml.graphics.blendmode; -import dsfml.graphics.color; -import dsfml.graphics.font; -import dsfml.graphics.drawableimpl; -import dsfml.graphics.rect; - -import dsfml.system.stringutil; -import dsfml.system.vector; - - -/** - * Enumerate the text drawing styles - */ -enum TextStyle -{ - REGULAR = 0, /// Regular characters, no style - BOLD = 1 << 0, /// Characters are bold - ITALIC = 1 << 1, /// Characters are in italic - UNDERLINED = 1 << 2 /// Characters are underlined -} - -/** -* Text defines a graphical 2D text, that can be drawn on screen -* -* All string litterals used must be prefixed with c for utf-8 -* and d for utf-32 string. -* -* Examples : -* --------------------------------------------------------------- -* Text s = new Text("Hello"c); -* //this(string, Font, float) -* s = new Text("Hello"d); -* //this(dstring, Font, float) -* --------------------------------------------------------------- -* -* See_Also: -* IDrawable -*/ -class Text : DrawableImpl!("sfText") -{ -private: - Font m_font; - -public: - /** - * Construct the string from a text - * - * Prefixs string litterals with c - * - * Params: - * s = Text assigned to the string - * f = Font used to draw the string (use default font) - * size = Characters size, in pixels (32 by default) - */ - this(string s, Font f = Font.getDefaultFont(), uint size = 30) - { - super(); - - font = f; - text = s; - characterSize = size; - } - - /** - * Construct the string from a unicode text - * - * Prefixs string litterals with d - * - * Params: - * s = Text assigned to the string - * f = Font used to draw the string (use default font) - * size = Characters size, in pixels (32 by default) - */ - this(dstring s, Font f = Font.getDefaultFont(), uint size = 30) - { - super(); - - font = f; - text = s; - characterSize = size; - } - -@property -{ - /** - * Set the text (from a multibyte string) - * - * Params: - * text = New text - */ - void text(string text) - { - sfText_SetString(m_ptr, toStringz(text)); - } - - /** - * Set the text (from a unicode string) - * - * Params: - * text = New text - */ - void text(dstring text) - { - sfText_SetUnicodeString(m_ptr, toStringz(text)); - } - - /** - * Get the text (returns a multibyte string) - * - * Returns: - * Text - */ - string text() - { - return fromStringz(sfText_GetString(m_ptr)); - } - - /** - * Set the font of the string - * - * Params: - * f = Font - */ - void font(Font f) - { - m_font = f; - sfText_SetFont(m_ptr, f.nativePointer); - } - - /** - * Set the size of the string - * - * Params: - * size = New size, in pixels - */ - void characterSize(uint size) - { - sfText_SetCharacterSize(m_ptr, size); - } - - /** - * Set the style of the text - * The default style is Regular - * - * Params: - * TextStyle = New text style, (combination of Style enum values) - * - */ - void style(TextStyle tstyle) - { - sfText_SetStyle(m_ptr, tstyle); - } - - /** - * Get the text (returns a unicode string) - * - * Returns: - * Text - */ - dstring unicodeText() - { - return fromStringz(sfText_GetUnicodeString(m_ptr)); - } - - /** - * Get the font used by the string - * - * Returns: - * Font name - */ - Font font() - { - return m_font; - } - - /** - * Get the size of the characters - * - * Returns: - * Size of the characters - */ - uint characterSize() - { - return sfText_GetCharacterSize(m_ptr); - } - - /** - * Get the current font style - * - * Returns: - * Font style - */ - TextStyle style() - { - return sfText_GetStyle(m_ptr); - } - - /** - * Get the string rectangle on screen - * - * Returns: - * Rectangle contaning the string in screen coordinates - */ - FloatRect rect() - { - return sfText_GetRect(m_ptr); - } -} - - /** - * Return the visual position of the Index-th character of the string, - * in coordinates relative to the string - * (note : translation, center, rotation and scale are not applied) - * - * Params: - * index = Index of the character - * - * Returns: - * Position of the Index-th character (end of string of Index is out of range) - */ - Vector2f getCharacterPos(size_t index) - { - Vector2f ret; - sfText_GetCharacterPos(m_ptr, index, &ret.x, &ret.y); - return ret; - } - -private: - - static extern(C) - { - void function(SFMLClass, cchar*) sfText_SetString; - void function(SFMLClass, cdchar*) sfText_SetUnicodeString; - void function(SFMLClass, SFMLClass) sfText_SetFont; - void function(SFMLClass, uint) sfText_SetCharacterSize; - void function(SFMLClass, TextStyle) sfText_SetStyle; - idchar* function(SFMLClass) sfText_GetUnicodeString; - ichar* function(SFMLClass) sfText_GetString; - SFMLClass function(SFMLClass) sfText_GetFont; - uint function(SFMLClass) sfText_GetCharacterSize; - TextStyle function (SFMLClass) sfText_GetStyle; - void function(SFMLClass, size_t, float*, float*) sfText_GetCharacterPos; - FloatRect function(SFMLClass) sfText_GetRect; - } - - mixin(loadFromSharedLib2("csfml-graphics", "sfText", - "SetString", "SetUnicodeString", "SetFont", "SetCharacterSize", "SetStyle", "GetUnicodeString", "GetString", "GetFont", - "GetCharacterSize", "GetStyle", "GetCharacterPos", "GetRect")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/graphics/view.d b/bindings/d/import/dsfml/graphics/view.d deleted file mode 100644 index c1357bb8..00000000 --- a/bindings/d/import/dsfml/graphics/view.d +++ /dev/null @@ -1,347 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.graphics.view; - -import dsfml.graphics.rect; - -import dsfml.system.common, - dsfml.system.vector; - -/** -* This class defines a view (position, size and zoom) ; -* you can consider it as a camera -*/ -class View : DSFMLObject -{ -private: - FloatRect _rect; // a view defines a source area of the scene to display, and a destination area into the rendertarget where to map the source area - FloatRect _viewport; // the viewport is the destination area in the rendertarget - bool m_isModified = true; - -public: - /** - * Constructor - * - * Default view (1000 x 1000) - */ - this() - { - super(sfView_Create()); - } - - /** - * Constructor - * - * Params: - * center = center of the view - * size = size of the view (width, height) - */ - this(Vector2f center, Vector2f size) - { - super(sfView_CreateFromRect(FloatRect(center.x - size.x / 2, center.y - size.y / 2, size.x, size.y) )); - } - - /** - * Constructor - * - * Params: - * rect = Rectangle defining the position and size of the view - */ - this(FloatRect rect) - { - super(sfView_CreateFromRect(rect)); - } - - override void dispose() - { - sfView_Destroy(m_ptr); - } - - /** - * Change the center of the view - * - * Params: - * x = X coordinates of the new center - * y = Y coordinates of the new center - */ - void setCenter(float x, float y) - { - sfView_SetCenter(m_ptr, x, y); - m_isModified = true; - } - - /** - * Change the center of the view - * - * Params: - * center = New center - */ - void setCenter(Vector2f center) - { - sfView_SetCenter(m_ptr, center.x, center.y); - m_isModified = true; - } - - /** - * Change the size of the view (take 2 values) - * - * Params: - * width = New width - * height = New height - */ - void setSize(float width, float height) - { - sfView_SetSize(m_ptr, width, height); - m_isModified = true; - } - - /** - * Change the size of the view (take 2 values) - * - * Params: - * size = New size - */ - void setSize(Vector2f size) - { - sfView_SetSize(m_ptr, size.x, size.y); - m_isModified = true; - } - - /** - * Rebuild the view from a rectangle - * - * Params: - * viewport : Rectangle defining the position and size of the view - */ - void setViewport(FloatRect viewport) - { - sfView_SetViewport(m_ptr, viewport); - _viewport = viewport; - } - - /** - * Get the center of the view - * - * Returns: - * Center of the view - */ - Vector2f getCenter() - { - return Vector2f(sfView_GetCenterX(m_ptr), sfView_GetCenterY(m_ptr)); - } - - /** - * Get the size of the view - * - * Returns: - * size of the view - */ - Vector2f getSize() - { - return Vector2f(sfView_GetWidth(m_ptr), sfView_GetHeight(m_ptr)); - } - - /** - * Get the width of the view - * - * Returns: - * width of the view - */ - float getWidth() - { - return sfView_GetWidth(m_ptr); - } - - /** - * Get the height of the view - * - * Returns: - * height of the view - */ - float getHeight() - { - return sfView_GetHeight(m_ptr); - } - - /** - * Get the bounding retangle of the view - */ - FloatRect getViewport() - { - if (m_isModified) - { - m_isModified = false; - _viewport = sfView_GetViewport(m_ptr); - } - return _viewport; - } - - /** - * Move the view - * - * Params: - * offsetX = Offset to move the view, on X axis - * offsetY = Offset to move the view, on Y axis - */ - View move(float offsetX, float offsetY) - { - sfView_Move(m_ptr, offsetX, offsetY); - m_isModified = true; - - return this; - } - - /** - * Move the view - * - * Params: - * offset = offsetto move the view - */ - View move(Vector2f offset) - { - sfView_Move(m_ptr, offset.x, offset.y); - m_isModified = true; - - return this; - } - - /** - * Resize the view rectangle to simulate a zoom / unzoom effect - * - * Params: - * factor = Zoom factor to apply, relative to the current zoom - */ - View zoom(float factor) - { - sfView_Zoom(m_ptr, factor); - m_isModified = true; - - return this; - } - - /** - * Rotate the view relatively to its current orientation. - * - * Params: - * angle = Angle to rotate, in degree - */ - View rotate(float angle) - { - sfView_Rotate(m_ptr, angle); - - return this; - } - - /** - * Set the orientation of the view - * The default rotation of a view is 0 degree - * - * Params: - * angle = New angle, in degrees - */ - View setRotation(float angle) - { - sfView_SetRotation(m_ptr, angle); - - return this; - } - - /** - * Get the current orientation of the view - * - * Returns: - * Rotation angle of the view, in degrees - */ - float getRotation() - { - return sfView_GetRotation(m_ptr); - } - - void reset(FloatRect rect) - { - sfView_Reset(m_ptr, rect); - _rect = rect; - } -package: - - this(SFMLClass ptr, bool preventDelete) - { - super(ptr, preventDelete); - } - -private: - static extern(C) - { - SFMLClass function() sfView_Create; - SFMLClass function(FloatRect) sfView_CreateFromRect; - void function(SFMLClass) sfView_Destroy; - void function(SFMLClass, float, float) sfView_SetCenter; - void function(SFMLClass, float, float) sfView_SetSize; - void function(SFMLClass, FloatRect) sfView_SetViewport; - float function(SFMLClass) sfView_GetCenterX; - float function(SFMLClass) sfView_GetCenterY; - float function(SFMLClass) sfView_GetWidth; - float function(SFMLClass) sfView_GetHeight; - FloatRect function(SFMLClass) sfView_GetViewport; - void function(SFMLClass, float, float) sfView_Move; - void function(SFMLClass, float) sfView_Zoom; - - // DSFML2 - void function(SFMLClass, float) sfView_SetRotation; - float function(SFMLClass) sfView_GetRotation; - void function(SFMLClass, float) sfView_Rotate; - void function(SFMLClass, FloatRect) sfView_Reset; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-graphics-d-2"); - else - DllLoader dll = DllLoader.load("csfml-graphics-2"); - - mixin(loadFromSharedLib("sfView_Create")); - mixin(loadFromSharedLib("sfView_CreateFromRect")); - mixin(loadFromSharedLib("sfView_Destroy")); - mixin(loadFromSharedLib("sfView_SetCenter")); - mixin(loadFromSharedLib("sfView_SetSize")); - mixin(loadFromSharedLib("sfView_SetViewport")); - mixin(loadFromSharedLib("sfView_GetCenterX")); - mixin(loadFromSharedLib("sfView_GetCenterY")); - mixin(loadFromSharedLib("sfView_GetWidth")); - mixin(loadFromSharedLib("sfView_GetHeight")); - mixin(loadFromSharedLib("sfView_GetViewport")); - mixin(loadFromSharedLib("sfView_Move")); - mixin(loadFromSharedLib("sfView_Zoom")); - - // DSFML2 - mixin(loadFromSharedLib("sfView_SetRotation")); - mixin(loadFromSharedLib("sfView_GetRotation")); - mixin(loadFromSharedLib("sfView_Rotate")); - mixin(loadFromSharedLib("sfView_Reset")); - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/network/all.d b/bindings/d/import/dsfml/network/all.d deleted file mode 100644 index 4a310d8c..00000000 --- a/bindings/d/import/dsfml/network/all.d +++ /dev/null @@ -1,38 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.all; - -public import - dsfml.network.ftp, - dsfml.network.http, - dsfml.network.ipaddress, - dsfml.network.packet, - dsfml.network.socketselector, - dsfml.network.socketstatus, - dsfml.network.tcpsocket, - dsfml.network.udpsocket, - dsfml.network.tcplistener ; diff --git a/bindings/d/import/dsfml/network/ftp.d b/bindings/d/import/dsfml/network/ftp.d deleted file mode 100644 index 7fbc36cd..00000000 --- a/bindings/d/import/dsfml/network/ftp.d +++ /dev/null @@ -1,602 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.ftp; - -import dsfml.system.common; -import dsfml.system.stringutil; - -import dsfml.network.ipaddress; - - -/** -* Enumeration of transfer mode -*/ -enum FtpTransferMode -{ - BINARY, ///< Binary mode (file is transfered as a sequence of bytes) - ASCII, ///< Text mode using ASCII encoding - EBCDIC ///< Text mode using EBCDIC encoding -} - -/** -* Enumerate all the valid status codes returned in -* a FTP response -*/ -enum FtpStatus -{ - // 1xx: the requested action is being initiated, - // expect another reply before proceeding with a new command - RESTARTMARKERREPLY = 110, ///< Restart marker reply - SERVICEREADYSOON = 120, ///< Service ready in N minutes - DATACONNECTIONALREADYOPENED = 125, ///< Data connection already opened, transfer starting - OPENINGDATACONNECTION = 150, ///< File status ok, about to open data connection - - // 2xx: the requested action has been successfully completed - OK = 200, ///< Command ok - POINTLESSCOMMAND = 202, ///< Command not implemented - SYSTEMSTATUS = 211, ///< System status, or system help reply - DIRECTORYSTATUS = 212, ///< Directory status - FILESTATUS = 213, ///< File status - HELPMESSAGE = 214, ///< Help message - SYSTEMTYPE = 215, ///< NAME system type, where NAME is an official system name from the list in the Assigned Numbers document - SERVICEREADY = 220, ///< Service ready for new user - CLOSINGCONNECTION = 221, ///< Service closing control connection - DATACONNECTIONOPENED = 225, ///< Data connection open, no transfer in progress - CLOSINGDATACONNECTION = 226, ///< Closing data connection, requested file action successful - ENTERINGPASSIVEMODE = 227, ///< Entering passive mode - LOGGEDIN = 230, ///< User logged in, proceed. Logged out if appropriate - FILEACTIONOK = 250, ///< Requested file action ok - DIRECTORYOK = 257, ///< PATHNAME created - - // 3xx: the command has been accepted, but the requested action - // is dormant, pending receipt of further information - NEEDPASSWORD = 331, ///< User name ok, need password - NEEDACCOUNTTOLOGIN = 332, ///< Need account for login - NEEDINFORMATION = 350, ///< Requested file action pending further information - - // 4xx: the command was not accepted and the requested action did not take place, - // but the error condition is temporary and the action may be requested again - SERVICEUNAVAILABLE = 421, ///< Service not available, closing control connection - DATACONNECTIONUNAVAILABLE = 425, ///< Can't open data connection - TRANSFERABORTED = 426, ///< Connection closed, transfer aborted - FILEACTIONABORTED = 450, ///< Requested file action not taken - LOCALERROR = 451, ///< Requested action aborted, local error in processing - INSUFFICIENTSTORAGESPACE = 452, ///< Requested action not taken; insufficient storage space in system, file unavailable - - // 5xx: the command was not accepted and - // the requested action did not take place - COMMANDUNKNOWN = 500, ///< Syntax error, command unrecognized - PARAMETERSUNKNOWN = 501, ///< Syntax error in parameters or arguments - COMMANDNOTIMPLEMENTED = 502, ///< Command not implemented - BADCOMMANDSEQUENCE = 503, ///< Bad sequence of commands - PARAMETERNOTIMPLEMENTED = 504, ///< Command not implemented for that parameter - NOTLOGGEDIN = 530, ///< Not logged in - NEEDACCOUNTTOSTORE = 532, ///< Need account for storing files - FILEUNAVAILABLE = 550, ///< Requested action not taken, file unavailable - PAGETYPEUNKNOWN = 551, ///< Requested action aborted, page type unknown - NOTENOUGHMEMORY = 552, ///< Requested file action aborted, exceeded storage allocation - FILENAMENOTALLOWED = 553, ///< Requested action not taken, file name not allowed - - // 10xx: SFML custom codes - INVALIDRESPONSE = 1000, ///< Response is not a valid FTP one - CONNECTIONFAILED = 1001, ///< Connection with server failed - CONNECTIONCLOSED = 1002, ///< Connection with server closed - INVALIDFILE = 1003 ///< Invalid file to upload / download -} - - -/** -* This class provides methods for manipulating the FTP protocol (described in RFC 959). -* It provides easy access and transfers to remote directories and files on a FTP server. -*/ -class Ftp : DSFMLObject -{ - /** - * This class wraps a FTP response, which is basically : - * - a status code - * - a message - */ - static class FtpResponse : DSFMLObject - { - override void dispose() - { - sfFtpResponse_Destroy(m_ptr); - } - - /** - * Convenience function to check if the response status code - * means a success - * - * Returns: - * True if status is success (code < 400) - */ - bool isOk() - { - return cast(bool)sfFtpResponse_IsOk(m_ptr); - } - - /** - * Get the response status code - * - * Returns: - * Status code - */ - FtpStatus getStatus() - { - return sfFtpResponse_GetStatus(m_ptr); - } - - /** - * Get the full message contained in the response - * - * Returns: - * The response message - */ - string getMessage() - { - return fromStringz(sfFtpResponse_GetMessage(m_ptr)); - } - - private: - this(SFMLClass ptr) - { - super(ptr); - } - // External ================================================================ - - extern (C) - { - typedef void function(SFMLClass) pf_sfFtpResponse_Destroy; - typedef int function(SFMLClass) pf_sfFtpResponse_IsOk; - typedef FtpStatus function(SFMLClass) pf_sfFtpResponse_GetStatus; - typedef ichar* function(SFMLClass) pf_sfFtpResponse_GetMessage; - - static pf_sfFtpResponse_Destroy sfFtpResponse_Destroy; - static pf_sfFtpResponse_IsOk sfFtpResponse_IsOk; - static pf_sfFtpResponse_GetStatus sfFtpResponse_GetStatus; - static pf_sfFtpResponse_GetMessage sfFtpResponse_GetMessage; - } - static this() - { - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfFtpResponse_Destroy = cast(pf_sfFtpResponse_Destroy)dll.getSymbol("sfFtpResponse_Destroy"); - sfFtpResponse_IsOk = cast(pf_sfFtpResponse_IsOk)dll.getSymbol("sfFtpResponse_IsOk"); - sfFtpResponse_GetStatus = cast(pf_sfFtpResponse_GetStatus)dll.getSymbol("sfFtpResponse_GetStatus"); - sfFtpResponse_GetMessage = cast(pf_sfFtpResponse_GetMessage)dll.getSymbol("sfFtpResponse_GetMessage"); - } - } - - /** - * Specialization of FTP response returning a directory - */ - static class FtpDirectoryResponse : FtpResponse - { - override void dispose() - { - sfFtpDirectoryResponse_Destroy(m_ptr); - } - - /** - * Get the directory returned in the response. - * - * Returns: - * Directory name - */ - string getDirectory() - { - return fromStringz(sfFtpDirectoryResponse_GetDirectory(m_ptr)); - } - - private: - this(SFMLClass ptr) - { - super(ptr); - } - // External ================================================================ - - extern (C) - { - typedef void function(SFMLClass) pf_sfFtpDirectoryResponse_Destroy; - typedef ichar* function(SFMLClass) pf_sfFtpDirectoryResponse_GetDirectory; - - static pf_sfFtpDirectoryResponse_Destroy sfFtpDirectoryResponse_Destroy; - static pf_sfFtpDirectoryResponse_GetDirectory sfFtpDirectoryResponse_GetDirectory; - } - static this() - { - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfFtpDirectoryResponse_Destroy = cast(pf_sfFtpDirectoryResponse_Destroy)dll.getSymbol("sfFtpDirectoryResponse_Destroy"); - sfFtpDirectoryResponse_GetDirectory = cast(pf_sfFtpDirectoryResponse_GetDirectory)dll.getSymbol("sfFtpDirectoryResponse_GetDirectory"); - } - - } - - /** - * Specialization of FTP response returning a filename listing. - */ - static class FtpListingResponse : FtpResponse - { - override void dispose() - { - sfFtpListingResponse_Destroy(m_ptr); - } - - /** - * Get the number of files in the listing - * - * Returns: - * Total number of files - */ - size_t getCount() - { - return sfFtpListingResponse_GetCount(m_ptr); - } - - /** - * Get the index-th filename in the directory - * - * Params: - * index = Index of the filename to get - * - * Returns: - * Filename - */ - string opIndex(size_t index) - { - return fromStringz(sfFtpListingResponse_GetFilename(m_ptr, index)); - } - - /** - * Foreach implementation - */ - int opApply(int delegate(string) dg) - { - size_t count = getCount(); - int result; - - for(int i = 0; i < count; i++) - { - result = dg(this[i]); - if (result) - break; - } - - return result; - } - - private: - this(SFMLClass ptr) - { - super(ptr); - } - - // External ================================================================ - extern (C) - { - typedef void function(SFMLClass) pf_sfFtpListingResponse_Destroy; - typedef size_t function(SFMLClass) pf_sfFtpListingResponse_GetCount; - typedef ichar* function(SFMLClass, size_t) pf_sfFtpListingResponse_GetFilename; - - static pf_sfFtpListingResponse_Destroy sfFtpListingResponse_Destroy; - static pf_sfFtpListingResponse_GetCount sfFtpListingResponse_GetCount; - static pf_sfFtpListingResponse_GetFilename sfFtpListingResponse_GetFilename; - } - static this() - { - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfFtpListingResponse_Destroy = cast(pf_sfFtpListingResponse_Destroy)dll.getSymbol("sfFtpListingResponse_Destroy"); - sfFtpListingResponse_GetCount = cast(pf_sfFtpListingResponse_GetCount)dll.getSymbol("sfFtpListingResponse_GetCount"); - sfFtpListingResponse_GetFilename = cast(pf_sfFtpListingResponse_GetFilename)dll.getSymbol("sfFtpListingResponse_GetFilename"); - } - } - - /** - * Default constructor - */ - this() - { - super(sfFtp_Create()); - } - - override void dispose() - { - sfFtp_Destroy(m_ptr); - } - - /** - * Connect to the specified FTP server - * - * Params: - * server = FTP server to connect to - * port = Port used for connection (21 by default, standard FTP port) - * timeout = Maximum time to wait, in seconds (0 by default, means no timeout) - * - * Returns: - * Server response to the request - */ - FtpResponse connect(IPAddress server, ushort port = 21, float timeout = 0.f) - { - return new FtpResponse(sfFtp_Connect(m_ptr, server, port, timeout)); - } - - /** - * Log in using anonymous account - * - * Returns: - * Server response to the request - */ - FtpResponse login() - { - return new FtpResponse(sfFtp_LoginAnonymous(m_ptr)); - } - - /** - * Log in using a username and a password - * - * Params: - * username = User name - * password = password - * - * Returns: - * Server response to the request - */ - FtpResponse login(string username, string password) - { - return new FtpResponse(sfFtp_Login(m_ptr, toStringz(username), toStringz(password))); - } - - /** - * Close the connection with FTP server - * - * Returns: - * Server response to the request - */ - FtpResponse disconnect() - { - return new FtpResponse(sfFtp_Disconnect(m_ptr)); - } - - /** - * Send a null command to prevent from being disconnected. - * - * Returns: - * Server response to the request - */ - FtpResponse keepAlive() - { - return new FtpResponse(sfFtp_KeepAlive(m_ptr)); - } - - /** - * Get the current working directory - * - * Returns: - * Server response to the request - */ - FtpDirectoryResponse getWorkingDirectory() - { - return new FtpDirectoryResponse(sfFtp_GetWorkingDirectory(m_ptr)); - } - - /** - * Get the content of the given directory (subdirectories and files). - * - * Params: - * directory = directory to list (null by default, the current one) - * - * Returns: - * Server response to the request - */ - FtpListingResponse getDirectoryListing(string directory = null) - { - return new FtpListingResponse(sfFtp_GetDirectoryListing(m_ptr, toStringz(directory))); - } - - /** - * Change the current working directory - * - * Params: - * directory = New directory, relative to the current one. - * - * Returns: - * Server response to the request - */ - FtpResponse changeDirectory(string directory) - { - return new FtpResponse(sfFtp_ChangeDirectory(m_ptr, toStringz(directory))); - } - - /** - * Go to the parent directory of the current one - * - * Returns: - * Server response to the request - */ - FtpResponse parentDirectory() - { - return new FtpResponse(sfFtp_ParentDirectory(m_ptr)); - } - - /** - * Create a new directory - * - * Params: - * name = name of the directory to create - * - * Returns: - * Server response to the request - */ - FtpResponse createDirectory(string name) - { - return new FtpResponse(sfFtp_CreateDirectory(m_ptr, toStringz(name))); - } - - /** - * remove an existing directory - * - * Params: - * name = name of the directory to remove - * - * Returns: - * Server response to the request - */ - FtpResponse deleteDirectory(string name) - { - return new FtpResponse(sfFtp_DeleteDirectory(m_ptr, toStringz(name))); - } - - /** - * Rename a file - * - * Params: - * name = file to rename - * newName = new name - * - * Returns: - * Server response to the request - */ - FtpResponse renameFile(string name, string newName) - { - return new FtpResponse(sfFtp_RenameFile(m_ptr, toStringz(name), toStringz(newName))); - } - - /** - * Remove an existing file - * - * Params: - * name = file to remove - * - * Returns: - * Server response to the request - */ - FtpResponse deleteFile(string name) - { - return new FtpResponse(sfFtp_DeleteFile(m_ptr, toStringz(name))); - } - - /** - * Download a file from the server - * - * Params: - * distantFile = Path of the distant file to download - * destFile = Where to put the file on the local computer - * mode = transfer mode (binary by default) - * - * Returns: - * Server response to the request - */ - FtpResponse download(string distantFile, string destFile, FtpTransferMode mode = FtpTransferMode.BINARY) - { - return new FtpResponse(sfFtp_Download(m_ptr, toStringz(distantFile), toStringz(destFile), mode)); - } - - /** - * Upload a file to the server - * - * Params: - * localFile = Path of the local file to upload - * destPath = Where to put the file on the server - * mode = transfer mode (binary by default) - * Returns: - * Server response to the request - */ - FtpResponse upload(string localFile, string destFile, FtpTransferMode mode = FtpTransferMode.BINARY) - { - return new FtpResponse(sfFtp_Upload(m_ptr, toStringz(localFile), toStringz(destFile), mode)); - } - -private: - -// External ==================================================================== - - extern (C) - { - typedef SFMLClass function() pf_sfFtp_Create; - typedef void function(SFMLClass) pf_sfFtp_Destroy; - typedef SFMLClass function(SFMLClass, IPAddress, ushort, float) pf_sfFtp_Connect; - typedef SFMLClass function(SFMLClass) pf_sfFtp_LoginAnonymous; - typedef SFMLClass function(SFMLClass, cchar*, cchar*) pf_sfFtp_Login; - typedef SFMLClass function(SFMLClass) pf_sfFtp_Disconnect; - typedef SFMLClass function(SFMLClass) pf_sfFtp_KeepAlive; - typedef SFMLClass function(SFMLClass) pf_sfFtp_GetWorkingDirectory; - typedef SFMLClass function(SFMLClass, cchar*) pf_sfFtp_GetDirectoryListing; - typedef SFMLClass function(SFMLClass, cchar*) pf_sfFtp_ChangeDirectory; - typedef SFMLClass function(SFMLClass) pf_sfFtp_ParentDirectory; - typedef SFMLClass function(SFMLClass, cchar*) pf_sfFtp_CreateDirectory; - typedef SFMLClass function(SFMLClass, cchar*) pf_sfFtp_DeleteDirectory; - typedef SFMLClass function(SFMLClass, cchar*, cchar*) pf_sfFtp_RenameFile; - typedef SFMLClass function(SFMLClass, cchar*) pf_sfFtp_DeleteFile; - typedef SFMLClass function(SFMLClass, cchar*, cchar*, FtpTransferMode) pf_sfFtp_Download; - typedef SFMLClass function(SFMLClass, cchar*, cchar*, FtpTransferMode) pf_sfFtp_Upload; - - static pf_sfFtp_Create sfFtp_Create; - static pf_sfFtp_Destroy sfFtp_Destroy; - static pf_sfFtp_Connect sfFtp_Connect; - static pf_sfFtp_LoginAnonymous sfFtp_LoginAnonymous; - static pf_sfFtp_Login sfFtp_Login; - static pf_sfFtp_Disconnect sfFtp_Disconnect; - static pf_sfFtp_KeepAlive sfFtp_KeepAlive; - static pf_sfFtp_GetWorkingDirectory sfFtp_GetWorkingDirectory; - static pf_sfFtp_GetDirectoryListing sfFtp_GetDirectoryListing; - static pf_sfFtp_ChangeDirectory sfFtp_ChangeDirectory; - static pf_sfFtp_ParentDirectory sfFtp_ParentDirectory; - static pf_sfFtp_CreateDirectory sfFtp_CreateDirectory; - static pf_sfFtp_DeleteDirectory sfFtp_DeleteDirectory; - static pf_sfFtp_RenameFile sfFtp_RenameFile; - static pf_sfFtp_DeleteFile sfFtp_DeleteFile; - static pf_sfFtp_Download sfFtp_Download; - static pf_sfFtp_Upload sfFtp_Upload; - } - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-network-d-2"); - else - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfFtp_Create = cast(pf_sfFtp_Create)dll.getSymbol("sfFtp_Create"); - sfFtp_Destroy = cast(pf_sfFtp_Destroy)dll.getSymbol("sfFtp_Destroy"); - sfFtp_Connect = cast(pf_sfFtp_Connect)dll.getSymbol("sfFtp_Connect"); - sfFtp_LoginAnonymous = cast(pf_sfFtp_LoginAnonymous)dll.getSymbol("sfFtp_LoginAnonymous"); - sfFtp_Login = cast(pf_sfFtp_Login)dll.getSymbol("sfFtp_Login"); - sfFtp_Disconnect = cast(pf_sfFtp_Disconnect)dll.getSymbol("sfFtp_Disconnect"); - sfFtp_KeepAlive = cast(pf_sfFtp_KeepAlive)dll.getSymbol("sfFtp_KeepAlive"); - sfFtp_GetWorkingDirectory = cast(pf_sfFtp_GetWorkingDirectory)dll.getSymbol("sfFtp_GetWorkingDirectory"); - sfFtp_GetDirectoryListing = cast(pf_sfFtp_GetDirectoryListing)dll.getSymbol("sfFtp_GetDirectoryListing"); - sfFtp_ChangeDirectory = cast(pf_sfFtp_ChangeDirectory)dll.getSymbol("sfFtp_ChangeDirectory"); - sfFtp_ParentDirectory = cast(pf_sfFtp_ParentDirectory)dll.getSymbol("sfFtp_ParentDirectory"); - sfFtp_sfFtp_CreateDirectoryDirectory = cast(pf_sfFtp_CreateDirectory)dll.getSymbol("sfFtp_CreateDirectory"); - sfFtp_DeleteDirectory = cast(pf_sfFtp_DeleteDirectory)dll.getSymbol("sfFtp_DeleteDirectory"); - sfFtp_RenameFile = cast(pf_sfFtp_RenameFile)dll.getSymbol("sfFtp_RenameFile"); - sfFtp_DeleteFile = cast(pf_sfFtp_DeleteFile)dll.getSymbol("sfFtp_DeleteFile"); - sfFtp_Download = cast(pf_sfFtp_Download)dll.getSymbol("sfFtp_Download"); - sfFtp_Upload = cast(pf_sfFtp_Upload)dll.getSymbol("sfFtp_Upload"); - } -} diff --git a/bindings/d/import/dsfml/network/http.d b/bindings/d/import/dsfml/network/http.d deleted file mode 100644 index 1ab94302..00000000 --- a/bindings/d/import/dsfml/network/http.d +++ /dev/null @@ -1,398 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.http; - -import dsfml.system.stringutil; -import dsfml.system.common; - -/** -* HTTP methods enumeration -*/ -enum HttpMethod -{ - GET, ///< Request in get mode, standard method to retrieve a page - POST, ///< Request in post mode, usually to send data to a page - HEAD ///< Request a page's header only -} - -/** -* HTTP response status code -*/ -enum HttpStatus -{ - // 2xx: success - OK = 200, ///< Most common code returned when operation was successful - CREATED = 201, ///< The resource has successfully been created - ACCEPTED = 202, ///< The request has been accepted, but will be processed later by the server - NOCONTENT = 204, ///< Sent when the server didn't send any data in return - - // 3xx: redirection - MULTIPLECHOICES = 300, ///< The requested page can be accessed from several locations - MOVEDPERMANENTLY = 301, ///< The requested page has permanently moved to a new location - MOVEDTEMPORARILY = 302, ///< The requested page has temporarily moved to a new location - NOTMODIFIED = 304, ///< For conditionnal requests, means the requested page hasn't changed and doesn't need to be refreshed - - // 4xx: client error - BADREQUEST = 400, ///< The server couldn't understand the request (syntax error) - UNAUTHORIZED = 401, ///< The requested page needs an authentification to be accessed - FORBIDDEN = 403, ///< The requested page cannot be accessed at all, even with authentification - NOTFOUND = 404, ///< The requested page doesn't exist - - // 5xx: server error - INTERNALSERVERERROR = 500, ///< The server encountered an unexpected error - NOTIMPLEMENTED = 501, ///< The server doesn't implement a requested feature - BADGATEWAY = 502, ///< The gateway server has received an error from the source server - SERVICENOTAVAILABLE = 503, ///< The server is temporarily unavailable (overloaded, in maintenance, ...) - - // 10xx: SFML custom codes - INVALIDRESPONSE = 1000, ///< Response is not a valid HTTP one - CONNECTIONFAILED = 1001 ///< Connection with server failed -} - -/** -* This class provides methods for manipulating the HTTP protocol (described in -* RFC 1945). -* It can connect to a website, get files, send requests -*/ -class Http : DSFMLObject -{ - /** - * Wrapper for a http request, which is basically : - * - a header with a method, a target URI and a set of field/value pairs - * - an optional body (for POST requests) - */ - static class Response : DSFMLObject - { - override void dispose() - { - sfHttpResponse_Destroy(m_ptr); - } - - /** - * Get the value of a field - * - * Params: - * field = Name of the field to get (case-insensitive) - * Returns: - * Value of the field, or enpty string if not found - */ - string getField(string field) - { - return fromStringz(sfHttpResponse_GetField(m_ptr, toStringz(field))); - } - - /** - * Get the header status code - * - * Returns: - * header status code - */ - HttpStatus getStatus() - { - return sfHttpResponse_GetStatus(m_ptr); - } - - /** - * Get the major HTTP version number of the response - * - * Returns: - * Major version number - */ - uint getMajorHTTPVersion() - { - return sfHttpResponse_GetMajorVersion(m_ptr); - } - - /** - * Get the minor HTTP version number of the response - * - * Returns: - * Minor version number - */ - uint getMinorHTTPVersion() - { - return sfHttpResponse_GetMinorVersion(m_ptr); - } - - /** - * Get the body of the response. The body can contain : - * - the requested page (for GET requests) - * - a response from the server (for POST requests) - * - nothing (for HEAD requests) - * - an error message (in case of an error) - * - * Returns: - * the response body - */ - string getBody() - { - return fromStringz(sfHttpResponse_GetBody(m_ptr)); - } - - private: - this(SFMLClass ptr) - { - super(ptr); - } - // External ================================================================ - extern (C) - { - typedef void function(SFMLClass) pf_sfHttpResponse_Destroy; - typedef ichar* function(SFMLClass, cchar*) pf_sfHttpResponse_GetField; - typedef HttpStatus function(SFMLClass) pf_sfHttpResponse_GetStatus; - typedef uint function(SFMLClass) pf_sfHttpResponse_GetMajorVersion; - typedef uint function(SFMLClass) pf_sfHttpResponse_GetMinorVersion; - typedef ichar* function(SFMLClass) pf_sfHttpResponse_GetBody; - - static pf_sfHttpResponse_Destroy sfHttpResponse_Destroy; - static pf_sfHttpResponse_GetField sfHttpResponse_GetField; - static pf_sfHttpResponse_GetStatus sfHttpResponse_GetStatus; - static pf_sfHttpResponse_GetMajorVersion sfHttpResponse_GetMajorVersion; - static pf_sfHttpResponse_GetMinorVersion sfHttpResponse_GetMinorVersion; - static pf_sfHttpResponse_GetBody sfHttpResponse_GetBody; - } - - static this() - { - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfHttpResponse_Destroy = cast(pf_sfHttpResponse_Destroy)dll.getSymbol("sfHttpResponse_Destroy"); - sfHttpResponse_GetField = cast(pf_sfHttpResponse_GetField)dll.getSymbol("sfHttpResponse_GetField"); - sfHttpResponse_GetStatus = cast(pf_sfHttpResponse_GetStatus)dll.getSymbol("sfHttpResponse_GetStatus"); - sfHttpResponse_GetMajorVersion = cast(pf_sfHttpResponse_GetMajorVersion)dll.getSymbol("sfHttpResponse_GetMajorVersion"); - sfHttpResponse_GetMinorVersion = cast(pf_sfHttpResponse_GetMinorVersion)dll.getSymbol("sfHttpResponse_GetMinorVersion"); - sfHttpResponse_GetBody = cast(pf_sfHttpResponse_GetBody)dll.getSymbol("sfHttpResponse_GetBody"); - } - } - - /** - * Wrapper for a HTTP response which is basically : - * - a header with a status code and a set of field/value pairs - * - a body (the content of the requested resource) - */ - static class Request : DSFMLObject - { - /** - * Constructor - * - * Params: - * requestMethod = Method to use for the request (Get by default) - * uri = Target URI ("/" by default -- index page) - * requestBody = Content of the request's body (empty by default) - */ - this(HttpMethod requestMethod = HttpMethod.GET, string uri = "/", string requestBody = "") - { - super(sfHttpRequest_Create()); - sfHttpRequest_SetMethod(m_ptr, requestMethod); - sfHttpRequest_SetUri(m_ptr, toStringz(uri)); - sfHttpRequest_SetBody(m_ptr, toStringz(requestBody)); - } - - /** - * Set the value of a field. Field is created if it doesn't exists. - * - * Params: - * field = name of the field to set (case-insensitive) - * value = value of the field - */ - void setField(string field, string value) - { - sfHttpRequest_SetField(m_ptr, toStringz(field), toStringz(value)); - } - - /** - * Set the request method. - * - * Params: - * requestMethod = Method to use for the request. - */ - void setMethod(HttpMethod requestMethod) - { - sfHttpRequest_SetMethod(m_ptr, requestMethod); - } - - /** - * Set the target URI of the request. - * - * Params: - * uri = URI to request, local to the host. - * Returns: - */ - void setUri(string uri) - { - sfHttpRequest_SetUri(m_ptr, toStringz(uri)); - } - - /** - * Set the HTTP version of the request. - * - * Params: - * major = Major version number - * minor = Minor version number - */ - void setHttpVersion(uint major, uint minor) - { - sfHttpRequest_SetHttpVersion(m_ptr, major, minor); - } - - /** - * Set the body of the request. This parameter is optionnal and make sense - * only for POST requests. - * - * Params: - * requestBody = Content of the request body. - */ - void setBody(string requestBody) - { - sfHttpRequest_SetBody(m_ptr, toStringz(requestBody)); - } - - private: - - // External ================================================================ - extern (C) - { - typedef SFMLClass function() pf_sfHttpRequest_Create; - typedef void function(SFMLClass) pf_sfHttpRequest_Destroy; - typedef void function(SFMLClass, cchar*, cchar*) pf_sfHttpRequest_SetField; - typedef void function(SFMLClass, HttpMethod) pf_sfHttpRequest_SetMethod; - typedef void function(SFMLClass, cchar*) pf_sfHttpRequest_SetUri; - typedef void function(SFMLClass, uint, uint) pf_sfHttpRequest_SetHttpVersion; - typedef void function(SFMLClass, cchar*) pf_sfHttpRequest_SetBody; - - static pf_sfHttpRequest_Create sfHttpRequest_Create; - static pf_sfHttpRequest_Destroy sfHttpRequest_Destroy; - static pf_sfHttpRequest_SetField sfHttpRequest_SetField; - static pf_sfHttpRequest_SetMethod sfHttpRequest_SetMethod; - static pf_sfHttpRequest_SetUri sfHttpRequest_SetUri; - static pf_sfHttpRequest_SetHttpVersion sfHttpRequest_SetHttpVersion; - static pf_sfHttpRequest_SetBody sfHttpRequest_SetBody; - } - - static this() - { - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfHttpRequest_Create = cast(pf_sfHttpRequest_Create)dll.getSymbol("sfHttpRequest_Create"); - sfHttpRequest_Destroy = cast(pf_sfHttpRequest_Destroy)dll.getSymbol("sfHttpRequest_Destroy"); - sfHttpRequest_SetField = cast(pf_sfHttpRequest_SetField)dll.getSymbol("sfHttpRequest_SetField"); - sfHttpRequest_SetMethod = cast(pf_sfHttpRequest_SetMethod)dll.getSymbol("sfHttpRequest_SetMethod"); - sfHttpRequest_SetUri = cast(pf_sfHttpRequest_SetUri)dll.getSymbol("sfHttpRequest_SetUri"); - sfHttpRequest_SetHttpVersion = cast(pf_sfHttpRequest_SetHttpVersion)dll.getSymbol("sfHttpRequest_SetHttpVersion"); - sfHttpRequest_SetBody = cast(pf_sfHttpRequest_SetBody)dll.getSymbol("sfHttpRequest_SetBody"); - } - } - - /** - * Constructor - */ - this() - { - super(sfHttp_Create()); - } - - /** - * Constructor - * - * Params: - * host = Web server to connect to - * port = port to use for connection (0 by default -- use the standard port of the protocol) - */ - this(string host, ushort port = 0) - { - super(sfHttp_Create()); - sfHttp_SetHost(m_ptr, toStringz(host), port); - } - - override void dispose() - { - sfHttp_Destroy(m_ptr); - } - - /** - * Set the target host. - * - * Params: - * host = Web server to connect to - * port = port to use for connection (0 by default -- use the standard port of the protocol) - */ - void setHost(string host, ushort port = 0) - { - sfHttp_SetHost(m_ptr, toStringz(host), port); - } - - /** - * Send a HTTP request and return the server's response. - * You must be connected to a host before sending requests. - * Any missing mandatory header field will be added with an appropriate value. - * - * Warning : this function waits for the server's response and may - * not return instantly; use a thread if you don't want to block your - * application. - * - * Params: - * req = Request to send - * - * Returns: - * Server's response - */ - - Response sendRequest(Request req) - { - return new Response( sfHttp_SendRequest(m_ptr, req.nativePointer) ); - } - -private: - -// External ==================================================================== - - extern (C) - { - typedef SFMLClass function() pf_sfHttp_Create; - typedef void function(SFMLClass) pf_sfHttp_Destroy; - typedef void function(SFMLClass, cchar*, ushort) pf_sfHttp_SetHost; - typedef SFMLClass function(SFMLClass, SFMLClass) pf_sfHttp_SendRequest; - - static pf_sfHttp_Create sfHttp_Create; - static pf_sfHttp_Destroy sfHttp_Destroy; - static pf_sfHttp_SetHost sfHttp_SetHost; - static pf_sfHttp_SendRequest sfHttp_SendRequest; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-network-d-2"); - else - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfHttp_Create = cast(pf_sfHttp_Create)dll.getSymbol("sfHttp_Create"); - sfHttp_Destroy = cast(pf_sfHttp_Destroy)dll.getSymbol("sfHttp_Destroy"); - sfHttp_SetHost = cast(pf_sfHttp_SetHost)dll.getSymbol("sfHttp_SetHost"); - sfHttp_SendRequest = cast(pf_sfHttp_SendRequest)dll.getSymbol("sfHttp_SendRequest"); - } -} diff --git a/bindings/d/import/dsfml/network/ipaddress.d b/bindings/d/import/dsfml/network/ipaddress.d deleted file mode 100644 index fd785c86..00000000 --- a/bindings/d/import/dsfml/network/ipaddress.d +++ /dev/null @@ -1,148 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.ipaddress; - -import dsfml.system.common; -import dsfml.system.stringutil; - -/** - * IPAddress provides easy manipulation of IP v4 addresses - */ -struct IPAddress -{ - byte[16] Address; - - /** - * Construct the address from a string - * - * Params: - * address = IP address ("xxx.xxx.xxx.xxx") or network name - * - */ - static opCall(string address) - { - return sfIpAddress_FromString(toStringz(address)); - } - - - /** - * Construct the address from 4 bytes - * - * Params: - * byte0 = First byte of the address - * byte1 = Second byte of the address - * byte2 = Third byte of the address - * byte3 = Fourth byte of the address - * - */ - static opCall(ubyte byte0, ubyte byte1, ubyte byte2, ubyte byte3) - { - return sfIpAddress_FromBytes(byte0, byte1, byte2, byte3); - } - - /** - * Construct the address from a 32 bits integer - * - * Params: - * address = 4 bytes of the address packed into a 32 bits integer - * - */ - static opCall(uint address) - { - return sfIpAddress_FromInteger(address); - } - - /** - * Get the empty/invalid address - * - * Returns: - * Empty object that represents invalid addresses - */ - static IPAddress None() - { - return sfIpAddress_None(); - } - -@property -{ - /** - * Get the computer's local IP address (from the LAN point of view) - * - * Returns: - * Local IP address - * - */ - static IPAddress localAddress() - { - return sfIpAddress_GetLocalAddress(); - } - - /** - * Get the computer's public IP address (from the web point of view). - * The only way to get a public address is to ask it to a - * distant website ; as a consequence, this function may be - * very slow -- use it as few as possible ! - * - * Returns: - * Public IP address - * - */ - static IPAddress publicAddress() - { - return sfIpAddress_GetPublicAddress(); - } - - /** - * Local host address (to connect to the same computer). - */ - static IPAddress localHost() - { - return sfIpAddress_LocalHost(); - } -} - - const bool opEquals(ref const(IPAddress) other) - { - return Address == other.Address; - } -} - -private: - -static extern(C) -{ - IPAddress function(cchar*) sfIpAddress_FromString; - IPAddress function(ubyte, ubyte, ubyte, ubyte)sfIpAddress_FromBytes; - IPAddress function(uint) sfIpAddress_FromInteger; - IPAddress function() sfIpAddress_None; - IPAddress function() sfIpAddress_GetLocalAddress; - IPAddress function() sfIpAddress_GetPublicAddress; - IPAddress function() sfIpAddress_LocalHost; -} - -mixin(loadFromSharedLib2("csfml-network", "sfIpAddress", - "FromBytes", "FromString", "FromInteger", "GetLocalAddress", "GetPublicAddress", "None", "LocalHost")); \ No newline at end of file diff --git a/bindings/d/import/dsfml/network/packet.d b/bindings/d/import/dsfml/network/packet.d deleted file mode 100644 index 9a09646a..00000000 --- a/bindings/d/import/dsfml/network/packet.d +++ /dev/null @@ -1,417 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.packet; - -import dsfml.system.common; -import dsfml.system.stringutil; - -/** -* Packet wraps data to send / to receive through the network -* -* The order of insertion and extraction must be the same. -* -* You can derive from Packet and override onSend and onReceive to do custom operations before send or after reception. -* -* Litterals integer are promoted to int. -* Litterals floating point are promoted to float. -* -* Extraction or insertion can be specified with explicit template. -* Examples: -* ------------------------------------------------------------ -* Packet p = new Packet(); -* -* int i = 32, j = 42; -* string k = hello; -* -* p.set(i, k, j); //Set the data in the packet -* -* int a, b; -* string c; -* p.get(a, c, b); //Get data from the packet -* -* //... -* -* Packet p = new Packet(); -* p.set!(byte)(5); // Litteral are inserted with byte type -* ------------------------------------------------------------ -* -* See_Also: -* $(LINK2 http://www.digitalmars.com/d/1.0/lex.html, D litterals Specification) for more informations. -*/ -class Packet : DSFMLObject -{ - /** - * Default constructor - * - */ - this() - { - super(sfPacket_Create()); - } - - override void dispose() - { - sfPacket_Destroy(m_ptr); - } - - /** - * Append data to the end of the packet. - * - * Params: - * data = Array of data to append - * - */ - void append(byte[] data) - { - if (data !is null) - sfPacket_Append(m_ptr, data.ptr, data.length); - } - - /** - * Clear the packet data - * - */ - void clear() - { - sfPacket_Clear(m_ptr); - } - - /** - * Get an array to the data contained in the packet - * $(B the returned array may be invalid after you - * append data to the packet) - * - * Returns: - * array of data - * - * Remarks: - * return an array of $(B all) data in the packet. - * - * ---------- - * Packet p = new Packet(); - * - * string str1 = "Hi"; - * string str2 = "Hello"; - * - * p.set(str1, str2); - * - * // Retrieve str1 from packet - * string str3; - * p.get(str3); - * - * // Returns an array containing str1 and str2. - * byte[] ptr = p.getData(); - * ---------- - */ - byte[] getData() - { - if (canRead) - return sfPacket_GetData(m_ptr)[0..getDataSize()]; - else - return null; - } - - - /** - * Get the size of the data contained in the packet - * - * Returns: - * Data size, in bytes - */ - uint getDataSize() - { - return sfPacket_GetDataSize(m_ptr); - } - - /** - * Tell if the reading position has reached the end of the packet - * - * Returns: - * true if all data have been read. - */ - bool endOfPacket() - { - return cast(bool)sfPacket_EndOfPacket(m_ptr); - } - /** - * Tell if the packet is valid for reading - * - * Returns: - * True if data can be extracted from the packet - * - */ - bool canRead() - { - return cast(bool)sfPacket_CanRead(m_ptr); - } - - - /** - * Add new variables to the packet - * Accept (u)byte, (u)short, (u)int, float, double, string and wstring types - */ - Packet set(T...)(T t) - { - foreach (v; t) - internalSet(t); - return this; - } - - /** - * Retrieve data from the packet - * Accept (u)byte, (u)short, (u)int, float, double, string and wstring types - */ - Packet get(T...)(ref T t) - { - foreach (v; t) - internalGet(t); - return this; - } - - /** - * Called before packet is send - * - * Params: - * size = Variable to fill with the size of the data to send - * Returns: - * Array of byte to send - */ - byte[] onSend() - { - return getData(); - } - - /** - * Called after a packet has been received - * - * Params: - * data = Array of byte received - */ - void onReceive(byte[] data) - { - append(data); - } - -private: - void internalGet(ref bool data) - { - data = cast(bool)sfPacket_ReadInt32(m_ptr); - } - void internalGet(ref byte data) - { - data = sfPacket_ReadInt8(m_ptr); - } - void internalGet(ref ubyte data) - { - data = sfPacket_ReadUint8(m_ptr); - } - void internalGet(ref short data) - { - data = sfPacket_ReadInt16(m_ptr); - } - void internalGet(ref ushort data) - { - data = sfPacket_ReadUint16(m_ptr); - } - void internalGet(ref int data) - { - data = sfPacket_ReadInt32(m_ptr); - } - void internalGet(ref uint data) - { - data = sfPacket_ReadUint32(m_ptr); - } - void internalGet(ref float data) - { - data = sfPacket_ReadFloat(m_ptr); - } - void internalGet(ref double data) - { - data = sfPacket_ReadDouble(m_ptr); - } - void internalGet(ref string data) - { - scope char[] temp = new char[sfPacket_GetDataSize(m_ptr)]; - sfPacket_ReadString(m_ptr, temp.ptr); - size_t l = fromStringz(temp.ptr).length; - data = cast(string) temp[0 .. l]; - } - - void internalGet(ref wstring data) - { - scope wchar[] temp = new wchar[sfPacket_GetDataSize(m_ptr)]; - sfPacket_ReadWideString(m_ptr, temp.ptr); - size_t l = fromStringz(temp.ptr).length; - data = cast(wstring) temp[0 .. l]; - } - - void internalSet(bool data) - { - sfPacket_WriteInt32(m_ptr, cast(int)data); - } - void internalSet(byte data) - { - sfPacket_WriteInt8(m_ptr, data); - } - void internalSet(ubyte data) - { - sfPacket_WriteUint8(m_ptr, data); - } - void internalSet(short data) - { - sfPacket_WriteInt16(m_ptr, data); - } - void internalSet(ushort data) - { - sfPacket_WriteUint16(m_ptr, data); - } - void internalSet(int data) - { - sfPacket_WriteInt32(m_ptr, data); - } - void internalSet(uint data) - { - sfPacket_WriteUint32(m_ptr, data); - } - void internalSet(float data) - { - sfPacket_WriteFloat(m_ptr, data); - } - void internalSet(double data) - { - sfPacket_WriteDouble(m_ptr, data); - } - void internalSet(string data) - { - sfPacket_WriteString(m_ptr, toStringz(data)); - } - - void internalSet(wstring data) - { - sfPacket_WriteWideString(m_ptr, toStringz(data)); - } - -// External ==================================================================== - - extern (C) - { - typedef SFMLClass function() pf_sfPacket_Create; - typedef void function(SFMLClass) pf_sfPacket_Destroy; - typedef void function(SFMLClass, const(void)*, size_t) pf_sfPacket_Append; - typedef void function(SFMLClass) pf_sfPacket_Clear; - typedef byte* function(SFMLClass) pf_sfPacket_GetData; - typedef uint function(SFMLClass) pf_sfPacket_GetDataSize; - typedef int function(SFMLClass) pf_sfPacket_EndOfPacket; - typedef int function(SFMLClass) pf_sfPacket_CanRead; - typedef byte function(SFMLClass) pf_sfPacket_ReadInt8; - typedef ubyte function(SFMLClass) pf_sfPacket_ReadUint8; - typedef short function(SFMLClass) pf_sfPacket_ReadInt16; - typedef ushort function(SFMLClass) pf_sfPacket_ReadUint16; - typedef int function(SFMLClass) pf_sfPacket_ReadInt32; - typedef uint function(SFMLClass) pf_sfPacket_ReadUint32; - typedef float function(SFMLClass) pf_sfPacket_ReadFloat; - typedef double function(SFMLClass) pf_sfPacket_ReadDouble; - typedef void function(SFMLClass, char*) pf_sfPacket_ReadString; - typedef void function(SFMLClass, wchar*) pf_sfPacket_ReadWideString; - typedef void function(SFMLClass, byte) pf_sfPacket_WriteInt8; - typedef void function(SFMLClass, ubyte) pf_sfPacket_WriteUint8; - typedef void function(SFMLClass, short) pf_sfPacket_WriteInt16; - typedef void function(SFMLClass, ushort) pf_sfPacket_WriteUint16; - typedef void function(SFMLClass, int) pf_sfPacket_WriteInt32; - typedef void function(SFMLClass, uint) pf_sfPacket_WriteUint32; - typedef void function(SFMLClass, float) pf_sfPacket_WriteFloat; - typedef void function(SFMLClass, double) pf_sfPacket_WriteDouble; - typedef void function(SFMLClass, cchar*) pf_sfPacket_WriteString; - typedef void function(SFMLClass, cwchar*) pf_sfPacket_WriteWideString; - - static pf_sfPacket_Create sfPacket_Create; - static pf_sfPacket_Destroy sfPacket_Destroy; - static pf_sfPacket_Append sfPacket_Append; - static pf_sfPacket_Clear sfPacket_Clear; - static pf_sfPacket_GetData sfPacket_GetData; - static pf_sfPacket_GetDataSize sfPacket_GetDataSize; - static pf_sfPacket_EndOfPacket sfPacket_EndOfPacket; - static pf_sfPacket_CanRead sfPacket_CanRead; - static pf_sfPacket_ReadInt8 sfPacket_ReadInt8; - static pf_sfPacket_ReadUint8 sfPacket_ReadUint8; - static pf_sfPacket_ReadInt16 sfPacket_ReadInt16; - static pf_sfPacket_ReadUint16 sfPacket_ReadUint16; - static pf_sfPacket_ReadInt32 sfPacket_ReadInt32; - static pf_sfPacket_ReadUint32 sfPacket_ReadUint32; - static pf_sfPacket_ReadFloat sfPacket_ReadFloat; - static pf_sfPacket_ReadDouble sfPacket_ReadDouble; - static pf_sfPacket_ReadString sfPacket_ReadString; - static pf_sfPacket_ReadWideString sfPacket_ReadWideString; - static pf_sfPacket_WriteInt8 sfPacket_WriteInt8; - static pf_sfPacket_WriteUint8 sfPacket_WriteUint8; - static pf_sfPacket_WriteInt16 sfPacket_WriteInt16; - static pf_sfPacket_WriteUint16 sfPacket_WriteUint16; - static pf_sfPacket_WriteInt32 sfPacket_WriteInt32; - static pf_sfPacket_WriteUint32 sfPacket_WriteUint32; - static pf_sfPacket_WriteFloat sfPacket_WriteFloat; - static pf_sfPacket_WriteDouble sfPacket_WriteDouble; - static pf_sfPacket_WriteString sfPacket_WriteString; - static pf_sfPacket_WriteWideString sfPacket_WriteWideString; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-network-d-2"); - else - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfPacket_Append = cast(pf_sfPacket_Append)dll.getSymbol("sfPacket_Append"); - sfPacket_CanRead = cast(pf_sfPacket_CanRead)dll.getSymbol("sfPacket_CanRead"); - sfPacket_Clear = cast(pf_sfPacket_Clear)dll.getSymbol("sfPacket_Clear"); - sfPacket_Create = cast(pf_sfPacket_Create)dll.getSymbol("sfPacket_Create"); - sfPacket_Destroy = cast(pf_sfPacket_Destroy)dll.getSymbol("sfPacket_Destroy"); - sfPacket_EndOfPacket = cast(pf_sfPacket_EndOfPacket)dll.getSymbol("sfPacket_EndOfPacket"); - sfPacket_GetData = cast(pf_sfPacket_GetData)dll.getSymbol("sfPacket_GetData"); - sfPacket_GetDataSize = cast(pf_sfPacket_GetDataSize)dll.getSymbol("sfPacket_GetDataSize"); - sfPacket_ReadDouble = cast(pf_sfPacket_ReadDouble)dll.getSymbol("sfPacket_ReadDouble"); - sfPacket_ReadFloat = cast(pf_sfPacket_ReadFloat)dll.getSymbol("sfPacket_ReadFloat"); - sfPacket_ReadInt16 = cast(pf_sfPacket_ReadInt16)dll.getSymbol("sfPacket_ReadInt16"); - sfPacket_ReadInt32 = cast(pf_sfPacket_ReadInt32)dll.getSymbol("sfPacket_ReadInt32"); - sfPacket_ReadInt8 = cast(pf_sfPacket_ReadInt8)dll.getSymbol("sfPacket_ReadInt8"); - sfPacket_ReadString = cast(pf_sfPacket_ReadString)dll.getSymbol("sfPacket_ReadString"); - sfPacket_ReadWideString = cast(pf_sfPacket_ReadWideString)dll.getSymbol("sfPacket_ReadWideString"); - sfPacket_ReadUint16 = cast(pf_sfPacket_ReadUint16)dll.getSymbol("sfPacket_ReadUint16"); - sfPacket_ReadUint32 = cast(pf_sfPacket_ReadUint32)dll.getSymbol("sfPacket_ReadUint32"); - sfPacket_ReadUint8 = cast(pf_sfPacket_ReadUint8)dll.getSymbol("sfPacket_ReadUint8"); - sfPacket_WriteDouble = cast(pf_sfPacket_WriteDouble)dll.getSymbol("sfPacket_WriteDouble"); - sfPacket_WriteFloat = cast(pf_sfPacket_WriteFloat)dll.getSymbol("sfPacket_WriteFloat"); - sfPacket_WriteInt16 = cast(pf_sfPacket_WriteInt16)dll.getSymbol("sfPacket_WriteInt16"); - sfPacket_WriteInt32 = cast(pf_sfPacket_WriteInt32)dll.getSymbol("sfPacket_WriteInt32"); - sfPacket_WriteInt8 = cast(pf_sfPacket_WriteInt8)dll.getSymbol("sfPacket_WriteInt8"); - sfPacket_WriteString = cast(pf_sfPacket_WriteString)dll.getSymbol("sfPacket_WriteString"); - sfPacket_WriteWideString = cast(pf_sfPacket_WriteWideString)dll.getSymbol("sfPacket_WriteWideString"); - sfPacket_WriteUint16 = cast(pf_sfPacket_WriteUint16)dll.getSymbol("sfPacket_WriteUint16"); - sfPacket_WriteUint32 = cast(pf_sfPacket_WriteUint32)dll.getSymbol("sfPacket_WriteUint32"); - sfPacket_WriteUint8 = cast(pf_sfPacket_WriteUint8)dll.getSymbol("sfPacket_WriteUint8"); - } -} diff --git a/bindings/d/import/dsfml/network/socketselector.d b/bindings/d/import/dsfml/network/socketselector.d deleted file mode 100644 index e85abc77..00000000 --- a/bindings/d/import/dsfml/network/socketselector.d +++ /dev/null @@ -1,153 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.socketselector; - -import dsfml.network.tcpsocket; -import dsfml.network.udpsocket; - -import dsfml.system.common; - -/** - * Multiplexer that allows to read from multiple sockets - */ -class SocketSelector : DSFMLObject -{ - /** - * Default constructor - */ - this() - { - super(sfSocketSelector_Create()); - } - - override void dispose() - { - sfSocketSelector_Destroy(m_ptr); - } - - /** - * Add a socket to watch - * - * Params: - * socket = A tcp or udp socket - */ - void add(T socket) - { - if (!(socket.nativePointer in m_watchedSockets)) - { - sfSocketSelector_Add(m_ptr, socket.nativePointer); - m_watchedSockets[socket.nativePointer] = socket; - m_numSocketsWatched++; - } - } - - /** - * Remove a previously added socket - * - * Params: - * socket = A tcp or udp socket - */ - void remove(T socket) - { - if (socket.nativePointer in m_watchedSockets) - { - sfSocketSelector_Remove(m_ptr, socket.nativePointer); - m_watchedSockets.remove(socket.nativePointer); - m_numSocketsWatched--; - } - } - - /** - * Clear all sockets being watched - */ - void clear() - { - sfSocketSelector_Clear(m_ptr); - foreach(key; m_watchedSockets.keys) - m_watchedSockets.remove(key); - m_numSocketsWatched = 0; - } - - /** - * Wait and collect sockets which are ready for reading. - * This functions will return either when at least one socket - * is ready, or when the given time is out - * - * Params: - * timeout = Maximum time to wait, in seconds (0 to disable timeout) - * - * Returns: - * Number of sockets ready - */ - uint wait(float timeout = 0.f) - { - return sfSocketSelector_Wait(m_ptr, timeout); - } - - /** - * After a call to Wait(), get the Index-th socket which is - * ready for reading. The total number of sockets ready - * is the integer returned by the previous call to Wait() - * - * Params: - * index = Index of the socket to get - * - * Returns: - * The Index-th socket - */ - T GetSocketsReady(uint index) - { - return m_watchedSockets[sfSocketSelector_GetSocketReady(m_ptr, index)]; - } - - -private: -// size_t m_numSocketsWatched; -// T[void*] m_watchedSockets; - -// External ==================================================================== - static extern(C) - { - SFMLClass function() sfSocketSelector_Create; - void function(SFMLClass) sfSocketSelector_Destroy; - void function(SFMLClass, SFMLClass) sfSocketSelector_AddTcpListener; - void function(SFMLClass, SFMLClass) sfSocketSelector_AddTcpSocket; - void function(SFMLClass, SFMLClass) sfSocketSelector_AddUdpSocket; - void function(SFMLClass, SFMLClass) sfSocketSelector_RemoveTcpListener; - void function(SFMLClass, SFMLClass) sfSocketSelector_RemoveTcpSocket; - void function(SFMLClass, SFMLClass) sfSocketSelector_RemoveUdpSocket; - void function(SFMLClass) sfSocketSelector_Clear; - bool function(SFMLClass, float) sfSocketSelector_Wait; - bool function(SFMLClass, SFMLClass) sfSocketSelector_IsTcpListenerReady; - bool function(SFMLClass, SFMLClass) sfSocketSelector_IsTcpSocketReady; - bool function(SFMLClass, SFMLClass) sfSocketSelector_IsUdpSocketReady; - } - - mixin(loadFromSharedLib2("csfml-network", "sfSocketSelector", - "Create", "Destroy", "AddTcpListener", "AddTcpSocket", "AddUdpSocket", "RemoveTcpListener", "RemoveTcpSocket", "RemoveUdpSocket", - "Clear", "Wait", "IsTcpListenerReady", "IsTcpSocketReady", "IsUdpSocketReady")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/network/socketstatus.d b/bindings/d/import/dsfml/network/socketstatus.d deleted file mode 100644 index ee7ec515..00000000 --- a/bindings/d/import/dsfml/network/socketstatus.d +++ /dev/null @@ -1,38 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.socketstatus; - -/** -* Enumeration of status returned by socket functions -*/ -enum SocketStatus -{ - DONE, /// - NOTREADY, /// - DISCONNECTED, /// - UNEXPECTEDERROR /// -} diff --git a/bindings/d/import/dsfml/network/tcplistener.d b/bindings/d/import/dsfml/network/tcplistener.d deleted file mode 100644 index a0b682ce..00000000 --- a/bindings/d/import/dsfml/network/tcplistener.d +++ /dev/null @@ -1,49 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.network.tcplistener; - -import dsfml.network.socketstatus; -import dsfml.system.common; - -class TcpListener : DSFMLObject -{ -private: -public: - -private: - static extern(C) - { - SFMLClass function() sfTcpListener_Create; - void function(SFMLClass) sfTcpListener_Destroy; - void function(SFMLClass, bool) sfTcpListener_SetBlocking; - bool function(SFMLClass) sfTcpListener_IsBlocking; - SocketStatus function(SFMLClass, ushort) sfTcpListener_Listen; - SocketStatus function(SFMLClass, SFMLClass*) sfTcpListener_Accept; - } - - mixin(loadFromSharedLib2("csfml-network", "sfTcpListener", - "Create", "Destroy", "SetBlocking", "IsBlocking", "Listen", "Accept")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/network/tcpsocket.d b/bindings/d/import/dsfml/network/tcpsocket.d deleted file mode 100644 index 71637444..00000000 --- a/bindings/d/import/dsfml/network/tcpsocket.d +++ /dev/null @@ -1,273 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.tcpsocket; - -import dsfml.network.ipaddress; -import dsfml.network.packet; -import dsfml.network.socketstatus; - -import dsfml.system.common; - -/** -* TcpSocket wraps a socket using TCP protocol to send data safely (but a bit slower) -*/ -class TcpSocket : DSFMLObject -{ - /** - * Default constructor - */ - this() - { - super(sfTcpSocket_Create()); - m_intermediatePacket = new Packet(); - } - - override void dispose() - { - sfTcpSocket_Destroy(m_ptr); - } - - /** - * Connect to another computer on a specified port - * - * Params: - * port = Port to use for transfers (warning : ports < 1024 are reserved) - * hostAddress = IP Address of the host to connect to - * timeout = Maximum time to wait in seconds (0 by default : no timeout) - * - * Returns: - * True if operation has been successful - */ - bool connect(ushort port, IPAddress hostAddress, float timeout = 0.f) - { - return cast(bool) !sfTcpSocket_Connect(m_ptr, port, hostAddress, timeout); - } - - /** - * Listen to a specified port for incoming data or connections - * - * Params: - * port = Port to listen to - * - * Returns: - * True if operation has been successful - */ - bool listen(ushort port) - { - return cast(bool)sfTcpSocket_Listen(m_ptr, port); - } - - /** - * Wait for a connection (must be listening to a port). - * This function is blocking. - * - * Params: - * connected = Socket containing the connection with the connected client - * - * Returns: - * Status code - */ - SocketStatus accept(TcpSocket connected) - { - SFMLClass temp = null; - SocketStatus ret = sfTcpSocket_Accept(m_ptr, &temp, null); - connected.m_ptr = temp; - return ret; - } - - /** - * Wait for a connection (must be listening to a port). - * This function is blocking. - * - * Params: - * connected = Socket containing the connection with the connected client - * address = Pointer to an address to fill with client infos - * - * Returns: - * Status code - */ - SocketStatus accept(TcpSocket connected, out IPAddress address) - { - SFMLClass temp = null; - SocketStatus ret = sfTcpSocket_Accept(m_ptr, &temp, &address); - connected.m_ptr = temp; - return ret; - } - - /** - * Send an array of bytes to the host (must be connected first) - * - * Params: - * data = array of bytes to send - * - * Returns: - * Status code - */ - SocketStatus send(byte[] data) - in - { - assert(data && data.length); - } - body - { - return cast(SocketStatus)sfTcpSocket_Send(m_ptr, data.ptr, data.length); - } - - /** - * Receive an array of bytes from the host (must be connected first). - * This function will block until a connection was accepted - * - * Params: - * data = array to fill (make sure it is big enough) - * sizeReceived = Number of bytes received - * - * Returns: - * Status code - * - * Remarks: - * Assert if data is null or length == 0 - * - */ - SocketStatus receive(byte[] data, out size_t sizeReceived) - in - { - assert(data && data.length); - } - body - { - return cast(SocketStatus)sfTcpSocket_Receive(m_ptr, data.ptr, data.length, &sizeReceived); - } - - - /** - * Send a packet of data to the host (must be connected first) - * - * Params: - * packetToSend = Packet to send - * - * Returns: - * Status code - * - */ - SocketStatus send(Packet packetToSend) - { - byte[] dataArray = packetToSend.onSend(); - m_intermediatePacket.append(dataArray); - SocketStatus stat = cast(SocketStatus)sfTcpSocket_SendPacket(m_ptr, m_intermediatePacket.nativePointer); - m_intermediatePacket.clear(); - return stat; - } - - /** - * Receive a packet from the host (must be connected first). - * This function will block if the socket is blocking - * - * Params: - * packetToReceive = Packet to fill with received data - * - * Returns: - * Status code - * - */ - SocketStatus receive(Packet packetToReceive) - { - SocketStatus stat = cast(SocketStatus)sfTcpSocket_ReceivePacket(m_ptr, m_intermediatePacket.nativePointer); - packetToReceive.onReceive(m_intermediatePacket.getData); - m_intermediatePacket.clear(); - return stat; - } - - /** - * Check if the socket is in a valid state ; this function - * can be called any time to check if the socket is OK - * - * Returns: - * True if the socket is valid - * - */ - bool isValid() - { - return cast(bool)sfTcpSocket_IsValid(m_ptr); - } - -package: - - this (SFMLClass ptr) - { - super(ptr); - m_intermediatePacket = new Packet(); - } - - -private: - Packet m_intermediatePacket; - -// External ==================================================================== - extern (C) - { - typedef SFMLClass function() pf_sfTcpSocket_Create; - typedef void function(SFMLClass) pf_sfTcpSocket_Destroy; - typedef int function(SFMLClass, ushort, IPAddress, float) pf_sfTcpSocket_Connect; - typedef int function(SFMLClass, ushort) pf_sfTcpSocket_Listen; - typedef SocketStatus function(SFMLClass, SFMLClass*, IPAddress*) pf_sfTcpSocket_Accept; - typedef SocketStatus function(SFMLClass, const(byte)*, size_t) pf_sfTcpSocket_Send; - typedef SocketStatus function(SFMLClass, byte*, size_t, size_t*) pf_sfTcpSocket_Receive; - typedef SocketStatus function(SFMLClass, SFMLClass) pf_sfTcpSocket_SendPacket; - typedef SocketStatus function(SFMLClass, SFMLClass) pf_sfTcpSocket_ReceivePacket; - typedef int function(SFMLClass) pf_sfTcpSocket_IsValid; - - static pf_sfTcpSocket_Create sfTcpSocket_Create; - static pf_sfTcpSocket_Destroy sfTcpSocket_Destroy; - static pf_sfTcpSocket_Connect sfTcpSocket_Connect; - static pf_sfTcpSocket_Listen sfTcpSocket_Listen; - static pf_sfTcpSocket_Accept sfTcpSocket_Accept; - static pf_sfTcpSocket_Send sfTcpSocket_Send; - static pf_sfTcpSocket_Receive sfTcpSocket_Receive; - static pf_sfTcpSocket_SendPacket sfTcpSocket_SendPacket; - static pf_sfTcpSocket_ReceivePacket sfTcpSocket_ReceivePacket; - static pf_sfTcpSocket_IsValid sfTcpSocket_IsValid; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-network-d-2"); - else - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfTcpSocket_Accept = cast(pf_sfTcpSocket_Accept)dll.getSymbol("sfTcpSocket_Accept"); - sfTcpSocket_Connect = cast(pf_sfTcpSocket_Connect)dll.getSymbol("sfTcpSocket_Connect"); - sfTcpSocket_Create = cast(pf_sfTcpSocket_Create)dll.getSymbol("sfTcpSocket_Create"); - sfTcpSocket_Destroy = cast(pf_sfTcpSocket_Destroy)dll.getSymbol("sfTcpSocket_Destroy"); - sfTcpSocket_IsValid = cast(pf_sfTcpSocket_IsValid)dll.getSymbol("sfTcpSocket_IsValid"); - sfTcpSocket_Listen = cast(pf_sfTcpSocket_Listen)dll.getSymbol("sfTcpSocket_Listen"); - sfTcpSocket_Receive = cast(pf_sfTcpSocket_Receive)dll.getSymbol("sfTcpSocket_Receive"); - sfTcpSocket_ReceivePacket = cast(pf_sfTcpSocket_ReceivePacket)dll.getSymbol("sfTcpSocket_ReceivePacket"); - sfTcpSocket_Send = cast(pf_sfTcpSocket_Send)dll.getSymbol("sfTcpSocket_Send"); - sfTcpSocket_SendPacket = cast(pf_sfTcpSocket_SendPacket)dll.getSymbol("sfTcpSocket_SendPacket"); - } -} diff --git a/bindings/d/import/dsfml/network/udpsocket.d b/bindings/d/import/dsfml/network/udpsocket.d deleted file mode 100644 index 2778df18..00000000 --- a/bindings/d/import/dsfml/network/udpsocket.d +++ /dev/null @@ -1,241 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.network.udpsocket; - -import dsfml.network.ipaddress; -import dsfml.network.packet; -import dsfml.network.socketstatus; - -import dsfml.system.common; - -/** - * UdpSocket wraps a socket using UDP protocol to - * send data fastly (but with less safety) - */ -class UdpSocket : DSFMLObject -{ - /** - * Default constructor - */ - this() - { - super(sfUdpSocket_Create()); - m_intermediatePacket = new Packet(); - } - - override void dispose() - { - sfUdpSocket_Destroy(m_ptr); - } - - /** - * Bind the socket to a specific port - * - * Params: - * port = Port to bind the socket to - * - * Returns: - * True if operation has been successful - * - */ - bool bind(ushort port) - { - m_port = port; - return cast(bool)sfUdpSocket_Bind(m_ptr, port); - } - - /** - * Unbind the socket from its previous port, if any - * - * Returns: True if operation has been successful - * - */ - bool unbind() - { - m_port = 0; - return cast(bool)sfUdpSocket_Unbind(m_ptr, m_port); - } - - /** - * Send an array of bytes - * - * Params: - * data = bytes array to send - * address = Address of the computer to send the packet to - * port = Port to send the data to - * - * Returns: - * Status code - * - */ - SocketStatus send(byte[] data, IPAddress address, ushort port) - { - return cast(SocketStatus) sfUdpSocket_Send(m_ptr, data.ptr, data.length, address, port); - } - - /** - * Receive an array of bytes. - * This function is blocking. - * - * Params: - * data = Pointer to a byte array to fill (make sure it is big enough) - * sizeReceived = Number of bytes received - * address = Address of the computer which sent the data - * - * Returns: - * Status code - * - * Remarks: - * Assert if data is null or length == 0 - * - */ - SocketStatus receive(byte[] data, out size_t sizeReceived, out IPAddress address) - { - SocketStatus ret = sfUdpSocket_Receive(m_ptr, data.ptr, data.length, &sizeReceived, &address); - return ret; - } - - /** - * Send a packet of data - * - * Params: - * packetToSend = Packet to send - * address = Address of the computer to send the packet to - * port = Port to send the data to - * - * Returns: - * Status code - * - */ - SocketStatus send(Packet packetToSend, IPAddress address, ushort port) - { - byte[] dataArray = packetToSend.onSend(); - m_intermediatePacket.append(dataArray); - SocketStatus stat = cast(SocketStatus)sfUdpSocket_SendPacket(m_ptr, m_intermediatePacket.nativePointer, address, port); - m_intermediatePacket.clear(); - return stat; - } - - /** - * Receive a packet. - * This function is blocking. - * - * Params: - * packetToReceive = Packet to fill with received data - * address = Address of the computer which sent the packet - * - * Returns: - * Status code - * - */ - SocketStatus receive(Packet packetToReceive, out IPAddress address) - { - SocketStatus ret = sfUdpSocket_ReceivePacket(m_ptr, m_intermediatePacket.nativePointer, &address); - packetToReceive.onReceive(m_intermediatePacket.getData); - m_intermediatePacket.clear(); - return ret; - - } - - /** - * Check if the socket is in a valid state ; this function - * can be called any time to check if the socket is OK - * - * Returns: - * True if the socket is valid - * - */ - bool isValid() - { - return cast(bool)sfUdpSocket_IsValid(m_ptr); - } - - /** - * Get the port the socket is currently bound to - * - * Returns: - * Current port (0 means the socket is not bound) - */ - ushort getPort() - { - return m_port; - } - -package: - this (SFMLClass ptr) - { - super(ptr); - m_intermediatePacket = new Packet(); - } - -private: - Packet m_intermediatePacket; - ushort m_port; - -// External ==================================================================== - - extern (C) - { - typedef SFMLClass function() pf_sfUdpSocket_Create; - typedef void function(SFMLClass) pf_sfUdpSocket_Destroy; - typedef int function(SFMLClass, ushort) pf_sfUdpSocket_Bind; - typedef int function(SFMLClass, ushort) pf_sfUdpSocket_Unbind; - typedef SocketStatus function(SFMLClass, byte*, size_t, IPAddress, ushort) pf_sfUdpSocket_Send; - typedef SocketStatus function(SFMLClass, byte*, size_t, size_t*, IPAddress*) pf_sfUdpSocket_Receive; - typedef SocketStatus function(SFMLClass, SFMLClass, IPAddress, ushort) pf_sfUdpSocket_SendPacket; - typedef SocketStatus function(SFMLClass, SFMLClass, IPAddress*) pf_sfUdpSocket_ReceivePacket; - typedef int function(SFMLClass) pf_sfUdpSocket_IsValid; - - static pf_sfUdpSocket_Create sfUdpSocket_Create; - static pf_sfUdpSocket_Destroy sfUdpSocket_Destroy; - static pf_sfUdpSocket_Bind sfUdpSocket_Bind; - static pf_sfUdpSocket_Unbind sfUdpSocket_Unbind; - static pf_sfUdpSocket_Send sfUdpSocket_Send; - static pf_sfUdpSocket_Receive sfUdpSocket_Receive; - static pf_sfUdpSocket_SendPacket sfUdpSocket_SendPacket; - static pf_sfUdpSocket_ReceivePacket sfUdpSocket_ReceivePacket; - static pf_sfUdpSocket_IsValid sfUdpSocket_IsValid; - } - - static this() - { - debug - DllLoader dll = DllLoader.load("csfml-network-d-2"); - else - DllLoader dll = DllLoader.load("csfml-network-2"); - - sfUdpSocket_Bind = cast(pf_sfUdpSocket_Bind)dll.getSymbol("sfUdpSocket_Bind"); - sfUdpSocket_Create = cast(pf_sfUdpSocket_Create)dll.getSymbol("sfUdpSocket_Create"); - sfUdpSocket_Destroy = cast(pf_sfUdpSocket_Destroy)dll.getSymbol("sfUdpSocket_Destroy"); - sfUdpSocket_IsValid = cast(pf_sfUdpSocket_IsValid)dll.getSymbol("sfUdpSocket_IsValid"); - sfUdpSocket_Receive = cast(pf_sfUdpSocket_Receive)dll.getSymbol("sfUdpSocket_Receive"); - sfUdpSocket_ReceivePacket = cast(pf_sfUdpSocket_ReceivePacket)dll.getSymbol("sfUdpSocket_ReceivePacket"); - sfUdpSocket_Send = cast(pf_sfUdpSocket_Send)dll.getSymbol("sfUdpSocket_Send"); - sfUdpSocket_SendPacket = cast(pf_sfUdpSocket_SendPacket)dll.getSymbol("sfUdpSocket_SendPacket"); - sfUdpSocket_Unbind = cast(pf_sfUdpSocket_Unbind)dll.getSymbol("sfUdpSocket_Unbind"); - } -} diff --git a/bindings/d/import/dsfml/system/all.d b/bindings/d/import/dsfml/system/all.d deleted file mode 100644 index 1de561bf..00000000 --- a/bindings/d/import/dsfml/system/all.d +++ /dev/null @@ -1,47 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.system.all; - -version (linux) -{ - version (build) - { - pragma(link, "dl"); //Link libdl.so (dlopen, dlsym) - } -} - -version (darwin) -{ - version (build) - { - pragma(link, "dl"); //Link libdl.dylib (dlopen, dlsym) - } -} - -public import - dsfml.system.lock, - dsfml.system.vector; \ No newline at end of file diff --git a/bindings/d/import/dsfml/system/alloc.d b/bindings/d/import/dsfml/system/alloc.d deleted file mode 100644 index b04c9f01..00000000 --- a/bindings/d/import/dsfml/system/alloc.d +++ /dev/null @@ -1,84 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.system.alloc; - -version (Tango) -{ - public import tango.core.Memory; -} -else -{ - public import core.memory; -} - -/* - struct GC - { - static void* malloc(uint size) - { - return std.c.stdlib.malloc(size); - } - - static void free(void* ptr) - { - std.c.stdlib.free(ptr); - } - - static void addRange(void* ptr, uint size) - { - std.gc.addRange(ptr, ptr + size); - } - - static void removeRange(void* ptr) - { - std.gc.removeRange(ptr); - } - } - -*/ - -/* -* Template for native non-GCed allocation for interaction between C and D threads. -*/ -template Alloc() -{ - new (size_t size) - { - void* p = GC.malloc(size); - if (!p) - assert(0, "Memory allocation failed"); - - GC.addRange(p, size); - return p; - } - - delete(void* p) - { - GC.removeRange(p); - GC.free(p); - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/system/common.d b/bindings/d/import/dsfml/system/common.d deleted file mode 100644 index 59f04f20..00000000 --- a/bindings/d/import/dsfml/system/common.d +++ /dev/null @@ -1,141 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.system.common; - -public import dsfml.system.dllloader; - -// type aliases for D2 -package -{ - alias const(char) cchar; - alias const(wchar) cwchar; - alias const(dchar) cdchar; - alias immutable(char) ichar; - alias immutable(wchar) iwchar; - alias immutable(dchar) idchar; - alias const(char)[] cstring; - -// alias immutable(void) ivoid; - alias const(void) cvoid; - typedef immutable(void)* SFMLClass; -} - -// used to mixin code function -string loadFromSharedLib(string fname) -{ - return fname ~ " = " ~ "cast(typeof(" ~ fname ~ ")) dll.getSymbol(\"" ~ fname ~ "\");"; -} - -//used to mixin code function -string loadFromSharedLib2(S...)(string lib, string className, S fnames) -{ - string res = `static this() -{ - debug - DllLoader dll = DllLoader.load("` ~ lib ~ `-d-2"); - else - DllLoader dll = DllLoader.load("` ~ lib ~ `-2"); - -`; - - foreach(fname; fnames) - { - res ~= "\t" ~ className ~ "_" ~ fname ~ " = " ~ "cast(typeof(" ~ className ~ "_" ~ fname ~ ")) dll.getSymbol(\"" ~ className ~ "_" ~ fname ~ "\");\n"; - } - return res ~ "}\n"; -} - -string loadDerivedFromSharedLib(S...)(string lib, string baseClass, string derivedClass, S fnames) -{ - string res = `static this() -{ - debug - DllLoader dll = DllLoader.load("` ~ lib ~ `-d-2"); - else - DllLoader dll = DllLoader.load("` ~ lib ~ `-2"); - -`; - - foreach(fname; fnames) - { - res ~= "\t" ~ baseClass ~ "_" ~ fname ~ " = " ~ "cast(typeof(" ~ baseClass ~ "_" ~ fname ~ ")) dll.getSymbol(\"" ~ derivedClass ~ "_" ~ fname ~ "\");\n"; - } - return res ~ "}\n"; -} - -/** - * Base class for all DSFML classes. - */ -class DSFMLObject -{ -private: - bool m_preventDelete; - -protected: - SFMLClass m_ptr; - - abstract void dispose(); - -public: - /// get the underlying C pointer - @property final SFMLClass nativePointer() - { - return m_ptr; - } - -public: - - this(SFMLClass ptr, bool preventDelete = false) - { - m_ptr = ptr; - m_preventDelete = preventDelete; - } - - ~this() - { - if (!m_preventDelete) - dispose(); - - m_ptr = m_ptr.init; - } - - - final void setHandled(bool handled) - { - m_preventDelete = handled; - } - - override bool opEquals(Object o) - { - return (m_ptr == (cast(DSFMLObject)o).nativePointer); - } - - protected invariant() - { - assert(m_ptr !is null, "Problem occurs with a null pointer in " ~ this.toString); - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/system/dllloader.d b/bindings/d/import/dsfml/system/dllloader.d deleted file mode 100644 index 9ffbcad8..00000000 --- a/bindings/d/import/dsfml/system/dllloader.d +++ /dev/null @@ -1,238 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.system.dllloader; - -import dsfml.system.stringutil; - -version (Tango) -{ - import tango.io.Console; - import tango.sys.SharedLib; -} -else -{ - import std.stdio; - - version (Windows) - { - import std.c.windows.windows; - import std.windows.syserror; // for error strings - alias HMODULE MODULEHANDLE; - } - else version (linux) - { - import std.c.linux.linux; - alias void* MODULEHANDLE; - - const int RTLD_NOW = 0x00002; - const int RTLD_GLOBAL = 0x00100; - } - else version (darwin) - { - alias void* MODULEHANDLE; - - const int RTLD_NOW = 0x2; - const int RTLD_GLOBAL = 0x8; - - extern (C) - { - void* dlopen(char* file, int mode); - int dlclose(void* handle); - void* dlsym(void* handle, char* name); - char* dlerror(); - } - } -} - -static this() -{ - version (Tango) - { - SharedLib.throwExceptions = false; - } -} - -static ~this() -{ -// DllLoader.closeAll(); -} - -private void report(string msg, string lib, string symb) -{ - string str = "Loading error. Reason : " ~ msg ~ " (library : " ~ lib ~ ", symbol : " ~ symb ~ ")"; - version (Tango) - { - Cerr(str).newline; - } - else - { - stderr.writeln(str); - } -} - - -/** -* Simple Dll loader. -*/ -class DllLoader -{ - static DllLoader load(string library) - { - version (Windows) - { - string libraryName = library ~ ".dll"; - } - else version (linux) - { - string libraryName = "lib" ~ library ~ ".so"; - } - else version (darwin) - { - string libraryName = "lib" ~ library ~ ".dylib"; - } - - if (libraryName in alreadyLoaded) - { - return alreadyLoaded[libraryName]; - } - else - { - DllLoader temp = new DllLoader(libraryName); - alreadyLoaded[libraryName] = temp; - return temp; - } - } - - void* getSymbol(string symbolName) - { - void* symb; - version (Tango) - { - symb = m_lib.getSymbol(toStringz(symbolName)); - } - else - { - version (Windows) - { - symb = GetProcAddress(m_lib, toStringz(symbolName)); - } - else version (linux) - { - symb = dlsym(m_lib, toStringz(symbolName)); - } - else version (darwin) - { - symb = dlsym(m_lib, toStringz(symbolName)); - } - } - - if (symb is null) - debug report( "Symbol cannot be found in specified library", m_libPath, symbolName); - - return symb; - } - - void close() - { - version (Tango) - { - m_lib.unload(); - } - else - { - version (Windows) - { - FreeLibrary(m_lib); - } - else version (linux) - { - dlclose(m_lib); - } - else version (darwin) - { - dlclose(m_lib); - } - alreadyLoaded.remove(this.m_libPath); - } - } - - static void closeAll() - { - foreach(lib; alreadyLoaded.values) - { - lib.close(); - } - } - -private: - this(string libraryPath) - { - m_libPath = libraryPath; - - version (Tango) - { - m_lib = SharedLib.load(libraryPath); - } - else - { - version (Windows) - { - m_lib = LoadLibraryA(toStringz(libraryPath)); - } - else version (linux) - { - m_lib = dlopen(toStringz(libraryPath), RTLD_NOW | RTLD_GLOBAL); - } - else version (darwin) - { - m_lib = dlopen(toStringz(libraryPath), RTLD_NOW | RTLD_GLOBAL); - if (m_lib is null) - m_lib = dlopen(toStringz("@executable_path/" ~ libraryPath), RTLD_NOW | RTLD_GLOBAL); - } - } - if (m_lib is null) - { - debug report("Cannot open library", m_libPath, null); - version (Windows) - { - debug report("Windows error message: " ~ sysErrorString(GetLastError()), m_libPath, null); - } - } - } - - version (Tango) - { - SharedLib m_lib; - } - else - { - MODULEHANDLE m_lib; - } - - static DllLoader[string] alreadyLoaded; - string m_libPath; -} diff --git a/bindings/d/import/dsfml/system/exception.d b/bindings/d/import/dsfml/system/exception.d deleted file mode 100644 index e996360c..00000000 --- a/bindings/d/import/dsfml/system/exception.d +++ /dev/null @@ -1,43 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.system.exception; - -class LoadingException : Exception -{ - this(string msg) - { - super(msg); - } -} - -class NullParameterException : Exception -{ - this(string msg) - { - super(msg); - } -} diff --git a/bindings/d/import/dsfml/system/linkedlist.d b/bindings/d/import/dsfml/system/linkedlist.d deleted file mode 100644 index 815e3783..00000000 --- a/bindings/d/import/dsfml/system/linkedlist.d +++ /dev/null @@ -1,103 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.system.linkedlist; - -/* -* Trivial implementation of Queue linked list (for internal use) -*/ -class LinkedList(T) -{ - Node!(T) head; - Node!(T) tail; - private size_t m_count; - - void enqueue(T object) - { - if (empty) - head = tail = new Node!(T)(object); - else - { - tail.Next = new Node!(T)(object); - tail = tail.Next; - } - m_count++; - } - - T dequeue() - { - T o; - if (empty) - o = T.init; - else - { - o = head.Data; - head = head.Next; - m_count--; - } - return o; - } - - bool empty() - { - return (head is null); - } - - size_t getCount() - { - return m_count; - } - - void clear() - { - T data; - while ((data = dequeue()) !is T.init) {} - } - - int opApply(int delegate(ref T) dg) - { - T data; - int result; - while ((data = dequeue) !is T.init) - { - if ((result = dg(data)) != 0) - break; - } - return result; - } -} - -private class Node(T) -{ - Node Next; - T Data; - - this(T data) - { - Data = data; - } -} - diff --git a/bindings/d/import/dsfml/system/lock.d b/bindings/d/import/dsfml/system/lock.d deleted file mode 100644 index 6c1e96f5..00000000 --- a/bindings/d/import/dsfml/system/lock.d +++ /dev/null @@ -1,66 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.system.lock; - -import core.sync.mutex; - -/** -* Encapsulation of an critical section. Unlocking is guaranteed when the Lock goes out of scope, even on exception. -* -* Remarks: -* Lock is a scope class, you need to mark Lock object as scope : -* -* ----------------- -* Mutex m = new Mutex; -* //.. -* { -* scope Lock l = new Lock(m); -* // Critical section -* } // End of critical (Destructor called and mutex unlocked) -* //.. -* -* ----------------- -*/ -scope class Lock -{ - /** - * Construct the lock and lock the mutex - */ - this(Mutex m) - { - m_mutex = m; - m_mutex.lock(); - } - - ~this() - { - m_mutex.unlock(); - } - -private: - Mutex m_mutex; -} diff --git a/bindings/d/import/dsfml/system/stringutil.d b/bindings/d/import/dsfml/system/stringutil.d deleted file mode 100644 index d3ff28c9..00000000 --- a/bindings/d/import/dsfml/system/stringutil.d +++ /dev/null @@ -1,82 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.system.stringutil; - -import std.traits; // for Unqual - -/* -version (Tango) -{ - public import tango.stdc.stringz; -} -else -{ - public import std.string; -} -*/ - - - T* toStringz(T)(T[] str) - { - if (str is null) - return null; - else if (str.length && str[$ - 1] is T.init) - return str.ptr; - - auto ret = new Unqual!(T)[str.length + 1]; - - ret[0 .. str.length] = str[0 .. $]; - ret[str.length] = 0; - - return cast(T*) ret.ptr; - } - - - size_t stringLength(T)(T* p) - { - if (p is null || *p == T.init) - return 0; - - size_t length; - - while (*(p + length)) - { - length++; - } - - return length; - } - - T[] fromStringz(T)(T* ptr) - { - auto ret = new Unqual!(T)[stringLength(ptr)]; - ret[0..$] = ptr[0..ret.length]; - - return cast(T[]) ret; - } - - \ No newline at end of file diff --git a/bindings/d/import/dsfml/system/vector.d b/bindings/d/import/dsfml/system/vector.d deleted file mode 100644 index 123a3d8c..00000000 --- a/bindings/d/import/dsfml/system/vector.d +++ /dev/null @@ -1,470 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ -module dsfml.system.vector; - -import std.conv; -import std.math; -import std.traits : isFloatingPoint; - -import std.typetuple; - -/** - * generic fixed-size Vector struct - * - * Params: - * T = element type - * dim = vector dimension - */ -struct Vector(T, uint dim) -{ - static assert (dim >= 2 && dim <= 4); - - // vectors of 3 floats are extended to 4 to make it possible to use SSE optimizations - private const realdim = (is(T == float) && dim == 3 && sseAvailable) ? 4 : dim; - // vectors of (3)4 floats or 2 doubles will use SSE - private const bool useSSE = (is(T == float) && realdim == 4 /* || is(T == double) && dim == 2 */ ) && sseAvailable; - - private alias LengthReturnType!(T) LengthType; // the type returned by length - union - { - /// normal struct element access - struct - { - static if (dim >= 1) T x; - static if (dim >= 2) T y; - static if (dim >= 3) T z; - static if (dim >= 4) T w; - } - - struct - { - static if (dim >= 1) T r; - static if (dim >= 2) T g; - static if (dim >= 3) T b; - static if (dim >= 4) T a; - } - - // only the array has the hidden 4th value in case of vec3f - // this is to be able to foreach over tuple without computing w unnecessarily - T[realdim] cell; /// array access - Repeat!(T, dim) tuple; /// for tuple access - } - - // zero vectors - static if (2 == dim) const static Vector zero = Vector(0, 0); - static if (3 == dim) const static Vector zero = Vector(0, 0, 0); - static if (4 == dim) const static Vector zero = Vector(0, 0, 0, 0); - - static if (2 == dim) const static Vector one = Vector(1, 1); - static if (3 == dim) const static Vector one = Vector(1, 1, 1); - static if (4 == dim) const static Vector one = Vector(1, 1, 1, 1); - - static if (2 == dim) const static Vector unitX = Vector(1, 0); - static if (3 == dim) const static Vector unitX = Vector(1, 0, 0); - static if (4 == dim) const static Vector unitX = Vector(1, 0, 0, 0); - - static if (2 == dim) const static Vector unitY = Vector(0, 1); - static if (3 == dim) const static Vector unitY = Vector(0, 1, 0); - static if (4 == dim) const static Vector unitY = Vector(0, 1, 0, 0); - - static if (3 == dim) const static Vector unitZ = Vector(0, 0, 1); - static if (4 == dim) const static Vector unitZ = Vector(0, 0, 1, 0); - - static if (4 == dim) const static Vector unitW = Vector(0, 0, 0, 1); - - - /// ensure that no component is a NaN - invariant() - { - assert(isValid()); - } - - // checks if the elements aren't NaNs - private bool isValid() const - { - static if (dim >= 1) if (isNaN(x)) return false; - static if (dim >= 2) if (isNaN(y)) return false; - static if (dim >= 3) if (isNaN(z)) return false; - static if (dim >= 4) if (isNaN(w)) return false; - return true; - } - - /************************************************************************************ - * Operator overloading - ***********************************************************************************/ - - /// negate the vector - Vector opUnary(string op : "-")() const - { - static if (dim == 2) return Vector(-x, -y); - else static if (dim == 3) return Vector(-x, -y, -z); - else static if (dim == 4) return Vector(-x, -y, -z, -w); - } - - /// dot product - T opBinary(string op : "*")(typeof(this) v) const - if (is(typeof(T+T)) && is(typeof(T*T))) - { - static if (dim == 2) return x*v.x + y*v.y; - else static if (dim == 3) return x*v.x + y*v.y + z*v.z; - else static if (dim == 4) return x*v.x + y*v.y + z*v.z + w*v.w; - } - - /// element-wise operations, +, -, - Vector opBinary(string op, U:typeof(this))(U v) const - // check if the operation is supported on the type T - if (op != "*" && (op == "+" && is(typeof(T+T)) || op == "-" && is(typeof(T-T)) || op == "*" && is(typeof(T*T)) - || op == "/" && is(typeof(T/T)) || op == "%" && is(typeof(T%T)))) - { - Vector res = void; - foreach (i, x; tuple) - mixin("res.tuple[i] = tuple[i] " ~ op ~ " v.tuple[i];"); - return res; - } - - /// operations with a scalar - Vector opBinary(string op, U)(U s) const - { - Vector res = void; - foreach(i, x; tuple) - mixin("res.tuple[i] = tuple[i] " ~ op ~ " s;"); - return res; - } - - /// element-wise assign operations, +=, -=, ... - Vector opOpAssign(string op, U:Vector)(U v) - { - foreach (i, _; tuple) - mixin("tuple[i] " ~ op ~ "= v.tuple[i];"); - - return this; - } - - /// (*=) overload - Vector opOpAssign(string op, U)(U s) - if (!is(U:typeof(this))) // TODO: there's some dmd bug about this - { - foreach (i, _; tuple) - mixin("tuple[i] " ~ op ~ "= s;"); - - return this; - } - - /// return length*length - @property LengthType sqLength() - { - static if (2 == dim) return (x * x + y * y); - else static if (3 == dim) return (x * x + y * y + z * z); - else static if (4 == dim) return (x * x + y * y + z * z + w * w); - else static assert (false); - } - - /// return the vector length - @property LengthType length() - { - static if (useSSE) - { - static if (is(t == float) && dim == 3) // make sure that w is 0 - assert(w == 0); - - float res; - auto p = cell.ptr; - asm - { -// movups XMM0, &cell; - mov EAX, p; - movups XMM0, [EAX]; - mulps XMM0, XMM0; // v0 = vec(x*x, y*y, z*z, w*w) - movaps XMM1, XMM0; // v1 = v0 - shufps XMM0, XMM1, 0x4e; // v0 = vec(z*z, w*w, x*x, y*y) - addps XMM0, XMM1; // v0 = vec(x*x + z*z, y*y + w*w, z*z + x*x, w*w + y*y) - movaps XMM1, XMM0; // v1 = v0 - shufps XMM1, XMM1, 0x11; // v1 = vec(w*w + y*y, z*z + x*x, w*w + y*y, z*z + x*x) - addps XMM0, XMM1; // v0 = |vec|^2 at all 4 positions - rsqrtss XMM0, XMM0; // v0 = 1/sqrt(v0) - rcpss XMM0, XMM0; // v= = 1/v0 - movss res, XMM0; - } - return res; - } - else - { - // compute squared length - auto ret = sqLength(); - - // compute sqrt - version(useFastSqrt) - { - static if (is(T == float)) - return fastSqrt(ret); - } - return sqrt(ret); - } - } - - void normalize() - { - static if (useSSE) - { - static if (is(t == float) && dim == 3) // make sure that w is 0 - assert (w == 0, "vector component w isn't 0!"); - - auto p = cell.ptr; - asm - { - mov EAX, p; - movups XMM0, [EAX]; - movaps XMM2, XMM0; // save it for later - - mulps XMM0, XMM0; // v0 = vec(x*x, y*y, z*z, w*w) - movaps XMM1, XMM0; // v1 = v0 - shufps XMM0, XMM1, 0x4e; // v0 = vec(z*z, w*w, x*x, y*y) - addps XMM0, XMM1; // v0 = vec(x*x + z*z, y*y + w*w, z*z + x*x, w*w + y*y) - movaps XMM1, XMM0; // v1 = v0 - shufps XMM1, XMM1, 0x11; // v1 = vec(w*w + y*y, z*z + x*x, w*w + y*y, z*z + x*x) - addps XMM0, XMM1; // v0 = |vec|^2 at all 4 positions - rsqrtps XMM0, XMM0; // v0 = 1/sqrt(v0) - mulps XMM2, XMM0; // v2 = vec * v0 - - movups [EAX], XMM0; - } - } - else - { - auto len = length(); - foreach(i, _; tuple) // bug 2411 workaround, foreach ref on tuples doesn't work - tuple[i] /= len; - } - } - - /// return normalized version of this vector - Vector normalized() - { - Vector res = this; - res.normalize(); - return res; - } - - /// - string toString() - { - string res = "["; - - res ~= to!(string)(x); - static if (dim >= 2) res ~= ", " ~ to!(string)(y); - static if (dim >= 3) res ~= ", " ~ to!(string)(z); - static if (dim >= 4) res ~= ", " ~ to!(string)(w); - - return res ~ "]"; - } - - static if (is(T == float)) - { - /// do a quick normalize using fast approximate inverse sqrt - void quickNormalize() - { - T inv = invSqrt(sqLength); - this *= inv; - } - - /// return a normalized version of this vector - Vector quickNormalized() - { - auto res = this; - res.quickNormalize(); - return res; - } - } - - /// return a pointer to the vector data - @property T* ptr() - { - return &x; - } - - /// calculate distance to other vector - LengthType distance(Vector other) - { - assert (isValid); - assert (other.isValid); - other -= this; // doable cause other is a struct not ref - return other.length; - } - - /// - bool opEquals(ref const Vector v) const - { - assert (isValid); - assert (v.isValid); - - static if (dim >= 1) if (x != v.x) return false; - static if (dim >= 2) if (y != v.y) return false; - static if (dim >= 3) if (z != v.z) return false; - static if (dim >= 4) if (w != v.w) return false; - return true; - } - - /// swizzling - @property Vector!(T,n.length) opDispatch(string n)() const - if (allCharsValid(n,"xyzw"[0..dim])) - { - static if (n.length == 2) return - Vector!(T,n.length)(cell[n[0]-'x'], cell[n[1]-'x']); - static if (n.length == 3) return - Vector!(T,n.length)(cell[n[0]-'x'], cell[n[1]-'x'], cell[n[2]-'x']); - static if (n.length == 4) return - Vector!(T,n.length)(cell[n[0]-'x'], cell[n[1]-'x'], cell[n[2]-'x'], cell[n[3]-'x']); - } - - // helper function - static private bool allCharsValid( string s, string valid ) - { - foreach ( e1; s ) - { - bool b = false; - foreach (e2; valid) - b |= e1 == e2; - if (!b) - return false; - } - return true; - } - - /// - bool isUnit() - { - real sql = cast(real)sqLength(); - return abs(sql - 1.0) < 0.001; - } - -} - -/******* useful alias declarations *******/ - -alias Vector!(float, 2) Vector2f; /// -alias Vector!(float, 3) Vector3f; /// -alias Vector!(float, 4) Vector4f; /// - -alias Vector!(double, 2) Vector2d; /// -alias Vector!(double, 3) Vector3d; /// -alias Vector!(double, 4) Vector4d; /// - -alias Vector!(int, 2) Vector2i; /// -alias Vector!(int, 3) Vector3i; /// -alias Vector!(int, 4) Vector4i; /// - -alias Vector!(uint, 2) Vector2ui; /// -alias Vector!(uint, 3) Vector3ui; /// -alias Vector!(uint, 4) Vector4ui; /// - -alias Vector!(ushort, 2) Vector2us; /// -alias Vector!(ushort, 3) Vector3us; /// -alias Vector!(ushort, 4) Vector4us; /// - -alias Vector!(ubyte, 2) Vector2ub; /// -alias Vector!(ubyte, 3) Vector3ub; /// -alias Vector!(ubyte, 4) Vector4ub; /// - - -// TODO: do all kinds of unittesting -import std.stdio; -unittest -{ - writeln("unittests running"); - Vector3f v = {1.5f, 1.f, 0.5f}; - Vector3f w = {-1.f, 2.f, -0.5f}; - - writefln("v: %f w: %f", v.length - sqrt(3.5f), w.length - sqrt(5.25f)); - // strangely calculating w.length is much less accurate - assert(v.length - sqrt(3.5f) < 0.001, sseAvailable ? "SSE length calculation failed" : "normal length calculation failed"); - assert(w.length - sqrt(5.25f) < 0.001, sseAvailable ? "SSE length calculation failed" : "normal length calculation failed"); - - assert(v+w == Vector3f(0.5f, 3.f, 0.f)); - assert(v-w == Vector3f(2.5f, -1.f, 1.f)); - - auto r = v.xy; - writeln(r); -} - -/** - * compute 1/sqrt(x) - * assumes x > 0 - * - * Copyright (C) 2002-2006 Chris Lomont - * explanation on www.lomont.org - */ -float invSqrt(float x) -{ - assert(x > 0); - - float xhalf = 0.5f * x; - int i = *cast(int*)&x; // get bits for floating value - i = 0x5f375a86 - (i >> 1); // gives initial guess y0 with magic number - x = *cast(float*)&i; // convert bits back to float - x = x*(1.5f - xhalf * x * x); // Newton step, repeating increases accuracy - return x; -} - - -/** - * compute sqrt(x) - * assumes x >= 0 - */ -float fastSqrt(float x) -{ - assert(x >= 0); - - int i = *cast(int*) &x; - if (0 == ((i >> 23)&255)) - return 0; // close - return x * invSqrt(x); -} - -// get the correct return type for the length function -private template LengthReturnType(T) -{ - static if (is(T == float) || is(T == double) || is(T == real)) - alias T LengthReturnType; - else - alias float LengthReturnType; -} - -/// repeat a type count times -template Repeat(T, int count) -{ - static if (!count) - alias TypeTuple!() Repeat; - else - alias TypeTuple!(T, Repeat!(T, count-1)) Repeat; -} - -// determine SSE usability -// TODO: make more sophisticated -version(X86) - version(D_InlineAsm_X86) - const bool sseAvailable = is(typeof({void* foo; asm { mov EAX, foo; movups XMM0, [EAX]; } })); -version(X86_64) - version(D_InlineAsm_X86_64) - const bool sseAvailable = false; // TODO: add this \ No newline at end of file diff --git a/bindings/d/import/dsfml/window/all.d b/bindings/d/import/dsfml/window/all.d deleted file mode 100644 index e6d809b6..00000000 --- a/bindings/d/import/dsfml/window/all.d +++ /dev/null @@ -1,34 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.window.all; - -public import - dsfml.window.event, - dsfml.window.input, - dsfml.window.videomode, - dsfml.window.window, - dsfml.window.windowhandle; diff --git a/bindings/d/import/dsfml/window/context.d b/bindings/d/import/dsfml/window/context.d deleted file mode 100644 index 40c09dde..00000000 --- a/bindings/d/import/dsfml/window/context.d +++ /dev/null @@ -1,68 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.window.context; - -import dsfml.system.common; - -/** - * - */ -class Context : DSFMLObject -{ - /** - * - */ - this() - { - super(sfContext_Create()); - } - - override void dispose() - { - sfContext_Destroy(m_ptr); - } - - /** - * - * Params: - * active = - */ - void setActive(bool active) - { - sfContext_SetActive(m_ptr, active); - } - -private: - static extern(C) - { - SFMLClass function() sfContext_Create; - void function(SFMLClass) sfContext_Destroy; - void function(SFMLClass, bool) sfContext_SetActive; - } - - mixin(loadFromSharedLib2("csfml-window", "sfContext", - "Create", "Destroy", "SetActive")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/window/event.d b/bindings/d/import/dsfml/window/event.d deleted file mode 100644 index e878ecf0..00000000 --- a/bindings/d/import/dsfml/window/event.d +++ /dev/null @@ -1,326 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.window.event; - -/** -* Definition of key codes for keyboard events -* -* $(B Possibles values:)$(BR) -* Except letters and numbers, you can use :$(BR) -* * LCONTROL, LSHIFT, LALT, LSYSTEM, RCONTROL, RSHIFT, RALT, RSYSTEM.$(BR) -* * LBRACKET, RBRACKET, SEMICOLON, COMMA, PERIOD, QUOTE, SLASH, BACKSLASH, TILDE, EQUAL, DASH.$(BR) -* * SPACE, RETURN, BACK, TAB, PAGEUP, PAGEDOWN, END, HOME, INSERT, DELETE.$(BR) -* * ADD, SUBTRACT, MULTIPLY, DIVIDE, LEFT, RIGHT, UP, DOWN.$(BR) -* * Numpad0, Numpad1, Numpad2, Numpad3, Numpad4, Numpad5, Numpad6, Numpad7, Numpad8, Numpad9.$(BR) -* * F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15.$(BR) -*/ -enum KeyCode -{ - A = 'a', - B = 'b', - C = 'c', - D = 'd', - E = 'e', - F = 'f', - G = 'g', - H = 'h', - I = 'i', - J = 'j', - K = 'k', - L = 'l', - M = 'm', - N = 'n', - O = 'o', - P = 'p', - Q = 'q', - R = 'r', - S = 's', - T = 't', - U = 'u', - V = 'v', - W = 'w', - X = 'x', - Y = 'y', - Z = 'z', - Num0 = '0', - Num1 = '1', - Num2 = '2', - Num3 = '3', - Num4 = '4', - Num5 = '5', - Num6 = '6', - Num7 = '7', - Num8 = '8', - Num9 = '9', - Escape = 256, - LControl, - LShift, - LAlt, - LSystem, - RControl, - RShist, - RAlt, - RSystem, - Menu, - LBracket, - RBracket, - Semicolon, - Comma, - Period, - Quote, - Slash, - Backslash, - Tilde, - Equal, - Dash, - Space, - Return, - Back, - Tab, - PageUp, - PageDown, - End, - Home, - Insert, - Delete, - Add, - Subtract, - Multiply, - Divide, - Left, - Right, - Up, - Down, - Numpad0, - Numpad1, - Numpad2, - Numpad3, - Numpad4, - Numpad5, - Numpad6, - Numpad7, - Numpad8, - Numpad9, - F1, - F2, - F3, - F4, - F5, - F6, - F7, - F8, - F9, - F10, - F11, - F12, - F13, - F14, - F15, - Pause, -} - - -/** -* Definition of button codes for mouse events -*/ -enum MouseButtons -{ - Left, /// - Right, /// - Middle, /// - XButton1, /// - XButton2 /// -} - - - -/** -* Definition of joystick axis for joystick events -*/ -enum JoyAxis -{ - AxisX, /// - AxisY, /// - AxisZ, /// - AxisR, /// - AxisU, /// - AxisV, /// - AxisPOV /// -} - - -/// EventType -enum EventType -{ - Closed, - Resized, - LostFocus, - GainedFocus, - TextEntered, - KeyPressed, - KeyReleased, - MouseWheelMoved, - MouseButtonPressed, - MouseButtonReleased, - MouseMoved, - MouseEntered, - MouseLeft, - JoyButtonPressed, - JoyButtonReleased, - JoyMoved - -} - -/** -* Event defines a system event and its parameters -*/ -align(1) struct Event -{ - /** - * Enumeration of the different types of events. Accessing a value of another event that the one received (e.g. Event.Size.Width when receiving an KEYPRESSED event) will result in undefined behavior. - * $(UL - * $(LI CLOSED) - * $(LI LOSTFOCUS) - * $(LI GAINEDFOCUS) - * $(LI RESIZED - * $(UL - * $(LI Event.Size.Width : new Width, in pixels.) - * $(LI Event.Size.Height : new height, in pixels.) - * ) - * ) - * $(LI TEXTENTERED - * $(UL - * $(LI Event.Text.Unicode : dchar entered.) - * ) - * ) - * $(LI KEYPRESSED, KEYRELEASED - * $(UL - * $(LI Event.Key.Code : Key code of the key.) - * $(LI Event.Key.Alt : Alt pressed ?) - * $(LI Event.Key.Control : Control pressed ?) - * $(LI Event.Key.Shift : Shift pressed ?) - * ) - * ) - * $(LI MOUSEWHEELMOVED - * $(UL - * $(LI Event.MouseWheel.Delta : Wheel move (positive if forward, negative else.) ) - * ) - * ) - * $(LI MOUSEBUTTONPRESSED, MOUSEBUTTONRELEASED - * $(UL - * $(LI Event.MouseButton.Button : Mouse button pressed.) - * $(LI Event.MouseButton.X : Cursor X position.) - * $(LI Event.MouseButton.Y : Cursor X position.) - * ) - * ) - * $(LI MOUSEMOVED - * $(UL - * $(LI Event.MouseMove.X : Cursor X position. Local coordinates.) - * $(LI Event.MouseMove.Y : Cursor Y position. Local coordinates.) - * ) - * ) - * $(LI MOUSEENTERED) - * $(LI MOUSELEFT) - * $(LI JOYBUTTONPRESSED, JOYBUTTONRELEASED - * $(UL - * $(LI Event.JoyButton.JoystickId : Id of the joystick.) - * $(LI Event.JoyButton.Button : Joystick button pressed.) - * ) - * ) - * $(LI JOYMOVED - * $(UL - * $(LI Event.JoyMove.JoystickId : Id of the joystick.) - * $(LI Event.JoyMove.Axis : Moved axis.) - * $(LI Event.JoyMove.Position : Actual position of the axis [-100, 100], except for POV [0, 360].) - * ) - * ) - * ) - */ - EventType Type; - - union - { - struct SText - { - dchar Unicode; - } - SText Text; - - struct SKey - { - align(4): // cause bool is size 1 - KeyCode Code; - bool Alt; - bool Control; - bool Shift; - } - SKey Key; - - struct SMouseMove - { - int X; - int Y; - } - SMouseMove MouseMove; - - struct SMouseButton - { - MouseButtons Button; - int X; - int Y; - } - SMouseButton MouseButton; - - struct SMouseWheel - { - int Delta; - } - SMouseWheel MouseWheel; - - struct SJoyMove - { - uint JoystickId; - JoyAxis Axis; - float Position; - } - SJoyMove JoyMove; - - struct SJoyButton - { - uint JoystickId; - uint Button; - } - SJoyButton JoyButton; - - struct SSize - { - uint Width; - uint Height; - } - SSize Size; - } -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/window/input.d b/bindings/d/import/dsfml/window/input.d deleted file mode 100644 index 00abf966..00000000 --- a/bindings/d/import/dsfml/window/input.d +++ /dev/null @@ -1,152 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.window.input; - -import dsfml.system.common; - -import dsfml.window.event; - -/** - * Input handles real-time input from keyboard and mouse. - * Use it instead of events to handle continuous moves and more - * game-friendly inputs - */ -class Input : DSFMLObject -{ -public: // TODO: try to fix this, doesn't work with package - this(SFMLClass input) - { - super(input, true); - } - - override void dispose() - { - // nothing to do - } - -public: - /** - * Get the state of a key - * - * Params: - * key = Key to check - * - * Returns: - * True if key is down, false if key is up - */ - bool isKeyDown(KeyCode key) - { - return cast(bool)sfInput_IsKeyDown(m_ptr, key); - } - - /** - * Get the state of a mouse button - * - * Params: - * button = Button to check - * - * Returns: - * True if button is down, false if button is up - */ - bool isMouseButtonDown(MouseButtons button) - { - return cast(bool)sfInput_IsMouseButtonDown(m_ptr, button); - } - - /** - * Get the state of a joystick button - * - * Params: - * joyId = Identifier of the joystick to check (0 or 1) - * button = Button to check - * - * Returns: - * True if button is down, false if button is up - */ - bool isJoystickButtonDown(uint joyId, uint button) - { - return cast(bool)sfInput_IsJoystickButtonDown(m_ptr, joyId, button); - } - - /** - * Get a joystick axis position - * - * Params: - * joyId = Identifier of the joystick to check (0 or 1) - * axis = Axis to get - * - * Returns: - * Current axis position, in the range [-100, 100] (except for POV, which is [0, 360]) - */ - float getJoystickAxis(uint joyId, JoyAxis axis) - { - return sfInput_GetJoystickAxis(m_ptr, joyId, axis); - } - -@property -{ - /** - * Get the mouse X position - * - * Returns: - * Current mouse left position, relative to owner window - */ - int mouseX() - { - return sfInput_GetMouseX(m_ptr); - } - - /** - * Get the mouse Y position - * - * Returns: - * Current mouse top position, relative to owner window - * - */ - int mouseY() - { - return sfInput_GetMouseY(m_ptr); - } -} - -private: - -// External ==================================================================== - - static extern (C) - { - int function(SFMLClass, KeyCode) sfInput_IsKeyDown; - int function(SFMLClass, MouseButtons) sfInput_IsMouseButtonDown; - int function(SFMLClass, uint, uint) sfInput_IsJoystickButtonDown; - int function(SFMLClass) sfInput_GetMouseX; - int function(SFMLClass) sfInput_GetMouseY; - float function(SFMLClass, uint, JoyAxis) sfInput_GetJoystickAxis; - } - - mixin(loadFromSharedLib2("csfml-window", "sfInput", - "IsKeyDown", "IsMouseButtonDown", "IsJoystickButtonDown", "GetMouseX", "GetMouseY", "GetJoystickAxis")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/window/videomode.d b/bindings/d/import/dsfml/window/videomode.d deleted file mode 100644 index 6d3e391a..00000000 --- a/bindings/d/import/dsfml/window/videomode.d +++ /dev/null @@ -1,105 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.window.videomode; - -import dsfml.system.common; - -/** - * VideoMode defines a video mode (width, height, bpp, frequency) - * and provides static functions for getting modes supported - * by the display device - */ -struct VideoMode -{ - uint Width; /// Video mode width, in pixels - uint Height; /// Video mode height, in pixels - uint BitsPerPixel = 32; /// Video mode pixel depth, in bits per pixels - - -@property -{ - /** - * Get the current desktop video mode - * - * Returns: - * Current desktop video mode - */ - static VideoMode getDesktopMode() - { - return sfVideoMode_GetDesktopMode(); - } - - /** - * Get all the supported video modes for fullscreen mode. - * Modes are sorted from best to worst. - * - * Returns: - * video mode array - */ - static VideoMode[] getFullscreenModes() - { - size_t arraySize; - VideoMode* array = sfVideoMode_GetFullscreenModes(&arraySize); // TODO: check pointer? - return array[0 .. arraySize]; - } - - /** - * Tell whether or not the video mode is supported - * - * Returns: - * True if video mode is supported, false otherwise - */ - bool isValid() - { - return cast(bool)sfVideoMode_IsValid(this); - } -} - - /** - * Comparison operator overload -- tell if two video modes are equal - * - * Params: - * Other : Video mode to compare - * - * Returns: - * True if modes are equal - */ - const bool opEquals(ref const(VideoMode) other) - { - return ((other.Width == Width) && (other.Height == Height) && (other.BitsPerPixel == BitsPerPixel)); - } -} - -extern (C) -{ - VideoMode function() sfVideoMode_GetDesktopMode; - VideoMode* function(size_t*) sfVideoMode_GetFullscreenModes; - int function(VideoMode) sfVideoMode_IsValid; -} - -mixin(loadFromSharedLib2("csfml-window", "sfVideoMode", - "GetDesktopMode", "GetFullscreenModes", "IsValid")); \ No newline at end of file diff --git a/bindings/d/import/dsfml/window/window.d b/bindings/d/import/dsfml/window/window.d deleted file mode 100644 index c25fd4d3..00000000 --- a/bindings/d/import/dsfml/window/window.d +++ /dev/null @@ -1,454 +0,0 @@ -/* - * DSFML - SFML Library wrapper for the D programming language. - * Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) - * Copyright (C) 2010 Andreas Hollandt - * - * 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. - */ - -module dsfml.window.window; - -import dsfml.window.event; -import dsfml.window.input; -import dsfml.window.videomode; -import dsfml.window.windowhandle; - -import dsfml.system.common; -import dsfml.system.stringutil; - - -/** - * Window style - */ -enum Style : uint -{ - None = 0, /// No border / title bar (this flag and all others are mutually exclusive) - Titlebar = 1 << 0, /// Title bar + fixed border - Resize = 1 << 1, /// Titlebar + resizable border + maximize button - Close = 1 << 2, /// Titlebar + close button - Fullscreen = 1 << 3, /// Fullscreen mode (this flag and all others are mutually exclusive) - - Default = Titlebar | Resize | Close /// Default window style -} - - -/** - * Structure defining the creation settings of windows - */ -struct ContextSettings -{ - uint DepthBits = 24; /// Bits of the depth buffer - uint StencilBits = 8; /// Bits of the stencil buffer - uint AntialiasingLevel = 0; /// Level of antialiasing - uint MajorVersion = 3; /// Major number of the context version to create - uint MinorVersion = 0; /// Minor number of the context version to create -} - - -/** - * Window is a rendering window ; it can create a new window - * or connect to an existing one - */ -class Window : DSFMLObject -{ -protected: - this(SFMLClass ptr) - { - super(ptr); - } - - Input m_input; - - override void dispose() - { - m_input = null; - sfWindow_Destroy(m_ptr); - } - -public: - /** - * Construct a new window - * - * Params: - * mode = Video mode to use - * title = Title of the window - * windowStyle = Window style (Resize | Close by default) - * settings = Context settings (default is default ContextSettings values) - */ - this(VideoMode mode, string title, Style windowStyle = Style.Default, ContextSettings settings = ContextSettings()) - { - super(sfWindow_Create(mode, toStringz(title), windowStyle, &settings)); - } - - /** - * Construct the window from an existing control - * - * Params: - * handle = Platform-specific handle of the control - * settings = Context settings (default is default ContextSettings values) - */ - this(WindowHandle handle, ContextSettings settings = ContextSettings()) - { - super(sfWindow_CreateFromHandle(handle, &settings)); - } - - /** - * Create (or recreate) the window - * - * Input created with getInput becomes invalid. - * - * Params: - * mode = Video mode to use - * title = Title of the window - * windowStyle = Window style (Resize | Close by default) - * settings = Context settings (default is default ContextSettings values) - */ - void create(VideoMode mode, string title, Style windowStyle = Style.Default, ContextSettings settings = ContextSettings()) - { - if (m_ptr !is null) - dispose(); - - m_ptr = sfWindow_Create(mode, toStringz(title), windowStyle, &settings); - } - - /** - * Create (or recreate) the window from an existing control - * - * Input created with getInput becomes invalid. - * - * Params: - * handle = Platform-specific handle of the control - * settings = Context settings (default is default ContextSettings values) - */ - void create(WindowHandle handle, ContextSettings settings = ContextSettings()) - { - if (m_ptr !is null) - dispose(); - - m_ptr = sfWindow_CreateFromHandle(handle, &settings); - } - - /** - * Close (destroy) the window. - * You can call create to recreate a valid window - */ - void close() - { - sfWindow_Close(m_ptr); - } - - - /** - * Get the event on top of events stack, if any, and pop it - * - * Params: - * eventReceived = Event to fill, if any - * - * Returns: - * True if an event was returned, false if events stack was empty - */ - bool getEvent(out Event eventReceived) - { - return cast(bool) sfWindow_GetEvent(m_ptr, &eventReceived); - } - - /** - * 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. - * - * Params: - * e Event to be returned - * - * Returns: - * false if any error occured - */ - bool waitEvent(out Event e) - { - return sfWindow_WaitEvent(m_ptr, &e); - } - - /** - * Show or hide the window - * - * Params: - * state = True to show, false to hide - * - */ - void show(bool state) - { - sfWindow_Show(m_ptr, state); - } - - /** - * Display the window on screen - */ - void display() - { - sfWindow_Display(m_ptr); - } - - /** - * Enable / disable vertical synchronization - * - * Params: - * enabled : True to enable v-sync, false to deactivate - */ - void enableVerticalSync(bool enabled) - { - sfWindow_EnableVerticalSync(m_ptr, enabled); - } - -@property -{ - /** - * Tell whether or not a window is opened - * - * Returns: - * True if window is currently open. - */ - bool isOpened() - { - return cast(bool) sfWindow_IsOpened(m_ptr); - } - /** - * Get the width of the rendering region of the window - * - * Returns: - * Width in pixels - */ - uint width() - { - return sfWindow_GetWidth(m_ptr); - } - - /** - * Get the height of the rendering region of the window - * - * Returns: - * Height in pixels - */ - uint height() - { - return sfWindow_GetHeight(m_ptr); - } - - /** - * Get the creation settings of a window - * - * Returns: - * Settings used to create the window - */ - ContextSettings settings() - { - return sfWindow_GetSettings(m_ptr); - } - - /** - * Show or hide the mouse cursor - * - * Params: - * show : True to show, false to hide - */ - void showMouseCursor(bool show) - { - sfWindow_ShowMouseCursor(m_ptr, show); - } - - /** - * Enable or disable automatic key-repeat for keydown events. - * Automatic key-repeat is enabled by default. - * - * Params: - * enabled = true to enable, false to disable - */ - void enableKeyRepeat(bool enabled) - { - sfWindow_EnableKeyRepeat(m_ptr, enabled); - } - - /** - * Set the window as the current target for rendering - * - * Params: - * active = True to activate, false to deactivate - * Returns: - * True if operation was successful, false otherwise - */ - bool active(bool active) - { - return cast(bool)sfWindow_SetActive(m_ptr, active); - } - - /** - * Get the input manager of the window - * - * Returns: - * An input manager - * See_Also : - * Input - */ - Input input() - { - if (m_input is null) - m_input = new Input(sfWindow_GetInput(m_ptr)); - return m_input; - } - - /** - * Limit the framerate to a maximum fixed frequency - * - * Params: - * limit : Framerate limit, in frames per seconds (use 0 to disable limit) - */ - void framerateLimit(uint limit) - { - sfWindow_SetFramerateLimit(m_ptr, limit); - } - - /** - * Get the time the last frame took - * - * Returns: - * time in seconds - */ - float frameTime() - { - return sfWindow_GetFrameTime(m_ptr); - } - - /** - * Change the joystick threshold, ie. the value below which - * no move event will be generated - * - * Params: - * threshold : New threshold, in range [0, 100] - */ - void joystickThreshold(float threshold) - { - sfWindow_SetJoystickThreshold(m_ptr, threshold); - } - - /** - * Retrieve the Os-specific handle of a window - * - * Params: - * renderWindow = Renderwindow object - */ - WindowHandle windowHandle() - { - return sfWindow_GetSystemHandle(m_ptr); - } -} - - /** - * Change the position of the mouse cursor - * - * Params: - * left = Left coordinate of the cursor, relative to the window - * top = Top coordinate of the cursor, relative to the window - */ - void setCursorPosition(uint left, uint top) - { - sfWindow_SetCursorPosition(m_ptr, left, top); - } - - /** - * Change the position of the window on screen. - * Only works for top-level windows - * - * Params: - * left = Left position - * top = Top position - */ - void setPosition(int left, int top) - { - sfWindow_SetPosition(m_ptr, left, top); - } - - /** - * change the size of the rendering region of the window - * - * Params: - * width : new width - * height : new height - */ - void setSize(uint width, uint height) - { - sfWindow_SetSize(m_ptr, width, height); - } - - /** - * Change the window's icon - * - * Params: - * width = Icon's width, in pixels - * height = Icon's height, in pixels - * data = array of pixels in memory, format must be RGBA 32 bits - * - */ - void setIcon(size_t width, size_t height, ubyte[] data) - { - sfWindow_SetIcon(m_ptr, width, height, data.ptr); - } - -private: - -// External ==================================================================== - static extern(C) - { - SFMLClass function(VideoMode, cchar*, Style, ContextSettings*)sfWindow_Create; - SFMLClass function(WindowHandle, ContextSettings*) sfWindow_CreateFromHandle; - void function(SFMLClass) sfWindow_Destroy; - void function(SFMLClass) sfWindow_Close; - int function(SFMLClass) sfWindow_IsOpened; - uint function(SFMLClass) sfWindow_GetWidth; - uint function(SFMLClass) sfWindow_GetHeight; - ContextSettings function(SFMLClass Window) sfWindow_GetSettings; - int function(SFMLClass, Event*) sfWindow_GetEvent; - void function(SFMLClass, int) sfWindow_EnableVerticalSync; - void function(SFMLClass, int) sfWindow_ShowMouseCursor; - void function(SFMLClass, uint, uint) sfWindow_SetCursorPosition; - void function(SFMLClass, int, int) sfWindow_SetPosition; - void function(SFMLClass, uint, uint) sfWindow_SetSize; - void function(SFMLClass, int) sfWindow_Show; - void function(SFMLClass, int) sfWindow_EnableKeyRepeat; - void function(SFMLClass, size_t, size_t, ubyte*) sfWindow_SetIcon; - int function(SFMLClass, int) sfWindow_SetActive; - void function(SFMLClass) sfWindow_Display; - SFMLClass function(SFMLClass) sfWindow_GetInput; - void function(SFMLClass, uint) sfWindow_SetFramerateLimit; - float function(SFMLClass) sfWindow_GetFrameTime; - void function(SFMLClass, float) sfWindow_SetJoystickThreshold; - - // DSFML2 - bool function(SFMLClass, void*) sfWindow_WaitEvent; - WindowHandle function(SFMLClass) sfWindow_GetSystemHandle; - } - - mixin(loadFromSharedLib2("csfml-window", "sfWindow", - "Create", "CreateFromHandle", "Destroy", "Close", "IsOpened", "GetWidth", "GetHeight", "GetSettings", "GetEvent", "EnableVerticalSync", - "ShowMouseCursor", "SetCursorPosition", "SetPosition", "SetSize", "Show", "EnableKeyRepeat", "SetIcon", "SetActive", "Display", - "GetInput", "SetFramerateLimit", "GetFrameTime", "SetJoystickThreshold", "WaitEvent", "GetSystemHandle")); -} \ No newline at end of file diff --git a/bindings/d/import/dsfml/window/windowhandle.d b/bindings/d/import/dsfml/window/windowhandle.d deleted file mode 100644 index 19d30fd8..00000000 --- a/bindings/d/import/dsfml/window/windowhandle.d +++ /dev/null @@ -1,47 +0,0 @@ -/* -* DSFML - SFML Library wrapper for the D programming language. -* Copyright (C) 2008 Julien Dagorn (sirjulio13@gmail.com) -* Copyright (C) 2010 Andreas Hollandt -* -* 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. -*/ - -module dsfml.window.windowhandle; - -/** -* Define a low-level window handle type, specific to -* each platform -*/ -version(Windows) -{ - // Windows defines a void* handle (HWND) - typedef void* WindowHandle; -} -else version(linux) -{ - // Unix - X11 defines an unsigned integer handle (Window) - typedef ulong WindowHandle; -} -else version(darwin) -{ - // Mac OS X defines a void* handle (NSWindow) - typedef void* WindowHandle; -} \ No newline at end of file diff --git a/bindings/d/import/dsss.conf b/bindings/d/import/dsss.conf deleted file mode 100644 index e9ea3a76..00000000 --- a/bindings/d/import/dsss.conf +++ /dev/null @@ -1,46 +0,0 @@ -name=dsfml - -[dsfml/audio] -type = library -target = dsfml-audio -version (Windows){ - postbuild += copy "dsfml-audio.lib" "../lib/dsfml-audio.lib" -} else version (linux){ - postbuild += cp -f "libdsfml-audio.a" "../lib/libdsfml-audio.a" -} - -[dsfml/network] -type = library -target = dsfml-network -version (Windows){ - postbuild += copy "dsfml-network.lib" "../lib/dsfml-network.lib" -} else version (linux){ - postbuild += cp -f "libdsfml-network.a" "../lib/libdsfml-network.a" -} - -[dsfml/graphics] -type = library -target = dsfml-graphics -version (Windows){ - postbuild += copy "dsfml-graphics.lib" "../lib/dsfml-graphics.lib" -} else version (linux){ - postbuild += cp -f "libdsfml-graphics.a" "../lib/libdsfml-graphics.a" -} - -[dsfml/system] -type = library -target = dsfml-system -version (Windows){ - postbuild += copy "dsfml-system.lib" "../lib/dsfml-system.lib" -} else version (linux){ - postbuild += cp -f "libdsfml-system.a" "../lib/libdsfml-system.a" -} - -[dsfml/window] -type = library -target = dsfml-window -version (Windows){ - postbuild += copy "dsfml-window.lib" "../lib/dsfml-window.lib" -} else version (linux){ - postbuild += cp -f "libdsfml-window.a" "../lib/libdsfml-window.a" -} diff --git a/bindings/d/samples/dsfml/bin/Data/background.jpg b/bindings/d/samples/dsfml/bin/Data/background.jpg deleted file mode 100644 index c778e86bda0212b9823e6f0043c5dac1656da11f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157847 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 diff --git a/bindings/d/samples/dsfml/bin/Data/ball.wav b/bindings/d/samples/dsfml/bin/Data/ball.wav deleted file mode 100644 index 8b3cfbadc0de7ce350152aa1ba96b80d5846ff9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15442 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 V>eI!M>_3~2|J6RzE7tn!e*uus=a>Kh diff --git a/bindings/d/samples/dsfml/bin/Data/bluerallyecarleft.bmp b/bindings/d/samples/dsfml/bin/Data/bluerallyecarleft.bmp deleted file mode 100644 index afd8c94ac49fe6282602672deccca0aacfb2403c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27702 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 N6W|H(1pdDe_#f$&no$4% diff --git a/bindings/d/samples/dsfml/bin/Data/bluerallyecarright.bmp b/bindings/d/samples/dsfml/bin/Data/bluerallyecarright.bmp deleted file mode 100644 index 07d839b971d16d17e02ae4426a8f9eb4e58385fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27702 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 G;Qs(qs2K(T diff --git a/bindings/d/samples/dsfml/bin/Data/blur.sfx b/bindings/d/samples/dsfml/bin/Data/blur.sfx deleted file mode 100644 index 04bfec53..00000000 --- a/bindings/d/samples/dsfml/bin/Data/blur.sfx +++ /dev/null @@ -1,16 +0,0 @@ -texture framebuffer -float offset - -effect -{ - vec2 offx = vec2(offset, 0.0); - vec2 offy = vec2(0.0, offset); - - vec4 c0 = framebuffer(_in); - vec4 c1 = framebuffer(_in - offy); - vec4 c2 = framebuffer(_in + offy); - vec4 c3 = framebuffer(_in - offx); - vec4 c4 = framebuffer(_in + offx); - - _out = c0 * 0.2 + c1 * 0.2 + c2 * 0.2 + c3 * 0.2 + c4 * 0.2; -} diff --git a/bindings/d/samples/dsfml/bin/Data/car_idle.wav b/bindings/d/samples/dsfml/bin/Data/car_idle.wav deleted file mode 100644 index 51a55f891137010a62818023994fb9b4b7327d86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59291 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 NOzj}wM$Q#0{tuYio(KQ{ diff --git a/bindings/d/samples/dsfml/bin/Data/cheeseburger.ttf b/bindings/d/samples/dsfml/bin/Data/cheeseburger.ttf deleted file mode 100644 index 47704266ef288293e6590a29d649eccbd85fa0b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42020 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 NV8xiE)h|##|Jjbt96JC2 diff --git a/bindings/d/samples/dsfml/bin/Data/opengl/texture.jpg b/bindings/d/samples/dsfml/bin/Data/opengl/texture.jpg deleted file mode 100644 index 6cf7528eb43f27054b98fd5a4a93bb8c47829b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20550 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 diff --git a/bindings/d/samples/dsfml/bin/Data/paddle.tga b/bindings/d/samples/dsfml/bin/Data/paddle.tga deleted file mode 100644 index 34bd6b84d6f9f378c988733d05c57092e7f1204a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1943 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Μwud>a~Kcrf#-CqX~P?WD%5)2K*`dY%6nUW$5MosP>VssRrD z4thn*vmDBX^}j~?&m8LiQTC4m0@!s+SH?*`KR(y^zrzk zDXzEr=NQ>X>%7x3(BK&--Po9vg;!QcM?I(UQpTlDns|bP*6)xr5qRDN?Z@iGy%RdF+JiH0LSyj=yciD%8$2j zSdAQ(-oPH4WN>o2fxd~b)O|7{IWi@3{!ot%Lp?5MkEMRyg1z(MO? zb@~B^em6g)du5F0nLXkRmsj2sh~u=VAt)(u3zXC$4IHjIq(R>z16w1YdJOM!s^})l zZi;cDRV#qmV;3jUb2KED(EA zAU2in0yPI)ILt;4uu0$(UXaK6(W2Vy_ViRgT_@Av|0$gooxS z9K^#r1a#{BjX&V^1b(;(1L<&gVd-($3ahJjxcA79hFXk;&NI{);?ZX;c8CBmkg(7u zA07>}$1}hBztKdie}i4Qd(8S~Yw?Tur_4Z(r?1_m0rA|ax(i1yq2IF-5)9H)-HvW| zz$-wqc`gzQeHRkZ!7!sZ=hx9~Z(xWoN+0yXeR#2CqVJP(`CTXA0Q!=iJQTfIBz3;$ zQYI?viO~N9Pt5uFW0dwF2^I{}dHG4LgjR7^4KnO?9Kdd#(j< zNJIOgCnUmKx8I5UOr#Kx4sKRNA-L(U1-Mzj=p%xgJqWm|N{#?`;`tw@e`qLw)2trM z?O-$IKF`-s(bg&MT~{mQj3hWFR6T5-V}UeTr14)7dGpEN`CgZ&x^3~v&X3I zC;k(pUDN+0u>20!Bf-ZMpYJpN{BxY@2z&%|fsYnEh=;_-y5aB`Z+((iS15QCJG_mu za-KqtwblJSwo@d zF)!N-IqMA6H^r14MuVJ+x2x>CxNE{ntL3>RcnB9QkuJWNwJHRkP_f}##JvR5n6~=o z=s@ZmU8sN;xrNi0v+>~C!V%O`@~H>4zd%}IC$vBK76f4_iO+Krc@82rfZi1@dkZfQ z4X=*MY2DuF)P@he7?CgGRauW#im)d7{)^V5hUg=s1byn+c zQfG-Lkox~y(W6%XgzSOQ&r=LT@@Mhk+!jej0~FVtUPNb1~Wll>W+c=+zX>kxNN^+xS;m-k;zGwLYvpo(WA z&y30661ZWQ^0zD`{fodf&c@W-%c>X|nWTNns0l{`_eILLt@{@b;H@-c17Q@dlC0-E<5f%a=yf-?z+r0-5Le7T0GO3Z~4{2j#d4au+)EnSojt8R~n9Fk;KQ5^)eIB*BZ9-g*!?0rfZ>can3QJ&2yo-c9X=6 z5hsdIB6~QB5PpTAVSK$zLe9j$4=aohY2Mlh=)s=Lcu~D$;R1cPx6e6y*%$q}iTM&d z(9^I#?0v%y&KrLJZ-axgmq)$ZoJwyWq8DTE*HO<8TqN|jI6X6ok4i|muOBjD#y_yfL ze|_}zI;y;Ht(Vw~hoE4s*Z4&L$5A`$lUc75|2F!1y^hlk&GmYYRCs8l|J?P8*=H<$ zz|>>4y3b=LnIe63CU9qbkh{e*5^_AFMakZZBT$6a>L0_uV{ioGF?T1J5p3JwNB-QJ z+fFrE(&QnQ#D^Vr(3>HCgxYj{;R3FY78F2lcNpQ}4qd75}z^fwd2L*SOy4mFhwSavm<4K$sahsMdtjjmib-xsmzc0 zr&FPx?{_;;jS!zuAr;+i-3PjNbQDqIvf@c7v6}G}w@v8osXo410xaHv9O?-F?3HAw zL+^x+y9s^NY<(ZgrFZEi@A!7N4cLRP+Ow*TS!{Ep`WD;vr)44YCES1)_9FbGq#uV$ zbomzA+Xm9JG)KECH&v9ZY7-Tu@C|pUd&hnhj>q@Hv+y2j^x-Qn?XZ4RlS5jY6sjtk zV7{5^TR4#c7~XADEwvW%R>FLj9d*96$XN4D#eC;ZjGyo(>`0k#_1F_mbrenXElxFO z{1D!VpD_y8#?ROqx1Ddq&v+r;>z+^>n=yYU%-DjJ&3AJAgootAEGwQQtV1+mJV_7c z2IdmPzeapKNe|;mdi8diQ4mj3+LzbW?e6P7p!q2qb_a*$pSXMX+e6(!M3}IG=xrzN z@7~{ym-KFVsXNHwsECt2j5yh$B2Lbgh!c?4kr5|dj5ygd6mil8U)2evdnDpy4V^yl$X+~WDuaCx+N6V-oQ zyou^RA>O3_d;~2t6rd+F-sD_fia&eacX%nm21k!Knd-(sHxAW0Y zyvb~gp??nE&!3BzRJ_Se7w}So4aSH!0W__66X2BRfvO(ajXari8n!y3GpUFP%^>IF{(%nj(V(k z6V;8xn;`IjpM?|Cj5@%;bQN{L;pr;sKn58fb#SzJ6D)Zv7rSK$89rRRiQuQ21(DW_ zHxX1-@g{<*iSZ`mY zv7?1BZxrNEAxVN9V}&FQ#hY-XEiy(k-h`7-@g}lqjuvmiVK#DrO#&YkZz9t;YP<=8 zp1ADla9}g;i7T(-o@C`!+>@+)eB9HBc#}EM<2u|&vv)gGyveI%iW8m!2~+VV`%Amx z?I*N%(*UB?PZoQNrJp>Cd$f1a?j7Hr?niOFLzAF00$)j@rvP+QC2B%#6MNUK*Fmvx z_xfi+)pF>?J1wjC)t2cMrtY0}yP|3P5$fS~>~kWi56WV^v0ItCVOjaBGIwi!#+xLj z+0hXDecbI1V`7o7@p*BtKdtiu{n@%5(P<6d*BuClJ%+-%@4|^V(FEc@ex&*?OvQmF z_=P)#6MPp=;ISW@FGP%Wq1|_(os|H$MJ^`q<{`qpVl_!f?;DEGj*E{N$9nVtU`VSx z+Isv7O@^<>&v1|Hu^xYitq0V3Sp~H$BYbG)dc2B&UfRQBilXOQYb6kg(u?XUo6&XB zu+8n_nX;w|>u+qyGWNbo`L`jKG1VpK50I0N9Dz|H$uP^Hyeu>AcvEH@YQV2Rq{ zP@KNitH+1d^pWjiF8%7^sTf6n^E*~iDTK0~yLM|+HYHrIWN zKdJTk?>~>eK3^Oq9_Ih*`Y^Gj7>1t@-aq4ApF@j2sr4z{Ir{q4jS|oCPhOvxzru=_ z?gfQFRVayK+N;%hNzY0g-X;~u6dzzJgvSanrPx#Kgw-`1yppDtp%5lCYaoALEcEfB zA^Lc{w&qXx7Ww-h_)T$9fO6!)LR=e=JAGhvZ9OSC{Lr74PLD&Ok^(^Ph1r7KE6Pr> zu^`1)h{R%4o-a&AVxf;lSg-)fm!S5AB>Ks|!U?mNgKNda2jvri6gXAFxa$}Nf`Q@-{ACD$apDgRosGcGD z?kMp*6qupfP|aDdq@STko*{q!-3WqBllQEM(9LDZALE9v=zzc~W@3Hc;vHB-_{EV{<^QGVAc z0?~B*i^5alM48YIEyN0M~eU!lt+|xgl-7=fsp?6 zC4?r4hoz_EWKg^nK6hAPkw0xew>2Y+vP?H_#*iBqKHOpU?IC|I1?`>_N_z83`^s;i z6S*W!>FcGg2m>2TEh{aAv#&n7On(v7#6rSYJiRZCpiLHjj}lJ>*vN6*m~|1{&hHr& zJvz1rPHmDYBTPzStB$OH`s}#ePUAC`9dE)mTHsAg{S@Go)P=v0MwEyd|I<23{LlY_^-Grh_qIv0 zl>Li#FYZ6zQTLy$-*Ej0VLO`>!gf4!LB%YqnHk~_32S&F4J`-%jTE=Uk#L8jeJt7DKcPbMvc(JbX-vX9TAFU4MA;*5b!84PoR7?NoYl!PWG zWay#rNid#8LZCX}FW$Z>EKS@VI0>_3h2j@bBgEUxdJ6FW(HLuZ&Ds*EtboPN-l})m zg6j`e^!bu4 zc0sZQyS9hF`^CY*z^QmAp*jd!+LFp%=qRv1viPJMqZ4s4?=m=+uKxZ>HwIicz)h6& z1A2Ivu-w#-OK1>JibK>8r|jL#XHMubF@8bdm9Ce)2iZf%v8oSoR^Ao?mghvHbN~=9 zdr$8}Fpy|n#)6ExU1izEbeFLpUE8>I{h=1Za=pIN^lq=EcN_1SZ=qq{){5OCW#?uM zF0e z7Ay=r4<)^_G*sFy;ajN8@$N+ZMJ%x1q1SL;+N$YzphU);;K8lQZ~w;QSkf^OGww(} zxYg!K**=l)p)0)Q4W46^_3DMW#+{rZ<<*4_Oqu%ILYIF=(K&k2RA^0lkyr!;l?$4}YQH)dXWSI=s89~xT89z(Ia3#V* z_L=3N-*0>WG+k;!i&RGgI8dJ90zCmt{CPx*)iOfTG>yY9N1e-R^T#H}==A1uWQA$Q z%0yh$YK0E0VbY3Vn#x}Z2vWl2O4z~h(Q$@}nwIrrgI%lr19n>n-Xrkr{)M>_h76!S zMBkb9GO>qbV#Oi7bf45sQp-O2C{N}ni+ef9f{}x)gWYAYaex~IRsx1Ofs%g%V^Xge z7rQ!aHPBvB7fNa29{rEq{$*{~oS;}2?6s6!%g z0@~f&7v3XNJ)iL&ad}Sm9?A54H4vOf67VPxD<^m*jx}*m8#*wDzz6n)FUmCWF8aF|Jj~KLupc-F zC(L8;QiVfrGs!L1)yPk`bxkWs(+koozhV@)xM45O1;*Hz$j9;*?D=nv$q2zYS3(~p zbP9WmW<949V8AR@un>cz{ zvbgxnFTCS4;12lce1~4rWs@t$ajLaVqj=x??iP9c?@ z$l%jtTN?;no5W zPb@fIGENdSx&Z6bs~00$cN+*<&S0dI^lZ@G=XH0TftT~J%xg+fEv_NYBNQpAJ zTC4rC>F9ii)%n3KK(BWvRrcWKbGR9H<7)}{rap=H5^e)J*;X}!j!Q?-rVKoqTI#$21vJ{e)9XlqgrdjlDd2|POvmL^uBZHN zT$Bs!)DN1Y@xE)TJQ+X%R)T1^g-^2qUEW7Daali|;2bZWkfQga|BE>m&z4LBL(t3i zVI_^Ud%2AI3vKVGoax@D`MBE}8EQMszLVEgK5@sjn*%}Z|F#%)7n#}W1o(+h(7LNnG)NxPDcA*rzV2b8@6wkZ^mudC?feUmH;Qqk- zQ-t@10ZQ0Up;7b{Kn^4XI<+-aY-2M|s`MZ*+NwY9?$KWoI7KfJdN$L^&C12-1e%9W z^V?I2-~cyP;ifFjH{+OOW2QrY%eZQ)Z7XlL+UEs(?2Z}7CIjwVlad}CLQcCscX1xp zW6<3{t+c;tE#x1tzcgd1Q&k7iHom04MDrWu13An=WGoNxeWp;U6A?^EliO7e<5H*I zt!;cJuhVlHX<(qs#8Zkisu)1H7g9Hy&U6`<=4u;5Aeer;@IsSfKKWE~(%{T=p^6{xN?A%{YdZ)1B<4G@ZD>(^)87q=>Feu$^%B~=d&YX0xDAz;s6SRYwFcWjOH zMSNV`&rh$J61kSYO4!?!$fdY8H%u$O8M7zP0a@xOlwlc#>G{(N)AYjh%C8!QPz;SL zTp&=C9RSrBCkP)v5ib-Xml+8UfJ+7?1x3LsataT?06_XxJQXA^0?#NC=)QA4##HJw zW;+4Z40(W{LZSVHDA)!Z8{zs>h&K#9AO#j)5d!6mPFd11<177_0sSEE?W``}l#*2T zeSDicsxo(po-s2&4NKA(&`B%EFkwS_e>@zk0ql?3)x zyc64Q37Y*r*|uv5u)J#R5*=TP`;KQF?zPxVG^vWM&zrL1&3NhY_kj2I-i#fA-Q;lW07-0hzvn55Q+h^N~ZG!1(o1H1s z^-i*r2-u1JQV?(3)+M@AUCdp+7ep50&MOI31<5~(!+E89s(woFmW7NfU3zJk9wLkF z*Xm~z7x2MlxzV}J+~EXSnqQbe5L&9XWyX|#TNjQ<(0uzb4gx`|e?>;L4^W>1r~|%B zSpcXsRK%T&UjGZk9CJdo8Ck2!6LBibTWa%?tZl`KG1#U{VI0)kwAM>X`@IJ=ysovH zWDJbst?U=I){ILbYquRqL0vw`;l1Q?TMxD+dnV!sr~t0*o(Z_-6*=9Dw%s-F3dvgY zb&!~vch&Bgf@{pHS$4w#w7^X)a^5TsIATxCi9p@dId6D zkoSyU++X#Caghsx1%lX%_nB+&|_}M5h9%3CB4+wiN`Gv9Q;Y`5( zX2ir>OrtcU?{0e+d?Td!?g0@OzG2RHh+piE=NC_+SvF7_-C|$OcsP@D9^x0wpi1Ny zdt&_Jhj=DPRE-OC&?x+3&cjoL(Dfh_9wUX&2&}rf2*|YNGqQSk&_nV&lRGFcRC%is z{nXqS4)O2eK6AhH+uFEa6zn(KXMt6KiO&S}o~qbKt9=&vgnjaK!oH-(_Wa!CUEmIw zO5QV7oAD(Qijp3`6M|S@UZ~0sGK7r`Z3sk6$Qt&$f0h(<$jI3{t<3HGhzJ_mhn1wMLOE zucM;MnCsBnv)={zprlmNm)(`uUYV@7`_oRvZqqg%rq~YZ$TA5FbD!_}3na;kS&}%=nE(WLOqX88Iuy z74O3scWAW@=pj)bq0_7UHm%-^Cpo)RO@OkNq)hlC%UnxuXlUjoB_B*fnLWZ05OeIj zoE>@H6)4uy1HS4{TWfX;@PnGnE#Scd$=SrccR_tw%M3H}ewpXRY1V65I5{yP+HfHh}V-isBdQ<*|k zsJ%woLyCOaesN)_xVJmq8?@)WSpE;tF}O}~;?)Tyee1JdI_0lW^E|6W2kW!U5&GNF z`}c>sCuB6B3N|8rm7C`W0tX^U^aYFGpyH+#%*pj0d;UYK9ykB*56ypnY0rnA|2}j6 za1ZG2J&E&gi=Y3#;-3AOzeCM`&+z&08JfQtsA|qXb6oRB#b&iX&GYdB+?lcqmtmca zJKlp02k7oQjT~hKt!2htrWvqq7nF0&H-S$|(vB@b@|2U;WodN>mz_c0Iuk~&HgWt; zuKMOQx9irNczGE8H)jD`^!q*NHh={hY~nu&CSZud4*f6sv$QP2WFa=1G>`(&KYRF& z$7oJvAT2f#b`}j8!jM(D}@Cp+OSLKlmB_stgjxr6|G-1MhZQXnkZ3#;oi|jwYE;1Lq^fP(&dC@!CgL zPD2YmfoZe*e@FKnGt)7DDG$|ZOWEIX+2~t}S+=BI?P$A_foL{*9SMh9PafVR= z&SC4GHrEBFQT_|z65wcQS%VAh_)_`W2GaY1;q+eUCqNY2PjZ5krC6Bs1Y#U1{SMFk zczj^~u;<%I2`(C)^1nAK<=+vTzeNTzl$GpYjLdHWng2cN561R;-1tU}tdt`IrITtq z3H2a^zAxA6S7OO5`o1hi-~V0FcOm6dM2`n4Z-}3t){3<1t#*)gYV8Fe=l_Ut19G?U zsfiQRyHNp;G`=`3FXRDFCiMc)O$E>uy<3s^o49A>Ve~-!_lD+smaIn)acvks3qftc zd=F~1EqDlYh@(C4EzvMKMgcsRRw+x(R+c% z*N0eJTs&O2dtc}nmFbcQme*on2@x!IGRdL1g9NZ>waT5>0|CKe0OWo?a)2ySz;6RO z3QpXoicd!OaKDZRK6{LcJ*0*S@G&Vr;e*`hPZB;a#IGOHiuc9f19d-!Hbd~)L-_QP zg?tqFOc@(KEEzz0!}u3(-y8!rijr_gp^z(BESzxAm?jKZu9J-m9mf1j5EzgL%H=}# z?BO$iG0bWKLIZPs*qBc9gj3%h6ZApd@eT|^eA}3w#c7=fHPe`FkIDK|Fz@XNKrERPT06DOE23Aqr&Hxc;8K3!jlnjJb?{IBfO!l=>~6tik+&hc}_Ui zPD7e9Xmx%{+bcNTVhPOGTI(*nG6C<+B{Oj0OSE8gqK~)MH7?{B;I7wN-EYuH!)a)( z?HqNunB!q_hp;g}%gE1!i2+6qxXY-0BPRk~&X;ltT}$-o43V9LI~OCe)-j29QgP>4 z-Z{p+!%*4dc*EI9H?GwVkyl}($ZmWGj4!X#pLTxq%Q1No_KS=h?C1j8TkNQC07A2{ z5Zd0t!o1=h*uxPwnR~w2cJ@VY6@A>5bguN8oV``R$WU!{&n+v?!{WKgMw@ zWH;C_I%vcAI}Or7@1U*ngyGhUF6lkvX1_B@YlXc4lQ7aA%;zXz|J}G1Cstq)HLd@`>Rsu!nLcWi91qcdQg zx%P~kPUTWhXoQ2;TI!U@31kT8W|phnEoy*a!beBsnK|XgfMjdiytJw|ieRJ<^i6$nUk&NUdL%X*5XyL+Lh(ZqPvU zfCKvFcD*#@pHVPHFMv|Va0JM}#tLy54nU4%@e1!ire_g)YRRmFk8<8JaYa5s&!K)l zU3b>OjFwY8vW&}jhfJ#!O2nVhM^biYcDo*8#Kd855Z)PAgdxdl{V~3#o)yRyPO61N zmIHKj6exl0^33LWH7DI@y6PH}&`Mt?p$a|;RcMgX>w$YPj0ghrFcDXx&T_UNPB5cQcK%0*7y03yN@rhB~X_W4yBufne>SFj8KZXAX ziu`oUs>&9GP7aNja~jNZyFBL;?J)MnPND~i5{PFoh3F?r{Cqpjr7)0UV8sBk3{r-r z%V@CMTj$+|IE{Hr0fyq8G{Hb*?KJ6|2&<=K1iCu_CzoFGM+oEZo_6Q}t#Ks*P$9$p zN4S?^mZO9To9OPQcQ6uLJB(;Vw9;PPN58Yaj!tKEE(1Kx93V9MdsqqwhTcscKv|u? zeRUZx>2Ov^p*M-!`3VLjL|z5;ApaI%xjT_NE5I@VdfWW~R!LvJUg(Vcnfu3{)#|tt zkfD(KAIYYdHbS4+aDCX)22JY>k8?4_CCz^oc}8KnF&~mQ{7rizqUr#!o$K>T_LNW7 z)-bd?4>ZxsCo(?uXiC)t+`i>>p$2{7#|AjtuyIAYaZ3gmCoRThB9Gv%fcDJdE+hF= zl+oBurAHJLc%qDoeTNRf@B{kDb$dZfL(f9&vAu6pbY`P!{qdj#c^$A4b--dwI$zp# z==zZUJeq^{f;Pi|W$Pw4;$^2l;}pFVEUMQQgyGGfHk%aX@=UUD4-^C#vH-AUSa@4S zFT9t<;q_R`LwV~{3eqQEoFVqBE_kj13;p7ZibB3!;LJl@ga2;;J8AALM`S=QDeoW6 zn3PQPItU*Pj8-Du%6=003=vX5qT%)QjbT6fSxm9Gk7wHVLy_YU=uSC8mk1YGJFBB_|vc-xn0paKT-Qp zG3`gNn#I{qj%GjFC9_BP<*`*aA>~!sk2rr!p82NKmBVx5Oh;cLzKQ85Zv8%@{ir{B zFSUoWKs1hSKSC*_G3-a)fanOOa;eq+39JZ4A`BdAeaw_-p~4D0joFWC@FQo;`ICsp zuYa8N=nEDI+AMic&HqE&k1&6UjJ}Qh6kvtP>{S9}Dgnauo0$D9$Oy(+H0UC*rSu)( zKTbN^B9aF*N}-Ue#DD}3*YTi==0Qtx#1gDWLP#~=JD9O$Kstu4+-a6ejCPD7$R}b% z(pEo%mQ|Cm8?+TP5g-CWe+J1Mcg&fhc~brdP*@-X@ZeU8eU3!xw=jC)%WggwLlAmw+=22m&vQr4eNump0+FiHP6 zOoaCQZffOj?>3jDr^V^-Dju??Z#9Pj%Xo5!yOTr6qgWAwLa4hRfwZG}kL98kKLXEz z`+>Ft$$Ig+4mVSDV2lW;KSA~9kNjhl292^{hkF}kOQYfeBSQvevi2fLK z2fY=+RBa_9tYBbxN?SS+vvP6Flt~~f;e|)^OX?8OQ`eK9N3N}{fYgJ=k3ePZq+DJW zk`qF>%NAz&lJO7F1<8_f(Stf1#OsAwJf^QOMQ-*Yy%Nfnb#sDIl!{3wj6aTK&yj+J(?{ACEkahs_XfupMfR8TT?G$Dih?IikW`xc!@W3Et=XEPmjO z!QH;@>I0gucy}9oh3?&kyA~k=U*Q8f(;=(gmgTc6eHK65A%5DpEtC3d+2a_4QCthG zrEUnUGCbLgZ3C#N9TrBujlx39d@i|k0Xho3736!!PLAm@)YEbUS_2Ny2 zQ`sW$xi*DrP=Kni^Lqr>N*~8k-99s~0>fO$VPg489|w9Zf1mQPGN%~1Vl+|6b^Ch= z#kd`ai;tOD^(c$(BJblLYAY3CqY$yHkUa|1q5VM(0#$`-GVzq% zJaZDP9Ndv{4;6b%Eu||?OM!|~(jzL0QHEfPoq7FmNPz0nG)BGV`Y!!>YClv|_9*Ry ziV89vw2d!Awt%YQcYc%F$`zSFUMMHjD(zYRw5zC3hIiFNOFDOc0) z0FuiPvh^%Anjr6g!ukn=%|3no0FgUN@1XUf3~-$zMWUbm-CiJ>vy2h@|hlzL*;{-KO| zU_ADGVw}>ygast{JD7Jg(%(TMr|LS#%{fh5Lnu%ZU9}t+qOY3sKU*{uI)8@Ef4u&V z>!8;t97u5UcWbpjS^5rFXOq zo~Bpy!J+_HbJec$3DZi#w>}F2JrsWa9ax)!iRGAM_S&-`jzd!dzlvmQ~3(;cgT`;&#PYe1^y3q?8aNRj* zW8CgC)>4CnepS&!g$knYN?I_PgG6l(m>Q?e!N?g)C;D+MX81f<02WBAo5tRTDT(o| z&tHkwDaHb)kwSG(<%p@I9NJ)^D-AA43v4oAmt4ton84Mmc_~MG=KFam)i|ft^O9yt zH7^*k%a)pCv|~Ed2E6&m-K|IZ;zsAR7*S2CnSC4rr~ zRsuT&yg)R8yS2PXvFNu=>MWb!9XuTt=iIEuo0K4F50{{3moeL=mc?8x25mgY?SS+K z@M&Sv`>`JRk#!hdfaAwG=+xHHAaV=tq06R6*(LdTGP)G(iaZFGkgz|e$o_PiHV5p* z>2?#0`O{M1SF8M5&MyD-jK*qWHf_xu3XDY$V|^t!8k<<}8rsAdKw6*xIylLbgEP>iImncF1ddA<)Tz(>evmPf_3dgLDF65S*Z)_83O+)xX-1 zqO`2Q?_~%lpZUFiQlGRBwVEicWTcvoG`&Ggu(_Z86ASTD)P*}O8F%3hzQQ~FY8SK! zlBZqP%=E6(_F?oD`nt+Dr5i@sY{rHkcW6BPuBtl<{J5UufZq+Ew%&o$WANi^m_Q=@ zQZbWJ;rEaKNBEhL5!)0XBXBSwLpXH4{{CRjt_Ul;2z`yk%UBVYnqLx$=R2ZBuq+|p z^SiXCIkR_X52y%Ba6ZJy_%B(QLDca(m)TwxI3Tz124FAxX?(= zE3#KSDV>!+$&s7Elnc|0g|uEpAIh$9(woLm%H<%6@mf}RBKkDx!^e-GG^1+b;wNpu zZwx3dev%sIzcPN(GJ38f&OG%c{A<~7M82%7ye&?Sa8_MQ*>bVSS3ngBo{F=7p2Ep| z%=pPD;s;&PpHoO!TAL_cC5~^nd^vW!Ak=o#-n|~vgUvQBs)lhz-B!Hh(#o66*}~SX zRow<#_boB`it~-Pcb_H3eibVDB}&8}!QLIc1E$@jh9ys{0%3Z8^lnN-GeA@#S7Yla ze@ID8UOX3@A|XCvTsN4 zz~mm|oMTa`oyGamd}q#={u^)KWtc3O%Neaq4cRoPBJ+efJTUEp)X;hj_ui2G`q2uA zCSt#aTuG-VhzuLWHL1BBO?V(R%oI?(d(E8mvPD#e%jo3OHomR*+d4&sUy(`qLXutyow>HI^$Ieoep!NP8tVzMwKWT)k27Jnj4)xFg01jW zbi0iPR`5=1FT==m{V@!L6w%07B?2j!W#%l9+A>F?FltMJQC6f(?H)19mVHr?Hwm4* zG_7N%$WtR@C*cPKbYoKJ&}UA;XQItgpaKvL8&^4DMuKh;#4u05U`w{iCZstHpv7PV zFsjh(w$z^RWu(CBmpURmHWq*xvagWeg2y6L3kX&5p8p}r82-u(Sw&LjmDYp@_uG;n zoD=sDUnCL|E=HF{!mk`_G1Ais%)lHVa-+#jLG5Fia!s#dKt=Wdg`tij0S*Cy#Zbt;n(|FN|;e=VSc-m48(7jKjaulyTx___@Rx765a`o?(*AkfN5% z5OZpj7ht(;;%tQ_15ZM)e83EURX*Abm47)to)(!L?*2r24;OdEmBwNxoluYvo`r-E zg58Sj2Wc4oIdd}ze7~I%0!cL_gbVmJNC+YQ-DxPbP~<3YikAq|(PjB>EqV6S;P)f* zB~Au?`?UG}(duG_M%*6HbaHBp`?)L ziqYg5PF*MG^N{mVyNIXnd12ZD zXT|fPts$O&L3;FQ%j^SsTH29MKS5GQJ{c$eOi_QtmD`b@u6~Jor6WI+zj(0K5I>RV zdZd~ns>*4sltBh@V5kkYqIc5+wP>%c`6K>Kv>Y*5+cXrlo`tq#UE$9!gUB#s`e9JJ zzLq`eA^+?_{R+F}l%_mCpeGA^&^vbj-PgUlM@R5)m;Mt+_^Uu4%gEvK%%{nrB9Q+J z*fyrFhdl#NVPl}(p%GVA6cVcRm9*tF@ez1Xicgl( zQvDE4iKu=MMvRBV?o#~#F6*Th$yx~t6KhMfPCppv!pD^fB@ld+myFd5-1JLcGGH&z z@E9-e!DVDV#sHl@P)%k6>K(4%XW1NX$0OQXg#W=Fh}b7E0A#Pd2Z_sAZ=%K`R>&#) zmMPdsfgD2>$U)Q|*#US%ScmTg=D%bRBB@VA{akE^0j|GZLvcyKVO1d#S*o;Mj33dL z6X_+!qq5Ubw+E?|JoLN|y?{i8`G=)6PQ>aO)6?<>AOluhW!yR?nu!eSW6zqj)n8!K zr)S}rzCemHIdUgwG}!-;VTPA#h(nu6K#=a@hV-`I*K~5WLWD z6lO40UqLw!wR}*v#9xV?6xGC*A|_Mae=B?ydaeuV?d8{Kb-U5T^ritua8@n0BmU#i zyHpjzNS=pT0D09Nc}J?|z&?=O(U^%B5MqZkPi`(J-E4CGXsc zL6rOS%1k;FVKFXZZjR*@X*l#^-jPZgB5WPe$0?s`x#LQMJ>2D} zKnU6}c@ihzfJ!m=S_p28LOZg%jdL47eRnewCi^)9LD`*$LW~ol*GL~g@__%`6U>kZ zf59N0+_M$=D;4_&VTh>Pihs1t!9$_bQQT*sZZLYR8Z}Nne14$pFxDa)VM6cHrqgF6 zGxj0-C3N3knQVIrG!tM+LgYe8AKhE+Id5k}!R)8}7`~EX19)1x=d&hl73;U?zR0-g z53`01xVG=#Fihl4o@(}{*fIDO5e&^HOFumz*L554F@z7*?Opa+xXM%%5xz#w%ZTE> zFjI3-f<+(%NDaa$vY080fRTMICs5Y28?r-4FU-Um5cs!bXsdt5FYsa5c8iP5zh8K( zr#$a)#peKMu05X@INAlz|a`&RhS^S|2W)26~ zE1)Tn-{854eyZNH$b+!wB-Eb-pPXdXphN+Sp&FFv`X-db3OKpEFLK;^e>hJKJI$D$ zMT1{L;Wij%C=r=^Vel{vR}mb>CyCWE1u&Xf?}k- z{U=)eDmO}3EM9Qx`^*3^t0`VBs5f|Sn`spXmKOQ5={g?3%ggG)E1u><6!YU-%69Tw1 z+@7GVCZ9n;u*5Y(JW3tzVBNG;<+zBqFXW6n9>rY5zsD9)(r@dI!~oQD0_v*8XC-U3 z-;=c>Ly6}$wG@aRr$8_b&(*3H$67KZh5A(tf0aDcgMr87W-~~Bk5S6d6XZ+8!N-&Y z37_HihK~cE541mwfRCi#UXQ>r6M;SqeD+V+bQJhV{%xaF1y)9hxO$pe?I323qLy0i z1t1C_G|nj~`up4OC4*K-uBcYKA1!pLikY*kk&o%j6vlyVc{f^GMTTpe*%Fm3gBT5| zRJaaVQ@qh{-SFT>VCwIni#I$DT|ED{P@=sm+F>IvCECHeA%uPms_6RN)Xu?e>er)h zMO*LQhsOwzl4{0=H-ul>qg!oog?g#~LyNwf764#`H=uqqM)eX9O}a%8v~oT|W>4=r z)a4zpowCDwAPYtpy%ScLz$3rs7#KGZ$bW*DqV!LFl9!_N&wGlORQe4WBnGyISR2Sc z4P%vC%3thlX6~S^@$(opLY+YVqY3^GOJ4G|Yg>MjthIJ%t*etBL6~se4!u+JJxxGv z)mrwVsMf)Dn`g4RO;(2DT7Em;=sMV*>~SF)owfFC&ktBP?MT42A0y8l`tu&U{`{eC zZ42(%wARigHHVWNmEUM&P3c*&o(9@DjToi<-|9aZ%^QFd>2Ix|KKl}7(sE0L4N_xyfz0e2T2U0 z|9}U@$DF-d>wHXZ^@)Uqw&mpPu5}oezIEB$C3(-3AA``5XYJXjdWqAbt%)zm>#A~O zZ}mQl_jVCZ%g)B9csIrStPL=fs3`+WutZN~Q6ZiOe<&n}JEEiLW27J6U`ljHJb!?E zsQ;BI4vQc|CrF5z{|f9B|9q!j5{${O!eX4+TM;}9))ydrtBx(idE{K3WEj3?+L3iB zd|HGMVaYGj| zd5U5XQUg|S3mA8CTQITGy$OkxM%f>cIFR#~oGyCfo&@3`%$2n7L0opYcj8~Lh+f!F zF14dHYIGj_hWZh0^P+Q{dRb?YFBA;hwU%Ib0i}#Gc&|DUSYNb6uf5cXx#=PO2nySU z{|!$E-8=CJIj?wl6(6FfyqR`X)LaVQ9roM5$$iJPK<5JZHT?HU2iT6`?_CQI2P%D) zI1#9sha%UjSzH;Q^ln?EV!>zHThi}F*;7O*C7G9NR(;h$0;%8GZ0v)B9x6!+uThx#%_ z$WNs{R6dY&oc5XzwpUqEEphWdn!PIc!S%7s`cPjMi-0m(olc6yppQ?aKGcj4oPW$d za2AaN)VRe;m4}Qr|9PaRcabdk=Yp#CsCv*ysn6~_kL0v+f+!Slfr5srh$ooQ{b`qz zsk7c7=;o^qXx1c33d$A!hm7gRk1P*4j!o zoC(%9M?Jd*&m2&j!@fmRo%wl{Fjj{v|1GZJ@@8*PLz&D0d$?$newGImKhdHasq7T@ z!^5#qCDc%p8K$VgW-U?)!T~NvupjheeJcv|(5a6&ul`n2Kg^P`jp7u}MUiG>F@4A= z%SYg?-X$b6Rydx>&CtW|u(l`GF^^;~NlKuou z(Pf8oI0F0u*9R)sf#)gmRZz_rhBF;H9^I9QgvGYRY6u|q_z$PK%)v=5o zRJrtgsB*7d&WNu*h>EdeLePqj=i!s#Ut9sYNuMNJ=r!!Ys1eO;g#)h}HR2sz;goCf zk*;vbH8nMTMVeeYd5s*d9++!bp9B>eq(Fxu#X4A}oo5BSiIiB>ncw&CZ5Xl_ETW02n)4=Mc~L*)dRutQe)*omqo-3E~t(1qtLlpVQAV z(V!&0vMI5VAqg)|--4MKRhU^{YNG8qRHyt;?8}^>mqA&CwBk6;BXq z(&I_!G5R7s&+u;sTazk3C z3PydwLK8-%#t?;6#TrA|&4A}gtP~8tp+1pN6e#)6eRx_)sQfi{mF@011;#;G>B~#2 zRq@a=-N+&sNFW7J_ z#ZIF}&`D7zcL15PCTV(<1%Y5BD0>v86%Jh=&`TaLN*>YO>rlYJD1HE4ku)JMK46q? zLRBvtO5s0Xl;TT{l+tzh*yOSYQq~dACT|i9+r=f0VHouD5E9R=)z#`4#L2ai4W_>- zWC^SSra4&a8g^0$)gFXoZ z1CcG;V9_Tpy0CotCgt=aPaprq{H4IlwZKcEPHzfzis2%t(~p1@#7AwFAeKdbiIZi( z$?Q0sEKkJALLy>mPvm_5Ep`M1A$O^89(bg-spdpT3wYAwUm>5G)QKk!3v~(*A@vo4 zj-YQ*9zM2hH?>U>t0?lQ7LYu;Hqn>g4*#~eGudWrF&00xUv{m$<1e@GtamA z7;~|l&0odMgWGJL*A8w= z_8dU*<`fw)JiIx(ycOXj45_Y5tGxl6FS?Z-Rc(Q+O7Aw!6UNF}93Xy0NrCET1%MQA zTh;S6wfX+$ucKLZ*96`W!$ugT0jJ?GsWmsFOMEX?TlH5oL175xpxxcG;kL5RZ*XX} zLEIh=8m+DocOfNHx3-awEaSFbSg0F#8UdmAPQ7xoE*i047q@;H)#u|k_Uy9C-y2|I$#d4`LNQ1Ms1 zSDlws_8s{0TQku>%qRpJ-i8cxG6D9Gj0+~Dbi6E;2BQx*@8stpEky>o(~A3>*}X6~ z_`Ya^w`WCz@%$e9!zzsF@}!nV_CirE4SWr-k@Mh09w3b>c23}u=FM_=jw>Yc9?>e_ zD$NPDmm2vlwYSXurQ(NqkOfkhjk{eC{5+Y6jMZu>P2(O;q~kBT+#AR#c=lXP^E|YB z2iU6B{sRvTgTJxGUgG(X*Yo}s?cb(u%*aUusFe_(h%}YJRbCY6r54!>Rc4ZK;Mj zrt`uXhPc}ryE^gJ!u-G^(z|%z*j#zw3~|2cMguz63uhVPfYS@-1gf856T0IfES3XN z8=r)qWY8#_ig?GHjlx`@ORAcVQFxB}K`quOJeR|Kn#e3p$4FDGgD0eeeASpkF$!m> zAFJiZEcJtCcC;5bvIrw^n2#Ex$3(+XeoK7s91xNYcNfM&4ryw%h#aNBMZcDd z_0B+8+&#u!9G%hzYo$Ve1yr(C3Rfn0aw^aA4$Sj>1v`f_dIe51Lv%anR9J`Fa8W+W zq3R`0vySTEfmvlQD3w47a1r_bK5uXy%I31(Ih2QuxL0+2V^SvcEtmyXKFl^a8@^&2 zOanM|MHQ8GZ$rcsqz#mX*>>n~-e2_giZf7&UVkg^?dXXpB?GPTQlnxg&sVZNlefF7 zuPE;?xsp$c`t{{EKW#U^%#D0cjGrv6aR^= ztxMUfVjHIm8>e_1cFq^MM(hMka$EFR#NR=wvDW6zLH9N^E5|Im$S31A5Sb-vs105` z3u}YC&l5^^X1gh_PAl%>&VhvnJBNw#%0i>Ub2?E?*V;KR|2WiL@rJg={l=2xlAI`j z-q-!(zP+Vg-9LUKQh@gWpw`%WHO8yrs>lBV(UU-QOP`6Y7pagS#xx-_HDAc zLD{&CK-{=Yw2W!>ZwWm2_-~n)vtt@g|60QwneyW$2w)lx>soa`esh^1cj410nFyjH zwWSkQ2xif36`x1c$HwPT?V)U5(_Ky7-+ijhBTdUrgp7(5dgiGTYeQD+#ZE3EJ zEzRWwHj4_5YiYQUO4D?a1^Adt-b`1& z9g>DXW`}Z2HD%z$}hAq^F)TKKe-4EyxXQSssw)k9b90(-X0s`K6Ec1 zOUvksa76z2#(&4TrsDWCkAuTNJKXP}-y}(vN1Izc*WZFR*WU;M>qXJElswpmj51oc z9om*%P%KYLw1+IoOKbBSgUXQQ|8-?fu(bV3V@8{ufiAKABJblof~4BuvRUVzFVVlZ zoqukA6TWR<`c2Py+UCn~$l}GUACDspKGW8tP1=fUdt1*$xtP%SIW+AGBRrYE+q2tt zA3;)#I`5b-HzheXe!cqLjN2O3Z6P$)_t$|{>3?g=2Z%iK>*(8oBsdW*nmXP4u2z-pw_jg0NU)fYJckV?-?aBtQLI@7TXD73}zKhmG zif|9au;|0+y0M_-l37+u#>Al|jsvk@Y270_7R;MB2M-+4=3x(}T$`OK4}L!E!Q6sk zw>;2?^QW3Vse|jr;qC6bKuoHqQlNC#8l|<8<;D1(`>;q*MX26%JO=}u+ehO~$!b`k z>sIm^^oizW&;X`twO=AJL^NPCX`%jp4K2A-Yu@L-T5S%%OY6l78W7uhQr78pQXy>x zgY1mEB+0I=Zddul$_b620)x7L8UH<8b6^k~#e2AL=`n*@{-k>WU4 z6@;&c_ZkDxx9fjB^T~b=Lc;kBBZ(7}K)+L)XIAT@EGqdMHVqCs0Ac&XPRS^ zi5m(C0GP_OpkY@s5gp-IH=<{hp5DP3Vsac}no-TKaGDI3B5{|2uXC3|i9thJoi|H6kppljMDr@enE)Q~1y` z_ymJrht_gh$!gZy-dYNNy_bBlQ}!vEEQ z5<$T@yryT`6?q!U|Cx2f)l=^!u4Zq?Bv1LPzKL_w1DsogfpzpJth^nKBb)K7!(Cl) zLD6&|bO60%Hm4JPR+OW0V8*2jFV*YH(N#e1%1%ts&#@%L!d*EBw^tJ#@EKVXq90d^ zgbd3(0|WjDDEJRJRcb0^cpwab5irmdn0`@lF;~ZMSL2T(pqmuZBtHSX^d3J}TI;U} z8G?y8e;xoX3wgsho-+k_xxoJRZ{*YsG~~4NjXO7B#@-_~ZPm9Xuvly8{O#`U!R_uB ztBnUqfcR;nPG}9kO$sGWE3qXx0`(S|&co+1bw}VBLW4+jk2O9;eA445^%%azzV6?N zuak~GjNSVl@U7op5om??SE)C$yf4I-@P}fW~sj72Yh~}B;cKizTyXsl$zUJvE^mN>L)W-Wk6!>s&tGPXs?`pLf7}XNJY=ghZroV-ghdQ+_{YVSJ ztzYAJhx;)$--)NVkH=jGvSCpiwWY0TEkM$E!Q2Ix06@B z4S#=*zb@Q=1b=Y=lKUYg6*>ZsSSxuWI$Gj=A41-bV0FZmU90_#TCamEXgIcOb$5_k zk@j!n`UR0lbIw;F6w=BJi#91S$=?du6YZq_1uR{1xf50WFdQL}X~qhnJ?cD@v1rc* zj>;m<{|{+LoUKKBK$jIwR-`yIK`67i_m+Wa7zTA4iRP~R2STaM)*wT=@D^QYleT&_ z5P(H}eA>zyTw;uNkX#kVPHshO=(2W2&ZJAdGmZ)g3wLR?-vyB5Iuk}iTq_Dw1c(5o zKw(bAzly@-1QX>+MQkF!L^z8@mel?<$x@AwrCY99ni<_QtU+thoNt`1h}WM;v2dl%>dTcg< zYuM(TxHhE@s??b+Klt%AxsB8cVCZTd`tToQpnj4U%{LE7qdnf0stb{c{0uoO)~7~+ z!OR84nI>swzmcosnwKg#w~~CfI5|885pUd=`OV0AaWA1f4TsvqmlRm;mC^ZR_VSJQ z5O+8XB@`FGz6}=o8}JllGe2i9qR~N7Z#e-3^mCCGd}I3aVeh+{Rrb0r&pZCvwoRYg z{fcklgef5(2nS--(|twB{Oj@+rSPxAS7eW@#Cr|ohuZ4?QXvx30`sdg%>CJea)L698Js(s$t%NC5*Pub7(}_tFA8 zRU63!SpFDBe+u@3QA7ULI?r7&yQP~AoMr-FIV%P|%@N>b3P1Mn47>#88@H0efm|rO zc+j|?FEMBy!hnKi&ff56(GtsKG_Z4swDo%ck(j>7wd`&?V4rTRAVI}R+y&{z#hj5V zaDd$*<#vC8tGo1`ZudR7Yu`_>E4ma!x(j;FlkknIKSXXv$8mrpNb$zi0?1}U6TcP- zAcfE3*JVv?L<`J}tV;kW+M{ORdY%Q%ITkc$F>PT+Rz4ba0s!Y=nz@+fRNOl^el;%1 z%EGNF)@zyaIo!#JUk$DRkrMY^fkJiR448}S2)w3-YRB9tN_9Vq^;r&tw1|VERW7w> z6|K7U#-*OfCZbyKe2A|J^wc7Po~1Y58aaqI@$y^=HrU@TeNOrU@8PMQ zdEUd~oIPwgXSLc^a?&zK(`UH^53MG4>@7Q0RZkPE!50y0qn)Q}_g-@XILtN<%`Aao zh|;FAvWQh3lSwR$2RR@J(sfh$Hwd|^?ku@#Je6>+n<78z_Ud)4gQ5S44oLkE8TePL z?EwQc{y%f?0$x>h^#7kgkb{lxs3{Ewi%%*97|***v8#SkWBgfswN?gar} zs_ve!(=8$^1ej3SEeNT>JbjRD>&pz9EEuP#iSv#S(or;7u67B+T>`FgWE21wsjfo1UVa(JI{rO2xD|tcx4`C*{~QuDysDWPkIn9y9r3WhGUT)Mo5+6Wj(ea zZ+azC^$78EFMBpu3rFbm>Sb3j+jd^|m)$ex+(B2j{kdE@HFJMq(Dy9jMSwN1c-)Z} zK`=6$<><_Na^8;^o|U)474*1w;hJw!@P~U8{LH=!oD8^@MV!e_kPui1lG8l2Zml$Ek!?>Ip9jW$uqLhiMEbEnb< zOrq(UqJdYpUekBr)&87CQk{f%^EYN4nU2w3!>P<;=aAgE+aZAMZh>UB9Fplc#LK~^sv)#*g{R6u@H|A7Cn6PymGztXbM(0(Zt8+yi{u$-3jw@X? zaxl%N*h$NRk>#vmJ4}VE988FkBW+v>XIO9ysH#q{oF;bQ;w!V{4-v@8k{?-VqJx9p zYmk9PTYz1QRrs-(Dr--Qx3pWEsa%V@^9CX5&dvPIv~^_Gb>fk`-;{$ZS6_Qz@Pt^k z!aHqb%L?ugyXLrT{xrt5Q{FstshI&#fH$l&nD(4nJEJ7GX3Bx>HEz9~jv{vQm6=X& z%6|v>!L;GO-}cAi{E2-}_m+_S3PY{!6a^eGI{h&gN6i&`EtsR`ie92zd3U+Z1(hoY z_(rLWgXt>df3xoM5ZQQ2FvHnX!&4H~x_&^0uEfmdIt z>DM@1?Xop_OP02baebtlzpV#k+L$)K8l|oFWWQ_!eVt)Wncf5 zl*F4yoB{8=LTW5;$=K;v_-Ao*x^6}hi=m(NGDMIkMw>&;=(Ky-G+o-Q^Txfl=JjK^ zcb-0XQ}K|EYceZ}HykjM#tfmOOJ95EwKW?KIE@z@zflrBfs8rg>~qep^0MoUoIYur z@tI@Bc-gn@5i^9B^E)IBLPPtMBhHdg-X%wTT4Gx)M{Fzy)U~Y=1WcG{iACUjN)*Lv zCSfnVBnnM>tR>FpDTZDoK95DmqDFN~3sp@YU}jSDcZ?IkvJ?+rLg~CD#LUuNQh}eE z&gU-BN7E8R&|h_=oeqDd>4PGnf`7?YG81UJEiFOt zsPVT(@i+gSp>6*AWFESsm_7t^KBb3ScJVRDNFj9cJbjvSpf|G#)UbC=|26+If}xtEcvUH<9Q)iSf6pEr`HmR)KDeC16s3@&Uv#F%fsXLo1O@*t;@ zjm7gRX?)G8Rwc8Ox=H%$Aw_-c$L^&w>|d<0;#anBSe25(B{Z$yMa#oa zyM}FeJA4g)o^-c?;V5|GIG(*Ft4ES(?D@cej*$o>J~=m-ul@zk7kl{^5QMu1J8cl} zJIzIOs1o~j%e^95mh%=OFqx<&(uwB2$9zl66;W6ARy=el$p(%8u&geoUv1BQ}dU8ls@}7}gWjTNhg_P^zRQcc? zbI_eVN#khFZ3$@%XZQRcPTrgE_}59}lIe~#*cL4hx!@Kh&tHq~^qhaNX3)`OZ{;%@ z8!!7OPEa5oB?{&~-*zYtC>d=H`d2Jj|B4;!Ur8$b8*JcTXHoYv3wefUT2n|VTr6z) zs=k31alxBkhf+9xdAT8fg*9FCJ6vpM-LBca4|IXVMnfWGS7@jJiH~nf)|Zx6OT5OC z^|k)?o=BX+G{i`p{tUwqcWhqEbj1W95W1=Hj9eEEjaz6LuGaTPJ7{+ca97hw^eL_L zs+G-urMXxF5_JKSMiwvkDoP?_t!(_eBQq$k*Y+aT+YQ2RvRxn;lQ2#IcC40{9SFT= z3VnucLhf71-l4XfCsMv{S^kMLMAX_3#;yqWUtnw10VKk7yz=p%?d}}v>Mf~SM$e^y zw}OA!?yS1jM5*ekj$0GQ0hG6-dRcx{(FmOhz1e?_acK&m(X14ewhad}(Yak+P@mS9 ztt{?Ce51HcTPX0dO&N!o$_?IZb?gwMvu=jdOvF@ldNY65&Uj_BUdcmrIv!)mRRI#x7m&I~MYGElpai>rCTB z76GZk&ehi3lYIceX%c-T+NATsfF3uF1ipR9bqJR9^xRhW& z;7~yl^;cVNTl>KXdm}%_cB*~ z$oIcV!373`o8ANgLH!o~vdhf;GUwgNSMUKe-J!Zp#3gFb9p(JOsl#n6l`l`agv6OE zulqV32T$mma{vl|C~!@cY%5sg3`hI|P`lWLcSt&oKKD1H#|iTUgX_rTYS&HN>9!y* z5a4q=lEr0h|Wkl}+9=`ENp4yhxAA(zQu2^vI`=scFjo|xK&Hp59I z&1GPUcz3hGYq(Tu5xdWsXt%cDapSaG+dqzkIbG@>l20K(rqH$*Fd(Ep!*ei86d0AO zzMG`}Qf-;$+?|V14fYlBoL`);UcJ)TXW9{gBtZ7mD{iAg)oO96s?~|#LwO!|Pg8Pp z-GpJ4@;i2`u_xnq;mtz0i$;=2V&!pb9S3{a2^`=u9Rt1WHdsxj<6~aKQr;NF&QB=I z5&F$jgrYL=QfPQNChCQ85zXO`^?mGGxugAx?OGGRr^#UEZM^no&ERhsx{4*?vkpAB zr#sd;l!kB@kogD6Fag4??E|cnE%iIDxax%Cx#Ly8Lq=(Cq3Qk^sw?Yw{T0|kz3lJQ zU8{M8g&j#VZUR;%T`U(nQi~_@#NnRXF!|ptO8yl$Cup4nM?kc+-w0I3a=P%s0 znQ5)4-yt)(|Ia}M!__dV@I3mBzAu(#imTQxk(xyk z^R+k7i8~gQ=_vEEzZA$UrWQGuG@mcH@zUDohJR6AQZxFfn2;FDW?&BLwKT<8ijnKR z*{AY1)A4Dq;UpfSZQJ=}r;7ce8(B?6dDLWl;Y6le^R5TGcj#q5&r~z%Bfad=JtqAs z!KCfg5%3F>+@z08Mf-_c*QTQr)a*PlgBD{N&Oae^k$6gVx=qsS*YEQ@uyvr}Q`4eYK`P6K>&2O_kCCOY29&YgD57|(@6-1;kPqs29Dl-(zUO5xf}wg1-xFI!)OXZh{nb-1 z@OuDfT`AZX*FMax2Pd+ z?oZtox)^~^+yoDMvg(%<8O*;A^KUu-KE%Ie{43X~QvQ8_e@pmx5&x#c^v_~?b-eBf zfYCQwE>e5X7*!nHqzBbh8uaAHgEL04qT(+P%@{SH>&L@Nke+<`<&07N^X8@%t5EDL zTUT7F-V&SlapOg)OE>W{UE7cWJR04VDyEqOkT_$1fy} zMf(d(;wl~veo=uLs}^1{qN1#1+f0A~rEpv0H4Zg=6hFtSY^6b{qk@~ce@q0(6Nluhf1V$^P?Mamy1U7sl@`LS z*V4i#y5St1!1;Y1dcrBwuLo=_XTfSl4j}6sS>lfy0&uHFRtQ*s+)=AWN~^4+uwVqB zUf_ifCll)EcpNZxnjJhk8$#w9v^JY)HY_ne?!f3Akw4IOnH%GweGd&dLkr)ITPvh# zr}0bl9NqaxXk79}G*?ew)zghU<#P&N+T2ejKqFEFgL1=|j!cfc4yM^%id&;BA^r<( zQJ?M0`n>y44L<0S30Cp5sHX4A{;c@bPFqs=m>N@cZBS4FT(0meN_O;E>JLJdvV`(c zv-r75*6DD7gCf~RzA^!OTvm8n7PWG=6N}?lsn&C;^WBP$Hr692i<&L;XWMPO(Kf80 zaQzNBS9rNQw3}3?Rkgymi$BqWyoz^+?CIJJ8V2w;VH)*2zW1XOj(1$6y%jO3^*?|v zK~DEx_utZUGmdxJgT%$?v%)vm54wX1kP&Y7-o$JkpV3zFRS}RBE~0eEDE4E3&}Be~ z6n?yZhn(5G?8{7h{SG<5dAZ+$HsPaGtj(PFqgQxUze7G_$W?~bs`cCv_OkOexYFOJ>%B&4kS6?=hB9#3RBCiIkBUxz<95)R<3I!+b6$2DBZJOD8{l*?)94KA(d4S! zaGoR5*$K<8jPqOW4}cLGOoO(ce&|M#)?MpR5E@GX+NEG5F&&>w>Yd;sN(DB zjg!_}59WDnnHI*920B5v_Cw0|ByQEI(DxvMSYB*Ki0s_L3>S8lp zd{6}^b3Q?Z=-V2?JJFdR(!7%-8dQ21r86DnHHriQY6Q1ItP?d8(R!+0h4yNos0cD1 zrB^?-SABUE-|yA^rwVWsOxHO0!K--$)A2P z<;|}{>k?fM2(Z6)>OP(mqd(o0cr5P2{adBUlk(nscw^BE?|TcMEh<_wboHQD{I<+H zMFU>o)Fcv$PcgOMaG@K}W2Wr2`pPYx{2A-y#YWy~FD+e=H-Oj-%HRrJ?&z2Q%<(KM zCK;&gw_qz7Nam!YYwvbvsV2GCz}*;*wv}$Lx6nM|RP{_`{>1g|=>xzZgH7&Cq{G;C zz*Jm^>vYf+a_3|wXpS3?b9wtte)+jLk$*#%3WE;gjR;pO`;b9D5^< z50Keke0$!XnaI)7c78*k5gsnhcSS+Ml^iPsqA(%c>I9lpuXNhF3WMFo~%+Az=kBp$v zDc=FW-OH_-9DJGA zdN~hxTwz0Brfw_9+Qw&pmUO|Bj`C*hPs6tIL2Ns;~9*wsSVx-X{dit22Fa>wE;+&I;AgE4L>_>=*ovp|PsR+e=XRE~Eh*Mo> zDipd4pPzg^rXW|^ld#MOQoV}o`A@Bme$G|orASF3bQy;M(4ZF;b*V?(Pd5L zR4`nBUzmi+8@|VI0@xS64b7~%@JI2?L|6>*_9gyH!&WuBHhKY3LX0-KuV`0UZEKzg z7WU${#cK%Jfu=8EFvW%M(|}&O{geCTnXMDM)+cO>6&f?{(wZvxcFi%tEU|dAS@^4u zjGZd`rqBs7I2K&b)bhctn) zJV%OjJ~<^;I68U%_78bqy`p}nQ0ire(q{cmQE_-45D-~}Nizosi~%yxd=S97bNINY zKbsq?w`50e%+*|IV@(~WRfIL;oAlup)I24=IRiYTw($-*%GRCRt^mC-fMYfnJ3iuw zG}^?xg;V9Xgv^Q?qZ{XFAq4=}p_69@AbRO?dPxCzCOPxcW9&$H_zM1F|og!PJ zcJ!D?fF8aGxso+!sc(LJZX#oP@L%aQAz?R&dBRz8Zp)jya#hwg7dOl0Vn{^t0389cdTFhR;v-BVzXR5qe zAK@>}6m=|!Ik6E53?|+59d)bY48uyPX>@?@Yg^0|mOEl<<0{OZ;t#gP8y9rEQ#GfH zC)n3umN-e}D^tEWsTen~VfuQdzS?_NhId2T!t3Z6cM9!k=pk%b{%)E8SnnJE0z6|OU9S5mxk{8QfSa=M>1pmJ>J zWezY%EYPLxbjIg2@^7I9#4qTTNEwdw;)nFc&kga<=iBY)n)v6{M^b8e`|nip-9Glb zJe(bm%i2SuCIrPp{%JDgG4_5#^8Q!J`_JnAblWy9GHGDjq2hCOfTY&rOz_5FM<%dSh0lSPYHPH!l+`EdoJQ9DM-} z;EEJe#Cg#hfZ=)yMu&8L?yJw>mAy%o!?*SMA0Xe=?xWAz4dTx`_4)T*pNsfxyJOP< zchUbW>mM?YaPo;;I7lt9Fp?Gyr(kqT*XQH;Jgl>Mn5uV!&sj6BK1|=?00!J>)xC&s zjTfst$JuCXSIOggmb_jikL6p_OqCQ!pXw^vpOWT#-W2L%H`J-FBKuLqcE;wHRiqoT zSD_)@pJqU%t$)%tV~ZcgbBx^}R75kGH>>EbAZU3!#w(afw8VYt3zoE^qJZ6tqJ2x- z{|dD=ZdFGNx3J`&&E;pyHvX_>)))^l%f>NKB^=l$ zHXw^Q4Qw5+oq6W|8f+S^3*D9mm)HiL7YaSqU<6mi@C;zuE^$?BSCZ zC7+IUpY#ibkMpRo<#d}Zwgxd4vZ)mwl%sK7I#{BOA!yYW;@2*&-09an?#-H~+GyO| z0l{rN-0=qsN7pVsw2rXItAj`F%vtwb(5Mq9h?;o^wY*u6@^|RAK|6=CW#MU7yLwRd zbMEG}0ttn?)Lr)}7!Ak0RFIgF{VQfRI<*Z+~LxqZ8=fv3R`B$}UJ?2j%9kNc>k8--d6x7eei zvW060>g`l}{FolI_E@gR`8+c2>h%PTRlrciDdK;Nj}W-{2n4s$35%^pQZsC#FlPra zyfC1xc6=QC#%)7g->-R}@1skD(dppYQX2IhS?Ra=E)0Z=_kE*IWBx0JfpC!sb+ib> zZ!ku2n|9l%6E3C=PG_GPT6RcCw)E&pcGe8#;=HF1#y6sS2 z%$cbdH+6`_d=Z)-&JjizE5uyD#4+<|LRV>(3N9gXr3R$|oY~>f=w*Kky~Lve(UbMUDdByszek%9k#H+a5+7}we z;x~+duB$C-cy@(0fE8|Pk||krDaWpd_|P>NN7=EYa4|4NpJNu7mzJ%LnHCprrc#rg z3Ma6~WR~{l-dp=j;}kl%2dzdcwM&Wf7M()nOxZ*KphmxV|hIUjgpWKIB z#Kni^=U&*&)=k-;FPT{My8Ja>WnPNDRqnq}!;>D%tQedGw5(D-=2NuwS;OrQ3?)RA zmUv0N?0RP1Wg~HiltKfobl2VE{9y4P|BvS%gZaOZpNL$LH@Tz}*Fs88qtyOJ@BCxz z7jZ^(8*jk|T1y1G-uY6tV2*b&-Q!3*8w;7HtKbj#72HIvjpN@0zq!sywce~*{8lzh zM*ji%q|sZMGH0-k3UO+pu6)wNT{WhhX9-~{S~zI?zNFIL z^t~tl1lT?GHSoQY7)_t#W8;i%wna#OyXbmW{dxK_~Ah975_iT*CvTnyV;ErmYY%|nXI)I z>u=$qTYJr? z*E))Xxw2{#`Sfh1%l(Va;Y^pJ7ea*}>E0UlN<^dlMbfJiy*UoXRoXtwu}EESNLXaN zfk_+rFXdO=5Y#IFESDo*)2OP`JvbwHQ2trqGjs$q>=@C7l)?)?EbOsg3P0Y=In;9b zdtg^Fjy~$mZs4`0r=84$s}|$y_z%L@#;VO5_TMxfS!wH@XnU&*ZI+;Rz4(x$puN!M zWi5ZiUZ~3`LG1w`Mwr$x=z1Aj4R75>O? z^#2ThFZH6gSF1K`?!uoewF%jEK!n6@wZ0!&r0Bu*0 z(b>9Haq|eY2X`$ap0{O??ZZyOeZn))AR7BGO#)YxgvXCM^8#%M;U)2=Q8@iOb`L6J z9s&Ituh4r=Dx5q@u@av_Q`U^TVLq(0zGyp>+&{_!OQ0Lr-GO+wDsc&K zohMH^{BhFfI>dcCkOkcUEDxoua6{m4sforGn}n)`U#K+qn|s^1GQx(laT%VH&96!x zfw$Bcs$}Dm*~W!TG9oh@my4SeNC6=m*YDN+V5~^8Z(&A)b69KID#vg(b57JSDbd-lEf@ADCLgWh8z~lL>p( zIaw-rGiEYT@KvV69P19-ij3gUYp9N-<};`TvO7-L-*n+-+^V8Yd^U5{beTLYp|KvlQcJU~vKM64A&jGEd9XG37T% zHyHkma$fcs%@ym%YjtfI21vq!lj%s|HM~1%?g$|ATIZ=p3ah2IKa^68__KtiPBVeO zhQ)ZZr_mxN7QNWX3kK1=S#5y!!mH<^=KZPOE{lk7f-Y{GC{9;BWa5a9;9c_;)N1}+ zx(Y@tGg=Ixsn5N}9_5Q-GrMsdwcTe&Zs9T}HmgzvX}=-ngcX)0tgs~fj9N;pfKbuXt|%%#K3FU?eQloVCf&gK3Vp_t&vvoI zX!S1XTK(B#b43wiHJJ4i8W37xHA{_Qx}T< z*+VHx#oYuu5@Nd^lVjHS&MeFnD)kFqs646pNNOO_-2LGCFw ze_a)RoPQl_z~*F(;^+o7eduj!cpo;W1K)-n>coj_Vg-C)NJ@%-HosL{Y!$n(zM58T)k`KjoYE5UKT83#ojWEGn#ezj_1PHu|ax zz14m|%9gJVk#IxAug#2JTMl7G*7FY{LYKAq2k}q~?_aEOt^gQTT5i2o+N~G!D}0k1 z8bjAEVAGo+{jHj@Ny1)5Q{fdqzWj0?(&4oZ%j(Av_aF`0mX05gR%Wc=8wRtqb1A%JZIvs$;AGM? zIyWG*_&Tk#LQ96;bmb$2xkxAxlyF5&am9Zn4f(4xE3UF5Vn5{=fNwBtUw)q5zbC#K zb+CR^@wSP8`=LHzixZ!)$Gd&PyqxX1&KBcPW7b#ah5+_w>4rgYtC){5Hn1!5jjcDa zGWyv+z(RWZhCNKBOx;tQB4wNQW;6Wig!# z!fP(S^ap!S%&QlQI#fmQ{Q;KLi+=}#_kCvUwV0wtYEwxb$Zj$mSGM|bO@gVi@T#@&@PkZ6(_Ixg zFtoMg?1Eg$ve9IMOrdGCD(&KrV@DR%4aZWnyK0Cto^81 zT&HJ)6?-dB)g0_^uV0~_Y-zao;7uY17c1R+WEHLY)3hxjJ@?~1)?c)U&e8}GnrTq~ zYHQZN+8y<;ZM^&|*@fR`ll1Gg;o8aHhJu6nS9wu8JU?b9@vbJEnA|gbyEuQkv75py z7K2Ph%kT`efVh_W*UQR4xvGy{HngZ#TJ&)IbFgoS%YB;9tred}%4?RC*HiyP_s!eB zF!1Wk?t}dKCh0ZkSkO7-iCw>dYi~!;a#yvcZU8o&2-^9)i^a9U_CGeleDzYcKNc=t zY64CYbCvFAxHDopd`_${zH4$jQX_XwR9dGtjk_UIQX2(IV)rqC(P(@{RToboW-m8 zZJw1*PrtAT`ZH^$bMdZuf$x8V9=(}&^VcM1MM;e)XTo6PcHm^_TITtx&|--iqn%_S z+-W9Kccq29LzCdXb7XW#8cNUTu~ix$R6DH&r( z(VidvjD{_CdmH$S2@6tG7?vt1U@ z%$u!?TKEI3_A)+CK(G0E$n{mCDbs!kJ<4!fqHf1>pHTa|m&Lt2HRYW89on{`H-0g{ z;89RB7N9N(A4#CrJ(K&pG!~P`WplxDrDJ@aFJ#(q`plb#D&{ z8=s?p-4%8+WxC)2p_7H0ekahl;-oW^kzcxS&uAN0_+~ub!W>?#s=Av+7_)cnk@5)1 z*DcDEZWa+W)c(hSq_CE(Df#6AB+-pk3q_CPxliTxPm;J2g%*$esztA!Tj~>mmN>LL zD@GnGREq=B3j2x)iBwV}8A8lMCcY|tpoM=Bm)kLlQB>VMveL9Pe%0MBN26xU#_w)n zN6T2f!8CEP;O5Qz^{eJ6DcW4*2-Jh#>}&a(={VYJ_&yKOC;8*#%dkYPg>mp5X>AYYc%COt5jwu!l$~xC{XBO}WChQ$fUdsQqq3nP!^@+X;>Y2yg|O z?9)%;)(cOo3hA#K^rD8c0Q`X7IWGCFA6Scl3o`Or&rs$=+k&4N8fSF~rB&+(ts@5Y zmLmU7?S1TDgO(l%Y2d5HKA9XA%oCJV&d&Um`ake~o8O|PUcZd}mvq!?>v!lF;ANlV z8~1&;FDJ(6{X8e{|7p+e;*_~H+r_DxZ!2sAd0?D>;;kkKWM7nZp9_b9WRTpN$tMJ+ zO!HrJF~GF2{b#kDL~OCNIex>Q(k4!l0nLzHEnWLF8Z&7j^GvC4irw}b=g2>4`f1Ex zbc7Da2pKbznFE#I8p+&W0t<-8l090_Rd1SC)5+TPJ4PZV+siFzh%3n|m9yXy__avV z$~@EGpCR~7HHg{RRVKVIH;=Bddtef>GacO1k+cqvwl?Ja4!t$ zmwSDXZwXbRHdnE2OCPJd*cCFb#mqCsexvn&yDNkkZG}u>OQd5-shMZ``lcI=)bY$S`}rnvMt`vdx20&QK`SjR1Y(kD=9xb2uXOuEm}ywB{Hywaoy4Z- zp$`bh-N({N@?*tAyyDAdUnWgcmwj0b>)*6DY>_f)Wt?Txe>u}}kX_@siVo3?+9Y;6 zz>#+fSC_;bfsC2CSnDz~lfQV^kK2@yf-JaYl9t;}X05d5V*9tk8uGFSLlm!Wi2e&= zw6?h7_-h`DQ^l$F2Y3MQsrI|=4G*`$O)O3kXG}WNwgJB@JdMGjeXeAi@UnaRri|HK zBm~8LsP0V7{kFz$=$+1bj%UXklDPRdRN@xF9@4Wk{zKPVGvAJzDO6H|HCr}pjX};w z%U9#f2m7!!Y`jb@+WFb;)69lQapU;JoX{7z5vN6RO0fuM5GXGIAu)u84VpqLy13z&NIWdqc$2Y*QwhkGSJLUjx(}- zW_BJ|^P^z4JI8Fy?6h;t&g2|Z`?2u2FCwYGe~{lGNqxcz=vJ=0A4IO+L$$v@JN`T| zg%!i&*xgdA-Mdo6G)FK09>2Ez?JhC#VD<+7=Ew`K(=_KbfJx=?C8(9Dg)AERyTqo! zS80-g?Qsp1S>T;hGSEjW8fzsET`O}`=ZMShB{umf`h_+Q)_?D1HN%+nbl9Arkvb=z z%%c7w-65{5RCKB;aYMsP^bUBdZ&lAwwsVzs%Kgb_scQhVLw_%I1&kqWR>YQq-XJaFFuJkst&LS%o7U1Wp_Sf>lN-Ltgm3)eo14aO z+4#e^(0J=KwgnA25TcEzNpJRS{*uqE=_S?7-pQ|~H+al+6h}Am!|ByHpC%eLi(o-4 zQ@)k@v$Z-c!2)aQHXR=QhWO~H1;lV3W|v7Ybtvcw$3YT)gT?U@m-A*m#a~l_KE^|I z9AyBMG<<&rikgF({=q*Zw5Z9@*2yyyQpOyY#@c>uiq0evmWs6KwlKfaDBZ?ebK!)~ zTUx$4QCLTD?Fd)VC4Ja0wSUULOZ$ayR1AZ5W`p)q4G2V0s#*75_8v!SS2ObVPr6o& zj{P1E$>Bk2(R9W2twIj}RS;~Kf9kCV9@r>0>r~jxc#UT`YIgc;-xSms4UNtnHl2dI zzAc5U<~2#y1-@Boa9K1H4IlPTMXN*{U>Ha>AMy0M0;MW&9|f?XHrZkn z|Bh{O4}Osa`6DVuy7^`j6_H~#3q9IdA|7RYZO`ifbM|qc6<&9mOYg{06iFgCin8L&p#xTr=nqY~{cy^0(5ik& zlkLr#BI4yP887zdz4#~m)Ua$CBjhuchd}#T`OD(+ym*rrYPh2Ix6NF~C`3wQYyIuS*J7{nnkOoMQmMnDKg_7|Hz=is7<@ z>AV!qzW!qR8Mbs~y?H=rR_$mbQs*@CYmR*kD6psro2H6KI(Y*}Lg&)KPY&AA}b zaCr3C4Tp~3JoI_G8T7jUs12x51ByPw3YjwkF@!t1x@6z{2@$C>2k2#mm%BzUNgB0Z zBunzJrH$L5g~ZTOHf+0F4w5xEskUwxp#WlW}>C?m(litUsHtkYWA#ZQgDW7vtFA>Pe zOZ#@W_^dbUlMSJ5uksLr5dyQa!$)AV&4_5 zhSwqb1H5Qo=&)&N`nV9lmg6!iiV5M;(rUP78*i!LbKxsU{hE(>21;#Wgg%=E$!$n+ z@hp6TvS#=A@L6a&QvFIuP?w@x==BfC>|MwYjXE^(F?FQFW8%q*I1|S{8wwvCy)3HR zU!?d4_@&1C_hhkc2uN>QE=(f+UE5{`% zFDvs|FE@(bE*{shdSL##bi5E`q{HJJc1)}*v`fsbUZ}O&x8P;RQ+J51*q-^cnpz3zbS3s56mOsONEH3;VQAg`J{AK(`JsxXq%?*D7l$o8Uc(ZTk zLA`~KP%2-&h-YbP47`*{^mA99cGMz--$jOtM|(6jM?DN5(%7P^M9z;-Err!6s$Z>| z(X^EJPEpm}sLl_CRnH(WzebM2I`kmRrCs=e-7doxd?MboXH z%tLgY+6Rz|ZhGR;=;^oMHhM^9I3rMll4bZ>ShKn))uboUT3G6e z87-XhStBUc1IvIa=;G&F6Sg|sn!vwGK#h;r!=@hVp;5HoV?~G_V#3p~)75 zxE%PXFok@N#V{Lue$ZlgS6b+*4_*uz^+2O1V~p|VDJ-OKULZj=`GiaL(l@HEdUEGSyCu3djg_Tkkd!!AQjmA1ui?E?{edrlpQ#SF7qIP6%p;J1Rhj#!{l#g zc9wbB;k4t;mKd4YxxbfPgQOLEmmHShTI&&5e|HQlUaTvc2ZMI`jCg(0Zy3Vzs0nNY z%)`8+0Ld;@7}NW^m%UEX-0ao-b!@QquFUHGaUassC8Dv3X3l}mrLD6#qenY*%o|Lz zhdNBTFzs&a=I6tx<=_=Op})RmISTSu@$5bF?t8zGo0Ll*Ktz!$D;+$Gu0^`V@Elvl2^z zAb+A{pRzcXy`d*2>u|UxG+7r#u))CGo!pM*8@2-@JKwM!7)8e9XqXRXOK=YEl0Y5U zyae`ssMQ^0wT9-)8HI}xJLnG0nsd1d>}!0cdK~tlGx{$6jZVi{;L5u)ZpM?j9%-!^ zozFXsXC}u~wdVci&)WrGdhZu{0~32Guy6i5fzf~Pgua5LzzXAdS_FEE0-MXYow$WR z`twdyN7kOpcHr7_2{^n*)>-YMw#vMK@GUKeH?y7gryT6^=u}#!0B^b^njo)L;Ff1F zZwSxcBW>~mY+K;3>zmgCKjaQu^@dU3Fd98T%}mE9nyzG?yle@QOjA9N=zb8&e+!m) z>ic)&pI-Ja{GQ@9iL>iO}Dx72#t5}GqZZXc%8AlQ_(HEfPDCnaIxqB7F+n| zQLN}m`n0@*(mOv4;wTtDg&QG7n}ha@LE) z4{em*$Q+u_?m8K&e|I>%aUUncwmnaV=OLmSXy$L}yqPkpKAw(i)3`KLsLPfvfQf|AL5XxB zw-jVJKd~>W70nJchpw|RVFX^NCb|Pkad{ho*vtM65%8B?OU{BPCUcbG@)lu*)j_`+AJfQYK9|uNY1n+W@~A&El85bDQ18-V!Wnl zRZ@--Y2z3bqFo)e=-#ZsF*Ux9d>$Nj0caHZ-k=)_x>##X^4H;4Iy_7DIl+lrTPN;( zdavr5jbVhYG>}bJ#|l;7kFD8ip5uBpgJg}0L(@(jx;Q1UKXH(EuyCLk`#V~C#gksws+c^CCKogEHHPT zu4BGb0_E{B-w3P6osM|=(&5)*92Blq8;4yS+zCVSeKH#PK5)B39=yn1mtd$+p(QP>1z&d*CDnNUzbdYyYvA-cvQMBzoTnnM_ zxwEL(Lrw7zJ3w4RcP;k16>>E96PQ$+L@wlS4aOI`78J{wWohTXIQUuOUkA(5bVTRE z`*}twmx`*~vkv=FrF({aQ_-886Rj8}d-w3W~3BagkT9)7BrbPw}ybT@xo=rUP}F&ink#J{gU_!9Q&J@f~r|D1&4 zuC^=0Bnr$o0nuWMnC@_25z7up)$E^HF)7LaYC+ES75M9G!So&n&D!Ta_>lR1C@7@g z*mW38+0+#mrn7mwLuPG0OpWD$*)#Unob&e)`>Vf;{pDGBSK@y?{4i%B3rOOkBFPzQ zt)>A|ZJfz8v>L}}8$yAiC9Pv06!HHkuS{o`~55XP0A@iwAZ|o*>S^!uhUS| zY)v&Mt-=GuSR@!pcA*$xSL` z#pHgi!-|)~E43K6TAGk9!u3+xUkjC-HS9FNce7%xb{mkV$x|LEwdWGAQ;zu2- z<$TwAKk#@@uE$2FJ8J2oWmovsE6puWQb_CybnD?5(YhSH!$#`V^b41|p_DYQ;2~cZ z%CFBjL0sz+YJuu>qZogl?AVe4v~mDF`LZX6nKN!^y%(ZaZU8 zOZn=jLfb_ypcSzYTKbA>Ne!zJ*LV27Yqz+t=@Zt{esN1$X_U!VJ)W;#tU5`1wx1XN z`FVl$xNB^2(%8oyVruEGFpI_v4omeN*Nx#=W>w8aY+rDk@8IYc!!aa=qx#|IWI(aX zNf<2DT4N74p5S_BWQz=YF=qF(#ugRTj1Q-Ppy(y|juV@Nkt?4RDMY&Iqn|#PtN8f_ zKjXzG*~A{BcU1<~8=eynQ56##pX4Ocy77(olS8ZF#v z@SYAY>rr`sRd%#M!?N`nP@^4C^*hC@z3g{j@!sr3{LSnf;ALfPq2Zg6pY0;d=W7gUeCH-Xu1W27<9qWp*6y&6Z|LZu-~v&7ayov!%m-X6UkJ z31~ytab@QfUZ3BenJmftp@Z0U$d_wr6}^ue=e&5Fg<5(v^EX8r=kpdFQM`Q8g^T(4 zYSrCg1?k}RpNC3^opTk2Y(C%KlAC8~Ik0=??-=C}w> zn~Rf19i>!Tiyyd7-}-n=Bl}pVAKw!gM?Rvm!eVMMqGXAZM^kV(?p6J;(61%xSWmj} zq9oX=hnspXQMW*>vG2wpI7*6n#GNMfx|O5I_dQn5A?mGri*B9**|NK}2Sf54{IxPmFDK9D4bdt(3pM~FdmFs7xK)W|*WOQ-d3B?PKP|E2? zb2!)ugoz0VbM2N_(cM+no@{`e^eYhj} za0-p;Lv$@mzJ8|;ie9c-LO+{;mFlrN52i5hqthvyXlv%oN%S?x=={zQ9+nvueT}Z* z5d+)H>44x4=FO>Jnx-jLQF9Oqr&MWkUtZMoYu=B4!s6pF#I(qgEf}3#DxGn#xQMG% zcFSXy=>?b&zQ$ZYU9LHqF2Pj^%}}?vu;B#Go$;uj%77s z2if7jWMAod9ZRQ{uqqye(D6zIlrp}@i#2*7^?dWSdTV#qz~FQ#sN%S$Omp)LSH))W zR;tieuiyjjQr++&<`XDlFFZe7Gb58Vay3@A zg#fQprQ!>`2%c@)5w;4wVrairnbh-_bBPzw%;UUs(#u$M2Q zmwk-49QVz<7(A*2U~YTuq5kuMzYn8j|5VKZ?q*d?#`|`I^RiRv6caip#5;9DLEoZ0 z^V&}WQ(2I%EYraTnr=7dQ)0M-2+R`zVkN=0&~5QljKT1t*V;OUxm^PQ>p&^yj?$I zWwp^LJkjVW9nROxN!zEL8lH07P|lnUDnwL(cvkiPY8Dq}$KsVE2c%jqk!q->OEq{t z-%cjV&ZShUIlg(JszGJ3M(XqKYt6ZhztjhoOstC83>7q8LLF_?*FzC#8Uvf;2-P|6 zf}iBCxeKzNcSipKg(!@KIU-ts_oh}F)a{NML<-1MUjcRf!$qkxh^ip{=5z57;x4~O zmxdNC)Y$#bIo_?Rnk&sq*q&5yTF;5Jr8%pqQz!ZHi^5$hAW8N$Ls=R3xhS(MEPJH< z>PDf>U-j;NHD?E7=Z59Hq8Ptvo&2pS@3v*$%}Y;OR`a>=Fcnviu0YMe@RNEYjgNan z;xz_9MQJx%hpH)vD8}g<55-^|2F_Ye)<>oTLhC1b6kjhqPm$(x^hHzQRQeD0tk(E# zeU!vSHDmj#b{j>S{!3qkP`7biYt?FwfkQ~v*9JOGCA6XZC*O2+V-o<;?ZtHX&;bb|p3x|52Qr6WALLBA@{HOgpn^p3=9^L!{lekK@$9=aTM-Cx=7x-G zJuz;aOUo=Znn^`-01jG8hj%7rs_nAWv6P9p?~a12Z_Uvt5xktNmCOfS+RjoO9q*9O z3%l{#C%Ji(xlzOH%Q#CZ(d}=a+4^tAdw7r(dOhxU=xPV?0Xt+0tKB8L$eAddxY2mz zSj6e;RI>ypACs#Rc(R_o{njupL!bI-}BQzC$P5;sd0k9c< z?N;-OYwt5`dmLkm`HwGk2+tB>D{3a1BLGlK(S5BqEN&s z0-TqbLlJE`5w_GR*!OX7;vQ)|G7^>mE{4mjsgWELdWMZsu%BeND+w#Ex%3Kk81?}W z9>^z+=#E7zt>4(+0(a>n-cTq}BD8*oLQ!S!mhH6Cqwy;)y{5t%KOkxRGiu!W@6oOf zB8S8!+V7E|mgN7yJur?3>aSC1$McHw#Wxo%#R;js5_!sB?Z33(z1?kp=*NYmqGiG8 zWAx{!pm@fqZ5`WCC13ogs>qZ0d&_Ax2rN$e8uFoJOsMSbpjH-~I+%=72l&sBE$}kdy!!jPIe0S> z$$T+e{wfzA_?Tc+X%bl8A5|KhN5tx7e)YEC!Xf^0UF2)4To;U~nDmXw)!Z>6KxZ)d zD10X}JNsW({@yBy4PNf6>_0vI?RHt_yJ1T|AotxK*r{xra6g+1p+8Hon~B6|EY-F{ zmjiSrlxZ2d560Mx{+v^9aCS-M>Y71%8;*3;-z5Z&O6y{ZRxCZclho8oofpN$8VPu90ZbPVdS6y(b~cH_~leN(Z#@+^20z`2gI> zxB4aXgA0pCJ2KrcrEQP#&|`k`arwc&(VXWtO`Ix!^pd;&mHEEwEav+wR8y`%c-fze zGpmX%g;4MFMQH5LExB)MkFoP#&?1rmXLbtAbe4Kq9n>?OoHu^OgUd+cE!mjqv`bLD zcbW zvUVIoqZQgZ-|y??zRuh@9Ynr(DN~Gg!_Zxhm?mz!@Gj2rn0^T=Zb=8slR#p_70@)1 zeL{n% z=QdDPcpnvKq732Ugr%*C^OaeG8-F!7{KkfvEr)Zp!c=hsR{7(fa{4$g`!;Cp20Ock z$qlNP2BX{xPp(Oz|JJ?lSO;Rk6qzR0*}NpoUrFCFeo+WDON zdfWL zHVX?$qV1sZaFvpL29#f%qP{HNe|3&OO*;`HP^SQ_h_vn}k?Ib%>^1z3 z*WuTBAIZ;6)OdPwiB0mJ&hsUO?=OH8^pE++(VA-_WNa&B&{VsZ;kcg+yt?tY>$MiA zvKE_4`5lhCf#0)~!vdi7*V0u)AJwU&$Un8r&O4fGytAdtYx4nayrCrbz*~R|Aw74!tRA47V*R4wu)qW$D8yBjw5VnrsHm*Wk)OKK^)!}0m z$>i4jySSg|&&*ik8*#;GGrwB5>le#AdY)fB<&i}HPIQ=bS7w~-Y^{m95_a`dcnVHe zHVx=a!tZj4x53!5pjuv47I30)tM;O8qImmQg-cOc!fcB4M|e*U)y!?SryWOKyJq74g7exB5iz|_~?!U4W<2%Y#h>Rd#TkV)!n z(jO}}hXR=o!YJW;g1Gq9hE;ZN8wb_^Z63RkV$2B z^uO*1C#Kg73iiuH#hI1Get+c3p7gd08!1xBFN&(SE_m+-RCOgq^jy8wn|U6CLgLM= zD6yGH?#D2_uN0mH3pSGS=vykrjkdArq17e%;Wsg8)@-Ju|8-??=OwXBTaZk<3+KY9 z&oClf^=!N6d2-ME5?eGByvp=XcRr1=o4Yeh#DK-;8;ciTH@Q~XB#J>h5x~ z1w+S|4yrC|pAnEf<6ea{pOAAVAx;K{x8CwQ%jr+&qifk(*5gb^2&WZg-xyDP3)*y+0HT&!@_`R`T z$zzJF_hv8na7~;r`I;DevZe-f5^wNsraT3&&Sbz zqXIhw&P&9QY*Z5;?%Rcx^`v9Fc$Cgx%-RkAV0)q45HG^Rvyo7($ zZH0fpJYFDQg<~FY4&xapWQtZXp!|t5dN7Y6@%kOS2lMEKub%uPxOOls#BVEl=j5}} z{#k>)nLjcfB95{CFYwK8_hKn5`|kPFju+2o%r%qs{w9f#-Fla@b06#dC*G_EzVul0 z={P~e9QKUmm2Gv$5Te5JLtNMkey>%_nsYQqeZP2?5=3m3Z~!o}>!K#QQS6~RR|cUf zcO0%&KenuLL(SBLXb0P37Z=F8#0FQ}SY`NZe`61Q8T{?v%5PMsv3J&t$!(u>{N!=1 zj8nmD#UC7iKw5Z9tFRl!|Ht`_HUwjp&w_x)PmAh$a2g5W8~Y75PP5tgugh04oA=(V z`}x~r&dR*mqDD(tA>UFfAJ5+~<2dB^nA2c-xmD@)?Ajgll0C?~HYCX}a94GF=Pt1uNevUFuwBi2< ze%AKF&tCZ`_QH>)qmbF*-^S0Y{VF~fKe0d||gy4W1Za+@aCG6k4R zPSMPBU`Az#M>&;rh;+9>N(vVY(1BqEB|&969POwC|A%+}Nzl|4<1QRCtf`(#HN&}q z`?6AO=mMg{T(nNpz%*a|X{dFT-(i_9i5w*KD|q^2JVX;HPoc1aR!B##84FKWH#(+? z4qrfl&1B}Q%=jYzZi*0U(*Qa%0qCKboZmY7Hcg`$FXwg{XRUD+dbpNekkt7!gV1}! zt$Yw;^$k`U=6nFi@MgbGdxX8K`Dl|68d(fI^X#$wykPvm_?ncdY~sYbj5&~BW{ z2x)g<%DMjCDczLQ21Ez*DT#k0{zYs>jOkWjxwm9n{U5;@`q^ccBQR0a;tI#>Qh$Mz zP|l+7t}}6Rby0x*dX0o78wWPd>>lM}8wYW&RjEW=6l7hEeBy5KYQ&#eQ7S%3JYgbj zba3oWUhuQA0So$TVL5$^u2kX+2QhkA#a%pO8MMFET%sZ%tbLOT6&=BW_dY$nyqgwo z*VEIuxU}D_r%zqO(+oYWc>vaOLyV9_U!mPk($XXuMe+9{?{3>bMqK#Mo&QAr zlxdcpS2q_?oS$*zjz8@B=djLxC!K%c#a8JFD%q9N;=&gxPcchF(Y!>BX>ne7#%bqS z$*0_#;)17gGFai6Lg=;@_3N&yxvOi!WkQE=k;3acSa;mpTH|6)$ezW5=xOOqhf9;j ze@)>%fL1o6R1qQMb^p%*`At%GI%Ng$RQWV<%`H6j?6c3|p_DsdsWDc%Bs}}nu~k-W zbyDpd!GmBsUt|@`=n!$$0P^edgW37si>;&1Iqhq9Fi?5V4CWIlmknl`X;|fOo7#!_F z+5%~nCVkPHbr5_B@!2*sw!i|oLnb#~iPp04bGb!{Skz#be1QNL8k zMLeiC6%T4l?f03)-m#$mg&V(@WUy;cvuFOIcMwETj(82j5ZO7e$q_b^mN?#@j~=__ z(D85XBU}@)QFV-P$&JLFqb;zsE`QxghTC`_uenl@56|hnZF||X`+?Hh*vatDnVN}B zwTHQVzE@n7{jk4ObJ3#5jkVC0<>C#hMxucG`HEF;Rn=nHNXq=eh+e*`>S6sHwrN$B z^j)cUA0jzNDz%@Z;OApfjHl%_RM*U*u{7TWbZQh+1u?NcCtte)5>2;gwTf05rr69c zRIzHsh|y=9dN$4)Vh|0ANX z5rOszV+M)e+%&{3<~lkPts-CbGXG#vdx?McZBa|^ z=^PWcQ~0g4>fKhg&nNFMr{$pPIiZyfG~B{@_G)e8IV$4}Klc7hyvGTCebe{!fsHPy zaD+ZQ2{f^cmq{8=yALlXAMQv#{EeJW)F4tUTC?vlKi;fS{51o}GEnCNwx`3UxI#R6 zp{fA^L|$LF*fyML@>TS*YpKL5HyhvON9I}iD@M}DIexW$Iri~&d{K<`^|ad(qrb;I zIF|PF-9m|^Lzv?V!whJNC+YKmpyk4)A0b7;KJ#-mRf?(>HNHl>x|QdA>iHhyudo|M zg4t#l#X({dno{jy>Tr6f)xWg1-}dF{+Rw+mHI&*i4jvV22pYvEGAnmwUhYJJxZf17 za@(~Z;bsq_fA(0|-_*L7Q{lH5aqS?uV_>=CoPQOY{j8HGvUneYC4|NjB$?DrB^CJ3 z7?vV&XWQXEe%0d4vwbv4;otToqyPF7_{PC;nou6iV0}uz$5gBAKlUtJMOip6oF~=( z>uYDx%7Ya`~v7w)1f#UTu8LziqLjugmv9>kMVNV3WG z4M}c_ozOaTWnfu42E82IB(b7$r#G_|4l^aqo!#k5pJ4C~dD0f6^VUIjf?msFs`THq z&YisHWWS?rMhpJSH>c2mUJ z(*4(*L>lK0u$#uf*mw$~HG#=Fo@NSZ83t{o%B@LOI$@yNa`7aT_b?=BXHTmJx; ztbdj3X2EXh-;W&nflL2OYO^+-pJjsJ^S$&z|5E%9f`3$nrroG)BXB3sWICpJ4O4lr z&G>7YOh(gVLoRb54O_$TXUy!QzU|8E9@IaD6=;EFdR%G8w`I@Ryz3)Pz9uOWqN_n*?|nM@35Ivl^leA(+Ra(~Z62a3 z>h|Eb-=#zFy)RS`H<7uE%W5*jl_{F+v(Io5*iA-{EtuI{Bjb13kQQ6}u;N1fBu0NQ z(9l(5*CK=(7zG6jFLYQ#P2Y&ItEH|{(`WlFM2~P1xFD!?B@zhE00MJwQO*N4_^0VP z91r%QCwOA*nwKeCjq~{J<3Fl{QIvu1!>LJAZio2i7MeOzS0dHVE&8Yu zKHQgla6-rB`jFR$Z>x=01^PGjw2r4(fuwCBW%{ju%Rl)`@AUFdcJUqJ@jeXe*yH}& zp)3Nv5sqjLfq7o^!;7KL){oP59G}NqGT-z9TIQJMTb4Q`nppSOVmw$>7L1mLhq#B5 z@HcL->2PB*YKM-y+S$cXaD<0*5yPsKNw!Q@oA2O~WgGD`Q*C}dOKtD~N zpo=pQUnYFgiY%qbXt@P?adP%|(_; z!pbc2s~>*v4gY2CuKINw{FPRR=vc!#o8`q-RK4N7w}|&aJClY~fRMooCWDGJKTbaP z<@C}xfUohP7-DOB)gi$JiO~W;C)RZyCmMQ*z9U7=n)6Sgpo=AA8+3RUPX27pM(P(G%^8G2tqYlv?A6^tX5Nv2Esv9 zq6h@FHNK5{i^`QmXeBSsIZ39&B&Z-zMZEQeZ>$1yP9zVYNl?`As0Kleh<3(Mi((-> zuKE9dYtNjV1iZEP{=dujkux*^bg#aQg0iNNkA#FYPiv)l$}GD*u(j64tN`Wby}D{ z7p&z^oXhkm=Q2*evN}>mBJVGVHl=$#C*I>$vX9}#A zMxkrL;tfe!_(LXw%n9lL**~LesrbhqsHLikjR`1AaCKj&rdKHNf{j#lBM3N9o!h09 z_(Cx_eRW|kg)VJnkJAz&f5YdcUTtJs%=n|$L7c!KFI~g3j#$kWeg;loLs7Xvb#%ZQ zp7$mci-3RF2l`6MY!MI6J}5!>Doa&kiJVhgKyd@VPWT-kJOy!$-ZQGC`z;4{A!-jd zIzNDlg#d7YH?&vZPHatV!HQlFyn$Qsz=G1Lbgxq*jG_$|xfUQX5I>{dN;uR{kTJn3&aSeFT6$)tuM@OY!hc#L2#1!uJA9~}7Ndtn5a zJz>PcgK&+Io3Q{W@ktn+Ystw)?jl;bQgN_iM1uc}-^;1-KM1Z`{+sq%d$)%*NJ2+7 zFd*d2*s=6LL~#abiQ(qbQnWK=JAi!#*bsVJq&}cUybvrYoGUS5C@Gz1&0s%p$ug}2 z1W|5SW;EX4i#=jv(UpiX_3#`ZNsdka71?A*qJ{bC22bgFtWAk&y*4HMy*DL@Bvf*g zqq1LSq@u0XN-FZQClRwJ0m8bO&tfw|1=ji#wR}USIJv#9uR1-cg_faWt-6}PQo5Ru zcp_ct#K_AdM$hq-9>!ZX<%A=*!^7R$zh2G2|cETK14FK#|YD9(vYK29e1&ii zcpjf4t$0VY+P;y`SSRNHCAIrh?Q$ao`aomFd8o?(UQVzilW5T{`iCKjK!F)Cx{aj- z-*}C~QCBCU0}J*1GQB9|v1yx;zeMqBu%S!;hC2`v6Vl8%MVBa%OZ5O8z{>Qz`9@yI z$ekZ-NW>Me83>hEmC=d=B%xf014K#A49wT&r{K91z8htkc~x3P65gzl1d{xr#^@Z} zzl3fWPY^O96iBQOfWLfN=pN+PYR<=Bm?@8o3R5}C>}5E7ivg}kb@E~us$8@Nm?U{x*bCnG7(%ZmPzPzI`S9_RcJSW|y15^JG( zaH4}CSzULR0tOtrlFd@>abbE2b!)40S4XLApb@=w>8Q649A@fzbx9*=yaqr~kK_sl z9;qt@e0S|Vn6T$BB%*Uyn&Xe}QutnKtQJrtoT)IghtZtLl|s7e%KoD#>V~D@#=%u)lavm{4hxa5!#yEI$2i&9&B?$jD)7UqanPRtD+kPQKgT10^1#8KTN-Md>QFOn3%$ z1rPO$Jc=|ebS<()9>*h2PC7YwiDyKQ?OZNYCQo5Na-wjbQw;fxcB6wpC!r6x@DZVe ztSX$tFs^j__rN`2Byt{h~S02~;VM2eq8Wk_g-ATz6xP+82K- zBQw=o2C5ZPiudZe8<~Ml&iM8Fkr~_4;4exXpZ&^Lz=PYKatMq0e<>N13!9hnl!uoW zF+Kuio8-E7ZjEl#CFV@V4z(1Ah@e_16Z}*AK+T@#1m|lgtW_UG>%oR^IZbcQ*wN^m z!UH7QORb4|qgD3kl7!loAjQ%Hb?!PhiMB;$Y+&`WIh1UV#M&6-K6VTob+}tyD$hj^ zy1wBb1V_vZTZ*nQRHz&kWEH+$%0H(1TgZpGKP$N(jU3ar>%DKhN@D8|IK*)u0pxn) z3=)b{=5?^Ox<~W`0nXc07gc(&Gg+&I`-b<9QOf%-#S859jtcG<|BL7MuRvuyzwfQz zbV7kjCb~DM6m?=F1uKfh^U*tO>`#chgzqhqf-!I8NP~npIM&MTSG`tlDZN*27V1e? zH&+NJNYt0tFe=D02S9aPu7;(XT-)X%!rebs_jE-TtiTek*L@m?-MiFqU5sIL||(BjJIKxp|?*I3lk3ZlwOf!;t;H$RF}r7E?_X}IP+K8 ziRKhOIkxh)sc8M~y>LQYGZ`7g+)+cvCVlIG^+o@N?YYr1YQ;Me_`(4~1Et;5pTE2n zxNjxd=|kgQt-@*p*On6Hm_L$oYt*j-PTp-g|ojTKvV@YTwVHMOFEROvpS?@-uC9 z>d!rQfx`CyMfdjMCAZU~py=Ihdnk@fse@9U{DuUqNTLiX zMwoTNa-F1A1W^t%0a=@NP-*0-z1oGipwy<=tJ30wTJTvp|@hAq>2g4q|ES&hMnZtlG8X1mI2XBiI+}f1dwEOnG$W>A! zr^>)fC`F-w|LTT9lzFZhay{@;7GvURHE+P)4TzLwK}Rqk+#`)WL$<_DibpWm2vd)Y z8ct5+zdr(4R6=6quF!)w5X<61tgRlVtsa}$_*ojxFeI+WGfqwV<)KgFdOd%ow)z?$ zzV>b0B{|mNxt|1^z(arYyd=HILKZ*X2E=7K&dYKQ$bpr?*c0M%4D@nn<%jzZ z>6>8sk{F{lv=<&E02vFeH;5=~g5V8Ch?VY$vc>>s(x>Vs^oh%)mk>s$<{l!Z$ifl0 znrHc#`v$fjYq&jN{`9e{Ai7a4sQ1Xd+U^^3));;wS=#JjJvN|3>J`M?hv=xJM3)a;)OGoZJNvAq#PP9ex8lmDf8X`Ktgh)QqUN z@obuMzYDA|^KJMAuoOWUh?bPoO0u<45dls-tPLDyhHnO3%yy?_+li0K);mXMlbFxQ zmMz)ZCEGD->vU@y#_p|6XP>b@^7;}yAhg{S^YuB*;5puV^Yst&zn9JFsutZ~ZQr$2 z1zDH*`gQzUJ6Y8$`t1+g?^dD5*H5ZyL1mZuyG(+s=~rP!rhgk~Sxcmwi^}l5Iq(La z6ZB=w)O&v&$B8C^a}!&F4L(&34C}wOVPgRInZ86i0$?Ict4iWe3WDG87eR26s;=mR zh^`#m2wR(0HI`QoBE#6e{PkCj?N@b8e+_4cOhY3DX&=M~7O=`)(LubtJDeO*CQ_VqaGv(m_4VdPruR$7&BnCj;E;}cas z#~+_mHSKu86@+K2d4-SJ#-Hfo>*#!MK&Zs9Ha-JrGjH@)O&it+=*`$)HGY^^@vtP& z2)3%G@kuF(0Du%5JE&>=af1fqQ{s8}lQbQF`pk*t`_YSdAM#G@eP{yS(;#{*^uZi^ zvL4tlswHSAEz#FC9zvtX1JdJ%A$xOxo3TI%TN}YrKTgCp7WVnwvOc(;wxDdo#W-Jx z;wU#x%ks(5>iy=WM)1A6S(_6knh?rNTy|Q|AK7YhIw*r z8Xt>SB8Jf-MDgy5h^Sfx-`_5MSu+31$m-T#43mZ9-hT+cf!P*Go5FIVHjB(P*@(ID z1ojV-6*ouW!9E-A9&ji$Og0XrBsLmhX4L8zo_R5I%GmM^17#9p`Ly~)(hp`QtHt=v zg;pesDgFjOXnf&jEHss{g;J(5(IjB1rXM&yz4H1Y)L^V)S6Gk0h`!~nz~wF2&b-lw zJvkXO<1@U$5Xal(cw-qmj}peh(G+DWyHDe9O4ayGcO*>9>|tz_&TE9dr#gkX zD;3+4GRHCpb-}6dFrn~VB5U{^S~v+t6&#PU#ItBTUYHYmOw`ltyz4NhpI2~u@+V5u7CzL1sc@UI1Or=r$ObJ(~_p>c~sS=BhR&Q zd9L&FTyGX4kLYT@LY`m8<+;Jjlke$jHzLPPaXD`Ga@?Y{H0Rd<8fc+TZFLe}7&2-Z zZa@$M0)K;x&z%T|4-C8`-&8Bf+6Bx3O=ufaA7g61zkWPZ=L#Ncxdm#kW@<505$W@G zq}JB39F!g6V+m7llCnU`_~TE~R!@U$gU;HD2{Lmp4|{1KgbZHgHlhjAupMMR;~JvC}=EVYZyS<>Jdrf%qtVIqATee zNk>H@4sxp~3hcee6PBDNp)rbKMThOSPogeg6Azl#qockI5OH9l&{+?kiHxA^$-wlq zfj*!Z%t|beKUr2U^3=!3UzxZrajRDKDS^p-DRa9v|9w1ii7bV?IlM%cR8klYQpYzIqskrMj|l6s)9gx8`fgHIaMSnc?URl<{O-*oTa!#E=0mjliXS ze9x}}qhn>`uO9@I0tqRRbUu7ce1OPlVgvw_zaD`WFZ956dN?0tjl4Dnbe)1nivhmO zMbavG*0pJYDL&^raEy=Xg87GzECU>psO5!I#npT~|N7$ktk?mDk z89?R7N?JK`;hsRWt<^BzwD`4uMPhQ`V3B+^yW$GOZ!CMvHG#@aBFZy-^-}Pxeuke@Tq-(iQNmG1#E#M5G_n*9@tMXnCeVs zqpSczW-yP4rS;C)$io0X;anQZAh-I!M4`(mJnN~R?VgWf!0LLZ6W)Ck2}#TE*fW%>=5+6Uf=R(>$A=`^OX#=&y)c|3w z-lwU78w?A%E-YVwzldu(q(tKojys-;b>(cj*HIo!g6}5%3yb8u+}6UC_7rDpoJICSboAumnE>|%$;aU zD%GVddI%iNyN=M#qxH6F9=B*=VJa-h*eJ%JXvtm~>M~8VD{Sx(o0!BnT#l@hdDM-> z3N9ABaWQJ-h7Z zE^FA62`eIYt!v!XADYtprf=}+QpXpi1L$nlxGM>jvYz*iCE_+!Cbmq#6#T3d;jqBdH9M!3Qe`?86oVJuu~SEse;D|dwb@|K?w-*iHcj}{Hpf%+7hbfWyaVuF#{dq&Yx=L?TKi0 z=n2Mz8Tb-NQ8$+XBlcui$qQg`FM$TqT9{}3o+Mq@s|gRVbjD=t^p5&!VS0QSL(OrW zxZPT-*p5yM`$stjbajxL=E<_+j>Mv8um}2OG);jKJD*ez0V<&GCRAqNGg8b9e1#vs z6=UKT-{Nj64CuSDOZk<)83RCHuh{sr(#@R%*6XbWdj41PMRD_Hn=woSpEZ7oaiSxX z$`)AZ^!_rY4t%Z4S#Y)pmD`#|n7|}>=WHg2w;h<<1+HEAimeaYg#ca~egNJ!{P?Yh zSPo_EWDmS;daI66iQ%%@28`~&Y7`(a6Y9Clur&s_?Pgfd4Dd7FsplgytKN#DM|WkH z+ZBPtTEezzIQ8H@Z=`)bV77h))VuymvH?ftqgh%xHw7CyxQ&7Jc7B77g*Uv=DmZc& z!BB#~Wo*gVoY6-2otdB}qgWyfaY7jr*cREX+Kth#5gSsfYU5EFsd0o#f+3o@9oC?F zfl=^k+bu#u(4^zy0|>W%-bihAgP`$5W+NJlP#08EbRePQ_PM^y##s+QG`gXtHv$T5 zyn>YpirSc0K7wM+{4Lzez##>6Yc9MLwR^VjWVsKI^^08c+c&`zDi~-j?h0&zYPl49 zR9oZ6Pv%wx&CT0no$5k`s?f6EZd-|t=5C5UGV=0=b<9&*u(6-sa^OoY-%d$lt;h`lMS zr$50xFTMH=5=x8rbk<=h>5t{4R&^?-;l|EBa!PL?p0%2HP%Gx7p`4!sZz7*om4;_D ziF^XwEgs^Jyb8vVF}u!5g6UVAKTq5yUL8?!z#yVCYt>p_v)!m`VoczMJzod`i$e*){Rm6R{@6 zoPN66pLSZ12!L;H5rEUT3BVTvC<#D}0PC%5*&Nrsz)i9Yqi&`_wf0Z9VS?6x39Gdg zp)6;*R?4MF-|9D8NjjfZGmIK`vM0K zEI8|^*megJo$C?jrdQDJ3u2k?Qy7qF_FQ$qeR~j^qB6%$Bi?flxG5Lx!mTK}hW;8! z$lS3ROyFRgbU}y2>pDye9IdVx_aR@MQKpf*Bwox{xHKjOH>J9JJ^qdhcD9e(~PI6QKu0 zk*s7O?)#aLi1poNr(RrA71$@KZ^fm)iByqz?tUj$fv2SBj0x-u9)7Uoo3cChm1?Ui z>5TnL6h2ecNw3p=WC>I|60H*~Yp2Il#{m>`_URcr1fSaKGBXubZo|uQWRn5deK8( zq5UTZ8`7yy-Ubh`7*Xm-lv*K5p-i0OP?7K=L~b6iH11e*85h9b5n@oTzW&s*!zFQq z;rhvE{{+e657^89B9MIU4P(+L1iyQ*WFOA-t}Y{S%04T-u&wZ?AWy`l18Bs0*ti6w zr3(YdWY2g3Fcl|f><>1dPW)o!e~JDzj(ULb7bG_B8rIl8SS(t5t?7Arc?Z7IR^M7w1Fqb_oT8c%`ezjr+SK8NG!rehNAUZkmDH=h5)xi@I(V{r#> z$$obn{dc6oXi_t`kg9Qo8b}*EhU1R;#=}WJBfj;}aw0o;aJE*%cvK)@hW<9F2TPDp zPmDeTVf4X1Ge5)1<_m8GO@A9PukX|GMo)h7#@7fhzN(GNCBCYynUCYK*Lp-^AVLbR zyC}z}nNJ`CLLz3i7MC)hs!bNjOCI$W0-l!ikr!;#`5DDDZ;zQAG+%oX1+XmSl?SK0 zqwvRw^@6YFYm|xz)Gr}bWBw!R{)2tbfae%XHDD*Axjb8&Ka0!YfbIEfkZ=s^<%9S~ zI9LX1bna#r#3}qAgi?*w+Z|8wpU20{XB1Uzdq>a_*aCvlyD&||(RLNzvAwLECbqUu z-r*Y=+~C`pmC}&LkeOWp$QxH0L2ue6VVP5#x z;?Mq``quZxpA~%e!sJfFSu2 zdctzXB_-d^=UY)~c>f#*h>DL3g($?uXJ7!RP}fz3C;+R1nCPM)3_Q0xjbgc{Xn|Ip zh-y@<@0qOd=vd!9!g(M0CGJ-eEZOsRs{23~ z^&7`{*g#-U=4Hv+{GX_270OwxNjOKr>vj4pC7({irzp*1 zZgB9y%z`5Vl4Yr6L6Dm+cUa_MjixSh!QoSCjOG*1154WK3R?G?D!6Lc+f?xkeoC4u zp2bhX$kM8c=kTE78MQ!H#je@rP9sz?5)7&)-F1!j;Knb9RizF?Zg@ll8#14C z&VMU>)l=7F96lngC$1F!j*T(68Ng2Qcd=7o{$Kbg5mrwBsxoXd+ryNvi9L8^Y2%m2 z6Kz$kg1)3+V;`aq`bjtXl+-^q{uK5&<-uYmNK_gg{&ugJl!or26DTYPn-YbmQkx=E zQPTsSlWPT&P#B2lUoVegaU-!&F*^hU3zkHTFWRAapV9`U#z#aF6%hLV9;tM3{0)~LPEM3ZoDO|n5=c~3{Ef!sai z&1B1-vAEB4mCtl97PnDs>y^xhhw^6b<0^hU;zjc}f@~?V^`aaGpu?j!ea z2k}k+nf~)n^vPF9`+z@ax%%V_@_v*)2~ASp4}E%W?DhhQzyBcO@6V2{FI@a(Y%l&& zB7nCeBsMkzzAQK)A-Mn>iHL`drrM4RuJdib$KElbYWqE3GN^g4c-R5VK)sa6FoW<{ zQ2*=>gN-2c)!X|{rczB->A@doqn+kJJNj~LeY!j9b*%sH`a<=8TW@{(BUt?Zh5mo# z^}m%HA#VToAl^0L+KK-Ax8Jiz`u|nW{!6^;0CdV9-2Z7_|8ax~>(767zChx~+|Z33 zO6@z=Lj{qg4py1GMtvdCMju}UlG(5PxHB5O$kuB6lFEndhgx+w=a_OW?k-QqALw*x zm{vu{lwcz2>?zbN#G>LfV~s&BZf(%ab+ej;l?(aR&p_hk`(vB6=~`ty;OH6|UWja> z4=A0;{>Pt@6S~{K5Wi#-Jh+ zygtOR70xz{z|n!0;dz^m5fh~235l)X%^$e`ON^LUlK611V#b~49Y%=+07!I815p48}lOsDD1^V!C3>}$x10fl@3n|pu= z^yF6KQl$ntl$S@ikXur4z1lk+N494pn+mF8$hI#U^amT#a0VTWLefj5F7Ei|Du9nV z*7m*I(0jmp@sZ0P2QAb#v>Um64^AOa`PNnB@^iH6r9iww6c-aJZY#0ncH&F;Gy&&s z+}2i)VBUHc>#N@rlPcf_bwLcDFHVx6`a)6R%6*0|8$m64?gp6HN3GY}5*x7D#EO?n zaW|;Ms~?+l67{yF2jH-8(R>R?QmpTxC%A>Jo%u(Xs_+0Ip$v)M$mJAi5+iLQv(W-e z-l`{TtQ%icd>H6!WMqVg;fjD9VhCX3k>mDjpz0USb|oNGi}KY$8SF{sH6V_?*Odlr zC4Qs5`Z3)**-hLgh=3X9oFuPfgg`nrSv@F^qHacYJ9hPdc6TftIlrf4XR2%|(Ff6a ztG}u;P2CetwV!r;F0Ek8S3R`%Q?*wPEypiKgn{$9z;Vx)?)I}KpmJU}D&ZjE22>HG z#!iU%(Q_9&#fjshz^h#GJu+k1E!)THkw;BAsnuoC)8jSP7KVY@&uu zsCWQAyA`Uta~W!ZaQY!g!4N+tyT*`G%C*2Tks|1526P@$rZFp}6!B;FMv9A(I>87% zuOKQ;BeXNH$=407%P-y3`+cg~v7xDGsHOozxZWcO zIRt3)+0P=s7hp;WSCY<6cxSDLQG!+~3iR+*1(;rax|7d=Wp zpfOI2xe5q#6SYNxP8xEOFa+l|kGX~O)DP7W6R8_N$WsZdUanez+5T!+|l(pjmVHA$$aq7qFROSSPw_r>XuV zn_;Pn<8zkR#c9$Qvl)vvu_20bYFU!kkY))L(U0%R>~U)ikS}Ld_XgYHZvfB41dIkY zxQs1WvspWAa<#wnn)%za>=P4@U1c$<3`)AKvIV7Oc7iRt{JyKSD-pM*f|yt z&hG?3(jig^2n`{U99tg>L)BYaXgD(TkmC_{M6Y2N$Pn{a0guZ?0p4t^VMU%T{95$K zSi>ITPRYAn##5}g{0Q=mRt!-?$`2P-$o#N$1bn?(W(^Vbio4wCk{7?agVFx{`d%(p zsL{K3og6+56GPnb`QTa(ynb5fzkrz1^VMsT7W%o!#&7UZeZoH9$LNY2F?CWPL*Wqv z{&DsJODYFqgPtXYxFk`Z`WL;2U@^xhIK%?GUko{}uj_#zi6!bJFw9AqQzn4*8{yr2 zQp{wxgmA2XUB|}nOJ8!gq(9FFF8+}`FXQu*h{ug`5ApfDKge^K&ld*x>^#7E3$GFA z+jx~ry@cT)&^Uz-!dN;1_sIZVD@mt~&M+$GmDI|~jmT007gSwfjiRzH?$DI#i#emI zCknH?7CJn8h_oWyyG(?s_pBK?H3Nq27;-{b@mOG%7h6)w&Fg+po zA5@KCJ%^zm4rqP*G0Pr&Rar6$?=2Vp`K}A=Zg>ZGAxLdE!n8HvZ}ClG2rq}^g*|oN z1z6T#))LM}XElEyy!T>QQi$4*Rl%6SbIs0UERs$Deggnx{5h5Q7WogR z7W3(TKFwkko__-EFMIr=^v(gcdrP1qA48R3Y;?O*{X1gN@S_`lCPJ5T{qrNJg|0wN zP*#0#fqE9$FwPrk@NEzLQoQ&$d69pY{L`nxyQ-Gd$vi(B+I{Je%=4>$m3Ck8PkZif z{@N_vi6=N3lGm z0YU}s;{L|PJQzTggK)ubDi`d4yXds&g@8({zKb#wEMQI;SX+a3k#&TLO#x`=<^Ce z^m^6SGzL2};CYM5HERsmKnvZ0M{NzAg#3~HtP3Ez;9aIbK%6;%BvD#1i##M2q;gu2 z2)Zr-bkQ|V+TygySXkyJ$~Huq2%Uk|mR9piG%`^O!^w<=l8qa&s%$eRF#KESY%0`f z-AaB3t-G^}+tWXX1wjJ=0OTmWN@bDb%!}*G*QnI(%NKaWwJ7JYBGgFgDr`DqKnN^F zqm$7?`)Z6V>UdcUfq;+M{P;`tG4vOJgZ^VUA9jcGiS7v(>jqV?I{ya9upgY6w^yri zs4E8c))pas6t|I81Y4*oE-kNmT+tcz8gju6?G*DkhhYV=;bM0wBb3=kd{y%_WUwue%~i?ZgBuZ_ZdSCTGDk&6ap?fmgfXRVm1B!SI$SsfNFYhf2`TksRonjB96q2o_Q=QRWR2l7 zLE(_&K~)zGLKO1^h1gSZ3;Gp+EZ8|n3-86pf?&x&Uo@L+5q<&h?0s}BUMChvJjO@y z&73eea=mIX8Ljski!b~^T1MZjOs6YBAffT{Z2LRv%i`r{4iL=54z~2fqd~@_$&I>y9@BNMHf4JjkZ4eAbN3h}=+sq%vBY;f1DiRA9^JSx;dO$fxSIOab(sMhZcF4d zbh4h~5q?twWH&FL3)seeZhp6yQNcz}>9(g_FpvuBoS;=Sk?Gf{ zHTVNAl3cW|M@H~t>In(fLZrY7LX;~J`5e=NC8-!3|G~*@9~jlU-zX!mIElVGr9WJbx|726-yh_{g4Wwb4hDX zV4$ya78r~@h)55*r-AG;^Z@btQPa^v;03S{3mqi{RPTK#3#P62zlX!hC*u$C8^^gM z&M(wwuOFwXegJG4A3||&!dz9#Nl`o`%p22DmnUH#M}j%wEnh5cUhF{1GWRsMDKof2sh3x8^13WJJI9v{zQuw;E-GUHwZM>tA3(O#Iu+kN^M& zVuCTR>yJ6D@o*nqVnIb`a&pVZsc;yVe#F`CW`39?AGDC&3AXZm1YS$1eTj8KX~}+4 zBpGyi%zSbTlxV_#YnN3Q7NkP>aq*7z7Zc zwZdLKMb<}1$6RruR>KWEJPp=DJo#rOx1zDwh2B<>nEi8MT%lo}Y?|3Gj{@;u}RmVLGl|X^8mjIVZ7--fEfFa8Xv6;A| zbl+T8^pm^`di2iz0BO#1=mlpdrn~c_H!}LGR-(_M7^uyriuy)Zu@X$X9_m+nl`7QF zW2IA2DQQ23w4aO+6DT>CAJX~ZQu!bYOf57+vifnK<%tRP@3JmA&MUKkZ=}yVh@~P8c z!qz{C-i)@U>rHf%s(pD!6rrlFW5>aH89U%h3hm#z{Hh686H2n5U<7N7QGluA1b11J z6FjVyo@V-fZH6k!)__nJL78)si*_Tz>FiIsMlPDcK4I~#Mm#m(P25N`%+5*&$oXOVZIa9{7NTh&8C=vnGLa6u-Z@WDzbMCZ` z&AmU4oieTC&E6lUPMFs5TN@+?%1?f!P8tNjx~=6@FTD7!sQ0FJH^YnDJZe7Tq?5zMH@y`;ogF1MI`Jm6g| z%zX!mSoNm9xD)-*Ym@|Pzjzk(T;F@!)kY1?Msl%@v0U~QVccrLUKW~8 zsm%uD;M`OkHUILI#MaI9%Sf~2E9sQVWDbf&9-US}DF@(+Y1ED~GN_};7mtiQ#(WqF zwn^oEG1s(_f?IAYtc6rc0Y~6lK;VsgaXFU8v zy4jyYr6wjIjcK+_He_JHqZo+@fNIKsK?X4sRAFQoHHB*k0u`4EOGP8k&nW_xNbk`X~+4ztvRfR8Au*WA_U;v>K?rWEUd*jacHKSz)mdeZ-&qyAx8z#KT-GaI-7U!OQ6qFe zIvXedqY3Dh-f5qQsoX)Ze%C%32Rqop+jHeER2}VEwF0-x`1V~fa1@uSF({BUawHO% zm^i)&nY*`IE6K{n8d)f*?etm!n_3W%I}n*2%+p6hCESpL)0D#5$HM3qXxKj(qtC=L zAB9o$z_|^B^Eb;$lCkbup>8Z&hM&hli9m;yuyh3@f=EJ_Q@TgpYaSskMJr%Ja3`x$ z`4Gp~OHOApkSe}Aq=2lMS(lRV&Mj0FMG&agT(6D`sr)smPcH8F88yT#x7J#fvx*_$ zFFjDt@9^yiHXwNBCibA1=b=*w&3doFWb0goSicnmejar8Zs2QW8(w-E*Ml2Xp0r3h zisROE&^CXQWwC>7g2=f+2B>I$r104+f#317;l}YWG*M%*aK2!Z%mcmqI;vJ4f*&b$1wLA;gH& zfnlMj6@ieV5cP&MH%gGpaX^z`@lLqA@>&e+vx6lSxo`vl$B&%%*s1K~NFA_HJL{gA zGbmW=gy@h*Chnuc{;luNBT>CN=xV1C9`3zEN#@v*yu=+P-C-!+JA{9f$lTty4Hav3 z*}jjzMuucKYR3C#N@03tqAj>)vI=&26>3rC3sAIg!Q@YP#9p;Lj@!c)o*orYiG(!#;~{1d$5R-TE$_D_QiN+}U+VH8d9`nnMU zM76AcC}1S6<1ty_${5ED*BB&EGUH;-LwZ|qeM(}hkv&2|spiQzMlXuhnK?6AtCp)lOwF$3}!O}y9~Y}5HG7L%-|JBh+Vr3^x*0-7J>g<`L}H4GvGp$W_Vq4U*)hto?vks_GUvEi-;go1bHZm*yUJjc?wt# zo@28y*vt24x3|gGh9(nn`1ojS%J%#{+i{o*;|C=92rOX_L9LlG z`Ipu?TLF2@zU{3KE_RpAb72(1VJwN~w42Tei9it?ui(N0@!>i68nO@r$dF8mtP%|B zy@#{(q;`x(FYJC#h!uu zks)X@`t%l=<&>MEGHG2MUl{=9#xRGMWF?=Sr|$-W4OJC%dAME%m{ZvoeF1=OxpG^?TI!z54U z!_apTR{>W5K;Xsp^2V(-#>1VM+?;w~-pcmA$ry27HzT1QgIcb7 zs}o9L+$qj>u3@Q56*%3C3ndes^O*Q^H_;i&H>e3ByE|43eL7l##k--hT>~zxrEi0u5uQkR?H{d_fIGFf^+cwC=Z7da3u^b@S%$V%!clalCecC z6&`UXmY&upFnb|9p!6V(I7X0w>W|Ql1MBLI`-9|vKXzWp>B4m3hLW>5#4@%BO3;Ut zrDl*eF0wHMobVc#0`Gv)FqXWz*w^(4!v@75)b|H399^``jZZ&fq^Q{*F*tyZp6Xw` zznd_p;4HL^GZKbUUbI;mydh*W457zHt@=WcUfHvZN2GUq5kz7F6voME#>5eXA3&#m zl#NB;RwX?Ew9M=mqn^yyg#a7mtZ|g~RK3l9{Y&uI-@soz^#?gW7Jpv|O|8ut4bwCB z!(;de^`Y=K&=C{+qTBIXJCqHEZ&sheH@Lso;rDxeeedGb305WNQYo~cdwTXOyenVX z$S_vS(SiBKUW6>l&oV1FaNRU5v;pfut@2yIlSQkb7J3dwC#{lB6j`?w-I0z!lb9v7 z%5%`$tjS}?TXE0?6ByY>xe8)m5sk#lE{ob`z2hMW<}$u6HOIkj*d61w+OiLXxh zHqzs{kMek)fqS+MAqo;bbMy$85A5SXB?~RN`~!BQB3?V0=>+H^>c5`T^ML(A!Std_ z*v1ZLrPUr4+L?^1{`m~3NOQZ%BY!-l<>wPu2f~pG{sArd1}XVq@WLWkczN;&zk+f z%-R+P6Jw3V8@kSHtxDuIU*`=R9Q(Xf6uYfmN+nOEc~@HQoH8ZHM9V_ z4vfob`gI)`ztL)51-9W)+olDd!IQxMwyT0bU=T)o;vppTa9QMVfV<&*l+bF%;BRm( zKlRZTMtftY=xA#UcLCpdsY-JbRx{M?>`#!edkdkO&X1FuYVkOp>9J zZmRLlAg0|jAK4=jTD2~ia(%s(ksK-48b}GJvq9wvyl5nzm7x<3zCsBt^kN#gp{5PZ ztIMc#^GxPib~eii)(usAnBNhq8GlDht;1D)@|^j;E^pfWIS5LCi!9e`75C!FFxjRx z1$=HSA}C-p$`Ucxf=n@M%$H!?_}j3Qm#YVcFs}k^6)QAW5e!_7!RKWJY_vQNmsDNA zc9EhGAiyQI4f^IH=|Jg_x&Di!L$i|gO4)Q+%$X`iaGS8Z;}M&HP?VIjHWVObrH(gG zD@LB9_DSq^9cW)PjgSc(8C&`&&s`-P;J-_@*29yTL%y9D@6j9jhuWB>(`AaWjJb%j z+8M5>AkEj_1dab4pcno)&(HwyYiumqN}Ku1Zl{ zRadRVR8PiQLB&rwz9YYDXTNxp~p>`Y}|7HGA~0;-;iICCnzG=AAP_)TJPS7Pu`;;=0T zwglIW)>E8SFi2%_6{3Z5zy@07cuJ-_X54dMVOrKL1+!*q;bNFdlp^Eq2Y1iMiX&=W z8(&O0c#OKKfDswE4ao222t@{B-994*xI$2{JrUQ@N-5_!K!u65`;xKkaAmEf#nnF52XmE8 zO7@nQo2d>9OdhigRUPu#1wgHv6vyYS+mw6c-ze4BsH0M0&Ku5^F*Ih4zkKRsgtWq> zo5h`REqoH7?Z&D)^$_M!5}6I-Ei#~Z7B)Qea5hrSFc1y#F`j>WgFXbH>*0%$WSGnr zJm}Y|pMaOM+Qv$3aj*VLNCq>t7;APy&MfUC^%~15;ZKx$Gr!?MsgIx&Vg9WA3w0yt z+J->q;lz~)K6}cqffH#h(`3tq?&a(w!pOz1H@}J ze?n##IZb#(^|H}rhG(EWhj86#3j2QhLg>gr>7CDzWMdICxlAPai4akl+!5KA>bc}i zl!A&a2^!USw=Z_hub7Jn%apuY&BL?`N`JF1$JV?Sk}ExH76TRdFlD?JswUi*V~1V~ zT?5U}Sj4_xw1|~x<^-x75Db#+8MCL4a+|GF;Nxh2tRFGM`rRIJ zkK7BB?svqeR`CE%mzWiBw&=d=@qqYvVt?HnLfQL-pz2owbYHa+2Z>z*?`I|5z>M#I*#x zhaba?jmoW7uhf=2)gyr~hG1dv{&8hJD0h41{=jmp&I5?5XFy6_0$9jH<696V#v;-S zmp8h?vNhOViu5#|Ao1h5@k=UhsR)lQ-%}dD^app9a*Pu?h)f_6y^`RJnPG!_MU?a!yVsD1n>)Se{e?5%~!Ax#X9_(Pkc-Y^c^6bxy#3#g?&W=6=^0+D^N(uvKizVY;6_LSeth@^cOiAqhX5C_eOY;18UJH zrJx#e$%Kiz{Bn4V!o-xhjAYe9*P*zvh|flt{4(l81bN%4g%;tvAZ~#|ZER+#oC4G? z6V`(1rIx9fTrzgp_aebCnE+S2>O#uTRR-QVE}<;3)*)vODNZy#d^fg5SBIJG@yZ4d z8)u-NOld%?J_oggca+pwj0=MRFt}!*@nD~&qu@lS^9;)RqNh+k`j&#xXMcGO+#whA zHhnqQ!v3sOer(Bw2h)zg6`m|cu>-EJx&eUTAekuaaMeT@KiJ+9(si-#nBg|U2`*w! z3I5i*(ACAeA?l6Fc21;QwE4fntff`Y#$Tl};$Vx(a!O~+d>?oA>9WSwWz|jPu?3?E zOZ>_P{AO%HhD=#jYc-7GH#a#`meyMEWxSQI-HE!?vh;H(ra?*Tw6>t=6msrF&Yr7|U@W`eTYQ9?FvX&XI`Xe<`_vTFGK1*H z2)D1j6Wx$cj45AvAIiWoKGrplDZn}4GvZ*_dNs?mx>U5Tj!UwTuy4JSFd+PJTlm&QfDFRbP8Eq`DBVGW<0UZhwF<7u32mpb7_ZOF7`5p4%I?W z@^8&&_^XU2I7T-aDw2B1*23=qadl&$f#_>ig3&rI6{_;?2BFmm*-v$*BNq;IBA0lN zx<@|^F=})F0%x|=`On0dQ)_ymma(IU9j;u$W037Lc65B+dkj&XnFKRC=;N9(w-KG* zgw%M4M-{@=lYdHFbla1z@-jJNQB}O+vq8}&j@U8RE;7-rsGjNy+YEM4?da8pyPWpf zb}rjsb-~W#vxbWHhgygk-6Xja5h#BvF4=b<@gB)%%bbL&P6eG9%&?{W|?yqgHACynX*u7#(f zA?N38joi394*GtCeieI23-xOtn7QgDwh1X~N?;Om(VKkd`BKxulNo-4?+9&UO27&5 zP-^5GR>>6u^*j1g0L_Q7$4s@N0okKRRGXM<+}bexur_4Ij3hOpm?5Di@C^hJD990N zg0pYHw4!J+5ekJ6MGNQA{33*e=nGwCOND-G+6S)4pyUE5=~9;T9@XZY$XpnTYQfxd zjr}{fp#9aAY^{(G-T+zQZ673C4|_RApnGm%B6ShIJKtg**6WmYVuHi7*YWI0IO-l# z_4HKBTW)2YOm};2J?S-Y;3zY%VBluY&G)2m|5Q_knraEp9RGQ&0)HjTRGWF!Q z??V0CC3BRDXXHiJP8>H;62Len*t+#|DrzhgeFYg-z-8T}Fr7AX#0r1(b$r5^jp?Oer3?#ZefGcK!rrq~Vv{9ZC*g>QQTwFtu0C<= zZgh6;NF2KJsv}r#8{kZ-*@bF`2i4lk0Toy!wtoZ=?arHJOA})>A#yhUaCq1!viiyv z3{JfqJ7MnD;h zC<}s%vB|PzE9~!~ZY(_ZoCaKkNAg-v0aoW482x(e=*aY~iw2;}tnbv(jSDxRSC-Md zCsrz@g(w{)Uh!}qX5O`JfYYyqvY_Y0=kJj-=dWJF(N_S7u`C;fI1Wd(QDV45DQ>|3 zW+FIV?ShECY*eEzMlYuy6tHL$I|IcJSmTNb8`h-g6yfX1pPUUJN`G6{;~#>{sJW`%PfNcMr>|>j~P(!<4t`1oFp1_FVD$^QEdQ* zhE`Jz>MAQ+_%?ti%P-JLD9#4HdI(;%moo*zO&KZX0xp;1T4^wkGnzGx@83lh1hdT~ zmdK}{#(_JT;J%A_I%~!)x6aT)g#yC{!f@|>g?BioG3j!gh0(%)!6TvZykUIKJ+$8< zagrALF#ytPwt_za`?xEd{sa(9T{3LUe-twT;j~B3;Iyf~uS}1l75!Rc z+>=V$0YNV6S-8+C{yx9OKpu$}%%GMVAlexUMYjv}hFz&@^WR=RLpzf9p16 zQ``9c(b?eoL~9}d3BI2Yzm@29;!-f7^T}tbdv*6Kbj#}Mbf#Pi9Jq@dLs06iZ$#h` zcvniKM2l5#ea;Y?+b|Xu^8@*RM-B(+(_|oVO|BZ}Q_jpy*?wGd-!GvVXyGDm6GVGc z_JGo+?Ea;Yzu90^b^O5%M>7xlCu~Z<;kU5mHIGf9M0fs(>u2M4Td^G+x9zLV?}JgJ zRo_P}f!7}gR2ZS0PjUd4yRj-v<4SjNG#J&Y*i7yCVD!py9+ksow>U=A<5`T%M0$v@ zs%s|}z#tyNPZk4y_XzPM7Ua0c53cOufN@p0rQ<-0p;W(sSMI&nVG~zzZR^n7>r!TV5_i3pm2@=hUo zQk%&#Gf<}Xd_LWZCo)z{C#d};KBM#YC)a_OWFs+hotmR!NGc=*XR?lqSjWkHx`0oq ze8NIE!8wjk)F+$-K3&46{Xkcb{X@?`8TT0>TJs*{NoWr2<&UwPo(;jn(CZ!qI|UDq z(L%Ie8?q|Y_nuBSARJ0ZtSw$uhh+BxyO5u`B+yp`-WOOZYhhk0022}ZCY;VFh=|*e zMc#%bBx6fCVlHw4vS?knRSW-)rR6kC`4`AOMhyxcosn>0I7RRsKC{g@s|lJ{4l!Ej zYRqyx*8t(5PNg;I5_kz@5JwjN(z}MgbO*)n8g8-aB5C!?r}2yv#X);8ZCw=)0h~Ix zI0FHQDK-g-u%_di0G){2^$riYuduJx-hZeYfUKuK82lE;)Q%ZA^u9=|h8)WoluWOA z5`VSIKcF8*{%$y~J_+i&{%LXYp1$1ds~Om9;x0#c$8_2+ZKs)EZ$unrp^tM9nHjv2 zbM<#Tk4k?dp<8D2;xqV%W>5Yfmat0O+{aVlpW>cVwOf)6k+ z%0P)?E>aQkd=j{RyiB);q25aGx{NI_(8PB;tCPAW_GB+C3{ zfJ3VRv;b?gR{1W$((#A!zrjwQ$NT@uO}OqM;j=Nwj5Tr-AePZT0izNJcf-1b@xT)R zdd+nJrgr8Ih?=}TI1iu>4ioK2R0|v=`y;d(SO)82%kBXz`z)2yTIXi7 zYTVZB6sAy-LAiv;L+W#?v}fK(htU-4Jhf*{o{)|Futqjd7|#c^mTFAM zW_}ecO&w?jbcD)U>;XhxT!!-W)qduEfq4Y5#FMmTtcEs&2@~t2yHeIYmglAVtz{nM z(^(B5uNBM{0yfv`n#BYx^5Q&Qfe81ws(5O8 znt9!-dsbB@-MJ%6&PAValOx79&=D62+x`M8LRAg)pbclscvSL1u3c`?TRUv^o@Z6D zuec&c988medb%91VxTzV58?>8qv!!+o-iE@B4=|%iPaNEI%64Mjn^nJ^rg%a{0`!N z1Q;{;9mIVXYlC021Vqr*Y}OZ@iTuIuMBpQXC-8?NU-_q$>q7eSgBU{zg~yj~AUFd2 z5wundKvTq@!W#b)8=Q+~6$rWt_A8;e^iMJxn){5uqu`cc^H~vU$;~;wq8Wwh%{l(7 zZn@`<=A7ho{AuE*vWa}06;8)`T%miJs;VcrdY8z*T;97R}8g*JNMbDWiyyfG15Ag;@ zLMP$Gwg~`YR9o#A99#YaeYh%p@0COEt7~PJCA^Z=kVr#%l|=+pQ7R#{=Sofu&^t+> zS2qXk$s)L}1_l}Q>~{Vl5+_e}5rjwScWJB^Q4gA70`8_qcpQK_no8yTdKhN&-(WEk zJPhZ^Y<#JGgLnYDy8#S_XTso)ot*>+(|f{#-e-$ie83_6DiUh3qmf{)y%6AndsEE7 z3bSYh`B>28w?1;mmO21nr@|zE1UDE2-b~Q9?|ZSn9mx^agUEUhH)xC3ow-h{TNiGK zR^XfR8pfg!l_P{Al!DhFT}61Z!_HlJbEjEXoJS_3nCQ7Xw%|e793GD-FP0N-!6Z{k z-_3er=nJ!fI4;Hf2|iU4`ynD&mmD4M>)XxZ75iSahO*DO(oH2~X*B@rz#E@Z=-*(U zFDtG)Np&L3sjMkbmjJ}n|AXj&7=|#B=-F>v0KtOy2&JtVsGwAdYCA=M^PHJv`UJ*n ztvVkib9R;{!xuuJwqsv68Q03lT>A1Or9Jx z*e$c~^%B)Vng`I3NN!FEwKG*>a%>)Pd44j%sSCWoR`B~gev|RLf+vdD;?r)W_6NU^ zj4!(xUve|PD4kcC?bn%Sb>LM=TOD{sB(9sbSe1W0(ynSuMJs=DD|^kYY$d7fwrm%m z0G`djyr_tKK|=^R{nqIpx$_sNi)z@hwfaEFgZL~aGU0T#xF&aAv=RtF%)u0`rkJc! zu?hUf)x;=_nT#C;+-6(|Wza0H>KMcV`aYmNbFWri!mr`;Kyq^tgY*$xGqg;`2MDDG zhu`|8+ak9}aDwT-CMh-$Ayjv%N=#MO0<1O6S&6_I)f7w*GQn&@fu_K+gvdDNB?@5w zAtSlt?1u9(bEsyc`OHFA0v_Dn-n_>epZJjpgY{{yaq1iX`|%^EV~>4syaWyp06_oD0~~tmH$l5(UHp zR#F#uInu7alj#&Mtq!~>eP_oM5Vs>QV^iD(b!~s(121?x@4rcKPoXI5-mkt)AE{lGs{^{{cZi= zfUjLK_>F#W^dox#)o{5&gJMutLh(UW^!4%^0g`jGzHYQ!Uq8H>t0=J(@-W+Epji(R!^%1& z7YRr-TBa_TGW5P^*)_mLP|)(^R6fe(<$I^$@e$%p4-!KXmj!5wCQJZUQ!c~ODSaZc zEa2VY(Xz|&Xw7Brsxtmv5Mr5upcg}h>Tj3)35vbyY;~i7Q=|n6Cxt(i7U=GG0R*t25vH&)s>v#9>ATc;f;3VQYxDz&ErUKZ>gii* ztZw7?wW%nOc}QQCg5SAUm-;gIK5#j?$XXKDgv+u?Yz3qHT_f&RAwy?tsu_mM(JMMx z@uNrh7d!}M0BW_!8r7j>bcl>Emqr?LX(X>+jE+SA)g6(2ffDrI!iN;2hR1r<%3j#Y zT?&XzL}`(3Xax!8D$$em4+byglrjUgu5Pn%RcbAfp7h zgeQfF{-$hSg7?(JeCMVr^PO`Itej>!6(;9KfNy^RML>7wj;LBvo`Wo$Fr3w3lkW3K z-S?^Sgm`lR(9#04lRrioRdOzEbNApTUTA-RkwiNo8*|MYXD|=%OV#GD!IM_~9R6Yz zfuK04b5AJki#swO=*JkYxH1^aOT=ivT;WIOxNdQe$0Ldc=R&YFnaRG9?q7l3xO|Sm z$^zRE5<^>kRqjRkyG`FXJM8<;wJ#a%4_ z5PU#U2eOXF$7;dHv;QqVb}*v9cmtE(JBX8|m`G#zfTCt!HSPQHG0(+ET5o)$>Aoif z9bfz)bX*Zb$K<2Xq3=H?KD_(nzK2WtapueOZ?}Wd8DJpHVn@)^?fKh0R1rN1-u=wl z{8qea)s6T|?!l#UCuubZA(sHPrt&G~jLT0>+QEs#9oAr-)TK(|(}@QO6iUzvPNZWR zSc!bp3L={$<^dfUTX0@kTRkzi<22Xa74Rn|Cn2awqZiYpEqB}Y5s!?!D6e(yE-sB* zgu})ii=$2&)imrAClhGXi)^``6?fEWmA^O&j~}&d@4FKs%{hQ6&h5^dKSkH#?lVLK z-uV0B_`RzezaQnd{$Jwv^=rEEyGii7?uX%bXKw39Benv+oBn^`cakjciQo2rg5Mu9 zo}sYFcuwyn-(JRdt$G>$e!qO%A$PcuFEO6E(uj>_jBH9cy9{ek#gY(ku5_!vYLYo( zoUmm_8rOeC2y@|^jvI5e`j!Gcc`6XKZLR~<7U&a?#e<$yn;IL&*B`}xarRXi&kP0$ z^$NE-7p3UMM{w7;j{A<6P}BeM9-6{_F>NGSkG3`I;XV67T_h^ zHD?&lgd3d3jK^ri#%-aQhxPnD#iP-fx5waNX`;X`=h zaE5U7v=XJ=UxtMs8Y>9aQs28q3q8u5`#MJJ`^yg}q@x%7Q;O@yP#n_@bQNk2T&-Zu zGXN9dsP*9;rCasA`k@{$Af7DS+lZ`63sOqx2Uxbj&@+i<8O+Q*?uO2H?^}Ld^!9Z0 zD)VbC$fdW_7k>cNs2>0m=Dj$W)ZGw0Z*pd|Z}3OAJdTqW-#cGBzzc-}u+d|_CZB87 zG>Czpjr`Q5dY~oqLmfj>EA7u{?5&u&^HcPE%-ocysbqWduoAGzYCS_#(cUSmu&00{ zGIu`0n=9Uiq%|)Nf^)U{iIX}`apf(qcl1qF{7u=KqWcyLk8|>l=kdHv0IGZT9&Q9$ z4BW7YIXo{_q93X`oS63J@c+l&+rURvUF*YVk_ibIJW-=WjS}0~k``N1X$x1pMv_rf zq9_EhC4N-Ql~xPYM6fr6;AAAnVUSv|u@@9AwbW~sDnj^>%p{Q{fDk^aGY}wRv=frr zpp*m%nfF<1oilUJBoJ=tef__$|MUCJ?7i0hdiL7;th3HO>zpmhpnv_^OI~xxzQMXA zSy1Sr>B{vFaP%uz8s^wBv3GWY8@^)oCqI0a5ch6;rN{N1?uMhqN!P0f=}tT>Ke}RB z<#%--@+-JgKEuVAERtel@xlLz6u%4Ei4?!zONyjYTS%q$$iy?g{~ETB&Sw6Zdf-=(tND_=jY=^@I;Hqlde!K&l+Pso=Kj3iTaQ)QN83@i`@?`vl8p)wfd~= zPoBXu$y2UR&5#c+0!h%x*w>DUURL-Hu=Pv*BFx$a>p-guU!#Iy`)M&KvY!?p)K7>i zM3JL8vjIjC+tW=Xj5Sko+weW>CUw)KaoA9Nm>-%I8;zImzVW);VDYD90{LMAk-pW) z3JO9QCu6nIWW|dj5FScd7GwA;}KH4x(p{6--~R=Q=FhJYTIY{npFec}f!VROEC$y)4RD9>tqUNbDu{g7?mwx+}_|2lbA!&mBmF3*U4 z-O-Ochx7eQGbGcW{;EY5-6~=I^#*8l;Y(C7tiMQa(flhzXq|sh7l|;Lp}Md!2U!*u zl0lJC4+{?q0e7lZY%>ShX69Q(F)D&|r%2X$pLPsgfnUBUEFeQ~4Pm`Cg(qCF&B;oO zC}>gBF63r>5&O)f&rhq#8_>JH>@&LiRTt7Z2#JV&;iv0iQy2Ii z*?&SThaa27Av(PO^DWB$ifFE8>aj(0eE^QGxzZx`*IVGK3tyq!WHO!Jer>^ZpY@eH zKWND33Meao;;oHXx5Xf9?@V@X^kMJnX`Wbi*T@@Jf7e(cPK zhobyVQMC%&pQWZ3z~i8F1J#NL;hDP%;2~BD=LA<{(LnXh?Y`rxS{1;#2;<+Kny$5@ z)en zAQ^Cn3qQ~A+zUleV?95$Pw+W6yhMP{YgXkaa!>S5oHQCubk-)TZ*Kju$38H>hCXxJ zoHAqmXiT)qp@>1R@}gUC=W0B!NBg)AKt;Q}vj@3$l?<{q&OR@{#G%f z{m-rGY|LmJcRlVb=B`IQrL*EX{hkRu`C4O5^nS;@)r8xDFa4rE@9e8+k8#xJEjfl7 zv}&%SbJr7xxgPkXd`uZUcZKGipxU3=LpN!>AOQ!TtwHR#|Kl(>Fj)V#?L!g8T zb9}*+0(DKPaxi7axC*Vh0g#T>h6;zMYibR?)2kw-t%a6Vt`4DCBw+|8Z1r^|Me*Z_ z|2Bp_a~J#$6>rHOIvd-bhAgj!1lfgV9m|q#rs>g{>ut!A>L+>T;#-3W&f`N%;<4P_ zH8j5l&LPK}OFCT*vj^s@Re-p=t0uoQfUvoj{BVaJsbTIQ6r6jWUJcccItD=OD5&Kn zpo-kY{5H7GhyC%SeL9_-$5jh}j@|%vAL>27sD0iMk>_c(0+V_l*2U` z0I2u#F-ICI`1^r;Jtf~FXFFbRkx7bWgW%AD(OcD})dL%gMv&24_;r5Fp&hd|cwMq0@LP&i$N&O=X1g&1kEXF-dP{nm6tXU+&{&aWK zZrijIA6BAVlQ6HaO6Q)FHg7XIs`5jPycCb40+peYG44G2STD}!7;@&>2MZdfH&#xP z%~|Mq2hO+{%1LW1$Z2~B4Kzf}f7mv+dy>z)(Ruuv1zK6&6f|Da7Ge<2nqkhm%bbqX z7^fo{za;!pVw~?1z*u$RGzih-q5|%`^i416oyD0%%VDNwe_F)XTz7uDTJ=;JRw^v| zL9M!Ix;OdfiV~+QoeFFad3_I5-Fnh@bJgofyRN6dl31;J5hlPoO7J8rI0Gri6{3aL zah4=)XOw^HM_soUXy-X=V&Jx1^easC0*z73t0jT+>aKZ6FdttFw{KV2tx+w(3vdcv{)2H)WU1=uA;T@#y)SE>g>V}J?H zUL*+9F3h1|HsNbYlwl}BkOwTKRB)Po^1gtI5ac0ChInvVe1~JHhIoV^KeaS5w*a4C z#8~+b*vBZm6~ZP^;o2o(JK1lA`fy)cU(_^Q=l!GjUWodFTpZEkYg?oplC$oA`e$dB%7lY z8G4C_Tz9SF`H^0P#B&#?_7V?0*JAPHJ!ORj_Zu1u48+sn#`HNr%yLWb9M2e;7wDNy z!f-6K=3Rtm`p-o*w%92Dd|!=KSS$E#uddTsZ0-6~Q`gC=l$jx@vUwW2#)rGUGz!g& z2Abu4p?SrMW`&XYRXwx0>np8!Uqjblk811o~LnzOA3uR=yW{gwIMI5w(@#31m$^%6eB4%k^p6tzM~b=aKsRttk`s@ zE>dZRKmY>hU8LDaKInTqdT!eV9;r1m`hnHuc>K16bejM|9@22-_1TRq-8Mm;>tG;(>1s3Oy_Ii53*nPah0!Wgi;=S?kF7%fBlUBr{B zc`i`nv~rR5>q{`C1EU2)y0EXjqzt3sEw#XVu@}7MCU~zH@K!_#=GADytVBIjFf#q~ zUW;z|bxX@{^lEvPspYqfmZ2M?PB+qxeRY;JB-LP^F{CN`oH3*;!!u@$4lG;Sf)l*5 z?`fU4-UM%>0dG^3V7$?SsWuBnrfXhpxaG}y%V@TqsTCSeO|Wu;0L%*9m?lb?)2Dra1Ep`y7nxZqPR-B2Xs5V?HKanw36 ziU~lvlyXr;q(kXC#WY`kbS)aGo3iO{h){xt3N@vW3N@-H)rndyU8MR*cY<#! zMGDj?MY>ZjWpt1Vk>0cxBGn1$u-2r)b45C&Goz(L`qC;L(v|{@#UrxOEyD;f$5T2g z=t=2_2@+e0ro80wdbS`d-Ys53{4FzHNd>s2N*IEO?h7d7*>KN-m6A=vIl$h{55L@uN#@)=%X<* z5=|Aqg~nL#5l`PFQk!nGxBa@I&XXH*Wf5k_r18^#YaNWBU*y+8aKVPdH{9D zw`;8K=oAMpIjrQ&iVu%$q4ns_pY^0Y*jYe#%KB}y7nWsTx6PyJwz&!q_^R>_Lkap0 z4Z6Am?-&ehRM*z~TJ7cM?QBJIJMQMr8(0q>t;)pvTI0%Nv%&w&U?VF?eBLcFoNGXN zEVz{GbA#<`jRkqs*E~3!E1q(3UB?Wzua&+TLJHm2JTROQE&5tv-BgLjtYUrTYd)Vd zfXnKyH3l6pn7-Bl1GlJacR|?Y7g0eHFg1d`>bFoo5{$N8tfq8S3{o_dg+m(3fXGrX zO5<+UoYC==l`JzzD#SwJ?mlg>MJVM4X#wVV#$ZdX1y*vQLF#xQ+(jf!gN;73vTTiy zl4LeSiA2_}RZB?C8$tt@Y;UBWL6VN=sD)l)bSyR+7PQY>$qIwCO7FJ@TM8|;k}n#h zReH+}wiJ5BAg$6{VX!6Ft5$NQL0a*=X0T-*vd-;u9zSqZI*G7Z1N^g_FmRw#dS#6M3 z>D3x+ksj;qKBdQ6zKUbX@Ld$OLa@+=3&Y?@(-dJW{rJ z4?*!D+0lV4pJOoqm$3vaCs19n3DxBnm2W}fQDmcK8+;lh0mi)J7z!f|V{*nStD% z9qm=I76xha8ql~9mmuXEg|0M=&hZp_^>lf)_fQ;qQN}fL_t12#wP{B=+Ra@MY1Hvd z-z_>8Mm4u6+?+>Oo1|LLAPio@sPd3^MO^6ns22n*6qThxQIhLY|<%R%W z0I=&2PU6!E z-~$rCUQ=`Ux>4`u&=jyWaW+v02e`F~Hj_eueHY=rG00^6t z5e{iOQtn1+?je^p%*t?HF(-|TEHLgQo0XAVY*t1{HYbfj+z&3qW@RK7o0Ace%}JvW zAVGF?Ys)qTu|d;atr>VkoNQU*(k|5*<|JLYjT$53WRub&PO&-r5U1FdQYisqn=(SO zO=&a`mZF1g%SbM^DUDna5wdL=$;Gy1gk+o2C=?MP+m?}BY*R)^wkeH55j<>LMsl%D zY2;!&@icP`+fp);2uZW{Ekd>{Eg}@dvo8^{ff;F?4a*40hNS^UMxCD0m`8nepQBF0 zvBsDT$N`cK%t+O2SQ=GFM92naBo`Z&5t0o{qfkVIY+y!mv0-WCiiprKFeM|2kaTn3 zA~Y;Z$xA0SFJAR^Qj3)tX`QXh2+7tZkzsAcXB%6Ykz8zD8oA`eA(^q28Og;~W`tzx z(kK)WAzPV|Tx?xNNVYDGLNcUyo*h1MWvmX+(7~?T4AU~A!}+m$9$to#C+?5X2L_gn zgAD22;A8sx00-^k0!ux_B^QN~j&w)@ZxQtA+T%&rwpfm7p-RnSW{EVFiuJ56gpP|tg$JDKJOS< zmdYt~&IH)@q?8m+N#+zfX9BFbDJ6+h5;=v=od9cYN=e`pJExGQ4me7QtuVWrAUnze zj&kC45w+|n^A-dgi-_03)MARZbF_k@L5?n^XbVS|Q?!|*D=6B;(UlbSbM$qJ?&0Vv ziZ*g|HAS~^w34Fr9NkFKT8?@t>g8xHMK^M^o}!f;-A2*X6kWE88IACbB;M=HTgg0s zz|lm!70g@Cyyk$Tg?LMuSAqZ5k#N@tyf4G4RviiO&S8OV`&$k+?{9ihefs^&k-k;Z zJvYMW?C6!nXUT$7*2uDD{~^?}7qz@YSRA$Zg67GXmN05s2Q|=9#j=<)_2x8|XZo?mRwQeRdWl zjSU9Iwgg;q0`NbigjWSafw3KdErDft2N=HvuD< zq>FUn$q?xS?3dO(xQz!-om_jiyz!Zvs0j5xl2QU*27{VqP z1T&psj$@eoufr6Mz?3`$#|l&U3=A-ZVqkzN6axcHp%@ro3dO(xQz*s*m`VD%rLzeJ z!AxVAISiBkb(q2tn39L!SYZmEfdQsa3=A-ZVqkzN6axcHp%@ro3dMK;Gg&{YbvD5u zn5hgii(&G=4pTS+Q}PfTD@@@tFu)XwfdQsa3=A-ZVqkzN6axcHp%@QfrWo2t*aU-M zrZCJg43qzLn8Fd5l84|}VG5st0j5w43^0XaV1OwU0|QK<7#Ls*#drWSRab&Kn_v*k zWQI9~Ve-EYQ#b-s@(>&=OyM&yz!Zvs0j5w43^0XaV1OwU0|QK<7!P2k=^9jL6AXfx z#4sl@O#atl3TGto^*jW}3RB85Fu)XwfdQsa3=A-ZVqkzN6axcHp%@QfrW<-w*aU-M zCQ{>a(K)T&lsp8-3RCzD3^0XaV1OwU0|QK<7#Ls*#lQelD8>Vr!wkJC>*3RCzD3^0XaV1OwU0|QK<7#Ls*#lQelD8>Vr!wne1CSW8@ zJ2ftsVlf8vK_3Uc0aNl294k!WGcdpuih%*9Pz($(g<@cUDHH<(OraPLV2&{KrmzVH z!BiM#4uj%<9j0(dvPK?)V}&VY85m#+#lQelCFHGe~zl84|}VG5st0j5w43^0XaV1OwU0|QK<7#Ls*#drX7l%Y3; zou$L1`wQKo601#@CV?_wN*;n^g(-Xn2AD!IFu)XwfdQsa3=A-ZVqkzN6ypKRF^1k0 zHV+k~d6Z!i1VdqoG=)QPBM-r`!j!TM3^0XaV1OwU0|QK<7#Ls*#lQelD8>VrSq2PY z^H2dM-I?`gZ%Q75V}&Vv1_qcyF)+Xsih%*9Pz($(g<@cUDHP)Y%p5~+3Y&)tFzK$b zKfNh=2#yt|@EI6j3dO(xQz!-om_jiyz!Zvs0j5xl2QbGOdQ;duRDel$wECTb+>+>X zlRz1BQ}PfTD@@@tFu)XwfdQsa3=A-ZVqkzN6axcHp%@QfjyLqCuz9EelkT?r)0>iq z;8uFpx;Z$?OPvuQ}PfT zD@@@tFu)XwfdQsa3=A-ZVqkzN6axcHp%@QfPBQeSuz9Eevx#961VdqsWH`d1xRHn8 zSYb+81_qcyF)+Xsih%*9Pz($(g<@cUDHP)Y%qa#8Ve?P{rk`OF1Vdp7OyLMj$wP3g zFon;+08=Oi2AD!IFu)XwfdQsa3=A-ZVmyF3)qo*v9xA}x!!QYgp|Av|a0I60Avji; z!e?NBDHH<(OraPUU<$>+08=Oi2AD!I9>BccfFW!iD!^=Hm;}L4SOQZx6gTn^94kyI z%fJ9rC8A#8#{*Ys@+lOPxhOJE8|U`if>V}&Vv z1_qcyF)+Xsih%*9Pz($(g<@cUDHP)Y%!dsa!sej@%zB1N5DbMSFoh#9B@e-|!W2FO z15BY97+?y;zyMPy1_qcyF)+XsitzyEBL)m%^H2e1EyE-ThQbnU@;K`<1Sz!Z+alsp8-3RCzD3^0Xa zV1OwU0|QK<7#Ls*#lQelD8>Vrvke%+=Ai=2N`^@g422~yg(EN}55cj*6g~q3OraPU zU<$>+08=Oi2AD!IFu)Xw@c?GA0Ylh4RDijfVG;yGVF^s(2u#UCaI7$e&%gjvCu>q-2j0Z?*iva_Pr0|#l=}JaQC=AUdNQEOvB@ZF8A{9Pk z15%+F8;}ac*nm_h#s;K9F*YC-itzv`eYV6vA}Ks(K)QmF5(-0k2~yz*QprPztVo5= z*nm_h#s;K9F*YC-im?HyP>c;ogf->v{^sY4n#fQbJ+qFF`6CK`MC&krk=% z85@ua#n^yUD8>e)LNPWV6^gL|sZfjuNa<5n1`612$7*b zMlovPP~518aRRlJV4OfL6ypSHp%^Dn3&l8rS}4Yb$1zMjvlQ3~=~QZG`~FYyFzvvL z>iloDghKoGM?a~Xe=V{1^*UyLr$S2OUHi(jTAnx90wc-%=*M>280&(Rc${_X4F&Pk;YAlitVn?~Py4ieXq zP+B=3Z$V*q-Vd+B^Z$3~Nq^?P%w27l$Y%oRE2X0YB{AC8vCb3UoO>18#21(*V50)9 ze(oXuoQQmVE+G`uUP<%%D1QUI4R+8zA&~m~*x7h0O8F|u+aMF;J)WN5 zH)uS=*#*J#yf`4x#V_J?Ko=O@-2jhINr^|?4oHP!(7B?(GEznn#{*IY0d~`&$F6iz zMO+USGsR8^NE<=p9Ckh!&J?>HAZ-{^^gaUBlFn4IPNfkg4hX3nEu%as9Ay`TWQvM6 zgTrt^NaSR8K}g^zyCB#($}R{BN7)6Tn_xQF1)+6mk zGQwJqVx~e_Z42-z2PXvmoRiJ&&1YWkGwxkFy10xddWKkGHr%8#s0lGCr*oWz}eK;z)0yz zqSyOh{ni_Qw)KXcR3?+>$7yjU^iyBtTK4RfR1v&G;41cNVY+&;F#a{`+!e_C-C1eYAm03Hi zpqRIXtUS3Fpm{=WF+vd(D@5V5K+qAPL?AqN`Unc21!B1$v5Jjz?I2_v+hRdR4kA2h z&A{9$qbYEJLm-C802JzD5Y3VfGL#7$qZBYEFQoVO2*9$6AmIIB_jh5 zAYhIFPxoH~Or{_wGeqWXA&8P!OuE~5^0&i37>@oa6-xGnZcz? z5?vmKp+bZW=y^3cW^AX4Ma;gGrtk?H^+hN`WJN0cag+;p$wG;M%t(dLazU?|f?P}} zg~xc(!+1yy3ndaV54i9N51|u^P*~9kKSxI=lt{>oj`7B`=|{!h~Z8Ny*5-;|7?i zl#wSk!4yj5WQHkx0!A=}5;={cI`yj$^BZWKIR-h6;Z*+DOR;zWlXI|mtT5piLQ*m^ z@Bjj43V6D{1WchsPG*?GpMtyulPSn)6ocS@;cX{~oXRJf6{hf6Jb)>bj9V7h!~f(M zLQ*m^@Bjj4GI+Ya1Wci(5YM8FnBPDUIR-h6;;Q*yFEt4qf+=;#{5DHd_$(g46iUX; z3=@taBqbvQ4FUZcy3D~jV~c+~c|RvmqG4`sg&KqzJCb;2_cF9eMdduS;urpS zq>>61N(5-eFMLC8Ldk%d@Js0iI)MmPU&>PW6R0&{5{lZkViNv1@X5V{Ei_??$jrcm zPf)@YTJ1P#gsm4lH6+&*bX6#VVx5)3Cr~u(LJ<@zMB(R9E{uy%A`mk==5HZn9JAWK zdEl#C2KfPmQ*u`mHsD3OyHrtn!#fXP&p`Nlk+ijr64WFBncvv>egC>b|1Ot^%Q zl#C2KfPi^4VqpTNP$DNYOy;xs#<3_PSW2;+FxWzgoXjwV&*A}0p=8|5FyRtHQZh2| z00L$Q!(=%DCR1C;VrmB;p{V!m&;Yn4X5f;CugFqX4~!;Q0+DsRLtP*uoS_q-6#te1b!c9k7Ul)YI*B(n}H#Cf&eBSt62Z z$W17MV>!2UV5Bjr-o7-Z@Qqm|lt{-6Q}`?$AQMWYW0s-tStuAwrXUov{2tcX4Wx)# z!jS0FAe2bRJST~WkQObyUYy?YQLScmoR}cbYG{V3Dvx#A{oB&fO zk&_vw@L5iPDU`^`43qggXxeZrYU)WT77xyFp=8|5(u6ArfiW^LFu?RPOqLU13MFzf z!xTQt2{4(8Qbx>UTR`%PoXmqQd=?L23MJ!ah6z^?0%K%gV1T)YVX~Y6Qz(&>87A}j zj+|qVlUa&Visb}J3MFzf!xTP?2QY<_aWlh&D+qxxGB7Z}Y-E@$C%|M1axz0?9vi`u zSL9@dDSQG(`ez$z#Bv%;V&X#+LD%+mM=qrdaS0{kXo78V4Us&I72=?F{O?<_GB2z$ zg%W|8@d}>>hCT}=0yB$M_=cQ>qP8vPk~oBL9c1g)bB}RfPWo0{Fz625cAszQmR%y@;*(!n%f%Br4($9QVFU7lEwfKVbQ^T-RIiJZ*n zgwJvUI-x{PW^~MFt;DgdRw;@L2;nhmU~G__HzFY*6-p#zMk;)k5ReKb5;7wdK1&El znTk?O%-c$~rsO3QR;1zr!gF2ELvb48jf~WoRYHlh%t(dL(gISUL|SH~%;y_)jzL;x zSxPCE5ReKbqh~&I#07-#7-o5DecQxoBJgWBZS_l-57UjHL?gQ z6yY~aF6y1%B^>Ul?rcWr$X=2XJhu7;l5qK5!V!#;$B?8@j77f)5K_NOIE-3qWml2A z54=auO5ew`GI>fm-+4&9IVh*jsuPy}%yWL?$C86um&cX!?_`!d5uE?Lo=%e0S^FfN zpYP32GdX$4qq+GHG0S+WHvhF~Pme=jxII%*p(lHq4Lc#E7F=Ji6ljCg`2jpEc8fE> z0C)&w1a^mWL!9aF1pPG5|#D^`8eYpc2S$-mq7 z!Ea*W11K>1pt>N53Odr@Lg6k-EvQps@d?EX)T#m40bX@gQ$=~GD05#%bz27elhDpF z*rz0cw@2_`|5rz{vl`#IPMnhMJo!!a*%wiU_LRs?aTg^{_r5hLQkd*K5sNJsfNowb`I@l1Or&#H=>3Z0 zepx#;_kB}`uAOM@P=%#O>!e3ju3beHk;<<+L*?qT~)=1pk3DbiyjO|QCdMA#)3^?i6+GbD8p zQa9X+)O9@8Q}vx?zMYFL$L#5^(`+C=r`EsW8Y=uVD!fVxSAwyQ80$GZHoC_qBlcjGWZ!_)DoWkNsl`aeen-KVCG}mZ>~qY^ z)(26U_%AuzQ}K}zd=VwlU6g`vQYCpN__Z2%KTUW7A6j^6CVEw%ap1{@oamJO6`v>z z27W*S&Fv_dH>U&p7nPBQ_1G`hz91hioL_2HtUIp*yKAa%R;yLXcNoJLwXI3Y^^t8& z618d+)W3I9pe5gaBkfjl{F^0jXErQS*OuK*UPRcO<#w7Ka1NVQa@bj$$|nRQxtTiu zLa)xRxQ!**gwzeMAk{iZPa{=!J&DMJb_Z{H3EjaSDQZ>e2*|+w)=2zo^zFWP=g~q?%-v1X->A1{ycy70Sh@tuJ!U zX@PTD57^il3MVI2oR*geEsAfEX^vpQ^@>+r;6gHnE!cg7`s{BgYi7YsZZ)mHk2Qku^w4-w z$8|{Ez^TUB(I}}YNL`NsR4O^u*dFUGq+;mMC2c(o8}_;3F?6(RJb1>Ok#RTv^H_;! zpG=;p)nMAGRf;p1#=@VQ%yMT1t3GSTSA6NSJHC$w!Oe~{Xg+n}Pwbdlq^73(uDuqL z`v8(>IxHZsR5rw1*&8UO4`YFLKIg}IL$ls!Th0%??b*m~?5`Eo{`)kw|HtiLdHVK~ z1g@q1AR4i@e~pr)D4bJW_+6yRj&Irr)4e2x)5+i>vkaa=F`O^a{qL*&DZSc{Q&OqE{k+xzJMO5}`c|206;`%k+iNBV!@muK7lExpWyD+7SrX(X8PWh%>THK1ik$dhqNsxfj6-*qMO2EH`Q07YCg;UTR(=aiVwVUi*wiU zR)%eFF{M8HZD=g!v|fdn6w{LyL5)e$(}?NJleoSL^9W*={P%~GCL^Zj-->$>$?rqV zlK&bo`0Q`}I%0bM3VgF%m{m{^-zD5#6^~gkS^EH5)Ovlw{$?=GeJ5bj z$5?kZyO?_=JDUv*U)BmVnDenayR3OHHRT59jmmecO{fu;e<# z9=hH0t82dvtLHnu<1xH-9k$Ud&`;92rtzD5nM~ZUy>}6WdHa)ppwBF0568cgCBi3j zVQQy8+=_i*$@ip{dECm?eYJAFX_mxb%o;nfnMiEgOL~K3v(bK!*x!yeOmrl~jUg56 zXopYxI2d_ZYS}8}u=XFfR++ddP0<2U3vX{fW+uDgCnIRbt>jFtQLf={))<$4n7i?! zNd*+2w(#Qjsc(LW9VI?9bmg4ln zq)T?r=?JN=d!d({wF#zK$onZ$2Pa?y;y~O8*h;vu#qBlrN1Rtf9k%xGpglV<)#X2E zzX>amQ(cu=&aU{9!~6ZWIFE-4ivx4ksB0Z-#IxJ68rRE%F`3?g7ZH8@0y(Zq{QP)Q zk7@$mEdSO(1M2W^31GeaKy}Fhyn*uQ>VuaB9$j+_<`}9i+JHSP4gJAok)E234BYtN zoV62ZGDNlAwuR@bF@A|Oevd_uUm{&BEb|vKW8I`yjS#`L{fsXd_)Z+ZJfSY}%0{qD zu-D~E8;?g})Gn~}HP*wnMjj&BmC-bxORV~cXT+r0F?Tqz=jk+gTVpmc>7E*!P0pqp zPt9?d+dT=Ex!okKUX9ElypN)FWJt5>vo~R=d3LDJW`(ayKR^s`*SH-im>!657gJ{pjl}e*bCl7EL9-+;341-yt0S>uL4@V)c9dam9JJqzWjqWi zO%ePmXrwepSxNJLKkfdhmc>ExfjQ4(wmct*8-;2EabxhW&z!~K@jggqE}A5j(l%B* z7TCfoQBT-0O{$x)Xov;X24>B=Gq9Ccp`IAO-wzl89~$0>6SXX>a9p@PO2~0l@HF)K z8xFMLi-@$E^~9_2RQFjbeBw>G*;i8mqn;vP;L*hgF9q0O(-nPzK-jM$oPrje_*Tm~QYZpEOfvZ(J zoky@E8xy`m_^@Jw?<2cs@%P5lIlD2F0xfS(@U|~-^-aYR(jKiVSkeW;AG{k^_WKZ-sV+t2pmCL)e2rhtNkA>$q)Nwiuc2^!|YA3hi<`_Go*9Ka=u{&sd&| zO<)MK!w{UceeH*?>-X{htbE&!nB;q9CwHzBVlw2rXcxC!XSw2lRiDTL8; zdT9)#CLWE@E@!RmwjREpru}qQ!t~@_WQ(B{a2-M+n(3amJ81B*MRzAS_F(B}B5F)A zWRPN<@CTafsp(-33R4z)a1%^ZkMnsXtE}2K9*}l{KfUB-~fwq=I zwhp&aK9AzU-}J)M!uJ!O;s&3TC-QsUNt)la3l$SXs-j(vk@R~iLUAr)pcZ{TuYEk$ zjbW1DDr&sYS+)6GBDXsl8LndT`!JO2C6n zP;D1L>;d~cf1;iruf%o)rYPA~`MKW1tuK(V*)rJ3o)N9CuufVet6fJM2Oxgtnw2QS`R)vgc@AfB`L!DwFlg+K^US$GX z%VvvOZp~okqun@#P6=8DJ6#T6*TD5RpkG+a9y<3t{5N|hq|J$;_g|CHIvPW(YSq~P z{RZg<(kIQ}Sy#Agaf-2`F*oWq=B)cSRQjiK|2jMqlBj>DY3>>YyN{htSZ62BvubVu zPI0UwJH7Yz+1R{l8aXz|_1(->+0C4nMR32=Sg{@x22~8in8kC?x;zsS`s~>lZt5BZ z^Y?$fvB_6SV|jr8Pd7#lbZGCSLOtLG z^iZ4F|8!Q5_G2V!Zk`u<34rHbflFHnpZ9qG9Csvg%k&}LtT(nb(xpXnC8H9xY~Mhf zaP$&-*Lmmwzl0uanuFc!(GMj9C+;q73FRz+!d>_VGULIgT9!xq;yoLS|6A3vIS2x- za%8H)`2lrGQK-|LcPr@*tLUhIkf=XrwOvEcGHD!0RHAZ<6d<6`RE z+QDn8HWxK=CMZW4inPtwjAg+v4tH)Xgyvz!|2h=BUu)xDp9yUTqZNdLwk3krQBOn6 zjQrvCraXS_x(eLlTdw0BaVf84o#|E(=H?myiwd;BaGnHDBx^)AJ2b+8vn zimc?^qMBmd@0^Y5@cVH;l|(J_`L2m()HR-|A=ZkdNb0FTA_{1%QjB5io%N`#gR&-Y zRYwMlE-bmRIRs z!t%uC*?Ak?OIToeUiT6fM_#Ra33XA+tKT_IzxEv~aK1~IPeolg@+hvNLfNb6Dy=>{ zgYG`ykFmx>dG2s8p$ogyMgK5#V|F*=@`+{tq61O)0A<~@z=Ye|?_rA`tiQvAbRHk7 z&c6lqxpS6O?r!#V!DKGWdl)t08!-tbt?OX~;lY5gC~24^VIi45%M;;`Gm0Fpq9WS6 zU62pUL4yg3GaDjOMzx{^Bs-4Hl<)5EwGkdh^$U-DnTu~9=(H2qgL&Pg9@82#*#f+#lA$;tnPgg zZHQy1Zc248A=H&*j%=b{WHdUvZ0drQ)FIbV?$B-sUSA(q*KRBthEnRKOSwyUaahU?(tO7AS}ITN-!%Fi#^(7M-C4V+ z3r?0(j3Jt5zxFvbV;YQSAID_ng=<+dFMAL)e`biEF=mF)&4c!mz|wci(SmLtmi(>t zwqv2t&MvvX)6!6@R^7R`bqFE_*M}Zb7p{TWuAzrR*gGty^$RSxh3!bS>>ZG7OSb+u zVlt=U33m$O)hD>>I{Xh9fxv1n!B%#LEa4zl68VIY1=3$yE4c)n4_s*QSru}cnmPZh zO5BMO>n}q0Xq^>nF8Aa1ymAKqc=9HFlf7Gth)L_^U?#LR%Y16PSf=e*I5ncDSa;&l zq4Vq0*7A->e-qCNNIet++MkQ2ss^E{O$@^D44eNAc#SmCgvG*7>m*ugSwi>woA!dY zfwDp~@B$iEkWq~XoZww3g!mG~Hw;FV>$pn8?QNu_{tl^?8r6)xwc1cKiu{?FBMl}w z3xTVR78mQ1rv~SPl%W zquVIYSUYYI2hExQWfebbI9#Hz7*n7n=*w63fzEok{MCELV%Fd*U&rH1+B`RQfz$RL zurve9`c70+*@+m99go-jS96a~fw$opQrB^+(c`g5)sFG{kG2^q1TYR7%q9dJ@*5#;{@C#S})Nx0j3%J88A!Xbw+elviRMq1=X3VL`t z_whSOt$G}(n^%*6ZMI%K!O?_V@JvcSs!t9dVG?!#lv72=5iXKVG%UDT4}H8^UJ?={6&nc{0q@r|Zrq~C%CgeG{e8kvyebyNH;Q@qj?-(-r{n&Mkb z@kUep15>=o6hCCdZM#NqDT&{JNrGitK*R>X*xi@?TTC!l8rhNhhAF<<6kl(Odrk4p zrua5fe3vQiH^mQ_;w?s8hY8z>VLCpQ1W)n+PKnz9qX zB;1bGnj^mB1MyA9yO1w)S7vAfd?}5`^qF3iRA2NCtloLNz!{2DpPdfT!XG`+bF)pW z(@Wj<|YPrfqM8-*2 zk978|R#ri^Tc7WukgCp~&$-K3GUYpWH&>`{ZuTT9zT>H$8}05~xN+F;A^DYH=SZ%z zKzo-i!=7bR@bBjDFQV&{iE!X^mJmB{(5O}|As#*0MMt#y;2d; zQY($ zf;;d46EysD@{Z~CwbK`CteWduvkF|Pav$l`NXIlPI+;mj=wK?5domSLEuF?z1BOcPF_38ClKgKoQ zAAAvm;|vbKnrBtV`ZOdICKkAk&Hkl!WH(J3T#$WT1DwsOCuhJHn7*K$%|BG%Z1kP5 z(`isuJ$vZx=Br7OUpuE`_SfC{N8LqTZZz5sP<(yv#D_YO_GF7b?T`hxKH*G@w3^O+ z^F9s@g}Xnw%`ei9pv1>$yX`6QpQ#)NSlTD>fWnB9afcC5f-ZdJu7Mu&@%0UE)O9gR zIZlbXvG%kW{Nu#KKdxK&$C7M8UCvloGZdssFg#6xD}=4&lT5EgpHLP$w-BUpmbjAk z&0|O4xu0ai_1@W@0{KF!7!?TEJtr~9lUyECX5issumD}D%O(?2arVR(-ZeMP*@LCx zKTubY9Df;fnb#sMXOF$`A!koq(ZRZSxa7jFNvg{pHDLh!T@-qvU6(zEv`}4k7NxeO z*Tr8G&Nb6+%0+q-xhS!2fJSKxicTlEJd32_nojgWPh%+HMojgX)j5X!@pU7k6 zqR^0tyiX^Okuz2H-|e2$vAfxJd|(aT%Bb!+N#%ZLYl5#Wq1^uOH(^y~ zR>=p>+C;6xgv3)tlB4?-xPDEZ$QBGNOI%v+PJ?j}ypa5RaU+v+A6S#_OUowaDO^l! zo1G`)NH5+fE#01~q>fCS_ z=x`%5skPqq!JJmtP8ftI!Xc$(fLfJh&#!Sq=kFp*5R~uufQ)*GF%dU6P^UIuzE)o| z=L9IH_XcLP{VnVt#`u!L%7qk72ky>vz3uB7s#Rxx?mHPnkE2d#U98A=cKQAqAKXQk z*1Tk>X}q}j*SWrr;yrd1m)HzH#=9c;Hj-V(wCdSc;Ck-b<;fXnE5!3kixPr9#dXNU zvU&3}8ndFVFB74gFdHC1h{)E62jkw^!?bE=^IYGFc;_M287y5#j#s|s_>7&qyIlJ! z3gfO(O4&VOk@KYOQg3JDkFTcpsc?a#@g?_9w3=?5EO=isFU5VGFF4d)l!TLI-XXfe zXml0xbq&&v`;M#5=ApQ!c6!rbtH7v&KXysndZk!VHapsIOUd5RJG)B%bA(cuP%s+z zl`lEkV42|S(HWb4J#n7o^D$gQW7KEQ!}(iKmyN3iM&7PC#^u6 zc)qqJqZ;p6H5OjtI;OhbMV2@(WD_3m0xcWww6#|%P`eqZv|ihyu6;bQb1z<98r`UR zCK5hvBE9#P*)Z=@5`^V?<(!icroDA8kb{kiZ1NVV%Vx77`$CT6bsunWmyCa0-0+V}eyfLW zs@L9@i1V;sEqexy;6*kY%&UcnLg`;a-UV1Z!5vIX!RYKO)v^*2DP&gKs4kqS$LEev zpM3&x6mWV=DSN9%Xtas;)*m9GuAPL5K+|(zMm27yZ%bT`b zbz5TVONeOooqj>H04q4O@;OvpNH4RXnYa+}wLS>;HC~F{jQo{pSj=keL`+@ydoazG zCA`ss*;rciJ(LQ4$gkuL*gYrJotw(i9^TjVaD9ZTHfN7eS`Q&&t*s;Y53CRR9_pal za3;_@ey9+yZFbnYSgGN5ZDLyMqbTWFqyQL`_kx7v2PrmVc;{iRLhsC-2=?%_?pAs` zp0rLQy5c}FOiHYRRFe|0+Zq`OOMgd6fWo=oEtx{uM?eObAUn=0ra|5nyR(~yL`*6};xMbPWq5OlN z;*J422t4icohP6d!4F;q4ezlJfNI`}mBNk;SnT_t|AY5{j|<*9FKm9bs*Bc8D`^c9 z_H-h@#aK=mu;hgs26_c~Io%t;)`l}(Gc_1Y;Ok;NEPjvu{Mq?b25(0Zo&2dOd2%bXI&f4K{QKPdD*B?mk z^Q%KQKpEnFh_=Py>jU?H4#9E$RSka1H&Sp1OVk28k3-hnf4YszO~lIy=>5(fy5YJP zEIL7`Ei`>YxNBW{*RDbPSc8K{hsS=&?4JNK&Ky6q9&XQ)HGc*TB6qEx?$T4J4(bY; z0ZF~NfqDZOr0PAQenWP_bm^GKz6^qqJ6pEzv_|cS^bcCE?OAL8!s9!D`xiC7H-ahS z%l(t_&2N{b9gOoYkPg^D)kP>UO6$4=9FO8FA~U>29$Pq<#-W1}X{A#i>lhMZD$guq ztfxiBI!G_7%2-2tMvZmQJl4%ruSn%=Bk?3Lg*ChkbA89+OQAI z;~yLR6v~Ch$vXacj1xWnV426CyG-51_;Yu!VWAk~|D*8uCmQ2VL+dW0X~4bi2u}l3 zFK;kO3KELCG1E4Z{ zjqi;U_ukn3>9&lrPmHf!~(jrcHeCsJgWPH7*@lB%f9mmo<^Z1e>c!u%KGL3Jk zF}_)-x9{z%qb$fXk1uyEGQQLm)A(|4 zqQ>_>P-~y#OZ_6fZ90GX244FlzdDh>&>;7hFQ;LwoTHS&A)zGqU?SXi+Od@SJBnhl zxD{(x^4b^j^emoOgw5dof|!$mJxfm zcPrYP65U?1w6_cGSsmi@)~)&&>gAKRWPyQxyYb*E!SL^YLML?S;t6+NI%EA%MCj?&uhVXAsOw4yxiz6w|> zvj{F-vEk&PR6YV~Lkndic)1a+ zd5S9P97~C;b1bJob5y>(2MKkK6~bL9+>I~$nftnMR|(hqauah`3t9VeGf2%*|8fh5 z+g=WG*!XfghkMkuaUF=^T|GaZDTFT0ft*-|b_}j72iIBEbsdHs(}-61g1rS3&pdCA+BiI$uEz< zwALo3xGx?_k?ho$JCF{Gye@kL8V+gM!`&B;LDI{kIO8ZDKrMSD-q-eDRgZPpOTFo7 zwg&r+q=6Vb{K<0_`8NT^ho zP+3Gmd!t-eq%c%?Jpes}~7GDF|Rdgk^ZSX;uePKZ&6|xN8huZ~wY~%_Wc2Bnb zcM69Ize}S~p8|NxjlNek+OM4``g7Z#gZm)o@YSB*Z*jJd!mBXCfKi~k?ha6RrOvfW+pOg_Y6pwPj`pihuP1K3wzu<`me=UX z4bom+8V$760v|<833nch+9ntwc|mQ9mfPNTr9Q1k=kIyqS}hk(3Yy%MtqBW}Sj}+f zwqRZl?({o%DV=+Do_Td&eb=$a*)bFovS{vg`Fqsgct;mCs=wx!QVY*RqZu8S&)K6n z8a;VIU@s$Y1#W}Tv_6XA5&eL(_dHginY++|%~}^;6zn{P@}0+8ha;Dcpw&(#pr7g- z_<|RC^*DDco%>opp*!j|x%Ip<;m)r|=?wqwLz-io)}ft5%C_CXfz^})g40f*-rb)v z_b~Bxf21 zJsw98FW7w3o!6ML_tG6y14J*iAL4q^rk3a5{rA@2^PL?&TGQV8M@04UPdn}S(-33C zU&B9*_^(N7x$QLKMc*Iof8s%XpnY|YAm!BR>7zK1a6@6dE-BOM9bQmBrf1A-7`=Da zPW9bt9NtuwE~ z7?*o77gMWS^H4iiy^5)UBu?mXx>eu(SpZ5 z$bdw=4}}8$&Q5Lj?uXhn9|mKuwt3b?G89GaJQQkK7X*4s>*p-i@EOL}-xPUwE(xa= z>2bPEVC#)*%vKB0v}k__vEAxcaKjW z##K*BPj}~}r{Su?Z=_MBqfsfA)#bVvx_W`7eCXUGFqHCjQZxr1X zMcbqBbVQ{mM5Ql|N?#pCXGPKDqv&Z-^wcQ&{wR886#Z}%T^L1=iK3@O(UYR+aZ&Um zQS^i;Iwy)AWubBY<+siXoirA(NHJuQm5PJnau)sH|No;UaDNIp$|;EmY1LyiLb^#F zhmaP-W+Q}EqpUk-IVsA>NKs#vvSpun-~Ms8U`>hy`3R3yf|MEQ2)~8!YJ}quegol5gx^G1iI7a*Bf?1tyAb9f zoH-+9#$<#m5Z;aO2*N1{lV+yOxCh|~gg-(!3E__sEk+fp9v)VUMTG z_$k7f2!DofHNr;_HX(czVRB*0jGrSMgOC*DG=wt|E=KqZgtZ7CL)d}vafGQwDKiQY zjzd_4un^%B2$v$9g|HssY=lP)i5H3NO_{)?T&m$a% z@HYq_Mp%Kc0$~|KFG3eWBmm} zXw;7#QOEYEev!>G(;WsQAb_Wu{r8^FY2g`I%=Yh>ZrpPb$FwWs(y}5 z{T%Q1b8PJA*wD|hzMo@VKSyOh$J&05HT@j#^mDB4=XkrHgRa#9FI57 z@%Ym@9PtSt&y~KU$g^MZW8qi)@O;IO1z+*Q{S`l+`HCOfSNtgdiXZd8;>Xip@x%2MKgz!1 zhx03bJoObn=6%JF(*Jv$SppVkfIf(_r^=o#d!}q**>h#jm;JWv#j;n*UM+jA?2WRw z%GQ*vFWXe+E2}AcudJ@Dp=@i}`(-=Ic9!if`%Bq}Wr4DNW&5!=&qww{_K)o?_D}4e z+W%?~+FR|1?QQmU``_%J+5c|usO`u(QhOxl^V-jIzNq~o=Vt5Wwx_eLe(eC6^BTr2_ zRd{Ogsnw_UoH}|cxo2e0q@Kc_1wBi9Uhmo1v#qD8r@g1UCoz;78Xg)G8XuY(dL&dF zDi19RRfLv@R)$uEDns5-eW)?y4>gB^p^i{j2)f2(*{@i&Uoi@#Q!)_rC7 z72T=bmv>**eQ9?}_mJ*Ox-afd?!Kt|!tM*Yle*P0>c;cOoWF7Kn86zp$0Tk%Z_Ifc z2aOrDap0JN8xzJPY>b~8pBmpZVCjIV15yVx#Vw7S8kZW^WM68ZYEQK{#V(C~BzAo4 z@YuxI_Lyxkug5Hic_e0h%0-nGB!;DLaD z-`@9X>o)tmHP!EL+p)c&e(M%;79pn*auy+{5ppI8!Ks9tNyw?ha11dVMGVIf!%@U= zEHNBS4960~(ZpE4HP%s$^=xBZ*;wB**4K>nPGjBCc>ZHNhcTXq8PBDR=L5z%z45%n zcy1AGKSkRU(e`z;y&0{4qtC|Z>vQz=Dti4UdOah0eJ^^wEBgK~`hF;SeIWXNxgYY`@ zFYEg8f2r)p|7Jr!{x|E-@%jDl&++;FigWZ|_`^B+FT8q=&+lJ8$LIIU&(VM3cjxH8 z@X9&*@BHZ;{dZnJNB^Za&(VMBjdS$h`QthI@2osW|E2#vNB^bQ$e;a8N9p0xw$fl} zYw2gDe=lt>{afjw(vM4IwhVqK?s^^y1Rw(jldn zlwMGpRC-bAg{4=Nrj`yZy|VPu(v;H6OE2>d${OT7FY7#SLRNxzVAeqI`B~?C)hyMU zn3d=qoHbaPtlXvCtNcj0Ng1o$uH33Tp**IPD8Iz#$A6;yT=}W;Z6!nbE%AM zo66P7b;@Yv2IYF?S|wBYq4NDHwsE%EwufygwglTK+c2BoR&VRF1#K0!a$BWsrELnV zy4kSsQee%Ef@SAd>Xj}fs8rzdiIvJq<^H&|xaPR!arfKP?9KM&_WR@0;+x}_$KO97 zZ9wyYnI)`B0O;^u_oM!S7Q1=zWc$_kKk8>UphL!5Wg5WiaYU3f*}4Izscz6 zh3IHAel_UqyXb5qIvYY~$D^aPjnsH_G#(xOEE)1cM<=19O?W}&_g5;)nyb)%bacxw zML9SezVw-ja@!B^RyDUODmggXCrYk<4Du%N0;r$b>`0iBIX~{Ah-c7|fah zJQIwXB}~HTUxbk#f>BS!h<^>Eoq>`59!7Z#M)($t?i7sd&oHV_VMLcGXe7P>A!p^I?vhC zR9CC1uE!oIJg2%2Q(X@}{J_tD{?H?jpDl^QlyZcm z^Ik%D3BtD#lK!hln1b-H2uT;l)yjKr|4)100v}az|2qjm5wW5MM5TIAB7s6UuRZ(T z&6`B>G8+QEx@@wWWF^VQ>;?j*N)?qVT54&fN-ec$vDJzeTYMJli&|}IYb~|b;-f7- zYO$r2Rx0=Vn>lCq>}CU0|M&jy{eSMlWX_p0uQT&|&u`|Oj(8gGHNu^(*`Vh#7R5bKDm5IYb@5Q7A< zrHF~3Lj;vXTV{b(;C2AN{-A||?g+|yz|+6=_yxOXG2K-_}35^)#e7R1XD zw<5j{aR~9Ph!-IK4&nzG=#~?m{_$0)~Jq!3kd=}z!5F3bzt~VntMBIyb z4B~Z&iMQQP&jHBKQVc+T9q}pv@CS4cz&+_FXb8!#z4P=_(O1@anIp-&hOB?L(PX49tt1oK9o4L?9dfEFYE4_ za!LDwrQ`1wNSy^vaw7g6i+^MAZx1Yf`?$sLz@dZq$2&2O{o~V&{qs8?uK55=hX2Fo zB7N=C=zE9OuK)vC1im#9FILW05kasgSlJ4ZS_lUB3H&>TUt^rTwq3a&+aPwMbh#Y`I||sCJw*(1X!)_L zCTu!s@#Mv4uyc0IW=^S+Eo2Mv*NMAx7N4d)SpNpp)=9lA5X@jWh}HjnTqvEF|%-JXkZ{Q zn4*$Y3yM>rj-iyek0+(RNH3*QS^P%NKh&R0*A?sUOhn`T-DRS0(L^lCI}#g?CsPu- zh5WIFP*ZhneM8MGX&@2rPsRAyH7#gpkV3WL`li}uD_t6h zBr#S}Dj{XWJoE(FT3YMdE81!#hCy`gE47Y1k(^tb|(6};@v}o=o;pT zTBa#W#rtAXDans$I+=>3I)=K+lBqDIVEoceVIF%Eol@ycsVjnVm`*;fs5BLc_b0`W z#{2Oi(olb#-l{K#ZgP+UOyK=1Qh=O+6pagk7$&Jd(LaZVvKz14Kh)QO2%WG*N18la znPr1<8mA){I!wQo^e2{KYB`j0*l6V)5gkKc6Jp+_&Y{6U^d68TU;!Y6^ z6JyI08OWjzWb(!^;88*|j!PNr!|+I{oc_{_TWxegvbV5A)IqaMutcvb-oc(fw=QYK zyA!fz2H2c)R0>Gp~U~M0fiVTVA8tU()_M~K2*nCpCd;I@!R630yCOrqDf+KOZ1Mb)JJyF~K}1f_!kT*96i;P@sD#F_g@j>v+GQ$vihG zWuy;8bTB(lCRu8pKbw<&dIu_Ee}yz$6a4UQqziI(nC>HWz=AdNl>wo=_k!OLY-CV? z*Oe)Q86t=UoleI2e3f<%E+0t6JNaZ;^;X$%i#I&7NE@K7 zv&WPH4woN1xt|1%h{$baB~Z5YSxRxBvdsq{D@q;hT>(hZD3A)A&t$VyB=hn#`J#nP z+QL|T&`M29JQfUK6c$#ra|kYzAWqF_t*@<}0TdeQUjl3*iv=b_yugUOC|Pr~dAnem zIGVhn9tdL63|sd6?av_FhgD$$k{a-Epf}P7x4?&_RnFWXTGF8ou>3Wa0ObAl@$aZ*5qqPGB=3=7xnwfF2^@YEu=#Q9M z5|>e7W}Y(dnwvL&yJcBOmV-dHmhz2z8P@>p2$;VObAH5_Sg)72&(M*Q9EAx>MtLvJ z&bU-&>RmA@-X&4xCKb%3wRT*rSYSeoHQEBUvioi2f$~DCkTjzVM)?_}0M3Z^C(EpP zrT%eQ7WCb$mxBis5iyg!vHott3~PRt^$=?$&P}zpRxA{P2uYR1zssb?A?TSx2ujPG zBzC1$lkqKOpqmVy;Wpnif zHpnECdjst9xqxfve8d#XvA}m zlzt3ZuMff$`08?LVZ1+@SeBHkTBSJw{B5X(M&EDFmozY#=p>OpZyQH?k#xV>o2$%j z(L7WEHB#}VF{wQf?~L)O%?xv%G6X*($0k#!4Zcj}pYWLMN(ABA`2?I&x{%uPcUXKkTP4) zjWokgqp$!fTL<#APj5nVCd?=4qQuBC1SX{sJl(F>WQ`306W82qO_^ik;aWY{!-N{m zUk&hTy+l$<09-(LNc&FH8ye&K)~bp|8$gQtk+dQ=pVenB#M@xco=;E>$l$`lmw^!5 z+%GhAv-RvTLNXs6ZrZTbZ{-(qI4#v3My@mK7I|rz?`ZSd1nWF>GrJE*kS)`FID*Wc z&S#g3N#~Sc^X$%+H-uc6E^!oc;fTCPD;JI^D9~IGINQ85RhgckM%HWOEqBECXlWO$nhzgtlss^k$wOVXSVyM4?C1Hkghln{ zSlKH`k7fF4%`kBklTLC~%_PNUTcgq&vxX7m=1Ar0+Mob|M&=Y0Ju_Q_Bvc&|-M8k( z!*!7KixPpcWwJ`!ZJ42Il~<8gDI(%lz^PS&*cG9*X<4;EQ#98X8OWQ?3s};py(TJ< zFC9WfVrUTT72RHv-G&KJLea3-)dl4}GxM2ofDi!4?~{bI+sWBC#9f{}iX|N^GT30+ zLqdZsKjgGj99s5@w6QMLgKkka>-Q-{ExsSNe1NXRU)c~tZ%};X)h_2 zmPBWkjb~)TObv=B9V>1`w?D15P|}cLqRn>Qc1N`O7~)+hwf*Nxl#H2_VoRaGCtbyymxH0v% z@o+Rvr%{F$tT%!+a*RU}08v`0=Cz52&Dt#S!nURG>tif}WC!2{qU6mrA05 z-Bvq&qq@*cWQaknXG`Hs)1B<2buV+hHM3r7)lKx&><86YjT(=b-&_gH=!pm1}M5bim8^SLJr7o;M- zGDmPC1YL7257}ykI}xbv9y9isF{K@_z2Eb;>ut8{+ zDk3cE&BclN2!4cWgjVyOVgrHlSU7bsDEx#Y*8DMhFC>= zt5jMs6pbgO_IPp#R%eJGvB+R&4<0WaWK}SQi&~^AG6ssQ#6o7W&PW#{4Yahbu~BME zBzmR!@zhM#lUl-PWv8^FFWw!Ia5)!7YZv|~#!N=NfIlpmJxb>_Es&Z!Q!p?|YMBhi z*ceImMmi+DOr6Q#5XJL3a`Gvee2y}CCL?QmX-$7J(I3A|YN=?g56xr)=oxACr7bY4 zbK8b#kmc}?=S#a7Eoqbr8aW3VbaEye#8i@^TN>iaI@K`_2!m2RMlTsv3D!uJE^UlQ z;}#}X5A_X5p%fNAB7;%NmSiEcTN%URc5iI?TyEE!TUF88fQMa-42z{{D{(`l1I;dl zM>d(pM6mKD-$R4|9O5$e-v^nJk#INz|li42-7hFr}Q`lI<)A;p7R)W~Y zua99q#O?fg0=pRT75w@HwmN-1mVFD?5A*a-upc7+Ex#^ezeoHYzn;wgj`)N%)YeI? z7_rW;$1@k=^ZE5S)`qx;UmwqU5ns!%3)uCDZ{^p=vahGFPht0^uTNx8;QB>`91J1V z*Q66ObFoLVQvi-iog=cO=?+S#v1~Y%U9J6rYYsIxG^aPRY^EL0?EPq-UoTa|#E>B6 zHG}ur@Q~F+&ZF#(=KzuJ;i6TaH((l(c2%+uiNGpbHc=iuz)9}?k=l%MaY*O^S?%(<&Ac4el(`NW8w``-Qdni7 zT+9h1yUK*Z$1xz8ibEgmk3p77C19$E!IenZ`T1%B&qKQ6!ic~lcu{ky6w2bDxgG#d z72!6{4I1bI<>yV&NOgv}%@^i9@{uL?aNhZxI=QPBS9@U7lctezge-g53rp4$=&w-{ zSFyw#jd#L>&Pssm{Q%Z|hxt8O17YZsoKfrx%~!wBm9ra2lS6Kw?HPn%krW1AZul_= zIt^>-`OR1V$o`|P+4L%8spJ=YJS`HNze&n#zCNyaQM}fX%ZTyH=~te);vW8ds-zAY zP>gFl8tY9((sO;Jxx=(@+)^PW<+R7=G2b|ISWV+bZaEGjrr%I3)|Vt$gpC?2P5qr% zfF?uPe=%GMeY&i78VwKc)^nY0%=&JlSIoLyxpV9%X5lx`6y#TWsYLpi5F3@ z({&meRtI}gY>>;gaPGCq5yIzRYQZ8B2&L$kMszicx~SKTK|`Fk%u(8P9A6@jPXbZDd(gD9TccB}1J({cNOlz1Ckc zG`qqNC2Mx0za%+(p7ZxMW zYJ@FEkvCsGfBA^z^40ZG($4(Nq(lgz?U$1y&76AHEChCBR1wYAhA0uAISr!3FDeQYD1GT)B6cBt#Y(&BaBO>d%j9-aLG`(bwqJk~sqMI5=F5$W+1*x_n?89$@ zYkDR8c9K>?Yl1j*0uDbOS~wa;iye_H4KolMI^W(LDJ> zQ@$bFW!AI~Q6E79J7C&`k8`>W(<0hRPHCdIFr7k>ZzBs6_^|QT0)jaU=As~%AWaAWpfuIgx7F3OvdZSRI&^v-HY!S`(aM?j z@u-Yo)zhQ`oK93ji3XC27bC*akXQ!lA?O6pQ5Wy-$x7fk+GD+CR52CdIWh?ZUm-a9 zqJ4rSzR8I9!F)@kft#UoW^r;*vf8JztuVKtoBw%PLNmT3M*BAeK0?;y2!i3M=~MV* z&*eT7!j%AK8?j=`aih;Rt7bWZ5c;huXKaAW+Bk? z!v!Dm1d!+CBjg*cj-?;5+-UXvr|DOt{jVW>58=lMF^C~C5ONY-xIludJ!2*(nvR*A zs7CN0$Ox2nF5;=?HQkREPDY+_N0D!|@*g+-!?BYS`w_MjO->B-F(L%StB6}k)#Mpv z@+Ff}i8PM$76G~xIddonWZHlPH(TzgKW!S3f;?0&4>1!K#`;iolQ1)m#{vX5I`+cD z4?Dsk!j5OEJ|ammMkI-JJj1$%Ch0P*XmAz7Oc84wW(qI?*;H7zrF1@G z2kEV~z#YCmB9=<5QevAKty*L}kxX)%Qy6D>h!+xO5i$^T#)T6)E#IVvfLm(D3jj>d zPI@NhC^X7^#?oof!EJ&WC);e_xXFosjn590<~V+GVkQDzA1<7ZJjWkJzQfh=ai0Ag z{j)*^`tcsZWfLYRS`jpaVubTfn4Fk_K+lghoR*XS->By=2){)59>RJABD^*m(x~rG8Nc-_U;fO&G==vv5aq4%&7-NUgSFpU7PE(+;hVQu~zxq zcgbt>0QeIMP~U3$R&dGL{Ig<(AQfx?8k~?I(sHF_iIya6BmeRkG|fEX3xwRXqn}Ao zKr6&@ChD+i$@m6#z@=m`wqh==bV26pvo;=MQ2KEoO|IBfZKFNhS6IGU9N1<3r>^wFC`zwKasCXvJ)MxoC|x+#q{Tly)$;q1u?AHr3*URF9e zL1{_E4k@@ZT%Y7g%`-my2*P0QrCg?`glZqZ;b@4EP9l)GaG!Z#rl-Zy zxf#n7<;UbwHDv$9xnWj47*TZEl0x9}#-;igw|ts!0LWsJ1WPHMX+a+0Xow>S>L4(} zpR`uPlT7`QuJh`Sz^hpjmoH~ijnFDd*v6I+Y;7bIwf4c9xG@WDK;)N_q_(W%?H!XCT??b0}>2R|qSUCarT_Bg_O2y}h8@G71c%$=ODV4dPl z`20dAkM(sC*TFfKHMj!c)3a|mCnqSJ>JsrM%vdsG>-lK$Smb*Uhv<(i$SZ$;?8Dml_ZDJDx1|vmp`nn!I%@#@5 zK}AhFgs3FSgb|3!b-|GpW|r)3<@VM#^|s8y&4oOd;L~mEV;cWaKRG#?h5*WF@k5Sh zV3v7o_n@khZw@x)kyCB*U0-A;?UKKR_7hAeWik?vm||Sw=jL?Xr&HZ{SeK zD&yTmJP8spNwC=9p@oaw7B=3ptifc79~X21Eg-jaYg*m%KCA8RRtT_oIozmpW0vF4 zYCYrNDxPu3&aPQB#HAeMA*MQd!;*yg1sq?>qKp8Va)L`)@IPvIEh7j4DeYD? zPEh#S!c0upI}jc~`a741@GRon&FeL0+-b(gA+`ZEgTI=ruo!uvT4%LF2H{7wj%Oxr z;W!-U!AJ zLgyrDi54K7TSAv`_!?fAu`h;!-;v3Q7F(dSqYYb8&as%&0&76h^8&6$8)DMipo!0k z<8{aL_aNE`>)JrPGmc||OxNHHD&%&0#9PqI8CsHIv>8nxqnBcR+<9pvER0MkiCR@! zz>#~O$&sFYD@!_|q&HoSZT_rmwxmpD*>hxN%}%A4b0w{3b{NQ)hPolknTBJmWLjri zMFGSPNqEd+I>f1M_7k$O_LsJD5I5rbCiO%Z6S-X$3y_qOG;6%A&5J*5JZbiD8DI7s=)j54S8eNxQE;rxEbz(?O zA&^MER~*#EBh4sj#7+Zhlp3?R8__$#M|k^0&8-Cvb9b3di07MK$Fr&t)_uVa>7*}F z8#kfq#{)t%yv&Wc37&>_^kHiIj74MG2c7hYmBK^s( z*dQE8sIfUI@(q<5f!I4HvOR3;=fzR+r8wL}WxQy+zntIiG&E&-5JRyO!pCQom z!-c2t{NW?yIb8YsQ1)9Nqx|9OKALA6(e@V+mLp&|gs%WCQxndTMO{@C+~GRe2g=Px zS+CB&SlxrE2azH{qct{wCE>cbz!TEm1R_f9b=9rrH8qOn$jX4#Td4K+{APAZaG7LF zY_Kj~wY*d8LgG@R9R*Q8epVUNJzOMaJ*l#tFCrdO8IGfn3=_RW=9;Wo)T}VQ3@(N<(tyoPfqZlqnKNthW!D#EaYEU2@MJa8%~c%}&_SgsyH>P?Xx+?+OrkU>L`&$L8N zNkl#^{)%ffXIVS&TB2|1HC7zgHYj*Af5O#VhMh5KVjIagr&&%_F^x$Tp(^t|X*(&_ z&||QYVo<@uV>ISWGPfIG$a#|xvXf*prGe-ATC{Ej(&#)L@f@=&=7#4$PBN>duZQ}q zOJWDYR*n>q%ov~P%;nySOq6>SyP!7~8hoH68wyv#|)y18R5=V+zpDCEhQ>3DiPkEX0f zWgE@YvAA7;W-<4WLxQzY=0UueH3Q}y<{*3S^Y&Zi{mua@nRa@NfOnh%f{phhpcZpr zn;;$hnbz8v5WEGRTYov>AK-uaww#5qWRZ5lff3y|iEI_u*epmh6G4;XiKq?aB*2_i zu^B@;5%P?={=&hmRM-^+t`gPA?5Gw`&@dh3kSCevPS=&4J2#oSU}^IFY=HFnxbSmZ z0#nTrS^#Q{bT)?;jWF+pA+jTs$@~Y?8b8C+ByTuLOdfV%*Al z6tpTv&BH1#`6QVbgERwvk~k34vU8#YRb={sWZs6Vs)fy-B+m4Ku2{9OwAeXBbc@G3J=LAPE1xn>M7_Q`*9koM- z`NouwC);{Io+XxudQI|gE^cIMwlfcrYQi#yC(id&MFU~fh!PVwpmuT>0tZs$Q8mEj zDHI%a`gRu}jQULDEFSLP9v&(MjH%0&{tHA)QM}LuaO$c*&I# zt2FN>(JA33!=2-RUie`H8qPJPpQw?ppzBbCUnb4&PRH#6T(CAl&dLh^Fw4oB4|y;c z1fu|kD{y5MC$OVN@W1igibwz;e!LwfdY+ss-0ei;%)UhxnMF>nya;K5C~`&(2F^m4`%~)V%1vP_BwveRwPHJwk!w$JNurVlGH&G19R4$}WsuJuY!g z$^0>YM(Hlr`Mb#p3hdSFFzL0)2@2Np(c&kNXYuQ>L;W6pGJB4kKewJ?v`uR^A5E9& zK{*_ak5m0IGqkQsw_@`$Pr%#a-LaHO=ZJ|Ev_<1<328?olan=mJfkDdcpW1Ib52G? z?dePeTR@H_Nt2b}VAv}7e3JN)mij>h*k9k8oS^XAoRD}MX zqvg$)-iC4MI+= zRqdhbti+0j3Vd?J)@I{^+!X9G$k%LRMV{2gn(F$B5RUMz$@4H&U(?!}uN1i$<;h=N zKM&TpAY5Lsd#vTE&9u`eypLMYy6?GqNAG zv@Oa`u;qpQ-rjUeYjX(7YFIH8HS0kGdTGyC-P}-lLAatSJC``{I4fggsEPM2E3pDQ zDHn;stI2v$)!fw9+T0LstqFzO&u?hSX%w^7T2s-GRfMK+BpBN(s%p)7%O*g6d*z~$ zrOx;)0si?1~x|RAG~ActitL^{uT7LRmEc zFmuQWb{;RRXw8|=il*k41)wu+tvNkF8%F+jR`VoRhjQo|GsU{oitqc`auDk^+s&W7(Q$Weat;_>88+8*S8leY8q?0$usYumVno!d5MF5Gs$k)69SG@}2QH+Mx=;l}p*aASK;&#G$) zin0fb()fw!S;d>18tU7#p(a#Wl>@&PxzWO*mg@T2tO_o?U{OszENrQ(Z>Vnxg+WCs z@g*!9Q=&8Bb3mfCuBNTI)gnran48Hp1qZVwa2{vB=SOMS>u;}bZyt$6JT(LY)|Ay5 zlSYipUj+=^>w6@i>f?Z{ksM^MGTl2!E zP#9;BXLYvn!ggRCCu&*g?Tt0z_QqU_&5$8cBAMID*U}4PcPf2$GsxTChf?~>@C6pAKBx@VO~fQjSE8c*d5XW9+OSds@t>sS`RMOiUAF`gWKl7cYRAsxV~*c zcwU%m4f!2_Uo`&wfS?1xp@riR;ti~D(Ev2 z$em7wmtc-MidHMhJ~9_)D5vYq60Etkmh=L0K+P_l&POhSd_NA^v>^El?@5oux6_;6 z7MBWnpKKWR!-S(aW(E2(naKEQk)kYI;qe=vKD3OMzq;{_HZoiA6Tm~u`|$;s-ro37 z-wd1sjw5Qw2Xfl@HmpN(t0cbqWk;)wgq(Ha2e*&V2hB{oF7-e6J+Z83vz_u?LNr;h zbq_{N2T*H>`7CCu$ztruU{Bj<%3$t6Z)4cQ#%D!>3IyL5{3QJ9VLK;di^!m)uT(Lt zmeoZnagqT5e|dLDOrKd_?t4Hdw!MeU?T=z78**}8-+~j%w$T_#F0tSc+X+D41)PS4 zI>a=Ie#J;Jro;J34=0$-NhTknJjq)AWF5&cNO0I^qNX%F36~JAH$oQ-;{Y9g?m-v; zg>UW-!4I{RTl@H8bb!oaIK7x`Qv78{4nIbUbkHn-%q&#ES&qKV#!pEn*yKQYWPHIf zDcE=WL6rIIM|sFRfYvn^0`y#d-2%jjNfO9zdP^M z6{{;sm-OSD4HkU#-;)y*u0E6)4IH)1g!|jz2Xq?SxYklM(28oEg78LEQfo@y>A~Jb-I^_y+DNSkFg`Z$O^&Q8)Gz z(^hCelf|8~EHXz}OHNx}?4ZpTO9{WYItzFf|J;&TPv@1T$ALk-&yCRs&S;=A^>D{?avs4C<7b;g$Pw5cBBlioI19x~G}1M=5np_umjc%#?qs{q zfQtjK%=?zL7liM~;{I4zo-q&ku?>ybuqD<3@Ya2oqGRM!1TN6UBAwWHLr{PMT`U-E z?uU<4a!F+bAC_gU6^-H|gk!(~^>}Dq;Q&H9)_{x3xpa zlyYQ!n9eYmZTpYTp=7hk@k&8eA6%#zta*pY4DkY*g5~IGK4%_FaX+dFt zx4i=MdYVew-fRS_QdfDMc6&WZ@mx5kll(#B@HyZ98QAPZTW+wRH;Bd3!QSQcv87=W z=Hqn6EqZ9Z2z8Z@0Z+lFdU5;_)|2_i>^f+vh-R@8E)Y~0Uty!A0F)Opd_H=VR&z#V z5tv;|s)}vHIbRW_HErs37e+*UXLZE)ez{*LZ=E&YVw{?wFv*!6#^L@0^O=<=U;Hle zynyf^!Z(g0e{LN$AEAuBj#p8h=F1RUsTs~$-&^y5$AD`I_Tngd$9dF~3wkTPPoaRxUc2UPopT00E8<5hH62CK@E7XALI5 z<@quLgDya=DU=HN)1=^HRFZ z)2*U&aL=LxIP8lGvKX$hMJn1C8HSgV%$f#8aXKdr*P>q5F*uO*GStsdGv%Bk59{!g zVmLPeY?FT>uah33pggSA)>biW)v*ms)*F(ZP2m}Wqk-R?nz#Ys4g|VxLfC;Ygg~Wc z4QAETJJ5+&hp*Fs7!d19QDldkGSm2`pQ{F$ZD|Z5LpT`_z0(;s6^nPait=&dH$K?& zs7?IH2ZR6cQMeSZl!k`ipcW?^#FySMjO2XF$3v&b;ug;hHfy+%Pmhz*`Aw!{Q~@Ph z9hl=}GW885kSfY){2i2Z%am7v=N6Wq(ycf$mqw;}-VXMu@~)v)U3O|K%BoQC?!c~w;laRx|D-5hmJ=)8vW=FDrWYn=lipNC|O$}&w2Cwn3|0}@V8I2e@n zYvZImiW6O>$P=!q3y12kqEtN-EZ0*qX4@aWzJ`8 z*8;{Cqk{wIAt#`GT?qYJl&{ptw8iM_(fk(ALcIt_`fa`JNIAswRap|?=w)_c{JJsL z0|=i%SdFkA;Ts6|A^Z^G8H8UTyoT@&!UqV)RgGnn5T+r_MF=7^AzXxTDZ(JaDulHN z8xg*PupQwkgclHAL--rQnCh|YBm`Q+Iffm_#=++71w_}$5VWWHc&I}$wRG~X^5w+rQ7q6C*!b{_WDIE1r zkDwRP{!UzxH9Tx?S+{P*?r-Z33n1x?bXLBV4s*v~`bk$#9q1$fY=W7&i+0ReCGn9i zt0>w1C^?z+0(g~l|F}<`t#Wanu3X%jm5Up*kK!iXl6i{*8L2&fXYaF_kX>)O*XC1E z+34W<|DXI17=gByvFW#Xqirm6oevseOFMwHRY==nOIy1Dv;=9R{id{zWz!LKgldEq zgebx=!Wx7P2wM=gBkV+Y0bviqK7^uBrrwFR>nXS{MQ|ZhBeWny5qc4Z5mqCtL)e6{ z1z{V)4uqWuyAWPRcmv@bgaZggc&~{FQxQrLbOawl9YPzzVuW6VVT9EP>ku{|Sik@2 z?^wVpqEV7oz?;uyRb*nS1JTAwAK3dZHeAI>KO@$CFZZt(nSa7+dxw%e^r&*E3p+3& zGwd=qnKnXi#AmBHw|_ZH8p7ES1(1%YR0z@#>hxImWLC$072P*L&Esy)_(T`ohf-0i zQ^kc13CPK{gE5?BQrHSIPn9wDy+WM$469vpm$-j~?&-3Hmb$@g@NVbyRgfw35$P)T{Il5g5qHuIa}D>M~9nIxxqp@ zoJiC+T-X=u>l|24=_}|O{E4owC`?zyK36y}1PgP72JA|@#=L%|FbUnHpFVZNzFr76 z215c}Z=!2Dz#P}Ni)&u_X1c~lcc_j#=^Fnj|6O#QO7zn8eTAZj+X|78SSBWjXwSz8 z^J`k0Y8o_^OCo5a7MrEveiuy_QT-B*osCDZ3>X7;s^&9H9)M?t6v<=!ety+)h3%rNC zQv&`#Wnfp}H-Xmz5CZYF6UII(e^>sN`fuk!kKudYj|Aue#fbdMGx`axo4vn-KETRF zTDN+S<07}=eK_!RkhO^N^R;&Ux6VJhmiV6Xz2JK#$QJV|*roE2{44nwb*cJY^#k<= zZLI!h$8E+!=WFhH-V3~!`ycV2h2Eg<0h|$!=qK_n`L}qhQsOM>70PwW zH`V*pN7Wyx@2kga=W8pqo!S8nhsfwXdQwk1E_Zy>@i}9wK@L##K2y~a^pRE%gNx4b;jrN{as?XKS^{e!6>f7~S=>ODDceovGjvmKVj%7tVsPm^zpPOyM4s+CbP^-|tqK`LDHqJ0EG&+nW#WXS4H6 z-#NZApWAn@?;(uDF5lh$`|ys>`1kn#;D5{icYkxBEf5Y|8u)hL-oUoN4+C!p&In4u zPX&$O`N3tuD}y%#Hw3>E{C@E9;B&!02mcy;KX@?6wu-(_lV{6Lxl(SHFO*~Qfc#nc zO8EwPgZv$NtNehxL;k(|hWw`du6&9zML7qf_pbjh0k(rNd~SlBDxaX#D`je2ZPLD= zU*ovkxWaj->uc`cxF7TU)ANe=EdS&H7y!>3_ul2b-}^`JX};;cfBM}1O8>C`F8?SIYwCcbU!y;$KdImB zc;9i1@l|89vDEpZ^AFCrE9I(pf8KqQ`#JYOod`@=DSIG~`Ps(3W{;2#@sZy7#tJQ_t545MX z3-qXNIKJYz!!gs)4axZ_r{Sz{UgTWtj5!CKAGm(ve#mps#<`Dyv*c)NY_-({v;uU@2`r?1tY)z5Pj8zV4k!TU?^XMIoj&c}GYKy^+mU~4IoPnSzz&Ki@aw4dqQ`zj8?Vlq#zZwOk!mKdWA; zUaLN&KBewbf2+Q${#|9-@!DKX*Mi!4T3kzNmusKbzOCJ>J)}LQ{ZV^c+oyd%$Drz7 zy;i?jKh|JU0eB|C!?ns4zH5Cq_`?2ff1iJszc{cWup=-w*c)VW0b7qekIS`6wYo~Z zPW`gFN&SQR7H@B+R)!sF0kqc7+j~&kq5VXAQ9D6DSwB@jTW`~84ifrT^*ihJ5b91cghW4`0lj+kS>@fpY09h)8ZIv#So;&|P$*YP*U>Bd>cEW=^68y6Xi zfm`d0O~!YO?;FQDZ+4+G zkO;m^^R-xv(J%4-f6@Qqc+Yc^?}xrBza!8dcsQ^(Pz&s20|i75*>?F+xmY<3*yd68 zC}-g71(#y1zN7w2o$D-jP4-Ole9H5X=W)-kePw>Xe{5i0aCPu{YGYLaH+uh0JJIoV z<4&W>+2p*y83jb$;QXrdHs`OMuQ=ax{=?bi`iAR5_d~#xTRbm#rUg!-vg-;sp1!2) zRF5}~cSc=t*L|+Bu?RwSqj_Z9_p?i`$><<%N-BduNoL#0380(y8y5_q4u1eQD zSF7tqGw%ZT^X_9k5znQ*6RGa41;i5AiEXU`GKrs=lE_ z)SJ}rse9D-)R(k>X}aD5THL8$qu=U#1eEVrK3AY3Fdx+JsleZ;AG-=5k1{q>o~neE z%hlJkN%}4N1Nu%!)cBXN(6id}fk*Q$^bULP@gDS6`|5q4^KJL-_uU+LHP90LO7O?j zw><(b&yjUGBuC_x@^zp+-vjncQf^nir97*=uDq)(Rqs%Lto~Y^q%F~!G5bp$-*x=j z@ehY))EZ5o+nu09cN+H?4;sffLm2T5&R;n9I)`1e-1oY-x!XOLd+zZ3-ZS0XdB8c&<#Ije`lsu3cb9t^ z=*KVIe{)~$dD8PU&tE(xUYB>Jcdz#>-_5?~eU1Lr{#*Ue`%evo0`Jjy!uqoqe=Fr5 z$b03<%5~t5Z>leApL7HrpErJBY<524yw05PXC4erT*Xhj|)6W^-nD1AE5f098(6A&nVX@UsSx9@9pXi z_2=q~+DZDo&U;KHn=(XRFFx9Bo2V_SEya;pH)q}NV^g=dB1inC{R>? zLjQw)ykoAT&auI`4*mPHv(2^Jb+-Eg_g_8b-k1FQ{o?^IR|aMUFA3gE^DP&WSilOv z^ZMl9$mb}P$|cJ0lmp5spoU*ii#4AX2F~9N`twKaeXY{bW_-y|o!@kZT-~l)TxYt= z-M6{7x@US~p6`1Ocuw@zd)vJCd0+Cr>ix6#cwfLj&;M8d;y@g2-Whm2z{(3bpMPF{ zOCGOGQ=*v3e)R_Ro9Z9caoXuxkzS{t4|(HyeLX1K6Z)I_M8|Z8&vCZlG&UIT0-mNg zOPsRP16*F@j5x0Wz1i%%$GHo5{7KjIuG>7dzVm%C-ylZ*PM_v~B=Bi*O7t4F(#Y#fC0o4Bttyzm`SE1Dh^%r%IBjR|^QDV#nty}n0TbBpIu z&x@W@z;#=_H+sMAz1RDq_d~A)NdKH~v+sT13E&B9{df9*>VMCFBCt3bxDI{&b6|hK z8*C3=1}TLtF63};$n)e&z|U@!bx3Oql|gW?`;?!mZ>axP7igDh*J)d{$F-BO1{(uy zxDDg>y#9OrpnjS|bF?@vg}g=B`8UTIMzhgl+zM&xdE;&4U1tN{;0bqw=VH%Yo}YNu zcrWxH6TCRM0(7^K^XFc9nJN8zO@3b4t1$IU^&EA!no^&DoLL3#bRXvf)AgD9g_x_i z^s$aB9ba=_v>dn zR)QD**zuaPYOnZA3_c-d`Ek&kzdP@6J>&X= zYm9ryeWUwN?jnx^H0D~*OWxPL-vv!M!LR#!AU8hde=cxU5N{9OA;$Sxc|AB~oqDhO zC$&@iEvQ2oq{Q)#GacV@yy@8Im}Sg0JVp&9fllKV;~T~{sa@>?rQf}-5WiRd4A`a=3NNLy~+2S?|E?W-v!yOLeBH9kU!9CjO(3GdY<&wV}??` zRlaZee&v53R5TD+9Eb((2<`~}0-oL9T%xm(>mkO0T|U+}*SnsQoTCS?4rfu9B54U7lI zKnmPf$hKezJ}JAP!41h@mJ6`=@jPXn^0e|Z#id@QejSqY2WnKiR=Y=g2{d!A{%QSI z{RhxaE`d(6)$xGiImZ;E+6Wt;F>VGge#-ch!JM<4UT2&0GtNz*r+b~u^+}fx*gxdj z3|Zihu7A6Zcc0;Qy6fEC?k~9SasSvo(X-O?hUYl1&s&Ev`-<;U|Cxc>z+m95z`emI zXpXR2um*pRm%E`^{0P0Aq^t*|k~X7!#e-oC};=oaeiGU1z!d?w8!>d+zo;?0MU>%=Vt?yx9k$f?ldW?%3)0gX1m0?<7~i)!GBEJOD@&@S-{6--WA@R zXzy+BmA>Ej4)`AO@AaPm`gLJoSzvwOYk}tiX9gn}DSqle`54aYPk=6VvAjm!Chvqb z;-AnmOO)>_PeB&@73ATR`bFUQJJ8t+wKFtHE74@Y_gYZ8-P-G*b~<#DOWn_6ZIQK% zVWo&ZDfcNa>9dT>-QV@-zJPCvUxqFi@vrh<=l=)vK(=lS*8?sOZVIv;V>mr}3lhO9 z?GZ>CFKKT;-Z~C?$TZynji&`tN56ih{&PLzSmLOu7w$QRSKKWR5QwmIH~c6poer17CK-MQ6W5%@wN5d1C2%_36KAs;N1JHe~Y zhTqvwmA9e)HlvoAnnQaSqw3VF^v8geCpm6)JmEOiI0tpTX1r(21Dyyvhn-(?e$Dw^ z=Y!7QIA4PVHpX>=>rB^7=mZzK7P|%k54)j3yyrUPDs$Jm!=UZgyKiyd?*6v>e)l7w zALBifJ!g1kcnnX_GtYCOC+xY-^JUK_&vzhUJ??o9I?5}6;gh{3-Z@@}_jSnrCxbV2 z0A8;Q-W0q&cz^Impt!HWvVj+wSj2gGp?oqV9u-nvtK1FV(kvu^zmZ!?o zVKdQXpIj|B$ZdessN5^3pgF9D4Q)LzX0v=ZVD}N&5}uP^fJN;M`5k#bu&79xpcE@p zmFcjr>55OORvMHxZraYoNsXV8=0J`vo@(y(NgG!M) zK`mCNs?#Bp=&DbxRvXa2i`A&w3mIi4>=kQ4Pd9=e->q%~M}AU$PJKar8FJG*u$~-L zi?j(^u{ISjF&o;wPpj4%v^MQxEvofuDOkT&1B=#c8@0`lezyVkpVXcMU49wx{|kZJ%F9tsJ>M6)It6|4juW!^h>v!whz}cSEpVN2iMUIJ% zsg6>I4o$tmvB(jHroPg##dtj&r~BptHy|!By;<>YDDF?b5-q zszHm|To=2dpx`OjN=R61UF%&N!Nu-&ZF4>1dJY4Ef`){J_3Jt=U=)tIp zLIzpwTLX@?&bQvT!MD-32@>}n-y6QYzIPxs?FZdG=wtpO|2Y2y|3rVWe~N#qU-D1) zm-=Ue7V3VN-{&v)SNrSy4bVs1{EPe-`xpD8khOaK1O60jbt^$FSNqpMf?wxf@896x z=-=eu?BC+Q+kY^?f)QcLG;;0b6$iU-tlG_X2140c#HcZ<$)8jsxya1oln={z|~$QsA%* zEOr5p%Yn&tz~vTT^CIB$VqkO+aC!h(Jq)}q1-{C_SQl`%99UZiylnyIE&}c@2KM#< ze+PiU!@%KHz~VK)<8{E~4Z!71z~(K$=dHl#?ZD|B!0MgA>s`R?-N5ZV!0x@k?|s1V z1Hf^n7wO}G=M#bHQ-JFdu)P%cE(7CT!1;1ueI4+=8X9*4v@OEaiyey{`&|cI%uP5n z(LIG@QK?(zcvKEakuYhIdojnQ0rxP+rZw($9G^D1w{VQw?%u(1YL|OAuu6xeqTE~U zZGgnG$a}Fj>h19kcvG-mtn#k$uJx|>Zt!k`wsg05t9LteCbq7KtpQ&3fEEpa8V!RU zF-MVOoMQs$PqAYPXpjWWy3{e-A%hmVpktRia^E5fdwnnHQ_3+68nw!?8gy!{V;yMK z2FFIwtIdurpjlhNPq#xh-2vLQ6B0DhuicEG#p4z}AD{JWud z?D4+=iR~T#K3Gx?K$2#GqQJPoguui=abQYdYCsB150nOG2jqYra0Pq;wyB6riO_qq zF|SGj7ezgz^4xfndN2V8Rid~+C_a}{{!8gS2b;GY}7K{tViZUGnF3O>3WoOB0x z=}vIdUErs?!BO{sr|tz;-3PvU0GyR6ManpE*NNb-Q;q_|j|NAq`I}%&G>VNW##BQx zrW>WOk;qsDa2Y{jgmg^e}Iccbs>EccQo0JHQXJQUoa~ zii&h0YFprvQJZH|?v)A4;Yi6H0XOFW#9RLOZ0Fa}d z%?1E^j`%;||EK)_F0zigk&=&)fKJXysUD!yq?A`=)CDXdKJH9>SPb@5SZr(@5qt79 zHl7rVjf%xuxq4z_;=)g>^YC!V{%_T8)&PJL5Dd6i(%}fW%Ly3b0st5Qs1!F4WC$P} zS%y6lWWWIE0B!(a0|o$u9x)*F8~}Ypp#Nnz5Ppy?~Ph=f=ek7;$ zKW+bAi~szOJ>vg|9R7dFY5$KL_Ne^t8u1y-Bl#ZU!o=h-UFQGg20 z8zlZ>Pnpd04rD4Nuqc@F#xV{h;8<7Iz5#(p@-BG<6EHDM*=DfWY(q-W7BvV#A?;Gq z_o*Z}H62af0}_oWX}jA2?KYG^Q;P0&AfVj?k+(<^XpPyH5ss%=Gc^kXsYq(>kbUC2 z4C=&F#K){oi`WlCK{tYk-eZEo5KYkCmxHb3J$UQ>GY+8cWP|wH&LFAvf!1ILT{7WZ z3+Y+keT43}lRyqS@DGmxVuc4|LC>2YYMn{i4FbCXwr?{%l4RI!Jaeh{)D+kJ;i{aj z;a~N8G&?apajb7uB1u2iGg{h#e3G;T0Ls^ANHn9zU#uV)??Y6lQnwDD9e^4sE_iDB zr6PScA7!Ptk?qmPPz?TcnNBq zAevhSoDmRe25Kw_)V6A}I!@1Nmi-=6 z2$sYXxWAO5`ind+`jhFIsLY7mK!Myw!K$n9M(ql3H`}maEd>fu60&QpL`QGWTchWL z<{IlcO=*--y4YOh5WeJ_8T!K{OX3Z?_NqooWlpJ20LsTLH{kNKbT6CXaVFh0z0 zk8qHz=T|8vALc)N6B00;uQ3kNw3B*3Zvd7+sNo6HAXo5bFt8k(Q9wN(>@5Dsi^@^Y z@ip|>dI~0vZkf+Gx}mZnw!5l?2f*~K!nq*=PuRBBB5MsQD!Ct4GJJXaP#*krcTaRm z4qrx2X97^grhG&qH7OK(U!x3}$0nuZYG8c!)$YIYoSLgXz8p$rc;`)gy3Fm`cOC=2_vF3mF zX4Wx`<`}J(3v;HN9YkiE5KmP5moVLL&!iJ(6mvNsuB@5HTSQcNLc9*x8&kmW+V7+1 zZ5KC36F01f5_>!C(YA(o#&b#Ic7xh<$y^doCs(B~G4p;Q06?|cQ2tpb!`nPq8d(=H zOW7zSn|5&zrCtfLG>nipe`OOtR+^bVL4+G!6u@%L0RfW2QC}5I3uj2LMzaRy$#on+ z)~qg-`x6{$G(?Q02I&}{5jk^3NFF9!{z+HP)CAyw`AMj8ys(Deg8Y5<8Gky?N(HKv zw8VH;vGm%GN)G8=Hx}FHPBUbqwJ8sjSRL8JYXJtmGPhQwdux#EznV^ExH$=lZf}p= zY)^E9-=n{Vk$;+kA}OP?G}4<@Tz_9hHpMDJ*9VeoH1s2(Xfs~n7;R>IdELrP zD^C3L-e(_qAl|pipDrCXdk0))7p}W)ytxbv0~6{C|2003MG61-uvBnKDR$@+=qDs? ziKw!8`OH>EUbrQ`;?LbA!U3JuKDMFd62$P+>N_?tM7Aw?rv{=x&-Vg{4vr=c=u08;hq$8z(lRRZxp78dhs`P)HictQE(b7UWJOl|$;@G|?xn|HU% z?d97$$%Al{LE-kkkmze;gFxATB_#yuy_BxlR}8j=m8}t2Lo8S*Pi-T}ajW?T+g#C`xXHVr>wX_T3Jc`REJbW9?dr*UNG+{GnKEko3Vi#K*A=#OkhtO>WP34&*~-@ydP`{O`&A7hfK zlEb^!158dp*FS!s@^6OcD6g0aA5UW!De;Hw3w_X;_a@*|k6!hF&iLjZF!-UFw|d}g zj*lkLp!|dspCTokUo75UVrXi^Pw*yqzy@dqDv)C z*8kAF*JvMneuzSYMut9fDBs+%9=V9$p4{?1J>p9KDsc@pAVCp(0_~{jD&^`(=9_?fPViTPcJA+>9 zHzqwwfgtci>nTcsK|TjsmGktFyvgUQu(M zJ!eqC9#HH*xl7@LPtwEoHI-h@ho}W|S z+5Yw}FldQxwrkVV&8`}8A%B4-P+=7CwO2!uZ;Y+$KSaj}CXI6RoH*(5)Oa;EHWm&c zs&Wv;p+sbiZOlTtYP2O}QB=3!5*eQ}R8_>kN{rrhBdtSLUQ!{r{BazQgrj=zOf^Ul z3=!^SmT^E~@`yRAiPh$s37|Im+ki;O1kvG$19(Vs5+X( zUrLz#Sfb#d1A`^BdynhTN zG5?f=>fyXH2ZD|PCCk)QuU5SSr4PvU}OIDxnr4#F$)NX_#CJZHWoqcdJY+7)l>cd{aL@Rj51`INGr z{5?i?dT~1KO;2EsaQG0}IEBZTung==^3t5~J6Eg({G~gGPF%qLEhHHyRY(4WI2Z0X zWN*FG<;a2fq<>AvBge;|6fXjM5aXu{i^mIx3UtoA{{|46MMjD)@%QjXN=8I60O6OJXY#6$sAm;S`}LUP~q} zcr*e;)S3p}mw-)(B>oF@CFD=Y^TGiNcJ)4Bg&b|3BF|oME{qpwHm`U~Shg#+(5$&H zYLxF@Jatj}(6sz+V6oz1G3H;}R?%DA*Z%Z#)+K8m=kV7oOWqDf88zzrV2m!6tRZ+P z60Il!Jq+ckWrQvN)G1H&lN;h938&GuDBc#CyQyUtPx=aKv3c+X+WWclzeV$Q@+RQ7 zR+Y9Dv=$F&=h;4>qK@49G~jLxs9Gd_A613wI*uCXGg}>;sEXc`_8LqNtcIJW0L_1P zYVj0t+an%V2(q$&kpDoK{6H1Q7yYJ7=LSIUaoQD>8}iG-st@bJBX0PRhapDuwd1gJ z19Mgtl;t;v<>z{%B_}2UL~Wo&r~bBWj9ydKL~l~w8obl318Kolth|zwT51pv$JCX` z^=GQkY3ESllC0Zws?hxiTi=AaE@K$+?&Msd-k@@p+SjXNJ= z0RYXJF&o|HTT^!H=(8GI_01S*q1n9~WRZWl`CWq@lM^E~o)E35baM|)SuR!(@&Nge z&L@WTHue`HZNZH3Hc$ow?AqWR4+I7)4n2d3)$NT%ZJ1Y-oGgr>X2pl++`&|9YQ!eW z31}L~<6ft~>f&&;7cmio6?KIw|ZO`0QKd%rClk_PpH7)s$r@yGcE#;jp zMm;;^U%D-t{$N=oZE>1tOm)x%EX!vV-wwuHTXqVKW4A>L7`qD*^(f;k4r4d81{E)s zrTGo$#0Ks$V#eQt!=0bvBI)A0U(W?%mh&ntjaD*mZjlEI@Uvr@eACC~D9aW@E6z+R zmj{|nk+^!WW8}6Hm*I}u9S+f#fG>w z(l~dmr&(`RaJmA2kGG@9e?TSRUyuLr_U68_CrT3FEs(a{TaY+>1F6HU6pDITIa*Tl z0_&^3Iq{Nqp^&(`R$fSEXZjQpvdUdAJFp6k6r1H-Qp?Q|y`T3QMov~q1wa0rKH`uu z)&;mkKFlZ!_~-be(Fq^&5X9(3JVkF7H+=80%d5BYy+gL8W8m>YguTv$Z7B^rj;P@S z$8i--p+?smCd43)G|V zh3J4RWsG>v{nBNoJ4%IN9L|7DL*g-Ei1i)Fa4$TLio1U=?S9*{3(t^Hdm@p)<{O8Y z<&o;tw?xWv0e#Isp zRu3ELVB$*$j(AJ7BXj z@vaj?`n<$=Q0d&+ug#xtT~1QvR+>6{G5_Q@^Ll8Amg_6}L`%>eepj!#J(DsH2OFs$ zvM_7$TkWXKeowG?cC$3AB9y+%OA z$f4KZkOBKYgLs65YJ3X6E*>N}^_yxHzrp09z===R0=_6jW|`xDP<4wax_%w+yl@Dd zXn;v7@lNnh720`V6Rw?Z4vj*Czz{2_aQIQ2zWGd02i&=;P)(;n+^sqDZ;afS=IWEa zdKX)GsmfhH(w9g7O9znmSt+txw<1P!bq4(a0J`YVwKCl4mg8vI9k7(Jh5GZW(6Ip6cpgUH_L&9J@0^)pPMT#FCtA-}xNKO}S??nV zEX=fn-iMG&!s#*`UQqWAy1Cp>m>6R)I-To)QYmdT|G7e`S7BrSr5OHUs6!Xm7LnL^ z3h4iBh@_9eU6s-3*k1-9%~VBC-VsmIN`v$gUcGV{&IP~T>&?gy81LpftyT1S#scP&Sz^qp7`A+iD`Mr+ zzY1CtfZk#DBeYbuYUU zG@;m8t3d88Q|UeHZs^=orXmTo^;`{!yy}ghcr$Lyf!p~^%|KedtAVT6nT^%-p|7Ak zumB$tl4%(9j|lf|%|vd`-MoGYT9Vk~ZLMuXXXKOX4&+Z@`I{}rD>`t&2vilq%dA@KC=Gi zeVYI*L3|GRgqA_D^SsmGX45?(mYeuZq7cvnN^exrANTZr1Uh%wucF2ocq#rA7`qv! zj4$skG=n<)Yy_x(rsJ!N9q-uUsE?5e1n=o{`lFjCMT)8UufM_kjCC&Bx#RUie zcrp*ri%3X1ZcfCv`<_;i)L`v~$O zFOtvb8OQmWMs(`Uwtm%X+idS?%DC3s9ny5(+aBv4*Q%$XRZs3>?HKjm3mM9MT&8n` zXQv%MUeOT~L{OIwH!mm!NJ#*BxhzUQfkbLt8vqiYfCbEtn8eb)P^q*y7np7T(AB&- z-O+$UF*f1Mkg-YYA3z9?LQ>z97S87*@g*jB^@;+$vMH zFh3)y+;-yJ_ev_Kl~~GPt@ByN35wg)Z*EG11M=0BR5;}VVw;%?&-=);C5CR7i{BJe zN;upA93CPRRy9#ghl!7%<~^s#SP2<65;{cFO+4(k^C?B$dr1F=EdwRm>@QP6qWfw1Pi=Vz*J)Pi72NBY|Z%d-p_OWyHAB(wDYy zwt7!Ku2yUmK5ZE+a{NZS1(dKi(R8bmu8+Kg^77DXJgJWqLA}^HxjDGE!eOS`S0Gmf zt$!_F+&}Blp0F|X3d<%kgYfb$;X1`?r|nF+tP(loEjPQY^WqGD55m2I5XVk2oVf_5 z7>YCFgqqc${B7^?H#Xx6pko|-(j_Z?n#(}V$-KqP10u=TGX?e&@P%q)*NPw~!Fe}A zcs8OiU_+`W=D1k%Gkn5SeD+Mt#+!RI8zI}`Y5UIjfjGFHy;E08Zh&yttG|>GO-%_Y zoqyZ0rv&(5^iWXd1E>m9)C?>W+c<=pfPyt>9CCMdHeZ$Sn4-UcgddOQI&S1~flrCz z3F$4Y@kdKH^^3FDBC5y>(1b*YFzxf*mk~uKL&Crkvfl39VsL2->x!Awlh~Q#Qex7} zCj8<#Xo23PNr~)C6^wAMB!@sKQ#(FXDqJS>A0!shG&1*}dNg&#PKsdozRGaQ=%1|BXEBNgs1QS?-J){KOg*0Iu zr%+wU5!;HiTvd;T5Xq>f(h*LPSFZ z^X_F`w2-x&m@;pxw=%e@aS$pyMVT6%k4C;t@yNzwV3+uQWCvY%d)dXD<^~)Tn``=G zS}SV3816Zw8g92>1=4th^Rrqrw&r>b@)4Fd`Sw|q5~JerrpyLrB=Qa-@M8R*TYU^f z0auO8qw#s5Zn`%{Xn5RO=WBDFd)JVLPJw2+Oxe#&Ux#dIXBF}vU_$sW&?%`Xfd=Tn z4ZRqN*@5%;u@Oj>^gw`IWkV3!C|%c}XFzL4Z*Pnmu( zc*P(Mk(X(>&ox8y0)Y5JkKT*_rZ!`hU#y9f=H7G?9OO0m45mK$H#ft9`tS!!uh(=;s?^u(NSb zhRI_0uczmpwisf2rR+qmqC<=~yE%9k)$n}dhy2E&A-w;JN!Mi?9QHzBQt6$79KQ^c zWFGfIOPTP?QHZ63h!=rcmauHHrI6UG^K@GmnM>ssM%S?KOn>M!XZVPKiK$44F2?c) z$;AV55TUGw(PG~QMl(>M`QJR?*?&>bD-tBm6dmKCVSq25?{Ml71VJ>vxdI1%mhBjFLI@iZLM>~JfMAYYwpo4q5}E`mTdDVL^<<30r<#x zQaJxLU*@7b%(G3@p8OiDr=MKu6BT>-Cesr=wxAYOSFi9e=r^h85%y}zr@*KP-t(Eh zQv4LP&g8ddC_{Jh1HJHiMep?Pb1`@4i(l!n(Y~<|l!-K!!zt`ud{i($2gtVT4ga^G zDci>xeaPsEE8we#K2VK5hoP^ztC>2T969H{EtiQUNzIp5XXC39`hncuj?swk>Q(Dy zhrA}Ld@sfhZ1C1mvZrCr_RFilxF)D@nL-o5RIl+$b_lJMy<+zVoB)lKRx~4mPE8TZ z(oAl4i&zqJW?9)|fxK^k9v)guE|1U1Rd38Os>v--V~0tzCCKNS~vc!%Y^Qpj;*5 zS5@L-)Un2;&*4GWRuoXmQie$6>pzEI-x{FaX|bv9i0tp|zq{`Yr$wm74>-*tbCl$V zq<1R8=}SgjqQ^e%#@k&RVr*J>O8c08q<}YBqLlU%=LTX{Vw9AoC_$!yt~z}p4Q3B% zj#8+M!B|BBz4sg^{~RW%XriJLNy30x&=_uN?D#=KYVHS^#UWH}>cth==Z0K* zw{Sl;9b(|zb-9hO=^$c@1#cOLYb<|JVh@D;>-* zORauqrE<9Ey>KkKAAeRzb8Hoa10Pu?F$+2i`vQsDC6!Shf=+q&x#!!8{_GSX={U!u z$D?bU$0he$c=FL7X47<%8mPIbBuv5c&wCTIji8VAX~kv>)WDhvL-!;+9-%5n_To$>b3Ud!+3n@!Z`Lav;~Ys1fyjA} z^3&{qt4P^N?259rZxLwNp3~?z*b3(C5Bc)9!MZOOsqJoOA}sx$YU$JU2rxE(36)~| z>s0;bpMk3u+eVjsG(zGaD9<1CL>#@#W_9*Gc(M|gQmVOs18xhXRn~qe5^_BIH!Y@9 zkl73q)F?BtiP_+N;yaq<`gq`<-vQnGix1V1=5#0pa@C4>o^gAa-&WBVw8NB&6Dcv;t!p0KB>Ck>M95GQ{839%g^!~mMy8;#%1^?*sG24Z|yekKgtHQ{(AonmW;-Y#{wdjA8oxYvytaQp)Q@JyuL=_YVA z|K>L6+2tWs+p{s2A_sVVrqVd*5aPQxBN6ZX$7=VAMGqvda=|+YUI!7}X_G58xwlv6 z_vbN*&MK5M|Gd*l!9KVEE7ov_&Zomd3X1u*=TDTQgZ!3bC-#4DwrT7`Vq5rLm2?Xi z;5HM&y{+iQ{yX0|+qdb5Ry%F8%{OZSwwVXl-*ez-3@P%V4%crLSBb%9N4>zkhrr-h z%TnjEOnj-k4yVg3gI(lRKvj*K%;-C94lLGwxrB|&6;t2W+bw@&#@*%me+R=`CKeky zY?qy%|N1OdDpAr=`fV#2{zI`w-z~Gw8#{J&=ICSVXu|rH%)PR{-`P7JA1;!sp1~=_ ze-ALpX1s#?zK^P$Fmr*1W3_aqT|zxw~(T;8-FduZ4kFKYBy=+^IF zxfi;m;tZT-dQY$X+N)-EeS&S-p1Xs?F(EPn-O;v`y6|e&(1pTg)?OpG+eh& z^Bk*XMrZxvsl9wvuG%Q8+eG-+ExnQa0$kPK@qbm`^a;0pdh?N*Zk4`7^?t6J|;{LQMbcTT#bTt#1|vdCG<@=WQn`0uPPjA(>JRyC-oF zz{#J>iS|@~_;(pZ2A?1Jc*YD%n10biMo%L&+N-6*h`CE9Y0xm4R1p7o7Sg=N&yvl$ zPdZEexPtWzLc~oD4&`K`Wx5W3yDr|v&k;``%}Ht$H>XcngjxYsWfJNze+R{SHrle4 z+c{#hm052W`)sD^YaB-FLB6u!McBnb?QwSn4||TlX-P+-BFZNx;(+P^p&&JSrK=TJ z%Ia<%&2|{wGSze7sCYPFsrGfc+4pgqXMV;lI@7`X7`@6KiT!GaL4$IDvKm-xj(c%# zfm7Ed&*a)zsqT2U4W9HhAPVl-sY^EaV$kCwksM!LC!fpc#(QO1&-q2=E@#_qA^P(s zToxU#IX`ej&)K0d+5!Il3R6gob2XXQbuO(L8maWXvO2RR*LGEXjXY-OHsQi4Yvi7=nXQuH;7|!9F_h-`h{UU( z5rC=Qqztp2UO1oLdi(d&ItO%sOO}N<-DOb4oB)~00TR@=@3vUxJ6neZ!*Zb06`Ky6NlOK zYApjT*cpd2?J_V_Jf=^m>0BA`5n2^~%c<%-+tP`YixKv`>v6&G>bZg9heXmf?&7jh$?( zZG(rRpOG%kK>ID97Q)TTuR2X%J9RlwG&DS2bs{0d;XxET5`eF@){joH)NCGh#+meC%o69WlSMMGdj9xDy=^j*BBW6SSu|>V z((A(}HpPIIPxU8KBt1N+4g?&($-8S&7MlEas{EEnqed4+SuE0sNf#5sppVEB0f!us zenNO?;CP26(huiqc)eOIK030rrkK0;!!e2QqIVYOtE_VB{A-UfzbjvAG2q1v_;S%) z*vJI!h&E}U!AF`;4tL^I%Z8hHK^OytDo8{#QM`tN-i5&%(04vgPHq%e$XhRpFZ{=( zuB1)4GG5n;5(3e;bBAMfRK7CH$dT(FHtsS_yk}X#Y+xNof?&VGWe7(Oa2ecH7JI-( z3X;n5lr1(;{r-BlkS<7Q`c3BA8EaVKnDX^dKbD+aYX?CbUck}t=iE==v zVEEibJ0^SO43D(Yny5#FQ4=uhwtJSjV0Z8>THDxhgG@JHSfSj(q6Vo3$MBc3Fe{_aE|MNuFJ*RO=LH{&QT!Q*3u%s_GUFIq^oq?AhO+{Z!m`~-X>ADY8-Q!5oXftNK1OrhT9A2Y>uZL%tO^=|WhUkR+TD^wV^`xhiOK^C_%3RwZ=(_c(%y%p+)RF#`= z+{OqpALoP1L2*T{=y+i|@WNR{FJc_v=>QLeh68kzA?jf5EPgJ-(ke0hFW`5eZz59P zJ{;luT1_~#Y7rgsG_>u`xNH^hdLaA-x>l^f2bF?_ZPNXGHbUlPs}?Z>9?_VPKo_Wy zfsk_Kx&`ul90~{uao_B%#4!;uc--q>60B5c;)S?#zmDo>PK5;czCNmXx;olgnjN*^ zj16=&RQ~HzkdYJ>e0fykM{&czV5LTmOmHi~`Ra^|d;Sso_vUVogw&0} zSjv!NiAA-tdHU?#^}*s_^RW5B`G2mY%*g?)EpK~-X2b%oe7BA7U9g4doc+)c6aFs(di-ac$MRY!F!5$E4#DbgH-GJpvceM8eWJ2?~44Q z>_k%Aa8l&Kjda8oRNjtZxF(kPKE%1lg`RD`XH?BsE1fczG($5Moh$G2}Nbp*EZ6 zj0fRcd*qm%@R?hn5{poY6_eiZlQ%bH&d7_1PuYjQ4zgejMwvYZeB;fo`wD9(>S#Uv z4LIyy#yp-ArP>%i)O={R$vZ1=Ot&@qlR0mkL7a&^ZxYU^kmqNMUQP5NP19TqDbDBI zu-el$hV!6l2SVO0j?5&m3nJ34lt4HH@aVgQa8{ z%P68QthxWY-o#Ctos@bGE4_09?H}wZH$FKT(ToG zz=XGrfNK&f#WN;?z!>PFL>mIhMnXy{Surn@*}DL*WlP*8p#HB-$l0G4L8GrF=AL?9 zKDojVB3kxlcyn|IPE>&!%_ha9V8-n9RH+=#eE?Y5B13l}2yYZzA_&ZTh|qbMM$LcV zKb`gdY)f@pxgA_Wwj<|Kmv9B9k47WLRnEOrPJYmr`xH#^PU!oh-0s9phNPB)OMM(6 z#HTCLT3n2u*SAmgbF&?BI;v4b;X+0!2S6$r_?l7r@{61A1;Yz3?^E3f8rdyw(@=do zH^X4HLAa~EgrA#*S~#FW#lV))v;J6EoW8zjm`ktQZ2*8z;WN}-KO6#l5SCQP2TAm@ z)XRPjN#OL%NRO3gwrAniYYJDz0jooqlWA91I z%4X}%8(K1F+8s#-wY}%6008o~GgNz{B!UM$&cqs$6cSElnRf2H9xAd0Fm;O{rn#Nk z*J85TJNgHc$;W{qx6K{{^QgS2ZivN*5+y+SRsnD6TBsa$x058CbONj&zD^jW;D^`PTwvm<^AqnfNEi)V~kT7{LVsJC3iGYnicB>mCu#{LM>Rw%G%>W#v= z*b{&@0Gaff1%|&zgy5w8UY;_kBF3~Mw0TSQ)yQR*9H^vmgcTAfxk47=@uYO)$G^Uf zLnDA$O4oBXxF|^2Me~xJh7eOdpCR+wLyfErWq?MCtW!b$^&Mtnu{zKbV1zFfKhAv9 z<}IltFmJ%8o(aD;i$Oyy0)-Bq+K9&=*V$x^c^L3bE5yBNFej5=J37aA{2CvsdIf*8 zmHIDT;gN$&AoO)=?ZrT#r@~MuUVHp(7*OzhOsA_ocE7NdP0=2+cm_BBQ*KdUE_2qQ z>Us_#=Ty3(f>1RC(t^(oEFrt15m6sJgy+5>pMep!RxIWfboLHb_ims9SnM(-1XDg0VDY4)dL4u-p3hMjjMsDoI&J< zD$NcptGwBZIkwuYZB>(boxYreu7cT-vF|glFEqvzxY%>da$LokrN?u%bIC5_SY`qU z?;1A5EQn(Rv^O2+7^vK@7!}Tn=bKE#$}!WP+4m=Uy5zAs6St?kSmWSD-_C7%?C>_(!o{dGLDdBd|KQ8E_j6(Dh2ifLBh;^hH zf8gksRD9NQfz}1Tb2 z(dLAQ6PQeZ^)RS60g?`1E<ZHIF&OrkQa<4+ZBdCD!Mdp{lcV`?6V2}w(9@F8(65xG7V}SoOTBepVs7bHePJ@cU?fN^FLk&iTN2u!4<7pR^^1IO z7w*dh8Z)Xm;t;Yy7{}NmEYK1|k(xg5-?_fIJ?sa2{or?{?H>RtSI{KH3%&ow;N68& zH_`*fK}g?vBtW(dr101K%=Z{V6lo#?LE)ylp}VRN%hw1P$_2QFY2c$9mvt3{&WK@k zofp@zUmOwAifGkdV(AQKoeH0Xz&q*PG7+!bG%5Vd3-S1nt*!jJGvN;E%sU}B`(D%q z_-3aw)zQ!x9x#DFh-$&_T(1v#Dev}5aG@|3RF#IfShV%+BH9nbey4SOW<`<_R#xut z?DQs=x!g%Vx4WfZIq&+FvTkWS7`YSa!487=*4>7BoP1pxscZktg+w0S12FTR=$%9A zD9G5z%yk79XKbZ%N#{%wm*`n3PK{S(10TUga}=m$Iu9Liqk-QNz47I-{%9fu&Kibk zVoZwF82oY8Srvi48d4YFv1-eUx$}Xte!F}-^%Jg4IE6HHfk0{urzmR7hdy*)DxMEo z){*=?a%>#zJ9ZT4@hNzU^Dx{l*=AKQs@5_dv667Bzx))P5M0&a6* z2AZs=45}2KfXNgC=5#x`jd7w{6mlWE=^4iB_v9_q2Y1fE@nKVzj&O8W#V9{oe#FB` zWMVPkQXWN7Cix!!Q!mRR0<33I;#!fN&T|-`n&yYtafGxiS`p)YCsfHwH7n>- zgoU>d#x*et5)2lkUhyq7uIIVfVi<<5YHwn2d=L6$oQM%;?@lpqHe{4XQmb{ zAyGBWQC!pTImD9BjhbdO19P8tSj%50)7YCqwPJOtfi~X6(X6L5tRPpnEH8aQ-Cm_{ zWYOuFfTscRv{orn>6L~8!$>MwjbdZCTQ1?I8u^Jj0%kj4wik&dnD@fqUq4%OF$r!F=<#mW`k1@ziLCrNpL9?+L}vw62FgJhqXQ7FS_VPQ$Aid z8LJMO2EKLPgWa*Xw1tl+pbA)M_LM>Hb-6FWZ1U%<(3V^7az#Hb8}*&O@uqT~W4t{Cbzpe|NQ`aMeZWX9 z)WKrP5OrOikj~h(P0)g-Ir={O8`b8c^LH0D?eiN^i@CSj-a-1u~M)RG9xf5 z9)dC+Ll-H2TamfbN!9Qa1OOvQzx{PAvYLcpveSJDh4rNeNfF z#Oi*nX(t-^%R#JkaG^XQ25($?te`YbgQj8hLqo81Z*0sWZ<@lR$Etn}DTOWZNB1;e zzIyX7uXct7mEgj?Aj2`~`c#X3tz;UA%VohWv)AFqMS_}>Kh?qj$OrV}Yfsntd8mlT ztPY;y`pu2%Eh@hq1$Y<)_6_*l+M05Emr;+tHZsDaqLu>D-ra7=6n5Jqjn{SZj4BC@kDU z9(O5IMn;BgdxW?9x-za4oD|mr2;w%1<^ZI|zTT5Fn@nMwQBtU0R7iS?wYEE)=KlBm z&D*A%61$k1GOx}JD8yZF?w07m7;Vr-$Lb9jCboKvZRM`M3I%hrpYxQ9!Fb?)7_?98 z^_=K^!o+P2;AE4v%OCVhaGkY5w+4im0Oue&Ly58+SnGicJWtL?I}zO8iaFXQC;w9N zYA?;ap!kQQ{TtP(9O51SKG+6ciU^eRJ$l~?MIFaoB0q(B^}m-2=Mt`{c#CT*yYvl2 z+Kz$+S@W&9f?y?Ht(Tu@5i|Xp-hO)*RY>&AHcC66%Q^8A4;{~I zgt{7yR~@b0j9FCwXfCZ*FVCy)q!(DWyyC958)IA~s&iiP7McWvNk>gQ=ZVJ>?!2yy zos`I5rP>)@Ppl23Tp|2*&72@+7+<~-xSag&D+b5ac_C===5%i{WFN|1nB|p-JXJw- z1;$0kLd48#xZgxaT3V24PVOx-TLYE=|H^iUE9oFeDP_)-g@#n25 z2GnFb%JD<51&b6#ReMbe*G&6KtYmkz6bGnx4c`=B`NJ@&AfCrpyFatE;V9;~9L-|M z?PNp_fhqAWDXP2vnkq<{j<0R^doQ1)=^jnW#p9x57a(*iycIP)#cma(l^wC7TJTa6 zB`cyD^eha;u%z*?{<9P#D-_h=mvG9@It|KNb$lflu0)T|Q{jHQ)OrzvZ|XIqjMG&) z^W3F$f3}?ENcL=IU>>s`TGh&Fc4gG3&%N$+8Am24PaR-N)y3cR?mzLM%h8R?zlu?> zELH%PbHfY0(YeEscQ2-W7cl8-9HDwfYD(*alE6KMK_ZU;mXYuNYW9DL{NzV1znpr? z_XX5=A_&TV4%?D$&we*O0o@@Sj88Ct4w zAI@;G79RN;+ylbn%)AK=F1OG&qb9?wyOKAa5!a}GfgX4viJ2x1GleIZJ3io<2icEn z8;>uwCk1d~|Ild=6wUs4Du~~JgC08iJMbmOqDNMc6Z0Y1B6Z!U{m9>>LTlg+z)7&V- zk}^h_VbxlA4B)B7hwN=Pw9zIBCf1Z|kZZI{Ty9wU8JmBN)vnGa&AQp;P1^p*%Y3px zo>oHJw-lOur5XsqLBUU3_$Zo}IiS;HS)n!pPdlv{W?W6=brAWhtyKHumuLbc&V|wW zOro9S!pH{xqx$30nET+3u}9h5yuP{0ry_4wM+=xb*WxZVzii`qE6;CJYsl_@dEHit zo?wswvG^NEuQQiD`8ca&w0k4$ylM@O@~*EvZd^0j`6LCM**+Jy{5HwL2VzOpt$P!5 zHc9rWxt4nlvAI!rp$_8fZDAoHOZI|W$3xB-6h54JS!#{f1wnJg-}VI0r736Kl;I=JGJ_3@ zy0?rdHQaxg7V|MPK-Cv~d+{(FP4OOt`S8%*rsWk(=iR$@!zoaFYBO%uX_03we+&RB zbx(Bb#t07Q8~do9=UV-YBHx@Scf_lp<3#xQTU4o(fWqAzi-`l{UL+Bmb_VJ9yEVY0 z4VQ>-RZNMK&alRzj|CZLB+zgk)U+1Rdf#s01IE#&v)#M=Jd9*&{L|R7*J87YsTeY@%rg2g0%MUQ)V>w+wzG~K0)m}xZL}nzNW?qK| z6}AbDKo_%}8HYa*;}paNI@l6tY$Jv$@VYjJtuvhLS>lEwcQ));(CjhM@rtxY%n}fv zj{kT*tLsFkCrbi3>Dkd!l@!ylu@(0`DKD zPQd@vJV<|VvFJ{Z4b{wubP_F{es*%-r2RcyuF5=l{Ol>{9Pnr>gKhrDRW4)ZjopT} zr|(OY>=sy2M!js5HK&yQo~toi)z1*}q)Zt^5K4;giRJ?Jw~j;l4j<^i6Ynf^r$tjU0%?!~auD;!2c_M8 z7!NDU{jrx%fByzR1cF|c;aP6lEaX69jXx40!cpWBIs*VuO5-z(xW$}=NLI@|w{vVP;g3 ztHyd$M2N0_YSeySH4fCs7K!U`IK}G}P-J;|ab@Xf6rchn@>7k$wuAr(+cUo7UDTLd zXG4djwpe^LfJ9)_bD}5 zIV7qeb>HQqBu|>pg+a}cY!-mOWdFmLk-dEXRv8QcxCwlzE{JX%`A1krJ6^bVPWFY| z=YLK!`=w_=Fuv2wO&_Wd+>Z0j@82Ij{jwgRICrkn@`nRx1L(Q*aa7yzS?g8x(+TbA zYb!CU)Z_EQw{*7Kszx11^Cv8BZ4GeGr03)u4;m!zS&--6E_a<1Ju&0A^OH2rX3G@JpVjFrg=7zJfI98<*AOCj!s&hI%i9a_WZ zCg#&WWqo4I$1ql^_fn-8F`rKKK>KK7hGA8(B$8@3?~ookRy$N9XRo<*b;54;`!TdS z2o$e3c-F?w4&pz^tqo~A(|`8gd%8=O#qa(`JmC;d4g~^#<#n7pH@;!PTKbbHuD#jM zqwyPD28ZKuce(CK8W68PX==UeC2FTQIP}>qD`XA|<~lx3^&Yf(8`VPyO$qeGPa_5| zT;CPs&CZB9pf+VCHIn9NRuXK!p~XQbZGQ5QH?(DdD4UIyL3zO81Xyx~S=e6QMgPI8 zceT6Pu+>vlU+ng784_<-a;I|V1gax^qlZ>&pG<8?0(ak>PzH0U8Vg11MxEM;Qj*>F z(TNim5bu+5Jk&V+zeu|Ba45g`J)1EYW-u6xU6#ncO}4S`OZE^dS&E3UWt%ZGn8q+d z%B~2dQpnDb7)y~h6h={s5S13o&*%3&f1KxB=RMcC&YZd4GtWHFecvbKxWE?fK{XR# zw&v#q!zb+au3&-dMe9v3m82ZeaxAd!yXI zVkQy%{Wd=H1cq5X;zFX$EXBIJ^)SE&06)o&St&0ccN)>#Q%!6S6JG5px@#$vmfLax zmwpC~JfyKCmV8P8dYG){7;ytY_I^6glWhQ#zJ6*PGC~3d*n=aTg>P#euPa(I{?;5z z%mAneGup*LfagJ-h?^A#;TsWDsGNZ7%w1P9Da5#IHBtLU>xwrFK8PAzh-8Kz&xc>E zkYSBas-n7C^M7VQ^a0Q9-9>F&L-$*!H?2-}MU>N4?75f9ien$He+&Mp_QWmv0t&6n zFp_tSFQ$zO3zbQ8yBx3eF|4qs&g@mD9L`CC!=%TfZu{(bAsc^t@-NoXN@ z&8@Lv(z>Oq%Mhm;A-{;6)5`VwrWMj8PCv@T+e+nuR+?e#l!wW04lx~On|$I69-g>s z6+x!*7i$}9lpiLpnwf~)dLS8~nX1w_fA@J#NO9Uo@G%vx_632#EJv-9Tu-sb%|jf5m&Zv*-Xp{Y8Ac6))$_B-^G9cpD zlmueFfmBHvF(`>5b;r;WEi0)Q2=D5pz>uU~5g(}$OnMaenB}qPCXshhpmR%IfU{uH z`#>n>%JX8URl(1=tOBB=!uO+`$C|5$OFqh;pT?Ji7UL>m(yKl66ct_%&K-bdZX@j5 z&-1^IycOkIxbU;Rdn-UFaBekoqm4PqN6U{|x*{!lmlu08A^iQ3E9d!6*D3qzhz?S2 z4+>qqjh%co8Jav>aRs`(+BCjD`Rg8&!HRqAiWXG1P0rFY5!`}B0eh3MR9ZGO%8wHp z&%n4sisf;rVeZqX!;>qbVn#;zGfpNEB(6DLj7v`)JGT@w#9Ih~C}NrBX=~6NB~Xf% zY$&4*r*>7@(Gk9hWNY6LNNE&>K9Dvt_erRH)45~=tZPHAwxK|1N?ikBH0?^t=?<=< z@G-MNwTekSDUU(3$yDhoEY69q>_O7^Z9*qN=`hHF7wXY3(V$wxR75-7FWnz5&G~$< zQ|Ah9OJRe%+ww3AZ(E~t>PC2-fu50y$Oqg#x%el(VIKyJiGI^TX^~v3N21~)g!ii@ zf!o8RS{}Dvr8`LNuNq(L?xmkG%#pi)qV!EKXJC$E8i?!mhm&cDyb^HXI-lb}ZUl!o zXmZSvoy%k1_X_gY$Z%=ZBO%v85svTe(;(C;)H!_4g6KPNa!lR-C0JMoti2YWWaF}T ziU$X$6->$<`CdHguyX+Xa z$n++5SZjpCDg_`n3FCP8XWi0)Hkop{ZUHM!F(iG-6t_OG zhE3YSQn$Q=3T9!W`zfOd_}%NXM$mUWV780r^-OAO-xPVPY-@8Sa`WA(HSR6at5)xv zHN=A<$S}z(o;wb;$pC!Q0C=`S`Vnw?_SykxYyG0-Vt}!}x3L_rtFio!gNnDE@ey<5 zk6mX*YyZ_6FEk0kUMxO&@9>s#2dw|KimjCJir!iN@6+htiB&EdO$7znp|U~@rs2^r zfRh(ACY-M&Um%DRYLn9V$z(8tFQwoC1wjmq_Xy1?IdOKFn4+E z@8zt2vp^nD^BL9=pAh`6qVdrY(1?Ha-!E{LR5E|xw0_@5g=g*u9Y=Y`{~jFds6CfH zYC$T=-|6kV7`)KUeZ(5NwZ;3k8*NG>Lci=4yjME?VDIJcCQ|qQKBxmKNd4ZwSh(Ww zpyoRr@@uZI{HRj9+W-r4mGorOwl|-c_U|j~O-YJ}%8!<)S0FglX70mY?6DaIqmliF z#|@cl3dX;7IWrcx`(G?_Nc9^VgNtp7(k%4#9v$(ffx=g0p}z#XJo{3=i(S9?EhO_P zkWv>-`gojdRX$*vCZqX|5!I}-^v42wYN=9Mx|?LeGYX|ovP;qTj@W&Rzg75b( z0I0~M84#228i=;N;nLE8-|zG{NwBa0jtA2U1iATC6|ehViEgJZAR=sN9=CBc_aG(g z5XnaU`(`GPFBe6?S_(M^eZFyUALX-k-Ft&H*!A@ZnsKRqcvDyyx^LWtSuLl!%LRz9 zUimrD3o}rMO$_*0m|=7`MvBoOEp@_Nz*BRR6`4HsOaSp9i1BdY>!z!`pF(1*x8+fj%9 z&j+d6va*Aq#vVqo+#O)tr61DYLaB;+rMkYPlr#K*dp?NG^Z-wIy-0e{c>DTpL*WPy~1hR zBKeZX&8d08>hgF~zI<{UFHnTAEn*Y6bw+&zME}{n53?n4KHR^B1pZMAu|Ah?Bk#>x zK4TFJ@ifYCQPO~|TJL|blWSmBD=f*PHR441w$AYUNoR$A+v{lHhw4@ND=b|(J=g*F zW+hNcEikF2rx8a5{y~meY42{CA2$*^sqeZMU`w(w+nX7j=H0&Csr^c5S|LPDV#Mef zm%xa$w}8H@HF*9~?m~LNa83o>dCF`^*ga(s|JeTG?Q|m-fCGk7+KzuPbRd#eK`;Ju zu=fcRU%)hMcB3gSNNx6_7M9IE^m>Aag{qqQ*+ZU=TRcSu7mf z4Bsw4ET~IZ`3%p3LI6uc4*Ya7*`h&7r!#1&=?^P$H(jm#M^a z&V$)V=_r6ox<-dlbKaH~aOOur6Y!P?&^zlN8#9<^^e5ZFF>)0pmg5O)E1p$5-*y8q zDL5^vq)}xpx4_=o#rZ4nD=bH5*M$>BgMZQv{#-eRkM5DB?$Ba2axR8Z)*ZVO2BNtQ zT3*BvJ|;rirPqwy#}eL}kxT2e-{)@{DQr9anvx`1*&?TKe4qxMqT2>w4T#e1qfWIP z(oppMS94!Ai>b-3Lxd#%wnbfm@ro$@hM;^x-3eR^gim0@`U6P2{=Fv0=%l)%PFl+~ zpp4gZ83}k}<7-v5?BR6$Wq8~s-2!j9;4ZQuAGTe)dMGt@jrr6OPy5S*co4%6<1$1d zpLA}AUBT#b>Yhx`{HpLB1l13pyE2zWa~JrFqPg?&C#rmLb&!EH@kE4XSSR0j2p`?v z=clpz5-O;FvkN*c-jG){NYNUj`rLsJo{jCqV?HBe4AYk6=g!|=#V9QI5@1DO&I5;t zobRbu_ZA8%cey;ABcx@XnwmmFT9(i99sJHFseEZ-bnrk@^M}I<@vjL-$FCklRqbS0 zIGOT4=cc3j=#Z;)BSODSuG)*w;C#b*lBeJ(#8c^%wtx!tV0OJKRvrL!f#cnru62@2;r8g-}eDW}h=_*A!I zvfiEPwz~b4`}E?24Z(z4i4)F4;v?1EZMB3+h-4y(_=KMKizUO|-8JgkTf6ZMg`JrQ ziC9j&BaD0!;;UBi1)jyISgJk^IFLU_`ZvJ44-`n@p%)yeXK}>K9X)@=?1lV{ccFMX z)yIdB=wHJH?Sj>Ryu0Cd+Wn)bq{!`qFsifto7Q&*^bIJ@3R$bpdMk0;TE{ z{%O9`WBfC01G#?=bHw|nX*C`H{<2fhmk%7*(*+HhO~^$)kZr;{@<9fo0O@hJXxE{u zEv4@|SAP^c7_T;D-U{4bmyB1uxLSmeSfyL9Qr?Cj)ZCX|Vr(=;;5-c@M+lr)5XSX& z@p8RKn!&O@fH`7udG3gYYj^TdN+3vWb?P`U@8f7?mWSj&Tp016*@*`RP7#h%zDTO1 zQi}=xfvpdfFO>Z#GdN6g<2Uc3Wbo>n`Qobc(OItaS1S7Joto2k#`Jw`Oh~2has&@P zDNT-lH(%V;CQkev&S&QCRe=wutGC{q`F$sq<`bqIZp-3K3!(};2eU0PZ}MKNJ(R`X zX`AzIhDGM4sw)PcP?t4md&51TNxoF~bgx2_x2=K~LEJZL@)9Iw%qWSaM;DVl!z7A# zw>bTrh2)9*lf*=yA3kem%MgW}?nD3d5kZ0XXTK1ZtO!4Fh$4p{vbp9`CK;{+;h|IB z-oX3)&6_594;8^Np5EmbT$ZGnLIugOYj-^ehHLi|yl+mhMlerNtFQEUM)3rnguaku zTq|m|U;or5_b*!eWsTRXHx=h6g7h^#Pjl2sMH(n7F6^92Q?!r@HZ{@kA{JV$&>mtS z2?z2|R}4D(y`VIK)ltr{)hAsLsg;YLn-S|a2!7Ux=iJUmsk1x|4X^$_=lET?w?4^G^b-eFE{q`T9269ngok~#V%LKFfW%yp45 zA?}mjW^Q&sVsqjHI0-55Fwo9f?b<#&7zkf_Sd75gQ3{5 z+kiC`B;Zh0P-Azl8%E_GGKT zL|X;R1!bDNXV-S%CSSIFhFR4eTM&dlg}V;3#{;@99z(hL0b>QX;74J%8e$$s3jtk_ zLIq&FmiI@)>58#!f37)!AYd@4`16*37&rnNo%_DSh!elswvOyYo=j6Rb7c3Jd8q+s zW*%m}mmjEn!fH!mSwbWr9DsqPQyQ9y&tY=>qgEX`eY14TlEZ-`QD5Pp85K)>o9-P( zRwo}ho2q2N8ppn)&#U`AbKI(YUfPz&Id%4JdbN>}Wa_94?vTv$RkX`h!R!~(@?y^+ zyUHF8COt7&$FN$}c`7X}^Zli>Y=JBp&X_|a?O9)G5fFm>>pLN+|3Dqdj^q|rKY**7 z$*C?9eini5GgaqBu(JTg)BIHdbuZnnGFoomVLn>f@;!wTfZYmwz7h`@=Lv+|Wv_Tj z>Vye)85A3wqzpK2deJP<5OJ6Gx>Is?m$<3Aq5ZatDrjmfy3VnR*yJ3fPd2JKnU*4L zl_EV_Erd;x7lULb5Q<@o(eWR$-zv^HvVDgQt<$QmTCl)rRcSTcF7iGTCZQk%cfu*S ze>0JBRhWyta)TLPW75k^XOBFGWX4usvSI_ZtIAP^B&CR|TTT4dat9Vr4KdE{ea znU3raWl@)(Oj@390t%w2pj*D&!yjaj!c1cU@icQ|9Hs<)e`Egh1+fx3-FaUHhh7|07$%WoKaxVwMB&*cK>7>7@S-xj+E`Wk&hX88Qav)BEdl<~*f9W;J5{p?dO zMVBal`>?<|mBoJhFUfW}%rOqIU0(mP=E43DKgk~P2W=X(6Jk>TBciRXbo<**wsE%{DITqSF&Lyg7 z1!QzFCw8W8Yd~WnDA$Hg568XVmPyOdNWVx(E+P8?=AH{0N+JiDToX35F7g(H;AWa*}T93&JQe)Jt5@+SZ^0{;8#n?pGSANN0`!V%gDbWTcL z{+JoM$HD?I+uBEZf~E=DfUPW^tszfifu;22EwK`J2lEkYDoFYni)C)^Yd_WUTEm=X ztD!Lkmj-Lt+Wu#3gM$7uL5YdW$w$D6B@Axb6>a8wUC#_Dzj{UKfvjlC@Z>^W!Hj^? zzg?JCaaA%`B@lgG)R-X|^x?p29@{KFr+d;97vSmcVb6_bzbwTyJacUYu{p~G6xnpG zSKdOQC{+)8sB6|h)t5-wA2e!jtNy7+Un5is-u}FrOeDUhl2kl9iQUmmyO%KqgvGsg z`7~NGB;TAW1?hGGFQe2nba<^pXk2r=Fu3($ImBIH%E3Rar7!pWsa2`~@yMy}4dFZ@ zkAc}J6%Fg4wEa-IV9&6S+jlL73GH^^M7G!U>gJJGZN{Sm+#;avuKTM@Qv6Ac19P31 z@sv|dG=H}ZGm+yaekrUtAaHFn((14GE>s}urY-TWsZehCedf|4mr4!a%Dc9VBc{)z_%wLiPxfeX!@E2kgD&dYO67&WA)EQ0a5e+U z@oiO*T;Ud*9WR(Bre$ku^Ga#T7eue&eXB8InKf_)jxyngKF(D6n>VcL(XK{yh784RTN@XjY=O%n zPr^s6(a77U^cGIK%Tv8D()>!!@`&qEBqbI)S(Tcm+TYFN3`XFT1gXNJbNytYEGVQv zm>R3f5vVUg@W1~{flnW(^tCB6dbtD2`zNG+Nc29xd_In$h~@+LLWV4KxKK-g$2_J{ zKwB_~D-?63{I={_Xk?sd`6tb#7jqc>m+|I4O~rDyF_ye_(%u+h@AJwo6AP0^ruAP= z^kF#G=qJkc`h0^>OTwxS@Rx`fygNSuE(yQG0kaNPp`B!C>$ips*WA z2H$hg8+M2$wq}UE!U2KgG@phWcvndD(TIg#(GVXP`#cYmG?B zcRm8{S2aGIjw)|3Zv=U~u6;4dtePYC+ZX0NRRexmeD&-=@X<)dzsX?It4d8{k#Hul z<%ZHyT@5qf9HHlDfnDLEKuiE+lrA$jD>#V%> zQMR1-p(YTyl==SE;dSUb;6Uks4>`UFU0}B-1_+0~C9XZxtyd>&%zr$s0XdUCDp;S$ zXao5-6E=E^;`sN%=;cU%W@TqUZVug5FVbq4|8{~r-4mtkgnVk-C1>C1tvnFc$jLUf z1|NCYJ!G{5C``ObbK+y-?z-#}2d`lww4`?A{qui=jXy^m?Bt{QO7BPQE+-5p=G3_b zH!F~OO@NM;U~X$(Lk;U%V|NeFYt+%g=nR9K5b;|Up{*9mxzC(l3A9JgVntoOr+pVE z?>Qi89;C0J=jyBb9rv`gwPnnm$1rQ!bd-3}0mr6&OmQ`xbp^7N2_(oxx0STsKHI(n=2PZ7)q zfp6s zYXR$8IyoHq)x^vWA4Q*g+{`2KHYRzvgSeCejyTu&v@+#V5Uk?Q&%kA%TZep3uB)uq zL+AC0fMrepIFA0k-wB7|8M4Adowu9tc)7sN4S~Otqt$HwM04f>bazlC2~Wa{BmJ^k zj&FKp`PnUhW#*AU8dK%=%9LwY?^++fE39+Ot5>BWEL~E_@*{xo{EmlXy{W4r_0@FT zyPK=7(gSeCf08Rkc%@Zf#}uXprcw|&X3rY+)Ne;}A_To`wBxRx)qTUCRtlqk$nswO ztx+2HY5HFdgHKwe?rnUSI_HUKx1`k-zd`)~BPB=MWndzq16i{LXplKwc;5(j6cM*1 zCYr+$?^S<`Dj3Wdwk1Um+<5~RBXe4NT}GLakhT&rYq;JK506$KL&j-NpK5>qW0A%X zxRM&LMB=8Fe_?!)9ug=a?1qgm_O`D4@#AHzst6%bR!HiHfOcIQ^H|&$5#@hMEukT| zg&)TuZzd09+PZY5S$OI612EQA2(G)T{z0>OQH4zM6%cO=y@TBN7dT8oV^Fghy5fpTS`&lH3yvIk>@7HgJ5|R2_Hr!mPw}rB@Q4V16X01_ z8IQp^ny$+bM6#0N!RLhynH%8fpCJeAzje`)=Zvwnw2Wa9F}Ak0Wmkzymi-6mBSe2P z&L~DY3vPtN1xt5ea7IiEi-J5LK+$AVTdt&R*LB5gPe=1Up*Z>t{}9zsZ4t*f{d1a2 zyfr3R$H+Zo9mnCYioXOuA+o4q*WsjQ8~3g2!aLb~BTFxDRPv8a_XKvlkmIep=KvlT z5r2Nh|Ngd#gFJWzd@6P|D*>=1AFs`fzsv20a*+xwC_KZ_f+Q$B2d`=9w*oB^~H*snQ>~%7>^(}%v@tnHt zK!?wvs_Z{=8IKYNuBs^T$$mJJrcsbBQ?*`}`4sdxVS@Um@+#@84w-r5%q~4}pOi|F zJS|XJ`3{!D4aR#z@TMI2UZ)F{icmb;JZ1PHUxLF4+39x@rE(?Pi*kz`t`)~=MSnh| zIREK?-Su*q1QdjlPK23tE4?yn}n(-wkLQfKQ6KOQm&ma;PLjL4Ikj69`hm5tpg})1DO!5VmvGkbO0M891vX*+8hN+&jen6tz_qk1 z+^go7@k;l{E#HwZfRP8IH22-138llHoIDtNUmR7tke* zF zTS$g7;U45eEV}V12>exsYFT`rV3N{{6BhUfVpE^I2anY9TxX$OHNp)q5rzfGlUEg` z#4H=*fDtNH?_L= z-Zd({Mzc`bbH}hOIy3BV%ZG#Fcs5!Qj;gtwXH>0v0XZ%#`FanU1=6Ma2c_BVSiQpU zs|C#`&k;->HqE$Cfnul;B?Ne_b7=g=-r1RZ{YS{>%edN&xxYL)zTK3{4G*XrwQ9WR z43IJ&1GtMt^*QVwH+DR}%@0Ax+W7z%30(Cb9hZ9tz;keM7 zUY)9~FHK}~-ycVu{1YcE4FQz(efQg;%L~fez}2Dqb2F(A;K>539PnH}9|c&LxS)E+ za4>gg%`gv^aYzb)haCHJHA}7&@fp4JhO)dKd83otz<#rsLv@5@aS?kL$RAQrhS5?0 z+jX;A3eMi+P{lsWa*T=LK`i`7bynQ^_nm)927!H@2nO&w^W6w;7X+2gjy$wGau1S* zRls6{b-7Pl2VX6);I;HF{f@;V6{#sU-!&K$iD6`DIk;+Ix^3Z5hmrx|0D<$*SDPO| zBwQ&AjC)K1Q?c!y&hgVfA0@OKmA5t3j;qTbgB$d0k}7zw$sDJd;rLdMJA4g?Y^V_v z9||56T#oxTj8k`wpt?qXk!}Jl=Mg@xw@uZxTVN}`C(wrcKMDDkPeeHao4Ys&RBvk0 zBoBT1?m*Jbdjux+wa=M0u4;99IR?323DcAxvib}l^vHEn|9QM`FK44YJ7k7l_P$~u zinIs4n9w6%)Q1+xC!!u(AbP<}XRPjtaJ?H4U6WC_FZ=d3akB(NRs8EBI&yhOmP9ncd#*o1)9l4gN;U$^~zS5nmtoW@>kvQQbBTr)zkQcGXtpzK=%2MGPN z)X2M>^p4Q&+Yu0C2T$Es**P?JP<^dCP^L|aHGxMTrr4$$VRyGFT^usj-z<-%2@UXBN8N zXzzSv2ZkzgX-Q-6Jk;IkguFhP1Yy0|<5(v3*a6Y4fQnRGZBRZKe~JIlFSCZ_+i>7D zL62Wv{E4HZD56*+Vi~s#3%K=e?ASKoJ<(BG@ag^C=sRoh=0J{|H6zf269Gd@Gs4S((FCb&>!z%K%5d z_p={)BwUmblI!Ymw6EPrk0Zx2{BO?PRczGk;kRv&n|_5Vw01!#f*0+fPdB40Py;BB z>%NXef{ANxN(X@GF-s9Rc-au1`~1|qvzyt%VNmDE>%&B4Cl|!s2eOm)+Ht>BaPmD^ zqcCJ9M!%y-Wo_pTSW7}amk*j?3yD@OuPzYy1wF;)FaamohzM4d!rvRF!Y*h{l}?fX z`P(UiogjST;3JyWqYRf<4Kta*&3-Y%9^=TMGCs=QykCq!W6mJw5%vKhn zne8^x;es?x4caZ}=8DHN(SZ|hD9gshE9Q1uA{-sQ) z;S%7VF5Iw%N8v{IezA_BJUE$ELF7`ekuQL=;5q1+n2~RXQFd|PBlLnYf0R<3_1aq% zk$?90`#_?@eE$qJr{IFe`#5C!AcCB`$5}E^Dqf>?{Lp!8z-u@3pH}R=mlJ3le~xYA zMvAsg7hqVF6ypJa#FRschb00z`@dr^hf#Pvh9xsRTvkt$8{jXAtGqKU_>%!Nj3X*7lxg~;KKH3PWcBU57-pb%(|2&bn+f8?KS zh_0z%L}VeNz#>-=ptQ%`E)$jDXm=$r-dRGE%v%E-e238eVft*Ok7Y`Cs-k-iKKU3M ztJ}U`1LO;nuu_T~k9fG#1Maw&n8VLOdF%f?BtM@MB3{4U2+A);1T+C9T43!QGuwJw zdUQo*AAI~OH*_+p;x?-Lm6)l=wA*_edwB_VmUEicRn;Rj$w9?Z|Jcnm&YWjQsw~su z{5_f@sFHb?ZvOBjYffogOdaew_I;g7$9p>EP-n98BbJw!mTLH-4>w{&zHOVFPY@z! zYeq+F<&Z?b?#v9?7iXu>wG+{P$!02iR4c|i$gJ9-;AAxS{qxZt@)3_Fh|d!q8PQ~D z+&OnPT^M>@z^5~omAeLnbdEn9al$i@O8y%Bzu4oTxtUcElsa#rb7}vZaQgEM>=1&S zVE=9*B=lgPWJQ)I4RFB;^7e*)HeQsU`vg>h1+06mL4y^@Ad?_oX+?@sTo62v=s|pl z&AqmKRxw5J%GnrJVGXU=lrNYA5LFLqWDP481Dkkye+IEobF4#z<}1CnA?cA3j@}P! zgBH!lHrBNb==bO$LKjo*)Tz5?T4he?U&&n%PbbXx&zve8FLW1!_toWj?F(uCTB*r1 z26Dvxs+{9rDisjtqh#-u&IOdT4!-|#Z&ZK!^!(!dpIc$bGMhORf4k2@TkRiDum(M| z3do|hV*PiE-DWc**goz$v{Qr`aZ{cj!ZtK(N&G4DFo%@U129F#xqtd2|1=D9FfubX z|7HH~I1q)ckrv`W+7{s|@)46XI?*=TgyCmXPNU#?d{Uy%X`f@5jMS+ID5am!Bd!A? zfyznsXN<$P)^d40*K1fY!}r|GSh}CdjaWCgJU_!+6vNmsCXwr#AhUAlg+R?RO0xd|;bK zP!rNFMAg$)4FU%mHB0X9VQ*c8@j_nlnI1eiCgBVbgLJ-hI)mK#(Es&^9itiQ8XNQR zBBFY(+#`}S0B`(V`p03}RALxS?fKC{ui{q`go%FZVIzKG@_;j!Y2BAZ>I*X$F3&d-Cz0!*U%uaP(O$ry58}8Qr&)F7 zjXUoJCc!+$*l0qRn9!1QThNl=F-!-fS7my!)$*7_w2u$Jg+G;2-{i*Ql^mq8v>&^^ zeOiCI_4mEqg?l35gqQ2nG@W{3z#91U!`G`!$~PT3j!+dr?m`@-wRN+XoGb8)#;VZq z@{0E}B*8@}23^P=qvCikuVz#$E&y%$AMF}rEA5z8Jhm+Fs^lR&LsDJYn@XGUWFs|} z=v@XEW+7*|!jfsSI>_wf71!NIc2eIY#*l)Zb=y^m3~GcFuM+JpNVb`vccf$+3JA&>PI#XLUelJ-+_}>3V>P>^hjk#zw4lgBD zDbDtj6tx(h`)cr!nNeU*Vd>GgxarhyY=7&?jIF%1Blhr#lDw;`P25t9l1Gt7+;qU*%5TflTh`b2$ENRQ&4-kE2l+_K(oFX2 z5s1nIZbr=jUq71On&%M7ZZ;JjERywE3 zRm-u7k}qzbs^9?B?~U+Hm$UW)jD`ain^f}fo7HsUO9 zk@Jm!!87M1k@n|z{fR+=kW%=g!<0UkC?rW3N{WEaurQpVDliD5$kSE;7NNOL>9664 zDw6oV5vQ!XrpK&3Jia~tm-|p*e&7+?h+ZaRwIoK=X67uVxg&IC3zSvP& z1E2?Mu2+}(dkXja*ZH)oUYjZtKOdO-Eji7i;+$co>cCG^_)wKy06%B~JP~`Y{AO8_ zt75z8Kv0J>A04&DmHD{4&(6fDRlFnRV5fhB57=Y#skNxczjtD}Xc9=t`%qL(1`-d_ zPXp)OtDS%YGrNx#sBiDkjZ98SzUg1r(KqFe*E0p~OOU?6;w+`DGKhu~K%VZuQ8Wpl zN-j{!ae;nQb2i1&s*1{smn@%Bfbm3O=_4x=DJn%$|&Vk$oUJ@s}%hS4C02mCXmCYt@- zEsTppgk&eZglfSzkmF;vS2u{x*JM!Tt+eZ+QNzzJ9LvSu2pF21Wz1V9$d3u;dRXeo zI9s~q;!n9j#3RT&1TBuJr}QwXSAC0@a z&U_eNiOadr!{#n@czcNQJ?P*@>U8+e0<~pP21bX6PYl`!hr#`K99c?R+N%9`9N9W5 zISw55xT?B-095K9>7Oa`7@bz!M1xW)C?cM=o6rH$XKhHw3~7@bpV`ixGgs9Cf<>ei zh&U21oVpzPc6xDov`Qo>OiESpTMdxkggpPax>ft>4D3P?+DJhOY*ErvweqEO5iWjaPMnD7;#_Op+|Xb2QCV%N{(=><_+nHM^IWfDI| znR9OWviD}BW2P-CNM z`fIeocb=a~?m^24`{0?;CYptbT7+7hO+Vfc_U~dAQ8FV!=U!ydaAe19qoxhy)fMk zIQIJmO@pSmUE{0N){73zG{*(+buV4&Y2L2o*dRS3ls#JAqA*!PL5Ek2X#TsRJ@`vV zQAH0d9I2ju8S&n^cO!-;LNO!&;Z=56oUKjt{%Wo3L&^*w<0$ot+00;(Zq zY!07gbWzCElffSW_AFFK>*03}-)?Pfr92Ux4`di>Lb7?C$_Fas3ndWjk-zURdapWsZqBlyvNEy0{;G?L7TQ5iFd z7>7~`z%Casv{B%5p8*O|Nq@1}t_jV#ikQgDW4d#+zjw`0_y%-HE)~X?iY3NQ=_tZr zDeyz%1ScSoWNk&KSQIK7ecLsNIFh3%c||IkNQzMJ;~SuWWh>n?Jf9`r;CsfN5se90 z1{QVOJVto?;^AXO4uhl9;}U*aaD-(ZM5<7P2IeSnCL2!ECxYdQpkjq1*F_?3%9_g7yF4kXdT%0T+@v4iUa+?%#>^X1dP); z+2YJm^TE8=`7sdFDcWzaS!3$ysE5&k}Xc)rpz9l)p8Ez3gl7@Azi+b8i{sZA{ zR>e+A9xJvn`PPY;zLK%sWLmDbpB^UkFFxS6Zkumm2hx{o$_lW^O>X0Z4?6!{Kp4WSqmwvd_%1L*!dWEKQQ3f{M znT1a+w%SNJE#pE1%^(ey>xhgYg;&jClvFQfyEt=>h@}iw?7z#}+q^vZd|_2UY8BSf zZ+%)&C9ll5uz3t|{EKiS4%J3&)pYb05>RHT$Z}7{33YEyf}-<(zQIY@fig6OQv#Vt z2*i+@Wck5oc&is+>yH&JC4lkazEMfJU)>D%hTeb$KJW3_e^L7K=-1ZZbLPcP*f3z> zP#1QZ%dG&PrmdxwTx4So5r@IF4htNPME++{C^R}hL{AHY*^!neNXZPvk>g96W?P$l zp^F}pi^nZ=NHHi#6gSl0A*rlpI6&yDYL)Ekxc0FA6#f#R9`_PqV0vt3kj+C*z|Vi3 zAJJjX{GDUZHSZn!yo)=Z<~?H#JoTW*dFB1$jQI!9_nX-T;76qvPxmx%YYJtI;C{Z zwIhR?C~Kql$tf|qDdbjn;PTVy=Qpzq33%r-1Eaf>K#f7>UVr~IyH*Q4$Etr6VGLzM zTUq^MG}WcWopZF*RZ!uRv+^1Im;63hLM&k1XPM_eJ^c}U+iODR-lE4vsFNh;@ob|} z#oIRG*O0?eP~juwVTiEn;SHib)J2k*M%3nj{HTe=tmQuO&*>vlxR8uD!YWTSjYYk| zPdF<_6Tb9nl8vN12Ox4si;557SJyqc(ThZ$jMzVFRfg~;$raKia6UZnE2I24F(u7o z(|~fBrH+MY{rP@y@awxfPbc(9kCe;vs(nePQ}T8{-oZ&vmMPLM1o`Z3ajrF>rNdJB8l!!WxrJ>4Mk7uRe?P5GbsjeHbsu zEY0arGz#|kGruCiby=*3ofojBkEzSbO3X@8Pa1K^B4m-XvNO7uj%4NJF^=m8a0fGc zAw?d&&*Zh?4_XjUsr4Wa!t(nB)qKKVDp6`?mGXg_F9rr54Qv zewnXH+nB(?^bS~Evk+_iXw~wS%v!clhjTOnZ9SFmJ1$N=JIO!@-i3)~!V#=GD2c(! zocC8aZbQpKzX0G_MA5-djy!ha|O~PI=tJ zw}j|8_za@*Ctt~|khDG*8Jv{+oY5r=(gAvRsQ30lPm@qz=vkRGmGugbj zRb_OI+S59e(J-9Y#>BMOwjAH48$?&;X|C`x9&MPvyiwHyN-y*0%x&6k3*O5AoZspS z6{hu6$=O$cTOIkl_Kk|FI=DI@wAR*ahDvcttI;@gM)Di;>f;dnc7;FZxVzSNTWd>9 zOumO+>&jbAxW_}&hr^iPY#H^wo|f&DL{TV@1-Mm(VV2tq8@~e{4nDfvyRDiTm*XdX z`U6@AAqZbOYMzNWgg!xUfRKYXKubplQHNbnCbKECUpf-16LT0^25NVN;|ZCypo#@z%GeZ6s_eAFsS2a`IW6|Mx=N}hyIe?ShKBv)*51! zN9I%x=`qZs7FKYf?CZxth*s^D`Nh1(Labk_4Y%1G8>)Bgig>I>jB+=HAPYcpbJn`z z!p;^g*;)HqfCLWr$!S|b${I2gAcnzY`zc?~-;;I_ds(LQ?El@r+R1S{BN$}Fg?sq? ztQZpJ1EcA_U--x-y0mft!+gR7T2Lm z9HF&lrk$GdL;6-GtVNxM_`4+DKWeVPc)xPnUFW4~aZIs8TT|FWS=z)g@=Z@#Mji)q zA{8MO)5e%s1J0NYn9s|cIK%E}y}B^5rhD-;)!OAR{N0rt|J!RTucs_ni}O_PR%dA& zdoSttwuf)0-MX9HoW$H8qPBD}7Gj&{Xapg~6r}`REh2gM^ki3sTrJ|{qtjV~hyHnZ zKo~Qk9X@4S9NiL??b>SOwvBI9%vN*Dt#G5bbmdvu0s)HGm)E-w5T zRC+r!cW_{267JJ9$dN$KKHs2=52R{%FY^S7AeV}Q?&sV+;|H0w40?aRiy?_uOfvBX zS5+zSB_8?Ghq1_G6ozCHOlkC3A)TZBzon(LaCI$q1ZfoAFLQq5dH_?|YVbn6#tDt) zcpaAi?2bF594`@!#Dxus*1T;0m!|q`$GnptPG_2F9CBVqQuuX5tr(r)76xQ~0|zN# ztX#WX8(~lwUeX*`Pmfj7Q5J5&=|qJ?%XEC;1g9>YZ%AYgMp(MO_|ue{JkkTThMwft zviI`to}#Holhz2yj&QD%Lo98n{p;{TMvF3pZ<}uo);ME+xkOP;tZ6KvGcYE?b5t-< zF^(Hio!1}zWP=~CcfYwj8B7B=iB%DE~B1R-nwd=xOdT0rE8(nnUd<0fwnTLrZ8=PZr zeC>_{CYyiLVhSAi&|RIjN2A6@4j&*cBc|D7-l!!R1=d_I$N&3ST2PATUcq7=!os4-(RW6pAF z3aL~oLZLaNIn_cnIW&xjN>b>+Z=c`y@%!_4|FP@6_wIZ5-uGkg>v7-L^?Eng@nA#HEz>1w??-)x*3tJuYLpKR$FV}uDuRY;pq9l6x{S$#WXVA$v zX9SPMD!?+HNDFrxtYZ%qL+hvA&?)H*W8}Y+kEN?CC4H>h{#!sR$)<`5lBcGqswN49y6ZzspM+7uA09>Rk9_e@^zyW3T?GP zd0VQ1MEh3=l(Tzztn`N{GFoEjOq5x^gpb^}2I508sl|soLo$6V4PH5=HvbCD0>I>UUuA>7ocU2WFnTeYNK<=jQ>uf{^9G6KxU+5f%nGkP5$|9YYRJ$9 zt`&2slxlHxHP;HSNf@f>$Pkf*adqSjm7&si0&fgdGDggSO1vI@g&Be=;O`P)DK?fh zQ-&E5Ogm0=2gm176aTTK1UfBd94Wy#`wXXBkV+sP7YB=O^=rPGdvR@9`gWf2AOQdu z-GWQ!T)d_r+NyBzS}WIFympb>7QOcW`sV-F_hUxC{(S2xC~N5jR?5H=x^*tb^qIUG z<}h?_bjkxZIv2(J%E-!*-cXt06wO#{0Q8Ht)?}eOZ+F&3nOz#CPijzaF$Qu-6>L73 zY;G?T!+ZY|xI1$}pe7caRkj>KN#pNU3=Lc>0E^cRd6(Ja3+`EfEMAPAt-_0+1ifAC zpCY}HE*hra;2BVPF2RP}vrrHTJ@?aGk-E$oSPZ$(xz#_$8eX)jJGvsbGx8Vb9tBw0 zRW4oj@gM4$0s~#bV!uU-GUou`>d9jXo5}tSTgq0hQ@tSvWxgw3qz=hrwPLbG7m}xs!Pv@uul?*3FTcJtuMF~TpG?L zXtM~1%fb<(WG)Qh@`!&GGLCa|`pqyZS?VnVFCOJ3ccrllx_u%uKt=hn!qd%ZDl)vWtw#40|e1yTKi0g69V;d0YTT&HkD7{)%p^K4Y2%u)Im zWYH13hSJiuKySJmK1}@UY;3r8@NlWL*C5PIO#*ZE%~82=u!Kl(roi^ z+K8UWbd}b#o+qv1aU=EvgUSP5nsaEY z<1B2kwf~Ur;TbSEf)6RCdg7?JGuYm^>26>66=#Xoe@sn~t+|TGrH=NTtqwy4uXygA zu^|A>XGK(YqQlcpQEL3^j7EVD7|r8#z%(XfXn1M3HSS+Wwwgfv7{!}Eq^`dx64qQ? z9BKCNJ@uK?SZkAk8gewpZ2O0tm z2L>1jwATQFf#wE7=LYCp{SIvD1>FMQ>vzIc@WYpRs5{23FSwU2%XO&K!&ST##UNS{g>S(9_?^QDi+vUANTl+1EC~)BL9TL5eEU%F<7CT;>4rUM@sUU zc}%75c0+@id}y(l(x}#A438!)y*|u-sJ(3Tu7W|HrJnFLi?TK^7|a`R4XMYVQ*|`9 z9=ll@@-Q42a0nv{1s}k<@-PMl)+QCa5D06A5n9NCzSwUlf###rt+bQRSUOp8XGj3y6Yw7?vQn?ukgR?C%5BdEl>dRopfr)g{@5;t8yP0Y$q{cN?(L9&3%k* zo5QVB{V)stl%LRy;A5-%MB43}i48A~{Ju?~SAN-dz6xAj8=aq=8jdi7A z8rNL5Tvd<&^I(_;zsg<-rTzPa5IuQm_5O(j4GK(Pi8rpa;QB9>%>fZ-AUUsaZM>ct z+HmsOW8(Je{?9}gf>Af^N?bKIX|K5&hXp5 zZvK$6$ZVh}K=&b_Oa9nLZj$+|{vui@Tifngg)seN+V=s64Lxfb%@d6>|7oRp9?6DHuTmqE1 zkTV9VgdS7mC5_06QOoH0ypgvWZ*RXJoEiLSTU~m`(A|<&Spf6CczxFAFsoviAy;;_ zXyNWu%T%6QTS=J~{pPAFw@+kgy4_!_EE~{HRUXc#jLe6GV5QtZr3W9>npJBD$(MKo?g&mNXn+6dp1p5wLZ~%! z!VjuX*>?xqP{Nvr9>~wPF3IjEn|Bwc)It8}B>5FYB&vG2Zc?p3)~ZyOcmVP%0B^$^ zE0H0`(;A2Zw>8k82GS#na=as=Vj6*14bj(WIdMqM4mcg+L!dJKfAuU%c zZaj#ZhGcL9Lh5PZOiigF1!nlVAvOZT4*$P_A>t^S8yI2|ak6;Vb#|dGFZDpd%0Op` zucj0;KsHif-3zAT1#T&zBN3w~r5FkYXDoZ*aGWd7wWEXUb-gwjLiwG~BI z@ZyH@a3~y#MpG7N9HTKiVTG{ua1S}POw`6NYeMek-`lta0+vMZXk+pvJc9iy;5!PT zN`4D>#%h)x>F%abxF&)?;I{4?7kg9e32At^5d5p+m$X|KJfcQgY#GU}m%aOtMzC?S zf}&x#no~CcuxJh_wH>eo+4e_h-OCvuZ6#{JAPR4q*vHvLTIRRIS6t1x5i+YZWO!x~ zkdcNJrYeLpu@M5D;p}j3c+7BxSOODej1r@<%}SleR~i+=0Rsc^agZZkuu@mTz;QZE zK={;0hJu#~m%8%*8-2;Zf1@w{-{=hyL&s?0)Z|kfkBaSJikf8IhA2*Ud!Y!)f#f{I z31D5WjY8Gc9`5Q+5Y$C;g|7Nxumys>Y@X8^dj}FJu4ZTrIfJSBh0RYqV1vw*dxX*B zlS+x8YqQGPk^(<4DgzC1(?fT3PGO~ZyHCp8KD{psUuT#I>_?DGD1u_eTJ^z@XH%GH zkD!ZVnh3-5)mfYw85$gk%hSjY%*Bnld*sj>zjAN+_nj!O) z)yH-xE(+JL;X;2$Q)Uz>{BKZnDiCyL9&`6Kmk&+4uU`5(S76+;PeY8r{=rbuvF)1U=53Xw-Z-x~ zzTVR(lKWV0R=L7$^Co2@?Z{O7JPqdK55g_n!gz}{P8K4^GVxnYbKhCAoTBBG2&q58#TdK+IH5T;=A;*1hVZ{>AV6B9}U$1f?gE-JN}WituWYDqW~fHRg~u zw5DvaSvkpv(wUU#{`&m&Rhm zk_CnM)`l=KIETNPeqUoLK3R{xwRSI(-p_2X9I{RVblo1`g%hcHXP#wI=0(2`WQxDr zsxU%`D9%S`bx0=PhzQK8CJ-ydFuBR$VtJ?ez9m(~4!s|GJK)zpxJt8}krf)<={sEi ztEZttV)XLiG1k2UYCImW^Ylx8QFtn0Xua`_Z!SC5nR+5k7rHX3E6 zj8PNuRv`iXqc^L0ul=eW*$!|BgnsB7iA)W;GUNifWw+tb;=t;^>k=BB(-&dP2JnA9 z)!uSMBR_2ZEWc0lRGCS%YIIOYe}H_>JL$>?Ew5Tn;m?L1YUzNBe4UG93xLb3Omr!9 zFS~rxuA3o3zhK0#%KpO8`-T3iVO?qRZFYfQzkVvUznCHzk1h`hK-Pzt;Jh8GQ)tS3 z<7~RqN<9M}pkJ*uq_i@^1?bn)E)RW(C_3vEU|;`=3MaWMYPZ@o>U`{b^|X4M>Sp-G z_SLtF5*y7gIpYPR3n2qS`s+h^Fzv$L~%|KL^%bD)>H&sFGH0T z3cQ1y%*E?5jBsi+C^bqVl+RRHjy}Ts25Uvr@69A}0{n0U0Uos&U~VBnlJ*0syvNh6;R{Ieh%v^g0FPWeMDg3fsn5(lOJT0h&q9 zP-s6ia=sQ`uIq27%c(I{Zh;O*er@KHI}SP4bz#EX5uG=tP|)j{>mb2nCMaaeBWE7) zE(oC-YaRsYUcXHeHUhsV_+Qcf<5{$e4rU*nnLtP9dml6t5jzx8#$&-)ihs_lFeQbZ zhtx~yH?_9U+!QnB6)TbR>n~K`(JsID{`@Hupii+5+eh@+)481^85hj=(#tN1-KwmX>*_^~3ma5#*15&fhk`|{5R zlt%RX`+9v3dfWZl9(=f)vqk&U@};(vaT*vZV1`>>isvcFJh1loQ}2m}kYg4nzbZ6_ z)?Y@6{H1;wr0|^G2?Kl-FMh9|W9FVX3w~h6Xk^vqrX9%`2F%F3Mjkm;P(Ym+Y}KQ z1NvXQz{YMO)0}W6Z6#Yc1o#^B9XN2!{cph9(oDR!u5zNqJ7Mo>{VSH%Rx_Jn2IFaz zbk;l*+%t3q9W&xMTlde*E{TuzyQKV|?HUUO69TiJ0ew7MYMkzS|7(DXQ5Gt~{23YZj#VY&M(ECV zp!u+Di6q$SE_A!~-v*>3lrP5SX}<1{+0MI<{_91$08^S*9%bg7HvfLSx-aGOX&E<|Y!}5YK(U@u z9I`oUIqly>qb{Lpc~i!xYJVkz^)koEDL~fJoXW2en!lrH{S}n_K;Q^&6txE zJgG~v3d8x-lXiOS)4^D!Jo0hOJL`xL8?W%LCv>XZ!Sl#Z^6tNAM>7RnD-2*Ae$

#2fb?XtoN;am!m*Pio2YOSpSTBK4m!_Dg4 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 z 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

MMSjTHS&OkJG5Gt9wyX9aVG7>n8g)r}d&`e#o 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 sB_?;LR%ADwV1eyn9;L%Y__ZkLhr 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 z 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 z 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℞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 5.f)) - LeftPaddle.move(0.f, -LeftPaddleSpeed * app.frameTime); - if (i.isKeyDown(KeyCode.Down) && (LeftPaddle.position.y < app.view.getHeight() - LeftPaddle.size.y - 5.f)) - LeftPaddle.move(0.f, LeftPaddleSpeed * app.frameTime); - - // Move the computer's paddle - if (((RightPaddleSpeed < 0.f) && (RightPaddle.position.y > 5.f)) || - ((RightPaddleSpeed > 0.f) && (RightPaddle.position.y < app.view.getHeight() - RightPaddle.size.y - 5.f))) - { - RightPaddle.move(0.f, RightPaddleSpeed * app.frameTime); - } - - // Update the computer's paddle direction according to the ball position - AITimer.stop(); - if (AITimer.milliseconds > AITime) - { - AITimer.start(); - if ((RightPaddleSpeed < 0) && (Ball.position.y + Ball.size.y > RightPaddle.position.y + RightPaddle.size.y)) - RightPaddleSpeed = -RightPaddleSpeed; - if ((RightPaddleSpeed > 0) && (Ball.position.y < RightPaddle.position.y)) - RightPaddleSpeed = -RightPaddleSpeed; - } - - - - // Move the ball - float Factor = BallSpeed * app.frameTime; - Ball.move(cos(BallAngle) * Factor, sin(BallAngle) * Factor); - - // Check collisions between the ball and the screen - if (Ball.position.x < 0.f) - { - IsPlaying = false; - End.text("You lost !\n(press escape to exit)"c); - } - - if (Ball.position.x + Ball.size.x > app.view.getWidth()) - { - IsPlaying = false; - End.text("You won !\n(press escape to exit)"c); - } - - if (Ball.position.y < 0.f) - { - BallSound.play(); - BallAngle = -BallAngle; - Ball.y = 0.1f; - } - - if (Ball.position.y + Ball.size.y > app.view.getHeight()) - { - BallSound.play(); - BallAngle = -BallAngle; - Ball.y = app.view.getHeight() - Ball.size.y - 0.1f; - } - // Check the collisions between the ball and the paddles - // Left Paddle - if (Ball.position.x < LeftPaddle.position.x + LeftPaddle.size.x && - Ball.position.x > LeftPaddle.position.x + (LeftPaddle.size.x / 2.0f) && - Ball.position.y + Ball.size.y >= LeftPaddle.position.y && - Ball.position.y <= LeftPaddle.position.y + LeftPaddle.size.y) - { - BallSound.play(); - BallAngle = PI - BallAngle; - Ball.x = LeftPaddle.position.x + LeftPaddle.size.x + 0.1f; - } - - // Right Paddle - if (Ball.position.x + Ball.size.x > RightPaddle.position.x && - Ball.position.x + Ball.size.x < RightPaddle.position.x + (RightPaddle.size.x / 2.0f) && - Ball.position.y + Ball.size.y >= RightPaddle.position.y && - Ball.position.y <= RightPaddle.position.y + RightPaddle.size.y) - { - BallSound.play(); - BallAngle = PI - BallAngle; - Ball.x = RightPaddle.position.x - Ball.size.x - 0.1f; - } - } - - // Draw the background, paddles and ball sprites - - app.draw(LeftPaddle); - app.draw(RightPaddle); - app.draw(Ball); - - fpsClock.stop(); - if(fpsClock.seconds >= 1) - { - fps.text = std.string.format("%d fps", iFps); - iFps = 0; - fpsClock.start(); - } - ++iFps; - app.draw(fps); - // If the game is over, display the end message - if (!IsPlaying) - app.draw(End); - - // Display things on screen - app.display(); - } -} \ No newline at end of file diff --git a/bindings/d/samples/dsfml/postFX/postFX.d b/bindings/d/samples/dsfml/postFX/postFX.d deleted file mode 100644 index 0d6d864c..00000000 --- a/bindings/d/samples/dsfml/postFX/postFX.d +++ /dev/null @@ -1,117 +0,0 @@ -module postfx; - -import dsfml.graphics.all; -import dsfml.system.all; -import dsfml.window.all; - -const char[][5] EFFECTS = ["nothing", "blur", "colorize", "fisheye", "wave"]; - -void main() -{ - int actualIndex; - - // Check that the system can use post effects - if (PostFX.canUsePostFX() == false) - assert(0, "Your system doesn't support Post Effects."); - - // Create the main window - RenderWindow app = new RenderWindow(VideoMode(800, 600), "SFML PostFX"); - app.setFramerateLimit(100); - - // Load a cute background image to display :) - Sprite background = new Sprite(new Image("Data/background.jpg")); - - // Load the image needed for the wave effect - Image WaveImage = new Image("Data/wave.jpg"); - - // Load all effects - PostFX[char[]] Effects; - foreach(char[] c; EFFECTS) - { - Effects[c] = new PostFX("Data/" ~ c ~ ".sfx"); - } - PostFX currentEffect = Effects[EFFECTS[actualIndex]]; - - // Do specific initializations - Effects["nothing"].setTexture("framebuffer", null); - Effects["blur"].setTexture("framebuffer", null); - Effects["blur"].setParameter("offset", 0.f); - Effects["colorize"].setTexture("framebuffer", null); - Effects["colorize"].setParameter("color", 1.f, 1.f, 1.f); - Effects["fisheye"].setTexture("framebuffer", null); - Effects["wave"].setTexture("framebuffer", null); - Effects["wave"].setTexture("wave", WaveImage); - - Font f = new Font("Data/cheeseburger.ttf"); - - // Define a string for displaying current effect description - Text curFXStr = new Text("Current effect is " ~ EFFECTS[actualIndex]); - curFXStr.setFont(f); - curFXStr.setPosition(20.f, 0.f); - - // Define a string for displaying help - Text infoStr = new Text("Move your mouse to change the effect parameters\nPress numpad + and - to change effect\nWarning : some effects may not work\ndepending on your graphics card"c); - infoStr.setFont(f); - infoStr.setPosition(20.f, 460.f); - infoStr.setColor(Color(200, 100, 150)); - - // Start the game loop - while (app.isOpened()) - { - // Process events - Event evt; - while (app.getEvent(evt)) - { - // Close window : exit - if (evt.Type == Event.EventType.CLOSED || - evt.Type == Event.EventType.KEYPRESSED && evt.Key.Code == KeyCode.ESCAPE) - app.close(); - - if (evt.Type == Event.EventType.KEYPRESSED) - { - // Add key : next effect - if (evt.Key.Code == KeyCode.ADD) - { - if (actualIndex == 4) - actualIndex = 0; - else - actualIndex++; - currentEffect = Effects[EFFECTS[actualIndex]]; - curFXStr.setText("Current effect is " ~ EFFECTS[actualIndex]); - } - - // Subtract key : previous effect - if (evt.Key.Code == KeyCode.SUBTRACT) - { - if (actualIndex == 0) - actualIndex = 4; - else - actualIndex--; - currentEffect = Effects[EFFECTS[actualIndex]]; - curFXStr.setText("Current effect is " ~ EFFECTS[actualIndex]); - } - } - } - - // Get the mouse position in the range [0, 1] - float X = app.getInput().getMouseX() / cast(float) app.getWidth(); - float Y = app.getInput().getMouseY() / cast(float) app.getHeight(); - - // Update the current effect - if (EFFECTS[actualIndex] == "blur") currentEffect.setParameter("offset", X * Y * 0.1f); - else if (EFFECTS[actualIndex] == "colorize") currentEffect.setParameter("color", 0.3f, X, Y); - else if (EFFECTS[actualIndex] == "fisheye") currentEffect.setParameter("mouse", X, 1.f - Y); - else if (EFFECTS[actualIndex] == "wave") currentEffect.setParameter("offset", X, Y); - - // Draw background and apply the post-fx - app.draw(background); - app.draw(currentEffect); - - // Draw interface strings - app.draw(curFXStr); - app.draw(infoStr); - - // Finally, display the rendered frame on screen - app.display(); - } -} diff --git a/bindings/d/samples/dsfml/socket/socketclient.d b/bindings/d/samples/dsfml/socket/socketclient.d deleted file mode 100644 index 2a25114e..00000000 --- a/bindings/d/samples/dsfml/socket/socketclient.d +++ /dev/null @@ -1,66 +0,0 @@ -module socketclient; - -import dsfml.system.all; -import dsfml.network.all; - -version (Tango) -{ - import tango.io.Console; - import tango.io.Stdout; -} -else -{ - import std.stdio; -} - - -void main() -{ - //The TCP socket - SocketTCP client = new SocketTCP(); - //Try to connect to server (on localhost for this sample) - client.connect(9000, IPAddress.LOCALHOST); - - display("Connected to server."w); - - //Prepare a packet with a string - Packet p = new Packet(); - p.set("Hello from the client !"w); - if (client.send(p) != SocketStatus.DONE) // Assert on error - assert(0); - - //Clear the packet - p.clear(); - - //Wait for the response of the server and display it - if (client.receive(p) != SocketStatus.DONE) - assert(0); - wchar[] c; - p.get(c); - display("Packet received : "w ~ c); - read(); -} - -void display(wchar[] c) -{ - version (Tango) - { - Stdout(c).newline; - } - else - { - writefln("%s", c); - } -} - -void read() -{ - version (Tango) - { - Cin.get(); - } - else - { - readln(); - } -} diff --git a/bindings/d/samples/dsfml/socket/socketserver.d b/bindings/d/samples/dsfml/socket/socketserver.d deleted file mode 100644 index afab76fb..00000000 --- a/bindings/d/samples/dsfml/socket/socketserver.d +++ /dev/null @@ -1,83 +0,0 @@ -module socketserver; - -import dsfml.system.all; -import dsfml.network.all; - -version (Tango) -{ - import tango.io.Console; - import tango.io.Stdout; -} -else -{ - import std.stdio; -} - -void main() -{ - //We create a TCP socket for listening incomming client - SocketTCP listener = new SocketTCP(); - - //Set a random port for the listener - if (!listener.listen(9000)) - assert(0); - - //Creation of TCP socket - SocketTCP client = new SocketTCP(); - IPAddress ipClient; - - display("Waiting for client."w); - - if (listener.accept(client, ipClient) == SocketStatus.DONE) //This call blocks until client connection - { - display("New client connected."w); - //The packet for retrieving the client message - Packet p = new Packet(); - display("Waiting for data"w); - if (client.receive(p) != SocketStatus.DONE) //Assert on reception error - assert(0); - - - //Display the string send by the client - wchar[] c; - p.get(c); - display("Packet received : "w ~ c); - - //Clear the packet (We could use a new one) - p.clear(); - - //and send response to client - client.send(p.set("Hello from the server !"w)); - } - read(); -} - -/** -* Multilib string display -*/ -void display(wchar[] c) -{ - version (Tango) - { - Stdout(c).newline; - } - else - { - writefln("%s", c); - } -} - -/** -* Dummy function to prevent console closing on windows -*/ -void read() -{ - version (Tango) - { - Cin.get(); - } - else - { - readln(); - } -} diff --git a/bindings/d/samples/dsfml/sound3d/sound3d.d b/bindings/d/samples/dsfml/sound3d/sound3d.d deleted file mode 100644 index 17e0d08d..00000000 --- a/bindings/d/samples/dsfml/sound3d/sound3d.d +++ /dev/null @@ -1,185 +0,0 @@ -module sound3d; - -import dsfml.system.all; -import dsfml.window.all; -import dsfml.graphics.all; -import dsfml.audio.all; - -void main() -{ - //We create our window with a limit of 100 and a white backcolor. - RenderWindow app = new RenderWindow (VideoMode(800, 600, 32), "Sound Spatialization Sample"); - app.useVerticalSync(true); - - Font f = new Font("Data/cheeseburger.ttf"); - - //Some instructions - Text s = new Text("Click anywhere on screen to change listener position.\nPress + or - to modify the speed of the car."c, f); - - s.characterSize = 34; - s.setPosition(20, 30); - s.color = Color.BLACK; - - //We prepare our images and the sound - string[2] images = ["Data/bluerallyecarleft.bmp", "Data/bluerallyecarright.bmp"]; - Car c = new Car(images, "Data/car_idle.wav"); - - int carSpeed = 100; - - //Set default position for the car and the listener - c.position = Vector2f(0, 300); - SoundListener.position = Vector2f(400, 300); - - c.startPlaying(); - - //Start the main loop - while (app.isOpened()) - { - app.clear(Color.WHITE); - Event evt; - //The event loop - while (app.getEvent(evt)) - { - // if the window is closed, we can leave the game loop - if (evt.Type == EventType.Closed) - app.close(); - // we handle the click event to change listener position - else if (evt.Type == EventType.MouseButtonPressed && evt.MouseButton.Button == MouseButtons.Left) - { - Input i = app.input; - SoundListener.position = Vector2f(i.mouseX, i.mouseY); - } - // and eventual keys press - else if (evt.Type == EventType.KeyPressed) - { - //Change the car speed - if (evt.Key.Code == KeyCode.Add) - { - carSpeed += 25; - } - else if (evt.Key.Code == KeyCode.Substract) - { - carSpeed -= 25; - } - } - } - - //We move constantly our car. - c.move(Vector2f(app.frameTime * carSpeed, 0)); - - //Draw all the sprite and string on render window - app.draw(s); - app.draw(c.sprite); - app.draw(SoundListener.sprite); - - //And finally display the window - app.display(); - } - - -} - -// Encapsulate the listener position and the visor sprite. -// There is only one listener so all the methods are statics. -class SoundListener -{ - static Sprite s_crosshair; - static Vector2f s_p; - - static this() - { - Image crosshairImg = new Image("Data/crosshair.tga"); - crosshairImg.createMaskFromColor(Color.WHITE); - - s_crosshair = new Sprite(crosshairImg); - s_crosshair.setOrigin(s_crosshair.size.x / 2, s_crosshair.size.y / 2); - - //Listener.setTarget(1.f, 0.f, 0.f); - } - - // Adjust position of the listener - @property static void position(Vector2f p) - { - Listener.setPosition(p.x, p.y, 5.f); - s_crosshair.setPosition(p.x, p.y); - } - - @property static Sprite sprite() - { - return s_crosshair; - } -} - - -//! Class encapsulating all data for our car -class Car -{ - Vector2f m_actual; - Sprite m_sprite; - Sound m_sound; - bool reverse; - Image[2] imgs; - - //Constructor with with a fixed size string array of image path, and a string for the sound path - this (string[2] images, string soundFilename) - { - //load images and create filter - imgs[0] = new Image(images[0]); imgs[1] = new Image(images[1]); - - foreach(img; imgs) - img.createMaskFromColor(Color(97, 68, 43)); - - m_sprite = new Sprite(imgs[0]); - m_sprite.setOrigin(m_sprite.size.x / 2, m_sprite.size.y / 2); - - SoundBuffer buff = new SoundBuffer(soundFilename); - - //load our sound with loop enabled - m_sound = new Sound(buff, true); - m_sound.attenuation = .05f; - } - - // Begin the sound play - void startPlaying() - { - m_sound.play(); - } - - // Set the position of the car on the window - // Used to setup the begin car window and sound location - @property void position(Vector2f p) - { - m_sprite.setPosition(p.x, p.y); - m_sound.setPosition(p.x, 0, p.y); - } - - //Move the car (visual and sound position) - //If the car leave the screen, we change the sprite image and reverse moving - void move(Vector2f vec) - { - // if the car is beyond the right screen limit - if (!reverse && m_sprite.position.x > 850) - { - m_sprite.setImage(imgs[1]); - reverse = true; - } - // same as above but for left limit - else if (reverse && vec.x + m_sprite.position.x < -50) - { - m_sprite.setImage(imgs[0]); - reverse = false; - } - - if (reverse) - vec = -vec; - - m_sprite.move(vec); - Vector2f pos = m_sprite.position; - m_sound.setPosition(pos.x , pos.y, 0); - } - - @property Sprite sprite() - { - return m_sprite; - } -} \ No newline at end of file diff --git a/bindings/d/samples/dsfml/soundstream/soundstream.d b/bindings/d/samples/dsfml/soundstream/soundstream.d deleted file mode 100644 index 03ba555c..00000000 --- a/bindings/d/samples/dsfml/soundstream/soundstream.d +++ /dev/null @@ -1,97 +0,0 @@ -module soundstream; - -import dsfml.system.all; -import dsfml.audio.all; - -version (Tango) -{ - import tango.io.Console; - import tango.io.Stdout; -} -else -{ - import std.stdio; -} - -// SoundStream is an abstract class. -// You need to implement onStart() and onGetData() -// Don't forget to call initialize() before any usage or playback will fail. -class MySoundStream : SoundStream -{ - SoundBuffer m_buff; - short[] m_data; - size_t m_cursor; - - this() - { - // We initialize the stream with some sound informations - super(1, 11025); - - // We create a sound buffer to load samples from files - m_buff = new SoundBuffer("Data/car_idle.wav"); - m_data = m_buff.samples[0..m_buff.samplesCount]; - } - -protected: -/* - bool onStart() - { - // No specifics things to do, just return true. - return true; - } -*/ - override bool onGetData(out short[] data) - { - // We ensure that we have enough data to send - if (m_cursor + this.sampleRate > m_data.length) - return false; - - // Assign data in the buffer ... - data = m_data[m_cursor..m_cursor + this.sampleRate]; - // ... and increment the cursor - m_cursor += this.sampleRate; - return true; - } - - override void onSeek(float timeOffset) - { - - } -} - -void main() -{ - MySoundStream stream = new MySoundStream(); - - display("Playing sound !\n Press enter to stop playback."); - stream.play(); - read(); // prevent console from closing - stream.stop(); -} - -void display(string c) -{ - version (Tango) - { - Stdout(c).newline; - } - else - { - writeln(c); - } -} - -/** -* Dummy function to prevent console closing on windows -*/ -void read() -{ - version (Tango) - { - Cin.get(); - } - else - { - readln(); - } -} \ No newline at end of file diff --git a/bindings/d/samples/dsfml/view/view.d b/bindings/d/samples/dsfml/view/view.d deleted file mode 100644 index c100fc31..00000000 --- a/bindings/d/samples/dsfml/view/view.d +++ /dev/null @@ -1,69 +0,0 @@ -module view; - -import dsfml.system.all; -import dsfml.window.all; -import dsfml.graphics.all; - -void main() -{ - RenderWindow window = new RenderWindow(VideoMode(800, 600), "View sample"); - window.framerateLimit = 100; - Input input = window.input; - Vector2f top; - FloatRect bound; - Shape s; - bool mousePressed; - - Sprite background = new Sprite(new Image("Data/background.jpg")); - - Font f = new Font("Data/cheeseburger.ttf"); - Text str = new Text("Create a selection of the background with your mouse.\nPress Enter to zoom to this selection.\nPress Escape to return to the default view."c, f); - - while (window.isOpened()) - { - Event evt; - - while (window.getEvent(evt)) - { - if ( evt.Type == EventType.MouseButtonPressed && - evt.MouseButton.Button == MouseButtons.Left) - { - top = window.convertCoords(input.mouseX, input.mouseY); - mousePressed = true; - - } - else if ( evt.Type == EventType.MouseButtonReleased && - evt.MouseButton.Button == MouseButtons.Left) - { - mousePressed = false; - } - else if ( evt.Type == EventType.MouseMoved && - mousePressed) - { - Vector2f bottom = window.convertCoords(input.mouseX, input.mouseY); - bound = FloatRect(top.x, top.y, bottom.x-top.x, bottom.y-top.y); - s = Shape.rectangle(bound.left, bound.top, bound.width, bound.height, Color(0, 0, 0, 0), 1, Color.BLACK); - } - else if ( evt.Type == EventType.KeyPressed && - evt.Key.Code == KeyCode.Return) - { - if (bound != FloatRect()) - window.view = new View(bound); - s = null; - } - else if ( evt.Type == EventType.KeyPressed && - evt.Key.Code == KeyCode.Escape) - { - window.view = window.defaultView; - } - else if ( evt.Type == EventType.Closed) - window.close(); - - } - - window.draw(background); - window.draw(str); - if (s !is null) window.draw(s); - window.display(); - } -} \ No newline at end of file diff --git a/bindings/d/samples/dsfml/voip/client.d b/bindings/d/samples/dsfml/voip/client.d deleted file mode 100644 index f2dc4027..00000000 --- a/bindings/d/samples/dsfml/voip/client.d +++ /dev/null @@ -1,72 +0,0 @@ -module client; - -import util; - - -// Specialization of audio recorder for sending recorded audio -// data through the network -class NetworkRecorder : SoundRecorder -{ -public: - - // Constructor - this(SocketTCP Socket) - { - mySocket = Socket; - } - - ~this() - { - delete mySocket; - } -protected: - override bool onStart() - { - return true; - } - - override void onStop() - { - - } - - override bool onProcessSamples(short[] samples) - { - // Pack the audio samples into a network packet - Packet PacketOut = new Packet(); - PacketOut.set(AudioData); - PacketOut.append((cast(byte*)samples.ptr)[0..samples.length * short.sizeof]); - // Send the audio packet to the server - return mySocket.send(PacketOut) == SocketStatus.DONE; - } - - SocketTCP mySocket; ///< Socket used to communicate with the server -} - -void runClient(IPAddress adr, int port) -{ - // Create a TCP socket for communicating with server - SocketTCP Socket = new SocketTCP(); - - // Connect to the specified server - if (!Socket.connect(port, adr)) - return; - - // Wait for user input... - Cout("Press enter to start recording audio").newline; - Cin.get(); - - // Create a instance of our custom recorder - NetworkRecorder Recorder = new NetworkRecorder(Socket); - - // Start capturing audio data - Recorder.start(44100); - Cout("Press enter to stop recording audio").newline; - Cin.get(); - Recorder.stop(); - - // Send a "end-of-stream" packet - Packet PacketOut = new Packet(); - PacketOut.set(EndOfStream); - Socket.send(PacketOut); -} diff --git a/bindings/d/samples/dsfml/voip/entry.d b/bindings/d/samples/dsfml/voip/entry.d deleted file mode 100644 index 01c5c630..00000000 --- a/bindings/d/samples/dsfml/voip/entry.d +++ /dev/null @@ -1,46 +0,0 @@ -module entry; - -import util; -import server; -import client; - -int main(char[][] args) -{ - char[][] argc = args.dup; - if (argc.length > 1) - { - if ( argc[1] == "-c" && - argc.length == 4) - { - IPAddress adr = IPAddress(argc[2]); - - if (adr.isValid() && - parse(argc[3]) <= 60000 && - parse(argc[3]) >= 1000) - { - runClient(adr, parse(argc[3])); - } - else - printUsage(); - } - else if ( argc[1] == "-s" && - argc.length == 3 && - parse(argc[2]) <= 60000 && - parse(argc[2]) >= 1000) - { - runServer(parse(argc[2])); - - } - else - printUsage(); - } - else - printUsage(); - - return 0; -} - -void printUsage() -{ - Cout("Usage :\n voip.exe [-c [ip address] | -s] [port] \n -c = run as client\n -s = run as server\n ip address = address of the server\n port = port between 1000 and 65000\n").newline; -} diff --git a/bindings/d/samples/dsfml/voip/server.d b/bindings/d/samples/dsfml/voip/server.d deleted file mode 100644 index 41b182a0..00000000 --- a/bindings/d/samples/dsfml/voip/server.d +++ /dev/null @@ -1,162 +0,0 @@ -module server; - -import util; - -class NetworkAudioStream : SoundStream -{ -public: - static this() - { - s_sync = new Object(); - } - - // Default constructor - this() - { - myListener = new SocketTCP(); - myClient = new SocketTCP(); - // Set the sound parameters - super(1, 44100); - } - - // Destructor - ~this() - { - // Close the sockets - delete myClient; - delete myListener; - } - - // Run the server, stream audio data from the client - void start(int Port) - { - if (!myHasFinished) - { - // Listen to the given port for incoming connections - if (!myListener.listen(Port)) - return; - Cout("Listening").newline; - myListener.accept(myClient); - Cout("New Client").newline; - // Start playback - play(); - - // Start receiving audio data - receiveLoop(); - } - else - { - // Start playback - play(); - } - } - -protected: - - override bool onStart() - { - // Reset the playing offset - myOffset = 0; - - return true; - } - - override bool onGetData(out short[] data) - { - // We have reached the end of the buffer and all audio data have been played : we can stop playback - if ((myOffset == mySamples.length) && myHasFinished) - return false; - // No new data has arrived since last update : wait until we get some - while (myOffset == mySamples.length && !myHasFinished) - sleep(0.01f); - - synchronized(s_sync) - { - myTempBuffer = mySamples[myOffset..mySamples.length]; - // Update the playing offset - myOffset += myTempBuffer.length; - } - - data = myTempBuffer; - return true; - } - -private: - - void receiveLoop() - { - while (!myHasFinished) - { - // Get waiting audio data from the network - Packet PacketIn = new Packet(); - if (myClient.receive(PacketIn) != SocketStatus.DONE) - break; - - // Extract the message ID - ubyte Id; - PacketIn.get(Id); - - if (Id == AudioData) - { - // Extract audio samples from the packet, and append it to our samples buffer - - synchronized(s_sync) - { - byte* temp = PacketIn.getData().ptr; - temp++; - - mySamples ~= (cast(short*)temp)[0..(PacketIn.getDataSize - byte.sizeof ) / short.sizeof]; - } - } - else if (Id == EndOfStream) - { - // End of stream reached : we stop receiving audio data - myHasFinished = true; - } - else - { - // Something's wrong... - myHasFinished = true; - } - } - } - - SocketTCP myListener; - SocketTCP myClient; - short[] mySamples; - short[] myTempBuffer; - size_t myOffset; - bool myHasFinished; - - static Object s_sync; -}; - - - -// Launch a server and wait for incoming audio data from -// a connected client -void runServer(int Port) -{ - // Build an audio stream to play sound data as it is received through the network - NetworkAudioStream audioStream = new NetworkAudioStream; - audioStream.start(Port); - - // Loop until the sound playback is finished - while (audioStream.getStatus() != SoundStatus.STOPPED) - { - // Leave some CPU time for other threads - sleep(0.1f); - } - - Cout("Enter to replay").newline; - Cin.get(); - // Replay the sound (just to make sure replaying the received data is OK) - audioStream.play(); - - // Loop until the sound playback is finished - while (audioStream.getStatus() != SoundStatus.STOPPED) - { - // Leave some CPU time for other threads - sleep(0.1f); - } -} diff --git a/bindings/d/samples/dsfml/voip/util.d b/bindings/d/samples/dsfml/voip/util.d deleted file mode 100644 index ebf548b8..00000000 --- a/bindings/d/samples/dsfml/voip/util.d +++ /dev/null @@ -1,49 +0,0 @@ -module util; - -const ubyte AudioData = 1; -const ubyte EndOfStream = 2; - -public import dsfml.system.all; -public import dsfml.audio.all; -public import dsfml.network.all; - -version(Tango) -{ - public import tango.io.Console; - public import tango.text.convert.Integer; -} -else -{ - public import std.stdio; - - //simple abstraction of Cout & Cin for phobos - class Cout - { - static Cout s_c; - static this() - { - s_c = new Cout(); - } - - static Cout opCall(char[] str) - { - writefln("%s", str); - return s_c; - } - void newline() - { - - } - } - - class Cin - { - static char[] get() - { - return readln(); - } - } - - public import std.string : atoi; - alias atoi parse; -} diff --git a/bindings/python/MANIFEST.in b/bindings/python/MANIFEST.in deleted file mode 100644 index f58b8d26..00000000 --- a/bindings/python/MANIFEST.in +++ /dev/null @@ -1,5 +0,0 @@ -graft src -graft scripts -graft doc -graft samples - diff --git a/bindings/python/PySFML/__init__.py b/bindings/python/PySFML/__init__.py deleted file mode 100644 index 48163e52..00000000 --- a/bindings/python/PySFML/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -__all__ = ['sf'] - diff --git a/bindings/python/doc/style.css b/bindings/python/doc/style.css deleted file mode 100644 index 0a59e690..00000000 --- a/bindings/python/doc/style.css +++ /dev/null @@ -1,96 +0,0 @@ -div#logo -{ - margin-bottom : 1em; - background : url("http://www.sfml-dev.org/images/logo-bg.jpg") repeat-x; -} - -div#logo a -{ - display : block; -} - -div.class_desc -{ - margin-left:10px; - font-weight: bolder; - color:#168; -} - -div.base_class -{ - margin-top:8px; - margin-left:10px; - font-weight: bold; - color:#168; -} - -div.attr_name -{ - margin-top:20px; - margin-left:10px; - font-weight: bolder; -} - -div.inherited -{ - margin-left:20px; - font-size: smaller; -} - -div.desc -{ - margin-left:20px; -} - -div.event_member -{ - margin-left:30px; - font-weight: lighter; -} - -p#footer -{ - text-decoration : overline; - color : #606060; - padding-top : 1em; - text-align : center; - font-size : smaller; -} - -p#footer a -{ - color : #007298; - text-decoration : none; -} - -H1 { - text-align : center; - margin-top : 0px; - color : #2090B0; - font-size : 160%; -} -H2 { - font-size: 120%; -} -H3 { - font-size: 100%; -} - -a { - color: #2090B0; -} -a:visited { - color: #2090B0; -} -HR { height: 1px; - border: none; - border-top: 1px solid black; -} - -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; -} -BODY,TD { - font-size: 90%; -} - diff --git a/bindings/python/samples/data/apple.png b/bindings/python/samples/data/apple.png deleted file mode 100644 index 0cfb031dc5c8497c7c57fc52d4ec89c002c9f613..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 868 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 JxkhR?{tx_gjX?ka diff --git a/bindings/python/samples/data/rond2.png b/bindings/python/samples/data/rond2.png deleted file mode 100644 index 8d36b1d60ba9568444d96437b6df7833473669b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1167 zcmV;A1aSL_P)qjp@sh zNbh<~UjXg#jSNU7A(y)x04j)NAUOw;kVrwSfG&x27xXjJV23@8*a{-Hf*tnsGt*$V zx&vrItO<$a97qNth^STh9smVL8q=4@bfqNJYtTpZ^@NL{1T8^NxCkE6*K5#{P#@Ek zn7$Mo=|RP1Kpue)#4%T;)JSYqYQa3%1ic^%91qp;P%nsrP0)gQutIf#(-u=1 z)0IAj3`hkaOvt4mmL)qgC&jcD`rv;7xuw;${*1CRhDq$xE{WS0$EqzqtP<1uGaFqKO- zBw{XeBB@cA8g+U1;mz~u;{25}x9`mDPZ#H}-hFuU{3bppl8CunvLOXi8FMDAMgHYv z&6rCExT)#Y^5W(Fsk=E_a4nq*b2r{&D0(0Cf0?dl{$Fd+v?=TE18hX?*Y`m;XASB$ ztuS}vBl;FR$)4yQ4JU;v5Q|VSc75%H-==}U_|Ha!z ztyvn*>NqQD`X=WV(e_;)*a?_qmW7Zjq}r>-He?>$$gNg2a#__pqHZg$ZN<_Q^8w~d znl1!C0uQ-|)Q1VV6~wmW%w~l4h`?5Cdzb)lBPp$P9DsQ+hgpF6kgjiXVy8IkQd&f8 zF}a1+E;Y!l%lE#)F>4jtE%6Kyhya)YO|Ss75c4(EH*h{=&rkTxAhi+w^*&C>ZAff8 zOl(HS8U((E_c2X(3BJwJ1)TeUbKhp^F2Tn%T@CLW1b#-xc9__Z*b;IB5HsW_GO2ck z#`I-_uKdoiw&+NcmRvIXLZ_RwY|hMPOzm6t{1p=`7+Or>2c-5RnduslaR|gb^#wzF z&%{DXUk886&~MXrA@~sdHf?vx(AU9-l>YrK=~I7LaS0F_W`dA$$bgiD!jI@n#8UnQ zN$4=<_%`D)XMDw$4S*g?11zSn0Ru}pBm=wu=NZ6&)Dm(V@zDTZFtmuJzv~4<1N?}O hmXP21Ot~GDe*j?-_BvveAj<#%002ovPDHLkV1f*Q3S0mH diff --git a/bindings/python/samples/hellosfml.py b/bindings/python/samples/hellosfml.py deleted file mode 100644 index d52c99c5..00000000 --- a/bindings/python/samples/hellosfml.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding=utf-8 -from PySFML import sf -import random - -# Simple class for an apple. -class Apple: - sprite = None - speed = (2, 2) - rotationstep = 1 - - def __init__( self, image ): - self.sprite = sf.Sprite( image ) - self.sprite.SetOrigin( image.GetWidth() / 2, image.GetHeight() / 2 ) - -# Set resolution and create the window. -Resolution = (800, 600) - -wnd = sf.RenderWindow( sf.VideoMode( Resolution[0], Resolution[1], 32 ), "Hello SFML!" ) -wnd.UseVerticalSync( True ) - -# Load a fancy font. -cheese = sf.Font() -cheese.LoadFromFile( "data/cheeseburger.ttf" ) - -# Create a text. -text = sf.Text( u"Hello SFML from Python!", cheese, 50 ) -text.SetOrigin( text.GetRect().GetSize()[0] / 2, text.GetRect().GetSize()[1] / 2 ) -text.SetPosition( 400, 300 ) -text.SetColor( sf.Color( 0, 100, 0, 100 ) ) - -# Create a text for FPS display. -fpstext = sf.Text( u"FPS: --", cheese ) -fpstext.SetColor( sf.Color( 0, 0, 0 ) ) -currentfps = 0 -fpsclock = sf.Clock() - -# Load apple image from file. -appleimage = sf.Image() -appleimage.LoadFromFile( "data/apple.png" ) - -# Create some apples with random position, speed, rotation and color. -apples = [Apple( appleimage ) for num in range( 0, 100 )] -for apple in apples: - apple.sprite.SetOrigin( appleimage.GetWidth() / 2, appleimage.GetHeight() / 2 ) - apple.sprite.SetPosition( - random.randint( apple.sprite.GetOrigin()[0], Resolution[0] - apple.sprite.GetOrigin()[0] ), - random.randint( apple.sprite.GetOrigin()[1], Resolution[1] - apple.sprite.GetOrigin()[1] ) - ) - apple.sprite.SetColor( sf.Color( random.randint( 100, 255 ), random.randint( 100, 255 ), random.randint( 100, 255 ) ) ) - - randx = random.randint( -3, 3 ) - randy = random.randint( -3, 3 ) - apple.speed = (1 if randx == 0 else randx, 1 if randy == 0 else randy) - - apple.rotationstep = random.uniform( 1.0, 20.0 ) - 10.0 - -event = sf.Event() - -# Main loop. -while wnd.IsOpened(): - # Fetch all pending events and process them. - while wnd.GetEvent( event ): - # Quit when window has been closed or Escape has been pressed. - if event.Type == sf.Event.Closed: - wnd.Close() - elif event.Type == sf.Event.KeyPressed and event.Key.Code == sf.Key.Escape: - wnd.Close() - - # Clear window to white color. - wnd.Clear( sf.Color( 255, 255, 255 ) ) - - # Draw all apples and texts. - for apple in apples: - wnd.Draw( apple.sprite ) - - wnd.Draw( text ) - wnd.Draw( fpstext ) - - wnd.Display() # Display everything. - - # Count FPS. - currentfps += 1 - if fpsclock.GetElapsedTime() >= 1.0: - fpsclock.Reset() - fpstext.SetString( u"FPS: " + unicode( currentfps ) ) - currentfps = 0 - - # Update apples (for the "bounce effect"). - for apple in apples: - apple.sprite.Move( apple.speed[0], apple.speed[1] ) - apple.sprite.Rotate( apple.rotationstep ) - - realpos = (apple.sprite.GetPosition()[0] - apple.sprite.GetOrigin()[0], apple.sprite.GetPosition()[1] - apple.sprite.GetOrigin()[1]) - if (apple.speed[0] > 0 and realpos[0] >= Resolution[0] - appleimage.GetWidth()) or (apple.speed[0] < 0 and realpos[0] <= 0): - apple.speed = (apple.speed[0] * -1, apple.speed[1]) - - if (apple.speed[1] > 0 and realpos[1] >= Resolution[1] - appleimage.GetWidth()) or (apple.speed[1] < 0 and realpos[1] <= 0): - apple.speed = (apple.speed[0], apple.speed[1] * -1) diff --git a/bindings/python/samples/opengl.py b/bindings/python/samples/opengl.py deleted file mode 100644 index 93ce04fe..00000000 --- a/bindings/python/samples/opengl.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python - -from PySFML import sf - -from OpenGL.GL import * -from OpenGL.GLUT import * -from OpenGL.GLU import * - - -def main(): - - # Create main window - App = sf.RenderWindow(sf.VideoMode(800, 600), "SFML OpenGL") - App.SetActive() - - # Create a sprite for the background - BackgroundImage = sf.Image() - if not BackgroundImage.LoadFromFile("../../samples/bin/datas/opengl/background.jpg"): - return - Background = sf.Sprite(BackgroundImage) - - # Load an OpenGL texture. - # We could directly use a sf.Image as an OpenGL texture (with its Bind() member function), - # but here we want more control on it (generate mipmaps, ...) so we create a new one - - Image = sf.Image() - if not Image.LoadFromFile("../../samples/bin/datas/opengl/texture.jpg"): - return - # The next line is a bit different from the C++ version - Texture = glGenTextures(1) # instead of glGenTextures(1, &Texture); - glBindTexture(GL_TEXTURE_2D, Texture) - # It is almost the same line there, except in C++, the last argument was Image.GetPixelsPtr(). - # In python, GetPixels simply returns a string. - gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, Image.GetWidth(), Image.GetHeight(), GL_RGBA, GL_UNSIGNED_BYTE, Image.GetPixels()) - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR) - - - # Enable Z-buffer read and write - glEnable(GL_DEPTH_TEST) - glDepthMask(GL_TRUE) - glClearDepth(1.) - - # Setup a perspective projection - glMatrixMode(GL_PROJECTION) - glLoadIdentity() - gluPerspective(90., 1., 1., 500.) - - # Bind our texture - glEnable(GL_TEXTURE_2D) - glBindTexture(GL_TEXTURE_2D, Texture) - glColor4f(1., 1., 1., 1.) - - # Create a clock for measuring the time elapsed - Clock = sf.Clock() - - # Start game loop - while App.IsOpened(): - # Process events - Event = sf.Event() - while App.GetEvent(Event): - # Close window : exit - if Event.Type == sf.Event.Closed: - App.Close() - - # Escape key : exit - if (Event.Type == sf.Event.KeyPressed) and (Event.Key.Code == sf.Key.Escape): - App.Close() - - # Adjust the viewport when the window is resized - if Event.Type == sf.Event.Resized: - glViewport(0, 0, Event.Size.Width, Event.Size.Height) - - # Draw background - App.Draw(Background) - - # Active window to be able to perform OpenGL commands. - App.SetActive() - - # Clear depth buffer - glClear(GL_DEPTH_BUFFER_BIT) - - # Apply some transformations - glMatrixMode(GL_MODELVIEW) - glLoadIdentity() - glTranslatef(0, 0, -200) - glRotatef(Clock.GetElapsedTime() * 50, 1, 0, 0) - glRotatef(Clock.GetElapsedTime() * 30, 0, 1, 0) - glRotatef(Clock.GetElapsedTime() * 90, 0, 0, 1) - - # Draw a cube - glBegin(GL_QUADS) - - glTexCoord2f(0, 0) - glVertex3f(-50., -50., -50.) - glTexCoord2f(0, 1) - glVertex3f(-50., 50., -50.) - glTexCoord2f(1, 1) - glVertex3f( 50., 50., -50.) - glTexCoord2f(1, 0) - glVertex3f( 50., -50., -50.) - - glTexCoord2f(0, 0) - glVertex3f(-50., -50., 50.) - glTexCoord2f(0, 1) - glVertex3f(-50., 50., 50.) - glTexCoord2f(1, 1) - glVertex3f( 50., 50., 50.) - glTexCoord2f(1, 0) - glVertex3f( 50., -50., 50.) - - glTexCoord2f(0, 0) - glVertex3f(-50., -50., -50.) - glTexCoord2f(0, 1) - glVertex3f(-50., 50., -50.) - glTexCoord2f(1, 1) - glVertex3f(-50., 50., 50.) - glTexCoord2f(1, 0) - glVertex3f(-50., -50., 50.) - - glTexCoord2f(0, 0) - glVertex3f(50., -50., -50.) - glTexCoord2f(0, 1) - glVertex3f(50., 50., -50.) - glTexCoord2f(1, 1) - glVertex3f(50., 50., 50.) - glTexCoord2f(1, 0) - glVertex3f(50., -50., 50.) - - glTexCoord2f(0, 1) - glVertex3f(-50., -50., 50.) - glTexCoord2f(0, 0) - glVertex3f(-50., -50., -50.) - glTexCoord2f(1, 0) - glVertex3f( 50., -50., -50.) - glTexCoord2f(1, 1) - glVertex3f( 50., -50., 50.) - - glTexCoord2f(0, 1) - glVertex3f(-50., 50., 50.) - glTexCoord2f(0, 0) - glVertex3f(-50., 50., -50.) - glTexCoord2f(1, 0) - glVertex3f( 50., 50., -50.) - glTexCoord2f(1, 1) - glVertex3f( 50., 50., 50.) - - glEnd() - - # Draw some text on top of our OpenGL object - Text = sf.Text("This is a rotating cube") - Text.SetPosition(230., 300.) - Text.SetColor(sf.Color(128, 0, 128)) - App.Draw(Text) - - # Finally, display the rendered frame on screen - App.Display() - - # Don't forget to destroy our texture - # In C++, the call to this function was a bit different - glDeleteTextures(Texture) # instead of glDeleteTextures(1, &Texture); - - return -main() - diff --git a/bindings/python/samples/sound.py b/bindings/python/samples/sound.py deleted file mode 100644 index 8d91de68..00000000 --- a/bindings/python/samples/sound.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/python - -# You can notice that here we use PySFML.sf instead of just PySFML -# Therefore it won't be needed to put sf. in front of SFML classes - -from PySFML import sf - - -def Main(): - Buffer = sf.SoundBuffer() - if not Buffer.LoadFromFile("data/fart.wav"): # Loads the sound - return - Fart = sf.Sound(Buffer, False) - - WindowWidth, WindowHeight = 640, 480 - App = sf.RenderWindow(sf.VideoMode(WindowWidth,WindowHeight,32), "Sound with PySFML", sf.Style.Close, sf.ContextSettings(24,8,0)) - App.SetFramerateLimit(30) - - EventHandler = sf.Event() - InputHandler = App.GetInput() - - Text = sf.Text("Turn the sound on.\nClick anywhere on the screen.\nMove the mouse. Click again.\nTry clicking in the corners.") - Text.SetX(30.) - Text.SetY(20.) - Text.SetColor(sf.Color(150, 100, 10, 255)) - - while App.IsOpened(): # Main loop - while App.GetEvent(EventHandler): # Event Handler - if EventHandler.Type == sf.Event.Closed: - App.Close() - if EventHandler.Type == sf.Event.KeyPressed and EventHandler.Key.Code == sf.Key.Escape: - App.Close() - if EventHandler.Type == sf.Event.MouseButtonPressed and EventHandler.MouseButton.Button == sf.Mouse.Left: - Fart.SetPitch(1.5 - 1.*InputHandler.GetMouseY()/WindowHeight) - Fart.SetPosition( 1.*(InputHandler.GetMouseX() - WindowWidth/2)/(WindowWidth/20), 2., -2.) - Fart.Play() - App.Draw(Text) - App.Display() - App.Clear(sf.Color.Black) - - -Main() - diff --git a/bindings/python/samples/sound_capture.py b/bindings/python/samples/sound_capture.py deleted file mode 100644 index 9a496593..00000000 --- a/bindings/python/samples/sound_capture.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env python - -from PySFML import sf - -def Main(): - # Check that the device can capture audio - if sf.SoundRecorder.IsAvailable() == False: - print "Sorry, audio capture is not supported by your system" - return - - # Choose the sample rate - SampleRate = 0 - SampleRate = int(raw_input("Please choose the sample rate for sound capture (44100 is CD quality) : ")) - - # Wait for user input... - print "Press enter to start recording audio" - raw_input() - - # Here we'll use an integrated custom recorder, which saves the captured data into a sfSoundBuffer - Recorder = sf.SoundBufferRecorder() - - # Audio capture is done in a separate thread, so we can block the main thread while it is capturing - Recorder.Start(SampleRate) - print "Recording... press enter to stop" - raw_input() - Recorder.Stop() - - # Get the buffer containing the captured data - Buffer = Recorder.GetBuffer() - - # Display captured sound informations - print "Sound information :" - print " " + str(Buffer.GetDuration()) + " seconds" - print " " + str(Buffer.GetSampleRate()) + " samples / seconds" - print " " + str(Buffer.GetChannelsCount()) + " channels" - - # Choose what to do with the recorded sound data - Choice = str(raw_input("What do you want to do with captured sound (p = play, s = save) ? ")) - - if Choice == 's': - # Choose the filename - Filename = str(raw_input("Choose the file to create : ")) - - # Save the buffer - Buffer.SaveToFile(Filename); - else: - # Create a sound instance and play it - Sound = sf.Sound(Buffer) - Sound.Play() - - # Wait until finished - while Sound.GetStatus() == sf.Sound.Playing: - # Display the playing position - I don't know how to do this in python - # std::cout << "\rPlaying... " << std::fixed << std::setprecision(2) << Sound.GetPlayingOffset() << " sec"; - - # Leave some CPU time for other threads - sf.Sleep(0.1) - - # Finished ! - print "Done !" - - # Wait until the user presses 'enter' key - print "Press enter to exit..." - raw_input() - - return - -Main() diff --git a/bindings/python/samples/sound_capture_py3.py b/bindings/python/samples/sound_capture_py3.py deleted file mode 100644 index 2f2053da..00000000 --- a/bindings/python/samples/sound_capture_py3.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python - -from PySFML import sf - -def Main(): - # Check that the device can capture audio - if sf.SoundRecorder.CanCapture() == False: - print("Sorry, audio capture is not supported by your system") - return - - # Choose the sample rate - SampleRate = int(input("Please choose the sample rate for sound capture (44100 is CD quality) : ")) - - # Wait for user input... - print("Press enter to start recording audio") - input() - - # Here we'll use an integrated custom recorder, which saves the captured data into a sfSoundBuffer - Recorder = sf.SoundBufferRecorder() - - # Audio capture is done in a separate thread, so we can block the main thread while it is capturing - Recorder.Start(SampleRate) - print("Recording... press enter to stop") - input() - Recorder.Stop() - - # Get the buffer containing the captured data - Buffer = Recorder.GetBuffer() - - # Display captured sound informations - print("Sound information :") - print(" " + str(Buffer.GetDuration()) + " seconds") - print(" " + str(Buffer.GetSampleRate()) + " samples / seconds") - print(" " + str(Buffer.GetChannelsCount()) + " channels") - - # Choose what to do with the recorded sound data - Choice = str(input("What do you want to do with captured sound (p = play, s = save) ? ")) - - if Choice == 's': - # Choose the filename - Filename = str(input("Choose the file to create : ")) - - # Save the buffer - Buffer.SaveToFile(Filename); - else: - # Create a sound instance and play it - Sound = sf.Sound(Buffer) - Sound.Play() - - # Wait until finished - while Sound.GetStatus() == sf.Sound.Playing: - # Display the playing position - I don't know how to do this in python - # std::cout << "\rPlaying... " << std::fixed << std::setprecision(2) << Sound.GetPlayingOffset() << " sec"; - - # Leave some CPU time for other threads - sf.Sleep(0.1) - - # Finished ! - print("Done !") - - # Wait until the user presses 'enter' key - print("Press enter to exit...") - input() - - return - -Main() diff --git a/bindings/python/samples/sound_stream.py b/bindings/python/samples/sound_stream.py deleted file mode 100755 index a4e7a470..00000000 --- a/bindings/python/samples/sound_stream.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/python - -from PySFML import sf - -class MyCustomStream(sf.SoundStream): - - def Open(self, Filename): - # Load the sound data into a sound buffer - self.SoundData = sf.SoundBuffer() - if not self.SoundData.LoadFromFile(Filename): - return False - # Initialize the stream with the sound parameters - self.Initialize(self.SoundData.GetChannelsCount(), self.SoundData.GetSampleRate()) - # Copy the audio samples into our internal array - self.myBuffer = self.SoundData.GetSamples() - return True - - def OnStart(self): - self.myOffset = 0 - self.myBufferSize = 80000 - return True - - def OnGetData(self): - # Check if there is enough data to stream - if self.myOffset > len(self.myBuffer): - # Returning something else than a string means that we want to stop playing the stream - return "" - # Data contains the string of samples we will return - if self.myOffset + self.myBufferSize >= len(self.myBuffer): - print "End of audio data reached" - Data = self.myBuffer[self.myOffset:] - else: - Data = self.myBuffer[self.myOffset:self.myOffset+self.myBufferSize] - # Update the offset - self.myOffset = self.myBufferSize + self.myOffset - return Data - -def Main(): - Stream = MyCustomStream() - Stream.Open("./data/fart.wav") - Stream.Play() - print "Playing 5 seconds of audio data..." - sf.Sleep(5) - Stream.Stop() - print "Press enter to exit..." - raw_input() - -Main() - diff --git a/bindings/python/samples/sound_stream_py3.py b/bindings/python/samples/sound_stream_py3.py deleted file mode 100755 index bd1a73f8..00000000 --- a/bindings/python/samples/sound_stream_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/python - -from PySFML import sf - -class MyCustomStream(sf.SoundStream): - - def Open(self, Filename): - # Load the sound data into a sound buffer - self.SoundData = sf.SoundBuffer() - if not self.SoundData.LoadFromFile(Filename): - return False - # Initialize the stream with the sound parameters - self.Initialize(self.SoundData.GetChannelsCount(), self.SoundData.GetSampleRate()) - # Copy the audio samples into our internal array - self.myBuffer = self.SoundData.GetSamples() - return True - - def OnStart(self): - self.myOffset = 0 - self.myBufferSize = 80000 - return True - - def OnGetData(self): - # Check if there is enough data to stream - if self.myOffset > len(self.myBuffer): - # Returning something else than a string means that we want to stop playing the stream - return "" - # Data contains the string of samples we will return - if self.myOffset + self.myBufferSize >= len(self.myBuffer): - print("End of audio data reached") - Data = self.myBuffer[self.myOffset:] - else: - Data = self.myBuffer[self.myOffset:self.myOffset+self.myBufferSize] - # Update the offset - self.myOffset = self.myBufferSize + self.myOffset - return Data - -def Main(): - Stream = MyCustomStream() - Stream.Open("./data/fart.wav") - Stream.Play() - print("Playing 5 seconds of audio data...") - sf.Sleep(5) - Stream.Stop() - print("Press enter to exit...") - input() - -Main() - diff --git a/bindings/python/samples/worm.py b/bindings/python/samples/worm.py deleted file mode 100644 index 49bb1085..00000000 --- a/bindings/python/samples/worm.py +++ /dev/null @@ -1,272 +0,0 @@ -#!/usr/bin/python - -from PySFML import sf -import math -import random - -class Menu: - def __init__(self, screen_width, screen_height): - self.selection = 0 - text_color = sf.Color(220, 220, 20, 255) - self.spacing = screen_height/7 - - self.title = sf.Text("PyWorm!") - self.title.SetColor(text_color) - self.title.SetPosition(screen_width/2-80., self.spacing) - - levels = ["Very Easy", "Easy", "Medium", "Hard"] - x_align = [-80., -50., -70., -50.] - self.strings = [] - for i in range(0, 4): - string = sf.Text(levels[i]) - string.SetColor(text_color) - string.SetPosition(screen_width/2+x_align[i], (2+i)*self.spacing+20) - self.strings.append(string) - - self.rectangle = sf.Shape.Rectangle(0, 0, screen_width, 40, sf.Color(50, 50, 10)) - - def next_frame(self, win): - self.rectangle.SetY(self.spacing*(2 + self.selection)+20) - win.Draw(self.rectangle) - win.Draw(self.title) - win.Draw(self.strings) - - def key_up(self, pressed): - if pressed: - self.selection = (self.selection - 1) % 4 - def key_down(self, pressed): - if pressed: - self.selection = (self.selection + 1) % 4 - - - -class Apple(sf.Sprite): - def __init__(self): - apple_img = sf.Image() # Apple's image - if not apple_img.LoadFromFile("./data/apple.png"): - pass - # print "Could not load data/apple.png" - sf.Sprite.__init__(self, apple_img) - self.SetOrigin(apple_img.GetWidth()/2, apple_img.GetHeight()/2) - self.size = apple_img.GetWidth() - - def random_move(self, arena): - self.SetPosition( \ - random.randrange(arena.arena_left+arena.border, arena.arena_right-arena.border), \ - random.randrange(arena.arena_top+arena.border, arena.arena_bottom-arena.border) \ - ) - - -class Arena(dict): - shrink_value, border, arena_top = 20, 30, 20 - def __init__(self, window_width, window_height): - self.window_width = window_width - self.arena_bottom, self.exit_left, self.exit_right = window_height-80, window_width/2 - 50, window_width/2 + 50 - self['level_str'] = sf.Text() - self['level_str'].SetColor(sf.Color.White) - self['level_str'].SetPosition(60., window_height-60) - self['score_str'] = sf.Text() - self['score_str'].SetColor(sf.Color.White) - self['score_str'].SetPosition(260., window_height-60) - self.exit_rect = sf.Shape.Rectangle(self.exit_left, 0, self.exit_right, self.arena_top, sf.Color.Black) - self.reset() - self.update_arena_rect() - - def update_arena_rect(self): - self['arena_rect'] = sf.Shape.Rectangle(self.arena_left, self.arena_top, self.arena_right, self.arena_bottom, sf.Color.Black) - - def reset(self): - self.level, self.score, self.arena_left, self.arena_right = 1, 0, self.shrink_value, self.window_width-self.shrink_value - self.update_arena_rect() - self['level_str'].SetString("Level: 1") - self['score_str'].SetString("Score: 0") - - def update_score(self): - self.score += 1 - self['score_str'].SetString("Score: " + str(self.score)) - - def next_level(self): - self.level += 1 - self['level_str'].SetString("Level: " + str(self.level)) - self.arena_left += self.shrink_value - self.arena_right -= self.shrink_value - self.update_arena_rect() - self.score += 4 - self.update_score() - -class Part(sf.Sprite): - def __init__(self, rond, x, y): - sf.Sprite.__init__(self, rond) - self.SetOrigin(rond.GetWidth()/2, rond.GetHeight()/2) - self.SetPosition(x, y) - -class Worm(list): - parts_spacing, turn_step, part_size, start_x, start_y, required_length, grow_length = 3, 0.15, 6.0, 50., 50., 300, 20 - - def __init__(self, difficulty): - self.parts_per_frame = 1 + difficulty - self.angle = 0 - self.direction = 0 # 0, 1 or -1 according to the key pressed - self.rond = sf.Image() - self.level_completed = False - if not self.rond.LoadFromFile("./data/rond2.png"): - pass - # print "Could not load data/rond2.png" - - def reset(self, arena): - self.targeted_length, self.angle, self.direction = 30, 0, 0 - self[:] = [Part(self.rond, arena.arena_left+self.start_x, arena.arena_top+self.start_y)] - - def left(self, pressed): - if pressed: - self.direction = -1 - elif self.direction == -1: - self.direction = 0 - def right(self, pressed): - if pressed: - self.direction = 1 - elif self.direction == 1: - self.direction = 0 - def restart(self, arena): - if self.targeted_length == 0 and not self.level_completed: - arena.reset() - self.reset(arena) - return True - else: - return False - - def crash(self): - self.targeted_length = 0 - - def move(self, arena, apple): - head_x, head_y = -1, -1 - if self.is_running(): # Create new parts and check collisions if the worm hasn't crashed yet - for i in range(self.parts_per_frame): # We create PartsPerFrame Worm's parts - self.angle += self.direction*self.turn_step - head_x, head_y = self[-1].GetPosition() - head_x += self.parts_spacing*math.cos(self.angle) - head_y += self.parts_spacing*math.sin(self.angle) - if self.is_running() and self.targeted_length <= self.required_length: # let's check if the worm ate the apple - if math.hypot(apple.GetPosition()[0] - head_x, apple.GetPosition()[1] - head_y) < apple.size/2 + self.part_size/2: # Yes it did - arena.update_score() - self.targeted_length += self.grow_length # The worm gets longer - apple.random_move(arena) - if head_xarena.arena_right-self.part_size/2 or head_yarena.arena_bottom-self.part_size/2: # Crash into a wall - if len(self) > self.required_length: - if head_yarena.exit_right-self.part_size/2: # Crash into the exit walls - self.crash() - elif head_y < 0: - self.level_completed = True - self.targeted_length = 0 - else: - self.crash() - elif self.is_running(): - self.crash() - if self.is_running(): - self.append(Part(self.rond, head_x, head_y)) - if len(self) > self.targeted_length: - if len(self) - self.targeted_length >= self.parts_per_frame: - del self[0:self.parts_per_frame] - else: - del self[0:len(self) - self.targeted_length] - - if (head_x, head_y) == (-1, -1) and len(self) > 0: - head_x, head_y = self[-1].GetPosition() - - if len(self) > self.part_size/self.parts_spacing + 1: - for i in range(len(self)): - if i < len(self) - self.part_size/self.parts_spacing - 1: - test_x, test_y = self[i].GetPosition() - if math.hypot(head_x-test_x, head_y-test_y) < self.part_size and self.is_running(): # Check for collision - self.crash() - - if len(self) == 0: - if self.level_completed: - self.level_completed = False - arena.next_level() - self.reset(arena) - - def is_running(self): - return (self.targeted_length > 0) and not self.level_completed - def draw_exit(self): - return self.targeted_length > self.required_length or self.level_completed - -class Game: - def __init__(self, difficulty, window_width, window_height): - self.arena = Arena(window_width, window_height) - self.worm = Worm(difficulty) - self.worm.reset(self.arena) - self.apple = Apple() - self.apple.random_move(self.arena) - self.pause = False - - def enter(self, pressed): - if pressed: - if not self.worm.restart(self.arena): - self.pause = not self.pause - - def next_frame(self, win): - win.Draw(self.arena.values()) - if not self.pause: - self.worm.move(self.arena, self.apple) - if self.worm.draw_exit(): - win.Draw(self.arena.exit_rect) - elif self.worm.is_running(): - win.Draw(self.apple) - win.Draw(self.worm) - - -class Main: - # Entry Point - def __init__(self): - # Initialize the window - self.win = sf.RenderWindow(sf.VideoMode(800, 600,32), "PyWorm", sf.Style.Close) # Creates the window - self.win.EnableKeyRepeat(False) - background_color = sf.Color(100, 100, 0, 255) - self.win.SetFramerateLimit(30) - event = sf.Event() - self.keys = {} # keys to watch - self.menu_begin() - - # Boucle principale - while self.win.IsOpened(): - while self.win.GetEvent(event): # Event Handler - if event.Type == sf.Event.Closed: - self.win.Close() - elif event.Type == sf.Event.KeyPressed or event.Type == sf.Event.KeyReleased: - if event.Key.Code in self.keys: - self.keys[event.Key.Code](event.Type == sf.Event.KeyPressed) - self.win.Display() - self.win.Clear(background_color) - self.next_frame(self.win) - - # Menu - def menu_begin(self): - self.menu = Menu(self.win.GetWidth(), self.win.GetHeight()) - self.keys = {sf.Key.Escape:self.close_window, sf.Key.Up:self.menu.key_up, sf.Key.Down:self.menu.key_down, sf.Key.Return:self.menu_end} - self.next_frame = self.menu.next_frame - - def close_window(self, pressed): - if pressed: - self.win.Close() - - def menu_end(self, pressed): - if pressed: - selection = self.menu.selection - del self.menu - self.game_begin(selection) - - # Game - def game_begin(self, selection): - self.game = Game(selection, self.win.GetWidth(), self.win.GetHeight()) - self.keys = {sf.Key.Left:self.game.worm.left, sf.Key.Right:self.game.worm.right, sf.Key.Return:self.game.enter, sf.Key.Escape:self.game_end} - self.next_frame = self.game.next_frame - - def game_end(self, pressed): - if pressed: - del self.game - self.menu_begin() - -Main() - diff --git a/bindings/python/scripts/footer.htm b/bindings/python/scripts/footer.htm deleted file mode 100644 index 77030f7c..00000000 --- a/bindings/python/scripts/footer.htm +++ /dev/null @@ -1,7 +0,0 @@ - -

- - - diff --git a/bindings/python/scripts/gen_doc.py b/bindings/python/scripts/gen_doc.py deleted file mode 100755 index 99e4721e..00000000 --- a/bindings/python/scripts/gen_doc.py +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/python -# coding=UTF-8 - -from PySFML import sf - -# Amélioration à faire : trouver les méthodes héritées, et de quelle classe - -def function_str(function, class_name=None): - string = '' - name = function.__name__ - doc = function.__doc__ - if not doc.startswith(name+'('): - string += name+"(...)"+'\n' - string += doc+'\n' - strings = string.split('\n') - strings[0] = '
'+strings[0]+'
\n
' - string = strings[0] - for s in strings[1:-1]: - string += s + '
' - string += strings[-1] - inherited = '' - if class_name != None: - try: - base_class_name = function.__objclass__.__name__ - if base_class_name != class_name: - inherited = '
Inherited
\n' - except AttributeError: - pass - return string.replace('\t', '    ')+'
\n'+inherited - -class FilesManager: - def __init__(self): - self.files = {} - f = open("header.htm") - self.header = f.read() - f.close() - f = open("footer.htm") - self.footer = f.read() - f.close() - - def add(self, filename, string): - if not self.files.has_key(filename): - self.files[filename] = open('../doc/' + filename + '.html', 'w') - self.files[filename].write(self.header.replace('TITLE', filename)) - self.files[filename].write(string) - - def __del__(self): - for filename in self.files: - self.files[filename].write(self.footer) - self.files[filename].close() - - -def Main(): - - fm = FilesManager() - - fm.add('index', '

PySFML index

\n') - - fm.add('index', '

Classes

\n') - - module_methods = "" - module_constants = "" - - for m in dir(sf): - if not m.startswith('__'): - if m == 'Event': - attr = sf.Event() - else: - attr = getattr(sf, m) - if type(attr) == str: - module_constants += '
'+m+'
\n
"'+attr+'"
\n' - elif str(type(attr)) == "" or str(type(attr)) == "": - module_methods += function_str(attr) - else: - fm.add('index', '
'+m+'
\n') - info = {'Attributes':'', 'Constants':'', 'Methods':'', 'Static methods':''} - members = "" - constants = "" - static_methods = "" - methods = "" - for n in dir(attr): - if not n.startswith('__'): - attr2 = getattr(attr, n) - if str(type(attr2)) == "": # member - info['Attributes'] += '
'+n+'
\n
'+attr2.__doc__+'
\n' - elif type(attr2) == long: - info['Attributes'] += '
'+n+'
\n' - elif type(attr2) == int or type(attr2) == sf.Color: # int or color (constant) - info['Constants'] += '
'+n+'
\n' - elif str(type(attr2)) == "": # static method - info['Static methods'] += function_str(attr2, m) - elif str(type(attr2)) == "": # method - info['Methods'] += function_str(attr2, m) - elif str(type(attr2)).startswith("\n
' + attr2.__doc__+'
\n' - for o in dir(attr2): - if not o.startswith('__'): - attr3 = getattr(attr2, o) - info['Attributes'] += '
> ' + o + '
\n' - else: - print "Warning : unknown type for " + n + " " + str(type(attr2)) - fm.add(m, '

sf.'+m+' Class Reference

\n') - fm.add(m, '
'+attr.__doc__.replace('\n', '
\n').replace('\t', '    ')+'
\n') - if m != 'Event': - base = attr.__base__.__name__ - if base != 'object': - fm.add(m, '
Base class: sf.'+base+'.
\n') - for t in info: - if info[t] != '': - fm.add(m, '

'+t+'

\n'+info[t]+'
\n') - fm.add(m, '
\n
\n') - - fm.add('index', '

Module methods

\n' + module_methods) - - fm.add('index', '

Module constants

\n' + module_constants) - -Main() - diff --git a/bindings/python/scripts/header.htm b/bindings/python/scripts/header.htm deleted file mode 100644 index f335b428..00000000 --- a/bindings/python/scripts/header.htm +++ /dev/null @@ -1,11 +0,0 @@ - - - - PySFML - Python binding for SFML (Simple and Fast Multimedia Library) - TITLE - - - - - diff --git a/bindings/python/setup.py b/bindings/python/setup.py deleted file mode 100644 index a263fbc2..00000000 --- a/bindings/python/setup.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env python -# coding=UTF-8 - -from distutils.core import setup, Extension - -setup(name='PySFML', - version='1.6', - description='Python binding for SFML (Simple and Fast Multimedia Library)', - author='Rémi Koenig', - author_email='remi.k2620@gmail.com', - url='http://www.sfml-dev.org/', - license='zlib/png', - ext_modules=[ Extension('PySFML.sf', - ['src/Clock.cpp', 'src/Color.cpp', 'src/Drawable.cpp', - 'src/Event.cpp', 'src/Image.cpp', 'src/Input.cpp', 'src/Key.cpp', 'src/main.cpp', 'src/Music.cpp', - 'src/Shader.cpp', 'src/Rect.cpp', 'src/RenderWindow.cpp', 'src/Sleep.cpp', - 'src/Sprite.cpp', 'src/Text.cpp', 'src/VideoMode.cpp', 'src/View.cpp', 'src/Window.cpp', - 'src/Joy.cpp', 'src/Mouse.cpp', 'src/WindowStyle.cpp', 'src/Blend.cpp', 'src/Sound.cpp', - 'src/SoundBuffer.cpp', 'src/Listener.cpp', 'src/SoundRecorder.cpp', 'src/SoundBufferRecorder.cpp', - 'src/SoundStream.cpp', 'src/Font.cpp', 'src/Glyph.cpp', 'src/Shape.cpp', 'src/ContextSettings.cpp'], - libraries=['sfml-graphics', 'sfml-window', 'sfml-audio', 'sfml-system'], - library_dirs=['../lib/mingw'], - include_dirs=['../include'] - )], - package_dir = {'PySFML':'PySFML'}, - packages=['PySFML'], - ) diff --git a/bindings/python/src/Blend.cpp b/bindings/python/src/Blend.cpp deleted file mode 100644 index dc43ca5c..00000000 --- a/bindings/python/src/Blend.cpp +++ /dev/null @@ -1,100 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Blend.hpp" - -#include "compat.hpp" - - -static PyObject * -PySfBlend_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfBlend *self; - self = (PySfBlend *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - - -PyTypeObject PySfBlendType = { - head_init - "Blend", /*tp_name*/ - sizeof(PySfBlend), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - 0, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Enumerate the blending modes for drawable objects.\n\ -Alpha Pixel = Src * a + Dest * (1 - a).\n\ -Add Pixel = Src + Dest.\n\ -Multiply Pixel = Src * Dest.\n\ -None No blending.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfBlend_new, /* tp_new */ -}; - -void PySfBlend_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::Blend::Alpha); - PyDict_SetItemString(PySfBlendType.tp_dict, "Alpha", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Blend::Add); - PyDict_SetItemString(PySfBlendType.tp_dict, "Add", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Blend::Multiply); - PyDict_SetItemString(PySfBlendType.tp_dict, "Multiply", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Blend::None); - PyDict_SetItemString(PySfBlendType.tp_dict, "None", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/Blend.hpp b/bindings/python/src/Blend.hpp deleted file mode 100644 index f6108736..00000000 --- a/bindings/python/src/Blend.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYBLEND_HPP -#define __PYBLEND_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD -} PySfBlend; - -void -PySfBlend_InitConst(); - -#endif diff --git a/bindings/python/src/Clock.cpp b/bindings/python/src/Clock.cpp deleted file mode 100644 index c6ba6288..00000000 --- a/bindings/python/src/Clock.cpp +++ /dev/null @@ -1,110 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Clock.hpp" - -#include "compat.hpp" - - -static void -PySfClock_dealloc(PySfClock *self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfClock_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfClock *self; - - self = (PySfClock *)type->tp_alloc(type, 0); - if (self != NULL) - self->obj = new sf::Clock(); - - return (PyObject *)self; -} - - -static PyObject* -PySfClock_GetElapsedTime(PySfClock *self) -{ - return PyFloat_FromDouble(self->obj->GetElapsedTime()); -} - -static PyObject* -PySfClock_Reset(PySfClock *self) -{ - self->obj->Reset(); - Py_RETURN_NONE; -} - -static PyMethodDef PySfClock_methods[] = { - {"GetElapsedTime", (PyCFunction)PySfClock_GetElapsedTime, METH_NOARGS, "GetElapsedTime()\nGet the time elapsed since last reset."}, - {"Reset", (PyCFunction)PySfClock_Reset, METH_NOARGS, "Reset()\nRestart the timer."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfClockType = { - head_init - "Clock", /*tp_name*/ - sizeof(PySfClock), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfClock_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare (tp_reserved in py3k)*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Clock is an utility class for manipulating time.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfClock_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfClock_new, /* tp_new */ -}; - - diff --git a/bindings/python/src/Clock.hpp b/bindings/python/src/Clock.hpp deleted file mode 100644 index d0a32f65..00000000 --- a/bindings/python/src/Clock.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYCLOCK_HPP -#define __PYCLOCK_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - sf::Clock *obj; -} PySfClock; - -#endif diff --git a/bindings/python/src/Color.cpp b/bindings/python/src/Color.cpp deleted file mode 100644 index 567a2da9..00000000 --- a/bindings/python/src/Color.cpp +++ /dev/null @@ -1,198 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Color.hpp" - -#include "offsetof.hpp" -#include "compat.hpp" - -static PyMemberDef PySfColor_members[] = { - {(char *)"r", T_UBYTE, offsetof(PySfColor, r), 0, (char *)"Red component."}, - {(char *)"g", T_UBYTE, offsetof(PySfColor, g), 0, (char *)"Green component."}, - {(char *)"b", T_UBYTE, offsetof(PySfColor, b), 0, (char *)"Blue component."}, - {(char *)"a", T_UBYTE, offsetof(PySfColor, a), 0, (char *)"Alpha (transparency) component."}, - {NULL} /* Sentinel */ -}; - - - -static void -PySfColor_dealloc(PySfColor *self) -{ - delete self->obj; - free_object(self); -} - -void -PySfColorUpdate(PySfColor *self) -{ - self->obj->r = self->r; - self->obj->g = self->g; - self->obj->b = self->b; - self->obj->a = self->a; -} - -static PyObject * -PySfColor_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfColor *self; - self = (PySfColor *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->r = 0; - self->g = 0; - self->b = 0; - self->a = 255; - self->obj = new sf::Color(0, 0, 0, 255); - } - return (PyObject *)self; -} - -static int -PySfColor_init(PySfColor *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"r", "g", "b", "a", NULL}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "BBB|B:Color.__init__", (char **)kwlist, &(self->r), &(self->g), &(self->b), &(self->a))) - return -1; - PySfColorUpdate(self); - return 0; -} - -PyTypeObject PySfColorType = { - head_init - "Color", /*tp_name*/ - sizeof(PySfColor), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfColor_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Color is an utility class for manipulating 32-bits RGBA colors.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfColor_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - (initproc)PySfColor_init, /* tp_init */ - 0, /* tp_alloc */ - PySfColor_new, /* tp_new */ -}; - -PySfColor * -GetNewPySfColor() -{ - return PyObject_New(PySfColor, &PySfColorType); -} - -void -PySfColor_InitConst() -{ - PySfColor *Black, *White, *Red, *Green, *Blue, *Yellow, *Magenta, *Cyan; - Black = GetNewPySfColor(); - Black->obj = (sf::Color *) &(sf::Color::Black); - Black->r = sf::Color::Black.r; - Black->g = sf::Color::Black.g; - Black->b = sf::Color::Black.b; - Black->a = sf::Color::Black.a; - PyDict_SetItemString(PySfColorType.tp_dict, "Black", (PyObject *)Black); - Py_DECREF(Black); - White = GetNewPySfColor(); - White->obj = (sf::Color *) &(sf::Color::White); - White->r = sf::Color::White.r; - White->g = sf::Color::White.g; - White->b = sf::Color::White.b; - White->a = sf::Color::White.a; - PyDict_SetItemString(PySfColorType.tp_dict, "White", (PyObject *)White); - Py_DECREF(White); - Red = GetNewPySfColor(); - Red->obj = (sf::Color *) &(sf::Color::Red); - Red->r = sf::Color::Red.r; - Red->g = sf::Color::Red.g; - Red->b = sf::Color::Red.b; - Red->a = sf::Color::Red.a; - PyDict_SetItemString(PySfColorType.tp_dict, "Red", (PyObject *)Red); - Py_DECREF(Red); - Green = GetNewPySfColor(); - Green->obj = (sf::Color *) &(sf::Color::Green); - Green->r = sf::Color::Green.r; - Green->g = sf::Color::Green.g; - Green->b = sf::Color::Green.b; - Green->a = sf::Color::Green.a; - PyDict_SetItemString(PySfColorType.tp_dict, "Green", (PyObject *)Green); - Py_DECREF(Green); - Blue = GetNewPySfColor(); - Blue->obj = (sf::Color *) &(sf::Color::Blue); - Blue->r = sf::Color::Blue.r; - Blue->g = sf::Color::Blue.g; - Blue->b = sf::Color::Blue.b; - Blue->a = sf::Color::Blue.a; - PyDict_SetItemString(PySfColorType.tp_dict, "Blue", (PyObject *)Blue); - Py_DECREF(Blue); - Yellow = GetNewPySfColor(); - Yellow->obj = (sf::Color *) &(sf::Color::Yellow); - Yellow->r = sf::Color::Yellow.r; - Yellow->g = sf::Color::Yellow.g; - Yellow->b = sf::Color::Yellow.b; - Yellow->a = sf::Color::Yellow.a; - PyDict_SetItemString(PySfColorType.tp_dict, "Yellow", (PyObject *)Yellow); - Py_DECREF(Yellow); - Magenta = GetNewPySfColor(); - Magenta->obj = (sf::Color *) &(sf::Color::Magenta); - Magenta->r = sf::Color::Magenta.r; - Magenta->g = sf::Color::Magenta.g; - Magenta->b = sf::Color::Magenta.b; - Magenta->a = sf::Color::Magenta.a; - PyDict_SetItemString(PySfColorType.tp_dict, "Magenta", (PyObject *)Magenta); - Py_DECREF(Magenta); - Cyan = GetNewPySfColor(); - Cyan->obj = (sf::Color *) &(sf::Color::Cyan); - Cyan->r = sf::Color::Cyan.r; - Cyan->g = sf::Color::Cyan.g; - Cyan->b = sf::Color::Cyan.b; - Cyan->a = sf::Color::Cyan.a; - PyDict_SetItemString(PySfColorType.tp_dict, "Cyan", (PyObject *)Cyan); - Py_DECREF(Cyan); -} - diff --git a/bindings/python/src/Color.hpp b/bindings/python/src/Color.hpp deleted file mode 100644 index d86ed7f4..00000000 --- a/bindings/python/src/Color.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYCOLOR_HPP -#define __PYCOLOR_HPP - -#include -#include - -#include - - -typedef struct { - PyObject_HEAD - unsigned char r; - unsigned char g; - unsigned char b; - unsigned char a; - sf::Color *obj; -} PySfColor; - -PySfColor * -GetNewPySfColor(); - -void -PySfColorUpdate(PySfColor *self); - -void -PySfColor_InitConst(); - -#endif diff --git a/bindings/python/src/ContextSettings.cpp b/bindings/python/src/ContextSettings.cpp deleted file mode 100644 index 6537858d..00000000 --- a/bindings/python/src/ContextSettings.cpp +++ /dev/null @@ -1,125 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "ContextSettings.hpp" - -#include - -#include "offsetof.hpp" -#include "compat.hpp" - -static PyMemberDef PySfContextSettings_members[] = { - {(char *)"DepthBits", T_UINT, offsetof(PySfContextSettings, DepthBits), 0, (char *)"Depth buffer bits (24 by default)"}, - {(char *)"StencilBits", T_UINT, offsetof(PySfContextSettings, StencilBits), 0, (char *)"Stencil buffer bits (8 by default)"}, - {(char *)"AntialiasingLevel", T_UINT, offsetof(PySfContextSettings, AntialiasingLevel), 0, (char *)"Antialiasing level (0 by default)"}, - {(char *)"MajorVersion", T_UINT, offsetof(PySfContextSettings, MajorVersion), 0, (char *)"Major number of the context version to create. (2 by default)"}, - {(char *)"MinorVersion", T_UINT, offsetof(PySfContextSettings, MinorVersion), 0, (char *)"Minor number of the context version to create. (0 by default)"}, - {NULL} /* Sentinel */ -}; - - -static void -PySfContextSettings_dealloc(PySfContextSettings *self) -{ - delete self->obj; - free_object(self); -} - -void -PySfContextSettingsUpdate(PySfContextSettings *self) -{ - self->obj->DepthBits = self->DepthBits; - self->obj->StencilBits = self->StencilBits; - self->obj->AntialiasingLevel = self->AntialiasingLevel; - self->obj->MajorVersion = self->MajorVersion; - self->obj->MinorVersion = self->MinorVersion; -} - -static PyObject * -PySfContextSettings_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"DepthBits", "StencilBits", "AntialiasingLevel", "MajorVersion", "MinorVersion", NULL}; - PySfContextSettings *self; - self = (PySfContextSettings *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->DepthBits = 24; - self->StencilBits = 8; - self->AntialiasingLevel = 0; - self->MajorVersion = 2; - self->MinorVersion = 0; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|IIIII:ContextSettings.__init__", (char **)kwlist, &(self->DepthBits), &(self->StencilBits), &(self->AntialiasingLevel), &(self->MajorVersion), &(self->MinorVersion))) - return NULL; - self->obj = new sf::ContextSettings(self->DepthBits, self->StencilBits, self->AntialiasingLevel, self->MajorVersion, self->MinorVersion); - } - return (PyObject *)self; -} - -PyTypeObject PySfContextSettingsType = { - head_init - "ContextSettings", /*tp_name*/ - sizeof(PySfContextSettings), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfContextSettings_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Structure defining the creation settings of windows.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfContextSettings_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfContextSettings_new, /* tp_new */ -}; - -PySfContextSettings * -GetNewPySfContextSettings() -{ - return PyObject_New(PySfContextSettings, &PySfContextSettingsType); -} - diff --git a/bindings/python/src/ContextSettings.hpp b/bindings/python/src/ContextSettings.hpp deleted file mode 100644 index d8b09a1a..00000000 --- a/bindings/python/src/ContextSettings.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYWINDOWSETTINGS_HPP -#define __PYWINDOWSETTINGS_HPP - -#include - -#include - - -typedef struct { - PyObject_HEAD - unsigned int DepthBits; - unsigned int StencilBits; - unsigned int AntialiasingLevel; - unsigned int MajorVersion; - unsigned int MinorVersion; - sf::ContextSettings *obj; -} PySfContextSettings; - -void -PySfContextSettingsUpdate(PySfContextSettings *self); - -PySfContextSettings * -GetNewPySfContextSettings(); - -#endif diff --git a/bindings/python/src/Drawable.cpp b/bindings/python/src/Drawable.cpp deleted file mode 100644 index 33b37eeb..00000000 --- a/bindings/python/src/Drawable.cpp +++ /dev/null @@ -1,325 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Drawable.hpp" -#include "Color.hpp" - -#include "compat.hpp" - - -extern PyTypeObject PySfColorType; - - -void CustomDrawable::Render(sf::RenderTarget& Target, sf::RenderQueue& Queue) const -{ - if (RenderFunction) - PyObject_CallFunction(RenderFunction, (char *)"OO", RenderWindow, Queue); - else - { - PyErr_SetString(PyExc_RuntimeError, "Custom drawables must have a render method defined"); - PyErr_Print(); - } -} - -static void -PySfDrawable_dealloc(PySfDrawable *self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfDrawable_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfDrawable *self; - self = (PySfDrawable *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->IsCustom = true; - self->obj = new CustomDrawable(); - if (PyObject_HasAttrString((PyObject *)self, "Render")) - self->obj->RenderFunction = PyObject_GetAttrString((PyObject *)self, "Render"); - else - self->obj->RenderFunction = NULL; - self->obj->RenderWindow = NULL; - } - return (PyObject *)self; -} - -static PyObject * -PySfDrawable_SetX(PySfDrawable* self, PyObject *args) -{ - self->obj->SetX(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_SetY(PySfDrawable* self, PyObject *args) -{ - self->obj->SetY(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_SetScale(PySfDrawable* self, PyObject *args) -{ - float ScaleX, ScaleY; - if (!PyArg_ParseTuple(args, "ff:Drawable.SetScale", &ScaleX, &ScaleY) ) - return NULL; - self->obj->SetScale(ScaleX, ScaleY); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_SetScaleX(PySfDrawable* self, PyObject *args) -{ - self->obj->SetScaleX(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_SetScaleY(PySfDrawable* self, PyObject *args) -{ - self->obj->SetScaleY(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfDrawable_SetRotation(PySfDrawable* self, PyObject *args) -{ - self->obj->SetRotation(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_SetOrigin(PySfDrawable* self, PyObject *args) -{ - float x, y; - if (!PyArg_ParseTuple(args, "ff:Drawable.SetOrigin", &x, &y) ) - return NULL; - self->obj->SetOrigin(x, y); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_GetOrigin(PySfDrawable* self) -{ - sf::Vector2f Vect = self->obj->GetOrigin(); - return Py_BuildValue("ff", Vect.x, Vect.y); -} - -static PyObject * -PySfDrawable_SetColor(PySfDrawable* self, PyObject *args) -{ - PySfColor *Color = (PySfColor *)args; - if (!PyObject_TypeCheck(args, &PySfColorType)) - { - PyErr_SetString(PyExc_TypeError, "Drawable.SetColor() Argument is not a sf.Color"); - return NULL; - } - PySfColorUpdate(Color); - self->obj->SetColor(*(Color->obj)); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_GetPosition(PySfDrawable* self) -{ - sf::Vector2f Vect = self->obj->GetPosition(); - return Py_BuildValue("ff", Vect.x, Vect.y); -} -static PyObject * -PySfDrawable_GetScale(PySfDrawable* self) -{ - sf::Vector2f Vect = self->obj->GetScale(); - return Py_BuildValue("ff", Vect.x, Vect.y); -} -static PyObject * -PySfDrawable_GetRotation(PySfDrawable* self) -{ - return PyFloat_FromDouble(self->obj->GetRotation()); -} - -static PyObject * -PySfDrawable_GetColor(PySfDrawable* self) -{ - PySfColor *Color; - - Color = GetNewPySfColor(); - Color->obj = new sf::Color( self->obj->GetColor() ); - Color->r = Color->obj->r; - Color->g = Color->obj->g; - Color->b = Color->obj->b; - Color->a = Color->obj->a; - - return (PyObject *)Color; -} -static PyObject * -PySfDrawable_Move(PySfDrawable* self, PyObject *args) -{ - float x, y; - if (!PyArg_ParseTuple(args, "ff:Drawable.Move", &x, &y) ) - return NULL; - self->obj->Move(x, y); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_Rotate(PySfDrawable* self, PyObject *args) -{ - self->obj->Rotate(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} -static PyObject * -PySfDrawable_Scale(PySfDrawable* self, PyObject *args) -{ - float FactorX, FactorY; - if (!PyArg_ParseTuple(args, "ff:Drawable.Scale", &FactorX, &FactorY) ) - return NULL; - self->obj->Scale(FactorX, FactorY); - Py_RETURN_NONE; -} - -static PyObject * -PySfDrawable_SetBlendMode(PySfDrawable* self, PyObject *args) -{ - self->obj->SetBlendMode((sf::Blend::Mode)PyLong_AsUnsignedLong(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfDrawable_SetPosition(PySfDrawable* self, PyObject *args) -{ - float Left, Top; - if (!PyArg_ParseTuple(args, "ff:Drawable.SetPosition", &Left, &Top) ) - return NULL; - self->obj->SetPosition(Left, Top); - Py_RETURN_NONE; -} - -static PyObject * -PySfDrawable_TransformToLocal(PySfDrawable* self, PyObject *args) -{ - float X, Y; - if (!PyArg_ParseTuple(args, "ff:Drawable.TransformToLocal", &X, &Y) ) - return NULL; - sf::Vector2f result = self->obj->TransformToLocal(sf::Vector2f(X, Y)); - return Py_BuildValue("ff", result.x, result.y); -} - -static PyObject * -PySfDrawable_TransformToGlobal(PySfDrawable* self, PyObject *args) -{ - float X, Y; - if (!PyArg_ParseTuple(args, "ff:Drawable.TransformToGlobal", &X, &Y) ) - return NULL; - sf::Vector2f result = self->obj->TransformToGlobal(sf::Vector2f(X, Y)); - return Py_BuildValue("ff", result.x, result.y); -} - -int PySfDrawable_setattro(PyObject* self, PyObject *attr_name, PyObject *v) -{ -#ifdef IS_PY3K - PyObject *string = PyUnicode_AsUTF8String(attr_name); - if (string == NULL) return NULL; - std::string Name(PyBytes_AsString(string)); -#else - std::string Name(PyString_AsString(attr_name)); -#endif - if (Name == "Render") - { - Py_CLEAR(((PySfDrawable*)self)->obj->RenderFunction); - Py_INCREF(v); - ((PySfDrawable*)self)->obj->RenderFunction = v; - } -#ifdef IS_PY3K - Py_DECREF(string); -#endif - return PyObject_GenericSetAttr(self, attr_name, v); -} - -static PyMethodDef PySfDrawable_methods[] = { - {"TransformToLocal", (PyCFunction)PySfDrawable_TransformToLocal, METH_VARARGS, "TransformToLocal(X, Y)\n\ -Transform a point from global coordinates into local coordinates (ie it applies the inverse of object's origin, translation, rotation and scale to the point). Returns a tuple.\n\ - X : X coordinate of the point to transform\n\ - Y : Y coordinate of the point to transform"}, - {"TransformToGlobal", (PyCFunction)PySfDrawable_TransformToGlobal, METH_VARARGS, "TransformToGlobal(X, Y)\n\ -Transform a point from local coordinates into global coordinates (ie it applies the object's origin, translation, rotation and scale to the point). Returns a tuple.\n\ - X : X coordinate of the point to transform\n\ - Y : Y coordinate of the point to transform"}, - {"SetX", (PyCFunction)PySfDrawable_SetX, METH_O, "SetX(X)\nSet the X position of the object.\n X : New X coordinate"}, - {"SetY", (PyCFunction)PySfDrawable_SetY, METH_O, "SetY(Y)\nSet the Y position of the object.\n Y : New Y coordinate"}, - {"SetScale", (PyCFunction)PySfDrawable_SetScale, METH_VARARGS, "SetScale(ScaleX, ScaleY)\nSet the scale of the object.\n ScaleX : New horizontal scale (must be strictly positive)\n ScaleY : New vertical scale (must be strictly positive)"}, - {"SetScaleX", (PyCFunction)PySfDrawable_SetScaleX, METH_O, "SetScaleX(ScaleX)\nSet the X scale factor of the object.\n ScaleX : New horizontal scale (must be strictly positive)"}, - {"SetScaleY", (PyCFunction)PySfDrawable_SetScaleY, METH_O, "SetScaleY(ScaleY)\nSet the Y scale factor of the object.\n ScaleY : New vertical scale (must be strictly positive)"}, - {"SetRotation", (PyCFunction)PySfDrawable_SetRotation, METH_O, "SetRotation(Rotation)\nSet the orientation of the object.\n Rotation : Angle of rotation, in degrees"}, - {"SetOrigin", (PyCFunction)PySfDrawable_SetOrigin, METH_VARARGS, "SetOrigin(OriginX, OriginY)\nSet the origin of the object, in coordinates relative to the object.\n OriginX : X coordinate of the origin\n OriginY : Y coordinate of the origin"}, - {"GetOrigin", (PyCFunction)PySfDrawable_GetOrigin, METH_NOARGS, "GetOrigin()\nGet the origin of the object, in coordinates relative to the object."}, - {"SetColor", (PyCFunction)PySfDrawable_SetColor, METH_O, "SetColor(Color)\nSet the color of the object.\n Color : New color"}, - {"GetPosition", (PyCFunction)PySfDrawable_GetPosition, METH_NOARGS, "GetPosition()\nGet the position of the object."}, - {"GetScale", (PyCFunction)PySfDrawable_GetScale, METH_NOARGS, "GetScale()\nGet the scale of the object."}, - {"GetRotation", (PyCFunction)PySfDrawable_GetRotation, METH_NOARGS, "GetRotation()\nGet the orientation of the object."}, - {"GetColor", (PyCFunction)PySfDrawable_GetColor, METH_NOARGS, "GetColor()\nGet the color of the object."}, - {"Move", (PyCFunction)PySfDrawable_Move, METH_VARARGS, "Move(OffsetX, OffsetY)\nMove the object.\n OffsetX : X offset\n OffsetY : Y offset "}, - {"Scale", (PyCFunction)PySfDrawable_Scale, METH_VARARGS, "Scale(FactorX, FactorY)\nScale the object.\n FactorX : Scaling factor on X (must be strictly positive)\n FactorY : Scaling factor on Y (must be strictly positive)"}, - {"Rotate", (PyCFunction)PySfDrawable_Rotate, METH_O, "Rotate(Angle)\nRotate the object.\n Angle : Angle of rotation, in degrees"}, - {"SetBlendMode", (PyCFunction)PySfDrawable_SetBlendMode, METH_O, "SetBlendMode(Mode)\nSet the blending mode for the object. The default blend mode is sf.Blend.Alpha\n Mode : New blending mode"}, - {"SetPosition", (PyCFunction)PySfDrawable_SetPosition, METH_VARARGS, "SetPosition(X, Y)\nSet the position of the object.\n X : New X coordinate\n Y : New Y coordinate"}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfDrawableType = { - head_init - "Drawable", /*tp_name*/ - sizeof(PySfDrawable), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfDrawable_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - PySfDrawable_setattro, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Abstract base class for every object that can be drawn into a render window.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfDrawable_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfDrawable_new, /* tp_new */ -}; - - diff --git a/bindings/python/src/Drawable.hpp b/bindings/python/src/Drawable.hpp deleted file mode 100644 index 12af4fe6..00000000 --- a/bindings/python/src/Drawable.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYDRAWABLE_H -#define __PYDRAWABLE_H - -#include - -#include -#include - -#include "RenderWindow.hpp" -#include "RenderQueue.hpp" - -class CustomDrawable : public sf::Drawable -{ -protected : - virtual void Render(sf::RenderTarget& Target, sf::RenderQueue& Queue) const; -public : - PySfRenderWindow *RenderWindow; - PyObject *RenderFunction; -}; - - -typedef struct { - PyObject_HEAD - bool IsCustom; - CustomDrawable *obj; -} PySfDrawable; - -#endif - diff --git a/bindings/python/src/Event.cpp b/bindings/python/src/Event.cpp deleted file mode 100644 index 449295de..00000000 --- a/bindings/python/src/Event.cpp +++ /dev/null @@ -1,780 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Event.hpp" - -#include - -#include "compat.hpp" - -//////////////////////////////// -// Text Events Parameters -//////////////////////////////// - -PyMemberDef PySfEventText_members[] = { - {(char *)"Unicode", T_USHORT, offsetof(PySfEventText, Unicode), READONLY, (char *)""}, - {NULL} /* Sentinel */ -}; - -static PyObject * -PySfEventText_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEventText *self; - - self = (PySfEventText *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Unicode = 0; - } - - return (PyObject *)self; -} - -void -PySfEventText_dealloc(PySfEventText* self) -{ - free_object(self); -} - -PyTypeObject PySfEventTextType = { - head_init - "Event.Text", /*tp_name*/ - sizeof(PySfEventText), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEventText_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "Text Events Parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEventText_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEventText_new, /* tp_new */ -}; - - - -///////////////////////////////////// -// Keyboard Events Parameters -///////////////////////////////////// - -static PyObject * -PySfEventKey_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEventKey *self; - - self = (PySfEventKey *)type->tp_alloc(type, 0); - if (self != NULL) - { - Py_INCREF(Py_False); - self->Alt = Py_False; - Py_INCREF(Py_False); - self->Control = Py_False; - Py_INCREF(Py_False); - self->Shift = Py_False; - } - - return (PyObject *)self; -} - -void -PySfEventKey_dealloc(PySfEventKey* self) -{ - free_object(self); -} - -PyMemberDef PySfEventKey_members[] = { - {(char *)"Alt", T_OBJECT, offsetof(PySfEventKey, Alt), READONLY, (char *)""}, - {(char *)"Control", T_OBJECT, offsetof(PySfEventKey, Control), READONLY, (char *)""}, - {(char *)"Shift", T_OBJECT, offsetof(PySfEventKey, Shift), READONLY, (char *)""}, - {(char *)"Code", T_UINT, offsetof(PySfEventKey, Code), READONLY, (char *)""}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfEventKeyType = { - head_init - "Event.Key", /*tp_name*/ - sizeof(PySfEventKey), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEventKey_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "Key Events Parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEventKey_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEventKey_new, /* tp_new */ -}; - - -//////////////////////////////////// -// MouseMove Events Parameters -//////////////////////////////////// - -static PyObject * -PySfEventMouseMove_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEventMouseMove *self; - - self = (PySfEventMouseMove *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->X = 0; - self->Y = 0; - } - - return (PyObject *)self; -} - -void -PySfEventMouseMove_dealloc(PySfEventMouseMove *self) -{ - free_object(self); -} - - -PyMemberDef PySfEventMouseMove_members[] = { - {(char *)"X", T_INT, offsetof(PySfEventMouseMove, X), READONLY, (char *)""}, - {(char *)"Y", T_INT, offsetof(PySfEventMouseMove, Y), READONLY, (char *)""}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfEventMouseMoveType = { - head_init - "Event.MouseMove", /*tp_name*/ - sizeof(PySfEventMouseMove), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEventMouseMove_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "MouseMove Events Parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEventMouseMove_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEventMouseMove_new, /* tp_new */ -}; - - -//////////////////////////////////// -// MouseButton Events Parameters -//////////////////////////////////// - -static PyObject * -PySfEventMouseButton_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEventMouseButton *self; - - self = (PySfEventMouseButton *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Button = 0; - self->X = 0; - self->Y = 0; - } - - return (PyObject *)self; -} - -void -PySfEventMouseButton_dealloc(PySfEventMouseButton* self) -{ - free_object(self); -} - - -PyMemberDef PySfEventMouseButton_members[] = { - {(char *)"Button", T_UINT, offsetof(PySfEventMouseButton, Button), READONLY, (char *)""}, - {(char *)"X", T_INT, offsetof(PySfEventMouseButton, X), READONLY, (char *)""}, - {(char *)"Y", T_INT, offsetof(PySfEventMouseButton, Y), READONLY, (char *)""}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfEventMouseButtonType = { - head_init - "Event.MouseButton", /*tp_name*/ - sizeof(PySfEventMouseButton), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEventMouseButton_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "MouseButton Events Parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEventMouseButton_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEventMouseButton_new, /* tp_new */ -}; - - -//////////////////////////////// -// MouseWheel Events Parameters -//////////////////////////////// - -static PyObject * -PySfEventMouseWheel_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEventMouseWheel *self; - - self = (PySfEventMouseWheel *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Delta = 0; - } - - return (PyObject *)self; -} - -void -PySfEventMouseWheel_dealloc(PySfEventMouseWheel* self) -{ - free_object(self); -} - -PyMemberDef PySfEventMouseWheel_members[] = { - {(char *)"Delta", T_INT, offsetof(PySfEventMouseWheel,Delta), READONLY, (char *)""}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfEventMouseWheelType = { - head_init - "Event.MouseWheel", /*tp_name*/ - sizeof(PySfEventMouseWheel), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEventMouseWheel_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "MouseWheel Events Parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEventMouseWheel_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEventMouseWheel_new, /* tp_new */ -}; - - -//////////////////////////////////// -// JoyMove Events Parameters -//////////////////////////////////// - -static PyObject * -PySfEventJoyMove_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEventJoyMove *self; - - self = (PySfEventJoyMove *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->JoystickId = 0; - self->Axis = 0; - self->Position = 0.f; - } - - return (PyObject *)self; -} - -void -PySfEventJoyMove_dealloc(PySfEventJoyMove* self) -{ - free_object(self); -} - - -PyMemberDef PySfEventJoyMove_members[] = { - {(char *)"JoystickId", T_UINT, offsetof(PySfEventJoyMove,JoystickId), READONLY, (char *)""}, - {(char *)"Axis", T_UINT, offsetof(PySfEventJoyMove,Axis), READONLY, (char *)""}, - {(char *)"Position", T_FLOAT, offsetof(PySfEventJoyMove,Position), READONLY, (char *)""}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfEventJoyMoveType = { - head_init - "Event.JoyMove", /*tp_name*/ - sizeof(PySfEventJoyMove), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEventJoyMove_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "JoyMove Events Parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEventJoyMove_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEventJoyMove_new, /* tp_new */ -}; - - -//////////////////////////////////// -// JoyButton Events Parameters -//////////////////////////////////// - -static PyObject * -PySfEventJoyButton_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEventJoyButton *self; - - self = (PySfEventJoyButton *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->JoystickId = 0; - self->Button = 0; - } - - return (PyObject *)self; -} - -void -PySfEventJoyButton_dealloc(PySfEventJoyButton* self) -{ - free_object(self); -} - - -PyMemberDef PySfEventJoyButton_members[] = { - {(char *)"JoystickId", T_UINT, offsetof(PySfEventJoyButton, JoystickId), READONLY, (char *)""}, - {(char *)"Button", T_UINT, offsetof(PySfEventJoyButton, Button), READONLY, (char *)""}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfEventJoyButtonType = { - head_init - "Event.JoyButton", /*tp_name*/ - sizeof(PySfEventJoyButton), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEventJoyButton_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "JoyButton Events Parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEventJoyButton_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEventJoyButton_new, /* tp_new */ -}; - - -//////////////////////////////////// -// Size Events Parameters -//////////////////////////////////// - -static PyObject * -PySfEventSize_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEventSize *self; - - self = (PySfEventSize *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Width = 0; - self->Height = 0; - } - - return (PyObject *)self; -} - -void -PySfEventSize_dealloc(PySfEventSize* self) -{ - free_object(self); -} - -PyMemberDef PySfEventSize_members[] = { - {(char *)"Width", T_UINT, offsetof(PySfEventSize, Width), READONLY, (char *)""}, - {(char *)"Height", T_UINT, offsetof(PySfEventSize, Height), READONLY, (char *)""}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfEventSizeType = { - head_init - "Event.Size", /*tp_name*/ - sizeof(PySfEventSize), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEventSize_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "Size Events Parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEventSize_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEventSize_new, /* tp_new */ -}; - - - - - - -//////////////////////////////////// -// sf.Event -//////////////////////////////////// - - -static PyObject * -PySfEvent_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfEvent *self; - - self = (PySfEvent *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Text = (PySfEventText *)PySfEventText_new(&PySfEventTextType, NULL, NULL); - self->Key = (PySfEventKey *)PySfEventKey_new(&PySfEventKeyType, NULL, NULL); - self->MouseMove = (PySfEventMouseMove *)PySfEventMouseMove_new(&PySfEventMouseMoveType, NULL, NULL); - self->MouseButton = (PySfEventMouseButton *)PySfEventMouseButton_new(&PySfEventMouseButtonType, NULL, NULL); - self->MouseWheel = (PySfEventMouseWheel *)PySfEventMouseWheel_new(&PySfEventMouseWheelType, NULL, NULL); - self->JoyMove = (PySfEventJoyMove *)PySfEventJoyMove_new(&PySfEventJoyMoveType, NULL, NULL); - self->JoyButton = (PySfEventJoyButton *)PySfEventJoyButton_new(&PySfEventJoyButtonType, NULL, NULL); - self->Size = (PySfEventSize *)PySfEventSize_new(&PySfEventSizeType, NULL, NULL); - self->obj = new sf::Event(); - } - - return (PyObject *)self; -} - -static void -PySfEvent_dealloc(PySfEvent* self) -{ - Py_DECREF(self->Text); - Py_DECREF(self->Key); - Py_DECREF(self->MouseMove); - Py_DECREF(self->MouseButton); - Py_DECREF(self->MouseWheel); - Py_DECREF(self->JoyMove); - Py_DECREF(self->JoyButton); - Py_DECREF(self->Size); - delete self->obj; - free_object(self); -} - -static PyMemberDef PySfEvent_members[] = { - {(char *)"Text", T_OBJECT, offsetof(PySfEvent, Text), READONLY, (char *)"Text Events Parameters"}, - {(char *)"Key", T_OBJECT, offsetof(PySfEvent, Key), READONLY, (char *)"Keyboard Events Parameters"}, - {(char *)"MouseMove", T_OBJECT, offsetof(PySfEvent, MouseMove), READONLY, (char *)"MouseMove Events Parameters"}, - {(char *)"MouseButton", T_OBJECT, offsetof(PySfEvent, MouseButton), READONLY, (char *)"MouseButton Events Parameters"}, - {(char *)"MouseWheel", T_OBJECT, offsetof(PySfEvent, MouseWheel), READONLY, (char *)"MouseWheel Events Parameters"}, - {(char *)"JoyMove", T_OBJECT, offsetof(PySfEvent, JoyMove), READONLY, (char *)"JoyMove Events Parameters"}, - {(char *)"JoyButton", T_OBJECT, offsetof(PySfEvent, JoyButton), READONLY, (char *)"JoyButton Events Parameters"}, - {(char *)"Size", T_OBJECT, offsetof(PySfEvent, Size), READONLY, (char *)"Size Events Parameters"}, - {(char *)"Type", T_UINT, offsetof(PySfEvent, Type), READONLY, (char *)"Type Events Parameters"}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfEventType = { - head_init - "Event", /*tp_name*/ - sizeof(PySfEvent), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfEvent_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Event defines a system event and its parameters", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfEvent_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfEvent_new, /* tp_new */ -}; - - -void -PySfEvent_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::Event::KeyReleased); - PyDict_SetItemString(PySfEventType.tp_dict, "KeyReleased", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::LostFocus); - PyDict_SetItemString(PySfEventType.tp_dict, "LostFocus", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::GainedFocus); - PyDict_SetItemString(PySfEventType.tp_dict, "GainedFocus", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::KeyPressed); - PyDict_SetItemString(PySfEventType.tp_dict, "KeyPressed", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::MouseWheelMoved); - PyDict_SetItemString(PySfEventType.tp_dict, "MouseWheelMoved", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::TextEntered); - PyDict_SetItemString(PySfEventType.tp_dict, "TextEntered", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::MouseMoved); - PyDict_SetItemString(PySfEventType.tp_dict, "MouseMoved", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::JoyButtonPressed); - PyDict_SetItemString(PySfEventType.tp_dict, "JoyButtonPressed", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::MouseButtonReleased); - PyDict_SetItemString(PySfEventType.tp_dict, "MouseButtonReleased", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::Closed); - PyDict_SetItemString(PySfEventType.tp_dict, "Closed", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::MouseButtonPressed); - PyDict_SetItemString(PySfEventType.tp_dict, "MouseButtonPressed", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::JoyMoved); - PyDict_SetItemString(PySfEventType.tp_dict, "JoyMoved", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::JoyButtonReleased); - PyDict_SetItemString(PySfEventType.tp_dict, "JoyButtonReleased", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::Resized); - PyDict_SetItemString(PySfEventType.tp_dict, "Resized", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::MouseEntered); - PyDict_SetItemString(PySfEventType.tp_dict, "MouseEntered", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Event::MouseLeft); - PyDict_SetItemString(PySfEventType.tp_dict, "MouseLeft", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/Event.hpp b/bindings/python/src/Event.hpp deleted file mode 100644 index fa8f8fa4..00000000 --- a/bindings/python/src/Event.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYEVENT_HPP -#define __PYEVENT_HPP - -#include - -#include - -typedef struct -{ - PyObject_HEAD - unsigned int short Unicode; -} PySfEventText; - -typedef struct -{ - PyObject_HEAD - PyObject *Alt; - PyObject *Control; - PyObject *Shift; - unsigned int Code; -} PySfEventKey; - -typedef struct -{ - PyObject_HEAD - int X; - int Y; -} PySfEventMouseMove; - -typedef struct -{ - PyObject_HEAD - unsigned int Button; - int X; - int Y; -} PySfEventMouseButton; - -typedef struct -{ - PyObject_HEAD - int Delta; -} PySfEventMouseWheel; - -typedef struct { - PyObject_HEAD - unsigned int JoystickId; - unsigned int Axis; - float Position; -} PySfEventJoyMove; - -typedef struct { - PyObject_HEAD - unsigned int JoystickId; - unsigned int Button; -} PySfEventJoyButton; - -typedef struct -{ - PyObject_HEAD - unsigned int Width; - unsigned int Height; -} PySfEventSize; - -typedef struct { - PyObject_HEAD - PySfEventText *Text; - PySfEventKey *Key; - PySfEventMouseMove *MouseMove; - PySfEventMouseButton *MouseButton; - PySfEventMouseWheel *MouseWheel; - PySfEventJoyMove *JoyMove; - PySfEventJoyButton *JoyButton; - PySfEventSize *Size; - unsigned int Type; - sf::Event *obj; -} PySfEvent; - -void -PySfEvent_InitConst(); - -#endif diff --git a/bindings/python/src/Font.cpp b/bindings/python/src/Font.cpp deleted file mode 100644 index f2475ce3..00000000 --- a/bindings/python/src/Font.cpp +++ /dev/null @@ -1,200 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Font.hpp" -#include "Glyph.hpp" -#include "Image.hpp" - -#include "compat.hpp" - - -static void -PySfFont_dealloc(PySfFont *self) -{ - if (self->Owner) - delete self->obj; - free_object(self); -} - -static PyObject * -PySfFont_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfFont *self; - self = (PySfFont *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Owner = true; - self->obj = new sf::Font(); - } - return (PyObject *)self; -} - -static PyObject * -PySfFont_LoadFromFile( PySfFont* self, PyObject *args ) { - char* Filename; - bool result; - - if( PyArg_ParseTuple( args, "s:Font.LoadFromFile", &Filename ) ) { - result = self->obj->LoadFromFile(Filename); - } - else { - PyErr_BadArgument(); - return NULL; - } - - return PyBool_FromLong( result ); -} - -static PyObject * -PySfFont_LoadFromMemory( PySfFont* self, PyObject *args ) { - unsigned int Size; - char* Data; - bool result; - - if( PyArg_ParseTuple( args, "s#:Font.LoadFromMemory", &Data, &Size ) ) { - result = self->obj->LoadFromMemory( Data, Size ); - } - else { - PyErr_BadArgument(); - return NULL; - } - - return PyBool_FromLong( result ); -} - -static PyObject * -PySfFont_GetDefaultFont(PySfFont* self, PyObject *args) -{ - PySfFont *DefaultFont = GetNewPySfFont(); - DefaultFont->Owner = false; - DefaultFont->obj = (sf::Font *)&(sf::Font::GetDefaultFont()); - return (PyObject *)DefaultFont; -} - -static PyObject * -PySfFont_GetGlyph(PySfFont* self, PyObject *args) { - unsigned int codepoint( 0 ); - unsigned int charsize( 0 ); - bool bold( false ); - - if( !PyArg_ParseTuple( args, "IIb:Font.LoadFromFile", &codepoint, &charsize, &bold ) ) { - PyErr_BadArgument(); - return NULL; - } - - PySfGlyph* glyph( GetNewPySfGlyph() ); - - glyph->Owner = false; - glyph->Rectangle = GetNewPySfIntRect(); - glyph->Rectangle->Owner = false; - glyph->TexCoords = GetNewPySfFloatRect(); - glyph->TexCoords->Owner = false; - - glyph->obj = const_cast( &( self->obj->GetGlyph( codepoint, charsize, bold ) ) ); - glyph->Rectangle->obj = &glyph->obj->Rectangle; - glyph->TexCoords->obj = &glyph->obj->TexCoords; - - PySfGlyphUpdateSelf( glyph ); - - return reinterpret_cast( glyph ); -} - -static PyObject * -PySfFont_GetImage( PySfFont* self, PyObject* args ) { - PySfImage* image( GetNewPySfImage() ); - - image->obj = new sf::Image( self->obj->GetImage( PyLong_AsUnsignedLong( args ) ) ); - - return reinterpret_cast( image ); -} - -static PyMethodDef PySfFont_methods[] = { - {"LoadFromFile", (PyCFunction)PySfFont_LoadFromFile, METH_VARARGS, "LoadFromFile(Filename))\n\ -Load the font from a file. Returns True if loading was successful.\n\ - Filename : Font file to load"}, - {"LoadFromMemory", (PyCFunction)PySfFont_LoadFromMemory, METH_VARARGS, "LoadFromMemory(Data)\n\ -Load the font from a file in memory. Returns True if loading was successful.\n\ - Data : data to load"}, - {"GetDefaultFont", (PyCFunction)PySfFont_GetDefaultFont, METH_NOARGS | METH_STATIC, "GetDefaultFont()\n\ -Get the SFML default built-in font (Arial)."}, - {"GetImage", (PyCFunction)PySfFont_GetImage, METH_O, "GetImage(characterSize)\n\ -Get the image containing the rendered characters (glyphs).\n\ - characterSize: Character size."}, - {"GetGlyph", (PyCFunction)PySfFont_GetGlyph, METH_VARARGS, "GetGlyph(codePoint, characterSize, bold)\n\ -Get the description of a glyph (character) given by its code point, character size and boldness. Returns glyph's visual settings, or an invalid glyph if character not found.\n\ - codePoint : Unicode code point value of the character to get.\n\ - characterSize: Size of character\n\ - bold: Bold character"}, - {NULL} /* Sentinel */ -}; - - -PyTypeObject PySfFontType = { - head_init - "Font", /*tp_name*/ - sizeof(PySfFont), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfFont_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Font is the low-level class for loading and manipulating character fonts. This class is meant to be used by sf.String.\nDefault constructor : sf.Font().", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfFont_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfFont_new, /* tp_new */ -}; - -PySfFont * -GetNewPySfFont() -{ - return PyObject_New(PySfFont, &PySfFontType); -} - - diff --git a/bindings/python/src/Font.hpp b/bindings/python/src/Font.hpp deleted file mode 100644 index a8105504..00000000 --- a/bindings/python/src/Font.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYFONT_HPP -#define __PYFONT_HPP - -#include - -#include - - -typedef struct { - PyObject_HEAD - bool Owner; - sf::Font *obj; -} PySfFont; - -PySfFont * -GetNewPySfFont(); - -#endif diff --git a/bindings/python/src/Glyph.cpp b/bindings/python/src/Glyph.cpp deleted file mode 100644 index d805c478..00000000 --- a/bindings/python/src/Glyph.cpp +++ /dev/null @@ -1,145 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Glyph.hpp" - -#include - -#include "offsetof.hpp" -#include "compat.hpp" - - -static PyMemberDef PySfGlyph_members[] = { - {(char *)"Advance", T_INT, offsetof(PySfGlyph, Advance), 0, (char *)"Offset to move horizontically to the next character."}, - {(char *)"Rectangle", T_OBJECT, offsetof(PySfGlyph, Rectangle), 0, (char *)"Bounding rectangle of the glyph, in relative coordinates."}, - {(char *)"TexCoords", T_OBJECT, offsetof(PySfGlyph, TexCoords), 0, (char *)"Texture coordinates of the glyph inside the bitmap font."}, - {NULL} /* Sentinel */ -}; - - -static void -PySfGlyph_dealloc(PySfGlyph *self) -{ - Py_CLEAR(self->Rectangle); - Py_CLEAR(self->TexCoords); - delete self->obj; - free_object(self); -} - -void -PySfGlyphUpdateObj(PySfGlyph *self) -{ - self->obj->Advance = self->Advance; - PySfIntRectUpdateSelf(self->Rectangle); - PySfFloatRectUpdateSelf(self->TexCoords); -} - -void -PySfGlyphUpdateSelf(PySfGlyph *self) -{ - self->Advance = self->obj->Advance; - PySfIntRectUpdateObj(self->Rectangle); - PySfFloatRectUpdateObj(self->TexCoords); -} - -static PyObject * -PySfGlyph_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfGlyph *self; - self = (PySfGlyph *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Rectangle = GetNewPySfIntRect(); - self->Rectangle->Owner = false; - self->TexCoords = GetNewPySfFloatRect(); - self->TexCoords->Owner = false; - self->obj = new sf::Glyph(); - self->Owner = true; - self->Advance = self->obj->Advance; - self->Rectangle->obj = &(self->obj->Rectangle); - self->TexCoords->obj = &(self->obj->TexCoords); - PySfIntRectUpdateSelf(self->Rectangle); - PySfFloatRectUpdateSelf(self->TexCoords); - } - return (PyObject *)self; -} - -int -PySfGlyph_setattro(PyObject* self, PyObject *attr_name, PyObject *v) -{ - int result = PyObject_GenericSetAttr(self, attr_name, v); - PySfGlyph *Glyph = (PySfGlyph *)self; - Glyph->obj->Rectangle = *(Glyph->Rectangle->obj); - Glyph->obj->TexCoords = *(Glyph->TexCoords->obj); - Glyph->obj->Advance = Glyph->Advance; - return result; -} - -PyTypeObject PySfGlyphType = { - head_init - "Glyph", /*tp_name*/ - sizeof(PySfGlyph), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfGlyph_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Structure describing a glyph (a visual character).", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - PySfGlyph_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfGlyph_new, /* tp_new */ -}; - -PySfGlyph * -GetNewPySfGlyph() -{ - return PyObject_New(PySfGlyph, &PySfGlyphType); -} - diff --git a/bindings/python/src/Glyph.hpp b/bindings/python/src/Glyph.hpp deleted file mode 100644 index d461b5d1..00000000 --- a/bindings/python/src/Glyph.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYGLYPH_HPP -#define __PYGLYPH_HPP - -#include - -#include - -#include "Rect.hpp" - - -typedef struct { - PyObject_HEAD - bool Owner; - int Advance; - PySfIntRect *Rectangle; - PySfFloatRect *TexCoords; - sf::Glyph *obj; -} PySfGlyph; - -PySfGlyph * -GetNewPySfGlyph(); - -void -PySfGlyphUpdateObj(PySfGlyph *self); - -void -PySfGlyphUpdateSelf(PySfGlyph *self); - -#endif diff --git a/bindings/python/src/Image.cpp b/bindings/python/src/Image.cpp deleted file mode 100644 index 8eee10e4..00000000 --- a/bindings/python/src/Image.cpp +++ /dev/null @@ -1,410 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Image.hpp" -#include "RenderWindow.hpp" -#include "Color.hpp" -#include "Rect.hpp" - -#include "compat.hpp" - -extern PyTypeObject PySfColorType; -extern PyTypeObject PySfIntRectType; -extern PyTypeObject PySfRenderWindowType; - -static void -PySfImage_dealloc(PySfImage* self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfImage_new(PyTypeObject *type, PyObject *args, PyObject *kwds); - -static PyObject * -PySfImage_Create(PySfImage* self, PyObject *args, PyObject *kwds) -{ - PySfColor *ColorTmp=NULL; - sf::Color *Color; - unsigned int Width=0, Height=0; - const char *kwlist[] = {"Width", "Height", "Color", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|IIO!:Image.Create", (char **)kwlist, &Width, &Height, &PySfColorType, &ColorTmp)) - return NULL; - - if (ColorTmp) - { - Color = ColorTmp->obj; - PySfColorUpdate(ColorTmp); - self->obj->Create(Width, Height, *Color); - } - else - self->obj->Create(Width, Height); - - Py_RETURN_NONE; -} - -static PyObject * -PySfImage_CopyScreen(PySfImage* self, PyObject *args) -{ - PySfRenderWindow *RenderWindow; - PySfIntRect *SourceRect=NULL; - bool Result; - - if (!PyArg_ParseTuple(args, "O!|O!:Image.CopyScreen", &PySfRenderWindowType, &RenderWindow, &PySfIntRectType, &SourceRect)) - return NULL; - - - if (SourceRect) - Result = self->obj->CopyScreen(*(RenderWindow->obj), *(SourceRect->obj)); - else - Result = self->obj->CopyScreen(*(RenderWindow->obj)); - if (Result) - Py_RETURN_TRUE; - else - Py_RETURN_FALSE; -} - -static PyObject * -PySfImage_SetPixel(PySfImage* self, PyObject *args, PyObject *kwds) -{ - PySfColor *ColorTmp=NULL; - sf::Color *Color; - unsigned int x=0, y=0; - const char *kwlist[] = {"x", "y", "Color", NULL}; - - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "II|O!:Image.SetPixel", (char **)kwlist, &x, &y, &PySfColorType, &ColorTmp)) - return NULL; - - - if (ColorTmp) - { - Color = ColorTmp->obj; - PySfColorUpdate(ColorTmp); - self->obj->SetPixel(x, y, *Color); - } - - Py_RETURN_NONE; -} - -static PyObject * -PySfImage_GetPixel(PySfImage* self, PyObject *args) -{ - PySfColor *Color; - unsigned int x=0, y=0; - - - if (!PyArg_ParseTuple(args, "II:Image.GetPixel", &x, &y)) - return NULL; - - - Color = GetNewPySfColor(); - Color->obj = new sf::Color(self->obj->GetPixel(x, y)); - Color->r = Color->obj->r; - Color->g = Color->obj->g; - Color->b = Color->obj->b; - Color->a = Color->obj->a; - - return (PyObject *)Color; -} - -static PyObject * -PySfImage_CreateMaskFromColor(PySfImage* self, PyObject *args) -{ - PySfColor *ColorTmp= (PySfColor *)args; - sf::Color *Color; - - if (!PyObject_TypeCheck(ColorTmp, &PySfColorType)) - { - PyErr_SetString(PyExc_TypeError, "Image.CreateMaskFromColor() Argument must be a sf.Color"); - return NULL; - } - Color = ColorTmp->obj; - PySfColorUpdate(ColorTmp); - self->obj->CreateMaskFromColor(*Color); - - Py_RETURN_NONE; -} - -static PyObject * -PySfImage_LoadFromMemory(PySfImage* self, PyObject *args) -{ - unsigned int SizeInBytes; - char *Data; - - if (!PyArg_ParseTuple(args, "s#:Image.LoadFromMemory", &Data, &SizeInBytes)) - return NULL; - - return PyBool_FromLong(self->obj->LoadFromMemory(Data, (std::size_t) SizeInBytes)); -} - -static PyObject * -PySfImage_LoadFromPixels(PySfImage* self, PyObject *args) -{ - unsigned int Width, Height, Size; - char *Data; - - if (! PyArg_ParseTuple(args, "IIs#:Image.LoadFromPixels", &Width, &Height, &Data, &Size)) - return NULL; - - self->obj->LoadFromPixels(Width, Height, (sf::Uint8*) Data); - Py_RETURN_NONE; -} - -static PyObject * -PySfImage_GetPixels(PySfImage *self) -{ -#ifdef IS_PY3K - return PyBytes_FromStringAndSize((const char *)(self->obj->GetPixelsPtr()), self->obj->GetWidth()*self->obj->GetHeight()*4); -#else - return PyString_FromStringAndSize((const char *)(self->obj->GetPixelsPtr()), self->obj->GetWidth()*self->obj->GetHeight()*4); -#endif -} - -static PyObject * -PySfImage_LoadFromFile (PySfImage *self, PyObject *args) -{ - load_from_file(self, args); -} - -static PyObject * -PySfImage_SaveToFile (PySfImage *self, PyObject *args) -{ - save_to_file(self, args); -} - -static PyObject * -PySfImage_Bind(PySfImage *self) -{ - self->obj->Bind(); - Py_RETURN_NONE; -} - -static PyObject * -PySfImage_SetSmooth (PySfImage *self, PyObject *args) -{ - self->obj->SetSmooth(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfImage_IsSmooth (PySfImage *self) -{ - return PyBool_FromLong(self->obj->IsSmooth()); -} - -static PyObject * -PySfImage_GetWidth(PySfImage *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetWidth()); -} - -static PyObject * -PySfImage_GetHeight(PySfImage *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetHeight()); -} - -static PyObject * -PySfImage_GetValidSize(PySfImage* self, PyObject *args) -{ - unsigned long S = PyLong_AsUnsignedLong(args); - return PyLong_FromUnsignedLong(sf::Image::GetValidSize(S)); -} - -static PyObject * -PySfImage_GetTexCoords(PySfImage* self, PyObject *args) -{ - PySfIntRect *RectArg = NULL; - - if (!PyArg_ParseTuple(args, "O!:Image.GetTextCoords", &PySfIntRectType, &RectArg)) - return NULL; - - PySfFloatRect *Rect; - - Rect = GetNewPySfFloatRect(); - Rect->Owner = true; - Rect->obj = new sf::FloatRect(self->obj->GetTexCoords(*(RectArg->obj))); - PySfFloatRectUpdateSelf(Rect); - - return (PyObject *)Rect; -} - -static int -PySfImage_init(PySfImage *self, PyObject *args, PyObject *kwds) -{ - int size = PyTuple_Size(args); - if (size > 0) - { - if (PySfImage_Create(self, args, kwds) == NULL) - { - if (size != 3) - return -1; - else if (PySfImage_LoadFromPixels(self, args) == NULL) - return -1; - else PyErr_Clear(); - } - } - return 0; -} - -static PyObject * -PySfImage_Copy(PySfImage* self, PyObject *args, PyObject *kwds); - -static PyMethodDef PySfImage_methods[] = { - {"Copy", (PyCFunction)PySfImage_Copy, METH_VARARGS, "Copy(Source, DestX, DestY, SourceRect = sf.IntRect(0,0,0,0))\n\ -Copy pixels from another image onto this one. This function does a slow pixel copy and should only be used at initialization time.\n\ - Source : Source image to copy\n\ - DestX : X coordinate of the destination position\n\ - DestY : Y coordinate of the destination position\n\ - SourceRect : Sub-rectangle of the source image to copy (empty by default - entire image)\n\ - ApplyAlpha : Should the copy take in account the source transparency? (false by default)"}, - {"Create", (PyCFunction)PySfImage_Create, METH_VARARGS, "Create(Width=0, Height=0, Color=sf.Color.Black)\n\ -Create an empty image.\n\ - Width : Image width\n\ - Height : Image height\n\ - Col : Image color (black by default)"}, - {"CopyScreen", (PyCFunction)PySfImage_CopyScreen, METH_VARARGS, "CopyScreen(Window, SourceRect)\n\ -Create the image from the current contents of the given window. Return True if copy was successful.\n\ - Window : Window to capture\n\ - SourceRect : Sub-rectangle of the screen to copy (empty by default - entire image)"}, - {"SetPixel", (PyCFunction)PySfImage_SetPixel, METH_VARARGS | METH_KEYWORDS, "SetPixel(X, Y, Col)\nChange the color of a pixel.\n\ - X : X coordinate of pixel in the image\n Y : Y coordinate of pixel in the image\n Col : New color for pixel (X, Y)"}, - {"GetPixel", (PyCFunction)PySfImage_GetPixel, METH_VARARGS, "GetPixel(X, Y)\nGet a pixel from the image."}, - {"LoadFromFile", (PyCFunction)PySfImage_LoadFromFile, METH_O, "LoadFromFile(Path)\nLoad the surface from a file."}, - {"SaveToFile", (PyCFunction)PySfImage_SaveToFile, METH_O, "SaveToFile(Path)\nSave the content of the image to a file."}, - {"LoadFromMemory", (PyCFunction)PySfImage_LoadFromMemory, METH_VARARGS, "LoadFromMemory(Data)\nLoad the image from a file in memory."}, - {"LoadFromPixels", (PyCFunction)PySfImage_LoadFromPixels, METH_VARARGS, "LoadFromPixels(Width, Height, Data)\nLoad the image directly from a string of pixels."}, - {"GetPixels", (PyCFunction)PySfImage_GetPixels, METH_NOARGS, "GetPixels()\nGet a string representing the array of pixels (8 bits integers RGBA). String length is GetWidth() x GetHeight() x 4. This string becomes invalid if you reload or resize the image."}, - {"CreateMaskFromColor", (PyCFunction)PySfImage_CreateMaskFromColor, METH_O, "CreateMaskFromColor(Color)\nCreate transparency mask from a specified colorkey."}, - {"Bind", (PyCFunction)PySfImage_Bind, METH_NOARGS, "Bind()\nBind the image for rendering."}, - {"SetSmooth", (PyCFunction)PySfImage_SetSmooth, METH_O, "SetSmooth(Smooth)\nEnable or disable image smooth filter."}, - {"IsSmooth", (PyCFunction)PySfImage_IsSmooth, METH_NOARGS, "IsOpened(Smooth)\nTells whether the smooth filtering is enabled or not."}, - {"GetWidth", (PyCFunction)PySfImage_GetWidth, METH_NOARGS, "GetWidth()\nReturn the width of the image."}, - {"GetHeight", (PyCFunction)PySfImage_GetHeight, METH_NOARGS, "GetHeight()\nReturn the height of the image."}, - {"GetTexCoords", (PyCFunction)PySfImage_GetTexCoords, METH_VARARGS, "GetTexCoords(Rect)\nConvert a subrect expressed in pixels, into float texture coordinates. Returns texture coordinates corresponding to the sub-rectangle (sf.FloatRect instance)\n\ - Rect : Sub-rectangle of image to convert"}, - {"GetValidSize", (PyCFunction)PySfImage_GetValidSize, METH_STATIC | METH_O, "GetValidSize(Size)\nGet a valid texture size according to hardware support. Returns valid nearest size (greater than or equal to specified size).\n\ - Size : Size to convert"}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfImageType = { - head_init - "Image", /*tp_name*/ - sizeof(PySfImage), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfImage_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Image is the low-level class for loading and manipulating images.\n\ -Default constructor : sf.Image()\n\ -Other constructors : sf.Image(Width=0, Height=0, Color=sf.Color.Black) or sf.Image(Width, Height, Data).\n\ -Copy constructor : sf.Image(Copy) where Copy is a sf.Image instance.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfImage_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - (initproc)PySfImage_init, /* tp_init */ - 0, /* tp_alloc */ - PySfImage_new, /* tp_new */ -}; - -static PyObject * -PySfImage_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfImage *self; - self = (PySfImage *)type->tp_alloc(type, 0); - if (self != NULL) - { - if (PyTuple_Size(args) == 1) - { - PySfImage *Image; - if (PyArg_ParseTuple(args, "O!", &PySfImageType, &Image)) - { - self->obj = new sf::Image(*(Image->obj)); - } - else PyErr_Clear(); - } - else self->obj = new sf::Image(); - } - return (PyObject *)self; -} - -static PyObject * -PySfImage_Copy(PySfImage* self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Source", "DestX", "DestY", "SourceRect", "ApplyAlpha", NULL}; - PySfIntRect *SourceRect = NULL; - PySfImage *Source = NULL; - unsigned int DestX, DestY; - PyObject *PyApplyAlpha = NULL; - bool ApplyAlpha = false; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!II|O!O:Image.Copy", (char **)kwlist, &PySfImageType, &Source, &DestX, &DestY, &PySfIntRectType, &SourceRect, &PyApplyAlpha)) - return NULL; - - if (PyApplyAlpha) - if (PyObject_IsTrue(PyApplyAlpha)) - ApplyAlpha = true; - - if (SourceRect) - self->obj->Copy(*(Source->obj), DestX, DestY, *(SourceRect->obj), ApplyAlpha); - else - self->obj->Copy(*(Source->obj), DestX, DestY, sf::IntRect(0, 0, 0, 0), ApplyAlpha); - - Py_RETURN_NONE; -} - -PySfImage * -GetNewPySfImage() -{ - return PyObject_New(PySfImage, &PySfImageType); -} - diff --git a/bindings/python/src/Image.hpp b/bindings/python/src/Image.hpp deleted file mode 100644 index ff195c7a..00000000 --- a/bindings/python/src/Image.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYIMAGE_HPP -#define __PYIMAGE_HPP - -#include - -#include - - -typedef struct { - PyObject_HEAD - sf::Image *obj; -} PySfImage; - -PySfImage * -GetNewPySfImage(); - -#endif - diff --git a/bindings/python/src/Input.cpp b/bindings/python/src/Input.cpp deleted file mode 100644 index d3322a5b..00000000 --- a/bindings/python/src/Input.cpp +++ /dev/null @@ -1,134 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Input.hpp" - -#include "compat.hpp" - - -static PyObject * -PySfInput_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PyErr_SetString(PyExc_RuntimeError, "You can't create an Input object yourself, because an Input object must always be associated to its window.\nThe only way to get an Input is by creating a window and calling : Input = MyWindow.GetInput()."); - return NULL; -} - -static PyObject* -PySfInput_IsKeyDown(PySfInput *self, PyObject *args) -{ - return PyBool_FromLong(self->obj->IsKeyDown( (sf::Key::Code) PyLong_AsLong(args) )); -} - -static PyObject* -PySfInput_IsMouseButtonDown(PySfInput *self, PyObject *args) -{ - return PyBool_FromLong(self->obj->IsMouseButtonDown( (sf::Mouse::Button) PyLong_AsLong(args) )); -} - -static PyObject* -PySfInput_IsJoystickButtonDown(PySfInput *self, PyObject *args) -{ - unsigned int JoyId, Button; - if (! PyArg_ParseTuple (args, "II:Input.IsJoystickButtonDown", &JoyId, &Button)) - return NULL; - return PyBool_FromLong(self->obj->IsJoystickButtonDown(JoyId, Button)); -} - -static PyObject* -PySfInput_GetMouseX(PySfInput *self) -{ - return PyLong_FromLong(self->obj->GetMouseX()); -} -static PyObject* -PySfInput_GetMouseY(PySfInput *self) -{ - return PyLong_FromLong(self->obj->GetMouseY()); -} - -static PyObject* -PySfInput_GetJoystickAxis(PySfInput *self, PyObject *args) -{ - unsigned int JoyId, Axis; - if (! PyArg_ParseTuple (args, "II:Input.GetJoystickAxis", &JoyId, &Axis)) - return NULL; - return PyFloat_FromDouble(self->obj->GetJoystickAxis(JoyId, (sf::Joy::Axis) Axis)); -} - -static PyMethodDef PySfInput_methods[] = { - {"IsKeyDown", (PyCFunction)PySfInput_IsKeyDown, METH_O, "IsKeyDown(KeyCode)\nGet the state of a key. Returns True if key is down, false if key is up.\n KeyCode : Key to check"}, - {"IsMouseButtonDown", (PyCFunction)PySfInput_IsMouseButtonDown, METH_O, "IsMouseButtonDown(Button)\nGet the state of a mouse button. Returns True if button is down, false if button is up.\n Button : Button to check"}, - {"IsJoystickButtonDown", (PyCFunction)PySfInput_IsJoystickButtonDown, METH_VARARGS, "IsJoystickButtonDown(JoyId, Button)\nGet the state of a joystick button. Returns True if button is down, false if button is up.\n JoyId : Identifier of the joystick to check (0 or 1)\n Button : Button to check"}, - {"GetMouseX", (PyCFunction)PySfInput_GetMouseX, METH_NOARGS, "GetMouseX()\nGet the mouse X position."}, - {"GetMouseY", (PyCFunction)PySfInput_GetMouseY, METH_NOARGS, "GetMouseY()\nGet the mouse Y position."}, - {"GetJoystickAxis", (PyCFunction)PySfInput_GetJoystickAxis, METH_VARARGS, "GetJoystickAxis(JoyId, Axis)\nGet a joystick axis position. Returns current axis position, in the range [-100, 100] (except for POV, which is [0, 360])\n JoyId : Identifier of the joystick to check (0 or 1)\n Axis : Axis to get"}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfInputType = { - head_init - "Input", /*tp_name*/ - sizeof(PySfInput), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - 0, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Input handles real-time input from keyboard and mouse. Use it instead of events to handle continuous moves and more game-friendly inputs.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfInput_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfInput_new, /* tp_new */ -}; - -PySfInput * -GetNewPySfInput() -{ - return PyObject_New(PySfInput, &PySfInputType); -} - diff --git a/bindings/python/src/Input.hpp b/bindings/python/src/Input.hpp deleted file mode 100644 index 73df3652..00000000 --- a/bindings/python/src/Input.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYINPUT_HPP -#define __PYINPUT_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - sf::Input *obj; -} PySfInput; - -PySfInput * -GetNewPySfInput(); - -#endif diff --git a/bindings/python/src/Joy.cpp b/bindings/python/src/Joy.cpp deleted file mode 100644 index fdce88c6..00000000 --- a/bindings/python/src/Joy.cpp +++ /dev/null @@ -1,114 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Joy.hpp" - -#include "compat.hpp" - - -static PyObject * -PySfJoy_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfJoy *self; - self = (PySfJoy *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - - -PyTypeObject PySfJoyType = { - head_init - "Joy", /*tp_name*/ - sizeof(PySfJoy), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - 0, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Definition of joystick axis for joystick events.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfJoy_new, /* tp_new */ -}; - -void PySfJoy_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::Joy::AxisX); - PyDict_SetItemString(PySfJoyType.tp_dict, "AxisX", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::AxisY); - PyDict_SetItemString(PySfJoyType.tp_dict, "AxisY", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::AxisZ); - PyDict_SetItemString(PySfJoyType.tp_dict, "AxisZ", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::AxisR); - PyDict_SetItemString(PySfJoyType.tp_dict, "AxisR", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::AxisU); - PyDict_SetItemString(PySfJoyType.tp_dict, "AxisU", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::AxisV); - PyDict_SetItemString(PySfJoyType.tp_dict, "AxisV", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::AxisPOV); - PyDict_SetItemString(PySfJoyType.tp_dict, "AxisPOV", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::Count); - PyDict_SetItemString(PySfJoyType.tp_dict, "Count", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::AxisCount); - PyDict_SetItemString(PySfJoyType.tp_dict, "AxisCount", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Joy::ButtonCount); - PyDict_SetItemString(PySfJoyType.tp_dict, "ButtonCount", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/Joy.hpp b/bindings/python/src/Joy.hpp deleted file mode 100644 index 6daf4bb3..00000000 --- a/bindings/python/src/Joy.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYJOY_HPP -#define __PYJOY_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD -} PySfJoy; - -void -PySfJoy_InitConst(); - -#endif diff --git a/bindings/python/src/Key.cpp b/bindings/python/src/Key.cpp deleted file mode 100644 index 9b807cfa..00000000 --- a/bindings/python/src/Key.cpp +++ /dev/null @@ -1,385 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Key.hpp" - -#include "compat.hpp" - -static PyObject * -PySfKey_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfKey *self; - self = (PySfKey *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - -PyTypeObject PySfKeyType = { - head_init - "Key", /*tp_name*/ - sizeof(PySfKey), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - 0, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Definition of key codes for keyboard events.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfKey_new, /* tp_new */ -}; - -void PySfKey_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::Key::Numpad2); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad2", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad3); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad3", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad0); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad0", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad1); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad1", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad6); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad6", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad7); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad7", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad4); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad4", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad5); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad5", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad8); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad8", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Numpad9); - PyDict_SetItemString(PySfKeyType.tp_dict, "Numpad9", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::RAlt); - PyDict_SetItemString(PySfKeyType.tp_dict, "RAlt", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::PageUp); - PyDict_SetItemString(PySfKeyType.tp_dict, "PageUp", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Multiply); - PyDict_SetItemString(PySfKeyType.tp_dict, "Multiply", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::D); - PyDict_SetItemString(PySfKeyType.tp_dict, "D", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::SemiColon); - PyDict_SetItemString(PySfKeyType.tp_dict, "SemiColon", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::H); - PyDict_SetItemString(PySfKeyType.tp_dict, "H", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::L); - PyDict_SetItemString(PySfKeyType.tp_dict, "L", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::P); - PyDict_SetItemString(PySfKeyType.tp_dict, "P", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num7); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num7", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::T); - PyDict_SetItemString(PySfKeyType.tp_dict, "T", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::X); - PyDict_SetItemString(PySfKeyType.tp_dict, "X", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::RSystem); - PyDict_SetItemString(PySfKeyType.tp_dict, "RSystem", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F5); - PyDict_SetItemString(PySfKeyType.tp_dict, "F5", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num4); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num4", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num5); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num5", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num6); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num6", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Right); - PyDict_SetItemString(PySfKeyType.tp_dict, "Right", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num0); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num0", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num1); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num1", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num2); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num2", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num3); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num3", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::LControl); - PyDict_SetItemString(PySfKeyType.tp_dict, "LControl", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num8); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num8", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Num9); - PyDict_SetItemString(PySfKeyType.tp_dict, "Num9", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Tab); - PyDict_SetItemString(PySfKeyType.tp_dict, "Tab", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::RBracket); - PyDict_SetItemString(PySfKeyType.tp_dict, "RBracket", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::End); - PyDict_SetItemString(PySfKeyType.tp_dict, "End", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::BackSlash); - PyDict_SetItemString(PySfKeyType.tp_dict, "BackSlash", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::LShift); - PyDict_SetItemString(PySfKeyType.tp_dict, "LShift", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::E); - PyDict_SetItemString(PySfKeyType.tp_dict, "E", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::C); - PyDict_SetItemString(PySfKeyType.tp_dict, "C", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::G); - PyDict_SetItemString(PySfKeyType.tp_dict, "G", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::K); - PyDict_SetItemString(PySfKeyType.tp_dict, "K", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Up); - PyDict_SetItemString(PySfKeyType.tp_dict, "Up", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::O); - PyDict_SetItemString(PySfKeyType.tp_dict, "O", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::S); - PyDict_SetItemString(PySfKeyType.tp_dict, "S", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::W); - PyDict_SetItemString(PySfKeyType.tp_dict, "W", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F12); - PyDict_SetItemString(PySfKeyType.tp_dict, "F12", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F13); - PyDict_SetItemString(PySfKeyType.tp_dict, "F13", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F10); - PyDict_SetItemString(PySfKeyType.tp_dict, "F10", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F11); - PyDict_SetItemString(PySfKeyType.tp_dict, "F11", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F14); - PyDict_SetItemString(PySfKeyType.tp_dict, "F14", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Delete); - PyDict_SetItemString(PySfKeyType.tp_dict, "Delete", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Back); - PyDict_SetItemString(PySfKeyType.tp_dict, "Back", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Tilde); - PyDict_SetItemString(PySfKeyType.tp_dict, "Tilde", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Home); - PyDict_SetItemString(PySfKeyType.tp_dict, "Home", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Pause); - PyDict_SetItemString(PySfKeyType.tp_dict, "Pause", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Add); - PyDict_SetItemString(PySfKeyType.tp_dict, "Add", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F15); - PyDict_SetItemString(PySfKeyType.tp_dict, "F15", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Subtract); - PyDict_SetItemString(PySfKeyType.tp_dict, "Subtract", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::B); - PyDict_SetItemString(PySfKeyType.tp_dict, "B", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F); - PyDict_SetItemString(PySfKeyType.tp_dict, "F", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::J); - PyDict_SetItemString(PySfKeyType.tp_dict, "J", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::N); - PyDict_SetItemString(PySfKeyType.tp_dict, "N", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::LBracket); - PyDict_SetItemString(PySfKeyType.tp_dict, "LBracket", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::R); - PyDict_SetItemString(PySfKeyType.tp_dict, "R", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::V); - PyDict_SetItemString(PySfKeyType.tp_dict, "V", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::LSystem); - PyDict_SetItemString(PySfKeyType.tp_dict, "LSystem", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Z); - PyDict_SetItemString(PySfKeyType.tp_dict, "Z", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Left); - PyDict_SetItemString(PySfKeyType.tp_dict, "Left", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F1); - PyDict_SetItemString(PySfKeyType.tp_dict, "F1", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F2); - PyDict_SetItemString(PySfKeyType.tp_dict, "F2", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F3); - PyDict_SetItemString(PySfKeyType.tp_dict, "F3", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F4); - PyDict_SetItemString(PySfKeyType.tp_dict, "F4", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Divide); - PyDict_SetItemString(PySfKeyType.tp_dict, "Divide", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F6); - PyDict_SetItemString(PySfKeyType.tp_dict, "F6", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F7); - PyDict_SetItemString(PySfKeyType.tp_dict, "F7", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F8); - PyDict_SetItemString(PySfKeyType.tp_dict, "F8", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::F9); - PyDict_SetItemString(PySfKeyType.tp_dict, "F9", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Period); - PyDict_SetItemString(PySfKeyType.tp_dict, "Period", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Down); - PyDict_SetItemString(PySfKeyType.tp_dict, "Down", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::PageDown); - PyDict_SetItemString(PySfKeyType.tp_dict, "PageDown", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Space); - PyDict_SetItemString(PySfKeyType.tp_dict, "Space", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Menu); - PyDict_SetItemString(PySfKeyType.tp_dict, "Menu", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::RControl); - PyDict_SetItemString(PySfKeyType.tp_dict, "RControl", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Slash); - PyDict_SetItemString(PySfKeyType.tp_dict, "Slash", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Return); - PyDict_SetItemString(PySfKeyType.tp_dict, "Return", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Quote); - PyDict_SetItemString(PySfKeyType.tp_dict, "Quote", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::A); - PyDict_SetItemString(PySfKeyType.tp_dict, "A", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Insert); - PyDict_SetItemString(PySfKeyType.tp_dict, "Insert", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::RShift); - PyDict_SetItemString(PySfKeyType.tp_dict, "RShift", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::I); - PyDict_SetItemString(PySfKeyType.tp_dict, "I", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Escape); - PyDict_SetItemString(PySfKeyType.tp_dict, "Escape", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::M); - PyDict_SetItemString(PySfKeyType.tp_dict, "M", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Equal); - PyDict_SetItemString(PySfKeyType.tp_dict, "Equal", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Q); - PyDict_SetItemString(PySfKeyType.tp_dict, "Q", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::U); - PyDict_SetItemString(PySfKeyType.tp_dict, "U", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Y); - PyDict_SetItemString(PySfKeyType.tp_dict, "Y", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Dash); - PyDict_SetItemString(PySfKeyType.tp_dict, "Dash", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::Comma); - PyDict_SetItemString(PySfKeyType.tp_dict, "Comma", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Key::LAlt); - PyDict_SetItemString(PySfKeyType.tp_dict, "LAlt", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/Key.hpp b/bindings/python/src/Key.hpp deleted file mode 100644 index 1af17a21..00000000 --- a/bindings/python/src/Key.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYKEY_HPP -#define __PYKEY_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD -} PySfKey; - -void -PySfKey_InitConst(); - -#endif diff --git a/bindings/python/src/Listener.cpp b/bindings/python/src/Listener.cpp deleted file mode 100644 index 6ad479e8..00000000 --- a/bindings/python/src/Listener.cpp +++ /dev/null @@ -1,128 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Listener.hpp" - -#include "compat.hpp" - - -static PyObject * -PySfListener_SetGlobalVolume(PySfListener* self, PyObject *args) -{ - sf::Listener::SetGlobalVolume(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfListener_GetGlobalVolume(PySfListener* self) -{ - return PyFloat_FromDouble(sf::Listener::GetGlobalVolume()); -} - -static PyObject * -PySfListener_SetPosition(PySfListener* self, PyObject *args) -{ - float X, Y, Z; - if (!PyArg_ParseTuple(args, "fff:Listener.SetPosition", &X, &Y, &Z)) - return NULL; - sf::Listener::SetPosition(X, Y, Z); - Py_RETURN_NONE; -} - -static PyObject* -PySfListener_GetPosition(PySfListener *self) -{ - sf::Vector3f Vect = sf::Listener::GetPosition(); - return Py_BuildValue("fff", Vect.x, Vect.y, Vect.z); -} - -static PyObject * -PySfListener_SetDirection(PySfListener* self, PyObject *args) -{ - float X, Y, Z; - if (!PyArg_ParseTuple(args, "fff:Listener.SetDirection", &X, &Y, &Z)) - return NULL; - sf::Listener::SetDirection(X, Y, Z); - Py_RETURN_NONE; -} - -static PyObject* -PySfListener_GetDirection(PySfListener *self) -{ - sf::Vector3f Vect = sf::Listener::GetDirection(); - return Py_BuildValue("fff", Vect.x, Vect.y, Vect.z); -} - -static PyMethodDef PySfListener_methods[] = { - {"SetGlobalVolume", (PyCFunction)PySfListener_SetGlobalVolume, METH_STATIC | METH_O, "SetGlobalVolume(Volume)\nChange the global volume of all the sounds."}, - {"GetGlobalVolume", (PyCFunction)PySfListener_GetGlobalVolume, METH_STATIC | METH_NOARGS, "GetGlobalVolume()\nGet the current value of the global volume of all the sounds."}, - {"SetPosition", (PyCFunction)PySfListener_SetPosition, METH_STATIC | METH_VARARGS, "SetPosition(X, Y, Z)\nChange the position of the listener."}, - {"GetPosition", (PyCFunction)PySfListener_GetPosition, METH_STATIC | METH_NOARGS, "GetPosition()\nGet the current position of the listener."}, - {"SetDirection", (PyCFunction)PySfListener_SetDirection, METH_STATIC | METH_VARARGS, "SetDirection(X, Y, Z)\nChange the orientation of the listener (the point he must look at)"}, - {"GetDirection", (PyCFunction)PySfListener_GetDirection, METH_STATIC | METH_NOARGS, "GetDirection()\nGet the current orientation of the listener (the point he's looking at)"}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfListenerType = { - head_init - "Listener", /*tp_name*/ - sizeof(PySfListener), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - 0, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Listener is a global interface for defining the audio listener properties ; the audio listener is the point in the scene from where all the sounds are heard.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfListener_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - 0, /* tp_new */ -}; - - diff --git a/bindings/python/src/Listener.hpp b/bindings/python/src/Listener.hpp deleted file mode 100644 index 123956b6..00000000 --- a/bindings/python/src/Listener.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYLISTENER_HPP -#define __PYLISTENER_HPP - -#include - -#include - - -typedef struct { - PyObject_HEAD -} PySfListener; - -#endif diff --git a/bindings/python/src/Mouse.cpp b/bindings/python/src/Mouse.cpp deleted file mode 100644 index f2fe2097..00000000 --- a/bindings/python/src/Mouse.cpp +++ /dev/null @@ -1,102 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Mouse.hpp" - -#include "compat.hpp" - - -static PyObject * -PySfMouse_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfMouse *self; - self = (PySfMouse *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - - -PyTypeObject PySfMouseType = { - head_init - "Mouse", /*tp_name*/ - sizeof(PySfMouse), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - 0, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Definition of button codes for mouse events.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfMouse_new, /* tp_new */ -}; - -void PySfMouse_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::Mouse::Left); - PyDict_SetItemString(PySfMouseType.tp_dict, "Left", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Mouse::Right); - PyDict_SetItemString(PySfMouseType.tp_dict, "Right", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Mouse::Middle); - PyDict_SetItemString(PySfMouseType.tp_dict, "Middle", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Mouse::XButton1); - PyDict_SetItemString(PySfMouseType.tp_dict, "XButton1", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Mouse::XButton2); - PyDict_SetItemString(PySfMouseType.tp_dict, "XButton2", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Mouse::ButtonCount); - PyDict_SetItemString(PySfMouseType.tp_dict, "ButtonCount", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/Mouse.hpp b/bindings/python/src/Mouse.hpp deleted file mode 100644 index 3e0ca33a..00000000 --- a/bindings/python/src/Mouse.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYMOUSE_HPP -#define __PYMOUSE_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD -} PySfMouse; - -void -PySfMouse_InitConst(); - -#endif diff --git a/bindings/python/src/Music.cpp b/bindings/python/src/Music.cpp deleted file mode 100644 index 14645e9b..00000000 --- a/bindings/python/src/Music.cpp +++ /dev/null @@ -1,140 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Music.hpp" - -#include "compat.hpp" - - -extern PyTypeObject PySfSoundStreamType; - - -static void -PySfMusic_dealloc(PySfMusic *self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfMusic_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfMusic *self; - self = (PySfMusic *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->obj = new sf::Music(); - } - return (PyObject *)self; -} - -static PyObject* -PySfMusic_OpenFromMemory(PySfMusic *self, PyObject *args) -{ - unsigned int SizeInBytes; - char *Data; - - if (!PyArg_ParseTuple(args, "s#:Music.OpenFromMemory", &Data, &SizeInBytes)) - return NULL; - - return PyBool_FromLong(self->obj->OpenFromMemory(Data, (std::size_t) SizeInBytes)); -} - -static PyObject* -PySfMusic_OpenFromFile(PySfMusic *self, PyObject *args) -{ - char *path; -#ifdef IS_PY3K - PyObject *string = PyUnicode_AsUTF8String(args); - if (string == NULL) - return NULL; - path = PyBytes_AsString(string); -#else - path = PyString_AsString(args); -#endif - bool result = self->obj->OpenFromFile(path); -#ifdef IS_PY3K - Py_DECREF(string); -#endif - return PyBool_FromLong(result); -} - -static PyObject* -PySfMusic_GetDuration(PySfMusic *self) -{ - return PyFloat_FromDouble((double)(self->obj->GetDuration())); -} - - -static PyMethodDef PySfMusic_methods[] = { - {"OpenFromFile", (PyCFunction)PySfMusic_OpenFromFile, METH_O, "OpenFromFile(Filename)\nOpen a music file (doesn't play it -- call Play() for that). Returns True if loading has been successful.\n Filename : Path of the music file to open"}, - {"OpenFromMemory", (PyCFunction)PySfMusic_OpenFromMemory, METH_VARARGS, "OpenFromMemory(Data)\nOpen a music file (doesn't play it -- call Play() for that). Returns True if loading has been successful.\n Data : string representing the file data in memory"}, - {"GetDuration", (PyCFunction)PySfMusic_GetDuration, METH_NOARGS, "GetDuration()\nGet the sound duration."}, - {NULL} /* Sentinel */ -}; - - -PyTypeObject PySfMusicType = { - head_init - "Music", /*tp_name*/ - sizeof(PySfMusic), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfMusic_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Music defines a big sound played using streaming, so usually what we call a music :).\n\ -Constructor: sf.Music()", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfMusic_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - &PySfSoundStreamType, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfMusic_new, /* tp_new */ -}; - - diff --git a/bindings/python/src/Music.hpp b/bindings/python/src/Music.hpp deleted file mode 100644 index a69c47d1..00000000 --- a/bindings/python/src/Music.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYMUSIC_HPP -#define __PYMUSIC_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - sf::Music *obj; -} PySfMusic; - -#endif diff --git a/bindings/python/src/Rect.cpp b/bindings/python/src/Rect.cpp deleted file mode 100644 index 48afffc2..00000000 --- a/bindings/python/src/Rect.cpp +++ /dev/null @@ -1,394 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Rect.hpp" - -#include - -#include "compat.hpp" -#include "offsetof.hpp" - - -static PyMemberDef PySfIntRect_members[] = { - {(char *)"Left", T_INT, offsetof(PySfIntRect, Left), 0, (char *)"Left coordinate of the rectangle."}, - {(char *)"Top", T_INT, offsetof(PySfIntRect, Top), 0, (char *)"Top coordinate of the rectangle."}, - {(char *)"Right", T_INT, offsetof(PySfIntRect, Right), 0, (char *)"Right coordinate of the rectangle."}, - {(char *)"Bottom", T_INT, offsetof(PySfIntRect, Bottom), 0, (char *)"Bottom coordinate of the rectangle."}, - {NULL} /* Sentinel */ -}; - -static PyMemberDef PySfFloatRect_members[] = { - {(char *)"Left", T_FLOAT, offsetof(PySfFloatRect, Left), 0, (char *)"Left coordinate of the rectangle."}, - {(char *)"Top", T_FLOAT, offsetof(PySfFloatRect, Top), 0, (char *)"Top coordinate of the rectangle."}, - {(char *)"Right", T_FLOAT, offsetof(PySfFloatRect, Right), 0, (char *)"Right coordinate of the rectangle."}, - {(char *)"Bottom", T_FLOAT, offsetof(PySfFloatRect, Bottom), 0, (char *)"Bottom coordinate of the rectangle."}, - {NULL} /* Sentinel */ -}; - -static void -PySfIntRect_dealloc(PySfIntRect* self) -{ - if (self->Owner) - delete self->obj; - free_object(self); -} - -static void -PySfFloatRect_dealloc(PySfFloatRect* self) -{ - if (self->Owner) - delete self->obj; - free_object(self); -} - -static PyObject * -PySfIntRect_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Left", "Top", "Right", "Bottom", NULL}; - PySfIntRect *self; - self = (PySfIntRect *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Owner = true; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "iiii:IntRect.__new__", (char **)kwlist, &(self->Left), &(self->Top), &(self->Right), &(self->Bottom))) - return NULL; - self->obj = new sf::IntRect(self->Left, self->Top, self->Right, self->Bottom); - } - return (PyObject *)self; -} - -static PyObject * -PySfFloatRect_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Left", "Top", "Right", "Bottom", NULL}; - PySfFloatRect *self; - self = (PySfFloatRect *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Owner = true; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "ffff:FloatRect.__new__", (char **)kwlist, &(self->Left), &(self->Top), &(self->Right), &(self->Bottom))) - return NULL; - self->obj = new sf::FloatRect(self->Left, self->Top, self->Right, self->Bottom); - } - return (PyObject *)self; -} - -static PyObject * -PySfIntRect_GetSize(PySfIntRect *self) -{ - sf::Vector2i size( self->obj->GetSize() ); - return Py_BuildValue( "ii", size.x, size.y ); -} - -static PyObject * -PySfIntRect_Contains(PySfIntRect* self, PyObject *args); - -static PyObject * -PySfIntRect_Intersects(PySfIntRect* self, PyObject *args); - -static PyObject * -PySfFloatRect_GetSize(PySfFloatRect *self) -{ - sf::Vector2f size( self->obj->GetSize() ); - return Py_BuildValue( "ff", size.x, size.y ); -} - -static PyObject * -PySfFloatRect_Contains(PySfFloatRect* self, PyObject *args); - -static PyObject * -PySfFloatRect_Intersects(PySfFloatRect* self, PyObject *args); - -static PyObject * -PySfIntRect_Offset(PySfIntRect* self, PyObject *args) -{ - int OffsetX, OffsetY; - - if (!PyArg_ParseTuple(args, "ii:IntRect.Offset", &OffsetX, &OffsetY)) - return NULL; - - self->obj->Offset(OffsetX, OffsetY); - PySfIntRectUpdateSelf(self); - Py_RETURN_NONE; -} - -static PyObject * -PySfFloatRect_Offset(PySfFloatRect* self, PyObject *args) -{ - float OffsetX, OffsetY; - - if (!PyArg_ParseTuple(args, "ff:FloatRect.Offset", &OffsetX, &OffsetY)) - return NULL; - - self->obj->Offset(OffsetX, OffsetY); - PySfFloatRectUpdateSelf(self); - Py_RETURN_NONE; -} - - -static PyMethodDef PySfIntRect_methods[] = { - {"Offset", (PyCFunction)PySfIntRect_Offset, METH_VARARGS, "Offset(OffsetX, OffsetY)\n\ -Move the whole rectangle by the given offset.\n\ - OffsetX : Horizontal offset\n\ - OffsetY : Vertical offset\n\ -"}, - {"GetSize", (PyCFunction)PySfIntRect_GetSize, METH_NOARGS, "GetSize()\nGet the rectangle's size."}, - {"Contains", (PyCFunction)PySfIntRect_Contains, METH_VARARGS, "Contains(X, Y)\n\ -Check if a point is inside the rectangle's area.\n\ - X : X coordinate of the point to test\n\ - Y : Y coordinate of the point to test"}, - {"Intersects", (PyCFunction)PySfIntRect_Intersects, METH_VARARGS, "Intersects(Rectangle, OverlappingRect=None)\n\ -Check intersection between two rectangles.\n\ - Rectangle : Rectangle to test\n\ - OverlappingRect : Rectangle to be filled with overlapping rect (None by default)"}, - {NULL} /* Sentinel */ -}; - - -static PyMethodDef PySfFloatRect_methods[] = { - {"Offset", (PyCFunction)PySfFloatRect_Offset, METH_VARARGS, "Offset(OffsetX, OffsetY)\n\ -Move the whole rectangle by the given offset.\n\ - OffsetX : Horizontal offset\n\ - OffsetY : Vertical offset\n\ -"}, - {"GetSize", (PyCFunction)PySfFloatRect_GetSize, METH_NOARGS, "GetSize()\nGet the rectangle's size."}, - {"Contains", (PyCFunction)PySfFloatRect_Contains, METH_VARARGS, "Contains(X, Y)\n\ -Check if a point is inside the rectangle's area.\n\ - X : X coordinate of the point to test\n\ - Y : Y coordinate of the point to test"}, - {"Intersects", (PyCFunction)PySfFloatRect_Intersects, METH_VARARGS, "Intersects(Rectangle, OverlappingRect=None)\n\ -Check intersection between two rectangles.\n\ - Rectangle : Rectangle to test\n\ - OverlappingRect : Rectangle to be filled with overlapping rect (None by default)"}, - {NULL} /* Sentinel */ -}; - -int -PySfIntRect_setattro(PyObject* self, PyObject *attr_name, PyObject *v) -{ - int result = PyObject_GenericSetAttr(self, attr_name, v); - PySfIntRect *Rect = (PySfIntRect *)self; - PySfIntRectUpdateObj(Rect); - return result; -} - -int -PySfFloatRect_setattro(PyObject* self, PyObject *attr_name, PyObject *v) -{ - int result = PyObject_GenericSetAttr(self, attr_name, v); - PySfFloatRect *Rect = (PySfFloatRect *)self; - PySfFloatRectUpdateObj(Rect); - return result; -} - -PyTypeObject PySfIntRectType = { - head_init - "IntRect", /*tp_name*/ - sizeof(PySfIntRect), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfIntRect_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - PySfIntRect_setattro, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.IntRect is an utility class for manipulating rectangles.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfIntRect_methods, /* tp_methods */ - PySfIntRect_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfIntRect_new, /* tp_new */ -}; - - -PyTypeObject PySfFloatRectType = { - head_init - "FloatRect", /*tp_name*/ - sizeof(PySfFloatRect), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfFloatRect_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - PySfFloatRect_setattro, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.FloatRect is an utility class for manipulating rectangles.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfFloatRect_methods, /* tp_methods */ - PySfFloatRect_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfFloatRect_new, /* tp_new */ -}; - - -static PyObject * -PySfFloatRect_Contains(PySfFloatRect* self, PyObject *args) -{ - float x=0, y=0; - - if (!PyArg_ParseTuple(args, "ff:FloatRect.Contains", &x, &y)) - return NULL; - - return PyBool_FromLong(self->obj->Contains(x,y)); -} - -static PyObject * -PySfFloatRect_Intersects(PySfFloatRect* self, PyObject *args) -{ - PySfFloatRect *Rect=NULL, *Intersection=NULL; - bool result; - - if (!PyArg_ParseTuple(args, "O!|O!:FloatRect.Intersects", &PySfFloatRectType, &Rect, &PySfFloatRectType, &Intersection)) - return NULL; - - if (Intersection) - result = self->obj->Intersects(*(Rect->obj), *(Intersection->obj)); - else - result = self->obj->Intersects(*(Rect->obj)); - - return PyBool_FromLong(result); -} - - -static PyObject * -PySfIntRect_Contains(PySfIntRect* self, PyObject *args) -{ - unsigned int x=0, y=0; - - if (!PyArg_ParseTuple(args, "II:IntRect.Contains", &x, &y)) - return NULL; - - return PyBool_FromLong(self->obj->Contains(x,y)); -} - -static PyObject * -PySfIntRect_Intersects(PySfIntRect* self, PyObject *args) -{ - PySfIntRect *Rect=NULL, *Intersection=NULL; - bool result; - - if (!PyArg_ParseTuple(args, "O!|O!:IntRect.Intersects", &PySfIntRectType, &Rect, &PySfIntRectType, &Intersection)) - return NULL; - - if (Intersection) - result = self->obj->Intersects(*(Rect->obj), *(Intersection->obj)); - else - result = self->obj->Intersects(*(Rect->obj)); - - return PyBool_FromLong(result); -} - -void -PySfIntRectUpdateObj(PySfIntRect *self) -{ - self->obj->Left = self->Left; - self->obj->Right = self->Right; - self->obj->Top = self->Top; - self->obj->Bottom = self->Bottom; -} - -void -PySfFloatRectUpdateObj(PySfFloatRect *self) -{ - self->obj->Left = self->Left; - self->obj->Right = self->Right; - self->obj->Top = self->Top; - self->obj->Bottom = self->Bottom; -} - -void -PySfIntRectUpdateSelf(PySfIntRect *self) -{ - self->Left = self->obj->Left; - self->Right = self->obj->Right; - self->Top = self->obj->Top; - self->Bottom = self->obj->Bottom; -} - -void -PySfFloatRectUpdateSelf(PySfFloatRect *self) -{ - self->Left = self->obj->Left; - self->Right = self->obj->Right; - self->Top = self->obj->Top; - self->Bottom = self->obj->Bottom; -} - -PySfIntRect * -GetNewPySfIntRect() -{ - return PyObject_New(PySfIntRect, &PySfIntRectType); -} - -PySfFloatRect * -GetNewPySfFloatRect() -{ - return PyObject_New(PySfFloatRect, &PySfFloatRectType); -} - - diff --git a/bindings/python/src/Rect.hpp b/bindings/python/src/Rect.hpp deleted file mode 100644 index 69385f45..00000000 --- a/bindings/python/src/Rect.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYRECT_HPP -#define __PYRECT_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - bool Owner; - int Left; - int Right; - int Top; - int Bottom; - sf::IntRect *obj; -} PySfIntRect; - -typedef struct { - PyObject_HEAD - bool Owner; - float Left; - float Right; - float Top; - float Bottom; - sf::FloatRect *obj; -} PySfFloatRect; - -PySfIntRect * -GetNewPySfIntRect(); - -PySfFloatRect * -GetNewPySfFloatRect(); - -void -PySfIntRectUpdateObj(PySfIntRect *self); - -void -PySfFloatRectUpdateObj(PySfFloatRect *self); - -void -PySfIntRectUpdateSelf(PySfIntRect *self); - -void -PySfFloatRectUpdateSelf(PySfFloatRect *self); - -#endif diff --git a/bindings/python/src/RenderQueue.cpp b/bindings/python/src/RenderQueue.cpp deleted file mode 100644 index b14acae8..00000000 --- a/bindings/python/src/RenderQueue.cpp +++ /dev/null @@ -1,94 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007-2009 Rémi Koenig (remi.k2620@gmail.com) -// Stefan "Tank" Schindler -// -// 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. -// -//////////////////////////////////////////////////////////// - -#include "RenderQueue.hpp" - -#include "compat.hpp" - -static void -PySfRenderQueue_dealloc(PySfRenderQueue* self) -{ - delete self->obj; - free_object( self ); -} - -static PyObject* -PySfRenderQueue_new(PyTypeObject* type, PyObjects* args, PyObject* kwds) -{ - PySfRenderQueue* self(static_cast(type->tp_alloc(type, 0))); - - if(self != 0) - { - self->obj = new sf::RenderQueue(); - } - - return static_cast( self ) -} - -static PyMethodDef PySfImage_methods[] = { - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfImageType = { - head_init - "RenderQueue", /*tp_name*/ - sizeof(PySfRenderQueue), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfRenderQueue_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Implements a queue of rendering commands.\n\ -Default constructor : sf.RenderQueue()" /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfRenderQueue_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfRenderQueue_new, /* tp_new */ -}; diff --git a/bindings/python/src/RenderQueue.hpp b/bindings/python/src/RenderQueue.hpp deleted file mode 100644 index ecce3cec..00000000 --- a/bindings/python/src/RenderQueue.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007-2009 Rémi Koenig (remi.k2620@gmail.com) -// Stefan "Tank" Schindler -// -// 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 __PYRENDERQUEUE_H -#define __PYRENDERQUEUE_H - -#include - -#include - -struct PySfRenderQueue { - PyObject_HEAD - sf::RenderQueue* obj; -}; - -PySfRenderQueue* GetNewPySfRenderQueue(); - -#endif diff --git a/bindings/python/src/RenderWindow.cpp b/bindings/python/src/RenderWindow.cpp deleted file mode 100644 index d167b42d..00000000 --- a/bindings/python/src/RenderWindow.cpp +++ /dev/null @@ -1,286 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "RenderWindow.hpp" -#include "Image.hpp" -#include "Window.hpp" -#include "Color.hpp" -#include "Drawable.hpp" - -#include "compat.hpp" - -#include - - -extern PyTypeObject PySfViewType; -extern PyTypeObject PySfWindowType; -extern PyTypeObject PySfRenderWindowType; -extern PyTypeObject PySfColorType; -extern PyTypeObject PySfDrawableType; - - -static void -PySfRenderWindow_dealloc(PySfRenderWindow* self) -{ - Py_CLEAR(self->View); - delete self->obj; - free_object(self); -} - -static PyObject * -PySfRenderWindow_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfRenderWindow *self; - self = (PySfRenderWindow *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->obj = new sf::RenderWindow(); - self->View = NULL; - } - return (PyObject *)self; -} - -static PyObject * -PySfRenderWindow_ConvertCoords(PySfRenderWindow *self, PyObject *args) -{ - unsigned int WindowX, WindowY; - PySfView *PyTargetView = NULL; - sf::Vector2f Vect; - - if (!PyArg_ParseTuple(args, "II|O!:RenderWindow.ConvertCoords", &WindowX, &WindowY, &PySfViewType, &PyTargetView)) - return NULL; - - if (PyTargetView) - { - Vect = self->obj->ConvertCoords(WindowX, WindowY, *PyTargetView->obj); - } - else - { - Vect = self->obj->ConvertCoords(WindowX, WindowY); - } - - return Py_BuildValue("ff", Vect.x, Vect.y); -} - -static bool -PySfRenderWindow_DrawObject(PySfRenderWindow *RenderWindow, PySfDrawable *Obj) -{ - if (PyObject_TypeCheck((PyObject *)Obj, &PySfDrawableType)) - { - if (Obj->IsCustom) - { - Py_CLEAR(Obj->obj->RenderWindow); - Py_INCREF(RenderWindow); - Obj->obj->RenderWindow = RenderWindow; - } - RenderWindow->obj->Draw(*(Obj->obj)); - return true; - } - return false; -} - -static PyObject * -PySfRenderWindow_Draw(PySfRenderWindow *self, PyObject *args) -{ - if (args == NULL) - return NULL; - if (!PySfRenderWindow_DrawObject(self, (PySfDrawable *)args)) - { - PyObject *iterator = PyObject_GetIter(args); - PyObject *item; - PyErr_Clear(); - if (iterator == NULL) - { - PyErr_SetString(PyExc_TypeError, "Argument to Draw method is neither a Drawable nor an iterable."); - return NULL; - } - while ((item = PyIter_Next(iterator))) - { - if (!PySfRenderWindow_DrawObject(self, (PySfDrawable *)item)) - { - PyErr_SetString(PyExc_TypeError, "Object in iterable not a Drawable."); - return NULL; - } - Py_DECREF(item); - } - Py_DECREF(iterator); - } - if (PyErr_Occurred()) - return NULL; - Py_RETURN_NONE; -} - - -static PyObject * -PySfRenderWindow_Clear(PySfRenderWindow *self, PyObject *args) -{ - PySfColor *Color = NULL; - if (!PyArg_ParseTuple(args, "|O!:RenderWindow.Clear", &PySfColorType, &Color)) - return NULL; - if (Color == NULL) self->obj->Clear(sf::Color::Black); - else - { - PySfColorUpdate(Color); - self->obj->Clear(*(Color->obj)); - } - Py_RETURN_NONE; -} - -static PyObject * -PySfRenderWindow_SetActive(PySfRenderWindow *self, PyObject *args) -{ - PyObject* Active( 0 ); - - PyArg_ParseTuple( args, "|O", &Active ); - self->obj->SetActive( Active == 0 ? true : PyBool_AsBool( Active ) ); - - Py_RETURN_NONE; -} - -static PyObject * -PySfRenderWindow_GetView(PySfRenderWindow *self) -{ - if (self->View != NULL) - { - Py_INCREF(self->View); - return (PyObject *)(self->View); - } - else - { - PySfView *View; - - View = GetNewPySfView(); - View->Owner = false; - View->obj = (sf::View *)&(self->obj->GetView()); - Py_INCREF(View); - self->View = View; - return (PyObject *)View; - } -} - -static PyObject * -PySfRenderWindow_SetView(PySfRenderWindow* self, PyObject *args) -{ - PySfView *View = (PySfView *)args; - if (!PyObject_TypeCheck(View, &PySfViewType)) - { - PyErr_SetString(PyExc_TypeError, "RenderWindow.SetView() Argument is not a sf.View"); - return NULL; - } - Py_CLEAR(self->View); - Py_INCREF(View); - self->View = View; - self->obj->SetView(*(View->obj)); - Py_RETURN_NONE; -} - -static PyObject * -PySfRenderWindow_GetDefaultView(PySfRenderWindow *self) -{ - PySfView *View; - - View = GetNewPySfView(); - View->Owner = false; - - // Python doesn't know anything about 'const', so cast away. Be careful with - // not changing the default view! - View->obj = const_cast( &( self->obj->GetDefaultView() ) ); - - return (PyObject *)View; -} - -static PyMethodDef PySfRenderWindow_methods[] = { - {"SetActive", (PyCFunction)PySfRenderWindow_SetActive, METH_VARARGS, "SetActive(Active)\n\ -Activate or deactivate the window as the current target for OpenGL rendering.\n\ - Active : True to activate window. (default: True)"}, - {"Clear", (PyCFunction)PySfRenderWindow_Clear, METH_VARARGS, "Clear(FillColor)\n\ -Clear the entire target with a single color.\n\ - FillColor : Color to use to clear the render target."}, - {"GetDefaultView", (PyCFunction)PySfRenderWindow_GetDefaultView, METH_NOARGS, "GetDefaultView()\n\ -Get the default view of the window for read / write (returns a sf.View instance)."}, - {"GetView", (PyCFunction)PySfRenderWindow_GetView, METH_NOARGS, "GetView()\n\ -Get the current view rectangle (returns a sf.View instance)."}, - {"SetView", (PyCFunction)PySfRenderWindow_SetView, METH_O, "SetView(View)\n\ -Change the current active view. View must be a sf.View instance."}, - {"Draw", (PyCFunction)PySfRenderWindow_Draw, METH_O, "Draw(Drawable)\n\ -Draw something on the window. The argument can be a drawable or any object supporting the iterator protocol and containing drawables (for example a tuple of drawables)."}, - {"ConvertCoords", (PyCFunction)PySfRenderWindow_ConvertCoords, METH_VARARGS, "ConvertCoords(WindowX, WindowY, TargetView)\n\ -Convert a point in window coordinates into view coordinates. Returns a tuple of two floats.\n\ - WindowX : X coordinate of the point to convert, relative to the window\n\ - WindowY : Y coordinate of the point to convert, relative to the window\n\ - TargetView : Target view to convert the point to (NULL by default -- uses the current view)."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfRenderWindowType = { - head_init - "RenderWindow", /*tp_name*/ - sizeof(PySfRenderWindow), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfRenderWindow_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Simple wrapper for sf.Window that allows easy 2D rendering.\n\ -Default constructor : sf.RenderWindow()\n\ -Construct a new window : sf.RenderWindow(Mode, Title, Style::Resize|Style::Close, Params = WindowSettings())\n\ - Mode : Video mode to use\n\ - Title : Title of the window\n\ - WindowStyle : Window style (Resize | Close by default)\n\ - Params : Creation parameters (see default constructor for default values)\n\ -Construct the window from an existing control : sf.RenderWindow(Handle, Params)\n\ - Handle : handle of the control (long integer)\n\ - Params : Creation parameters (see default constructor for default values)", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfRenderWindow_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - &PySfWindowType, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfRenderWindow_new, /* tp_new */ -}; - - diff --git a/bindings/python/src/RenderWindow.hpp b/bindings/python/src/RenderWindow.hpp deleted file mode 100644 index 0a488977..00000000 --- a/bindings/python/src/RenderWindow.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYRENDERWINDOW_HPP -#define __PYRENDERWINDOW_HPP - -#include - -#include - -#include "View.hpp" - -typedef struct { - PyObject_HEAD - sf::RenderWindow *obj; - PySfView *View; -} PySfRenderWindow; - - -#endif diff --git a/bindings/python/src/Shader.cpp b/bindings/python/src/Shader.cpp deleted file mode 100644 index 2a5dd383..00000000 --- a/bindings/python/src/Shader.cpp +++ /dev/null @@ -1,194 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Shader.hpp" -#include "Drawable.hpp" -#include "Image.hpp" - -#include "compat.hpp" - - -extern PyTypeObject PySfImageType; -extern PyTypeObject PySfDrawableType; - - -static void -PySfShader_dealloc(PySfShader *self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfShader_new(PyTypeObject *type, PyObject *args, PyObject *kwds); - -static PyObject * -PySfShader_LoadFromFile (PySfShader *self, PyObject *args) -{ - load_from_file(self, args); -} - -static PyObject * -PySfShader_LoadFromMemory (PySfShader *self, PyObject *args) -{ - char *effect; -#ifdef IS_PY3K - PyObject *string = PyUnicode_AsUTF8String(args); - if (string == NULL) - return NULL; - effect = PyBytes_AsString(string); -#else - effect = PyString_AsString(args); -#endif - bool result = self->obj->LoadFromMemory(effect); -#ifdef IS_PY3K - Py_DECREF(string); -#endif - return PyBool_FromLong(result); -} - -static PyObject * PySfShader_SetParameter(PySfShader* self, PyObject *args) { char *Name; float X, Y, Z, W; int size = PyTuple_Size(args); if (!PyArg_ParseTuple(args, "sf|fff:Shader.SetParameter", &Name, &X, &Y, &Z, &W)) return NULL; - - switch (size) - { - case 2: - self->obj->SetParameter(Name, X); - break; - case 3: - self->obj->SetParameter(Name, X, Y); - break; - case 4: - self->obj->SetParameter(Name, X, Y, Z); - break; - case 5: - self->obj->SetParameter(Name, X, Y, Z, W); - break; - default: - break; - } - - Py_RETURN_NONE; -} - -static PyObject * -PySfShader_SetTexture(PySfShader* self, PyObject *args) -{ - PySfImage *Image = NULL; - char *Name; - if (! PyArg_ParseTuple(args, "sO", &Name, &Image)) - { - return NULL; - } - - if (!PyObject_TypeCheck(Image, &PySfImageType)) - { - PyErr_SetString(PyExc_TypeError, "Shader.SetTexture() Argument 2 must be an sf.Image instance."); - return NULL; - } - - self->obj->SetTexture(Name, *Image->obj); - - Py_RETURN_NONE; -} - -static PyObject * -PySfShader_IsAvailable(PySfShader* self, PyObject *args) -{ - return PyBool_FromLong(sf::Shader::IsAvailable()); -} - - -static PyMethodDef PySfShader_methods[] = { - {"LoadFromFile", (PyCFunction)PySfShader_LoadFromFile, METH_O, "LoadFromFile(Filename)\nLoad the effect from a file."}, - {"LoadFromMemory", (PyCFunction)PySfShader_LoadFromMemory, METH_O, "LoadFromMemory(Effect)\nLoad the effect from a text in memory."}, - {"SetParameter", (PyCFunction)PySfShader_SetParameter, METH_VARARGS, "SetParameter(X), SetParameter(X, Y), SetParameter(X, Y, Z), SetParameter(X, Y, Z, W)\nChange a parameter of the effect.\n\ - Name : Parameter name in the effect\n\ - X,Y,Z,W : Values to assign."}, - {"SetTexture", (PyCFunction)PySfShader_SetTexture, METH_VARARGS, "SetTexture(Name, Texture)\nSet a texture parameter.\n\ - Name : Texture name in the effect\n\ - Texture : Image to set (pass sf.Shader.CurrentTexture to use content of current framebuffer)"}, - {"IsAvailable", (PyCFunction)PySfShader_IsAvailable, METH_STATIC | METH_NOARGS, "IsAvailable()\nTell wether or not the system supports post-effects."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfShaderType = { - head_init - "Shader", /*tp_name*/ - sizeof(PySfShader), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfShader_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Shader is used to apply a post effect to a window.\n\ -Default constructor : sf.Shader()\n\ -Copy constructor : sf.Shader(Copy) where Copy is a sf.Shader instance.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfShader_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - &PySfDrawableType, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfShader_new, /* tp_new */ -}; - - -static PyObject * -PySfShader_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfShader *self; - self = (PySfShader *)type->tp_alloc(type, 0); - if (self != NULL) - { - PySfShader *Copy = NULL; - self->IsCustom = false; - if (!PyArg_ParseTuple(args, "|O!", &PySfShaderType, &Copy)) - return NULL; - if (Copy) self->obj = new sf::Shader(*(Copy->obj)); - else self->obj = new sf::Shader(); - } - return (PyObject *)self; -} diff --git a/bindings/python/src/Shader.hpp b/bindings/python/src/Shader.hpp deleted file mode 100644 index ebfcde32..00000000 --- a/bindings/python/src/Shader.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYPOSTFX_HPP -#define __PYPOSTFX_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - bool IsCustom; - sf::Shader *obj; -} PySfShader; - -#endif diff --git a/bindings/python/src/Shape.cpp b/bindings/python/src/Shape.cpp deleted file mode 100644 index 6ac2dd4a..00000000 --- a/bindings/python/src/Shape.cpp +++ /dev/null @@ -1,379 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Shape.hpp" - -#include -#include "Color.hpp" - -#include "compat.hpp" - -extern PyTypeObject PySfColorType; -extern PyTypeObject PySfDrawableType; - - -static void -PySfShape_dealloc(PySfShape* self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfShape_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfShape *self; - self = (PySfShape *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->obj = new sf::Shape(); - self->IsCustom = false; - } - return (PyObject *)self; -} - -// void AddPoint(float X, float Y, const Color& Col = Color(255, 255, 255), const Color& OutlineCol = Color(0, 0, 0)); -static PyObject * -PySfShape_AddPoint(PySfShape* self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"X", "Y", "Col", "OutlineCol", NULL}; - float X, Y; - sf::Color *Col, *OutlineCol; - PySfColor *ColTmp=NULL, *OutlineColTmp=NULL; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "ff|O!O!:Shape.AddPoint", (char **)kwlist, &X, &Y, &PySfColorType, &ColTmp, &PySfColorType, &OutlineColTmp)) - return NULL; - - if (ColTmp) - { - PySfColorUpdate(ColTmp); - Col = ColTmp->obj; - } - else - Col = (sf::Color *)&sf::Color::White; - - if (OutlineColTmp) - { - PySfColorUpdate(OutlineColTmp); - OutlineCol = OutlineColTmp->obj; - } - else - OutlineCol = (sf::Color *)&sf::Color::Black; - - self->obj->AddPoint(X, Y, *Col, *OutlineCol); - - Py_RETURN_NONE; -} - -static PyObject * -PySfShape_SetOutlineWidth(PySfShape* self, PyObject *args) -{ - self->obj->SetOutlineWidth(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfShape_GetOutlineWidth(PySfShape* self) -{ - return PyFloat_FromDouble(self->obj->GetOutlineWidth()); -} - -// static Shape Line(float X0, float Y0, float X1, float Y1, float Thickness, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); -static PyObject * -PySfShape_Line(PySfShape* self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"X0", "Y0", "X1", "Y1", "Thickness", "Col", "Outline", "OutlineCol", NULL}; - PySfShape *Line = GetNewPySfShape(); - float X0, Y0, X1, Y1, Thickness, Outline = 0.f; - sf::Color *OutlineCol; - PySfColor *ColTmp, *OutlineColTmp=NULL; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "fffffO!|fO!:Shape.Line", (char **)kwlist, &X0, &Y0, &X1, &Y1, &Thickness, &PySfColorType, &ColTmp, &Outline, &PySfColorType, &OutlineColTmp)) - return NULL; - if (OutlineColTmp) - { - PySfColorUpdate(OutlineColTmp); - OutlineCol = OutlineColTmp->obj; - } - else - OutlineCol = (sf::Color *)&sf::Color::Black; - - PySfColorUpdate(ColTmp); - Line->obj = new sf::Shape(sf::Shape::Line(X0, Y0, X1, Y1, Thickness, *(ColTmp->obj), Outline, *OutlineCol)); - return (PyObject *)Line; -} - -// static Shape Rectangle(float X0, float Y0, float X1, float Y1, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); -static PyObject * -PySfShape_Rectangle(PySfShape* self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"X0", "Y0", "X1", "Y1", "Col", "Outline", "OutlineCol", NULL}; - PySfShape *Rectangle = GetNewPySfShape(); - float X0, Y0, X1, Y1, Outline = 0.f; - sf::Color *OutlineCol; - PySfColor *ColTmp, *OutlineColTmp=NULL; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "ffffO!|fO!:Shape.Rectangle", (char **)kwlist, &X0, &Y0, &X1, &Y1, &PySfColorType, &ColTmp, &Outline, &PySfColorType, &OutlineColTmp)) - return NULL; - if (OutlineColTmp) - { - PySfColorUpdate(OutlineColTmp); - OutlineCol = OutlineColTmp->obj; - } - else - OutlineCol = (sf::Color *)&sf::Color::Black; - - PySfColorUpdate(ColTmp); - Rectangle->obj = new sf::Shape(sf::Shape::Rectangle(X0, Y0, X1, Y1, *(ColTmp->obj), Outline, *OutlineCol)); - return (PyObject *)Rectangle; -} - -// static Shape Circle(float X, float Y, float Radius, const Color& Col, float Outline = 0.f, const Color& OutlineCol = sf::Color(0, 0, 0)); -static PyObject * -PySfShape_Circle(PySfShape* self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"X", "Y", "Radius", "Col", "Outline", "OutlineCol", NULL}; - PySfShape *Circle = GetNewPySfShape(); - float X, Y, Radius, Outline = 0.f; - sf::Color *OutlineCol; - PySfColor *ColTmp, *OutlineColTmp=NULL; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "fffO!|fO!:Shape.Circle", (char **)kwlist, &X, &Y, &Radius, &PySfColorType, &ColTmp, &Outline, &PySfColorType, &OutlineColTmp)) - return NULL; - if (OutlineColTmp) - { - PySfColorUpdate(OutlineColTmp); - OutlineCol = OutlineColTmp->obj; - } - else - OutlineCol = (sf::Color *)&sf::Color::Black; - - PySfColorUpdate(ColTmp); - Circle->obj = new sf::Shape(sf::Shape::Circle(X, Y, Radius, *(ColTmp->obj), Outline, *OutlineCol)); - return (PyObject *)Circle; -} - -static PyObject * -PySfShape_GetPointPosition(PySfShape* self, PyObject *args) -{ - sf::Vector2f result = self->obj->GetPointPosition(PyLong_AsUnsignedLong(args)); - return Py_BuildValue("ff", result.x, result.y); -} - -static PyObject * -PySfShape_GetPointColor(PySfShape* self, PyObject *args) -{ - PySfColor *PyColor = GetNewPySfColor(); - PyColor->obj = new sf::Color(self->obj->GetPointColor(PyLong_AsUnsignedLong(args))); - PyColor->r = PyColor->obj->r; - PyColor->g = PyColor->obj->g; - PyColor->b = PyColor->obj->b; - PyColor->a = PyColor->obj->a; - return (PyObject *)PyColor; -} - -static PyObject * -PySfShape_GetPointOutlineColor(PySfShape* self, PyObject *args) -{ - PySfColor *PyColor = GetNewPySfColor(); - PyColor->obj = new sf::Color(self->obj->GetPointOutlineColor(PyLong_AsUnsignedLong(args))); - PyColor->r = PyColor->obj->r; - PyColor->g = PyColor->obj->g; - PyColor->b = PyColor->obj->b; - PyColor->a = PyColor->obj->a; - return (PyObject *)PyColor; -} - -static PyObject * -PySfShape_SetPointPosition(PySfShape* self, PyObject *args) -{ - unsigned int Index; - float X, Y; - if (!PyArg_ParseTuple(args, "Iff:Shape.SetPointPosition", &Index, &X, &Y)) - return NULL; - self->obj->SetPointPosition(Index, X, Y); - Py_RETURN_NONE; -} - -static PyObject * -PySfShape_SetPointColor(PySfShape* self, PyObject *args) -{ - unsigned int Index; - PySfColor *Color; - if (!PyArg_ParseTuple(args, "IO!:Shape.SetPointColor", &Index, &PySfColorType, &Color)) - return NULL; - PySfColorUpdate(Color); - self->obj->SetPointColor(Index, *(Color->obj)); - Py_RETURN_NONE; -} - -static PyObject * -PySfShape_SetPointOutlineColor(PySfShape* self, PyObject *args) -{ - unsigned int Index; - PySfColor *Color; - if (!PyArg_ParseTuple(args, "IO!:Shape.SetPointOutlineColor", &Index, &PySfColorType, &Color)) - return NULL; - PySfColorUpdate(Color); - self->obj->SetPointOutlineColor(Index, *(Color->obj)); - Py_RETURN_NONE; -} - -static PyObject * -PySfShape_GetNbPoints(PySfShape* self, PyObject *args) -{ - return PyLong_FromUnsignedLong(self->obj->GetNbPoints()); -} - -static PyObject * -PySfShape_EnableFill(PySfShape* self, PyObject *args) -{ - self->obj->EnableFill(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfShape_EnableOutline(PySfShape* self, PyObject *args) -{ - self->obj->EnableOutline(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyMethodDef PySfShape_methods[] = { - {"GetPointPosition", (PyCFunction)PySfShape_GetPointPosition, METH_O, "GetPointPosition(Index)\n\ -Get the position of a point.\n\ - Index : Index-th point."}, - {"GetPointColor", (PyCFunction)PySfShape_GetPointColor, METH_O, "GetPointColor(Index)\n\ -Get the color of a point.\n Index : Index-th point."}, - {"GetPointOutlineColor", (PyCFunction)PySfShape_GetPointOutlineColor, METH_O, "GetPointOutlineColor(Index)\n\ -Get the outline color of a point.\n Index : Index-th point."}, - {"SetPointPosition", (PyCFunction)PySfShape_SetPointPosition, METH_VARARGS, "SetPointPosition(Index, X, Y).\n\ -Set the position of a point\n\ - Index : Index of the point, in range [0, GetNbPoints() - 1]\n\ - X : New X coordinate of the Index-th point\n\ - Y : New Y coordinate of the Index-th point."}, - {"SetPointColor", (PyCFunction)PySfShape_SetPointColor, METH_VARARGS, "SetPointColor(Index, Color).\n\ -Set the color of a point\n\ - Index : Index of the point, in range [0, GetNbPoints() - 1]\n\ - Col : New color of the Index-th point."}, - {"SetPointOutlineColor", (PyCFunction)PySfShape_SetPointOutlineColor, METH_VARARGS, "SetPointOutlineColor(Index, Color).\n\ -Set the outline color of a point\n\ - Index : Index of the point, in range [0, GetNbPoints() - 1]\n\ - Col : New color of the Index-th point."}, - {"GetNbPoints", (PyCFunction)PySfShape_GetNbPoints, METH_NOARGS, "GetNbPoints()\n\ -Get the number of points composing the shape."}, - {"EnableFill", (PyCFunction)PySfShape_EnableFill, METH_O, "EnableFill(Enable)\n\ -Enable or disable filling the shape. Fill is enabled by default.\n\ - Enable : True to enable, false to disable."}, - {"EnableOutline", (PyCFunction)PySfShape_EnableOutline, METH_O, "EnableOutline(Enable)\n\ -Enable or disable drawing the shape outline. Outline is enabled by default.\n\ - Enable : True to enable, false to disable"}, - {"AddPoint", (PyCFunction)PySfShape_AddPoint, METH_VARARGS | METH_KEYWORDS, "AddPoint(X, Y, Col=sf.Color.White, OutlineCol=sf.Color.Black)\n\ -Add a point to the shape.\n\ - X : X coordinate of the point\n\ - Y : Y coordinate of the point\n\ - Col : Color of the point (white by default)\n\ - OutlineCol : Outline color of the point (black by default)."}, - {"SetOutlineWidth", (PyCFunction)PySfShape_SetOutlineWidth, METH_O, "SetOutlineWidth(Width)\n\ -Change the width of the shape outline.\n\ - Width : New width (use 0 to remove the outline)."}, - {"GetOutlineWidth", (PyCFunction)PySfShape_GetOutlineWidth, METH_NOARGS, "GetOutlineWidth()\n\ -Get the width of the shape outline."}, - {"Line", (PyCFunction)PySfShape_Line, METH_STATIC | METH_VARARGS | METH_KEYWORDS, "Line(X0, Y0, X1, Y1, Thickness, Col, Outline = 0., OutlineCol = sf.Color(0, 0, 0))\n\ -Create a shape made of a single line.\n\ - X0 : X coordinate of the first point.\n\ - Y0 : Y coordinate of the first point.\n\ - X1 : X coordinate of the second point.\n\ - Y1 : Y coordinate of the second point.\n\ - Thickness : Line thickness.\n\ - Col : Color used to draw the line\n\ - Outline : Outline width (0 by default)\n\ - OutlineCol : Color used to draw the outline (black by default)."}, - {"Rectangle", (PyCFunction)PySfShape_Rectangle, METH_STATIC | METH_VARARGS | METH_KEYWORDS, "Rectangle(X0, Y0, X1, Y1, Col, Outline = 0., OutlineCol = sf.Color(0, 0, 0))\n\ -Create a shape made of a single rectangle.\n\ - X0 : X coordinate of the first point.\n\ - Y0 : Y coordinate of the first point.\n\ - X1 : X coordinate of the second point.\n\ - Y1 : Y coordinate of the second point.\n\ - Col : Color used to fill the rectangle.\n\ - Outline : Outline width (0 by default).\n\ - OutlineCol : Color used to draw the outline (black by default)."}, - {"Circle", (PyCFunction)PySfShape_Circle, METH_STATIC | METH_VARARGS | METH_KEYWORDS, "Circle(X, Y, Radius, Col, Outline = 0., OutlineCol = sf.Color(0, 0, 0))\n\ -Create a shape made of a single circle.\n\ - X : X coordinate of the center.\n\ - Y : Y coordinate of the center.\n\ - Radius : Radius\n\ - Col : Color used to fill the rectangle.\n\ - Outline : Outline width (0 by default).\n\ - OutlineCol : Color used to draw the outline (black by default)."}, - {NULL} /* Sentinel */ -}; - - -PyTypeObject PySfShapeType = { - head_init - "Shape", /*tp_name*/ - sizeof(PySfShape), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfShape_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Shape defines a drawable convex shape ; it also defines helper functions to draw simple shapes like lines, rectangles, circles, etc.\nDefault constructor: Shape()", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfShape_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - &PySfDrawableType, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfShape_new, /* tp_new */ -}; - - -PySfShape * -GetNewPySfShape() -{ - PySfShape *Shape = PyObject_New(PySfShape, &PySfShapeType); - Shape->IsCustom = false; - return Shape; -} - diff --git a/bindings/python/src/Shape.hpp b/bindings/python/src/Shape.hpp deleted file mode 100644 index 7e21bfc9..00000000 --- a/bindings/python/src/Shape.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSHAPE_HPP -#define __PYSHAPE_HPP - -#include - -#include - - -typedef struct { - PyObject_HEAD - bool IsCustom; - sf::Shape *obj; -} PySfShape; - -PySfShape * -GetNewPySfShape(); - -#endif diff --git a/bindings/python/src/Sleep.cpp b/bindings/python/src/Sleep.cpp deleted file mode 100644 index 303c8856..00000000 --- a/bindings/python/src/Sleep.cpp +++ /dev/null @@ -1,33 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Sleep.hpp" - -PyObject * -PySFML_Sleep (PyObject *self, PyObject *args) -{ - sf::Sleep(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - diff --git a/bindings/python/src/Sleep.hpp b/bindings/python/src/Sleep.hpp deleted file mode 100644 index 3c78fd73..00000000 --- a/bindings/python/src/Sleep.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSLEEP_HPP -#define __PYSLEEP_HPP - -#include - -#include - -PyObject * -PySFML_Sleep (PyObject *self, PyObject *args); - -#endif diff --git a/bindings/python/src/Sound.cpp b/bindings/python/src/Sound.cpp deleted file mode 100644 index 926d2c69..00000000 --- a/bindings/python/src/Sound.cpp +++ /dev/null @@ -1,338 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Sound.hpp" -#include "SoundBuffer.hpp" - -#include "compat.hpp" - - -extern PyTypeObject PySfSoundBufferType; - - -static void -PySfSound_dealloc(PySfSound *self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfSound_new(PyTypeObject *type, PyObject *args, PyObject *kwds); - -static int -PySfSound_init(PySfSound *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Buffer", "Loop", "Pitch", "Volume", "X", "Y", "Z", NULL}; - PySfSoundBuffer *Buffer=NULL; - PyObject *Loop=NULL; - float Pitch=1.f, Volume=100.f, X=0.f, Y=0.f, Z=0.f; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O!Offfff:Sound.__new__", (char **)kwlist, &PySfSoundBufferType, &Buffer, &Loop, &Pitch, &Volume, &X, &Y, &Z)) - return -1; - { - if (Loop) - self->obj->SetLoop(PyBool_AsBool(Loop)); - if (Buffer) - self->obj->SetBuffer(*(Buffer->obj)); - self->obj->SetPitch(Pitch); - self->obj->SetVolume(Volume); - self->obj->SetPosition(X, Y, Z); - } - return 0; -} - -static PyObject* -PySfSound_SetBuffer(PySfSound *self, PyObject *args) -{ - PySfSoundBuffer *Buffer = (PySfSoundBuffer *)args; - if (!PyObject_TypeCheck(args, &PySfSoundBufferType)) - { - PyErr_SetString(PyExc_TypeError, "Sound.SetBuffer() The argument must be a sf.SoundBuffer."); - return NULL; - } - - self->obj->SetBuffer(*(Buffer->obj)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_SetLoop(PySfSound *self, PyObject *args) -{ - self->obj->SetLoop(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_SetRelativeToListener(PySfSound *self, PyObject *args) -{ - self->obj->SetRelativeToListener(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_IsRelativeToListener(PySfSound *self) -{ - return PyBool_FromLong(self->obj->IsRelativeToListener()); -} - -static PyObject* -PySfSound_SetPitch(PySfSound *self, PyObject *args) -{ - self->obj->SetPitch(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_SetMinDistance(PySfSound *self, PyObject *args) -{ - self->obj->SetMinDistance(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_SetAttenuation(PySfSound *self, PyObject *args) -{ - self->obj->SetAttenuation(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_SetVolume(PySfSound *self, PyObject *args) -{ - self->obj->SetVolume(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_GetPitch(PySfSound *self) -{ - return PyFloat_FromDouble(self->obj->GetPitch()); -} - -static PyObject* -PySfSound_GetMinDistance(PySfSound *self) -{ - return PyFloat_FromDouble(self->obj->GetMinDistance()); -} - -static PyObject* -PySfSound_GetAttenuation(PySfSound *self) -{ - return PyFloat_FromDouble(self->obj->GetAttenuation()); -} - -static PyObject* -PySfSound_GetVolume(PySfSound *self) -{ - return PyFloat_FromDouble(self->obj->GetVolume()); -} - -static PyObject* -PySfSound_GetPosition(PySfSound *self) -{ - sf::Vector3f Vect = self->obj->GetPosition(); - return Py_BuildValue("fff", Vect.x, Vect.y, Vect.z); -} - -static PyObject* -PySfSound_GetPlayingOffset(PySfSound *self) -{ - return PyFloat_FromDouble(self->obj->GetPlayingOffset()); -} - -static PyObject* -PySfSound_GetLoop(PySfSound *self) -{ - return PyBool_FromLong(self->obj->GetLoop()); -} - -static PyObject* -PySfSound_Play(PySfSound *self) -{ - self->obj->Play(); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_Pause(PySfSound *self) -{ - self->obj->Pause(); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_Stop(PySfSound *self) -{ - self->obj->Stop(); - Py_RETURN_NONE; -} - -static PyObject* -PySfSound_GetStatus(PySfSound *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetStatus()); -} - -static PyObject* -PySfSound_SetPosition(PySfSound *self, PyObject *args) -{ - float X, Y, Z; - if (!PyArg_ParseTuple(args, "fff:Sound.SetPosition", &X, &Y, &Z)) - return NULL; - self->obj->SetPosition(X, Y, Z); - Py_RETURN_NONE; -} - -static PyObject * -PySfSound_GetBuffer(PySfSound *self) -{ - PySfSoundBuffer *Buffer; - - Buffer = GetNewPySfSoundBuffer(); - Buffer->obj = new sf::SoundBuffer(*(self->obj->GetBuffer())); - - return (PyObject *)Buffer; -} - -static PyObject* -PySfSound_SetPlayingOffset(PySfSound *self, PyObject *args) -{ - self->obj->SetPlayingOffset(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyMethodDef PySfSound_methods[] = { - {"SetRelativeToListener", (PyCFunction)PySfSound_SetRelativeToListener, METH_O, "SetRelativeToListener(Relative)\nMake the sound's position relative to the listener's position, or absolute. The default value is false (absolute)\n Relative : True to set the position relative, false to set it absolute"}, - {"IsRelativeToListener", (PyCFunction)PySfSound_IsRelativeToListener, METH_NOARGS, "IsRelativeToListener()\nTell if the sound's position is relative to the listener's position, or if it's absolute."}, - {"SetPlayingOffset", (PyCFunction)PySfSound_SetPlayingOffset, METH_O, "SetPlayingOffset(TimeOffset)\nSet the current playing position of the sound.\n TimeOffset : New playing position, expressed in seconds"}, - {"SetLoop", (PyCFunction)PySfSound_SetLoop, METH_O, "SetLoop(Loop)\nSet the Sound loop state.\n Loop : True to play in loop, false to play once"}, - {"SetBuffer", (PyCFunction)PySfSound_SetBuffer, METH_O, "SetBuffer(Buffer)\nSet the source buffer.\n Buffer : New sound buffer to bind to the sound "}, - {"SetPitch", (PyCFunction)PySfSound_SetPitch, METH_O, "SetPitch(Pitch)\nSet the sound pitch. The default pitch is 1.\n Pitch : New pitch"}, - {"SetMinDistance", (PyCFunction)PySfSound_SetMinDistance, METH_O, "SetMinDistance(MinDistance)\nSet the minimum distance - closer than this distance, the listener will hear the sound at its maximum volume. The default minimum distance is 1.0.\n MinDistance : New minimum distance for the sound"}, - {"SetAttenuation", (PyCFunction)PySfSound_SetAttenuation, METH_O, "SetAttenuation(Attenuation)\nSet the attenuation factor - the higher the attenuation, the more the sound will be attenuated with distance from listener. The default attenuation factor 1.0.\n Attenuation : New attenuation factor for the sound"}, - {"SetVolume", (PyCFunction)PySfSound_SetVolume, METH_O, "SetVolume(Volume)\nSet the sound volume.\n Volume : Volume (in range [0, 100])"}, - {"SetPosition", (PyCFunction)PySfSound_SetPosition, METH_VARARGS, "SetPosition(X, Y, Z)\nSet the sound position in the world.\n X,Y,Z : Position of the sound in the world"}, - {"GetLoop", (PyCFunction)PySfSound_GetLoop, METH_NOARGS, "GetLoop()\nTell whether or not the Sound is looping."}, - {"GetBuffer", (PyCFunction)PySfSound_GetBuffer, METH_NOARGS, "GetBuffer()\nGet the source buffer. Returns a new sf.SoundBuffer object."}, - {"GetPitch", (PyCFunction)PySfSound_GetPitch, METH_NOARGS, "GetPitch()\nGet the sound pitch."}, - {"GetMinDistance", (PyCFunction)PySfSound_GetMinDistance, METH_NOARGS, "GetMinDistance()\nGet the minimum distance."}, - {"GetAttenuation", (PyCFunction)PySfSound_GetAttenuation, METH_NOARGS, "GetAttenuation()\nGet the attenuation factor."}, - {"GetVolume", (PyCFunction)PySfSound_GetVolume, METH_NOARGS, "GetVolume()\nGet the sound volume."}, - {"GetPosition", (PyCFunction)PySfSound_GetPosition, METH_NOARGS, "GetPosition()\nGet the sound position in the world. Returns a tuple."}, - {"Play", (PyCFunction)PySfSound_Play, METH_NOARGS, "Play()\nPlay the sound."}, - {"Pause", (PyCFunction)PySfSound_Pause, METH_NOARGS, "Pause()\nPause the sound."}, - {"Stop", (PyCFunction)PySfSound_Stop, METH_NOARGS, "Stop()\nStop the sound."}, - {"GetStatus", (PyCFunction)PySfSound_GetStatus, METH_NOARGS, "GetStatus()\nGet the status of the sound (stopped, paused, playing)."}, - {"GetPlayingOffset", (PyCFunction)PySfSound_GetPlayingOffset, METH_NOARGS, "GetPlayingOffset()\nGet the current playing position of the sound."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfSoundType = { - head_init - "Sound", /*tp_name*/ - sizeof(PySfSound), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfSound_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Sound defines the properties of a sound such as position, volume, pitch, etc.\n\ -Default constructor : Sound()\n\ -Construct the sound from its parameters : Sound(Buffer, Loop = False, Pitch = 1., Volume = 100., X = 0., Y = 0., Z = 0.);\n\ - Buffer : Sound buffer to play (None by default)\n\ - Loop : Loop flag (False by default)\n\ - Pitch : Value of the pitch (1. by default)\n\ - Volume : Volume (100. by default)\n\ - X : X position (0. by default)\n\ - Y : Y position (0. by default)\n\ - Z : Z position (0. by default)\n\ -Copy constructor : Sound(Copy) where Copy is a sf.Sound instance.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfSound_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - (initproc)PySfSound_init, /* tp_init */ - 0, /* tp_alloc */ - PySfSound_new, /* tp_new */ -}; - -static PyObject * -PySfSound_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfSound *self; - self = (PySfSound *)type->tp_alloc(type, 0); - if (self != NULL) - { - if (PyTuple_Size(args) == 1) - { - PySfSound *Copy; - if (PyArg_ParseTuple(args, "O!:Sound.__new__", &PySfSoundType, &Copy)) - { - self->obj = new sf::Sound(*(Copy->obj)); - return (PyObject *)self; - } - else PyErr_Clear(); - } - self->obj = new sf::Sound(); - } - return (PyObject *)self; -} - -void -PySfSound_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::Sound::Stopped); - PyDict_SetItemString(PySfSoundType.tp_dict, "Stopped", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Sound::Paused); - PyDict_SetItemString(PySfSoundType.tp_dict, "Paused", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Sound::Playing); - PyDict_SetItemString(PySfSoundType.tp_dict, "Playing", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/Sound.hpp b/bindings/python/src/Sound.hpp deleted file mode 100644 index 4992a5d7..00000000 --- a/bindings/python/src/Sound.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSOUND_HPP -#define __PYSOUND_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - sf::Sound *obj; -} PySfSound; - -void -PySfSound_InitConst(); - -#endif diff --git a/bindings/python/src/SoundBuffer.cpp b/bindings/python/src/SoundBuffer.cpp deleted file mode 100644 index bf4ac168..00000000 --- a/bindings/python/src/SoundBuffer.cpp +++ /dev/null @@ -1,194 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "SoundBuffer.hpp" - -#include "compat.hpp" - - -static void -PySfSoundBuffer_dealloc(PySfSoundBuffer *self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfSoundBuffer_new(PyTypeObject *type, PyObject *args, PyObject *kwds); - -static PyObject* -PySfSoundBuffer_LoadFromFile(PySfSoundBuffer *self, PyObject *args) -{ - load_from_file(self, args); -} - -static PyObject * -PySfSoundBuffer_LoadFromMemory(PySfSoundBuffer* self, PyObject *args) -{ - unsigned int SizeInBytes; - char *Data; - - if (!PyArg_ParseTuple(args, "s#:SoundBuffer.LoadFromMemory", &Data, &SizeInBytes)) - return NULL; - - return PyBool_FromLong(self->obj->LoadFromMemory(Data, (std::size_t) SizeInBytes)); -} - -static PyObject * -PySfSoundBuffer_LoadFromSamples(PySfSoundBuffer* self, PyObject *args) -{ - unsigned int SizeInBytes, ChannelsCount, SampleRate; - char *Data; - - if (!PyArg_ParseTuple(args, "s#II:SoundBuffer.LoadFromSamples", &Data, &SizeInBytes, &ChannelsCount, &SampleRate)) - return NULL; - - return PyBool_FromLong(self->obj->LoadFromSamples((const sf::Int16*)Data, (std::size_t) SizeInBytes/2, ChannelsCount, SampleRate)); -} - -static PyObject* -PySfSoundBuffer_GetSamples(PySfSoundBuffer *self) -{ -#ifdef IS_PY3K - return PyBytes_FromStringAndSize((const char *)(self->obj->GetSamples()), self->obj->GetSamplesCount()*2); -#else - return PyString_FromStringAndSize((const char *)(self->obj->GetSamples()), self->obj->GetSamplesCount()*2); -#endif -} - -static PyObject* -PySfSoundBuffer_SaveToFile(PySfSoundBuffer *self, PyObject *args) -{ - save_to_file(self, args); -} - -static PyObject* -PySfSoundBuffer_GetDuration(PySfSoundBuffer *self) -{ - return PyFloat_FromDouble((double)(self->obj->GetDuration())); -} - -static PyObject* -PySfSoundBuffer_GetChannelsCount(PySfSoundBuffer *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetChannelsCount()); -} - -static PyObject* -PySfSoundBuffer_GetSampleRate(PySfSoundBuffer *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetSampleRate()); -} - -static PyObject* -PySfSoundBuffer_GetSamplesCount(PySfSoundBuffer *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetSamplesCount()); -} - - -static PyMethodDef PySfSoundBuffer_methods[] = { - {"LoadFromFile", (PyCFunction)PySfSoundBuffer_LoadFromFile, METH_O, "LoadFromFile(FileName)\nLoad the sound buffer from a file. Returns True if loading has been successful.\n Filename : Path of the sound file to load"}, - {"SaveToFile", (PyCFunction)PySfSoundBuffer_SaveToFile, METH_O, "SaveToFile(Filename)\nSave the sound buffer to a file. Returns True if saving has been successful.\n Filename : Path of the sound file to write"}, - {"LoadFromMemory", (PyCFunction)PySfSoundBuffer_LoadFromMemory, METH_O, "LoadFromMemory(Data)\nLoad the sound buffer from a string in memory.\n Data : string representing the file data in memory "}, - {"LoadFromSamples", (PyCFunction)PySfSoundBuffer_LoadFromSamples, METH_VARARGS, "LoadFromSamples(Samples, ChannelsCount, SampleRate)\nLoad the sound buffer from an array of samples - assumed format for samples is 16 bits signed integer.\n\ - Samples : Pointer to the samples in memory\n\ - ChannelsCount : Number of channels (1 = mono, 2 = stereo, ...)\n\ - SampleRate : Frequency (number of samples to play per second)"}, - {"GetDuration", (PyCFunction)PySfSoundBuffer_GetDuration, METH_NOARGS, "GetDuration()\nGet the sound duration."}, - {"GetChannelsCount", (PyCFunction)PySfSoundBuffer_GetChannelsCount, METH_NOARGS, "GetChannelsCount()\nReturn the number of channels (1 = mono, 2 = stereo)."}, - {"GetSampleRate", (PyCFunction)PySfSoundBuffer_GetSampleRate, METH_NOARGS, "GetSampleRate()\nGet the sound frequency (sample rate)."}, - {"GetSamplesCount", (PyCFunction)PySfSoundBuffer_GetSamplesCount, METH_NOARGS, "GetSamplesCount()\nReturn the samples count."}, - {"GetSamples", (PyCFunction)PySfSoundBuffer_GetSamples, METH_NOARGS, "GetSamples()\nReturn the sound samples as a string."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfSoundBufferType = { - head_init - "SoundBuffer", /*tp_name*/ - sizeof(PySfSoundBuffer), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfSoundBuffer_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.SoundBuffer is the low-level for loading and manipulating sound buffers.\n\ -Default constructor : SoundBuffer()\n\ -Copy constructor : SoundBuffer(Copy) where Copy is a sf.SoundBuffer instance.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfSoundBuffer_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfSoundBuffer_new, /* tp_new */ -}; - -static PyObject * -PySfSoundBuffer_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfSoundBuffer *self; - self = (PySfSoundBuffer *)type->tp_alloc(type, 0); - if (self != NULL) - { - PySfSoundBuffer *Copy=NULL; - if (PyArg_ParseTuple(args, "O!:SoundBuffer.__init__", &PySfSoundBufferType, &Copy)) - { - self->obj = new sf::SoundBuffer(*(Copy->obj)); - return (PyObject *)self; - } - PyErr_Clear(); - self->obj = new sf::SoundBuffer(); - } - return (PyObject *)self; -} - -PySfSoundBuffer * -GetNewPySfSoundBuffer() -{ - return PyObject_New(PySfSoundBuffer, &PySfSoundBufferType); -} - diff --git a/bindings/python/src/SoundBuffer.hpp b/bindings/python/src/SoundBuffer.hpp deleted file mode 100644 index 4a35fb3e..00000000 --- a/bindings/python/src/SoundBuffer.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSOUNDBUFFER_HPP -#define __PYSOUNDBUFFER_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - sf::SoundBuffer *obj; -} PySfSoundBuffer; - -PySfSoundBuffer * -GetNewPySfSoundBuffer(); - -#endif diff --git a/bindings/python/src/SoundBufferRecorder.cpp b/bindings/python/src/SoundBufferRecorder.cpp deleted file mode 100644 index 05978f6f..00000000 --- a/bindings/python/src/SoundBufferRecorder.cpp +++ /dev/null @@ -1,106 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "SoundBufferRecorder.hpp" -#include "SoundBuffer.hpp" - -#include "compat.hpp" - - -extern PyTypeObject PySfSoundRecorderType; - - -static void -PySfSoundBufferRecorder_dealloc(PySfSoundBufferRecorder *self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfSoundBufferRecorder_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfSoundBufferRecorder *self; - self = (PySfSoundBufferRecorder *)type->tp_alloc(type, 0); - if (self != NULL) - self->obj = new sf::SoundBufferRecorder(); - return (PyObject *)self; -} - -static PyObject * -PySfSoundBufferRecorder_GetBuffer(PySfSoundBufferRecorder* self) -{ - PySfSoundBuffer *SoundBuffer = GetNewPySfSoundBuffer(); - SoundBuffer->obj = new sf::SoundBuffer(self->obj->GetBuffer()); - return (PyObject *)SoundBuffer; -} - - -static PyMethodDef PySfSoundBufferRecorder_methods[] = { - {"GetBuffer", (PyCFunction)PySfSoundBufferRecorder_GetBuffer, METH_NOARGS, "GetBuffer()\nGet the sound buffer containing the captured audio data. Returns a SoundBuffer object. Returns a sf.SoundBuffer instance."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfSoundBufferRecorderType = { - head_init - "SoundBufferRecorder", /*tp_name*/ - sizeof(PySfSoundBufferRecorder), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfSoundBufferRecorder_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Specialized SoundRecorder which saves the captured audio data into a sound buffer.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfSoundBufferRecorder_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - &PySfSoundRecorderType, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfSoundBufferRecorder_new, /* tp_new */ -}; - - diff --git a/bindings/python/src/SoundBufferRecorder.hpp b/bindings/python/src/SoundBufferRecorder.hpp deleted file mode 100644 index 4feadbe3..00000000 --- a/bindings/python/src/SoundBufferRecorder.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSOUNDBUFFERRECORDER_HPP -#define __PYSOUNDBUFFERRECORDER_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - sf::SoundBufferRecorder *obj; -} PySfSoundBufferRecorder; - -#endif diff --git a/bindings/python/src/SoundRecorder.cpp b/bindings/python/src/SoundRecorder.cpp deleted file mode 100644 index 4fc9facc..00000000 --- a/bindings/python/src/SoundRecorder.cpp +++ /dev/null @@ -1,166 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "SoundRecorder.hpp" - -#include "compat.hpp" - -bool CustomSoundRecorder::OnStart() -{ - bool result = false; - if (PyObject_HasAttrString(SoundRecorder, "OnStart")) - { - PyObject *OnStart = PyObject_GetAttrString(SoundRecorder, "OnStart"); - PyObject *Result = PyObject_CallFunction(OnStart, NULL); - result = PyBool_AsBool(Result); - Py_DECREF(OnStart); - Py_DECREF(Result); - } - return result; -} - -bool CustomSoundRecorder::OnProcessSamples(const sf::Int16* Samples, std::size_t SamplesCount) -{ - bool result = false; - if (PyObject_HasAttrString(SoundRecorder, "OnGetData")) - { - PyObject *OnGetData = PyObject_GetAttrString(SoundRecorder, "OnGetData"); - PyObject *Result = PyObject_CallFunction(OnGetData, (char *)"#s", (char *)Samples, SamplesCount*2); - result = PyBool_AsBool(Result); - Py_DECREF(OnGetData); - Py_DECREF(Result); - } - return result; -} - -void CustomSoundRecorder::OnStop() -{ - if (PyObject_HasAttrString(SoundRecorder, "OnStop")) - { - PyObject *OnStop = PyObject_GetAttrString(SoundRecorder, "OnStop"); - PyObject_CallFunction(OnStop, NULL); - Py_DECREF(OnStop); - } -} - -static void -PySfSoundRecorder_dealloc(PySfSoundRecorder* self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfSoundRecorder_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfSoundRecorder *self; - self = (PySfSoundRecorder *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->obj = new CustomSoundRecorder(); - self->obj->SoundRecorder = (PyObject *)self; - } - return (PyObject *)self; -} - -static PyObject * -PySfSoundRecorder_Start(PySfSoundRecorder* self, PyObject *args) -{ - self->obj->Start(PyLong_AsLong(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfSoundRecorder_Stop(PySfSoundRecorder* self) -{ - self->obj->Stop(); - Py_RETURN_NONE; -} - -static PyObject * -PySfSoundRecorder_GetSampleRate(PySfSoundRecorder* self) -{ - return PyLong_FromLong(self->obj->GetSampleRate()); -} - -static PyObject * -PySfSoundRecorder_IsAvailable(PySfSoundRecorder* self) -{ - return PyBool_FromLong(sf::SoundRecorder::IsAvailable()); -} - - -static PyMethodDef PySfSoundRecorder_methods[] = { - {"Start", (PyCFunction)PySfSoundRecorder_Start, METH_O, "Start(SampleRate=44100)\nStart the capture. Warning : only one capture can happen at the same time.\n SampleRate : Sound frequency (the more samples, the higher the quality) (44100 by default = CD quality)."}, - {"Stop", (PyCFunction)PySfSoundRecorder_Stop, METH_NOARGS, "Stop()\nStop the capture."}, - {"GetSampleRate", (PyCFunction)PySfSoundRecorder_GetSampleRate, METH_NOARGS, "GetSampleRate()\nGet the sample rate. Returns the frequency, in samples per second."}, - {"IsAvailable", (PyCFunction)PySfSoundRecorder_IsAvailable, METH_STATIC | METH_NOARGS, "IsAvailable()\nTell if the system supports sound capture. If not, this class won't be usable. Returns True if audio capture is supported."}, - {NULL} /* Sentinel */ -}; - - -PyTypeObject PySfSoundRecorderType = { - head_init - "SoundRecorder", /*tp_name*/ - sizeof(PySfSoundRecorder), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfSoundRecorder_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "SoundRecorder is an interface for capturing sound data, it is meant to be used as a base class.\n\ -Construct the sound recorder with a callback function for processing captured samples : SoundRecorder(Callback, UserData)\n\ - Callback : Callback function for processing captured samples. This function must take two parameters: the first one is a string containing captured samples, the second one is UserData.\n\ - UserData : Data to pass to the callback function (None by default).", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfSoundRecorder_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfSoundRecorder_new, /* tp_new */ -}; - diff --git a/bindings/python/src/SoundRecorder.hpp b/bindings/python/src/SoundRecorder.hpp deleted file mode 100644 index cc360024..00000000 --- a/bindings/python/src/SoundRecorder.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSOUNDRECORDER_HPP -#define __PYSOUNDRECORDER_HPP - -#include - -#include - -class CustomSoundRecorder : public sf::SoundRecorder -{ -public : - PyObject *SoundRecorder; - virtual bool OnStart(); - virtual bool OnProcessSamples(const sf::Int16* Samples, std::size_t SamplesCount); - virtual void OnStop(); -}; - -typedef struct { - PyObject_HEAD - CustomSoundRecorder *obj; -} PySfSoundRecorder; - -#endif diff --git a/bindings/python/src/SoundStream.cpp b/bindings/python/src/SoundStream.cpp deleted file mode 100644 index 7c73bbf4..00000000 --- a/bindings/python/src/SoundStream.cpp +++ /dev/null @@ -1,346 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "SoundStream.hpp" - -#include "compat.hpp" - - -void CustomSoundStream::OnSeek(float TimeOffset) -{ - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - if (PyObject_HasAttrString(SoundStream, "OnSeek")) - { - PyObject *OnSeek = PyObject_GetAttrString(SoundStream, "OnSeek"); - if (OnSeek != NULL) - { - PyObject_CallFunction(OnSeek, const_cast( "f" ), TimeOffset); - Py_CLEAR(OnSeek); - } - } - if (PyErr_Occurred()) - { - PyErr_Print(); - } - PyGILState_Release(gstate); -} - -bool CustomSoundStream::OnGetData(Chunk& Data) -{ - PyGILState_STATE gstate; - bool result = false; - PyObject *Function, *PyData; - gstate = PyGILState_Ensure(); - Function = PyObject_GetAttrString(SoundStream, "OnGetData"); - if (Function != NULL) - { - PyData = PyObject_CallFunction(Function, NULL); - if (PyData != NULL) - { - if (PyArg_Parse(PyData, "s#", &(Data.Samples), &(Data.NbSamples))) - { - Data.NbSamples /= 2; - if (Data.NbSamples > 0) - result = true; - } - Py_CLEAR(PyData); - } - Py_CLEAR(Function); - } - if (PyErr_Occurred()) - { - PyErr_Print(); - result = false; - } - PyGILState_Release(gstate); - return result; -} - -void CustomSoundStream::Init(unsigned int ChannelsCount, unsigned int SampleRate) -{ - Initialize(ChannelsCount, SampleRate); -} - -static void -PySfSoundStream_dealloc(PySfSoundStream *self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfSoundStream_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfSoundStream *self; - self = (PySfSoundStream *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->obj = new CustomSoundStream(); - self->obj->SoundStream = (PyObject *)self; - } - return (PyObject *)self; -} - -static PyObject * -PySfSoundStream_Initialize(PySfSoundStream *self, PyObject *args) -{ - unsigned int ChannelsCount, SampleRate; - if (!PyArg_ParseTuple(args, "II:SoundStream.Initialize", &ChannelsCount, &SampleRate)) - return NULL; - self->obj->Init(ChannelsCount, SampleRate); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_Play(PySfSoundStream *self) -{ - self->obj->Play(); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_Stop(PySfSoundStream *self) -{ - self->obj->Stop(); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_GetChannelsCount(PySfSoundStream *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetChannelsCount()); -} - -static PyObject* -PySfSoundStream_GetSampleRate(PySfSoundStream *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetSampleRate()); -} - -static PyObject* -PySfSoundStream_SetPitch(PySfSoundStream *self, PyObject *args) -{ - self->obj->SetPitch(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_SetMinDistance(PySfSoundStream *self, PyObject *args) -{ - self->obj->SetMinDistance(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_SetAttenuation(PySfSoundStream *self, PyObject *args) -{ - self->obj->SetAttenuation(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_SetVolume(PySfSoundStream *self, PyObject *args) -{ - self->obj->SetVolume(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_GetPitch(PySfSoundStream *self) -{ - return PyFloat_FromDouble(self->obj->GetPitch()); -} - -static PyObject* -PySfSoundStream_GetMinDistance(PySfSoundStream *self) -{ - return PyFloat_FromDouble(self->obj->GetMinDistance()); -} - -static PyObject* -PySfSoundStream_GetAttenuation(PySfSoundStream *self) -{ - return PyFloat_FromDouble(self->obj->GetAttenuation()); -} - -static PyObject* -PySfSoundStream_GetVolume(PySfSoundStream *self) -{ - return PyFloat_FromDouble(self->obj->GetVolume()); -} - -static PyObject* -PySfSoundStream_GetPosition(PySfSoundStream *self) -{ - sf::Vector3f Vect = self->obj->GetPosition(); - return Py_BuildValue("fff", Vect.x, Vect.y, Vect.z); -} - -static PyObject* -PySfSoundStream_Pause(PySfSoundStream *self) -{ - self->obj->Pause(); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_SetPosition(PySfSoundStream *self, PyObject *args) -{ - float X, Y, Z; - if (!PyArg_ParseTuple(args, "fff:SoundStream.SetPosition", &X, &Y, &Z)) - return NULL; - self->obj->SetPosition(X, Y, Z); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_GetStatus(PySfSoundStream *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetStatus()); -} - -static PyObject* -PySfSoundStream_SetLoop(PySfSoundStream *self, PyObject *args) -{ - self->obj->SetLoop(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_GetLoop(PySfSoundStream *self) -{ - return PyBool_FromLong(self->obj->GetLoop()); -} - -static PyObject* -PySfSoundStream_GetPlayingOffset(PySfSoundStream *self) -{ - return PyFloat_FromDouble(self->obj->GetPlayingOffset()); -} - -static PyObject* -PySfSoundStream_SetRelativeToListener(PySfSoundStream *self, PyObject *args) -{ - self->obj->SetRelativeToListener(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject* -PySfSoundStream_IsRelativeToListener(PySfSoundStream *self) -{ - return PyBool_FromLong(self->obj->IsRelativeToListener()); -} - -static PyMethodDef PySfSoundStream_methods[] = { - {"SetRelativeToListener", (PyCFunction)PySfSoundStream_SetRelativeToListener, METH_O, "SetRelativeToListener(Relative)\nMake the sound's position relative to the listener's position, or absolute. The default value is false (absolute)\n Relative : True to set the position relative, false to set it absolute"}, - {"IsRelativeToListener", (PyCFunction)PySfSoundStream_IsRelativeToListener, METH_NOARGS, "IsRelativeToListener()\nTell if the sound's position is relative to the listener's position, or if it's absolute."}, - {"Initialize", (PyCFunction)PySfSoundStream_Initialize, METH_VARARGS, "Initialize(ChannelsCount, SampleRate)\n\ -Set the audio stream parameters, you must call it before Play()\n\ - ChannelsCount : Number of channels\n\ - SampleRate : Sample rate."}, - {"Play", (PyCFunction)PySfSoundStream_Play, METH_NOARGS, "Play()\nPlay the sound."}, - {"Stop", (PyCFunction)PySfSoundStream_Stop, METH_NOARGS, "Stop()\nStop the sound."}, - {"GetChannelsCount", (PyCFunction)PySfSoundStream_GetChannelsCount, METH_NOARGS, "GetChannelsCount()\nReturn the number of channels (1 = mono, 2 = stereo)."}, - {"GetSampleRate", (PyCFunction)PySfSoundStream_GetSampleRate, METH_NOARGS, "GetSampleRate()\nGet the sound frequency (sample rate)."}, - {"GetStatus", (PyCFunction)PySfSoundStream_GetStatus, METH_NOARGS, "GetStatus()\nGet the status of the sound (stopped, paused, playing)."}, - {"SetLoop", (PyCFunction)PySfSoundStream_SetLoop, METH_O, "SetLoop(Loop)\nSet the music loop state. This parameter is disabled by default\n Loop : True to play in loop, false to play once "}, - {"GetLoop", (PyCFunction)PySfSoundStream_GetLoop, METH_NOARGS, "GetLoop()\nTell whether or not the music is looping."}, - {"GetPlayingOffset", (PyCFunction)PySfSoundStream_GetPlayingOffset, METH_NOARGS, "GetPlayingOffset()\nGet the current playing position of the stream."}, -/* The following methods should be inherited from sf.Sound */ - {"SetPitch", (PyCFunction)PySfSoundStream_SetPitch, METH_O, "SetPitch(Pitch)\nSet the sound pitch. The default pitch is 1.\n Pitch : New pitch"}, - {"SetMinDistance", (PyCFunction)PySfSoundStream_SetMinDistance, METH_O, "SetMinDistance(MinDistance)\nSet the minimum distance - closer than this distance, the listener will hear the sound at its maximum volume. The default minimum distance is 1.0.\n MinDistance : New minimum distance for the sound"}, - {"SetAttenuation", (PyCFunction)PySfSoundStream_SetAttenuation, METH_O, "SetAttenuation(Attenuation)\nSet the attenuation factor - the higher the attenuation, the more the sound will be attenuated with distance from listener. The default attenuation factor 1.0.\n Attenuation : New attenuation factor for the sound"}, - {"SetVolume", (PyCFunction)PySfSoundStream_SetVolume, METH_O, "SetVolume(Volume)\nSet the sound volume.\n Volume : Volume (in range [0, 100])"}, - {"SetPosition", (PyCFunction)PySfSoundStream_SetPosition, METH_VARARGS, "SetPosition(X, Y, Z)\nSet the sound position in the world.\n X,Y,Z : Position of the sound in the world"}, - {"GetPitch", (PyCFunction)PySfSoundStream_GetPitch, METH_NOARGS, "GetPitch()\nGet the sound pitch."}, - {"GetMinDistance", (PyCFunction)PySfSoundStream_GetMinDistance, METH_NOARGS, "GetMinDistance()\nGet the minimum distance."}, - {"GetAttenuation", (PyCFunction)PySfSoundStream_GetAttenuation, METH_NOARGS, "GetAttenuation()\nGet the attenuation factor."}, - {"GetVolume", (PyCFunction)PySfSoundStream_GetVolume, METH_NOARGS, "GetVolume()\nGet the sound volume."}, - {"GetPosition", (PyCFunction)PySfSoundStream_GetPosition, METH_NOARGS, "GetPosition()\nGet the sound position in the world. Returns a tuple."}, - {"Pause", (PyCFunction)PySfSoundStream_Pause, METH_NOARGS, "Pause()\nPause the sound."}, - {NULL} /* Sentinel */ -}; - - -PyTypeObject PySfSoundStreamType = { - head_init - "SoundStream", /*tp_name*/ - sizeof(PySfSoundStream), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfSoundStream_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "SoundStream is a streamed sound, ie samples are acquired\ -while the sound is playing. Use it for big sounds that would\ -require hundreds of MB in memory (see Music),\ -or for streaming sound from the network", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfSoundStream_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfSoundStream_new, /* tp_new */ -}; - - -void -PySfSoundStream_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::SoundStream::Stopped); - PyDict_SetItemString(PySfSoundStreamType.tp_dict, "Stopped", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::SoundStream::Paused); - PyDict_SetItemString(PySfSoundStreamType.tp_dict, "Paused", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::SoundStream::Playing); - PyDict_SetItemString(PySfSoundStreamType.tp_dict, "Playing", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/SoundStream.hpp b/bindings/python/src/SoundStream.hpp deleted file mode 100644 index 055c7fba..00000000 --- a/bindings/python/src/SoundStream.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSOUNDSTREAM_HPP -#define __PYSOUNDSTREAM_HPP - -#include - -#include - -class CustomSoundStream : public sf::SoundStream -{ -public : - PyObject *SoundStream; - virtual void OnSeek(float TimeOffset); - virtual bool OnGetData(Chunk& Data); - void Init(unsigned int ChannelsCount, unsigned int SampleRate); -}; - - -typedef struct { - PyObject_HEAD - CustomSoundStream *obj; -} PySfSoundStream; - -void -PySfSoundStream_InitConst(); - -#endif - diff --git a/bindings/python/src/Sprite.cpp b/bindings/python/src/Sprite.cpp deleted file mode 100644 index 4c47a4cd..00000000 --- a/bindings/python/src/Sprite.cpp +++ /dev/null @@ -1,256 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Sprite.hpp" -#include "Drawable.hpp" -#include "Color.hpp" - -#include "compat.hpp" - - -extern PyTypeObject PySfColorType; -extern PyTypeObject PySfImageType; -extern PyTypeObject PySfIntRectType; -extern PyTypeObject PySfDrawableType; - - -static void -PySfSprite_dealloc(PySfSprite *self) -{ - Py_CLEAR(self->Image); - Py_CLEAR(self->SubRect); - delete self->obj; - free_object(self); -} - -static PyObject * -PySfSprite_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfSprite *self; - - self = (PySfSprite *)type->tp_alloc(type, 0); - - if (self != NULL) - { - self->Image = NULL; - self->SubRect = NULL; - self->IsCustom = false; - } - - return (PyObject *)self; -} - - -static int -PySfSprite_init(PySfSprite *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Image", "X", "Y", "ScaleX", "ScaleY", "Rotation", "Color", NULL}; - float X=0, Y=0, ScaleX=1, ScaleY=1, Rotation=0; - PySfImage *Image=NULL; - PySfColor *Color=NULL; - - if (! PyArg_ParseTupleAndKeywords(args, kwds, "O!|fffffO!:Sprite.__init__", (char **)kwlist, &PySfImageType, &Image, &X, &Y, &ScaleX, &ScaleY, &Rotation, &PySfColorType, &Color)) - return -1; - - Py_INCREF(Image); - self->Image = Image; - if (Color != NULL) - self->obj = new sf::Sprite(*(Image->obj), sf::Vector2f(X, Y), sf::Vector2f(ScaleX, ScaleY), Rotation, *(Color->obj)); - else - self->obj = new sf::Sprite(*(Image->obj), sf::Vector2f(X, Y), sf::Vector2f(ScaleX, ScaleY), Rotation); - - return 0; -} - - - -static PyObject * -PySfSprite_SetImage(PySfSprite* self, PyObject *args) -{ - PySfImage *Image = (PySfImage *)args; - if (! PyObject_TypeCheck(Image, &PySfImageType)) - { - PyErr_SetString(PyExc_TypeError, "Sprite.SetImage() Argument is not a sf.Image"); - return NULL; - } - Py_CLEAR(self->Image); - Py_INCREF(Image); - self->Image = Image; - self->obj->SetImage(*(Image->obj)); - Py_RETURN_NONE; -} - -static PyObject * -PySfSprite_GetImage(PySfSprite* self) -{ - Py_INCREF(self->Image); - return (PyObject *)(self->Image); -} - -static PyObject * -PySfSprite_GetPixel(PySfSprite* self, PyObject *args) -{ - PySfColor *Color; - unsigned int x=0, y=0; - - if (!PyArg_ParseTuple(args, "II:Sprite.GetPixel", &x, &y)) - return NULL; - - Color = GetNewPySfColor(); - Color->obj = new sf::Color(self->obj->GetPixel(x, y)); - Color->r = Color->obj->r; - Color->g = Color->obj->g; - Color->b = Color->obj->b; - Color->a = Color->obj->a; - - return (PyObject *)Color; -} - -static PyObject * -PySfSprite_Resize(PySfSprite* self, PyObject *args) -{ - float W=0, H=0; - - if (! PyArg_ParseTuple(args, "ff:Sprite.Resize", &W, &H)) - return NULL; - - self->obj->Resize(W,H); - Py_RETURN_NONE; -} - -static PyObject * -PySfSprite_GetSubRect(PySfSprite* self) -{ - if (self->SubRect != NULL) - { - Py_INCREF(self->SubRect); - return (PyObject *)(self->SubRect); - } - else - { - PySfIntRect *Rect; - Rect = GetNewPySfIntRect(); - Rect->Owner = false; - Rect->obj = (sf::IntRect *) &(self->obj->GetSubRect()); - PySfIntRectUpdateSelf(Rect); - Py_INCREF(Rect); - self->SubRect = Rect; - return (PyObject *)Rect; - } -} - -static PyObject * -PySfSprite_SetSubRect(PySfSprite* self, PyObject *args) -{ - PySfIntRect *Rect = (PySfIntRect *)args; - if (!PyObject_TypeCheck(Rect, &PySfIntRectType)) - { - PyErr_SetString(PyExc_TypeError, "Sprite.SetSubRect() Argument is not a sf.IntRect instance"); - return NULL; - } - Py_CLEAR(self->SubRect); - Py_INCREF(Rect); - self->SubRect = Rect; - self->obj->SetSubRect(*(Rect->obj)); - Py_RETURN_NONE; -} - -static PyObject * -PySfSprite_FlipX(PySfSprite* self, PyObject *args) -{ - self->obj->FlipX(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfSprite_FlipY(PySfSprite* self, PyObject *args) -{ - self->obj->FlipY(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfSprite_GetSize(PySfSprite* self) -{ - sf::Vector2f Vect = self->obj->GetSize(); - return Py_BuildValue("ff", Vect.x, Vect.y); -} - -static PyMethodDef PySfSprite_methods[] = { - {"SetImage", (PyCFunction)PySfSprite_SetImage, METH_O, "SetImage(Image)\nChange the image of the sprite.\n Image : new image (sf.Image instance)"}, - {"GetImage", (PyCFunction)PySfSprite_GetImage, METH_NOARGS, "GetImage()\nGet the source image of the sprite."}, - {"GetSize", (PyCFunction)PySfSprite_GetSize, METH_NOARGS, "GetSize()\nGet the sprite's size."}, - {"GetPixel", (PyCFunction)PySfSprite_GetPixel, METH_VARARGS, "GetPixel()\nGet the color of a given pixel in the sprite."}, - {"Resize", (PyCFunction)PySfSprite_Resize, METH_VARARGS, "Resize(Width, Height)\nResize the sprite (by changing its scale factors). The default size is defined by the subrect.\n\ - Width : New width (must be strictly positive)\n\ - Height : New height (must be strictly positive)"}, - {"GetSubRect", (PyCFunction)PySfSprite_GetSubRect, METH_NOARGS, "GetSubRect()\nGet the sub-rectangle of the sprite inside the source image."}, - {"SetSubRect", (PyCFunction)PySfSprite_SetSubRect, METH_O, "SetSubRect(SubRect)\nSet the sub-rectangle of the sprite inside the source image. By default, the subrect covers the entire source image.\n SubRect : New sub-rectangle"}, - {"FlipX", (PyCFunction)PySfSprite_FlipX, METH_O, "FlipX(Flipped)\nFlip the sprite horizontally.\n Flipped : True to flip the sprite"}, - {"FlipY", (PyCFunction)PySfSprite_FlipY, METH_O, "FlipY(Flipped)\nFlip the sprite vertically.\n Flipped : True to flip the sprite"}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfSpriteType = { - head_init - "Sprite", /*tp_name*/ - sizeof(PySfSprite), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfSprite_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sfSprite defines a sprite : texture, transformations, color, and draw on screen", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfSprite_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - &PySfDrawableType, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - (initproc)PySfSprite_init, /* tp_init */ - 0, /* tp_alloc */ - PySfSprite_new, /* tp_new */ -}; - - diff --git a/bindings/python/src/Sprite.hpp b/bindings/python/src/Sprite.hpp deleted file mode 100644 index 78ae631e..00000000 --- a/bindings/python/src/Sprite.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSPRITE_HPP -#define __PYSPRITE_HPP - -#include - -#include - -#include "Image.hpp" -#include "Rect.hpp" - -typedef struct { - PyObject_HEAD - bool IsCustom; - sf::Sprite *obj; - PySfImage *Image; - PySfIntRect *SubRect; -} PySfSprite; - -#endif diff --git a/bindings/python/src/Text.cpp b/bindings/python/src/Text.cpp deleted file mode 100644 index 84529c16..00000000 --- a/bindings/python/src/Text.cpp +++ /dev/null @@ -1,307 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Text.hpp" -#include "Font.hpp" -#include "Color.hpp" -#include "Rect.hpp" - -#include "compat.hpp" - - -extern PyTypeObject PySfDrawableType; -extern PyTypeObject PySfFontType; - - -static void -PySfText_dealloc(PySfText *self) -{ - Py_CLEAR(self->font); - delete self->obj; - free_object(self); -} - -static PyObject * -PySfText_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfText *self; - self = (PySfText *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->font = NULL; - self->IsCustom = false; - self->obj = new sf::Text(); - } - return (PyObject *)self; -} - -static PyObject * -PySfText_SetString(PySfText* self, PyObject *args) -{ - char *Text, *EncodingStr=NULL; - int Length; - std::string Encoding; - if (PyArg_ParseTuple(args, "u:Text.SetString", &Text)) - { -#if Py_UNICODE_SIZE == 4 - self->obj->SetString((sf::Uint32 *)Text); -#else - self->obj->SetString((sf::Uint16 *)Text); -#endif - } - else if (PyArg_ParseTuple(args, "s|#s:Text.SetString", &Text, &Length, &EncodingStr)) - { - PyErr_Clear(); - if (EncodingStr == NULL) - self->obj->SetString(Text); - else - { - Encoding.assign(EncodingStr); - if (Encoding == "utf8") - self->obj->SetString(Text); - else if (Encoding == "utf16") - self->obj->SetString(Text+2); - else if (Encoding == "utf32") - self->obj->SetString(Text+4); - else - { - PyErr_Format(PyExc_TypeError, "Text.SetString() Encoding %s not supported", EncodingStr); - return NULL; - } - } - } - else - { - PyErr_BadArgument(); - return NULL; - } - Py_RETURN_NONE; -} - -static PyObject * -PySfText_SetFont(PySfText* self, PyObject *args) -{ - PySfFont *Font = (PySfFont *)args; - if (!PyObject_TypeCheck(Font, &PySfFontType)) - { - PyErr_SetString(PyExc_ValueError, "Text.SetFont() Argument must be a sf.Font"); - return NULL; - } - Py_CLEAR(self->font); - Py_INCREF(args); - self->font = Font; - self->obj->SetFont(*(Font->obj)); - Py_RETURN_NONE; -} - -static PyObject * -PySfText_SetCharacterSize(PySfText* self, PyObject *args) -{ - self->obj->SetCharacterSize(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfText_GetCharacterSize(PySfText* self) -{ - return PyFloat_FromDouble(self->obj->GetCharacterSize()); -} - -static PyObject * -PySfText_SetStyle(PySfText* self, PyObject *args) -{ - self->obj->SetStyle(PyLong_AsUnsignedLong(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfText_GetStyle(PySfText* self) -{ - return PyLong_FromUnsignedLong(self->obj->GetStyle()); -} - -static PyObject * -PySfText_GetString(PySfText* self) -{ -#if Py_UNICODE_SIZE == 4 - const sf::String& Text(self->obj->GetString()); -#else - const sf::String& Text(self->obj->GetString()); -#endif - return PyUnicode_FromUnicode((const Py_UNICODE*)Text.ToAnsiString().c_str(), Text.GetSize()); -} - -static PyObject * -PySfText_GetFont(PySfText* self) -{ - if (self->font == NULL) - { - PySfFont *Font = GetNewPySfFont(); - Font->obj = (sf::Font *)&(sf::Font::GetDefaultFont()); - Font->Owner = false; - return (PyObject *)Font; - } - else - { - Py_INCREF(self->font); - return (PyObject *)(self->font); - } -} - -static PyObject * -PySfText_GetRect(PySfText* self) -{ - PySfFloatRect *Rect; - - Rect = GetNewPySfFloatRect(); - Rect->Owner = true; - Rect->obj = new sf::FloatRect (self->obj->GetRect()); - PySfFloatRectUpdateSelf(Rect); - - return (PyObject *)Rect; -} - -static PyObject * -PySfText_GetCharacterPos(PySfText* self, PyObject *args) -{ - sf::Vector2f Pos = self->obj->GetCharacterPos(PyLong_AsUnsignedLong(args)); - return Py_BuildValue("ff", Pos.x, Pos.y); -} - -static int -PySfText_init(PySfText *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Text", "Font", "Size", NULL}; - float Size = 30.f; - PyObject *Text=NULL; - PySfFont *Font = NULL; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|OO!f:Text.__new__", (char **)kwlist, &Text, &PySfFontType, &Font, &Size)) - return -1; - - if (Text != NULL) - { - if (PyUnicode_Check(Text)) - { -#if Py_UNICODE_SIZE == 4 - self->obj->SetString((sf::Uint32 *)PyUnicode_AS_UNICODE(Text)); -#else - self->obj->SetString((sf::Uint16 *)PyUnicode_AS_UNICODE(Text)); -#endif - } -#ifdef IS_PY3K - else if (PyBytes_Check(Text)) - self->obj->SetString(PyBytes_AsString(Text)); -#else - else if (PyString_Check(Text)) - self->obj->SetString(PyString_AsString(Text)); -#endif - else - { - PyErr_SetString(PyExc_TypeError, "Text.__init__() first argument must be str"); - return -1; - } - } - if (Font) PySfText_SetFont(self, (PyObject *)Font); - self->obj->SetCharacterSize(Size); - return 0; -} - - -static PyMethodDef PySfText_methods[] = { - {"GetCharacterPos", (PyCFunction)PySfText_GetCharacterPos, METH_O, "GetCharacterPos(Index)\n\ -Return the visual position (a tuple of two floats) of the Index-th character of the string, in coordinates relative to the string (note : translation, center, rotation and scale are not applied)\n\ - Index : Index of the character"}, - {"SetString", (PyCFunction)PySfText_SetString, METH_VARARGS, "SetString(UnicodeText) or SetString(Text, Encoding='utf8')\nSet the text. Valid encodings are 'utf8', 'utf16' and 'utf32'.\n Text : New text"}, - {"GetString", (PyCFunction)PySfText_GetString, METH_NOARGS, "GetString()\nGet the text as an unicode string."}, - {"SetFont", (PyCFunction)PySfText_SetFont, METH_O, "SetFont(Font)\nSet the font of the string.\n Font : font to use"}, - {"GetFont", (PyCFunction)PySfText_GetFont, METH_NOARGS, "GetFont()\nGet the font used by the string."}, - {"SetCharacterSize", (PyCFunction)PySfText_SetCharacterSize, METH_O, "SetCharacterSize(Size)\nSet the size of the text.\n Size : New size, in pixels"}, - {"GetCharacterSize", (PyCFunction)PySfText_GetCharacterSize, METH_NOARGS, "GetCharacterSize()\nGet the size of the characters."}, - {"SetStyle", (PyCFunction)PySfText_SetStyle, METH_O, "SetStyle(TextSize)\nSet the style of the text. The default style is Regular.\n TextSize : New text style, (combination of Style values)"}, - {"GetStyle", (PyCFunction)PySfText_GetStyle, METH_NOARGS, "GetStyle()\nGet the style of the text."}, - {"GetRect", (PyCFunction)PySfText_GetRect, METH_NOARGS, "GetRect()\nGet the string rectangle on screen."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfTextType = { - head_init - "Text", /*tp_name*/ - sizeof(PySfText), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfText_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Text defines a graphical 2D text, that can be drawn on screen.\n\ -Default constructor : Text ()\nConstruct the string from an unicode or an ascii string : Text(Text, Font=sf.Font.GetDefaultFont(), Size=30.)\n Text : Text assigned to the string\n Font : Font used to draw the string (SFML built-in font by default)\n Size : Characters size (30 by default)", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfText_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - &PySfDrawableType, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - (initproc)PySfText_init, /* tp_init */ - 0, /* tp_alloc */ - PySfText_new, /* tp_new */ -}; - - - -void PySfText_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::Text::Regular); - PyDict_SetItemString(PySfTextType.tp_dict, "Regular", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Text::Bold); - PyDict_SetItemString(PySfTextType.tp_dict, "Bold", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Text::Italic); - PyDict_SetItemString(PySfTextType.tp_dict, "Italic", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Text::Underlined); - PyDict_SetItemString(PySfTextType.tp_dict, "Underlined", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/Text.hpp b/bindings/python/src/Text.hpp deleted file mode 100644 index 077f1ba0..00000000 --- a/bindings/python/src/Text.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYSTRING_HPP -#define __PYSTRING_HPP - -#include - -#include - -#include "Font.hpp" - -typedef struct { - PyObject_HEAD - bool IsCustom; - sf::Text *obj; - PySfFont *font; -} PySfText; - -void PySfText_InitConst(); - -#endif diff --git a/bindings/python/src/VideoMode.cpp b/bindings/python/src/VideoMode.cpp deleted file mode 100644 index b989cd43..00000000 --- a/bindings/python/src/VideoMode.cpp +++ /dev/null @@ -1,197 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "VideoMode.hpp" - -#include - -#include "offsetof.hpp" -#include "compat.hpp" - - -static PyMemberDef PySfVideoMode_members[] = { - {(char *)"Width", T_UINT, offsetof(PySfVideoMode, Width), 0, (char *)"Video mode width, in pixels."}, - {(char *)"Height", T_UINT, offsetof(PySfVideoMode, Height), 0, (char *)"Video mode height, in pixels."}, - {(char *)"BitsPerPixel", T_UINT, offsetof(PySfVideoMode, BitsPerPixel), 0, (char *)"Video mode pixel depth, in bits per pixels."}, - {NULL} /* Sentinel */ -}; - - -static void -PySfVideoMode_dealloc(PySfVideoMode* self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfVideoMode_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Width", "Height", "BitsPerPixel", NULL}; - PySfVideoMode *self; - self = (PySfVideoMode *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->BitsPerPixel = 32; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "II|I:VideoMode.__new__", (char **)kwlist, &self->Width, &self->Height, &self->BitsPerPixel)) - return NULL; - self->obj = new sf::VideoMode(self->Width, self->Height, self->BitsPerPixel); - } - return (PyObject *)self; -} - -static PyObject * -PySfVideoMode_IsValid(PySfVideoMode* self) -{ - return PyBool_FromLong(self->obj->IsValid()); -} - -static PyObject * -PySfVideoMode_GetDesktopMode(PySfVideoMode* self) -{ - PySfVideoMode *VideoMode; - - VideoMode = GetNewPySfVideoMode(); - VideoMode->obj = new sf::VideoMode(sf::VideoMode::GetDesktopMode()); - VideoMode->Width = VideoMode->obj->Width; - VideoMode->Height = VideoMode->obj->Height; - VideoMode->BitsPerPixel = VideoMode->obj->BitsPerPixel; - - return (PyObject *)VideoMode; -} - -static PyObject * -PySfVideoMode_GetMode(PySfVideoMode* self, PyObject *args) -{ - std::size_t index; - PySfVideoMode *VideoMode; - - index = (std::size_t)PyLong_AsLong(args); - - VideoMode = GetNewPySfVideoMode(); - VideoMode->obj = new sf::VideoMode(sf::VideoMode::GetMode(index)); - VideoMode->Width = VideoMode->obj->Width; - VideoMode->Height = VideoMode->obj->Height; - VideoMode->BitsPerPixel = VideoMode->obj->BitsPerPixel; - - return (PyObject *)VideoMode; -} - -static PyObject * -PySfVideoMode_GetModesCount(PySfVideoMode* self) -{ - return PyLong_FromLong(sf::VideoMode::GetModesCount()); -} - - -static PyMethodDef PySfVideoMode_methods[] = { - {"IsValid", (PyCFunction)PySfVideoMode_IsValid, METH_NOARGS, "IsValid()\nTell whether or not the video mode is supported."}, - {"GetDesktopMode", (PyCFunction)PySfVideoMode_GetDesktopMode, METH_STATIC | METH_NOARGS, "GetDesktopMode()\nGet the current desktop video mode."}, - {"GetMode", (PyCFunction)PySfVideoMode_GetMode, METH_STATIC | METH_O, "GetMode(Index)\nGet a valid video mode. Index must be in range [0, GetModesCount()[ Modes are sorted from best to worst.\n Index : Index of video mode to get"}, - {"GetModesCount", (PyCFunction)PySfVideoMode_GetModesCount, METH_STATIC | METH_NOARGS, "GetModesCount()\nGet valid video modes count."}, - {NULL} /* Sentinel */ -}; - -PyObject * -PySfVideoMode_richcompare(PyObject *o1, PyObject *o2, int op) -{ - if (*(((PySfVideoMode *)o1)->obj) == *(((PySfVideoMode *)o2)->obj)) - { - if (op==Py_EQ) - Py_RETURN_TRUE; - if (op==Py_NE) - Py_RETURN_FALSE; - } - else - { - if (op==Py_EQ) - Py_RETURN_FALSE; - if (op==Py_NE) - Py_RETURN_TRUE; - } - PyErr_SetString(PyExc_TypeError, "VideoMode comparison : only == and != make sens."); - return NULL; -} - -int -PySfVideoMode_setattro(PyObject* self, PyObject *attr_name, PyObject *v) -{ - int result = PyObject_GenericSetAttr(self, attr_name, v); - PySfVideoMode *Mode = (PySfVideoMode *)self; - Mode->obj->Width = Mode->Width; - Mode->obj->Height = Mode->Height; - Mode->obj->BitsPerPixel = Mode->BitsPerPixel; - return result; -} - -PyTypeObject PySfVideoModeType = { - head_init - "VideoMode", /*tp_name*/ - sizeof(PySfVideoMode), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfVideoMode_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.VideoMode defines a video mode (width, height, bpp, frequency) and provides functions for getting modes supported by the display device\n\ -Default constructor : VideoMode()\n\ -Construct the video mode with its attributes : VideoMode(ModeWidth, ModeHeight, ModeBpp = 32)\n ModeWidth : Width in pixels\n ModeHeight : Height in pixels\n ModeBpp : Pixel depths in bits per pixel (32 by default)", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - PySfVideoMode_richcompare, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfVideoMode_methods, /* tp_methods */ - PySfVideoMode_members, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfVideoMode_new, /* tp_new */ -}; - - -PySfVideoMode * -GetNewPySfVideoMode() -{ - return PyObject_New(PySfVideoMode, &PySfVideoModeType); -} - diff --git a/bindings/python/src/VideoMode.hpp b/bindings/python/src/VideoMode.hpp deleted file mode 100644 index 3db195e8..00000000 --- a/bindings/python/src/VideoMode.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYVIDEOMODE_HPP -#define __PYVIDEOMODE_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD - unsigned int Width; - unsigned int Height; - unsigned int BitsPerPixel; - sf::VideoMode *obj; -} PySfVideoMode; - -PySfVideoMode * -GetNewPySfVideoMode(); - -#endif diff --git a/bindings/python/src/View.cpp b/bindings/python/src/View.cpp deleted file mode 100644 index 922c4346..00000000 --- a/bindings/python/src/View.cpp +++ /dev/null @@ -1,168 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "View.hpp" - -#include "offsetof.hpp" -#include "compat.hpp" - - -extern PyTypeObject PySfFloatRectType; - - -static void -PySfView_dealloc(PySfView *self) -{ - if (self->Owner) - delete self->obj; - free_object(self); -} - -static PyObject * -PySfView_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfView *self; - - self = (PySfView *)type->tp_alloc(type, 0); - if (self != NULL) - { - self->Owner = true; - PySfFloatRect *Rect = NULL; - if (!PyArg_ParseTuple(args, "|O!:View.__new__", &PySfFloatRectType, &Rect)) - return NULL; - - if (Rect != NULL) - self->obj = new sf::View( (const sf::FloatRect) *(Rect->obj)); - else - self->obj = new sf::View(); - } - - return (PyObject *)self; -} - -static PyObject * -PySfView_GetCenter(PySfView* self) -{ - sf::Vector2f Vect = self->obj->GetCenter(); - return Py_BuildValue("ff", Vect.x, Vect.y); -} - -static PyObject * -PySfView_Reset(PySfView* self, PyObject *args) -{ - PySfFloatRect *Rect = (PySfFloatRect *)args; - if (!PyObject_TypeCheck(Rect, &PySfFloatRectType)) - { - PyErr_SetString(PyExc_TypeError, "View.Reset() Argument is not a sf.FloatRect instance"); - return NULL; - } - self->obj->Reset(*(Rect->obj)); - Py_RETURN_NONE; -} - -static PyObject * -PySfView_Move(PySfView* self, PyObject *args) -{ - float x, y; - if (!PyArg_ParseTuple(args, "ff:View.Move", &x, &y) ) - return NULL; - self->obj->Move(x, y); - Py_RETURN_NONE; -} - -static PyObject * -PySfView_SetCenter(PySfView* self, PyObject *args) -{ - float x, y; - if (!PyArg_ParseTuple(args, "ff:View.SetCenter", &x, &y) ) - return NULL; - self->obj->SetCenter(x, y); - Py_RETURN_NONE; -} - -static PyObject * -PySfView_Zoom(PySfView* self, PyObject *args) -{ - self->obj->Zoom(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyMethodDef PySfView_methods[] = { - {"GetCenter", (PyCFunction)PySfView_GetCenter, METH_NOARGS, "GetCenter()\nGet the center of the view."}, - {"Move", (PyCFunction)PySfView_Move, METH_VARARGS, "Move(OffsetX, OffsetY)\nMove the view.\n\ - OffsetX : Offset to move the view, on X axis\n\ - OffsetY : Offset to move the view, on Y axis"}, - {"Reset", (PyCFunction)PySfView_Reset, METH_O, "Reset(ViewRect)\nRebuild the view from a rectangle.\n ViewRect : Rectangle defining the position and size of the view."}, - {"SetCenter", (PyCFunction)PySfView_SetCenter, METH_VARARGS, "SetCenter(X, Y)\nChange the center of the view."}, - {"Zoom", (PyCFunction)PySfView_Zoom, METH_O, "Zoom(Factor)\nResize the view rectangle to simulate a zoom / unzoom effect."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfViewType = { - head_init - "View", /*tp_name*/ - sizeof(PySfView), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfView_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "This class defines a view (position, size, etc.) ; you can consider it as a 2D camera.", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfView_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfView_new, /* tp_new */ -}; - -PySfView * -GetNewPySfView() -{ - return PyObject_New(PySfView, &PySfViewType); -} - diff --git a/bindings/python/src/View.hpp b/bindings/python/src/View.hpp deleted file mode 100644 index 98f12527..00000000 --- a/bindings/python/src/View.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYVIEW_HPP -#define __PYVIEW_HPP - -#include - -#include - -#include "Rect.hpp" - -typedef struct { - PyObject_HEAD - bool Owner; - sf::View *obj; -} PySfView; - -PySfView * -GetNewPySfView(); - -#endif diff --git a/bindings/python/src/Window.cpp b/bindings/python/src/Window.cpp deleted file mode 100644 index 542b8668..00000000 --- a/bindings/python/src/Window.cpp +++ /dev/null @@ -1,395 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "Window.hpp" - -#include "Event.hpp" -#include "VideoMode.hpp" -#include "Input.hpp" -#include "ContextSettings.hpp" - -#include - -#include "compat.hpp" - - -extern PyTypeObject PySfEventType; -extern PyTypeObject PySfContextSettingsType; -extern PyTypeObject PySfVideoModeType; - - -static void -PySfWindow_dealloc(PySfWindow* self) -{ - delete self->obj; - free_object(self); -} - -static PyObject * -PySfWindow_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - long Handle; - PySfContextSettings *Params=NULL; - PySfWindow *self; - self = (PySfWindow *)type->tp_alloc(type, 0); - if (self != NULL) - { - if (PyArg_ParseTuple(args, "l|O!:Window.__new__", &Handle, &PySfContextSettingsType, &Params)) - { - if (Params) - { - PySfContextSettingsUpdate(Params); - self->obj = new sf::Window((sf::WindowHandle)Handle, *(Params->obj)); - } - else - self->obj = new sf::Window((sf::WindowHandle)Handle); - } - else - { - PyErr_Clear(); - self->obj = new sf::Window(); - } - } - return (PyObject *)self; -} - - -static PyObject* -PySfWindow_GetEvent(PySfWindow *self, PyObject *args) -{ - PySfEvent *PyEvent = (PySfEvent *)args; - - if (! PyObject_TypeCheck(PyEvent, &PySfEventType)) - { - PyErr_SetString(PyExc_TypeError, "Window.GetEvent() Argument is not a sfEvent"); - return NULL; - } - - if (self->obj->GetEvent(*(PyEvent->obj))) - { - PyEvent->Type = PyEvent->obj->Type; - PyEvent->Text->Unicode = PyEvent->obj->Text.Unicode; - PyEvent->Key->Code = PyEvent->obj->Key.Code; - Py_DECREF(PyEvent->Key->Alt); - PyEvent->Key->Alt = PyBool_FromLong(PyEvent->obj->Key.Alt); - Py_DECREF(PyEvent->Key->Control); - PyEvent->Key->Control = PyBool_FromLong(PyEvent->obj->Key.Control); - Py_DECREF(PyEvent->Key->Shift); - PyEvent->Key->Shift = PyBool_FromLong(PyEvent->obj->Key.Shift); - PyEvent->MouseButton->Button = PyEvent->obj->MouseButton.Button; - PyEvent->MouseButton->X = PyEvent->obj->MouseButton.X; - PyEvent->MouseButton->Y = PyEvent->obj->MouseButton.Y; - PyEvent->MouseMove->X = PyEvent->obj->MouseMove.X; - PyEvent->MouseMove->Y = PyEvent->obj->MouseMove.Y; - PyEvent->JoyMove->JoystickId = PyEvent->obj->JoyMove.JoystickId; - PyEvent->JoyButton->JoystickId = PyEvent->obj->JoyButton.JoystickId; - PyEvent->JoyButton->Button = PyEvent->obj->JoyButton.Button; - PyEvent->JoyMove->Axis = PyEvent->obj->JoyMove.Axis; - PyEvent->JoyMove->Position = PyEvent->obj->JoyMove.Position; - PyEvent->Size->Width = PyEvent->obj->Size.Width; - PyEvent->Size->Height = PyEvent->obj->Size.Height; - PyEvent->MouseWheel->Delta = PyEvent->obj->MouseWheel.Delta; - Py_RETURN_TRUE; - } - else - Py_RETURN_FALSE; -} - - -PyObject* -PySfWindow_Create(PySfWindow* self, PyObject *args, PyObject *kwds) -{ - PyObject *VideoModeTmp=NULL; - sf::VideoMode *VideoMode; - char *Title=NULL; - unsigned long WindowStyle = sf::Style::Resize | sf::Style::Close; - PySfContextSettings *Params=NULL; - - const char *kwlist[] = {"VideoMode", "Title", "WindowStyle", "Params", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!s|IO!:Window.Create", (char **)kwlist, &PySfVideoModeType, &VideoModeTmp, &Title, &WindowStyle, &PySfContextSettingsType, &Params)) - return NULL; - - VideoMode = ((PySfVideoMode *)VideoModeTmp)->obj; - - if (Params) - { - PySfContextSettingsUpdate(Params); - self->obj->Create(*VideoMode, Title, WindowStyle, *(Params->obj)); - } - else - self->obj->Create(*VideoMode, Title, WindowStyle); - - Py_RETURN_NONE; -} - -static int -PySfWindow_init(PySfWindow *self, PyObject *args, PyObject *kwds) -{ - long Handle; - PySfContextSettings *Params; - - if (args != NULL) - { - if (PyTuple_Size(args) == 0) - return 0; - if (PyArg_ParseTuple(args, "l|O!:Window.__new__", &Handle, &PySfContextSettingsType, &Params)) - return 0; - PyErr_Clear(); - if (PySfWindow_Create(self, args, kwds) == NULL) - return -1; - } - return 0; -} - -static PyObject * -PySfWindow_Close(PySfWindow *self) -{ - self->obj->Close(); - Py_RETURN_NONE; -} -static PyObject * -PySfWindow_IsOpened(PySfWindow *self) -{ - return PyBool_FromLong(self->obj->IsOpened()); -} -static PyObject * -PySfWindow_GetWidth(PySfWindow *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetWidth()); -} -static PyObject * -PySfWindow_GetHeight(PySfWindow *self) -{ - return PyLong_FromUnsignedLong(self->obj->GetHeight()); -} - -static PyObject * -PySfWindow_UseVerticalSync(PySfWindow *self, PyObject *args) -{ - self->obj->UseVerticalSync(PyBool_AsBool(args)); - Py_RETURN_NONE; -} -static PyObject * -PySfWindow_ShowMouseCursor(PySfWindow *self, PyObject *args) -{ - self->obj->ShowMouseCursor(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfWindow_SetActive(PySfWindow *self, PyObject *args) -{ - return PyBool_FromLong(self->obj->SetActive(PyBool_AsBool(args))); -} -static PyObject * -PySfWindow_Display(PySfWindow *self) -{ - self->obj->Display(); - Py_RETURN_NONE; -} -static PyObject * -PySfWindow_GetFrameTime(PySfWindow *self) -{ - return PyFloat_FromDouble(self->obj->GetFrameTime()); -} - -static PyObject * -PySfWindow_GetInput(PySfWindow *self) -{ - PySfInput *Input; - Input = GetNewPySfInput(); - Input->obj = (sf::Input *)&self->obj->GetInput(); - return (PyObject *)Input; -} - -static PyObject * -PySfWindow_GetSettings(PySfWindow *self) -{ - PySfContextSettings *Settings; - Settings = GetNewPySfContextSettings(); - Settings->obj = new sf::ContextSettings(self->obj->GetSettings()); - Settings->DepthBits = Settings->obj->DepthBits; - Settings->StencilBits = Settings->obj->StencilBits; - Settings->AntialiasingLevel = Settings->obj->AntialiasingLevel; - return (PyObject *)Settings; -} - -static PyObject * -PySfWindow_SetPosition(PySfWindow* self, PyObject *args) -{ - int Left=0, Top=0; - if (!PyArg_ParseTuple(args, "ii:Window.SetPosition", &Left, &Top)) - return NULL; - self->obj->SetPosition(Left,Top); - Py_RETURN_NONE; -} - -static PyObject * -PySfWindow_SetFramerateLimit(PySfWindow *self, PyObject *args) -{ - self->obj->SetFramerateLimit(PyLong_AsUnsignedLong(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfWindow_Show(PySfWindow *self, PyObject *args) -{ - self->obj->Show(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfWindow_EnableKeyRepeat(PySfWindow *self, PyObject *args) -{ - self->obj->EnableKeyRepeat(PyBool_AsBool(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfWindow_SetCursorPosition(PySfWindow* self, PyObject *args) -{ - unsigned int Left=0, Top=0; - if (!PyArg_ParseTuple(args, "II:Window.SetCursorPosition", &Left, &Top)) - return NULL; - self->obj->SetCursorPosition(Left,Top); - Py_RETURN_NONE; -} - -static PyObject * -PySfWindow_SetSize(PySfWindow* self, PyObject *args) -{ - unsigned int Width=0, Height=0; - if (!PyArg_ParseTuple(args, "II:Window.SetSize", &Width, &Height)) - return NULL; - self->obj->SetSize(Width, Height); - Py_RETURN_NONE; -} - -static PyObject * -PySfWindow_SetJoystickThreshold(PySfWindow* self, PyObject *args) -{ - self->obj->SetJoystickThreshold(PyFloat_AsDouble(args)); - Py_RETURN_NONE; -} - -static PyObject * -PySfWindow_SetIcon(PySfWindow* self, PyObject *args) -{ - unsigned int Width, Height, Size; - char *Data; - - if (! PyArg_ParseTuple(args, "IIs#:Window.SetIcon", &Width, &Height, &Data, &Size)) - return NULL; - - self->obj->SetIcon(Width, Height, (sf::Uint8*) Data); - Py_RETURN_NONE; -} - -static PyMethodDef PySfWindow_methods[] = { - {"Close", (PyCFunction)PySfWindow_Close, METH_NOARGS, "Close()\nClose (destroy) the window. The sf.Window instance remains valid and you can call Create to recreate the window."}, - {"Create", (PyCFunction)PySfWindow_Create, METH_VARARGS | METH_KEYWORDS, "Create(Mode, Title, sf.Style.Resize | sf.Style.Close, Params = sf.ContextSettings())\n\ -Create a window.\n\ - Mode : Video mode to use (sf.VideoMode instance)\n\ - Title : Title of the window\n\ - WindowStyle : Window style (Resize | Close by default)\n\ - Params : Creation parameters (see default constructor for default values)"}, - {"Display", (PyCFunction)PySfWindow_Display, METH_NOARGS, "Display()\nDisplay the window on screen."}, - {"EnableKeyRepeat", (PyCFunction)PySfWindow_EnableKeyRepeat, METH_O, "EnableKeyRepeat(Enable)\nEnable or disable automatic key-repeat. Automatic key-repeat is enabled by default.\n Enabled : True to enable, false to disable"}, - {"GetEvent", (PyCFunction)PySfWindow_GetEvent, METH_O, "GetEvent(Event)\nGet the event on top of events stack, if any, and pop it. Returns True if an event was returned, False if events stack was empty.\n EventReceived : Event to fill, if any."}, - {"GetFrameTime", (PyCFunction)PySfWindow_GetFrameTime, METH_NOARGS, "GetFrameTime()\nGet time elapsed since last frame. Returns time elapsed, in seconds"}, - {"GetHeight", (PyCFunction)PySfWindow_GetHeight, METH_NOARGS, "GetHeight()\nGet the height of the rendering region of the window."}, - {"GetInput", (PyCFunction)PySfWindow_GetInput, METH_NOARGS, "GetInput()\nGet the input manager of the window."}, - {"GetSettings", (PyCFunction)PySfWindow_GetSettings, METH_NOARGS, "GetSettings()\nGet the creation settings of the window."}, - {"GetWidth", (PyCFunction)PySfWindow_GetWidth, METH_NOARGS, "GetWidth()\nGet the width of the rendering region of the window."}, - {"IsOpened", (PyCFunction)PySfWindow_IsOpened, METH_NOARGS, "IsOpened()\nTell whether or not the window is opened (ie. has been created). Note that a hidden window (Show(False)) will still return True."}, - {"SetActive", (PyCFunction)PySfWindow_SetActive, METH_O, "SetActive(Active)\nActivate of deactivate the window as the current target for rendering. Returns True if operation was successful, False otherwise.\n Active : True to activate, False to deactivate (True by default)"}, - {"SetCursorPosition", (PyCFunction)PySfWindow_SetCursorPosition, METH_VARARGS, "SetCursorPosition(Left, Top)\nChange the position of the mouse cursor.\n Left : Left coordinate of the cursor, relative to the window\n Top : Top coordinate of the cursor, relative to the window"}, - {"SetSize", (PyCFunction)PySfWindow_SetSize, METH_VARARGS, "SetSize(Width, Height)\nChange the size of the rendering region of the window.\n\ - Width : New width\n Height : New height"}, - {"SetFramerateLimit", (PyCFunction)PySfWindow_SetFramerateLimit, METH_O, "SetFramerateLimit(Limit)\nSet the framerate at a fixed frequency.\n Limit : Framerate limit, in frames per seconds (use 0 to disable limit)"}, - {"SetJoystickThreshold", (PyCFunction)PySfWindow_SetJoystickThreshold, METH_O, "SetJoystickThreshold(Threshold)\nChange the joystick threshold, ie. the value below which no move event will be generated.\n Threshold : New threshold, in range [0., 100.]"}, - {"SetPosition", (PyCFunction)PySfWindow_SetPosition, METH_VARARGS, "SetPosition(X, Y)\nChange the position of the window on screen. Only works for top-level windows\n Left : Left position\n Top : Top position"}, - {"Show", (PyCFunction)PySfWindow_Show, METH_O, "Show(State)\nShow or hide the window.\n State : True to show, false to hide."}, - {"ShowMouseCursor", (PyCFunction)PySfWindow_ShowMouseCursor, METH_O, "ShowMouseCursor(Show)\nShow or hide the mouse cursor.\n Show : True to show, false to hide."}, - {"UseVerticalSync", (PyCFunction)PySfWindow_UseVerticalSync, METH_O, "UseVerticalSync(Enabled)\nEnable / disable vertical synchronization.\n Enabled : True to enable v-sync, False to deactivate"}, - {"SetIcon", (PyCFunction)PySfWindow_SetIcon, METH_VARARGS, "SetIcon(Width, Height, Pixels)\n\ -Change the window's icon.\n\ - Width : Icon's width, in pixels\n\ - Height : Icon's height, in pixels\n\ - Pixels : Pointer to the pixels in memory, format must be RGBA 32 bits."}, - {NULL} /* Sentinel */ -}; - -PyTypeObject PySfWindowType = { - head_init - "Window", /*tp_name*/ - sizeof(PySfWindow), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)PySfWindow_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "sf.Window is a rendering window ; it can create a new window or connect to an existing one.\n\ -Default constructor : sf.Window()\n\ -Construct a new window : sf.Window(Mode, Title, sf.Style.Resize | sf.Style.Close, Params = sf.ContextSettings())\n\ - Mode : Video mode to use (sf.VideoMode instance)\n\ - Title : Title of the window\n\ - WindowStyle : Window style (Resize | Close by default)\n\ - Params : Creation parameters (see default constructor for default values)\n\ -Construct the window from an existing control : sf.Window(Handle, Params)\n\ - Handle : Platform-specific handle of the control\n\ - Params : Creation parameters (see default constructor for default values)", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - PySfWindow_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - (initproc)PySfWindow_init, /* tp_init */ - 0, /* tp_alloc */ - PySfWindow_new, /* tp_new */ -}; - - diff --git a/bindings/python/src/Window.hpp b/bindings/python/src/Window.hpp deleted file mode 100644 index 5b26b519..00000000 --- a/bindings/python/src/Window.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYWINDOW_HPP -#define __PYWINDOW_HPP - -#include - -#include - - -typedef struct { - PyObject_HEAD - sf::Window *obj; -} PySfWindow; - -PyObject* -PySfWindow_Create(PySfWindow* self, PyObject *args, PyObject *kwds); - -#endif diff --git a/bindings/python/src/WindowStyle.cpp b/bindings/python/src/WindowStyle.cpp deleted file mode 100644 index 03976e50..00000000 --- a/bindings/python/src/WindowStyle.cpp +++ /dev/null @@ -1,103 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "WindowStyle.hpp" - -#include "compat.hpp" - - -static PyObject * -PySfStyle_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfStyle *self; - self = (PySfStyle *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - -PyTypeObject PySfStyleType = { - head_init - "Style", /*tp_name*/ - sizeof(PySfStyle), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - 0, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Enumeration of window creation styles.\n\ -None No border / title bar (this flag and all others are mutually exclusive).\n\ -Titlebar Title bar + fixed border.\n\ -Resize Titlebar + resizable border + maximize button.\n\ -Close Titlebar + close button.\n\ -Fullscreen Fullscreen mode (this flag and all others are mutually exclusive).", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - PySfStyle_new, /* tp_new */ -}; - -void PySfStyle_InitConst() -{ - PyObject *obj; - obj = PyLong_FromLong(sf::Style::None); - PyDict_SetItemString(PySfStyleType.tp_dict, "None", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Style::Titlebar); - PyDict_SetItemString(PySfStyleType.tp_dict, "Titlebar", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Style::Resize); - PyDict_SetItemString(PySfStyleType.tp_dict, "Resize", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Style::Close); - PyDict_SetItemString(PySfStyleType.tp_dict, "Close", obj); - Py_DECREF(obj); - obj = PyLong_FromLong(sf::Style::Fullscreen); - PyDict_SetItemString(PySfStyleType.tp_dict, "Fullscreen", obj); - Py_DECREF(obj); -} - diff --git a/bindings/python/src/WindowStyle.hpp b/bindings/python/src/WindowStyle.hpp deleted file mode 100644 index d93516ef..00000000 --- a/bindings/python/src/WindowStyle.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYWINDOWSTYLE_HPP -#define __PYWINDOWSTYLE_HPP - -#include - -#include - -typedef struct { - PyObject_HEAD -} PySfStyle; - -void -PySfStyle_InitConst(); - -#endif diff --git a/bindings/python/src/compat.hpp b/bindings/python/src/compat.hpp deleted file mode 100644 index 4bbdc028..00000000 --- a/bindings/python/src/compat.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYCOMPAT_HPP -#define __PYCOMPAT_HPP - -#if PY_MAJOR_VERSION >= 3 - -#define IS_PY3K -#define head_init PyVarObject_HEAD_INIT(NULL, 0) - -#define save_to_file(self, args) \ - PyObject *string = PyUnicode_AsUTF8String(args); \ - if (string == NULL) return NULL; \ - char *path = PyBytes_AsString(string); \ - bool result = self->obj->SaveToFile(path); \ - Py_DECREF(string); \ - return PyBool_FromLong(result) - -#define load_from_file(self, args) \ - PyObject *string = PyUnicode_AsUTF8String(args); \ - if (string == NULL) return NULL; \ - char *path = PyBytes_AsString(string); \ - bool result = self->obj->LoadFromFile(path); \ - Py_DECREF(string); \ - return PyBool_FromLong(result) - -#else - -#define save_to_file(self, args) \ - return PyBool_FromLong(self->obj->SaveToFile(PyString_AsString(args))) -#define load_from_file(self, args) \ - return PyBool_FromLong(self->obj->LoadFromFile(PyString_AsString(args))) - -#define head_init PyObject_HEAD_INIT(NULL) 0, -#define PyBytes_FromStringAndSize PyString_FromStringAndSize - -#endif - -#ifndef Py_TYPE -#define Py_TYPE(a) a->ob_type -#endif - -#define free_object(a) Py_TYPE(a)->tp_free((PyObject*)a) - -#define PyBool_AsBool(a) ((PyObject_IsTrue(a))?true:false) - - - -#endif - diff --git a/bindings/python/src/main.cpp b/bindings/python/src/main.cpp deleted file mode 100644 index 8c531284..00000000 --- a/bindings/python/src/main.cpp +++ /dev/null @@ -1,304 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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. -// -//////////////////////////////////////////////////////////// - -#include "main.hpp" - -#include "Color.hpp" -#include "Key.hpp" -#include "Joy.hpp" -#include "Event.hpp" -#include "Mouse.hpp" -#include "WindowStyle.hpp" -#include "ContextSettings.hpp" -#include "Blend.hpp" -#include "Sound.hpp" -#include "Text.hpp" -#include "SoundStream.hpp" - -#include "compat.hpp" - -extern PyTypeObject PySfClockType; - -extern PyTypeObject PySfEventType; -extern PyTypeObject PySfEventTextType; -extern PyTypeObject PySfEventKeyType; -extern PyTypeObject PySfEventMouseMoveType; -extern PyTypeObject PySfEventMouseButtonType; -extern PyTypeObject PySfEventMouseWheelType; -extern PyTypeObject PySfEventJoyMoveType; -extern PyTypeObject PySfEventJoyButtonType; -extern PyTypeObject PySfEventSizeType; -extern PyTypeObject PySfKeyType; -extern PyTypeObject PySfJoyType; -extern PyTypeObject PySfMouseType; - -extern PyTypeObject PySfVideoModeType; -extern PyTypeObject PySfWindowType; -extern PyTypeObject PySfStyleType; -extern PyTypeObject PySfContextSettingsType; -extern PyTypeObject PySfRenderWindowType; -extern PyTypeObject PySfViewType; -extern PyTypeObject PySfInputType; - -extern PyTypeObject PySfDrawableType; -extern PyTypeObject PySfBlendType; -extern PyTypeObject PySfSpriteType; -extern PyTypeObject PySfFontType; -extern PyTypeObject PySfGlyphType; -extern PyTypeObject PySfTextType; -//extern PyTypeObject PySfPostFXType; - -extern PyTypeObject PySfImageType; -extern PyTypeObject PySfColorType; - -extern PyTypeObject PySfShapeType; - -extern PyTypeObject PySfIntRectType; -extern PyTypeObject PySfFloatRectType; - -extern PyTypeObject PySfMusicType; -extern PyTypeObject PySfSoundType; -extern PyTypeObject PySfSoundBufferType; -extern PyTypeObject PySfSoundRecorderType; -extern PyTypeObject PySfSoundBufferRecorderType; -extern PyTypeObject PySfSoundStreamType; -extern PyTypeObject PySfListenerType; - - -static PyMethodDef module_methods[] = { - {"Sleep", (PyCFunction)PySFML_Sleep, METH_O, "Sleep(Duration)\nMake the current thread sleep for a given time.\n Duration : Time to sleep, in seconds"}, - {NULL} /* Sentinel */ -}; - -#ifdef IS_PY3K -#define INITERROR return NULL -static PyModuleDef module_def = { - PyModuleDef_HEAD_INIT, - "sf", - "Python binding for sfml (Simple Fast Media Library)", - -1, - module_methods, NULL, NULL, NULL, NULL -}; - -PyMODINIT_FUNC -PyInit_sf(void) -#else -#define INITERROR return - -#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */ -#define PyMODINIT_FUNC void -#endif -PyMODINIT_FUNC -initsf(void) -#endif -{ - PyObject *m; - - if (PyType_Ready(&PySfClockType) < 0) - INITERROR; - - if (PyType_Ready(&PySfWindowType) < 0) - INITERROR; - if (PyType_Ready(&PySfStyleType) < 0) - INITERROR; - if (PyType_Ready(&PySfContextSettingsType) < 0) - INITERROR; - if (PyType_Ready(&PySfRenderWindowType) < 0) - INITERROR; - if (PyType_Ready(&PySfVideoModeType) < 0) - INITERROR; - if (PyType_Ready(&PySfViewType) < 0) - INITERROR; - if (PyType_Ready(&PySfInputType) < 0) - INITERROR; - - if (PyType_Ready(&PySfEventType) < 0) - INITERROR; - if (PyType_Ready(&PySfEventTextType) < 0) - INITERROR; - if (PyType_Ready(&PySfEventKeyType) < 0) - INITERROR; - if (PyType_Ready(&PySfEventMouseMoveType) < 0) - INITERROR; - if (PyType_Ready(&PySfEventMouseButtonType) < 0) - INITERROR; - if (PyType_Ready(&PySfEventMouseWheelType) < 0) - INITERROR; - if (PyType_Ready(&PySfEventJoyMoveType) < 0) - INITERROR; - if (PyType_Ready(&PySfEventJoyButtonType) < 0) - INITERROR; - if (PyType_Ready(&PySfEventSizeType) < 0) - INITERROR; - if (PyType_Ready(&PySfKeyType) < 0) - INITERROR; - if (PyType_Ready(&PySfJoyType) < 0) - INITERROR; - if (PyType_Ready(&PySfMouseType) < 0) - INITERROR; - - if (PyType_Ready(&PySfDrawableType) < 0) - INITERROR; - if (PyType_Ready(&PySfBlendType) < 0) - INITERROR; - if (PyType_Ready(&PySfSpriteType) < 0) - INITERROR; - if (PyType_Ready(&PySfFontType) < 0) - INITERROR; - if (PyType_Ready(&PySfGlyphType) < 0) - INITERROR; - if (PyType_Ready(&PySfTextType) < 0) - INITERROR; - /*if (PyType_Ready(&PySfPostFXType) < 0) - INITERROR; */ - - if (PyType_Ready(&PySfImageType) < 0) - INITERROR; - - if (PyType_Ready(&PySfShapeType) < 0) - INITERROR; - - if (PyType_Ready(&PySfColorType) < 0) - INITERROR; - - if (PyType_Ready(&PySfIntRectType) < 0) - INITERROR; - if (PyType_Ready(&PySfFloatRectType) < 0) - INITERROR; - - if (PyType_Ready(&PySfMusicType) < 0) - INITERROR; - if (PyType_Ready(&PySfSoundType) < 0) - INITERROR; - if (PyType_Ready(&PySfSoundBufferType) < 0) - INITERROR; - if (PyType_Ready(&PySfSoundBufferRecorderType) < 0) - INITERROR; - if (PyType_Ready(&PySfSoundRecorderType) < 0) - INITERROR; - if (PyType_Ready(&PySfSoundStreamType) < 0) - INITERROR; - if (PyType_Ready(&PySfListenerType) < 0) - INITERROR; - -#ifdef IS_PY3K - m = PyModule_Create(&module_def); -#else - m = Py_InitModule3("sf", module_methods, "Python binding for sfml (Simple Fast Media Library)"); -#endif - - if (m == NULL) - INITERROR; - - Py_INCREF(&PySfClockType); - PyModule_AddObject(m, "Clock", (PyObject *)&PySfClockType); - - Py_INCREF(&PySfWindowType); - PyModule_AddObject(m, "Window", (PyObject *)&PySfWindowType); - Py_INCREF(&PySfStyleType); - PyModule_AddObject(m, "Style", (PyObject *)&PySfStyleType); - Py_INCREF(&PySfContextSettingsType); - PyModule_AddObject(m, "ContextSettings", (PyObject *)&PySfContextSettingsType); - Py_INCREF(&PySfRenderWindowType); - PyModule_AddObject(m, "RenderWindow", (PyObject *)&PySfRenderWindowType); - Py_INCREF(&PySfVideoModeType); - PyModule_AddObject(m, "VideoMode", (PyObject *)&PySfVideoModeType); - Py_INCREF(&PySfViewType); - PyModule_AddObject(m, "View", (PyObject *)&PySfViewType); - Py_INCREF(&PySfInputType); - PyModule_AddObject(m, "Input", (PyObject *)&PySfInputType); - - Py_INCREF(&PySfDrawableType); - PyModule_AddObject(m, "Drawable", (PyObject *)&PySfDrawableType); - Py_INCREF(&PySfBlendType); - PyModule_AddObject(m, "Blend", (PyObject *)&PySfBlendType); - Py_INCREF(&PySfSpriteType); - PyModule_AddObject(m, "Sprite", (PyObject *)&PySfSpriteType); - Py_INCREF(&PySfFontType); - PyModule_AddObject(m, "Font", (PyObject *)&PySfFontType); - Py_INCREF(&PySfGlyphType); - PyModule_AddObject(m, "Glyph", (PyObject *)&PySfGlyphType); - Py_INCREF(&PySfTextType); - PyModule_AddObject(m, "Text", (PyObject *)&PySfTextType); - /*Py_INCREF(&PySfPostFXType); - PyModule_AddObject(m, "PostFX", (PyObject *)&PySfPostFXType); */ - - Py_INCREF(&PySfEventType); - PyModule_AddObject(m, "Event", (PyObject *)&PySfEventType); - Py_INCREF(&PySfKeyType); - PyModule_AddObject(m, "Key", (PyObject *)&PySfKeyType); - Py_INCREF(&PySfJoyType); - PyModule_AddObject(m, "Joy", (PyObject *)&PySfJoyType); - Py_INCREF(&PySfMouseType); - PyModule_AddObject(m, "Mouse", (PyObject *)&PySfMouseType); - - Py_INCREF(&PySfImageType); - PyModule_AddObject(m, "Image", (PyObject *)&PySfImageType); - - Py_INCREF(&PySfColorType); - PyModule_AddObject(m, "Color", (PyObject *)&PySfColorType); - - Py_INCREF(&PySfShapeType); - PyModule_AddObject(m, "Shape", (PyObject *)&PySfShapeType); - - Py_INCREF(&PySfIntRectType); - PyModule_AddObject(m, "IntRect", (PyObject *)&PySfIntRectType); - Py_INCREF(&PySfFloatRectType); - PyModule_AddObject(m, "FloatRect", (PyObject *)&PySfFloatRectType); - - Py_INCREF(&PySfMusicType); - PyModule_AddObject(m, "Music", (PyObject *)&PySfMusicType); - Py_INCREF(&PySfSoundType); - PyModule_AddObject(m, "Sound", (PyObject *)&PySfSoundType); - Py_INCREF(&PySfSoundBufferType); - PyModule_AddObject(m, "SoundBuffer", (PyObject *)&PySfSoundBufferType); - Py_INCREF(&PySfSoundRecorderType); - PyModule_AddObject(m, "SoundRecorder", (PyObject *)&PySfSoundRecorderType); - Py_INCREF(&PySfSoundBufferRecorderType); - PyModule_AddObject(m, "SoundBufferRecorder", (PyObject *)&PySfSoundBufferRecorderType); - Py_INCREF(&PySfSoundStreamType); - PyModule_AddObject(m, "SoundStream", (PyObject *)&PySfSoundStreamType); - Py_INCREF(&PySfListenerType); - PyModule_AddObject(m, "Listener", (PyObject *)&PySfListenerType); - - PyModule_AddStringConstant(m, "Version", "1.6"); - - PySfColor_InitConst(); - PySfKey_InitConst(); - PySfJoy_InitConst(); - PySfEvent_InitConst(); - PySfMouse_InitConst(); - PySfStyle_InitConst(); - PySfBlend_InitConst(); - PySfSound_InitConst(); - PySfSoundStream_InitConst(); - PySfText_InitConst(); - - PyEval_InitThreads(); - -#ifdef IS_PY3K - return m; -#endif -} - diff --git a/bindings/python/src/main.hpp b/bindings/python/src/main.hpp deleted file mode 100644 index dc4a5541..00000000 --- a/bindings/python/src/main.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __PYMAIN_HPP -#define __PYMAIN_HPP - -#include -#include - -#include -#include - -#include "Event.hpp" -#include "Sleep.hpp" - -#endif diff --git a/bindings/python/src/offsetof.hpp b/bindings/python/src/offsetof.hpp deleted file mode 100644 index 73de395a..00000000 --- a/bindings/python/src/offsetof.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// PySFML - Python binding for SFML (Simple and Fast Multimedia Library) -// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@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 __OFFSETOF_H -#define __OFFSETOF_H - -#undef offsetof -#define offsetof(TYPE, MEMBER) (reinterpret_cast \ - (&reinterpret_cast (static_cast (0)->MEMBER))) - -#endif From 6fd80e2598f56ee44342fd24ea50ab2b6c256410 Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Fri, 8 Jul 2011 07:56:14 +0200 Subject: [PATCH 14/23] Removed Window::GetCursorPosition/SetCursorPosition, added Mouse::GetPosition/SetPosition (two versions: one that handles desktop coordinates, one that handles window coordinates) --- examples/opengl/OpenGL.cpp | 4 +- examples/shader/Shader.cpp | 4 +- include/SFML/Window/Mouse.hpp | 64 ++++++++++++++++++----- include/SFML/Window/Window.hpp | 17 ------ src/SFML/Window/Linux/InputImpl.cpp | 36 ++++++++++++- src/SFML/Window/Linux/InputImpl.hpp | 44 +++++++++++++++- src/SFML/Window/Linux/WindowImplX11.cpp | 24 --------- src/SFML/Window/Linux/WindowImplX11.hpp | 17 ------ src/SFML/Window/Mouse.cpp | 33 ++++++++---- src/SFML/Window/OSX/InputImpl.hpp | 44 +++++++++++++++- src/SFML/Window/OSX/InputImpl.mm | 22 ++++++++ src/SFML/Window/OSX/WindowImplCocoa.hpp | 17 ------ src/SFML/Window/OSX/WindowImplCocoa.mm | 15 ------ src/SFML/Window/Win32/InputImpl.cpp | 32 ++++++++++-- src/SFML/Window/Win32/InputImpl.hpp | 44 +++++++++++++++- src/SFML/Window/Win32/WindowImplWin32.cpp | 20 ------- src/SFML/Window/Win32/WindowImplWin32.hpp | 17 ------ src/SFML/Window/Window.cpp | 15 ------ src/SFML/Window/WindowImpl.hpp | 17 ------ 19 files changed, 287 insertions(+), 199 deletions(-) diff --git a/examples/opengl/OpenGL.cpp b/examples/opengl/OpenGL.cpp index 3b02e38c..0be2ea57 100644 --- a/examples/opengl/OpenGL.cpp +++ b/examples/opengl/OpenGL.cpp @@ -90,8 +90,8 @@ int main() glClear(GL_DEPTH_BUFFER_BIT); // We get the position of the mouse cursor, so that we can move the box accordingly - float x = window.GetCursorPosition().x * 200.f / window.GetWidth() - 100.f; - float y = -window.GetCursorPosition().y * 200.f / window.GetHeight() + 100.f; + float x = sf::Mouse::GetPosition(window).x * 200.f / window.GetWidth() - 100.f; + float y = -sf::Mouse::GetPosition(window).y * 200.f / window.GetHeight() + 100.f; // Apply some transformations glMatrixMode(GL_MODELVIEW); diff --git a/examples/shader/Shader.cpp b/examples/shader/Shader.cpp index b30257a1..5a75fbbb 100644 --- a/examples/shader/Shader.cpp +++ b/examples/shader/Shader.cpp @@ -202,8 +202,8 @@ int main() } // Get the mouse position in the range [0, 1] - float mouseX = window.GetCursorPosition().x / static_cast(window.GetWidth()); - float mouseY = window.GetCursorPosition().y / static_cast(window.GetHeight()); + float mouseX = sf::Mouse::GetPosition(window).x / static_cast(window.GetWidth()); + float mouseY = sf::Mouse::GetPosition(window).y / static_cast(window.GetHeight()); // Update the shaders backgroundShader.Update(mouseX, mouseY); diff --git a/include/SFML/Window/Mouse.hpp b/include/SFML/Window/Mouse.hpp index 34cc0259..f5d07966 100644 --- a/include/SFML/Window/Mouse.hpp +++ b/include/SFML/Window/Mouse.hpp @@ -34,6 +34,8 @@ namespace sf { +class Window; + //////////////////////////////////////////////////////////// /// \brief Give access to the real-time state of the mouse /// @@ -68,18 +70,51 @@ public : static bool IsButtonPressed(Button button); //////////////////////////////////////////////////////////// - /// \brief Get the current position of the mouse + /// \brief Get the current position of the mouse in desktop coordinates /// - /// This function returns the current position of the mouse - /// cursor. - /// If the cursor is over a SFML window, the returned position - /// is relative to this window. Otherwise, the returned position - /// is 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 Get 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 @@ -107,10 +142,11 @@ public : /// moved, pressed or released when your window is out of focus /// and no event is triggered. /// -/// Note that the sf::Mouse::GetPosition function has a special -/// behaviour: it returns the cursor position relative to the -/// window which has the mouse focus (ie. the window on which -/// the cursor is). +/// 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 @@ -118,12 +154,12 @@ public : /// { /// // left click... /// } -/// else if (sf::Mouse::IsButtonPressed(sf::Mouse::Right)) -/// { -/// // right 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 diff --git a/include/SFML/Window/Window.hpp b/include/SFML/Window/Window.hpp index 1189d1a2..52e27ee3 100644 --- a/include/SFML/Window/Window.hpp +++ b/include/SFML/Window/Window.hpp @@ -278,23 +278,6 @@ public : //////////////////////////////////////////////////////////// void ShowMouseCursor(bool show); - //////////////////////////////////////////////////////////// - /// \brief Change the position of the mouse cursor - /// - /// \param x Left coordinate of the cursor, relative to the window - /// \param y Top coordinate of the cursor, relative to the window - /// - //////////////////////////////////////////////////////////// - void SetCursorPosition(unsigned int x, unsigned int y); - - //////////////////////////////////////////////////////////// - /// \brief Get the position of the mouse cursor - /// - /// \return Current mouse cursor position, relative to the window - /// - //////////////////////////////////////////////////////////// - Vector2i GetCursorPosition() const; - //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// diff --git a/src/SFML/Window/Linux/InputImpl.cpp b/src/SFML/Window/Linux/InputImpl.cpp index 0c1a683f..b876f033 100644 --- a/src/SFML/Window/Linux/InputImpl.cpp +++ b/src/SFML/Window/Linux/InputImpl.cpp @@ -213,16 +213,48 @@ Vector2i InputImpl::GetMousePosition() { // we don't care about these but they are required ::Window root, child; - int wx, wy; + int x, y; + unsigned int buttons; + + int gx = 0; + int gy = 0; + XQueryPointer(global.display, global.window, &root, &child, &gx, &gy, &x, &y, &buttons); + + return Vector2i(gx, gy); +} + + +//////////////////////////////////////////////////////////// +Vector2i InputImpl::GetMousePosition(const Window& relativeTo) +{ + // we don't care about these but they are required + ::Window root, child; + int gx, gy; unsigned int buttons; int x = 0; int y = 0; - XQueryPointer(global.display, global.window, &root, &child, &x, &y, &wx, &wy, &buttons); + XQueryPointer(global.display, relativeTo.GetSystemHandle(), &root, &child, &gx, &gy, &x, &y, &buttons); return Vector2i(x, y); } + +//////////////////////////////////////////////////////////// +void InputImpl::SetMousePosition(const Vector2i& position) +{ + XWarpPointer(global.display, None, global.window, 0, 0, 0, 0, position.x, position.y); + XFlush(global.display); +} + + +//////////////////////////////////////////////////////////// +void InputImpl::SetMousePosition(const Vector2i& position, const Window& relativeTo) +{ + XWarpPointer(global.display, None, relativeTo.GetSystemHandle(), 0, 0, 0, 0, position.x, position.y); + XFlush(global.display); +} + } // namespace priv } // namespace sf \ No newline at end of file diff --git a/src/SFML/Window/Linux/InputImpl.hpp b/src/SFML/Window/Linux/InputImpl.hpp index 3f3df155..5eff9b5b 100644 --- a/src/SFML/Window/Linux/InputImpl.hpp +++ b/src/SFML/Window/Linux/InputImpl.hpp @@ -65,14 +65,54 @@ public : static bool IsMouseButtonPressed(Mouse::Button button); //////////////////////////////////////////////////////////// - /// \brief Get the current position of the mouse + /// \brief Get the current position of the mouse in desktop coordinates /// - /// This function returns the mouse position in desktop coordinates. + /// This function returns the current position of the mouse + /// cursor, in global (desktop) coordinates. /// /// \return Current position of the mouse /// //////////////////////////////////////////////////////////// static Vector2i GetMousePosition(); + + //////////////////////////////////////////////////////////// + /// \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. + /// If no window is used, it returns desktop coordinates. + /// + /// \param relativeTo Reference window + /// + /// \return Current position of the mouse + /// + //////////////////////////////////////////////////////////// + static Vector2i GetMousePosition(const Window& relativeTo); + + //////////////////////////////////////////////////////////// + /// \brief Set the current position of the mouse in desktop coordinates + /// + /// This function sets the current position of the mouse + /// cursor in global (desktop) coordinates. + /// If no window is used, it sets the position in desktop coordinates. + /// + /// \param position New position of the mouse + /// + //////////////////////////////////////////////////////////// + static void SetMousePosition(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. + /// If no window is used, it sets the position in desktop coordinates. + /// + /// \param position New position of the mouse + /// \param relativeTo Reference window + /// + //////////////////////////////////////////////////////////// + static void SetMousePosition(const Vector2i& position, const Window& relativeTo); }; } // namespace priv diff --git a/src/SFML/Window/Linux/WindowImplX11.cpp b/src/SFML/Window/Linux/WindowImplX11.cpp index 942c2378..ceef3500 100644 --- a/src/SFML/Window/Linux/WindowImplX11.cpp +++ b/src/SFML/Window/Linux/WindowImplX11.cpp @@ -302,30 +302,6 @@ void WindowImplX11::ShowMouseCursor(bool show) } -//////////////////////////////////////////////////////////// -void WindowImplX11::SetCursorPosition(unsigned int x, unsigned int y) -{ - XWarpPointer(myDisplay, None, myWindow, 0, 0, 0, 0, x, y); - XFlush(myDisplay); -} - - -//////////////////////////////////////////////////////////// -Vector2i WindowImplX11::GetCursorPosition() const -{ - // we don't care about these but they are required - ::Window root, child; - int gx, gy; - unsigned int buttons; - - int x = 0; - int y = 0; - XQueryPointer(myDisplay, myWindow, &root, &child, &gx, &gy, &x, &y, &buttons); - - return Vector2i(x, y); -} - - //////////////////////////////////////////////////////////// void WindowImplX11::SetPosition(int x, int y) { diff --git a/src/SFML/Window/Linux/WindowImplX11.hpp b/src/SFML/Window/Linux/WindowImplX11.hpp index 14466682..b76491b4 100644 --- a/src/SFML/Window/Linux/WindowImplX11.hpp +++ b/src/SFML/Window/Linux/WindowImplX11.hpp @@ -105,23 +105,6 @@ private : //////////////////////////////////////////////////////////// virtual void ShowMouseCursor(bool show); - //////////////////////////////////////////////////////////// - /// \brief Change the position of the mouse cursor - /// - /// \param x Left coordinate of the cursor, relative to the window - /// \param y Top coordinate of the cursor, relative to the window - /// - //////////////////////////////////////////////////////////// - virtual void SetCursorPosition(unsigned int x, unsigned int y); - - //////////////////////////////////////////////////////////// - /// \brief Get the position of the mouse cursor - /// - /// \return Current mouse cursor position, relative to the window - /// - //////////////////////////////////////////////////////////// - virtual Vector2i GetCursorPosition() const; - //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// diff --git a/src/SFML/Window/Mouse.cpp b/src/SFML/Window/Mouse.cpp index afb63b18..b1d35cae 100644 --- a/src/SFML/Window/Mouse.cpp +++ b/src/SFML/Window/Mouse.cpp @@ -42,17 +42,28 @@ bool Mouse::IsButtonPressed(Button button) //////////////////////////////////////////////////////////// Vector2i Mouse::GetPosition() { - const Window* focusWindow = Window::GetMouseFocusWindow(); - if (focusWindow) - { - // Position relative to the focus window - return focusWindow->GetCursorPosition(); - } - else - { - // Desktop position - return priv::InputImpl::GetMousePosition(); - } + return priv::InputImpl::GetMousePosition(); +} + + +//////////////////////////////////////////////////////////// +Vector2i Mouse::GetPosition(const Window& relativeTo) +{ + return priv::InputImpl::GetMousePosition(relativeTo); +} + + +//////////////////////////////////////////////////////////// +void Mouse::SetPosition(const Vector2i& position) +{ + priv::InputImpl::SetMousePosition(position); +} + + +//////////////////////////////////////////////////////////// +void Mouse::SetPosition(const Vector2i& position, const Window& relativeTo) +{ + priv::InputImpl::SetMousePosition(position, relativeTo); } } // namespace sf diff --git a/src/SFML/Window/OSX/InputImpl.hpp b/src/SFML/Window/OSX/InputImpl.hpp index 6d6804ec..cfa4aa34 100644 --- a/src/SFML/Window/OSX/InputImpl.hpp +++ b/src/SFML/Window/OSX/InputImpl.hpp @@ -66,14 +66,54 @@ public : static bool IsMouseButtonPressed(Mouse::Button button); //////////////////////////////////////////////////////////// - /// \brief Get the current position of the mouse + /// \brief Get the current position of the mouse in desktop coordinates /// - /// This function returns the mouse position in desktop coordinates. + /// This function returns the current position of the mouse + /// cursor, in global (desktop) coordinates. /// /// \return Current position of the mouse /// //////////////////////////////////////////////////////////// static Vector2i GetMousePosition(); + + //////////////////////////////////////////////////////////// + /// \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. + /// If no window is used, it returns desktop coordinates. + /// + /// \param relativeTo Reference window + /// + /// \return Current position of the mouse + /// + //////////////////////////////////////////////////////////// + static Vector2i GetMousePosition(const Window& relativeTo); + + //////////////////////////////////////////////////////////// + /// \brief Set the current position of the mouse in desktop coordinates + /// + /// This function sets the current position of the mouse + /// cursor in global (desktop) coordinates. + /// If no window is used, it sets the position in desktop coordinates. + /// + /// \param position New position of the mouse + /// + //////////////////////////////////////////////////////////// + static void SetMousePosition(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. + /// If no window is used, it sets the position in desktop coordinates. + /// + /// \param position New position of the mouse + /// \param relativeTo Reference window + /// + //////////////////////////////////////////////////////////// + static void SetMousePosition(const Vector2i& position, const Window& relativeTo); }; } // namespace priv diff --git a/src/SFML/Window/OSX/InputImpl.mm b/src/SFML/Window/OSX/InputImpl.mm index 06ca2116..fe8a77da 100644 --- a/src/SFML/Window/OSX/InputImpl.mm +++ b/src/SFML/Window/OSX/InputImpl.mm @@ -60,6 +60,28 @@ Vector2i InputImpl::GetMousePosition() return Vector2i(pos.x, pos.y); } + +//////////////////////////////////////////////////////////// +Vector2i InputImpl::GetMousePosition(const Window& relativeTo) +{ + // @to be implemented + return Vector2i(); +} + + +//////////////////////////////////////////////////////////// +void InputImpl::SetMousePosition(const Vector2i& position) +{ + // @to be implemented +} + + +//////////////////////////////////////////////////////////// +void InputImpl::SetMousePosition(const Vector2i& position, const Window& relativeTo) +{ + // @to be implemented +} + } // namespace priv } // namespace sf diff --git a/src/SFML/Window/OSX/WindowImplCocoa.hpp b/src/SFML/Window/OSX/WindowImplCocoa.hpp index 6013abfa..cadf97c2 100644 --- a/src/SFML/Window/OSX/WindowImplCocoa.hpp +++ b/src/SFML/Window/OSX/WindowImplCocoa.hpp @@ -255,23 +255,6 @@ private: /// //////////////////////////////////////////////////////////// virtual void ShowMouseCursor(bool show); - - //////////////////////////////////////////////////////////// - /// \brief Change the position of the mouse cursor - /// - /// \param x Left coordinate of the cursor, relative to the window - /// \param y Top coordinate of the cursor, relative to the window - /// - //////////////////////////////////////////////////////////// - virtual void SetCursorPosition(unsigned int x, unsigned int y); - - //////////////////////////////////////////////////////////// - /// \brief Get the position of the mouse cursor - /// - /// \return Current mouse cursor position, relative to the window - /// - //////////////////////////////////////////////////////////// - virtual Vector2i GetCursorPosition() const; //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen diff --git a/src/SFML/Window/OSX/WindowImplCocoa.mm b/src/SFML/Window/OSX/WindowImplCocoa.mm index 6557f82d..84c4ae82 100644 --- a/src/SFML/Window/OSX/WindowImplCocoa.mm +++ b/src/SFML/Window/OSX/WindowImplCocoa.mm @@ -338,21 +338,6 @@ void WindowImplCocoa::ShowMouseCursor(bool show) } -//////////////////////////////////////////////////////////// -void WindowImplCocoa::SetCursorPosition(unsigned int x, unsigned int y) -{ - [myDelegate setCursorPositionToX:x Y:y]; -} - - -//////////////////////////////////////////////////////////// -Vector2i WindowImplCocoa::GetCursorPosition() const -{ - NSPoint pos = [myDelegate cursorPosition]; - return Vector2i(pos.x, pos.y); -} - - //////////////////////////////////////////////////////////// void WindowImplCocoa::SetPosition(int x, int y) { diff --git a/src/SFML/Window/Win32/InputImpl.cpp b/src/SFML/Window/Win32/InputImpl.cpp index 6845be41..2c509173 100644 --- a/src/SFML/Window/Win32/InputImpl.cpp +++ b/src/SFML/Window/Win32/InputImpl.cpp @@ -27,6 +27,7 @@ //////////////////////////////////////////////////////////// #define _WIN32_WINDOWS 0x0501 #define _WIN32_WINNT 0x0501 +#include #include #include @@ -168,10 +169,35 @@ bool InputImpl::IsMouseButtonPressed(Mouse::Button button) //////////////////////////////////////////////////////////// Vector2i InputImpl::GetMousePosition() { - POINT position; - GetCursorPos(&position); + POINT point; + GetCursorPos(&point); + return Vector2i(point.x, point.y); +} - return Vector2i(position.x, position.y); + +//////////////////////////////////////////////////////////// +Vector2i InputImpl::GetMousePosition(const Window& relativeTo) +{ + POINT point; + GetCursorPos(&point); + ScreenToClient(relativeTo.GetSystemHandle(), &point); + return Vector2i(point.x, point.y); +} + + +//////////////////////////////////////////////////////////// +void InputImpl::SetMousePosition(const Vector2i& position) +{ + SetCursorPos(position.x, position.y); +} + + +//////////////////////////////////////////////////////////// +void InputImpl::SetMousePosition(const Vector2i& position, const Window& relativeTo) +{ + POINT point = {position.x, position.y}; + ClientToScreen(relativeTo.GetSystemHandle(), &point); + SetCursorPos(point.x, point.y); } } // namespace priv diff --git a/src/SFML/Window/Win32/InputImpl.hpp b/src/SFML/Window/Win32/InputImpl.hpp index 5870f4f1..23c71b10 100644 --- a/src/SFML/Window/Win32/InputImpl.hpp +++ b/src/SFML/Window/Win32/InputImpl.hpp @@ -65,14 +65,54 @@ public : static bool IsMouseButtonPressed(Mouse::Button button); //////////////////////////////////////////////////////////// - /// \brief Get the current position of the mouse + /// \brief Get the current position of the mouse in desktop coordinates /// - /// This function returns the mouse position in desktop coordinates. + /// This function returns the current position of the mouse + /// cursor, in global (desktop) coordinates. /// /// \return Current position of the mouse /// //////////////////////////////////////////////////////////// static Vector2i GetMousePosition(); + + //////////////////////////////////////////////////////////// + /// \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. + /// If no window is used, it returns desktop coordinates. + /// + /// \param relativeTo Reference window + /// + /// \return Current position of the mouse + /// + //////////////////////////////////////////////////////////// + static Vector2i GetMousePosition(const Window& relativeTo); + + //////////////////////////////////////////////////////////// + /// \brief Set the current position of the mouse in desktop coordinates + /// + /// This function sets the current position of the mouse + /// cursor in global (desktop) coordinates. + /// If no window is used, it sets the position in desktop coordinates. + /// + /// \param position New position of the mouse + /// + //////////////////////////////////////////////////////////// + static void SetMousePosition(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. + /// If no window is used, it sets the position in desktop coordinates. + /// + /// \param position New position of the mouse + /// \param relativeTo Reference window + /// + //////////////////////////////////////////////////////////// + static void SetMousePosition(const Vector2i& position, const Window& relativeTo); }; } // namespace priv diff --git a/src/SFML/Window/Win32/WindowImplWin32.cpp b/src/SFML/Window/Win32/WindowImplWin32.cpp index d440260e..dd11178c 100644 --- a/src/SFML/Window/Win32/WindowImplWin32.cpp +++ b/src/SFML/Window/Win32/WindowImplWin32.cpp @@ -231,26 +231,6 @@ void WindowImplWin32::ShowMouseCursor(bool show) } -//////////////////////////////////////////////////////////// -void WindowImplWin32::SetCursorPosition(unsigned int x, unsigned int y) -{ - POINT position = {x, y}; - ClientToScreen(myHandle, &position); - SetCursorPos(position.x, position.y); -} - - -//////////////////////////////////////////////////////////// -Vector2i WindowImplWin32::GetCursorPosition() const -{ - POINT position; - GetCursorPos(&position); - ScreenToClient(myHandle, &position); - - return Vector2i(position.x, position.y); -} - - //////////////////////////////////////////////////////////// void WindowImplWin32::SetPosition(int x, int y) { diff --git a/src/SFML/Window/Win32/WindowImplWin32.hpp b/src/SFML/Window/Win32/WindowImplWin32.hpp index c8120874..047e279f 100644 --- a/src/SFML/Window/Win32/WindowImplWin32.hpp +++ b/src/SFML/Window/Win32/WindowImplWin32.hpp @@ -94,23 +94,6 @@ private : //////////////////////////////////////////////////////////// virtual void ShowMouseCursor(bool show); - //////////////////////////////////////////////////////////// - /// \brief Change the position of the mouse cursor - /// - /// \param x Left coordinate of the cursor, relative to the window - /// \param y Top coordinate of the cursor, relative to the window - /// - //////////////////////////////////////////////////////////// - virtual void SetCursorPosition(unsigned int x, unsigned int y); - - //////////////////////////////////////////////////////////// - /// \brief Get the position of the mouse cursor - /// - /// \return Current mouse cursor position, relative to the window - /// - //////////////////////////////////////////////////////////// - virtual Vector2i GetCursorPosition() const; - //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// diff --git a/src/SFML/Window/Window.cpp b/src/SFML/Window/Window.cpp index 5831939a..b2ebfc05 100644 --- a/src/SFML/Window/Window.cpp +++ b/src/SFML/Window/Window.cpp @@ -242,21 +242,6 @@ void Window::ShowMouseCursor(bool show) } -//////////////////////////////////////////////////////////// -void Window::SetCursorPosition(unsigned int x, unsigned int y) -{ - if (myWindow) - myWindow->SetCursorPosition(x, y); -} - - -//////////////////////////////////////////////////////////// -Vector2i Window::GetCursorPosition() const -{ - return myWindow ? myWindow->GetCursorPosition() : Vector2i(0, 0); -} - - //////////////////////////////////////////////////////////// void Window::SetPosition(int x, int y) { diff --git a/src/SFML/Window/WindowImpl.hpp b/src/SFML/Window/WindowImpl.hpp index 8323795d..86a24fcf 100644 --- a/src/SFML/Window/WindowImpl.hpp +++ b/src/SFML/Window/WindowImpl.hpp @@ -141,23 +141,6 @@ public : //////////////////////////////////////////////////////////// virtual void ShowMouseCursor(bool show) = 0; - //////////////////////////////////////////////////////////// - /// \brief Change the position of the mouse cursor - /// - /// \param x Left coordinate of the cursor, relative to the window - /// \param y Top coordinate of the cursor, relative to the window - /// - //////////////////////////////////////////////////////////// - virtual void SetCursorPosition(unsigned int x, unsigned int y) = 0; - - //////////////////////////////////////////////////////////// - /// \brief Get the position of the mouse cursor - /// - /// \return Current mouse cursor position, relative to the window - /// - //////////////////////////////////////////////////////////// - virtual Vector2i GetCursorPosition() const = 0; - //////////////////////////////////////////////////////////// /// \brief Change the position of the window on screen /// From c9b539a617d65d6670f973728dc1b497a7cd8b29 Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Fri, 8 Jul 2011 08:15:36 +0200 Subject: [PATCH 15/23] Fixed the Linux implementation of the new Mouse functions --- src/SFML/Window/Linux/GlxContext.cpp | 4 ++-- src/SFML/Window/Linux/InputImpl.cpp | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/SFML/Window/Linux/GlxContext.cpp b/src/SFML/Window/Linux/GlxContext.cpp index 026c2d07..a213ddf7 100644 --- a/src/SFML/Window/Linux/GlxContext.cpp +++ b/src/SFML/Window/Linux/GlxContext.cpp @@ -69,11 +69,11 @@ myWindow (0), myContext (NULL), myOwnsWindow(false) { - // Use the same context as the owner window (important!) + // Use the same display as the owner window (important!) myDisplay = static_cast(owner)->GetDisplay(); // Get the owner window and its device context - myWindow = static_cast(owner->GetSystemHandle()); + myWindow = static_cast< ::Window>(owner->GetSystemHandle()); // Create the context if (myWindow) diff --git a/src/SFML/Window/Linux/InputImpl.cpp b/src/SFML/Window/Linux/InputImpl.cpp index b876f033..9ebb0839 100644 --- a/src/SFML/Window/Linux/InputImpl.cpp +++ b/src/SFML/Window/Linux/InputImpl.cpp @@ -26,6 +26,7 @@ // Headers //////////////////////////////////////////////////////////// #include +#include #include #include From ea1bde7a61cc001ae9b88eaaa6ff4da646c385cb Mon Sep 17 00:00:00 2001 From: Laurent Gomila Date: Fri, 8 Jul 2011 08:17:17 +0200 Subject: [PATCH 16/23] Fixed error in Linux/InputImpl --- src/SFML/Window/Linux/InputImpl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SFML/Window/Linux/InputImpl.cpp b/src/SFML/Window/Linux/InputImpl.cpp index 9ebb0839..44ef05ae 100644 --- a/src/SFML/Window/Linux/InputImpl.cpp +++ b/src/SFML/Window/Linux/InputImpl.cpp @@ -26,7 +26,7 @@ // Headers //////////////////////////////////////////////////////////// #include -#include +#include #include #include From cd1918b93d4af8d84f2f8af32c3b286a731edc6d Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Fri, 8 Jul 2011 13:35:38 +0200 Subject: [PATCH 17/23] Improved consistency in SFWindowController and added security check in SFOpenGLView --- src/SFML/Window/OSX/SFOpenGLView.mm | 98 +++++++++++++---------- src/SFML/Window/OSX/SFWindowController.mm | 2 +- 2 files changed, 57 insertions(+), 43 deletions(-) diff --git a/src/SFML/Window/OSX/SFOpenGLView.mm b/src/SFML/Window/OSX/SFOpenGLView.mm index 2b25185d..cb10daaf 100644 --- a/src/SFML/Window/OSX/SFOpenGLView.mm +++ b/src/SFML/Window/OSX/SFOpenGLView.mm @@ -379,7 +379,14 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); sf::Mouse::Button button = [self mouseButtonFromEvent:theEvent]; - myRequester->MouseDownAt(button, loc.x, loc.y); + if (button != sf::Mouse::ButtonCount) { + myRequester->MouseDownAt(button, loc.x, loc.y); + } +#ifdef SFML_DEBUG + else { + sf::Err() << "Unknown mouse button released." << std::endl; + } +#endif } @@ -392,7 +399,14 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); sf::Mouse::Button button = [self mouseButtonFromEvent:theEvent]; - myRequester->MouseUpAt(button, loc.x, loc.y); + if (button != sf::Mouse::ButtonCount) { + myRequester->MouseUpAt(button, loc.x, loc.y); + } +#ifdef SFML_DEBUG + else { + sf::Err() << "Unknown mouse button released." << std::endl; + } +#endif } @@ -426,6 +440,46 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); } +//////////////////////////////////////////////////////// +-(NSPoint)cursorPositionFromEvent:(NSEvent *)eventOrNil +{ + NSPoint loc; + // If no event given then get current mouse pos. + if (eventOrNil == nil) { + NSPoint rawPos = [[self window] mouseLocationOutsideOfEventStream]; + loc = [self convertPoint:rawPos fromView:nil]; + } else { + loc = [self convertPoint:[eventOrNil locationInWindow] fromView:nil]; + } + + // Don't forget to change to SFML coord system. + float h = [self frame].size.height; + loc.y = h - loc.y; + + // Recompute the mouse pos if required. + if (!NSEqualSizes(myRealSize, NSZeroSize)) { + loc.x = loc.x * myRealSize.width / [self frame].size.width; + loc.y = loc.y * myRealSize.height / [self frame].size.height; + } + + return loc; +} + + +//////////////////////////////////////////////////////// +-(sf::Mouse::Button)mouseButtonFromEvent:(NSEvent *)event +{ + switch ([event buttonNumber]) { + case 0: return sf::Mouse::Left; + case 1: return sf::Mouse::Right; + case 2: return sf::Mouse::Middle; + case 3: return sf::Mouse::XButton1; + case 4: return sf::Mouse::XButton2; + default: return sf::Mouse::ButtonCount; // Never happens! (hopefully) + } +} + + #pragma mark #pragma mark Key-event methods @@ -898,46 +952,6 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); } -//////////////////////////////////////////////////////// --(NSPoint)cursorPositionFromEvent:(NSEvent *)eventOrNil -{ - NSPoint loc; - // If no event given then get current mouse pos. - if (eventOrNil == nil) { - NSPoint rawPos = [[self window] mouseLocationOutsideOfEventStream]; - loc = [self convertPoint:rawPos fromView:nil]; - } else { - loc = [self convertPoint:[eventOrNil locationInWindow] fromView:nil]; - } - - // Don't forget to change to SFML coord system. - float h = [self frame].size.height; - loc.y = h - loc.y; - - // Recompute the mouse pos if required. - if (!NSEqualSizes(myRealSize, NSZeroSize)) { - loc.x = loc.x * myRealSize.width / [self frame].size.width; - loc.y = loc.y * myRealSize.height / [self frame].size.height; - } - - return loc; -} - - -//////////////////////////////////////////////////////// --(sf::Mouse::Button)mouseButtonFromEvent:(NSEvent *)event -{ - switch ([event buttonNumber]) { - case 0: return sf::Mouse::Left; - case 1: return sf::Mouse::Right; - case 2: return sf::Mouse::Middle; - case 3: return sf::Mouse::XButton1; - case 4: return sf::Mouse::XButton2; - default: return sf::Mouse::ButtonCount; // Never happens! (hopefully) - } -} - - //////////////////////////////////////////////////////// +(sf::Event::KeyEvent)convertNSKeyEventToSFMLEvent:(NSEvent *)anEvent { diff --git a/src/SFML/Window/OSX/SFWindowController.mm b/src/SFML/Window/OSX/SFWindowController.mm index dcc4e012..4046041c 100644 --- a/src/SFML/Window/OSX/SFWindowController.mm +++ b/src/SFML/Window/OSX/SFWindowController.mm @@ -97,7 +97,7 @@ } // Set the view to the window as its content view. - [[myWindow contentView] addSubview:myOGLView]; + [myWindow setContentView:myOGLView]; } return self; From 0f102c6d6ed9cbc7199d035acafa91ce4caf7a16 Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Fri, 8 Jul 2011 14:39:39 +0200 Subject: [PATCH 18/23] Removed unnecessary -cursorPosition messages --- src/SFML/Window/OSX/SFViewController.mm | 7 ------- src/SFML/Window/OSX/SFWindowController.mm | 6 ------ src/SFML/Window/OSX/WindowImplDelegateProtocol.h | 6 ------ 3 files changed, 19 deletions(-) diff --git a/src/SFML/Window/OSX/SFViewController.mm b/src/SFML/Window/OSX/SFViewController.mm index 2efac8b9..00cd5174 100644 --- a/src/SFML/Window/OSX/SFViewController.mm +++ b/src/SFML/Window/OSX/SFViewController.mm @@ -195,13 +195,6 @@ } -//////////////////////////////////////////////////////// --(NSPoint)cursorPosition -{ - return [myOGLView cursorPositionFromEvent:nil]; -} - - ////////////////////////////////////////////////////////. -(void)setWindowPositionToX:(unsigned int)x Y:(unsigned int)y { diff --git a/src/SFML/Window/OSX/SFWindowController.mm b/src/SFML/Window/OSX/SFWindowController.mm index 4046041c..2e3bac84 100644 --- a/src/SFML/Window/OSX/SFWindowController.mm +++ b/src/SFML/Window/OSX/SFWindowController.mm @@ -287,12 +287,6 @@ [myOGLView setCursorPositionToX:x Y:y]; } -//////////////////////////////////////////////////////// --(NSPoint)cursorPosition -{ - return [myOGLView cursorPositionFromEvent:nil]; -} - ////////////////////////////////////////////////////////. -(void)setWindowPositionToX:(unsigned int)x Y:(unsigned int)y diff --git a/src/SFML/Window/OSX/WindowImplDelegateProtocol.h b/src/SFML/Window/OSX/WindowImplDelegateProtocol.h index 94b29655..e644eb1f 100644 --- a/src/SFML/Window/OSX/WindowImplDelegateProtocol.h +++ b/src/SFML/Window/OSX/WindowImplDelegateProtocol.h @@ -89,12 +89,6 @@ namespace sf { //////////////////////////////////////////////////////////// -(void)setCursorPositionToX:(unsigned int)x Y:(unsigned int)y; -//////////////////////////////////////////////////////////// -/// Get the mouse cursor position (SFML Coordinates). -/// -//////////////////////////////////////////////////////////// --(NSPoint)cursorPosition; - //////////////////////////////////////////////////////////// /// Move the window (not the view if we handle not a window) (SFML Coordinates). /// From 2f443ea08a658e4a631d876155072ee4202a44e3 Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Fri, 8 Jul 2011 14:41:22 +0200 Subject: [PATCH 19/23] Implemented all four OSX/InputImpl::Get/SetMousePosition --- src/SFML/Window/OSX/InputImpl.mm | 90 ++++++++++++++++++++++++++++++-- 1 file changed, 86 insertions(+), 4 deletions(-) diff --git a/src/SFML/Window/OSX/InputImpl.mm b/src/SFML/Window/OSX/InputImpl.mm index fe8a77da..4a36759c 100644 --- a/src/SFML/Window/OSX/InputImpl.mm +++ b/src/SFML/Window/OSX/InputImpl.mm @@ -28,12 +28,67 @@ //////////////////////////////////////////////////////////// #include #include +#include +#include + #import +#import namespace sf { namespace priv { +//////////////////////////////////////////////////////////// +/// \brief Extract the dedicated SFOpenGLView from the SFML window +/// +/// \param window a SFML window +/// \return nil if something went wrong or a SFOpenGLView*. +/// +//////////////////////////////////////////////////////////// +SFOpenGLView* GetSFOpenGLViewFromSFMLWindow(const Window& window) +{ + id nsHandle = (id)window.GetSystemHandle(); + + // Get our SFOpenGLView from ... + SFOpenGLView* view = nil; + if ([nsHandle isKindOfClass:[NSWindow class]]) { + // If system handle is a window then from its content view. + view = [nsHandle contentView]; + + // Subview doesn't match ? + if (![view isKindOfClass:[SFOpenGLView class]]) { + sf::Err() << "The content view is not a valid SFOpenGLView" + << std::endl; + view = nil; + } + + } else if ([nsHandle isKindOfClass:[NSView class]]) { + // If system handle is a view then from a subview of kind SFOpenGLView. + NSArray* subviews = [nsHandle subviews]; + for (NSView* subview in subviews) { + if ([subview isKindOfClass:[SFOpenGLView class]]) { + view = (SFOpenGLView *)subview; + break; + } + } + + // No matching subview ? + if (view == nil) { + sf::Err() << "Cannot find a valid SFOpenGLView subview." << std::endl; + + } + + } else { + + sf::Err() << "The system handle is neither a nor " + << "object. This shouldn't happen." + << std::endl; + + } + + return view; +} + //////////////////////////////////////////////////////////// bool InputImpl::IsKeyPressed(Keyboard::Key key) { @@ -64,22 +119,49 @@ Vector2i InputImpl::GetMousePosition() //////////////////////////////////////////////////////////// Vector2i InputImpl::GetMousePosition(const Window& relativeTo) { - // @to be implemented - return Vector2i(); + SFOpenGLView* view = GetSFOpenGLViewFromSFMLWindow(relativeTo); + + // No view ? + if (view == nil) { + return Vector2i(); + } + + // Use -cursorPositionFromEvent: with nil. + NSPoint pos = [view cursorPositionFromEvent:nil]; + + return Vector2i(pos.x, pos.y); } //////////////////////////////////////////////////////////// void InputImpl::SetMousePosition(const Vector2i& position) { - // @to be implemented + // Here we don't need to reverse the coordinates. + CGPoint pos = CGPointMake(position.x, position.y); + + // Place the cursor. + CGEventRef event = CGEventCreateMouseEvent(NULL, + kCGEventMouseMoved, + pos, + /*we don't care about this : */0); + CGEventPost(kCGHIDEventTap, event); + CFRelease(event); + // This is a workaround to deprecated CGSetLocalEventsSuppressionInterval. } //////////////////////////////////////////////////////////// void InputImpl::SetMousePosition(const Vector2i& position, const Window& relativeTo) { - // @to be implemented + SFOpenGLView* view = GetSFOpenGLViewFromSFMLWindow(relativeTo); + + // No view ? + if (view == nil) { + return; + } + + // Use -setCursorPositionToX:Y:. + [view setCursorPositionToX:position.x Y:position.y]; } } // namespace priv From d80808b61d7c86669a710803fbca44f4381a8e0a Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Sat, 9 Jul 2011 16:35:13 +0200 Subject: [PATCH 20/23] Implemented OSX/InputImpl::IsKeyPressed --- src/SFML/Window/CMakeLists.txt | 6 +- src/SFML/Window/OSX/HIDInputManager.hpp | 178 +++++ src/SFML/Window/OSX/HIDInputManager.mm | 877 ++++++++++++++++++++++++ src/SFML/Window/OSX/InputImpl.mm | 16 +- src/SFML/Window/OSX/SFOpenGLView.mm | 303 +------- 5 files changed, 1090 insertions(+), 290 deletions(-) create mode 100644 src/SFML/Window/OSX/HIDInputManager.hpp create mode 100644 src/SFML/Window/OSX/HIDInputManager.mm diff --git a/src/SFML/Window/CMakeLists.txt b/src/SFML/Window/CMakeLists.txt index 3f49678d..edad6e76 100644 --- a/src/SFML/Window/CMakeLists.txt +++ b/src/SFML/Window/CMakeLists.txt @@ -68,7 +68,9 @@ else() # MACOSX ${SRCROOT}/OSX/cg_sf_conversion.hpp ${SRCROOT}/OSX/cg_sf_conversion.cpp ${SRCROOT}/OSX/InputImpl.mm - ${SRCROOT}/OSX/InputImpl.hpp + ${SRCROOT}/OSX/InputImpl.hpp + ${SRCROOT}/OSX/HIDInputManager.hpp + ${SRCROOT}/OSX/HIDInputManager.mm ${SRCROOT}/OSX/JoystickImpl.cpp ${SRCROOT}/OSX/JoystickImpl.hpp ${SRCROOT}/OSX/SFApplication.h @@ -105,7 +107,7 @@ if(WINDOWS) elseif(LINUX) set(WINDOW_EXT_LIBS ${WINDOW_EXT_LIBS} ${X11_X11_LIB} ${X11_Xrandr_LIB}) elseif(MACOSX) - set(WINDOW_EXT_LIBS ${WINDOW_EXT_LIBS} "-framework Foundation -framework AppKit -framework IOKit") + set(WINDOW_EXT_LIBS ${WINDOW_EXT_LIBS} "-framework Foundation -framework AppKit -framework IOKit -framework Carbon") endif() # define the sfml-window target diff --git a/src/SFML/Window/OSX/HIDInputManager.hpp b/src/SFML/Window/OSX/HIDInputManager.hpp new file mode 100644 index 00000000..e66612a5 --- /dev/null +++ b/src/SFML/Window/OSX/HIDInputManager.hpp @@ -0,0 +1,178 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2011 Marco Antognini (antognini.marco@gmail.com), +// 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_HIDINPUTMANAGER_HPP +#define SFML_HIDINPUTMANAGER_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include +#include + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +/// \brief This class manage as a singleton instance the +/// keyboard and mouse states. It's only purpose is +/// to help sf::priv::InputImpl class. +/// +/// sf::priv::JoystickImpl is not concerned by this class. +/// +//////////////////////////////////////////////////////////// +class HIDInputManager : NonCopyable +{ +public : + + //////////////////////////////////////////////////////////// + /// \brief Get the unique instance of the class + /// + /// \note Private use only + /// + /// \return Reference to the HIDInputManager instance + /// + //////////////////////////////////////////////////////////// + static HIDInputManager& GetInstance(); + + //////////////////////////////////////////////////////////// + /// \brief Check if a key is pressed + /// + /// \param key Key to check + /// + /// \return True if the key is pressed, false otherwise + /// + //////////////////////////////////////////////////////////// + bool IsKeyPressed(Keyboard::Key key); + + //////////////////////////////////////////////////////////// + /// \brief Check if a mouse button is pressed + /// + /// \param button Button to check + /// + /// \return True if the button is pressed, false otherwise + /// + //////////////////////////////////////////////////////////// + bool IsMouseButtonPressed(Mouse::Button button); + + //////////////////////////////////////////////////////////// + /// Try to convert a character into a SFML key code. + /// + /// Return sf::Keyboard::KeyCount if it doesn't match any 'localized' keys. + /// + /// By 'localized' I mean keys that depend on the keyboard layout + /// and might not be the same as the US keycode in some country + /// (e.g. the keys 'Y' and 'Z' are switched on QWERTZ keyboard and + /// US keyboard layouts.) + /// + //////////////////////////////////////////////////////////// + static Keyboard::Key LocalizedKeys(UniChar ch); + + //////////////////////////////////////////////////////////// + /// Try to convert a virtual keycode into a SFML key code. + /// + /// Return sf::Keyboard::KeyCount if the keycode is unknown. + /// + //////////////////////////////////////////////////////////// + static Keyboard::Key NonLocalizedKeys(UniChar virtualKeycode); + +private : + + //////////////////////////////////////////////////////////// + /// \brief Default constructor + /// + //////////////////////////////////////////////////////////// + HIDInputManager(); + + //////////////////////////////////////////////////////////// + /// \brief Destructor + /// + //////////////////////////////////////////////////////////// + ~HIDInputManager(); + + //////////////////////////////////////////////////////////// + /// \brief Initialize the keyboard part of this class + /// + /// If something went wrong FreeUp is called + /// + //////////////////////////////////////////////////////////// + void InitializeKeyboard(); + + //////////////////////////////////////////////////////////// + /// \brief Release all resources + /// + /// Close all connections to any devices, if required + /// Set amIValid to false + /// + //////////////////////////////////////////////////////////// + void FreeUp(); + + //////////////////////////////////////////////////////////// + /// \brief Create a mask (dictionary) for an IOHIDManager + /// + /// \param page HID page + /// \param usage HID usage page + /// \return a retained CFDictionaryRef + /// + //////////////////////////////////////////////////////////// + static CFDictionaryRef CopyDevicesMaskForManager(UInt32 page, UInt32 usage); + + //////////////////////////////////////////////////////////// + /// \brief Converte a HID key usage to it's conrresponding virtual code + /// + /// See IOHIDUsageTables.h + /// + /// \param usage Any kHIDUsage_Keyboard* usage + /// \return the virtual code associate to the given HID key usage + /// or 0xff if it is associate to no virtual code + /// + //////////////////////////////////////////////////////////// + static UInt8 UsageToVirtualCode(UInt32 usage); + +private : + + //////////////////////////////////////////////////////////// + // Member data + //////////////////////////////////////////////////////////// + bool amIValid; ///< If any error occurs this variable is false + CFDataRef myLayoutData; ///< CFData containing the layout + UCKeyboardLayout* myLayout; ///< Current Keyboard Layout + IOHIDManagerRef myManager; ///< HID Manager + IOHIDElementRef myKeys[Keyboard::KeyCount]; ///< All the keys on the current keyboard + /* myKeys index correspond to sf::Keyboard::Key enum */ + /* if no key is assigned to a key XYZ then myKeys[XYZ] = 0 */ +}; + +} // namespace priv + +} // namespace sf + +#endif \ No newline at end of file diff --git a/src/SFML/Window/OSX/HIDInputManager.mm b/src/SFML/Window/OSX/HIDInputManager.mm new file mode 100644 index 00000000..e9165a9c --- /dev/null +++ b/src/SFML/Window/OSX/HIDInputManager.mm @@ -0,0 +1,877 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2011 Marco Antognini (antognini.marco@gmail.com), +// 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. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include +#include +#include +#include + +namespace sf +{ +namespace priv +{ +//////////////////////////////////////////////////////////// +HIDInputManager& HIDInputManager::GetInstance() +{ + static HIDInputManager instance; + return instance; +} + + +//////////////////////////////////////////////////////////// +bool HIDInputManager::IsKeyPressed(Keyboard::Key key) +{ + if (!amIValid) { + sf::Err() << "HIDInputManager is invalid." << std::endl; + return false; + } + + // Have we an associate IOHIDElementRef to that key ? + if (myKeys[key] == 0) { // No + + sf::Err() << key + << " is not associate to any IOHIDElementRef." + << std::endl; + + return false; + + } else { // Yes + + IOHIDValueRef value = 0; + + IOHIDDeviceRef device = IOHIDElementGetDevice(myKeys[key]); + IOHIDDeviceGetValue(device, myKeys[key], &value); + + if (!value) { + + // This means some kind of error / deconnection so we remove this + // element from our keys + + CFRelease(myKeys[key]); + myKeys[key] = 0; + + sf::Err() << key + << " is dead (cannot access its value)." + << std::endl; + + return false; + + } else if (IOHIDValueGetIntegerValue(value) == 1) { + + // This means the key is pressed + return true; + + } else { + + // This means the key is released + return false; + } + + } +} + + +//////////////////////////////////////////////////////////// +bool HIDInputManager::IsMouseButtonPressed(Mouse::Button button) +{ + if (!amIValid) { + sf::Err() << "HIDInputManager is invalid." << std::endl; + return false; + } + + // @to be implemented + return false; +} + + +//////////////////////////////////////////////////////////// +HIDInputManager::HIDInputManager() +: amIValid(true) +, myLayoutData(0) +, myLayout(0) +, myManager(0) +{ + // And initialize myKeys with 0s. + std::fill(myKeys, myKeys + Keyboard::KeyCount, (IOHIDElementRef)0); + + // Get the current keyboard layout + TISInputSourceRef tis = TISCopyCurrentKeyboardLayoutInputSource(); + myLayoutData = (CFDataRef)TISGetInputSourceProperty(tis, + kTISPropertyUnicodeKeyLayoutData); + + if (myLayoutData == 0) { + sf::Err() << "Cannot get the keyboard layout" << std::endl; + FreeUp(); + return; + } + + // Keep a reference for ourself + CFRetain(myLayoutData); + myLayout = (UCKeyboardLayout *)CFDataGetBytePtr(myLayoutData); + + // The TIS is no more needed + CFRelease(tis); + + // Create an HID Manager reference + myManager = IOHIDManagerCreate(kCFAllocatorDefault, kIOHIDOptionsTypeNone); + + // Open the HID Manager reference + IOReturn openStatus = IOHIDManagerOpen(myManager, kIOHIDOptionsTypeNone); + + if (openStatus != kIOReturnSuccess) { + sf::Err() << "Error when opening the HID manager" << std::endl; + + FreeUp(); + return; + } + + // Initialize the keyboard + InitializeKeyboard(); + + if (!amIValid) { + return; // Something went wrong + } + + // TODO init mouse +} + + +//////////////////////////////////////////////////////////// +HIDInputManager::~HIDInputManager() +{ + FreeUp(); +} + + +void HIDInputManager::InitializeKeyboard() +{ + //////////////////////////////////////////////////////////// + // The purpose of this function is to initalize myKeys so we can get + // the associate IOHIDElementRef of a sf::Keyboard::Key in constant time. + + + // Filter and keep only the keyboards + CFDictionaryRef mask = CopyDevicesMaskForManager(kHIDPage_GenericDesktop, + kHIDUsage_GD_Keyboard); + + IOHIDManagerSetDeviceMatching(myManager, mask); + + CFRelease(mask); + mask = 0; + + CFSetRef keyboards = IOHIDManagerCopyDevices(myManager); + if (keyboards == NULL) { + sf::Err() << "Cannot find any keyboard (1)" << std::endl; + FreeUp(); + return; + } + + // Is there at least one keyboard ? + CFIndex keyboardCount = CFSetGetCount(keyboards); + if (keyboardCount < 1) { + sf::Err() << "Cannot find any keyboard (2)" << std::endl; + CFRelease(keyboards); + FreeUp(); + return; + } + + // Get the first keyboard + CFTypeRef devicesArray[keyboardCount]; + CFSetGetValues(keyboards, devicesArray); + + IOHIDDeviceRef keyboard = (IOHIDDeviceRef)devicesArray[0]; + + CFArrayRef keys = IOHIDDeviceCopyMatchingElements(keyboard, + NULL, + kIOHIDOptionsTypeNone); + + // Release unused stuff + CFRelease(keyboards); + + if (keys == NULL) { + sf::Err() << "We got a keyboard without any keys (1)" << std::endl; + FreeUp(); + return; + } + + // How many elements are there ? + CFIndex keysCount = CFArrayGetCount(keys); + + if (keysCount == 0) { + sf::Err() << "We got a keyboard without any keys (2)" << std::endl; + CFRelease(keys); + FreeUp(); + return; + } + + // Go through all connected elements. + for (int i = 0; i < keysCount; ++i) { + IOHIDElementRef aKey = (IOHIDElementRef) CFArrayGetValueAtIndex(keys, i); + + // Skip non-matching keys elements + if (IOHIDElementGetUsagePage(aKey) != kHIDPage_KeyboardOrKeypad) { + continue; + } + + // Get its virtual code + UInt32 usageCode = IOHIDElementGetUsage(aKey); + UInt8 virtualCode = UsageToVirtualCode(usageCode); + + if (virtualCode == 0xff) { + continue; // no corresponding virtual code -> skip + } + + // Now translate the virtual code to unicode according to + // the current keyboard layout + + UInt32 deadKeyState = 0; + // unicode string length is usually less or equal to 4 + UniCharCount maxStringLength = 4; + UniCharCount actualStringLength = 0; + UniChar unicodeString[maxStringLength]; + + OSStatus error; + + error = UCKeyTranslate(myLayout, // current layout + virtualCode, // our key + kUCKeyActionDown, // or kUCKeyActionUp ? + 0x100, // no modifiers + LMGetKbdType(), // keyboard's type + kUCKeyTranslateNoDeadKeysBit,// some sort of option + &deadKeyState, // unused stuff + maxStringLength, // our memory limit + &actualStringLength, // length of what we get + unicodeString); // what we get + + if (error == noErr) { + // Translation went fine + + // The corresponding SFML key code + Keyboard::Key code = Keyboard::KeyCount; + + // First we look if the key down is from a list of caracter + // that depend on keyboard localization. + if (actualStringLength > 0) { + code = LocalizedKeys(unicodeString[0]); + } + + // The key is not a localized one, so we try to find a corresponding + // code through virtual key code. + if (code == Keyboard::KeyCount) { + code = NonLocalizedKeys(virtualCode); + } + + // A code was found, wonderful! + if (code != Keyboard::KeyCount) { + + // Last step : verify that the key was not found twice or more + + // Some keys (modifiers) appears to be twice on my keyboard + // I've no idea why +// if (myKeys[code] != 0) { +// UInt32 firstUsageCode = IOHIDElementGetUsage(myKeys[code]); +// sf::Err() << "The current keyboard has several times the " +// << "same keys. Only the first one is considered " +// << "as valid. sf::Keyboard::Key is " +// << code +// << ", virtual key code is 0x" +// << std::hex +// << (UInt32)virtualCode +// << " and HID usage code is 0x" +// << usageCode +// << ". First HID usage code is 0x" +// << firstUsageCode +// << std::dec +// << "." +// << std::endl; +// } + + if (myKeys[code] == 0) { + + // Ok, everything went fine. Now we have a unique + // corresponding sf::Keyboard::Key to one IOHIDElementRef. + + myKeys[code] = aKey; + + // And don't forget to keep the reference alive for our usage + CFRetain(myKeys[code]); + + } + + } + + //////////////////////////////////////////////////////////// + // These are known to be unbound : + // Supposed Virtual | HID | Supposed Key + // =============================================== + // 0x1b | 0x2d | Hyphen + // 0x39 | 0x39 | CapsLock + // 0x47 | 0x53 | NumLock + // 0x4c | 0x58 | Keypad Enter + // 0x41 | 0x63 | Keypad Period + // 0x6e | 0x65 | Application + // 0x51 | 0x67 | Keypad Equal + // 0x4c | 0x77 | Select + +// else { // The key is unknown. +// sf::Err() << "This is an unknow key. Virtual key code is 0x" +// << std::hex +// << (UInt32)virtualCode +// << " and HID usage code is 0x" +// << usageCode +// << std::dec +// << "." +// << std::endl; +// } + + } /* if (error == noErr) */ + + else { + sf::Err() << "Cannot translate the virtual key code, error : " + << error + << std::endl; + } + + } /* for (int i = 0; i < keysCount; ++i) */ + + CFRelease(keys); + + //////////////////////////////////////////////////////////// + // At this point myKeys is filled with as many IOHIDElementRef as possible +} + + +//////////////////////////////////////////////////////////// +void HIDInputManager::FreeUp() +{ + amIValid = false; + + if (myLayoutData != 0) CFRelease(myLayoutData); + // Do not release myLayout ! It is owned by myLayoutData. + if (myManager != 0) CFRelease(myManager); + + for (unsigned int i = 0; i < Keyboard::KeyCount; ++i) { + if (myKeys[i] != 0) { + CFRelease(myKeys[i]); + } + } +} + + +//////////////////////////////////////////////////////////// +CFDictionaryRef HIDInputManager::CopyDevicesMaskForManager(UInt32 page, UInt32 usage) +{ + // Create the dictionary. + CFMutableDictionaryRef dict = CFDictionaryCreateMutable(kCFAllocatorDefault, 2, + &kCFTypeDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks); + + // Add the page value. + CFNumberRef value = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &page); + CFDictionarySetValue(dict, CFSTR(kIOHIDDeviceUsagePageKey), value); + CFRelease(value); + + // Add the usage value (which is only valid if page value exists). + value = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &usage); + CFDictionarySetValue(dict, CFSTR(kIOHIDDeviceUsageKey), value); + CFRelease(value); + + return dict; +} + + +//////////////////////////////////////////////////////////// +UInt8 HIDInputManager::UsageToVirtualCode(UInt32 usage) +{ + // Some usage key doesn't have any corresponding virtual code or it was not + // found. + switch (usage) { + case kHIDUsage_KeyboardErrorRollOver: return 0xff; + case kHIDUsage_KeyboardPOSTFail: return 0xff; + case kHIDUsage_KeyboardErrorUndefined: return 0xff; + + case kHIDUsage_KeyboardA: return 0x00; + case kHIDUsage_KeyboardB: return 0x0b; + case kHIDUsage_KeyboardC: return 0x08; + case kHIDUsage_KeyboardD: return 0x02; + case kHIDUsage_KeyboardE: return 0x0e; + case kHIDUsage_KeyboardF: return 0x03; + case kHIDUsage_KeyboardG: return 0x05; + case kHIDUsage_KeyboardH: return 0x04; + case kHIDUsage_KeyboardI: return 0x22; + case kHIDUsage_KeyboardJ: return 0x26; + case kHIDUsage_KeyboardK: return 0x28; + case kHIDUsage_KeyboardL: return 0x25; + case kHIDUsage_KeyboardM: return 0x2e; + case kHIDUsage_KeyboardN: return 0x2d; + case kHIDUsage_KeyboardO: return 0x1f; + case kHIDUsage_KeyboardP: return 0x23; + case kHIDUsage_KeyboardQ: return 0x0c; + case kHIDUsage_KeyboardR: return 0x0f; + case kHIDUsage_KeyboardS: return 0x01; + case kHIDUsage_KeyboardT: return 0x11; + case kHIDUsage_KeyboardU: return 0x20; + case kHIDUsage_KeyboardV: return 0x09; + case kHIDUsage_KeyboardW: return 0x0d; + case kHIDUsage_KeyboardX: return 0x07; + case kHIDUsage_KeyboardY: return 0x10; + case kHIDUsage_KeyboardZ: return 0x06; + + case kHIDUsage_Keyboard1: return 0x12; + case kHIDUsage_Keyboard2: return 0x13; + case kHIDUsage_Keyboard3: return 0x14; + case kHIDUsage_Keyboard4: return 0x15; + case kHIDUsage_Keyboard5: return 0x17; + case kHIDUsage_Keyboard6: return 0x16; + case kHIDUsage_Keyboard7: return 0x1a; + case kHIDUsage_Keyboard8: return 0x1c; + case kHIDUsage_Keyboard9: return 0x19; + case kHIDUsage_Keyboard0: return 0x1d; + + case kHIDUsage_KeyboardReturnOrEnter: return 0x24; + case kHIDUsage_KeyboardEscape: return 0x35; + case kHIDUsage_KeyboardDeleteOrBackspace: return 0x33; + case kHIDUsage_KeyboardTab: return 0x30; + case kHIDUsage_KeyboardSpacebar: return 0x31; + case kHIDUsage_KeyboardHyphen: return 0x1b; + case kHIDUsage_KeyboardEqualSign: return 0x18; + case kHIDUsage_KeyboardOpenBracket: return 0x21; + case kHIDUsage_KeyboardCloseBracket: return 0x1e; + case kHIDUsage_KeyboardBackslash: return 0x2a; + case kHIDUsage_KeyboardNonUSPound: return 0xff; + case kHIDUsage_KeyboardSemicolon: return 0x29; + case kHIDUsage_KeyboardQuote: return 0x27; + case kHIDUsage_KeyboardGraveAccentAndTilde: return 0x32; + case kHIDUsage_KeyboardComma: return 0x2b; + case kHIDUsage_KeyboardPeriod: return 0x2F; + case kHIDUsage_KeyboardSlash: return 0x2c; + case kHIDUsage_KeyboardCapsLock: return 0x39; + + case kHIDUsage_KeyboardF1: return 0x7a; + case kHIDUsage_KeyboardF2: return 0x78; + case kHIDUsage_KeyboardF3: return 0x63; + case kHIDUsage_KeyboardF4: return 0x76; + case kHIDUsage_KeyboardF5: return 0x60; + case kHIDUsage_KeyboardF6: return 0x61; + case kHIDUsage_KeyboardF7: return 0x62; + case kHIDUsage_KeyboardF8: return 0x64; + case kHIDUsage_KeyboardF9: return 0x65; + case kHIDUsage_KeyboardF10: return 0x6d; + case kHIDUsage_KeyboardF11: return 0x67; + case kHIDUsage_KeyboardF12: return 0x6f; + + case kHIDUsage_KeyboardPrintScreen: return 0xff; + case kHIDUsage_KeyboardScrollLock: return 0xff; + case kHIDUsage_KeyboardPause: return 0xff; + case kHIDUsage_KeyboardInsert: return 0x72; + case kHIDUsage_KeyboardHome: return 0x73; + case kHIDUsage_KeyboardPageUp: return 0x74; + case kHIDUsage_KeyboardDeleteForward: return 0x75; + case kHIDUsage_KeyboardEnd: return 0x77; + case kHIDUsage_KeyboardPageDown: return 0x79; + + case kHIDUsage_KeyboardRightArrow: return 0x7c; + case kHIDUsage_KeyboardLeftArrow: return 0x7b; + case kHIDUsage_KeyboardDownArrow: return 0x7d; + case kHIDUsage_KeyboardUpArrow: return 0x7e; + + case kHIDUsage_KeypadNumLock: return 0x47; + case kHIDUsage_KeypadSlash: return 0x4b; + case kHIDUsage_KeypadAsterisk: return 0x43; + case kHIDUsage_KeypadHyphen: return 0x4e; + case kHIDUsage_KeypadPlus: return 0x45; + case kHIDUsage_KeypadEnter: return 0x4c; + + case kHIDUsage_Keypad1: return 0x53; + case kHIDUsage_Keypad2: return 0x54; + case kHIDUsage_Keypad3: return 0x55; + case kHIDUsage_Keypad4: return 0x56; + case kHIDUsage_Keypad5: return 0x57; + case kHIDUsage_Keypad6: return 0x58; + case kHIDUsage_Keypad7: return 0x59; + case kHIDUsage_Keypad8: return 0x5b; + case kHIDUsage_Keypad9: return 0x5c; + case kHIDUsage_Keypad0: return 0x52; + + case kHIDUsage_KeypadPeriod: return 0x41; + case kHIDUsage_KeyboardNonUSBackslash: return 0xff; + case kHIDUsage_KeyboardApplication: return 0x6e; + case kHIDUsage_KeyboardPower: return 0xff; + case kHIDUsage_KeypadEqualSign: return 0x51; + + case kHIDUsage_KeyboardF13: return 0x69; + case kHIDUsage_KeyboardF14: return 0x6b; + case kHIDUsage_KeyboardF15: return 0x71; + case kHIDUsage_KeyboardF16: return 0xff; + case kHIDUsage_KeyboardF17: return 0xff; + case kHIDUsage_KeyboardF18: return 0xff; + case kHIDUsage_KeyboardF19: return 0xff; + case kHIDUsage_KeyboardF20: return 0xff; + case kHIDUsage_KeyboardF21: return 0xff; + case kHIDUsage_KeyboardF22: return 0xff; + case kHIDUsage_KeyboardF23: return 0xff; + case kHIDUsage_KeyboardF24: return 0xff; + + case kHIDUsage_KeyboardExecute: return 0xff; + case kHIDUsage_KeyboardHelp: return 0xff; + case kHIDUsage_KeyboardMenu: return 0x7F; + case kHIDUsage_KeyboardSelect: return 0x4c; + case kHIDUsage_KeyboardStop: return 0xff; + case kHIDUsage_KeyboardAgain: return 0xff; + case kHIDUsage_KeyboardUndo: return 0xff; + case kHIDUsage_KeyboardCut: return 0xff; + case kHIDUsage_KeyboardCopy: return 0xff; + case kHIDUsage_KeyboardPaste: return 0xff; + case kHIDUsage_KeyboardFind: return 0xff; + + case kHIDUsage_KeyboardMute: return 0xff; + case kHIDUsage_KeyboardVolumeUp: return 0xff; + case kHIDUsage_KeyboardVolumeDown: return 0xff; + + case kHIDUsage_KeyboardLockingCapsLock: return 0xff; + case kHIDUsage_KeyboardLockingNumLock: return 0xff; + case kHIDUsage_KeyboardLockingScrollLock: return 0xff; + + case kHIDUsage_KeypadComma: return 0xff; + case kHIDUsage_KeypadEqualSignAS400: return 0xff; + case kHIDUsage_KeyboardInternational1: return 0xff; + case kHIDUsage_KeyboardInternational2: return 0xff; + case kHIDUsage_KeyboardInternational3: return 0xff; + case kHIDUsage_KeyboardInternational4: return 0xff; + case kHIDUsage_KeyboardInternational5: return 0xff; + case kHIDUsage_KeyboardInternational6: return 0xff; + case kHIDUsage_KeyboardInternational7: return 0xff; + case kHIDUsage_KeyboardInternational8: return 0xff; + case kHIDUsage_KeyboardInternational9: return 0xff; + + case kHIDUsage_KeyboardLANG1: return 0xff; + case kHIDUsage_KeyboardLANG2: return 0xff; + case kHIDUsage_KeyboardLANG3: return 0xff; + case kHIDUsage_KeyboardLANG4: return 0xff; + case kHIDUsage_KeyboardLANG5: return 0xff; + case kHIDUsage_KeyboardLANG6: return 0xff; + case kHIDUsage_KeyboardLANG7: return 0xff; + case kHIDUsage_KeyboardLANG8: return 0xff; + case kHIDUsage_KeyboardLANG9: return 0xff; + + case kHIDUsage_KeyboardAlternateErase: return 0xff; + case kHIDUsage_KeyboardSysReqOrAttention: return 0xff; + case kHIDUsage_KeyboardCancel: return 0xff; + case kHIDUsage_KeyboardClear: return 0xff; + case kHIDUsage_KeyboardPrior: return 0xff; + case kHIDUsage_KeyboardReturn: return 0xff; + case kHIDUsage_KeyboardSeparator: return 0xff; + case kHIDUsage_KeyboardOut: return 0xff; + case kHIDUsage_KeyboardOper: return 0xff; + case kHIDUsage_KeyboardClearOrAgain: return 0xff; + case kHIDUsage_KeyboardCrSelOrProps: return 0xff; + case kHIDUsage_KeyboardExSel: return 0xff; + + /* 0xa5-0xdf Reserved */ + + case kHIDUsage_KeyboardLeftControl: return 0x3b; + case kHIDUsage_KeyboardLeftShift: return 0x38; + case kHIDUsage_KeyboardLeftAlt: return 0x3a; + case kHIDUsage_KeyboardLeftGUI: return 0x37; + case kHIDUsage_KeyboardRightControl: return 0x3e; + case kHIDUsage_KeyboardRightShift: return 0x3c; + case kHIDUsage_KeyboardRightAlt: return 0x3d; + case kHIDUsage_KeyboardRightGUI: return 0x36; + + /* 0xe8-0xffff Reserved */ + + case kHIDUsage_Keyboard_Reserved: return 0xff; + default: return 0xff; + } +} + + +//////////////////////////////////////////////////////// +Keyboard::Key HIDInputManager::LocalizedKeys(UniChar ch) +{ + switch (ch) { + case 'a': + case 'A': return sf::Keyboard::A; + + case 'b': + case 'B': return sf::Keyboard::B; + + case 'c': + case 'C': return sf::Keyboard::C; + + case 'd': + case 'D': return sf::Keyboard::D; + + case 'e': + case 'E': return sf::Keyboard::E; + + case 'f': + case 'F': return sf::Keyboard::F; + + case 'g': + case 'G': return sf::Keyboard::G; + + case 'h': + case 'H': return sf::Keyboard::H; + + case 'i': + case 'I': return sf::Keyboard::I; + + case 'j': + case 'J': return sf::Keyboard::J; + + case 'k': + case 'K': return sf::Keyboard::K; + + case 'l': + case 'L': return sf::Keyboard::L; + + case 'm': + case 'M': return sf::Keyboard::M; + + case 'n': + case 'N': return sf::Keyboard::N; + + case 'o': + case 'O': return sf::Keyboard::O; + + case 'p': + case 'P': return sf::Keyboard::P; + + case 'q': + case 'Q': return sf::Keyboard::Q; + + case 'r': + case 'R': return sf::Keyboard::R; + + case 's': + case 'S': return sf::Keyboard::S; + + case 't': + case 'T': return sf::Keyboard::T; + + case 'u': + case 'U': return sf::Keyboard::U; + + case 'v': + case 'V': return sf::Keyboard::V; + + case 'w': + case 'W': return sf::Keyboard::W; + + case 'x': + case 'X': return sf::Keyboard::X; + + case 'y': + case 'Y': return sf::Keyboard::Y; + + case 'z': + case 'Z': return sf::Keyboard::Z; + + // The key is not 'localized'. + default: return sf::Keyboard::KeyCount; + } +} + + +//////////////////////////////////////////////////////// +Keyboard::Key HIDInputManager::NonLocalizedKeys(UniChar virtualKeycode) +{ + // (Some) 0x code based on http://forums.macrumors.com/showthread.php?t=780577 + // Some sf::Keyboard::Key are present twice. + switch (virtualKeycode) { + // These cases should not be used but anyway... + case 0x00: return sf::Keyboard::A; + case 0x0b: return sf::Keyboard::B; + case 0x08: return sf::Keyboard::C; + case 0x02: return sf::Keyboard::D; + case 0x0e: return sf::Keyboard::E; + case 0x03: return sf::Keyboard::F; + case 0x05: return sf::Keyboard::G; + case 0x04: return sf::Keyboard::H; + case 0x22: return sf::Keyboard::I; + case 0x26: return sf::Keyboard::J; + case 0x28: return sf::Keyboard::K; + case 0x25: return sf::Keyboard::L; + case 0x2e: return sf::Keyboard::M; + case 0x2d: return sf::Keyboard::N; + case 0x1f: return sf::Keyboard::O; + case 0x23: return sf::Keyboard::P; + case 0x0c: return sf::Keyboard::Q; + case 0x0f: return sf::Keyboard::R; + case 0x01: return sf::Keyboard::S; + case 0x11: return sf::Keyboard::T; + case 0x20: return sf::Keyboard::U; + case 0x09: return sf::Keyboard::V; + case 0x0d: return sf::Keyboard::W; + case 0x07: return sf::Keyboard::X; + case 0x10: return sf::Keyboard::Y; + case 0x06: return sf::Keyboard::Z; + + // These cases should not be used but anyway... + case 0x1d: return sf::Keyboard::Num0; + case 0x12: return sf::Keyboard::Num1; + case 0x13: return sf::Keyboard::Num2; + case 0x14: return sf::Keyboard::Num3; + case 0x15: return sf::Keyboard::Num4; + case 0x17: return sf::Keyboard::Num5; + case 0x16: return sf::Keyboard::Num6; + case 0x1a: return sf::Keyboard::Num7; + case 0x1c: return sf::Keyboard::Num8; + case 0x19: return sf::Keyboard::Num9; + + case 0x35: return sf::Keyboard::Escape; + + // Modifier keys : never happen with keyDown/keyUp methods (?) + case 0x3b: return sf::Keyboard::LControl; + case 0x38: return sf::Keyboard::LShift; + case 0x3a: return sf::Keyboard::LAlt; + case 0x37: return sf::Keyboard::LSystem; + case 0x3e: return sf::Keyboard::RControl; + case 0x3c: return sf::Keyboard::RShift; + case 0x3d: return sf::Keyboard::RAlt; + case 0x36: return sf::Keyboard::RSystem; + + case 0x7f: return sf::Keyboard::Menu; + case NSMenuFunctionKey: return sf::Keyboard::Menu; + + case 0x21: return sf::Keyboard::LBracket; + case 0x1e: return sf::Keyboard::RBracket; + case 0x29: return sf::Keyboard::SemiColon; + case 0x2b: return sf::Keyboard::Comma; +// case 0x41: /* keypad */ return sf::Keyboard::Period; + case 0x2f: /* keyboard */ return sf::Keyboard::Period; + case 0x27: return sf::Keyboard::Quote; + case 0x2c: return sf::Keyboard::Slash; + case 0x2a: return sf::Keyboard::BackSlash; + +#warning sf::Keyboard::Tilde might be in conflict with some other key. + // 0x0a is for "Non-US Backslash" according to HID Calibrator, + // a sample provided by Apple. + case 0x0a: return sf::Keyboard::Tilde; + +// case 0x51: /* keypad */ return sf::Keyboard::Equal; + case 0x18: /* keyboard */ return sf::Keyboard::Equal; + case 0x32: return sf::Keyboard::Dash; + case 0x31: return sf::Keyboard::Space; +// case 0x4c: /* keypad */ return sf::Keyboard::Return; + case 0x24: /* keyboard */ return sf::Keyboard::Return; + case 0x33: return sf::Keyboard::Back; + case 0x30: return sf::Keyboard::Tab; + + // Duplicates (see next §). + case 0x74: return sf::Keyboard::PageUp; + case 0x79: return sf::Keyboard::PageDown; + case 0x77: return sf::Keyboard::End; + case 0x73: return sf::Keyboard::Home; + + case NSPageUpFunctionKey: return sf::Keyboard::PageUp; + case NSPageDownFunctionKey: return sf::Keyboard::PageDown; + case NSEndFunctionKey: return sf::Keyboard::End; + case NSHomeFunctionKey: return sf::Keyboard::Home; + + case 0x72: return sf::Keyboard::Insert; + case NSInsertFunctionKey: return sf::Keyboard::Insert; + case 0x75: return sf::Keyboard::Delete; + case NSDeleteFunctionKey: return sf::Keyboard::Delete; + + case 0x45: return sf::Keyboard::Add; + case 0x4e: return sf::Keyboard::Subtract; + case 0x43: return sf::Keyboard::Multiply; + case 0x4b: return sf::Keyboard::Divide; + + // Duplicates (see next §). + case 0x7b: return sf::Keyboard::Left; + case 0x7c: return sf::Keyboard::Right; + case 0x7e: return sf::Keyboard::Up; + case 0x7d: return sf::Keyboard::Down; + + case NSLeftArrowFunctionKey: return sf::Keyboard::Left; + case NSRightArrowFunctionKey: return sf::Keyboard::Right; + case NSUpArrowFunctionKey: return sf::Keyboard::Up; + case NSDownArrowFunctionKey: return sf::Keyboard::Down; + + case 0x52: return sf::Keyboard::Numpad0; + case 0x53: return sf::Keyboard::Numpad1; + case 0x54: return sf::Keyboard::Numpad2; + case 0x55: return sf::Keyboard::Numpad3; + case 0x56: return sf::Keyboard::Numpad4; + case 0x57: return sf::Keyboard::Numpad5; + case 0x58: return sf::Keyboard::Numpad6; + case 0x59: return sf::Keyboard::Numpad7; + case 0x5b: return sf::Keyboard::Numpad8; + case 0x5c: return sf::Keyboard::Numpad9; + + // Duplicates (see next §). + case 0x7a: return sf::Keyboard::F1; + case 0x78: return sf::Keyboard::F2; + case 0x63: return sf::Keyboard::F3; + case 0x76: return sf::Keyboard::F4; + case 0x60: return sf::Keyboard::F5; + case 0x61: return sf::Keyboard::F6; + case 0x62: return sf::Keyboard::F7; + case 0x64: return sf::Keyboard::F8; + case 0x65: return sf::Keyboard::F9; + case 0x6d: return sf::Keyboard::F10; + case 0x67: return sf::Keyboard::F11; + case 0x6f: return sf::Keyboard::F12; + case 0x69: return sf::Keyboard::F13; + case 0x6b: return sf::Keyboard::F14; + case 0x71: return sf::Keyboard::F15; + + case NSF1FunctionKey: return sf::Keyboard::F1; + case NSF2FunctionKey: return sf::Keyboard::F2; + case NSF3FunctionKey: return sf::Keyboard::F3; + case NSF4FunctionKey: return sf::Keyboard::F4; + case NSF5FunctionKey: return sf::Keyboard::F5; + case NSF6FunctionKey: return sf::Keyboard::F6; + case NSF7FunctionKey: return sf::Keyboard::F7; + case NSF8FunctionKey: return sf::Keyboard::F8; + case NSF9FunctionKey: return sf::Keyboard::F9; + case NSF10FunctionKey: return sf::Keyboard::F10; + case NSF11FunctionKey: return sf::Keyboard::F11; + case NSF12FunctionKey: return sf::Keyboard::F12; + case NSF13FunctionKey: return sf::Keyboard::F13; + case NSF14FunctionKey: return sf::Keyboard::F14; + case NSF15FunctionKey: return sf::Keyboard::F15; + + case NSPauseFunctionKey: return sf::Keyboard::Pause; + +#warning keycode 0x1b is not bound to any key. + // This key is ' on CH-FR, ) on FR and - on US layouts. + + // An unknown key. + default: return sf::Keyboard::KeyCount; + } +} + + +} // namespace priv + +} // namespace sf + diff --git a/src/SFML/Window/OSX/InputImpl.mm b/src/SFML/Window/OSX/InputImpl.mm index 4a36759c..0690442f 100644 --- a/src/SFML/Window/OSX/InputImpl.mm +++ b/src/SFML/Window/OSX/InputImpl.mm @@ -30,10 +30,20 @@ #include #include #include +#include #import #import +//////////////////////////////////////////////////////////// +/// In order to keep track of the keyboard's state and mouse buttons' state +/// we use the HID manager. Mouse position is handled differently. +/// +/// NB : we probably could use +/// NSEvent +addGlobalMonitorForEventsMatchingMask:handler: for mouse only. +/// +//////////////////////////////////////////////////////////// + namespace sf { namespace priv @@ -92,16 +102,14 @@ SFOpenGLView* GetSFOpenGLViewFromSFMLWindow(const Window& window) //////////////////////////////////////////////////////////// bool InputImpl::IsKeyPressed(Keyboard::Key key) { - // @to be implemented - return false; + return HIDInputManager::GetInstance().IsKeyPressed(key); } //////////////////////////////////////////////////////////// bool InputImpl::IsMouseButtonPressed(Mouse::Button button) { - // @to be implemented - return false; + return HIDInputManager::GetInstance().IsMouseButtonPressed(button); } diff --git a/src/SFML/Window/OSX/SFOpenGLView.mm b/src/SFML/Window/OSX/SFOpenGLView.mm index cb10daaf..e3f7dbb0 100644 --- a/src/SFML/Window/OSX/SFOpenGLView.mm +++ b/src/SFML/Window/OSX/SFOpenGLView.mm @@ -27,6 +27,7 @@ // Headers //////////////////////////////////////////////////////////// #include +#include // For LocalizedKeys and NonLocalizedKeys #include #import @@ -60,25 +61,6 @@ NSUInteger EraseMaskFromData(NSUInteger data, NSUInteger mask); //////////////////////////////////////////////////////////// NSUInteger KeepOnlyMaskFromData(NSUInteger data, NSUInteger mask); -//////////////////////////////////////////////////////////// -/// Try to convert a character into a SFML key code. -/// Return sf::Keyboard::KeyCount if it doesn't match any 'localized' keys. -/// -/// By 'localized' I mean keys that depend on the keyboard layout -/// and might not be the same as the US keycode in some country -/// (e.g. the keys 'Y' and 'Z' are switched on QWERTZ keyboard and -/// US keyboard layouts.) -/// -//////////////////////////////////////////////////////////// -sf::Keyboard::Key LocalizedKeys(unichar ch); - -//////////////////////////////////////////////////////////// -/// Try to convert a keycode into a SFML key code. -/// Return sf::Keyboard::KeyCount if the keycode is unknown. -/// -//////////////////////////////////////////////////////////// -sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); - //////////////////////////////////////////////////////////// /// SFOpenGLView class : Privates Methods Declaration /// @@ -105,6 +87,8 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); //////////////////////////////////////////////////////////// /// Converte the NSEvent mouse button type to SFML type. +/// +/// Returns ButtonCount if the button is unknown /// //////////////////////////////////////////////////////////// -(sf::Mouse::Button)mouseButtonFromEvent:(NSEvent *)event; @@ -197,7 +181,7 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); /*we don't care about this : */0); CGEventPost(kCGHIDEventTap, event); CFRelease(event); - // This is a workaround to deprecated CGSetLocalEventsSuppressionInterval. + // This is a workaround to deprecated CGSetLocalEventsSuppressionInterval function } @@ -489,6 +473,7 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); { if (myRequester == 0) return; + // Handle key down event if (myUseKeyRepeat || ![theEvent isARepeat]) { sf::Event::KeyEvent key = [SFOpenGLView convertNSKeyEventToSFMLEvent:theEvent]; @@ -497,6 +482,7 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); } } + // Handle text entred event if ((myUseKeyRepeat || ![theEvent isARepeat]) && [[theEvent characters] length] > 0) { // Ignore escape key and non text keycode. (See NSEvent.h) @@ -966,25 +952,27 @@ sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode); // Key code. key.Code = sf::Keyboard::KeyCount; - // First we look if the key down is from a list of caracter that depend on keyboard localization. + + // First we look if the key down is from a list of caracter + // that depend on keyboard localization. NSString* string = [anEvent charactersIgnoringModifiers]; if ([string length] > 0) { - key.Code = LocalizedKeys([string characterAtIndex:0]); + key.Code = sf::priv::HIDInputManager::LocalizedKeys([string characterAtIndex:0]); } - // The key is not a localized one, the other keys. + // The key is not a localized one, so we try to find a corresponding code + // through virtual key code. if (key.Code == sf::Keyboard::KeyCount) { - key.Code = NonLocalizedKeys([anEvent keyCode]); + key.Code = sf::priv::HIDInputManager::NonLocalizedKeys([anEvent keyCode]); } -#ifdef SFML_DEBUG // We don't want to bother the final customer with annoying messages. +#ifdef SFML_DEBUG // Don't bother the final customers with annoying messages. if (key.Code == sf::Keyboard::KeyCount) { // The key is unknown. - sf::Err() - << "This is an unknow key. Should not happen (?). Keycode is 0x" - << std::hex - << [anEvent keyCode] - << "." - << std::endl; + sf::Err() << "This is an unknow key. Virtual key code is 0x" + << std::hex + << [anEvent keyCode] + << "." + << std::endl; } #endif @@ -1012,256 +1000,3 @@ NSUInteger KeepOnlyMaskFromData(NSUInteger data, NSUInteger mask) } -//////////////////////////////////////////////////////// -sf::Keyboard::Key LocalizedKeys(unichar ch) -{ - switch (ch) { - case 'a': - case 'A': return sf::Keyboard::A; - - case 'b': - case 'B': return sf::Keyboard::B; - - case 'c': - case 'C': return sf::Keyboard::C; - - case 'd': - case 'D': return sf::Keyboard::D; - - case 'e': - case 'E': return sf::Keyboard::E; - - case 'f': - case 'F': return sf::Keyboard::F; - - case 'g': - case 'G': return sf::Keyboard::G; - - case 'h': - case 'H': return sf::Keyboard::H; - - case 'i': - case 'I': return sf::Keyboard::I; - - case 'j': - case 'J': return sf::Keyboard::J; - - case 'k': - case 'K': return sf::Keyboard::K; - - case 'l': - case 'L': return sf::Keyboard::L; - - case 'm': - case 'M': return sf::Keyboard::M; - - case 'n': - case 'N': return sf::Keyboard::N; - - case 'o': - case 'O': return sf::Keyboard::O; - - case 'p': - case 'P': return sf::Keyboard::P; - - case 'q': - case 'Q': return sf::Keyboard::Q; - - case 'r': - case 'R': return sf::Keyboard::R; - - case 's': - case 'S': return sf::Keyboard::S; - - case 't': - case 'T': return sf::Keyboard::T; - - case 'u': - case 'U': return sf::Keyboard::U; - - case 'v': - case 'V': return sf::Keyboard::V; - - case 'w': - case 'W': return sf::Keyboard::W; - - case 'x': - case 'X': return sf::Keyboard::X; - - case 'y': - case 'Y': return sf::Keyboard::Y; - - case 'z': - case 'Z': return sf::Keyboard::Z; - - // The kew is not 'localized'. - default: return sf::Keyboard::KeyCount; - } -} - - -//////////////////////////////////////////////////////// -sf::Keyboard::Key NonLocalizedKeys(unsigned short keycode) -{ - // (Some) 0x code based on http://forums.macrumors.com/showthread.php?t=780577 - // Some sf::Keyboard::Key are present twice. - switch (keycode) { - // These cases should not be used but anyway... - case 0x00: return sf::Keyboard::A; - case 0x0b: return sf::Keyboard::B; - case 0x08: return sf::Keyboard::C; - case 0x02: return sf::Keyboard::D; - case 0x0e: return sf::Keyboard::E; - case 0x03: return sf::Keyboard::F; - case 0x05: return sf::Keyboard::G; - case 0x04: return sf::Keyboard::H; - case 0x22: return sf::Keyboard::I; - case 0x26: return sf::Keyboard::J; - case 0x28: return sf::Keyboard::K; - case 0x25: return sf::Keyboard::L; - case 0x2e: return sf::Keyboard::M; - case 0x2d: return sf::Keyboard::N; - case 0x1f: return sf::Keyboard::O; - case 0x23: return sf::Keyboard::P; - case 0x0c: return sf::Keyboard::Q; - case 0x0f: return sf::Keyboard::R; - case 0x01: return sf::Keyboard::S; - case 0x11: return sf::Keyboard::T; - case 0x20: return sf::Keyboard::U; - case 0x09: return sf::Keyboard::V; - case 0x0d: return sf::Keyboard::W; - case 0x07: return sf::Keyboard::X; - case 0x10: return sf::Keyboard::Y; - case 0x06: return sf::Keyboard::Z; - - // These cases should not be used but anyway... - case 0x1d: return sf::Keyboard::Num0; - case 0x12: return sf::Keyboard::Num1; - case 0x13: return sf::Keyboard::Num2; - case 0x14: return sf::Keyboard::Num3; - case 0x15: return sf::Keyboard::Num4; - case 0x17: return sf::Keyboard::Num5; - case 0x16: return sf::Keyboard::Num6; - case 0x1a: return sf::Keyboard::Num7; - case 0x1c: return sf::Keyboard::Num8; - case 0x19: return sf::Keyboard::Num9; - - case 0x35: return sf::Keyboard::Escape; - - // Modifier keys : never happen with keyDown/keyUp methods (?) - case 0x3b: return sf::Keyboard::LControl; - case 0x38: return sf::Keyboard::LShift; - case 0x3a: return sf::Keyboard::LAlt; - case 0x37: return sf::Keyboard::LSystem; - case 0x3e: return sf::Keyboard::RControl; - case 0x3c: return sf::Keyboard::RShift; - case 0x3d: return sf::Keyboard::RAlt; - case 0x36: return sf::Keyboard::RSystem; - - case NSMenuFunctionKey: return sf::Keyboard::Menu; - - case 0x21: return sf::Keyboard::LBracket; - case 0x1e: return sf::Keyboard::RBracket; - case 0x29: return sf::Keyboard::SemiColon; - case 0x2b: return sf::Keyboard::Comma; - case 0x2f: return sf::Keyboard::Period; - case 0x27: return sf::Keyboard::Quote; - case 0x2c: return sf::Keyboard::Slash; - case 0x2a: return sf::Keyboard::BackSlash; - -#warning sf::Keyboard::Tilde might be in conflict with some other key. - // 0x0a is for "Non-US Backslash" according to HID Calibrator, - // a sample provided by Apple. - case 0x0a: return sf::Keyboard::Tilde; - - case 0x18: return sf::Keyboard::Equal; - case 0x32: return sf::Keyboard::Dash; - case 0x31: return sf::Keyboard::Space; - case 0x24: return sf::Keyboard::Return; - case 0x33: return sf::Keyboard::Back; - case 0x30: return sf::Keyboard::Tab; - - // Duplicates (see next §). - case 0x74: return sf::Keyboard::PageUp; - case 0x79: return sf::Keyboard::PageDown; - case 0x77: return sf::Keyboard::End; - case 0x73: return sf::Keyboard::Home; - - case NSPageUpFunctionKey: return sf::Keyboard::PageUp; - case NSPageDownFunctionKey: return sf::Keyboard::PageDown; - case NSEndFunctionKey: return sf::Keyboard::End; - case NSHomeFunctionKey: return sf::Keyboard::Home; - - case NSInsertFunctionKey: return sf::Keyboard::Insert; - case NSDeleteFunctionKey: return sf::Keyboard::Delete; - - case 0x45: return sf::Keyboard::Add; - case 0x4e: return sf::Keyboard::Subtract; - case 0x43: return sf::Keyboard::Multiply; - case 0x4b: return sf::Keyboard::Divide; - - // Duplicates (see next §). - case 0x7b: return sf::Keyboard::Left; - case 0x7c: return sf::Keyboard::Right; - case 0x7e: return sf::Keyboard::Up; - case 0x7d: return sf::Keyboard::Down; - - case NSLeftArrowFunctionKey: return sf::Keyboard::Left; - case NSRightArrowFunctionKey: return sf::Keyboard::Right; - case NSUpArrowFunctionKey: return sf::Keyboard::Up; - case NSDownArrowFunctionKey: return sf::Keyboard::Down; - - case 0x52: return sf::Keyboard::Numpad0; - case 0x53: return sf::Keyboard::Numpad1; - case 0x54: return sf::Keyboard::Numpad2; - case 0x55: return sf::Keyboard::Numpad3; - case 0x56: return sf::Keyboard::Numpad4; - case 0x57: return sf::Keyboard::Numpad5; - case 0x58: return sf::Keyboard::Numpad6; - case 0x59: return sf::Keyboard::Numpad7; - case 0x5b: return sf::Keyboard::Numpad8; - case 0x5c: return sf::Keyboard::Numpad9; - - // Duplicates (see next §). - case 0x7a: return sf::Keyboard::F1; - case 0x78: return sf::Keyboard::F2; - case 0x63: return sf::Keyboard::F3; - case 0x76: return sf::Keyboard::F4; - case 0x60: return sf::Keyboard::F5; - case 0x61: return sf::Keyboard::F6; - case 0x62: return sf::Keyboard::F7; - case 0x64: return sf::Keyboard::F8; - case 0x65: return sf::Keyboard::F9; - case 0x6d: return sf::Keyboard::F10; - case 0x67: return sf::Keyboard::F11; - case 0x6f: return sf::Keyboard::F12; - case 0x69: return sf::Keyboard::F13; - case 0x6b: return sf::Keyboard::F14; - case 0x71: return sf::Keyboard::F15; - - case NSF1FunctionKey: return sf::Keyboard::F1; - case NSF2FunctionKey: return sf::Keyboard::F2; - case NSF3FunctionKey: return sf::Keyboard::F3; - case NSF4FunctionKey: return sf::Keyboard::F4; - case NSF5FunctionKey: return sf::Keyboard::F5; - case NSF6FunctionKey: return sf::Keyboard::F6; - case NSF7FunctionKey: return sf::Keyboard::F7; - case NSF8FunctionKey: return sf::Keyboard::F8; - case NSF9FunctionKey: return sf::Keyboard::F9; - case NSF10FunctionKey: return sf::Keyboard::F10; - case NSF11FunctionKey: return sf::Keyboard::F11; - case NSF12FunctionKey: return sf::Keyboard::F12; - case NSF13FunctionKey: return sf::Keyboard::F13; - case NSF14FunctionKey: return sf::Keyboard::F14; - case NSF15FunctionKey: return sf::Keyboard::F15; - - case NSPauseFunctionKey: return sf::Keyboard::Pause; - -#warning keycode 0x1b is not bound to any key. - // This key is ' on CH-FR, ) on FR and - on US layouts. - - // An unknown key. - default: return sf::Keyboard::KeyCount; - } -} - From b5008ba01bab0f5ff31189fd828c35c78f37fb2f Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Sat, 9 Jul 2011 16:37:24 +0200 Subject: [PATCH 21/23] Commented out some sf::Err useless reports --- src/SFML/Window/OSX/SFOpenGLView.mm | 38 ++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/SFML/Window/OSX/SFOpenGLView.mm b/src/SFML/Window/OSX/SFOpenGLView.mm index e3f7dbb0..a996adac 100644 --- a/src/SFML/Window/OSX/SFOpenGLView.mm +++ b/src/SFML/Window/OSX/SFOpenGLView.mm @@ -366,11 +366,11 @@ NSUInteger KeepOnlyMaskFromData(NSUInteger data, NSUInteger mask); if (button != sf::Mouse::ButtonCount) { myRequester->MouseDownAt(button, loc.x, loc.y); } -#ifdef SFML_DEBUG - else { - sf::Err() << "Unknown mouse button released." << std::endl; - } -#endif +//#ifdef SFML_DEBUG +// else { +// sf::Err() << "Unknown mouse button released." << std::endl; +// } +//#endif } @@ -386,11 +386,11 @@ NSUInteger KeepOnlyMaskFromData(NSUInteger data, NSUInteger mask); if (button != sf::Mouse::ButtonCount) { myRequester->MouseUpAt(button, loc.x, loc.y); } -#ifdef SFML_DEBUG - else { - sf::Err() << "Unknown mouse button released." << std::endl; - } -#endif +//#ifdef SFML_DEBUG +// else { +// sf::Err() << "Unknown mouse button released." << std::endl; +// } +//#endif } @@ -966,15 +966,15 @@ NSUInteger KeepOnlyMaskFromData(NSUInteger data, NSUInteger mask); key.Code = sf::priv::HIDInputManager::NonLocalizedKeys([anEvent keyCode]); } -#ifdef SFML_DEBUG // Don't bother the final customers with annoying messages. - if (key.Code == sf::Keyboard::KeyCount) { // The key is unknown. - sf::Err() << "This is an unknow key. Virtual key code is 0x" - << std::hex - << [anEvent keyCode] - << "." - << std::endl; - } -#endif +//#ifdef SFML_DEBUG // Don't bother the final customers with annoying messages. +// if (key.Code == sf::Keyboard::KeyCount) { // The key is unknown. +// sf::Err() << "This is an unknow key. Virtual key code is 0x" +// << std::hex +// << [anEvent keyCode] +// << "." +// << std::endl; +// } +//#endif return key; } From 5fbf147cc097697cec581615cdef1090949e9794 Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Sun, 10 Jul 2011 05:02:53 +0200 Subject: [PATCH 22/23] Added support for several connected keyboards in HIDInputManager --- src/SFML/Window/OSX/HIDInputManager.hpp | 55 +++- src/SFML/Window/OSX/HIDInputManager.mm | 354 ++++++++++++------------ 2 files changed, 224 insertions(+), 185 deletions(-) diff --git a/src/SFML/Window/OSX/HIDInputManager.hpp b/src/SFML/Window/OSX/HIDInputManager.hpp index e66612a5..aee34dc5 100644 --- a/src/SFML/Window/OSX/HIDInputManager.hpp +++ b/src/SFML/Window/OSX/HIDInputManager.hpp @@ -36,6 +36,7 @@ #include #include #include +#include namespace sf { @@ -126,6 +127,27 @@ private : //////////////////////////////////////////////////////////// void InitializeKeyboard(); + //////////////////////////////////////////////////////////// + /// \brief Load the given keyboard into myKeys + /// + /// If the given keyboard has no key this function simply + /// returns. FreeUp is _not_ called because this is not fatal. + /// + /// \param keyboard Keyboard to load + /// + //////////////////////////////////////////////////////////// + void LoadKeyboard(IOHIDDeviceRef keyboard); + + //////////////////////////////////////////////////////////// + /// \brief Load the given key into myKeys + /// + /// FreeUp is _not_ called by this function. + /// + /// \param key Key to load + /// + //////////////////////////////////////////////////////////// + void LoadKey(IOHIDElementRef key); + //////////////////////////////////////////////////////////// /// \brief Release all resources /// @@ -146,13 +168,25 @@ private : static CFDictionaryRef CopyDevicesMaskForManager(UInt32 page, UInt32 usage); //////////////////////////////////////////////////////////// - /// \brief Converte a HID key usage to it's conrresponding virtual code + /// \brief Filter the devices and return them. + /// + /// If something went wrong FreeUp is called + /// + /// \param page HID page like kHIDPage_GenericDesktop + /// \param usage HID usage page like kHIDUsage_GD_Keyboard or kHIDUsage_GD_Mouse + /// \return a retained CFSetRef of IOHIDDeviceRef or NULL + /// + //////////////////////////////////////////////////////////// + CFSetRef CopyDevices(UInt32 page, UInt32 usage); + + //////////////////////////////////////////////////////////// + /// \brief Converte a HID key usage to its corresponding virtual code /// /// See IOHIDUsageTables.h /// /// \param usage Any kHIDUsage_Keyboard* usage - /// \return the virtual code associate to the given HID key usage - /// or 0xff if it is associate to no virtual code + /// \return the virtual code associate with the given HID key usage + /// or 0xff if it is associate with no virtual code /// //////////////////////////////////////////////////////////// static UInt8 UsageToVirtualCode(UInt32 usage); @@ -166,9 +200,18 @@ private : CFDataRef myLayoutData; ///< CFData containing the layout UCKeyboardLayout* myLayout; ///< Current Keyboard Layout IOHIDManagerRef myManager; ///< HID Manager - IOHIDElementRef myKeys[Keyboard::KeyCount]; ///< All the keys on the current keyboard - /* myKeys index correspond to sf::Keyboard::Key enum */ - /* if no key is assigned to a key XYZ then myKeys[XYZ] = 0 */ + + typedef std::vector IOHIDElements; + IOHIDElements myKeys[Keyboard::KeyCount]; ///< All the keys on the current keyboard + + //////////////////////////////////////////////////////////// + /// myKeys' index corresponds to sf::Keyboard::Key enum. + /// if no key is assigned with key XYZ then myKeys[XYZ].size() == 0. + /// if there are several keyboards connected and several HID keys associate + /// with the same sf::Keyboard::Key then myKeys[XYZ] contains all these + /// HID keys. + /// + //////////////////////////////////////////////////////////// }; } // namespace priv diff --git a/src/SFML/Window/OSX/HIDInputManager.mm b/src/SFML/Window/OSX/HIDInputManager.mm index e9165a9c..d92057bc 100644 --- a/src/SFML/Window/OSX/HIDInputManager.mm +++ b/src/SFML/Window/OSX/HIDInputManager.mm @@ -28,7 +28,6 @@ //////////////////////////////////////////////////////////// #include #include -#include #include namespace sf @@ -51,48 +50,42 @@ bool HIDInputManager::IsKeyPressed(Keyboard::Key key) return false; } - // Have we an associate IOHIDElementRef to that key ? - if (myKeys[key] == 0) { // No - - sf::Err() << key - << " is not associate to any IOHIDElementRef." - << std::endl; - - return false; - - } else { // Yes + // state = true if at least one corresponding HID key is pressed + bool state = false; + + for (IOHIDElements::iterator it = myKeys[key].begin(); it != myKeys[key].end(); ++it) { IOHIDValueRef value = 0; - IOHIDDeviceRef device = IOHIDElementGetDevice(myKeys[key]); - IOHIDDeviceGetValue(device, myKeys[key], &value); + IOHIDDeviceRef device = IOHIDElementGetDevice(*it); + IOHIDDeviceGetValue(device, *it, &value); if (!value) { // This means some kind of error / deconnection so we remove this // element from our keys - CFRelease(myKeys[key]); - myKeys[key] = 0; + CFRelease(*it); + it = myKeys[key].erase(it); sf::Err() << key << " is dead (cannot access its value)." << std::endl; - - return false; - + } else if (IOHIDValueGetIntegerValue(value) == 1) { // This means the key is pressed - return true; + state = true; + break; // Stop here. } else { // This means the key is released - return false; } } + + return state; } @@ -116,9 +109,6 @@ HIDInputManager::HIDInputManager() , myLayout(0) , myManager(0) { - // And initialize myKeys with 0s. - std::fill(myKeys, myKeys + Keyboard::KeyCount, (IOHIDElementRef)0); - // Get the current keyboard layout TISInputSourceRef tis = TISCopyCurrentKeyboardLayoutInputSource(); myLayoutData = (CFDataRef)TISGetInputSourceProperty(tis, @@ -172,65 +162,60 @@ void HIDInputManager::InitializeKeyboard() { //////////////////////////////////////////////////////////// // The purpose of this function is to initalize myKeys so we can get - // the associate IOHIDElementRef of a sf::Keyboard::Key in constant time. + // the associate IOHIDElementRef with a sf::Keyboard::Key in ~constant~ time. - - // Filter and keep only the keyboards - CFDictionaryRef mask = CopyDevicesMaskForManager(kHIDPage_GenericDesktop, - kHIDUsage_GD_Keyboard); - - IOHIDManagerSetDeviceMatching(myManager, mask); - - CFRelease(mask); - mask = 0; - - CFSetRef keyboards = IOHIDManagerCopyDevices(myManager); + // Get only keyboards + CFSetRef keyboards = CopyDevices(kHIDPage_GenericDesktop, kHIDUsage_GD_Keyboard); if (keyboards == NULL) { - sf::Err() << "Cannot find any keyboard (1)" << std::endl; - FreeUp(); + + // FreeUp was already called return; } - // Is there at least one keyboard ? - CFIndex keyboardCount = CFSetGetCount(keyboards); - if (keyboardCount < 1) { - sf::Err() << "Cannot find any keyboard (2)" << std::endl; - CFRelease(keyboards); - FreeUp(); - return; - } + CFIndex keyboardCount = CFSetGetCount(keyboards); // >= 1 (asserted by CopyDevices) - // Get the first keyboard + // Get an iterable array CFTypeRef devicesArray[keyboardCount]; CFSetGetValues(keyboards, devicesArray); - IOHIDDeviceRef keyboard = (IOHIDDeviceRef)devicesArray[0]; + for (CFIndex i = 0; i < keyboardCount; ++i) { - CFArrayRef keys = IOHIDDeviceCopyMatchingElements(keyboard, - NULL, - kIOHIDOptionsTypeNone); + IOHIDDeviceRef keyboard = (IOHIDDeviceRef)devicesArray[i]; + + LoadKeyboard(keyboard); + } // Release unused stuff CFRelease(keyboards); + //////////////////////////////////////////////////////////// + // At this point myKeys is filled with as many IOHIDElementRef as possible +} + + +//////////////////////////////////////////////////////////// +void HIDInputManager::LoadKeyboard(IOHIDDeviceRef keyboard) +{ + CFArrayRef keys = IOHIDDeviceCopyMatchingElements(keyboard, + NULL, + kIOHIDOptionsTypeNone); if (keys == NULL) { sf::Err() << "We got a keyboard without any keys (1)" << std::endl; - FreeUp(); return; } // How many elements are there ? CFIndex keysCount = CFArrayGetCount(keys); - + if (keysCount == 0) { sf::Err() << "We got a keyboard without any keys (2)" << std::endl; CFRelease(keys); - FreeUp(); return; } // Go through all connected elements. - for (int i = 0; i < keysCount; ++i) { + for (CFIndex i = 0; i < keysCount; ++i) { + IOHIDElementRef aKey = (IOHIDElementRef) CFArrayGetValueAtIndex(keys, i); // Skip non-matching keys elements @@ -238,131 +223,110 @@ void HIDInputManager::InitializeKeyboard() continue; } - // Get its virtual code - UInt32 usageCode = IOHIDElementGetUsage(aKey); - UInt8 virtualCode = UsageToVirtualCode(usageCode); + LoadKey(aKey); - if (virtualCode == 0xff) { - continue; // no corresponding virtual code -> skip - } - - // Now translate the virtual code to unicode according to - // the current keyboard layout - - UInt32 deadKeyState = 0; - // unicode string length is usually less or equal to 4 - UniCharCount maxStringLength = 4; - UniCharCount actualStringLength = 0; - UniChar unicodeString[maxStringLength]; - - OSStatus error; - - error = UCKeyTranslate(myLayout, // current layout - virtualCode, // our key - kUCKeyActionDown, // or kUCKeyActionUp ? - 0x100, // no modifiers - LMGetKbdType(), // keyboard's type - kUCKeyTranslateNoDeadKeysBit,// some sort of option - &deadKeyState, // unused stuff - maxStringLength, // our memory limit - &actualStringLength, // length of what we get - unicodeString); // what we get - - if (error == noErr) { - // Translation went fine - - // The corresponding SFML key code - Keyboard::Key code = Keyboard::KeyCount; - - // First we look if the key down is from a list of caracter - // that depend on keyboard localization. - if (actualStringLength > 0) { - code = LocalizedKeys(unicodeString[0]); - } - - // The key is not a localized one, so we try to find a corresponding - // code through virtual key code. - if (code == Keyboard::KeyCount) { - code = NonLocalizedKeys(virtualCode); - } - - // A code was found, wonderful! - if (code != Keyboard::KeyCount) { - - // Last step : verify that the key was not found twice or more - - // Some keys (modifiers) appears to be twice on my keyboard - // I've no idea why -// if (myKeys[code] != 0) { -// UInt32 firstUsageCode = IOHIDElementGetUsage(myKeys[code]); -// sf::Err() << "The current keyboard has several times the " -// << "same keys. Only the first one is considered " -// << "as valid. sf::Keyboard::Key is " -// << code -// << ", virtual key code is 0x" -// << std::hex -// << (UInt32)virtualCode -// << " and HID usage code is 0x" -// << usageCode -// << ". First HID usage code is 0x" -// << firstUsageCode -// << std::dec -// << "." -// << std::endl; -// } - - if (myKeys[code] == 0) { - - // Ok, everything went fine. Now we have a unique - // corresponding sf::Keyboard::Key to one IOHIDElementRef. - - myKeys[code] = aKey; - - // And don't forget to keep the reference alive for our usage - CFRetain(myKeys[code]); - - } - - } - - //////////////////////////////////////////////////////////// - // These are known to be unbound : - // Supposed Virtual | HID | Supposed Key - // =============================================== - // 0x1b | 0x2d | Hyphen - // 0x39 | 0x39 | CapsLock - // 0x47 | 0x53 | NumLock - // 0x4c | 0x58 | Keypad Enter - // 0x41 | 0x63 | Keypad Period - // 0x6e | 0x65 | Application - // 0x51 | 0x67 | Keypad Equal - // 0x4c | 0x77 | Select - -// else { // The key is unknown. -// sf::Err() << "This is an unknow key. Virtual key code is 0x" -// << std::hex -// << (UInt32)virtualCode -// << " and HID usage code is 0x" -// << usageCode -// << std::dec -// << "." -// << std::endl; -// } - - } /* if (error == noErr) */ - - else { - sf::Err() << "Cannot translate the virtual key code, error : " - << error - << std::endl; - } - - } /* for (int i = 0; i < keysCount; ++i) */ + } + // Release unused stuff CFRelease(keys); +} + + +//////////////////////////////////////////////////////////// +void HIDInputManager::LoadKey(IOHIDElementRef key) +{ + // Get its virtual code + UInt32 usageCode = IOHIDElementGetUsage(key); + UInt8 virtualCode = UsageToVirtualCode(usageCode); - //////////////////////////////////////////////////////////// - // At this point myKeys is filled with as many IOHIDElementRef as possible + if (virtualCode == 0xff) { + return; // no corresponding virtual code -> skip + } + + // Now translate the virtual code to unicode according to + // the current keyboard layout + + UInt32 deadKeyState = 0; + // unicode string length is usually less or equal to 4 + UniCharCount maxStringLength = 4; + UniCharCount actualStringLength = 0; + UniChar unicodeString[maxStringLength]; + + OSStatus error; + + error = UCKeyTranslate(myLayout, // current layout + virtualCode, // our key + kUCKeyActionDown, // or kUCKeyActionUp ? + 0x100, // no modifiers + LMGetKbdType(), // keyboard's type + kUCKeyTranslateNoDeadKeysBit,// some sort of option + &deadKeyState, // unused stuff + maxStringLength, // our memory limit + &actualStringLength, // length of what we get + unicodeString); // what we get + + if (error == noErr) { + // Translation went fine + + // The corresponding SFML key code + Keyboard::Key code = Keyboard::KeyCount; // KeyCound means 'none' + + // First we look if the key down is from a list of characters + // that depend on keyboard localization + if (actualStringLength > 0) { + code = LocalizedKeys(unicodeString[0]); + } + + // The key is not a localized one so we try to find a + // corresponding code through virtual key code + if (code == Keyboard::KeyCount) { + code = NonLocalizedKeys(virtualCode); + } + + // A code was found, wonderful! + if (code != Keyboard::KeyCount) { + + // Ok, everything went fine. Now we have a unique + // corresponding sf::Keyboard::Key to one IOHIDElementRef + + myKeys[code].push_back(key); + + // And don't forget to keep the reference alive for our usage + CFRetain(myKeys[code].back()); + + } + + //////////////////////////////////////////////////////////// + // These are known to be unbound : + // Supposed Virtual | HID | Supposed Key + // =============================================== + // 0x1b | 0x2d | Hyphen + // 0x39 | 0x39 | CapsLock + // 0x47 | 0x53 | NumLock + // 0x4c | 0x58 | Keypad Enter + // 0x41 | 0x63 | Keypad Period + // 0x6e | 0x65 | Application + // 0x51 | 0x67 | Keypad Equal + // 0x4c | 0x77 | Select + + //if (code == Keyboard::KeyCount) { // The key is unknown. + // sf::Err() << "This is an unknow key. Virtual key code is 0x" + // << std::hex + // << (UInt32)virtualCode + // << " and HID usage code is 0x" + // << usageCode + // << std::dec + // << "." + // << std::endl; + //} + + } /* if (error == noErr) */ + else { + + sf::Err() << "Cannot translate the virtual key code, error : " + << error + << std::endl; + } } @@ -376,9 +340,10 @@ void HIDInputManager::FreeUp() if (myManager != 0) CFRelease(myManager); for (unsigned int i = 0; i < Keyboard::KeyCount; ++i) { - if (myKeys[i] != 0) { - CFRelease(myKeys[i]); + for (IOHIDElements::iterator it = myKeys[i].begin(); it != myKeys[i].end(); ++it) { + CFRelease(*it); } + myKeys[i].clear(); } } @@ -403,13 +368,44 @@ CFDictionaryRef HIDInputManager::CopyDevicesMaskForManager(UInt32 page, UInt32 u return dict; } + + +//////////////////////////////////////////////////////////// +CFSetRef HIDInputManager::CopyDevices(UInt32 page, UInt32 usage) +{ + // Filter and keep only the requested devices + CFDictionaryRef mask = CopyDevicesMaskForManager(page, usage); + + IOHIDManagerSetDeviceMatching(myManager, mask); + + CFRelease(mask); + mask = 0; + + CFSetRef devices = IOHIDManagerCopyDevices(myManager); + if (devices == NULL) { + sf::Err() << "Cannot find any devices." << std::endl; + FreeUp(); + return NULL; + } + + // Is there at least one keyboard ? + CFIndex deviceCount = CFSetGetCount(devices); + if (deviceCount < 1) { + sf::Err() << "Found no device." << std::endl; + CFRelease(devices); + FreeUp(); + return NULL; + } + + return devices; +} //////////////////////////////////////////////////////////// UInt8 HIDInputManager::UsageToVirtualCode(UInt32 usage) { - // Some usage key doesn't have any corresponding virtual code or it was not - // found. + // Some usage key doesn't have any corresponding virtual + // code or it was not found (return 0xff). switch (usage) { case kHIDUsage_KeyboardErrorRollOver: return 0xff; case kHIDUsage_KeyboardPOSTFail: return 0xff; From d33ecd17adbb837a38d67f4930d910fe9bb337c1 Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Sun, 10 Jul 2011 05:32:09 +0200 Subject: [PATCH 23/23] Implemented OSX/InputImpl::IsMouseButtonPressed --- src/SFML/Window/OSX/HIDInputManager.hpp | 34 ++++- src/SFML/Window/OSX/HIDInputManager.mm | 158 ++++++++++++++++++++++-- 2 files changed, 183 insertions(+), 9 deletions(-) diff --git a/src/SFML/Window/OSX/HIDInputManager.hpp b/src/SFML/Window/OSX/HIDInputManager.hpp index aee34dc5..e6e13ad9 100644 --- a/src/SFML/Window/OSX/HIDInputManager.hpp +++ b/src/SFML/Window/OSX/HIDInputManager.hpp @@ -127,6 +127,14 @@ private : //////////////////////////////////////////////////////////// void InitializeKeyboard(); + //////////////////////////////////////////////////////////// + /// \brief Initialize the mouse part of this class + /// + /// If something went wrong FreeUp is called + /// + //////////////////////////////////////////////////////////// + void InitializeMouse(); + //////////////////////////////////////////////////////////// /// \brief Load the given keyboard into myKeys /// @@ -138,6 +146,17 @@ private : //////////////////////////////////////////////////////////// void LoadKeyboard(IOHIDDeviceRef keyboard); + //////////////////////////////////////////////////////////// + /// \brief Load the given mouse into myButtons + /// + /// If the given mouse has no button this function simply + /// returns. FreeUp is _not_ called because this is not fatal. + /// + /// \param mouse Mouse to load + /// + //////////////////////////////////////////////////////////// + void LoadMouse(IOHIDDeviceRef mouse); + //////////////////////////////////////////////////////////// /// \brief Load the given key into myKeys /// @@ -148,6 +167,16 @@ private : //////////////////////////////////////////////////////////// void LoadKey(IOHIDElementRef key); + //////////////////////////////////////////////////////////// + /// \brief Load the given button into myButtons + /// + /// FreeUp is _not_ called by this function. + /// + /// \param button Button to load + /// + //////////////////////////////////////////////////////////// + void LoadButton(IOHIDElementRef button); + //////////////////////////////////////////////////////////// /// \brief Release all resources /// @@ -202,7 +231,8 @@ private : IOHIDManagerRef myManager; ///< HID Manager typedef std::vector IOHIDElements; - IOHIDElements myKeys[Keyboard::KeyCount]; ///< All the keys on the current keyboard + IOHIDElements myKeys[Keyboard::KeyCount]; ///< All the keys on any connected keyboard + IOHIDElements myButtons[Mouse::ButtonCount];///< All the buttons on any connected mouse //////////////////////////////////////////////////////////// /// myKeys' index corresponds to sf::Keyboard::Key enum. @@ -211,6 +241,8 @@ private : /// with the same sf::Keyboard::Key then myKeys[XYZ] contains all these /// HID keys. /// + /// myButtons works the same way. + /// //////////////////////////////////////////////////////////// }; diff --git a/src/SFML/Window/OSX/HIDInputManager.mm b/src/SFML/Window/OSX/HIDInputManager.mm index d92057bc..a8118db8 100644 --- a/src/SFML/Window/OSX/HIDInputManager.mm +++ b/src/SFML/Window/OSX/HIDInputManager.mm @@ -67,16 +67,12 @@ bool HIDInputManager::IsKeyPressed(Keyboard::Key key) CFRelease(*it); it = myKeys[key].erase(it); - - sf::Err() << key - << " is dead (cannot access its value)." - << std::endl; } else if (IOHIDValueGetIntegerValue(value) == 1) { // This means the key is pressed state = true; - break; // Stop here. + break; // Stop here } else { @@ -97,8 +93,38 @@ bool HIDInputManager::IsMouseButtonPressed(Mouse::Button button) return false; } - // @to be implemented - return false; + // state = true if at least one corresponding HID button is pressed + bool state = false; + + for (IOHIDElements::iterator it = myButtons[button].begin(); it != myButtons[button].end(); ++it) { + + IOHIDValueRef value = 0; + + IOHIDDeviceRef device = IOHIDElementGetDevice(*it); + IOHIDDeviceGetValue(device, *it, &value); + + if (!value) { + + // This means some kind of error / deconnection so we remove this + // element from our buttons + + CFRelease(*it); + it = myButtons[button].erase(it); + + } else if (IOHIDValueGetIntegerValue(value) == 1) { + + // This means the button is pressed + state = true; + break; // Stop here + + } else { + + // This means the button is released + } + + } + + return state; } @@ -147,7 +173,12 @@ HIDInputManager::HIDInputManager() return; // Something went wrong } - // TODO init mouse + // Initialize the mouse + InitializeMouse(); + + if (!amIValid) { + return; // Something went wrong + } } @@ -193,6 +224,42 @@ void HIDInputManager::InitializeKeyboard() } +//////////////////////////////////////////////////////////// +void HIDInputManager::InitializeMouse() +{ + //////////////////////////////////////////////////////////// + // The purpose of this function is to initalize myButtons so we can get + // the associate IOHIDElementRef with a sf::Mouse::Button in ~constant~ time. + + // Get only mouses + CFSetRef mouses = CopyDevices(kHIDPage_GenericDesktop, kHIDUsage_GD_Mouse); + if (mouses == NULL) { + + // FreeUp was already called + return; + } + + CFIndex mouseCount = CFSetGetCount(mouses); // >= 1 (asserted by CopyDevices) + + // Get an iterable array + CFTypeRef devicesArray[mouseCount]; + CFSetGetValues(mouses, devicesArray); + + for (CFIndex i = 0; i < mouseCount; ++i) { + + IOHIDDeviceRef mouse = (IOHIDDeviceRef)devicesArray[i]; + + LoadMouse(mouse); + } + + // Release unused stuff + CFRelease(mouses); + + //////////////////////////////////////////////////////////// + // At this point myButtons is filled with as many IOHIDElementRef as possible +} + + //////////////////////////////////////////////////////////// void HIDInputManager::LoadKeyboard(IOHIDDeviceRef keyboard) { @@ -232,6 +299,44 @@ void HIDInputManager::LoadKeyboard(IOHIDDeviceRef keyboard) } +//////////////////////////////////////////////////////////// +void HIDInputManager::LoadMouse(IOHIDDeviceRef mouse) +{ + CFArrayRef buttons = IOHIDDeviceCopyMatchingElements(mouse, + NULL, + kIOHIDOptionsTypeNone); + if (buttons == NULL) { + sf::Err() << "We got a mouse without any buttons (1)" << std::endl; + return; + } + + // How many elements are there ? + CFIndex buttonCount = CFArrayGetCount(buttons); + + if (buttonCount == 0) { + sf::Err() << "We got a mouse without any buttons (2)" << std::endl; + CFRelease(buttons); + return; + } + + // Go through all connected elements. + for (CFIndex i = 0; i < buttonCount; ++i) { + + IOHIDElementRef aButton = (IOHIDElementRef) CFArrayGetValueAtIndex(buttons, i); + + // Skip non-matching keys elements + if (IOHIDElementGetUsagePage(aButton) != kHIDPage_Button) { + continue; + } + + LoadButton(aButton); + } + + // Release unused stuff + CFRelease(buttons); +} + + //////////////////////////////////////////////////////////// void HIDInputManager::LoadKey(IOHIDElementRef key) { @@ -330,6 +435,36 @@ void HIDInputManager::LoadKey(IOHIDElementRef key) } +//////////////////////////////////////////////////////////// +void HIDInputManager::LoadButton(IOHIDElementRef button) +{ + // Identify the button + UInt32 usage = IOHIDElementGetUsage(button); + Mouse::Button dest = Mouse::ButtonCount; + + // Extends kHIDUsage_Button_* enum with : +#define kHIDUsage_Button_5 0x05 + + switch (usage) { + case kHIDUsage_Button_1: dest = Mouse::Left; break; + case kHIDUsage_Button_2: dest = Mouse::Right; break; + case kHIDUsage_Button_3: dest = Mouse::Middle; break; + case kHIDUsage_Button_4: dest = Mouse::XButton1; break; + case kHIDUsage_Button_5: dest = Mouse::XButton2; break; + default: dest = Mouse::ButtonCount; break; + } + + if (dest != Mouse::ButtonCount) { + // We know what kind of button it is! + + myButtons[dest].push_back(button); + + // And don't forget to keep the reference alive for our usage + CFRetain(myButtons[dest].back()); + } +} + + //////////////////////////////////////////////////////////// void HIDInputManager::FreeUp() { @@ -345,6 +480,13 @@ void HIDInputManager::FreeUp() } myKeys[i].clear(); } + + for (unsigned int i = 0; i < Mouse::ButtonCount; ++i) { + for (IOHIDElements::iterator it = myButtons[i].begin(); it != myButtons[i].end(); ++it) { + CFRelease(*it); + } + myButtons[i].clear(); + } }