diff --git a/Bonus.cpp b/Bonus.cpp old mode 100755 new mode 100644 diff --git a/Bonus.h b/Bonus.h old mode 100755 new mode 100644 index bccc4e1..613ab5c --- a/Bonus.h +++ b/Bonus.h @@ -5,7 +5,7 @@ #ifndef SHOOTER_BONUS_H #define SHOOTER_BONUS_H -#include "World.h" +#include "engine/World.h" #include "Player.h" class Bonus : public RigidBody { diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100755 new mode 100644 index daa7878..82b9c26 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,11 +3,11 @@ project(shooter) set(CMAKE_CXX_STANDARD 20) -include_directories(engine) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") add_executable(shooter # game: - main.cpp + Source.cpp Player.cpp Player.h Client.cpp @@ -94,12 +94,12 @@ add_executable(shooter engine/network/UDPSocket.h engine/network/config.h engine/animation/AFunction.h - ) + engine/Consts.h) if(APPLE OR UNIX) include_directories(/usr/local/include) else() - set(SFML_DIR "C:/Libraries/SFML/lib/cmake/SFML") + set(SFML_DIR "SFML/lib/cmake/SFML") set(SFML_STATIC_LIBRARIES TRUE) endif() diff --git a/Client.cpp b/Client.cpp old mode 100755 new mode 100644 index 4c89560..1a7c880 --- a/Client.cpp +++ b/Client.cpp @@ -5,7 +5,7 @@ #include "Client.h" #include -#include "utils/Log.h" +#include "engine/utils/Log.h" #include "Bonus.h" void Client::updatePacket() { @@ -71,7 +71,6 @@ void Client::processDisconnect(sf::Uint16 targetId) { void Client::processCustomPacket(MsgType type, sf::Packet& packet) { - int buff[3]; sf::Uint16 buffId[2]; double dbuff[10]; std::string tmp, tmp2; diff --git a/Client.h b/Client.h old mode 100755 new mode 100644 index 5aa71a8..5ad48b0 --- a/Client.h +++ b/Client.h @@ -5,7 +5,7 @@ #ifndef SHOOTER_CLIENT_H #define SHOOTER_CLIENT_H -#include "network/ClientUDP.h" +#include "engine/network/ClientUDP.h" #include "Player.h" class Client : public ClientUDP { diff --git a/Player.cpp b/Player.cpp old mode 100755 new mode 100644 index 82735c0..d4650e8 --- a/Player.cpp +++ b/Player.cpp @@ -3,9 +3,9 @@ // #include "Player.h" -#include "Screen.h" -#include "ResourceManager.h" -#include "utils/Log.h" +#include "engine/Screen.h" +#include "engine/ResourceManager.h" +#include "engine/utils/Log.h" void Player::rotateWeaponsRelativePoint(const Point4D& point4D, const Point4D& v, double val) { for(auto& weapon : _weapons) @@ -13,12 +13,12 @@ void Player::rotateWeaponsRelativePoint(const Point4D& point4D, const Point4D& v } void Player::playDeath() { - _deathSound.setBuffer(*ResourceManager::loadSoundBuffer("../sound/classic_hurt.ogg")); + _deathSound.setBuffer(*ResourceManager::loadSoundBuffer("sound/classic_hurt.ogg")); _deathSound.play(); } void Player::playKill() { - _killSound.setBuffer(*ResourceManager::loadSoundBuffer("../sound/kill.ogg")); + _killSound.setBuffer(*ResourceManager::loadSoundBuffer("sound/kill.ogg")); _killSound.play(); } @@ -90,7 +90,7 @@ void Player::nextWeapon() { _removeWeaponCallBack(_weapons[_selectedWeapon]); _selectedWeapon = (_selectedWeapon + 1) % _weapons.size(); _addWeaponCallBack(_weapons[_selectedWeapon]); - Log::log("_selected _selectedWeapon " + std::to_string(_selectedWeapon)); + Log::log("selectedWeapon " + std::to_string(_selectedWeapon)); _changeWeaponSound.play(); } } @@ -104,7 +104,7 @@ void Player::previousWeapon() { else _selectedWeapon = _weapons.size() - 1; _addWeaponCallBack(_weapons[_selectedWeapon]); - Log::log("_selected _selectedWeapon " + std::to_string(_selectedWeapon)); + Log::log("selectedWeapon " + std::to_string(_selectedWeapon)); _changeWeaponSound.play(); } } diff --git a/Player.h b/Player.h old mode 100755 new mode 100644 index 1ae3bfb..31b29fc --- a/Player.h +++ b/Player.h @@ -7,9 +7,9 @@ #include #include -#include -#include "Camera.h" -#include "World.h" +#include "engine/ResourceManager.h" +#include "engine/Camera.h" +#include "engine/World.h" #include "weapon/Ak47.h" #include "weapon/Shotgun.h" #include "weapon/Gun.h" @@ -41,7 +41,7 @@ private: std::string _name = "im"; std::vector> _weapons; - uint8_t _selectedWeapon = 0; + size_t _selectedWeapon = 0; std::function _damagePlayerCallBack; std::function _addTraceCallBack; @@ -53,16 +53,16 @@ private: std::function(const Point4D&, const Point4D&)> _rayCastFunction; public: Player() { - loadObj("../obj/cube.obj", "", Point4D{0.5, 1.9, 0.5}); + loadObj("obj/cube.obj", "", Point4D{0.5, 1.9, 0.5}); setAcceleration(Point4D{0, -_g, 0}); setCollision(true); setVisible(false); setColor({240, 168, 168}); - _changeWeaponSound.setBuffer(*ResourceManager::loadSoundBuffer("../sound/weapons/change_weapon.ogg")); + _changeWeaponSound.setBuffer(*ResourceManager::loadSoundBuffer("sound/weapons/change_weapon.ogg")); - _fullHealthSound.setBuffer(*ResourceManager::loadSoundBuffer("../sound/fullHealth.ogg")); - _fullAbilitySound.setBuffer(*ResourceManager::loadSoundBuffer("../sound/fullAbility.ogg")); + _fullHealthSound.setBuffer(*ResourceManager::loadSoundBuffer("sound/fullHealth.ogg")); + _fullAbilitySound.setBuffer(*ResourceManager::loadSoundBuffer("sound/fullAbility.ogg")); setCollisionCallBack([this](const std::string& objName, std::shared_ptr obj) {collisionWithObject(objName, obj);}); }; diff --git a/PlayerController.cpp b/PlayerController.cpp index d8c5453..38c1506 100644 --- a/PlayerController.cpp +++ b/PlayerController.cpp @@ -3,19 +3,19 @@ // #include "PlayerController.h" -#include "utils/Log.h" -#include "animation/AColor.h" -#include "animation/AFunction.h" -#include "animation/AWait.h" -#include "animation/ATranslate.h" -#include "animation/ATranslateToPoint.h" -#include "animation/Timeline.h" +#include "engine/utils/Log.h" +#include "engine/animation/AColor.h" +#include "engine/animation/AFunction.h" +#include "engine/animation/AWait.h" +#include "engine/animation/ATranslate.h" +#include "engine/animation/ATranslateToPoint.h" +#include "engine/animation/Timeline.h" PlayerController::PlayerController(std::shared_ptr player, std::shared_ptr keyboard, std::shared_ptr mouse) : _player(player), _keyboard(keyboard), _mouse(mouse) { - _slowMoSound.setBuffer(*ResourceManager::loadSoundBuffer("../sound/slow_mo.ogg")); - _unSlowMoSound.setBuffer(*ResourceManager::loadSoundBuffer("../sound/unslow_mo.ogg")); + _slowMoSound.setBuffer(*ResourceManager::loadSoundBuffer("sound/slow_mo.ogg")); + _unSlowMoSound.setBuffer(*ResourceManager::loadSoundBuffer("sound/unslow_mo.ogg")); } void PlayerController::update() { @@ -47,25 +47,25 @@ void PlayerController::update() { std::shared_ptr camera = _player->attached("camera"); if(_inRunning) { if (!Timeline::isInAnimList("camera_hor_oscil")) { - Timeline::animate("camera_hor_oscil", new ATranslate(camera, -camera->left() / 6, 0.3,Animation::LoopOut::None, Animation::cos)); + Timeline::animate("camera_hor_oscil", new ATranslate(camera, -camera->left() / 6, 0.3,Animation::LoopOut::None, Animation::InterpolationType::cos)); Timeline::animate("camera_hor_oscil", new AWait(0)); - Timeline::animate("camera_hor_oscil", new ATranslate(camera, camera->left() / 6, 0.3, Animation::LoopOut::None, Animation::cos)); + Timeline::animate("camera_hor_oscil", new ATranslate(camera, camera->left() / 6, 0.3, Animation::LoopOut::None, Animation::InterpolationType::cos)); - Timeline::animate("camera_vert_oscil", new ATranslate(camera, -Point4D{0, 1, 0} / 12, 0.15, Animation::LoopOut::None, Animation::cos)); + Timeline::animate("camera_vert_oscil", new ATranslate(camera, -Point4D{0, 1, 0} / 12, 0.15, Animation::LoopOut::None, Animation::InterpolationType::cos)); Timeline::animate("camera_vert_oscil", new AWait(0)); - Timeline::animate("camera_vert_oscil", new ATranslate(camera, Point4D{0, 1, 0} / 12, 0.15, Animation::LoopOut::None,Animation::cos)); + Timeline::animate("camera_vert_oscil", new ATranslate(camera, Point4D{0, 1, 0} / 12, 0.15, Animation::LoopOut::None, Animation::InterpolationType::cos)); Timeline::animate("camera_vert_oscil", new AWait(0)); - Timeline::animate("camera_vert_oscil", new ATranslate(camera, -Point4D{0, 1, 0} / 12, 0.15, Animation::LoopOut::None, Animation::cos)); + Timeline::animate("camera_vert_oscil", new ATranslate(camera, -Point4D{0, 1, 0} / 12, 0.15, Animation::LoopOut::None, Animation::InterpolationType::cos)); Timeline::animate("camera_vert_oscil", new AWait(0)); - Timeline::animate("camera_vert_oscil", new ATranslate(camera, Point4D{0, 1, 0} / 12, 0.15, Animation::LoopOut::None, Animation::cos)); + Timeline::animate("camera_vert_oscil", new ATranslate(camera, Point4D{0, 1, 0} / 12, 0.15, Animation::LoopOut::None, Animation::InterpolationType::cos)); - Timeline::animate("camera_init", new ATranslateToPoint( camera, _player->position() + Point4D{0, 1.8, 0}, 0.3, Animation::None, Animation::cos)); + Timeline::animate("camera_init", new ATranslateToPoint( camera, _player->position() + Point4D{0, 1.8, 0}, 0.3, Animation::LoopOut::None, Animation::InterpolationType::cos)); } } else if(inRunning_old && !_inRunning) { Timeline::deleteAnimationList("camera_hor_oscil"); Timeline::deleteAnimationList("camera_vert_oscil"); Timeline::deleteAnimationList("camera_init"); - Timeline::animate("camera_init", new ATranslateToPoint( camera, _player->position() + Point4D{0, 1.8, 0}, 0.15, Animation::None, Animation::cos)); + Timeline::animate("camera_init", new ATranslateToPoint( camera, _player->position() + Point4D{0, 1.8, 0}, 0.15, Animation::LoopOut::None, Animation::InterpolationType::cos)); } // Left and right @@ -111,8 +111,18 @@ void PlayerController::update() { } if (Keyboard::isKeyPressed(sf::Keyboard::Space) && _player->inCollision()) { - _player->addVelocity(Point4D{0, std::abs(_player->collisionNormal().y()) * sqrt(2 * _g * _jumpHeight) * coeff, 0}); - _player->translate(Point4D{0, Time::deltaTime() * _walkSpeed * 2 * coeff, 0}); + + // if we just want to jump, we have to add particular speed + if (!_isSliding) + _player->addVelocity(Point4D{ 0, std::abs(_player->collisionNormal().y()) * sqrt(2 * -_player->acceleration().y() * _jumpHeight) * coeff, 0 }); + // if we want to slide, we have to add speed * 60/fps to make it independent on frame rate + else + _player->addVelocity(Point4D{ 0, std::abs(_player->collisionNormal().y()) * sqrt(2 * -_player->acceleration().y() * _jumpHeight) * coeff * 60.0 / Time::fps(), 0 }); + + _player->translate(Point4D{ 0, Time::deltaTime() * _walkSpeed * 2 * coeff * 60.0 / Time::fps(), 0 }); + _isSliding = true; + } else { + _isSliding = false; } // Mouse movement @@ -124,10 +134,10 @@ void PlayerController::update() { double rotationLeft = displacement.y() / 1000.0; // You can only see in range [-90 : 90] grad - if (_player->headAngle() + rotationLeft > M_PI / 2) - rotationLeft = M_PI / 2 - _player->headAngle(); - if (_player->headAngle() + rotationLeft < -M_PI / 2) - rotationLeft = -M_PI / 2 - _player->headAngle(); + if (_player->headAngle() + rotationLeft > Consts::PI / 2) + rotationLeft = Consts::PI / 2 - _player->headAngle(); + if (_player->headAngle() + rotationLeft < -Consts::PI / 2) + rotationLeft = -Consts::PI / 2 - _player->headAngle(); _player->setHeadAngle(_player->headAngle() + rotationLeft); _player->rotateWeaponsRelativePoint(_player->position() + Point4D{0, 1.8, 0}, _player->left(), rotationLeft); @@ -149,8 +159,8 @@ void PlayerController::update() { } if ((_inRunning || _player->velocity().sqrAbs() > 3) && _player->inCollision() && _walkSound.getStatus() != sf::Sound::Status::Playing) { - int soundNum = round((double) rand() / RAND_MAX * 5) + 1; - _walkSound.setBuffer(*ResourceManager::loadSoundBuffer("../sound/stonestep" + std::to_string(soundNum) + ".ogg")); + int soundNum = (int)((double) rand() / RAND_MAX * 5) + 1; + _walkSound.setBuffer(*ResourceManager::loadSoundBuffer("sound/stonestep" + std::to_string(soundNum) + ".ogg")); _walkSound.play(); } } diff --git a/PlayerController.h b/PlayerController.h index 5622aa5..77e6bfb 100644 --- a/PlayerController.h +++ b/PlayerController.h @@ -6,8 +6,8 @@ #define SHOOTER_PLAYERCONTROLLER_H #include "Player.h" -#include "Keyboard.h" -#include "Mouse.h" +#include "engine/Keyboard.h" +#include "engine/Mouse.h" class PlayerController { private: @@ -16,11 +16,10 @@ private: std::shared_ptr _mouse; bool _inRunning = false; + bool _isSliding = false; double _slowMoCoefficient = 5; bool _isInSlowMo = false; - double _g = 35; - sf::Sound _slowMoSound; sf::Sound _unSlowMoSound; sf::Sound _walkSound; diff --git a/README.md b/README.md old mode 100755 new mode 100644 diff --git a/SFML/bin/openal32.dll b/SFML/bin/openal32.dll new file mode 100644 index 0000000..1bb27f0 Binary files /dev/null and b/SFML/bin/openal32.dll differ diff --git a/SFML/bin/sfml-audio-2.dll b/SFML/bin/sfml-audio-2.dll new file mode 100644 index 0000000..af08059 Binary files /dev/null and b/SFML/bin/sfml-audio-2.dll differ diff --git a/SFML/bin/sfml-audio-d-2.dll b/SFML/bin/sfml-audio-d-2.dll new file mode 100644 index 0000000..5f29575 Binary files /dev/null and b/SFML/bin/sfml-audio-d-2.dll differ diff --git a/SFML/bin/sfml-graphics-2.dll b/SFML/bin/sfml-graphics-2.dll new file mode 100644 index 0000000..2814442 Binary files /dev/null and b/SFML/bin/sfml-graphics-2.dll differ diff --git a/SFML/bin/sfml-graphics-d-2.dll b/SFML/bin/sfml-graphics-d-2.dll new file mode 100644 index 0000000..d7b7e6d Binary files /dev/null and b/SFML/bin/sfml-graphics-d-2.dll differ diff --git a/SFML/bin/sfml-network-2.dll b/SFML/bin/sfml-network-2.dll new file mode 100644 index 0000000..f650e4e Binary files /dev/null and b/SFML/bin/sfml-network-2.dll differ diff --git a/SFML/bin/sfml-network-d-2.dll b/SFML/bin/sfml-network-d-2.dll new file mode 100644 index 0000000..8aad026 Binary files /dev/null and b/SFML/bin/sfml-network-d-2.dll differ diff --git a/SFML/bin/sfml-system-2.dll b/SFML/bin/sfml-system-2.dll new file mode 100644 index 0000000..9187313 Binary files /dev/null and b/SFML/bin/sfml-system-2.dll differ diff --git a/SFML/bin/sfml-system-d-2.dll b/SFML/bin/sfml-system-d-2.dll new file mode 100644 index 0000000..d70b142 Binary files /dev/null and b/SFML/bin/sfml-system-d-2.dll differ diff --git a/SFML/bin/sfml-window-2.dll b/SFML/bin/sfml-window-2.dll new file mode 100644 index 0000000..c8f637b Binary files /dev/null and b/SFML/bin/sfml-window-2.dll differ diff --git a/SFML/bin/sfml-window-d-2.dll b/SFML/bin/sfml-window-d-2.dll new file mode 100644 index 0000000..c29734c Binary files /dev/null and b/SFML/bin/sfml-window-d-2.dll differ diff --git a/SFML/doc/html/AlResource_8hpp_source.html b/SFML/doc/html/AlResource_8hpp_source.html new file mode 100644 index 0000000..0a438f8 --- /dev/null +++ b/SFML/doc/html/AlResource_8hpp_source.html @@ -0,0 +1,58 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
AlResource.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_ALRESOURCE_HPP
26 #define SFML_ALRESOURCE_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 
33 
34 namespace sf
35 {
40 class SFML_AUDIO_API AlResource
41 {
42 protected:
43 
48  AlResource();
49 
54  ~AlResource();
55 };
56 
57 } // namespace sf
58 
59 
60 #endif // SFML_ALRESOURCE_HPP
61 
Base class for classes that require an OpenAL context.
Definition: AlResource.hpp:40
+ +
+ + + + diff --git a/SFML/doc/html/Audio_2Export_8hpp_source.html b/SFML/doc/html/Audio_2Export_8hpp_source.html new file mode 100644 index 0000000..28f8b2f --- /dev/null +++ b/SFML/doc/html/Audio_2Export_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Audio/Export.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_AUDIO_EXPORT_HPP
26 #define SFML_AUDIO_EXPORT_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 
33 
35 // Define portable import / export macros
37 #if defined(SFML_AUDIO_EXPORTS)
38 
39  #define SFML_AUDIO_API SFML_API_EXPORT
40 
41 #else
42 
43  #define SFML_AUDIO_API SFML_API_IMPORT
44 
45 #endif
46 
47 
48 #endif // SFML_AUDIO_EXPORT_HPP
+ + + + diff --git a/SFML/doc/html/Audio_8hpp_source.html b/SFML/doc/html/Audio_8hpp_source.html new file mode 100644 index 0000000..f91aeb2 --- /dev/null +++ b/SFML/doc/html/Audio_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Audio.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_AUDIO_HPP
26 #define SFML_AUDIO_HPP
27 
29 // Headers
31 
32 #include <SFML/System.hpp>
33 #include <SFML/Audio/InputSoundFile.hpp>
34 #include <SFML/Audio/Listener.hpp>
35 #include <SFML/Audio/Music.hpp>
36 #include <SFML/Audio/OutputSoundFile.hpp>
37 #include <SFML/Audio/Sound.hpp>
38 #include <SFML/Audio/SoundBuffer.hpp>
39 #include <SFML/Audio/SoundBufferRecorder.hpp>
40 #include <SFML/Audio/SoundFileFactory.hpp>
41 #include <SFML/Audio/SoundFileReader.hpp>
42 #include <SFML/Audio/SoundFileWriter.hpp>
43 #include <SFML/Audio/SoundRecorder.hpp>
44 #include <SFML/Audio/SoundSource.hpp>
45 #include <SFML/Audio/SoundStream.hpp>
46 
47 
48 #endif // SFML_AUDIO_HPP
49 
+ + + + diff --git a/SFML/doc/html/BlendMode_8hpp_source.html b/SFML/doc/html/BlendMode_8hpp_source.html new file mode 100644 index 0000000..006cfd4 --- /dev/null +++ b/SFML/doc/html/BlendMode_8hpp_source.html @@ -0,0 +1,77 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
BlendMode.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_BLENDMODE_HPP
26 #define SFML_BLENDMODE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 
33 
34 namespace sf
35 {
36 
41 struct SFML_GRAPHICS_API BlendMode
42 {
49  enum Factor
50  {
51  Zero,
52  One,
60  OneMinusDstAlpha
61  };
62 
69  enum Equation
70  {
71  Add,
73  ReverseSubtract
74  };
75 
82  BlendMode();
83 
95  BlendMode(Factor sourceFactor, Factor destinationFactor, Equation blendEquation = Add);
96 
108  BlendMode(Factor colorSourceFactor, Factor colorDestinationFactor,
109  Equation colorBlendEquation, Factor alphaSourceFactor,
110  Factor alphaDestinationFactor, Equation alphaBlendEquation);
111 
113  // Member Data
121 };
122 
133 SFML_GRAPHICS_API bool operator ==(const BlendMode& left, const BlendMode& right);
134 
145 SFML_GRAPHICS_API bool operator !=(const BlendMode& left, const BlendMode& right);
146 
148 // Commonly used blending modes
150 SFML_GRAPHICS_API extern const BlendMode BlendAlpha;
151 SFML_GRAPHICS_API extern const BlendMode BlendAdd;
152 SFML_GRAPHICS_API extern const BlendMode BlendMultiply;
153 SFML_GRAPHICS_API extern const BlendMode BlendNone;
154 
155 } // namespace sf
156 
157 
158 #endif // SFML_BLENDMODE_HPP
159 
160 
Equation colorEquation
Blending equation for the color channels.
Definition: BlendMode.hpp:117
+
(src.a, src.a, src.a, src.a)
Definition: BlendMode.hpp:57
+
Factor alphaSrcFactor
Source blending factor for the alpha channel.
Definition: BlendMode.hpp:118
+
(0, 0, 0, 0)
Definition: BlendMode.hpp:51
+
(1, 1, 1, 1) - (dst.r, dst.g, dst.b, dst.a)
Definition: BlendMode.hpp:56
+
Blending modes for drawing.
Definition: BlendMode.hpp:41
+
(1, 1, 1, 1)
Definition: BlendMode.hpp:52
+
Factor colorSrcFactor
Source blending factor for the color channels.
Definition: BlendMode.hpp:115
+
Equation alphaEquation
Blending equation for the alpha channel.
Definition: BlendMode.hpp:120
+
Pixel = Src * SrcFactor - Dst * DstFactor.
Definition: BlendMode.hpp:72
+
Factor colorDstFactor
Destination blending factor for the color channels.
Definition: BlendMode.hpp:116
+
Pixel = Src * SrcFactor + Dst * DstFactor.
Definition: BlendMode.hpp:71
+
(dst.a, dst.a, dst.a, dst.a)
Definition: BlendMode.hpp:59
+
(1, 1, 1, 1) - (src.a, src.a, src.a, src.a)
Definition: BlendMode.hpp:58
+
(1, 1, 1, 1) - (src.r, src.g, src.b, src.a)
Definition: BlendMode.hpp:54
+
Equation
Enumeration of the blending equations.
Definition: BlendMode.hpp:69
+ +
Factor
Enumeration of the blending factors.
Definition: BlendMode.hpp:49
+
Factor alphaDstFactor
Destination blending factor for the alpha channel.
Definition: BlendMode.hpp:119
+
(dst.r, dst.g, dst.b, dst.a)
Definition: BlendMode.hpp:55
+
(src.r, src.g, src.b, src.a)
Definition: BlendMode.hpp:53
+
+ + + + diff --git a/SFML/doc/html/CircleShape_8hpp_source.html b/SFML/doc/html/CircleShape_8hpp_source.html new file mode 100644 index 0000000..3dbacfb --- /dev/null +++ b/SFML/doc/html/CircleShape_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
CircleShape.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CIRCLESHAPE_HPP
26 #define SFML_CIRCLESHAPE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Shape.hpp>
33 
34 
35 namespace sf
36 {
41 class SFML_GRAPHICS_API CircleShape : public Shape
42 {
43 public:
44 
52  explicit CircleShape(float radius = 0, std::size_t pointCount = 30);
53 
62  void setRadius(float radius);
63 
72  float getRadius() const;
73 
82  void setPointCount(std::size_t count);
83 
92  virtual std::size_t getPointCount() const;
93 
107  virtual Vector2f getPoint(std::size_t index) const;
108 
109 private:
110 
112  // Member data
114  float m_radius;
115  std::size_t m_pointCount;
116 };
117 
118 } // namespace sf
119 
120 
121 #endif // SFML_CIRCLESHAPE_HPP
122 
123 
Base class for textured shapes with outline.
Definition: Shape.hpp:44
+ + +
Specialized shape representing a circle.
Definition: CircleShape.hpp:41
+
+ + + + diff --git a/SFML/doc/html/Clipboard_8hpp_source.html b/SFML/doc/html/Clipboard_8hpp_source.html new file mode 100644 index 0000000..4cc98f3 --- /dev/null +++ b/SFML/doc/html/Clipboard_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Clipboard.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CLIPBOARD_HPP
26 #define SFML_CLIPBOARD_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <SFML/System/String.hpp>
33 
34 
35 namespace sf
36 {
41 class SFML_WINDOW_API Clipboard
42 {
43 public:
44 
55  static String getString();
56 
72  static void setString(const String& text);
73 };
74 
75 } // namespace sf
76 
77 
78 #endif // SFML_CLIPBOARD_HPP
79 
80 
Give access to the system clipboard.
Definition: Clipboard.hpp:41
+ +
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:45
+
+ + + + diff --git a/SFML/doc/html/Clock_8hpp_source.html b/SFML/doc/html/Clock_8hpp_source.html new file mode 100644 index 0000000..2568ec7 --- /dev/null +++ b/SFML/doc/html/Clock_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Clock.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CLOCK_HPP
26 #define SFML_CLOCK_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 #include <SFML/System/Time.hpp>
33 
34 
35 namespace sf
36 {
41 class SFML_SYSTEM_API Clock
42 {
43 public:
44 
51  Clock();
52 
63  Time getElapsedTime() const;
64 
74  Time restart();
75 
76 private:
77 
79  // Member data
81  Time m_startTime;
82 };
83 
84 } // namespace sf
85 
86 
87 #endif // SFML_CLOCK_HPP
88 
89 
Represents a time value.
Definition: Time.hpp:40
+ +
Utility class that measures the elapsed time.
Definition: Clock.hpp:41
+
+ + + + diff --git a/SFML/doc/html/Color_8hpp_source.html b/SFML/doc/html/Color_8hpp_source.html new file mode 100644 index 0000000..df49c5e --- /dev/null +++ b/SFML/doc/html/Color_8hpp_source.html @@ -0,0 +1,71 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Color.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_COLOR_HPP
26 #define SFML_COLOR_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 
33 
34 namespace sf
35 {
40 class SFML_GRAPHICS_API Color
41 {
42 public:
43 
51  Color();
52 
62  Color(Uint8 red, Uint8 green, Uint8 blue, Uint8 alpha = 255);
63 
70  explicit Color(Uint32 color);
71 
78  Uint32 toInteger() const;
79 
81  // Static member data
83  static const Color Black;
84  static const Color White;
85  static const Color Red;
86  static const Color Green;
87  static const Color Blue;
88  static const Color Yellow;
89  static const Color Magenta;
90  static const Color Cyan;
91  static const Color Transparent;
92 
94  // Member data
96  Uint8 r;
97  Uint8 g;
98  Uint8 b;
99  Uint8 a;
100 };
101 
114 SFML_GRAPHICS_API bool operator ==(const Color& left, const Color& right);
115 
128 SFML_GRAPHICS_API bool operator !=(const Color& left, const Color& right);
129 
143 SFML_GRAPHICS_API Color operator +(const Color& left, const Color& right);
144 
158 SFML_GRAPHICS_API Color operator -(const Color& left, const Color& right);
159 
175 SFML_GRAPHICS_API Color operator *(const Color& left, const Color& right);
176 
191 SFML_GRAPHICS_API Color& operator +=(Color& left, const Color& right);
192 
207 SFML_GRAPHICS_API Color& operator -=(Color& left, const Color& right);
208 
225 SFML_GRAPHICS_API Color& operator *=(Color& left, const Color& right);
226 
227 } // namespace sf
228 
229 
230 #endif // SFML_COLOR_HPP
231 
232 
static const Color Red
Red predefined color.
Definition: Color.hpp:85
+
static const Color Green
Green predefined color.
Definition: Color.hpp:86
+
Uint8 b
Blue component.
Definition: Color.hpp:98
+
Utility class for manipulating RGBA colors.
Definition: Color.hpp:40
+
static const Color Magenta
Magenta predefined color.
Definition: Color.hpp:89
+
Uint8 g
Green component.
Definition: Color.hpp:97
+
static const Color Cyan
Cyan predefined color.
Definition: Color.hpp:90
+
static const Color White
White predefined color.
Definition: Color.hpp:84
+
static const Color Blue
Blue predefined color.
Definition: Color.hpp:87
+
static const Color Yellow
Yellow predefined color.
Definition: Color.hpp:88
+
static const Color Black
Black predefined color.
Definition: Color.hpp:83
+ +
Uint8 a
Alpha (opacity) component.
Definition: Color.hpp:99
+
static const Color Transparent
Transparent (black) predefined color.
Definition: Color.hpp:91
+
Uint8 r
Red component.
Definition: Color.hpp:96
+
+ + + + diff --git a/SFML/doc/html/Config_8hpp_source.html b/SFML/doc/html/Config_8hpp_source.html new file mode 100644 index 0000000..5734d34 --- /dev/null +++ b/SFML/doc/html/Config_8hpp_source.html @@ -0,0 +1,57 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Config.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CONFIG_HPP
26 #define SFML_CONFIG_HPP
27 
28 
30 // Define the SFML version
32 #define SFML_VERSION_MAJOR 2
33 #define SFML_VERSION_MINOR 5
34 #define SFML_VERSION_PATCH 1
35 
36 
38 // Identify the operating system
39 // see http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system
41 #if defined(_WIN32)
42 
43  // Windows
44  #define SFML_SYSTEM_WINDOWS
45  #ifndef NOMINMAX
46  #define NOMINMAX
47  #endif
48 
49 #elif defined(__APPLE__) && defined(__MACH__)
50 
51  // Apple platform, see which one it is
52  #include "TargetConditionals.h"
53 
54  #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
55 
56  // iOS
57  #define SFML_SYSTEM_IOS
58 
59  #elif TARGET_OS_MAC
60 
61  // MacOS
62  #define SFML_SYSTEM_MACOS
63 
64  #else
65 
66  // Unsupported Apple system
67  #error This Apple operating system is not supported by SFML library
68 
69  #endif
70 
71 #elif defined(__unix__)
72 
73  // UNIX system, see which one it is
74  #if defined(__ANDROID__)
75 
76  // Android
77  #define SFML_SYSTEM_ANDROID
78 
79  #elif defined(__linux__)
80 
81  // Linux
82  #define SFML_SYSTEM_LINUX
83 
84  #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
85 
86  // FreeBSD
87  #define SFML_SYSTEM_FREEBSD
88 
89  #elif defined(__OpenBSD__)
90 
91  // OpenBSD
92  #define SFML_SYSTEM_OPENBSD
93 
94  #else
95 
96  // Unsupported UNIX system
97  #error This UNIX operating system is not supported by SFML library
98 
99  #endif
100 
101 #else
102 
103  // Unsupported system
104  #error This operating system is not supported by SFML library
105 
106 #endif
107 
108 
110 // Define a portable debug macro
112 #if !defined(NDEBUG)
113 
114  #define SFML_DEBUG
115 
116 #endif
117 
118 
120 // Define helpers to create portable import / export macros for each module
122 #if !defined(SFML_STATIC)
123 
124  #if defined(SFML_SYSTEM_WINDOWS)
125 
126  // Windows compilers need specific (and different) keywords for export and import
127  #define SFML_API_EXPORT __declspec(dllexport)
128  #define SFML_API_IMPORT __declspec(dllimport)
129 
130  // For Visual C++ compilers, we also need to turn off this annoying C4251 warning
131  #ifdef _MSC_VER
132 
133  #pragma warning(disable: 4251)
134 
135  #endif
136 
137  #else // Linux, FreeBSD, Mac OS X
138 
139  #if __GNUC__ >= 4
140 
141  // GCC 4 has special keywords for showing/hidding symbols,
142  // the same keyword is used for both importing and exporting
143  #define SFML_API_EXPORT __attribute__ ((__visibility__ ("default")))
144  #define SFML_API_IMPORT __attribute__ ((__visibility__ ("default")))
145 
146  #else
147 
148  // GCC < 4 has no mechanism to explicitely hide symbols, everything's exported
149  #define SFML_API_EXPORT
150  #define SFML_API_IMPORT
151 
152  #endif
153 
154  #endif
155 
156 #else
157 
158  // Static build doesn't need import/export macros
159  #define SFML_API_EXPORT
160  #define SFML_API_IMPORT
161 
162 #endif
163 
164 
166 // Cross-platform warning for deprecated functions and classes
167 //
168 // Usage:
169 // class SFML_DEPRECATED MyClass
170 // {
171 // SFML_DEPRECATED void memberFunc();
172 // };
173 //
174 // SFML_DEPRECATED void globalFunc();
176 #if defined(SFML_NO_DEPRECATED_WARNINGS)
177 
178  // User explicitly requests to disable deprecation warnings
179  #define SFML_DEPRECATED
180 
181 #elif defined(_MSC_VER)
182 
183  // Microsoft C++ compiler
184  // Note: On newer MSVC versions, using deprecated functions causes a compiler error. In order to
185  // trigger a warning instead of an error, the compiler flag /sdl- (instead of /sdl) must be specified.
186  #define SFML_DEPRECATED __declspec(deprecated)
187 
188 #elif defined(__GNUC__)
189 
190  // g++ and Clang
191  #define SFML_DEPRECATED __attribute__ ((deprecated))
192 
193 #else
194 
195  // Other compilers are not supported, leave class or function as-is.
196  // With a bit of luck, the #pragma directive works, otherwise users get a warning (no error!) for unrecognized #pragma.
197  #pragma message("SFML_DEPRECATED is not supported for your compiler, please contact the SFML team")
198  #define SFML_DEPRECATED
199 
200 #endif
201 
202 
204 // Define portable fixed-size types
206 namespace sf
207 {
208  // All "common" platforms use the same size for char, short and int
209  // (basically there are 3 types for 3 sizes, so no other match is possible),
210  // we can use them without doing any kind of check
211 
212  // 8 bits integer types
213  typedef signed char Int8;
214  typedef unsigned char Uint8;
215 
216  // 16 bits integer types
217  typedef signed short Int16;
218  typedef unsigned short Uint16;
219 
220  // 32 bits integer types
221  typedef signed int Int32;
222  typedef unsigned int Uint32;
223 
224  // 64 bits integer types
225  #if defined(_MSC_VER)
226  typedef signed __int64 Int64;
227  typedef unsigned __int64 Uint64;
228  #else
229  typedef signed long long Int64;
230  typedef unsigned long long Uint64;
231  #endif
232 
233 } // namespace sf
234 
235 
236 #endif // SFML_CONFIG_HPP
+
+ + + + diff --git a/SFML/doc/html/ContextSettings_8hpp_source.html b/SFML/doc/html/ContextSettings_8hpp_source.html new file mode 100644 index 0000000..03304c6 --- /dev/null +++ b/SFML/doc/html/ContextSettings_8hpp_source.html @@ -0,0 +1,70 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
ContextSettings.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CONTEXTSETTINGS_HPP
26 #define SFML_CONTEXTSETTINGS_HPP
27 
28 #include <SFML/Config.hpp>
29 
30 namespace sf
31 {
38 {
43  enum Attribute
44  {
45  Default = 0,
46  Core = 1 << 0,
47  Debug = 1 << 2
48  };
49 
62  explicit ContextSettings(unsigned int depth = 0, unsigned int stencil = 0, unsigned int antialiasing = 0, unsigned int major = 1, unsigned int minor = 1, unsigned int attributes = Default, bool sRgb = false) :
63  depthBits (depth),
64  stencilBits (stencil),
65  antialiasingLevel(antialiasing),
66  majorVersion (major),
67  minorVersion (minor),
68  attributeFlags (attributes),
69  sRgbCapable (sRgb)
70  {
71  }
72 
74  // Member data
76  unsigned int depthBits;
77  unsigned int stencilBits;
78  unsigned int antialiasingLevel;
79  unsigned int majorVersion;
80  unsigned int minorVersion;
81  Uint32 attributeFlags;
82  bool sRgbCapable;
83 };
84 
85 } // namespace sf
86 
87 
88 #endif // SFML_CONTEXTSETTINGS_HPP
89 
90 
+
Uint32 attributeFlags
The attribute flags to create the context with.
+
bool sRgbCapable
Whether the context framebuffer is sRGB capable.
+
Attribute
Enumeration of the context attribute flags.
+ +
Non-debug, compatibility context (this and the core attribute are mutually exclusive) ...
+
unsigned int depthBits
Bits of the depth buffer.
+
Structure defining the settings of the OpenGL context attached to a window.
+ +
ContextSettings(unsigned int depth=0, unsigned int stencil=0, unsigned int antialiasing=0, unsigned int major=1, unsigned int minor=1, unsigned int attributes=Default, bool sRgb=false)
Default constructor.
+
unsigned int majorVersion
Major number of the context version to create.
+
unsigned int antialiasingLevel
Level of antialiasing.
+
unsigned int stencilBits
Bits of the stencil buffer.
+
unsigned int minorVersion
Minor number of the context version to create.
+
+ + + + diff --git a/SFML/doc/html/Context_8hpp_source.html b/SFML/doc/html/Context_8hpp_source.html new file mode 100644 index 0000000..6b6fc89 --- /dev/null +++ b/SFML/doc/html/Context_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Context.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CONTEXT_HPP
26 #define SFML_CONTEXT_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <SFML/Window/GlResource.hpp>
33 #include <SFML/Window/ContextSettings.hpp>
34 #include <SFML/System/NonCopyable.hpp>
35 
36 
37 namespace sf
38 {
39 namespace priv
40 {
41  class GlContext;
42 }
43 
44 typedef void (*GlFunctionPointer)();
45 
50 class SFML_WINDOW_API Context : GlResource, NonCopyable
51 {
52 public:
53 
60  Context();
61 
68  ~Context();
69 
78  bool setActive(bool active);
79 
90  const ContextSettings& getSettings() const;
91 
100  static bool isExtensionAvailable(const char* name);
101 
110  static GlFunctionPointer getFunction(const char* name);
111 
122  static const Context* getActiveContext();
123 
133  static Uint64 getActiveContextId();
134 
146  Context(const ContextSettings& settings, unsigned int width, unsigned int height);
147 
148 private:
149 
151  // Member data
153  priv::GlContext* m_context;
154 };
155 
156 } // namespace sf
157 
158 
159 #endif // SFML_CONTEXT_HPP
160 
Class holding a valid drawing context.
Definition: Context.hpp:50
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+
Structure defining the settings of the OpenGL context attached to a window.
+ +
Base class for classes that require an OpenGL context.
Definition: GlResource.hpp:46
+
+ + + + diff --git a/SFML/doc/html/ConvexShape_8hpp_source.html b/SFML/doc/html/ConvexShape_8hpp_source.html new file mode 100644 index 0000000..dea71a4 --- /dev/null +++ b/SFML/doc/html/ConvexShape_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
ConvexShape.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CONVEXSHAPE_HPP
26 #define SFML_CONVEXSHAPE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Shape.hpp>
33 #include <vector>
34 
35 
36 namespace sf
37 {
42 class SFML_GRAPHICS_API ConvexShape : public Shape
43 {
44 public:
45 
52  explicit ConvexShape(std::size_t pointCount = 0);
53 
64  void setPointCount(std::size_t count);
65 
74  virtual std::size_t getPointCount() const;
75 
91  void setPoint(std::size_t index, const Vector2f& point);
92 
108  virtual Vector2f getPoint(std::size_t index) const;
109 
110 private:
111 
113  // Member data
115  std::vector<Vector2f> m_points;
116 };
117 
118 } // namespace sf
119 
120 
121 #endif // SFML_CONVEXSHAPE_HPP
122 
123 
Base class for textured shapes with outline.
Definition: Shape.hpp:44
+
Specialized shape representing a convex polygon.
Definition: ConvexShape.hpp:42
+ +
Utility template class for manipulating 2-dimensional vectors.
Definition: Vector2.hpp:37
+
+ + + + diff --git a/SFML/doc/html/Cursor_8hpp_source.html b/SFML/doc/html/Cursor_8hpp_source.html new file mode 100644 index 0000000..33413f3 --- /dev/null +++ b/SFML/doc/html/Cursor_8hpp_source.html @@ -0,0 +1,74 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Cursor.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CURSOR_HPP
26 #define SFML_CURSOR_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <SFML/System/NonCopyable.hpp>
33 #include <SFML/System/Vector2.hpp>
34 
35 namespace sf
36 {
37 namespace priv
38 {
39  class CursorImpl;
40 }
41 
46 class SFML_WINDOW_API Cursor : NonCopyable
47 {
48 public:
49 
76  enum Type
77  {
80  Wait,
81  Text,
82  Hand,
89  Help,
90  NotAllowed
91  };
92 
93 public:
94 
104  Cursor();
105 
113  ~Cursor();
114 
144  bool loadFromPixels(const Uint8* pixels, Vector2u size, Vector2u hotspot);
145 
160  bool loadFromSystem(Type type);
161 
162 private:
163 
164  friend class Window;
165 
175  const priv::CursorImpl& getImpl() const;
176 
177 private:
178 
180  // Member data
182  priv::CursorImpl* m_impl;
183 };
184 
185 } // namespace sf
186 
187 
188 #endif // SFML_CURSOR_HPP
189 
190 
Crosshair cursor.
Definition: Cursor.hpp:88
+
Busy cursor.
Definition: Cursor.hpp:80
+
Window that serves as a target for OpenGL rendering.
+
Cursor defines the appearance of a system cursor.
Definition: Cursor.hpp:46
+
Horizontal double arrow cursor.
Definition: Cursor.hpp:83
+
Busy arrow cursor.
Definition: Cursor.hpp:79
+
Arrow cursor (default)
Definition: Cursor.hpp:78
+
Double arrow cursor going from top-left to bottom-right.
Definition: Cursor.hpp:85
+
Double arrow cursor going from bottom-left to top-right.
Definition: Cursor.hpp:86
+
I-beam, cursor when hovering over a field allowing text entry.
Definition: Cursor.hpp:81
+
Help cursor.
Definition: Cursor.hpp:89
+
Type
Enumeration of the native system cursor types.
Definition: Cursor.hpp:76
+
Combination of SizeHorizontal and SizeVertical.
Definition: Cursor.hpp:87
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+
Pointing hand cursor.
Definition: Cursor.hpp:82
+ + +
Vertical double arrow cursor.
Definition: Cursor.hpp:84
+
+ + + + diff --git a/SFML/doc/html/Drawable_8hpp_source.html b/SFML/doc/html/Drawable_8hpp_source.html new file mode 100644 index 0000000..5e44831 --- /dev/null +++ b/SFML/doc/html/Drawable_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Drawable.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_DRAWABLE_HPP
26 #define SFML_DRAWABLE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/RenderStates.hpp>
33 
34 
35 namespace sf
36 {
37 class RenderTarget;
38 
44 class SFML_GRAPHICS_API Drawable
45 {
46 public:
47 
52  virtual ~Drawable() {}
53 
54 protected:
55 
56  friend class RenderTarget;
57 
69  virtual void draw(RenderTarget& target, RenderStates states) const = 0;
70 };
71 
72 } // namespace sf
73 
74 
75 #endif // SFML_DRAWABLE_HPP
76 
77 
virtual ~Drawable()
Virtual destructor.
Definition: Drawable.hpp:52
+
Define the states used for drawing to a RenderTarget.
+
Base class for all render targets (window, texture, ...)
+
Abstract base class for objects that can be drawn to a render target.
Definition: Drawable.hpp:44
+ +
+ + + + diff --git a/SFML/doc/html/Err_8hpp_source.html b/SFML/doc/html/Err_8hpp_source.html new file mode 100644 index 0000000..0a473ee --- /dev/null +++ b/SFML/doc/html/Err_8hpp_source.html @@ -0,0 +1,58 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Err.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_ERR_HPP
26 #define SFML_ERR_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 #include <ostream>
33 
34 
35 namespace sf
36 {
41 SFML_SYSTEM_API std::ostream& err();
42 
43 } // namespace sf
44 
45 
46 #endif // SFML_ERR_HPP
47 
48 
std::ostream & err()
Standard stream used by SFML to output warnings and errors.
+ +
+ + + + diff --git a/SFML/doc/html/Event_8hpp_source.html b/SFML/doc/html/Event_8hpp_source.html new file mode 100644 index 0000000..aaae108 --- /dev/null +++ b/SFML/doc/html/Event_8hpp_source.html @@ -0,0 +1,146 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Event.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_EVENT_HPP
26 #define SFML_EVENT_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 #include <SFML/Window/Joystick.hpp>
33 #include <SFML/Window/Keyboard.hpp>
34 #include <SFML/Window/Mouse.hpp>
35 #include <SFML/Window/Sensor.hpp>
36 
37 
38 namespace sf
39 {
44 class Event
45 {
46 public:
47 
52  struct SizeEvent
53  {
54  unsigned int width;
55  unsigned int height;
56  };
57 
62  struct KeyEvent
63  {
65  bool alt;
66  bool control;
67  bool shift;
68  bool system;
69  };
70 
75  struct TextEvent
76  {
77  Uint32 unicode;
78  };
79 
85  {
86  int x;
87  int y;
88  };
89 
96  {
98  int x;
99  int y;
100  };
101 
110  {
111  int delta;
112  int x;
113  int y;
114  };
115 
121  {
123  float delta;
124  int x;
125  int y;
126  };
127 
134  {
135  unsigned int joystickId;
136  };
137 
143  {
144  unsigned int joystickId;
146  float position;
147  };
148 
155  {
156  unsigned int joystickId;
157  unsigned int button;
158  };
159 
164  struct TouchEvent
165  {
166  unsigned int finger;
167  int x;
168  int y;
169  };
170 
175  struct SensorEvent
176  {
178  float x;
179  float y;
180  float z;
181  };
182 
188  {
212 
214  };
215 
217  // Member data
220 
221  union
222  {
235  };
236 };
237 
238 } // namespace sf
239 
240 
241 #endif // SFML_EVENT_HPP
242 
243 
Keyboard::Key code
Code of the key that has been pressed.
Definition: Event.hpp:64
+
float delta
Wheel offset (positive is up/left, negative is down/right). High-precision mice may use non-integral ...
Definition: Event.hpp:123
+
A joystick button was pressed (data in event.joystickButton)
Definition: Event.hpp:203
+
A joystick was disconnected (data in event.joystickConnect)
Definition: Event.hpp:207
+
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition: Event.hpp:113
+
The window lost the focus (no data)
Definition: Event.hpp:191
+
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition: Event.hpp:98
+
Joystick buttons events parameters (JoystickButtonPressed, JoystickButtonReleased) ...
Definition: Event.hpp:154
+
The mouse cursor moved (data in event.mouseMove)
Definition: Event.hpp:200
+
Keep last – the total number of event types.
Definition: Event.hpp:213
+
Keyboard event parameters (KeyPressed, KeyReleased)
Definition: Event.hpp:62
+
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition: Event.hpp:144
+
A joystick was connected (data in event.joystickConnect)
Definition: Event.hpp:206
+
A touch event ended (data in event.touch)
Definition: Event.hpp:210
+
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition: Event.hpp:87
+
Mouse move event parameters (MouseMoved)
Definition: Event.hpp:84
+
A character was entered (data in event.text)
Definition: Event.hpp:193
+
int x
X position of the touch, relative to the left of the owner window.
Definition: Event.hpp:167
+
bool alt
Is the Alt key pressed?
Definition: Event.hpp:65
+
unsigned int height
New height, in pixels.
Definition: Event.hpp:55
+
KeyEvent key
Key event parameters (Event::KeyPressed, Event::KeyReleased)
Definition: Event.hpp:224
+
The window gained the focus (no data)
Definition: Event.hpp:192
+
float y
Current value of the sensor on Y axis.
Definition: Event.hpp:179
+
Sensor event parameters (SensorChanged)
Definition: Event.hpp:175
+
SensorEvent sensor
Sensor event parameters (Event::SensorChanged)
Definition: Event.hpp:234
+
A touch event began (data in event.touch)
Definition: Event.hpp:208
+
TextEvent text
Text event parameters (Event::TextEntered)
Definition: Event.hpp:225
+
TouchEvent touch
Touch events parameters (Event::TouchBegan, Event::TouchMoved, Event::TouchEnded) ...
Definition: Event.hpp:233
+
Axis
Axes supported by SFML joysticks.
Definition: Joystick.hpp:60
+
Type
Sensor type.
Definition: Sensor.hpp:50
+
A key was released (data in event.key)
Definition: Event.hpp:195
+
The window was resized (data in event.size)
Definition: Event.hpp:190
+
unsigned int width
New width, in pixels.
Definition: Event.hpp:54
+
The window requested to be closed (no data)
Definition: Event.hpp:189
+
MouseButtonEvent mouseButton
Mouse button event parameters (Event::MouseButtonPressed, Event::MouseButtonReleased) ...
Definition: Event.hpp:227
+
The mouse cursor left the area of the window (no data)
Definition: Event.hpp:202
+
int delta
Number of ticks the wheel has moved (positive is up, negative is down)
Definition: Event.hpp:111
+
Touch events parameters (TouchBegan, TouchMoved, TouchEnded)
Definition: Event.hpp:164
+
The mouse wheel was scrolled (data in event.mouseWheelScroll)
Definition: Event.hpp:197
+
A mouse button was pressed (data in event.mouseButton)
Definition: Event.hpp:198
+
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition: Event.hpp:124
+
The mouse wheel was scrolled (data in event.mouseWheel) (deprecated)
Definition: Event.hpp:196
+
Joystick axis move event parameters (JoystickMoved)
Definition: Event.hpp:142
+
JoystickMoveEvent joystickMove
Joystick move event parameters (Event::JoystickMoved)
Definition: Event.hpp:230
+
Wheel
Mouse wheels.
Definition: Mouse.hpp:66
+
Mouse wheel events parameters (MouseWheelMoved)
Definition: Event.hpp:109
+
Joystick::Axis axis
Axis on which the joystick moved.
Definition: Event.hpp:145
+
Key
Key codes.
Definition: Keyboard.hpp:48
+
int y
Y position of the touch, relative to the top of the owner window.
Definition: Event.hpp:168
+
Mouse::Wheel wheel
Which wheel (for mice with multiple ones)
Definition: Event.hpp:122
+
Mouse buttons events parameters (MouseButtonPressed, MouseButtonReleased)
Definition: Event.hpp:95
+
bool shift
Is the Shift key pressed?
Definition: Event.hpp:67
+
Defines a system event and its parameters.
Definition: Event.hpp:44
+
Button
Mouse buttons.
Definition: Mouse.hpp:51
+
Uint32 unicode
UTF-32 Unicode value of the character.
Definition: Event.hpp:77
+
JoystickConnectEvent joystickConnect
Joystick (dis)connect event parameters (Event::JoystickConnected, Event::JoystickDisconnected) ...
Definition: Event.hpp:232
+
MouseWheelEvent mouseWheel
Mouse wheel event parameters (Event::MouseWheelMoved) (deprecated)
Definition: Event.hpp:228
+
The mouse cursor entered the area of the window (no data)
Definition: Event.hpp:201
+
A key was pressed (data in event.key)
Definition: Event.hpp:194
+
MouseWheelScrollEvent mouseWheelScroll
Mouse wheel event parameters (Event::MouseWheelScrolled)
Definition: Event.hpp:229
+
Mouse::Button button
Code of the button that has been pressed.
Definition: Event.hpp:97
+
bool system
Is the System key pressed?
Definition: Event.hpp:68
+
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition: Event.hpp:112
+
EventType type
Type of the event.
Definition: Event.hpp:219
+
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition: Event.hpp:99
+
bool control
Is the Control key pressed?
Definition: Event.hpp:66
+
A mouse button was released (data in event.mouseButton)
Definition: Event.hpp:199
+
Joystick connection events parameters (JoystickConnected, JoystickDisconnected)
Definition: Event.hpp:133
+ +
MouseMoveEvent mouseMove
Mouse move event parameters (Event::MouseMoved)
Definition: Event.hpp:226
+
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition: Event.hpp:156
+
The joystick moved along an axis (data in event.joystickMove)
Definition: Event.hpp:205
+
unsigned int finger
Index of the finger in case of multi-touch events.
Definition: Event.hpp:166
+
A joystick button was released (data in event.joystickButton)
Definition: Event.hpp:204
+
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition: Event.hpp:135
+
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition: Event.hpp:86
+
Text event parameters (TextEntered)
Definition: Event.hpp:75
+
JoystickButtonEvent joystickButton
Joystick button event parameters (Event::JoystickButtonPressed, Event::JoystickButtonReleased) ...
Definition: Event.hpp:231
+
float x
Current value of the sensor on X axis.
Definition: Event.hpp:178
+
float position
New position on the axis (in range [-100 .. 100])
Definition: Event.hpp:146
+
A touch moved (data in event.touch)
Definition: Event.hpp:209
+
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition: Event.hpp:125
+
A sensor value changed (data in event.sensor)
Definition: Event.hpp:211
+
Sensor::Type type
Type of the sensor.
Definition: Event.hpp:177
+
SizeEvent size
Size event parameters (Event::Resized)
Definition: Event.hpp:223
+
Size events parameters (Resized)
Definition: Event.hpp:52
+
Mouse wheel events parameters (MouseWheelScrolled)
Definition: Event.hpp:120
+
unsigned int button
Index of the button that has been pressed (in range [0 .. Joystick::ButtonCount - 1]) ...
Definition: Event.hpp:157
+
float z
Current value of the sensor on Z axis.
Definition: Event.hpp:180
+
EventType
Enumeration of the different types of events.
Definition: Event.hpp:187
+
+ + + + diff --git a/SFML/doc/html/FileInputStream_8hpp_source.html b/SFML/doc/html/FileInputStream_8hpp_source.html new file mode 100644 index 0000000..7fe4c19 --- /dev/null +++ b/SFML/doc/html/FileInputStream_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
FileInputStream.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_FILEINPUTSTREAM_HPP
26 #define SFML_FILEINPUTSTREAM_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 #include <SFML/System/Export.hpp>
33 #include <SFML/System/InputStream.hpp>
34 #include <SFML/System/NonCopyable.hpp>
35 #include <cstdio>
36 #include <string>
37 
38 #ifdef SFML_SYSTEM_ANDROID
39 namespace sf
40 {
41 namespace priv
42 {
43 class SFML_SYSTEM_API ResourceStream;
44 }
45 }
46 #endif
47 
48 
49 namespace sf
50 {
55 class SFML_SYSTEM_API FileInputStream : public InputStream, NonCopyable
56 {
57 public:
63 
68  virtual ~FileInputStream();
69 
78  bool open(const std::string& filename);
79 
92  virtual Int64 read(void* data, Int64 size);
93 
102  virtual Int64 seek(Int64 position);
103 
110  virtual Int64 tell();
111 
118  virtual Int64 getSize();
119 
120 private:
121 
123  // Member data
125 #ifdef SFML_SYSTEM_ANDROID
126  priv::ResourceStream* m_file;
127 #else
128  std::FILE* m_file;
129 #endif
130 };
131 
132 } // namespace sf
133 
134 
135 #endif // SFML_FILEINPUTSTREAM_HPP
136 
137 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Implementation of input stream based on a file.
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
+ + + + diff --git a/SFML/doc/html/Font_8hpp_source.html b/SFML/doc/html/Font_8hpp_source.html new file mode 100644 index 0000000..d39d3c0 --- /dev/null +++ b/SFML/doc/html/Font_8hpp_source.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Font.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_FONT_HPP
26 #define SFML_FONT_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Glyph.hpp>
33 #include <SFML/Graphics/Texture.hpp>
34 #include <SFML/Graphics/Rect.hpp>
35 #include <SFML/System/Vector2.hpp>
36 #include <SFML/System/String.hpp>
37 #include <map>
38 #include <string>
39 #include <vector>
40 
41 
42 namespace sf
43 {
44 class InputStream;
45 
50 class SFML_GRAPHICS_API Font
51 {
52 public:
53 
58  struct Info
59  {
60  std::string family;
61  };
62 
63 public:
64 
71  Font();
72 
79  Font(const Font& copy);
80 
87  ~Font();
88 
109  bool loadFromFile(const std::string& filename);
110 
130  bool loadFromMemory(const void* data, std::size_t sizeInBytes);
131 
152  bool loadFromStream(InputStream& stream);
153 
160  const Info& getInfo() const;
161 
180  const Glyph& getGlyph(Uint32 codePoint, unsigned int characterSize, bool bold, float outlineThickness = 0) const;
181 
198  float getKerning(Uint32 first, Uint32 second, unsigned int characterSize) const;
199 
211  float getLineSpacing(unsigned int characterSize) const;
212 
226  float getUnderlinePosition(unsigned int characterSize) const;
227 
240  float getUnderlineThickness(unsigned int characterSize) const;
241 
254  const Texture& getTexture(unsigned int characterSize) const;
255 
264  Font& operator =(const Font& right);
265 
266 private:
267 
272  struct Row
273  {
274  Row(unsigned int rowTop, unsigned int rowHeight) : width(0), top(rowTop), height(rowHeight) {}
275 
276  unsigned int width;
277  unsigned int top;
278  unsigned int height;
279  };
280 
282  // Types
284  typedef std::map<Uint64, Glyph> GlyphTable;
285 
290  struct Page
291  {
292  Page();
293 
294  GlyphTable glyphs;
295  Texture texture;
296  unsigned int nextRow;
297  std::vector<Row> rows;
298  };
299 
304  void cleanup();
305 
317  Glyph loadGlyph(Uint32 codePoint, unsigned int characterSize, bool bold, float outlineThickness) const;
318 
329  IntRect findGlyphRect(Page& page, unsigned int width, unsigned int height) const;
330 
339  bool setCurrentSize(unsigned int characterSize) const;
340 
342  // Types
344  typedef std::map<unsigned int, Page> PageTable;
345 
347  // Member data
349  void* m_library;
350  void* m_face;
351  void* m_streamRec;
352  void* m_stroker;
353  int* m_refCount;
354  Info m_info;
355  mutable PageTable m_pages;
356  mutable std::vector<Uint8> m_pixelBuffer;
357  #ifdef SFML_SYSTEM_ANDROID
358  void* m_stream;
359  #endif
360 };
361 
362 } // namespace sf
363 
364 
365 #endif // SFML_FONT_HPP
366 
367 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:48
+
Structure describing a glyph.
Definition: Glyph.hpp:41
+ +
Class for loading and manipulating character fonts.
Definition: Font.hpp:50
+
std::string family
The font family.
Definition: Font.hpp:60
+
Holds various information about a font.
Definition: Font.hpp:58
+
+ + + + diff --git a/SFML/doc/html/Ftp_8hpp_source.html b/SFML/doc/html/Ftp_8hpp_source.html new file mode 100644 index 0000000..b9c1b94 --- /dev/null +++ b/SFML/doc/html/Ftp_8hpp_source.html @@ -0,0 +1,70 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Ftp.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_FTP_HPP
26 #define SFML_FTP_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <SFML/Network/TcpSocket.hpp>
33 #include <SFML/System/NonCopyable.hpp>
34 #include <SFML/System/Time.hpp>
35 #include <string>
36 #include <vector>
37 
38 
39 namespace sf
40 {
41 class IpAddress;
42 
47 class SFML_NETWORK_API Ftp : NonCopyable
48 {
49 public:
50 
56  {
59  Ebcdic
60  };
61 
66  class SFML_NETWORK_API Response
67  {
68  public:
69 
74  enum Status
75  {
76  // 1xx: the requested action is being initiated,
77  // expect another reply before proceeding with a new command
78  RestartMarkerReply = 110,
79  ServiceReadySoon = 120,
80  DataConnectionAlreadyOpened = 125,
81  OpeningDataConnection = 150,
82 
83  // 2xx: the requested action has been successfully completed
84  Ok = 200,
85  PointlessCommand = 202,
86  SystemStatus = 211,
87  DirectoryStatus = 212,
88  FileStatus = 213,
89  HelpMessage = 214,
90  SystemType = 215,
91  ServiceReady = 220,
92  ClosingConnection = 221,
93  DataConnectionOpened = 225,
94  ClosingDataConnection = 226,
95  EnteringPassiveMode = 227,
96  LoggedIn = 230,
97  FileActionOk = 250,
98  DirectoryOk = 257,
99 
100  // 3xx: the command has been accepted, but the requested action
101  // is dormant, pending receipt of further information
102  NeedPassword = 331,
103  NeedAccountToLogIn = 332,
104  NeedInformation = 350,
105 
106  // 4xx: the command was not accepted and the requested action did not take place,
107  // but the error condition is temporary and the action may be requested again
108  ServiceUnavailable = 421,
109  DataConnectionUnavailable = 425,
110  TransferAborted = 426,
111  FileActionAborted = 450,
112  LocalError = 451,
113  InsufficientStorageSpace = 452,
114 
115  // 5xx: the command was not accepted and
116  // the requested action did not take place
117  CommandUnknown = 500,
118  ParametersUnknown = 501,
119  CommandNotImplemented = 502,
120  BadCommandSequence = 503,
121  ParameterNotImplemented = 504,
122  NotLoggedIn = 530,
123  NeedAccountToStore = 532,
124  FileUnavailable = 550,
125  PageTypeUnknown = 551,
126  NotEnoughMemory = 552,
127  FilenameNotAllowed = 553,
128 
129  // 10xx: SFML custom codes
130  InvalidResponse = 1000,
131  ConnectionFailed = 1001,
132  ConnectionClosed = 1002,
133  InvalidFile = 1003
134  };
135 
146  explicit Response(Status code = InvalidResponse, const std::string& message = "");
147 
157  bool isOk() const;
158 
165  Status getStatus() const;
166 
173  const std::string& getMessage() const;
174 
175  private:
176 
178  // Member data
180  Status m_status;
181  std::string m_message;
182  };
183 
188  class SFML_NETWORK_API DirectoryResponse : public Response
189  {
190  public:
191 
198  DirectoryResponse(const Response& response);
199 
206  const std::string& getDirectory() const;
207 
208  private:
209 
211  // Member data
213  std::string m_directory;
214  };
215 
216 
221  class SFML_NETWORK_API ListingResponse : public Response
222  {
223  public:
224 
232  ListingResponse(const Response& response, const std::string& data);
233 
240  const std::vector<std::string>& getListing() const;
241 
242  private:
243 
245  // Member data
247  std::vector<std::string> m_listing;
248  };
249 
250 
258  ~Ftp();
259 
281  Response connect(const IpAddress& server, unsigned short port = 21, Time timeout = Time::Zero);
282 
291  Response disconnect();
292 
302  Response login();
303 
316  Response login(const std::string& name, const std::string& password);
317 
327  Response keepAlive();
328 
340  DirectoryResponse getWorkingDirectory();
341 
357  ListingResponse getDirectoryListing(const std::string& directory = "");
358 
371  Response changeDirectory(const std::string& directory);
372 
381  Response parentDirectory();
382 
396  Response createDirectory(const std::string& name);
397 
413  Response deleteDirectory(const std::string& name);
414 
429  Response renameFile(const std::string& file, const std::string& newName);
430 
446  Response deleteFile(const std::string& name);
447 
468  Response download(const std::string& remoteFile, const std::string& localPath, TransferMode mode = Binary);
469 
491  Response upload(const std::string& localFile, const std::string& remotePath, TransferMode mode = Binary, bool append = false);
492 
509  Response sendCommand(const std::string& command, const std::string& parameter = "");
510 
511 private:
512 
522  Response getResponse();
523 
529  class DataChannel;
530 
531  friend class DataChannel;
532 
534  // Member data
536  TcpSocket m_commandSocket;
537  std::string m_receiveBuffer;
538 };
539 
540 } // namespace sf
541 
542 
543 #endif // SFML_FTP_HPP
544 
545 
Specialization of FTP response returning a directory.
Definition: Ftp.hpp:188
+
Represents a time value.
Definition: Time.hpp:40
+
A FTP client.
Definition: Ftp.hpp:47
+
static const Time Zero
Predefined "zero" time value.
Definition: Time.hpp:85
+
Define a FTP response.
Definition: Ftp.hpp:66
+
Encapsulate an IPv4 network address.
Definition: IpAddress.hpp:44
+
Specialization of FTP response returning a filename listing.
Definition: Ftp.hpp:221
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+
TransferMode
Enumeration of transfer modes.
Definition: Ftp.hpp:55
+
Specialized socket using the TCP protocol.
Definition: TcpSocket.hpp:46
+
Text mode using ASCII encoding.
Definition: Ftp.hpp:58
+
Binary mode (file is transfered as a sequence of bytes)
Definition: Ftp.hpp:57
+ +
Status
Status codes possibly returned by a FTP response.
Definition: Ftp.hpp:74
+
+ + + + diff --git a/SFML/doc/html/GlResource_8hpp_source.html b/SFML/doc/html/GlResource_8hpp_source.html new file mode 100644 index 0000000..c6b7f40 --- /dev/null +++ b/SFML/doc/html/GlResource_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
GlResource.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_GLRESOURCE_HPP
26 #define SFML_GLRESOURCE_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <SFML/System/NonCopyable.hpp>
33 
34 
35 namespace sf
36 {
37 
38 class Context;
39 
40 typedef void(*ContextDestroyCallback)(void*);
41 
46 class SFML_WINDOW_API GlResource
47 {
48 protected:
49 
54  GlResource();
55 
60  ~GlResource();
61 
73  static void registerContextDestroyCallback(ContextDestroyCallback callback, void* arg);
74 
79  class SFML_WINDOW_API TransientContextLock : NonCopyable
80  {
81  public:
87 
93  };
94 };
95 
96 } // namespace sf
97 
98 
99 #endif // SFML_GLRESOURCE_HPP
100 
RAII helper class to temporarily lock an available context for use.
Definition: GlResource.hpp:79
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
Base class for classes that require an OpenGL context.
Definition: GlResource.hpp:46
+
+ + + + diff --git a/SFML/doc/html/Glsl_8hpp_source.html b/SFML/doc/html/Glsl_8hpp_source.html new file mode 100644 index 0000000..432908a --- /dev/null +++ b/SFML/doc/html/Glsl_8hpp_source.html @@ -0,0 +1,70 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Glsl.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_GLSL_HPP
26 #define SFML_GLSL_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Transform.hpp>
32 #include <SFML/Graphics/Color.hpp>
33 #include <SFML/System/Vector2.hpp>
34 #include <SFML/System/Vector3.hpp>
35 
36 
37 namespace sf
38 {
39 namespace priv
40 {
41  // Forward declarations
42  template <std::size_t Columns, std::size_t Rows>
43  struct Matrix;
44 
45  template <typename T>
46  struct Vector4;
47 
48 #include <SFML/Graphics/Glsl.inl>
49 
50 } // namespace priv
51 
52 
57 namespace Glsl
58 {
59 
65 
71 
77 
83 
89 
95 
96 #ifdef SFML_DOXYGEN
97 
110  typedef implementation-defined Vec4;
111 
124  typedef implementation-defined Ivec4;
125 
130  typedef implementation-defined Bvec4;
131 
155  typedef implementation-defined Mat3;
156 
181  typedef implementation-defined Mat4;
182 
183 #else // SFML_DOXYGEN
184 
185  typedef priv::Vector4<float> Vec4;
186  typedef priv::Vector4<int> Ivec4;
187  typedef priv::Vector4<bool> Bvec4;
188  typedef priv::Matrix<3, 3> Mat3;
189  typedef priv::Matrix<4, 4> Mat4;
190 
191 #endif // SFML_DOXYGEN
192 
193 } // namespace Glsl
194 } // namespace sf
195 
196 #endif // SFML_GLSL_HPP
197 
198 
implementation defined Bvec4
4D bool vector (bvec4 in GLSL)
Definition: Glsl.hpp:130
+
Vector2< float > Vec2
2D float vector (vec2 in GLSL)
Definition: Glsl.hpp:64
+
implementation defined Ivec4
4D int vector (ivec4 in GLSL)
Definition: Glsl.hpp:124
+
Vector3< float > Vec3
3D float vector (vec3 in GLSL)
Definition: Glsl.hpp:82
+
implementation defined Mat4
4x4 float matrix (mat4 in GLSL)
Definition: Glsl.hpp:181
+
Vector3< bool > Bvec3
3D bool vector (bvec3 in GLSL)
Definition: Glsl.hpp:94
+
Utility template class for manipulating 3-dimensional vectors.
Definition: Vector3.hpp:37
+
implementation defined Vec4
4D float vector (vec4 in GLSL)
Definition: Glsl.hpp:110
+
implementation defined Mat3
3x3 float matrix (mat3 in GLSL)
Definition: Glsl.hpp:155
+
Vector2< bool > Bvec2
2D bool vector (bvec2 in GLSL)
Definition: Glsl.hpp:76
+
Vector2< int > Ivec2
2D int vector (ivec2 in GLSL)
Definition: Glsl.hpp:70
+ + +
Vector3< int > Ivec3
3D int vector (ivec3 in GLSL)
Definition: Glsl.hpp:88
+
+ + + + diff --git a/SFML/doc/html/Glyph_8hpp_source.html b/SFML/doc/html/Glyph_8hpp_source.html new file mode 100644 index 0000000..94154ad --- /dev/null +++ b/SFML/doc/html/Glyph_8hpp_source.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Glyph.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_GLYPH_HPP
26 #define SFML_GLYPH_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Rect.hpp>
33 
34 
35 namespace sf
36 {
41 class SFML_GRAPHICS_API Glyph
42 {
43 public:
44 
49  Glyph() : advance(0) {}
50 
52  // Member data
54  float advance;
57 };
58 
59 } // namespace sf
60 
61 
62 #endif // SFML_GLYPH_HPP
63 
64 
IntRect textureRect
Texture coordinates of the glyph inside the font&#39;s texture.
Definition: Glyph.hpp:56
+
Glyph()
Default constructor.
Definition: Glyph.hpp:49
+
float advance
Offset to move horizontally to the next character.
Definition: Glyph.hpp:54
+
Structure describing a glyph.
Definition: Glyph.hpp:41
+
FloatRect bounds
Bounding rectangle of the glyph, in coordinates relative to the baseline.
Definition: Glyph.hpp:55
+ + +
+ + + + diff --git a/SFML/doc/html/GpuPreference_8hpp.html b/SFML/doc/html/GpuPreference_8hpp.html new file mode 100644 index 0000000..beeb1d6 --- /dev/null +++ b/SFML/doc/html/GpuPreference_8hpp.html @@ -0,0 +1,98 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
GpuPreference.hpp File Reference
+
+
+ +

Headers. +More...

+
#include <SFML/Config.hpp>
+
+

Go to the source code of this file.

+ + + + + +

+Macros

#define SFML_DEFINE_DISCRETE_GPU_PREFERENCE
 A macro to encourage usage of the discrete GPU. More...
 
+

Detailed Description

+

Headers.

+

File containing SFML_DEFINE_DISCRETE_GPU_PREFERENCE

+ +

Definition in file GpuPreference.hpp.

+

Macro Definition Documentation

+ +

◆ SFML_DEFINE_DISCRETE_GPU_PREFERENCE

+ +
+
+ + + + +
#define SFML_DEFINE_DISCRETE_GPU_PREFERENCE
+
+ +

A macro to encourage usage of the discrete GPU.

+

In order to inform the Nvidia/AMD driver that an SFML application could benefit from using the more powerful discrete GPU, special symbols have to be publicly exported from the final executable.

+

SFML defines a helper macro to easily do this.

+

Place SFML_DEFINE_DISCRETE_GPU_PREFERENCE in the global scope of a source file that will be linked into the final executable. Typically it is best to place it where the main function is also defined.

+ +

Definition at line 69 of file GpuPreference.hpp.

+ +
+
+
+ + + + diff --git a/SFML/doc/html/GpuPreference_8hpp_source.html b/SFML/doc/html/GpuPreference_8hpp_source.html new file mode 100644 index 0000000..f7646d0 --- /dev/null +++ b/SFML/doc/html/GpuPreference_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
GpuPreference.hpp
+
+
+Go to the documentation of this file.
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_GPUPREFERENCE_HPP
26 #define SFML_GPUPREFERENCE_HPP
27 
28 
32 #include <SFML/Config.hpp>
33 
34 
41 
42 
61 #if defined(SFML_SYSTEM_WINDOWS)
62 
63  #define SFML_DEFINE_DISCRETE_GPU_PREFERENCE \
64  extern "C" __declspec(dllexport) unsigned long NvOptimusEnablement = 1; \
65  extern "C" __declspec(dllexport) unsigned long AmdPowerXpressRequestHighPerformance = 1;
66 
67 #else
68 
69  #define SFML_DEFINE_DISCRETE_GPU_PREFERENCE
70 
71 #endif
72 
73 
74 #endif // SFML_GPUPREFERENCE_HPP
+ + + + diff --git a/SFML/doc/html/Graphics_2Export_8hpp_source.html b/SFML/doc/html/Graphics_2Export_8hpp_source.html new file mode 100644 index 0000000..fc75eb6 --- /dev/null +++ b/SFML/doc/html/Graphics_2Export_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Graphics/Export.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_GRAPHICS_EXPORT_HPP
26 #define SFML_GRAPHICS_EXPORT_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 
33 
35 // Define portable import / export macros
37 #if defined(SFML_GRAPHICS_EXPORTS)
38 
39  #define SFML_GRAPHICS_API SFML_API_EXPORT
40 
41 #else
42 
43  #define SFML_GRAPHICS_API SFML_API_IMPORT
44 
45 #endif
46 
47 
48 #endif // SFML_GRAPHICS_EXPORT_HPP
+ + + + diff --git a/SFML/doc/html/Graphics_8hpp_source.html b/SFML/doc/html/Graphics_8hpp_source.html new file mode 100644 index 0000000..696886f --- /dev/null +++ b/SFML/doc/html/Graphics_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Graphics.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_GRAPHICS_HPP
26 #define SFML_GRAPHICS_HPP
27 
29 // Headers
31 
32 #include <SFML/Window.hpp>
33 #include <SFML/Graphics/BlendMode.hpp>
34 #include <SFML/Graphics/CircleShape.hpp>
35 #include <SFML/Graphics/Color.hpp>
36 #include <SFML/Graphics/ConvexShape.hpp>
37 #include <SFML/Graphics/Drawable.hpp>
38 #include <SFML/Graphics/Font.hpp>
39 #include <SFML/Graphics/Glyph.hpp>
40 #include <SFML/Graphics/Image.hpp>
41 #include <SFML/Graphics/PrimitiveType.hpp>
42 #include <SFML/Graphics/Rect.hpp>
43 #include <SFML/Graphics/RectangleShape.hpp>
44 #include <SFML/Graphics/RenderStates.hpp>
45 #include <SFML/Graphics/RenderTarget.hpp>
46 #include <SFML/Graphics/RenderTexture.hpp>
47 #include <SFML/Graphics/RenderWindow.hpp>
48 #include <SFML/Graphics/Shader.hpp>
49 #include <SFML/Graphics/Shape.hpp>
50 #include <SFML/Graphics/Sprite.hpp>
51 #include <SFML/Graphics/Text.hpp>
52 #include <SFML/Graphics/Texture.hpp>
53 #include <SFML/Graphics/Transform.hpp>
54 #include <SFML/Graphics/Transformable.hpp>
55 #include <SFML/Graphics/Vertex.hpp>
56 #include <SFML/Graphics/VertexArray.hpp>
57 #include <SFML/Graphics/VertexBuffer.hpp>
58 #include <SFML/Graphics/View.hpp>
59 
60 
61 #endif // SFML_GRAPHICS_HPP
62 
+ + + + diff --git a/SFML/doc/html/Http_8hpp_source.html b/SFML/doc/html/Http_8hpp_source.html new file mode 100644 index 0000000..b6c126c --- /dev/null +++ b/SFML/doc/html/Http_8hpp_source.html @@ -0,0 +1,71 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Http.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_HTTP_HPP
26 #define SFML_HTTP_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <SFML/Network/IpAddress.hpp>
33 #include <SFML/Network/TcpSocket.hpp>
34 #include <SFML/System/NonCopyable.hpp>
35 #include <SFML/System/Time.hpp>
36 #include <map>
37 #include <string>
38 
39 
40 namespace sf
41 {
46 class SFML_NETWORK_API Http : NonCopyable
47 {
48 public:
49 
54  class SFML_NETWORK_API Request
55  {
56  public:
57 
62  enum Method
63  {
64  Get,
65  Post,
66  Head,
67  Put,
68  Delete
69  };
70 
82  Request(const std::string& uri = "/", Method method = Get, const std::string& body = "");
83 
97  void setField(const std::string& field, const std::string& value);
98 
109  void setMethod(Method method);
110 
121  void setUri(const std::string& uri);
122 
132  void setHttpVersion(unsigned int major, unsigned int minor);
133 
144  void setBody(const std::string& body);
145 
146  private:
147 
148  friend class Http;
149 
159  std::string prepare() const;
160 
171  bool hasField(const std::string& field) const;
172 
174  // Types
176  typedef std::map<std::string, std::string> FieldTable;
177 
179  // Member data
181  FieldTable m_fields;
182  Method m_method;
183  std::string m_uri;
184  unsigned int m_majorVersion;
185  unsigned int m_minorVersion;
186  std::string m_body;
187  };
188 
193  class SFML_NETWORK_API Response
194  {
195  public:
196 
201  enum Status
202  {
203  // 2xx: success
204  Ok = 200,
205  Created = 201,
206  Accepted = 202,
207  NoContent = 204,
208  ResetContent = 205,
209  PartialContent = 206,
210 
211  // 3xx: redirection
212  MultipleChoices = 300,
213  MovedPermanently = 301,
214  MovedTemporarily = 302,
215  NotModified = 304,
216 
217  // 4xx: client error
218  BadRequest = 400,
219  Unauthorized = 401,
220  Forbidden = 403,
221  NotFound = 404,
222  RangeNotSatisfiable = 407,
223 
224  // 5xx: server error
225  InternalServerError = 500,
226  NotImplemented = 501,
227  BadGateway = 502,
228  ServiceNotAvailable = 503,
229  GatewayTimeout = 504,
230  VersionNotSupported = 505,
231 
232  // 10xx: SFML custom codes
233  InvalidResponse = 1000,
234  ConnectionFailed = 1001
235  };
236 
243  Response();
244 
257  const std::string& getField(const std::string& field) const;
258 
270  Status getStatus() const;
271 
280  unsigned int getMajorHttpVersion() const;
281 
290  unsigned int getMinorHttpVersion() const;
291 
304  const std::string& getBody() const;
305 
306  private:
307 
308  friend class Http;
309 
319  void parse(const std::string& data);
320 
321 
331  void parseFields(std::istream &in);
332 
334  // Types
336  typedef std::map<std::string, std::string> FieldTable;
337 
339  // Member data
341  FieldTable m_fields;
342  Status m_status;
343  unsigned int m_majorVersion;
344  unsigned int m_minorVersion;
345  std::string m_body;
346  };
347 
352  Http();
353 
368  Http(const std::string& host, unsigned short port = 0);
369 
385  void setHost(const std::string& host, unsigned short port = 0);
386 
405  Response sendRequest(const Request& request, Time timeout = Time::Zero);
406 
407 private:
408 
410  // Member data
412  TcpSocket m_connection;
413  IpAddress m_host;
414  std::string m_hostName;
415  unsigned short m_port;
416 };
417 
418 } // namespace sf
419 
420 
421 #endif // SFML_HTTP_HPP
422 
423 
Request in put mode, useful for a REST API.
Definition: Http.hpp:67
+
A HTTP client.
Definition: Http.hpp:46
+
Define a HTTP request.
Definition: Http.hpp:54
+
Define a HTTP response.
Definition: Http.hpp:193
+
Represents a time value.
Definition: Time.hpp:40
+
static const Time Zero
Predefined "zero" time value.
Definition: Time.hpp:85
+
Request in get mode, standard method to retrieve a page.
Definition: Http.hpp:64
+
Status
Enumerate all the valid status codes for a response.
Definition: Http.hpp:201
+
Encapsulate an IPv4 network address.
Definition: IpAddress.hpp:44
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+
Method
Enumerate the available HTTP methods for a request.
Definition: Http.hpp:62
+
Specialized socket using the TCP protocol.
Definition: TcpSocket.hpp:46
+
Request a page&#39;s header only.
Definition: Http.hpp:66
+ +
Request in post mode, usually to send data to a page.
Definition: Http.hpp:65
+
+ + + + diff --git a/SFML/doc/html/Image_8hpp_source.html b/SFML/doc/html/Image_8hpp_source.html new file mode 100644 index 0000000..d46b377 --- /dev/null +++ b/SFML/doc/html/Image_8hpp_source.html @@ -0,0 +1,62 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Image.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_IMAGE_HPP
26 #define SFML_IMAGE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Color.hpp>
33 #include <SFML/Graphics/Rect.hpp>
34 #include <string>
35 #include <vector>
36 
37 
38 namespace sf
39 {
40 class InputStream;
41 
46 class SFML_GRAPHICS_API Image
47 {
48 public:
49 
56  Image();
57 
62  ~Image();
63 
72  void create(unsigned int width, unsigned int height, const Color& color = Color(0, 0, 0));
73 
87  void create(unsigned int width, unsigned int height, const Uint8* pixels);
88 
104  bool loadFromFile(const std::string& filename);
105 
122  bool loadFromMemory(const void* data, std::size_t size);
123 
139  bool loadFromStream(InputStream& stream);
140 
156  bool saveToFile(const std::string& filename) const;
157 
164  Vector2u getSize() const;
165 
177  void createMaskFromColor(const Color& color, Uint8 alpha = 0);
178 
199  void copy(const Image& source, unsigned int destX, unsigned int destY, const IntRect& sourceRect = IntRect(0, 0, 0, 0), bool applyAlpha = false);
200 
215  void setPixel(unsigned int x, unsigned int y, const Color& color);
216 
232  Color getPixel(unsigned int x, unsigned int y) const;
233 
247  const Uint8* getPixelsPtr() const;
248 
253  void flipHorizontally();
254 
259  void flipVertically();
260 
261 private:
262 
264  // Member data
266  Vector2u m_size;
267  std::vector<Uint8> m_pixels;
268 };
269 
270 } // namespace sf
271 
272 
273 #endif // SFML_IMAGE_HPP
274 
275 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Utility class for manipulating RGBA colors.
Definition: Color.hpp:40
+ + + +
Class for loading, manipulating and saving images.
Definition: Image.hpp:46
+
+ + + + diff --git a/SFML/doc/html/InputSoundFile_8hpp_source.html b/SFML/doc/html/InputSoundFile_8hpp_source.html new file mode 100644 index 0000000..3604782 --- /dev/null +++ b/SFML/doc/html/InputSoundFile_8hpp_source.html @@ -0,0 +1,62 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
InputSoundFile.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_INPUTSOUNDFILE_HPP
26 #define SFML_INPUTSOUNDFILE_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/System/NonCopyable.hpp>
33 #include <SFML/System/Time.hpp>
34 #include <string>
35 #include <algorithm>
36 
37 
38 namespace sf
39 {
40 class InputStream;
41 class SoundFileReader;
42 
47 class SFML_AUDIO_API InputSoundFile : NonCopyable
48 {
49 public:
50 
56 
61  ~InputSoundFile();
62 
74  bool openFromFile(const std::string& filename);
75 
88  bool openFromMemory(const void* data, std::size_t sizeInBytes);
89 
101  bool openFromStream(InputStream& stream);
102 
109  Uint64 getSampleCount() const;
110 
117  unsigned int getChannelCount() const;
118 
125  unsigned int getSampleRate() const;
126 
136  Time getDuration() const;
137 
144  Time getTimeOffset() const;
145 
152  Uint64 getSampleOffset() const;
153 
171  void seek(Uint64 sampleOffset);
172 
185  void seek(Time timeOffset);
186 
196  Uint64 read(Int16* samples, Uint64 maxCount);
197 
198 private:
199 
204  void close();
205 
207  // Member data
209  SoundFileReader* m_reader;
210  InputStream* m_stream;
211  bool m_streamOwned;
212  Uint64 m_sampleOffset;
213  Uint64 m_sampleCount;
214  unsigned int m_channelCount;
215  unsigned int m_sampleRate;
216 };
217 
218 } // namespace sf
219 
220 
221 #endif // SFML_INPUTSOUNDFILE_HPP
222 
223 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Represents a time value.
Definition: Time.hpp:40
+
Provide read access to sound files.
+
Abstract base class for sound file decoding.
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
+ + + + diff --git a/SFML/doc/html/InputStream_8hpp_source.html b/SFML/doc/html/InputStream_8hpp_source.html new file mode 100644 index 0000000..3c7333f --- /dev/null +++ b/SFML/doc/html/InputStream_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
InputStream.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_INPUTSTREAM_HPP
26 #define SFML_INPUTSTREAM_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 #include <SFML/System/Export.hpp>
33 
34 
35 namespace sf
36 {
41 class SFML_SYSTEM_API InputStream
42 {
43 public:
44 
49  virtual ~InputStream() {}
50 
63  virtual Int64 read(void* data, Int64 size) = 0;
64 
73  virtual Int64 seek(Int64 position) = 0;
74 
81  virtual Int64 tell() = 0;
82 
89  virtual Int64 getSize() = 0;
90 };
91 
92 } // namespace sf
93 
94 
95 #endif // SFML_INPUTSTREAM_HPP
96 
97 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
virtual ~InputStream()
Virtual destructor.
Definition: InputStream.hpp:49
+ +
+ + + + diff --git a/SFML/doc/html/IpAddress_8hpp_source.html b/SFML/doc/html/IpAddress_8hpp_source.html new file mode 100644 index 0000000..892a5c9 --- /dev/null +++ b/SFML/doc/html/IpAddress_8hpp_source.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
IpAddress.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_IPADDRESS_HPP
26 #define SFML_IPADDRESS_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <SFML/System/Time.hpp>
33 #include <istream>
34 #include <ostream>
35 #include <string>
36 
37 
38 namespace sf
39 {
44 class SFML_NETWORK_API IpAddress
45 {
46 public:
47 
54  IpAddress();
55 
65  IpAddress(const std::string& address);
66 
79  IpAddress(const char* address);
80 
94  IpAddress(Uint8 byte0, Uint8 byte1, Uint8 byte2, Uint8 byte3);
95 
109  explicit IpAddress(Uint32 address);
110 
123  std::string toString() const;
124 
139  Uint32 toInteger() const;
140 
155  static IpAddress getLocalAddress();
156 
179  static IpAddress getPublicAddress(Time timeout = Time::Zero);
180 
182  // Static member data
184  static const IpAddress None;
185  static const IpAddress Any;
186  static const IpAddress LocalHost;
187  static const IpAddress Broadcast;
188 
189 private:
190 
191  friend SFML_NETWORK_API bool operator <(const IpAddress& left, const IpAddress& right);
192 
199  void resolve(const std::string& address);
200 
202  // Member data
204  Uint32 m_address;
205  bool m_valid;
206 };
207 
217 SFML_NETWORK_API bool operator ==(const IpAddress& left, const IpAddress& right);
218 
228 SFML_NETWORK_API bool operator !=(const IpAddress& left, const IpAddress& right);
229 
239 SFML_NETWORK_API bool operator <(const IpAddress& left, const IpAddress& right);
240 
250 SFML_NETWORK_API bool operator >(const IpAddress& left, const IpAddress& right);
251 
261 SFML_NETWORK_API bool operator <=(const IpAddress& left, const IpAddress& right);
262 
272 SFML_NETWORK_API bool operator >=(const IpAddress& left, const IpAddress& right);
273 
283 SFML_NETWORK_API std::istream& operator >>(std::istream& stream, IpAddress& address);
284 
294 SFML_NETWORK_API std::ostream& operator <<(std::ostream& stream, const IpAddress& address);
295 
296 } // namespace sf
297 
298 
299 #endif // SFML_IPADDRESS_HPP
300 
301 
static const IpAddress None
Value representing an empty/invalid address.
Definition: IpAddress.hpp:184
+
static const IpAddress Any
Value representing any address (0.0.0.0)
Definition: IpAddress.hpp:185
+
Represents a time value.
Definition: Time.hpp:40
+
static const Time Zero
Predefined "zero" time value.
Definition: Time.hpp:85
+
Encapsulate an IPv4 network address.
Definition: IpAddress.hpp:44
+ +
static const IpAddress LocalHost
The "localhost" address (for connecting a computer to itself locally)
Definition: IpAddress.hpp:186
+
static const IpAddress Broadcast
The "broadcast" address (for sending UDP messages to everyone on a local network) ...
Definition: IpAddress.hpp:187
+
+ + + + diff --git a/SFML/doc/html/Joystick_8hpp_source.html b/SFML/doc/html/Joystick_8hpp_source.html new file mode 100644 index 0000000..1e4a7de --- /dev/null +++ b/SFML/doc/html/Joystick_8hpp_source.html @@ -0,0 +1,71 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Joystick.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_JOYSTICK_HPP
26 #define SFML_JOYSTICK_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <SFML/System/String.hpp>
33 
34 
35 namespace sf
36 {
41 class SFML_WINDOW_API Joystick
42 {
43 public:
44 
49  enum
50  {
51  Count = 8,
52  ButtonCount = 32,
53  AxisCount = 8
54  };
55 
60  enum Axis
61  {
62  X,
63  Y,
64  Z,
65  R,
66  U,
67  V,
68  PovX,
69  PovY
70  };
71 
76  struct SFML_WINDOW_API Identification
77  {
79 
81  unsigned int vendorId;
82  unsigned int productId;
83  };
84 
93  static bool isConnected(unsigned int joystick);
94 
105  static unsigned int getButtonCount(unsigned int joystick);
106 
118  static bool hasAxis(unsigned int joystick, Axis axis);
119 
131  static bool isButtonPressed(unsigned int joystick, unsigned int button);
132 
144  static float getAxisPosition(unsigned int joystick, Axis axis);
145 
154  static Identification getIdentification(unsigned int joystick);
155 
165  static void update();
166 };
167 
168 } // namespace sf
169 
170 
171 #endif // SFML_JOYSTICK_HPP
172 
173 
The Y axis.
Definition: Joystick.hpp:63
+
The X axis of the point-of-view hat.
Definition: Joystick.hpp:68
+
Give access to the real-time state of the joysticks.
Definition: Joystick.hpp:41
+
Axis
Axes supported by SFML joysticks.
Definition: Joystick.hpp:60
+
unsigned int productId
Product identifier.
Definition: Joystick.hpp:82
+
Structure holding a joystick&#39;s identification.
Definition: Joystick.hpp:76
+
The X axis.
Definition: Joystick.hpp:62
+
The R axis.
Definition: Joystick.hpp:65
+
unsigned int vendorId
Manufacturer identifier.
Definition: Joystick.hpp:81
+
The U axis.
Definition: Joystick.hpp:66
+
String name
Name of the joystick.
Definition: Joystick.hpp:80
+ +
The V axis.
Definition: Joystick.hpp:67
+
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:45
+
The Z axis.
Definition: Joystick.hpp:64
+
+ + + + diff --git a/SFML/doc/html/Keyboard_8hpp_source.html b/SFML/doc/html/Keyboard_8hpp_source.html new file mode 100644 index 0000000..ebd46c5 --- /dev/null +++ b/SFML/doc/html/Keyboard_8hpp_source.html @@ -0,0 +1,160 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Keyboard.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_KEYBOARD_HPP
26 #define SFML_KEYBOARD_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 
33 
34 namespace sf
35 {
40 class SFML_WINDOW_API Keyboard
41 {
42 public:
43 
48  enum Key
49  {
50  Unknown = -1,
51  A = 0,
52  B,
53  C,
54  D,
55  E,
56  F,
57  G,
58  H,
59  I,
60  J,
61  K,
62  L,
63  M,
64  N,
65  O,
66  P,
67  Q,
68  R,
69  S,
70  T,
71  U,
72  V,
73  W,
74  X,
75  Y,
76  Z,
77  Num0,
78  Num1,
79  Num2,
80  Num3,
81  Num4,
82  Num5,
83  Num6,
84  Num7,
85  Num8,
86  Num9,
90  LAlt,
94  RAlt,
96  Menu,
111  Tab,
114  End,
118  Add,
124  Up,
136  F1,
137  F2,
138  F3,
139  F4,
140  F5,
141  F6,
142  F7,
143  F8,
144  F9,
145  F10,
146  F11,
147  F12,
148  F13,
149  F14,
150  F15,
152 
154 
155  // Deprecated values:
156 
157  Dash = Hyphen,
158  BackSpace = Backspace,
159  BackSlash = Backslash,
160  SemiColon = Semicolon,
161  Return = Enter
162  };
163 
172  static bool isKeyPressed(Key key);
173 
187  static void setVirtualKeyboardVisible(bool visible);
188 };
189 
190 } // namespace sf
191 
192 
193 #endif // SFML_KEYBOARD_HPP
194 
195 
The Backspace key.
Definition: Keyboard.hpp:110
+
The J key.
Definition: Keyboard.hpp:60
+
The F14 key.
Definition: Keyboard.hpp:149
+
The left Alt key.
Definition: Keyboard.hpp:90
+
The F7 key.
Definition: Keyboard.hpp:142
+
Keep last – the total number of keyboard keys.
Definition: Keyboard.hpp:153
+
The &#39; key.
Definition: Keyboard.hpp:102
+
The F key.
Definition: Keyboard.hpp:56
+
The K key.
Definition: Keyboard.hpp:61
+
The numpad 0 key.
Definition: Keyboard.hpp:126
+
The Enter/Return keys.
Definition: Keyboard.hpp:109
+
The numpad 2 key.
Definition: Keyboard.hpp:128
+
Give access to the real-time state of the keyboard.
Definition: Keyboard.hpp:40
+
The H key.
Definition: Keyboard.hpp:58
+
The numpad 6 key.
Definition: Keyboard.hpp:132
+
The left Control key.
Definition: Keyboard.hpp:88
+
The Space key.
Definition: Keyboard.hpp:108
+
The Q key.
Definition: Keyboard.hpp:67
+
The Y key.
Definition: Keyboard.hpp:75
+
The Menu key.
Definition: Keyboard.hpp:96
+
The G key.
Definition: Keyboard.hpp:57
+ +
The 5 key.
Definition: Keyboard.hpp:82
+
The X key.
Definition: Keyboard.hpp:74
+
The Page down key.
Definition: Keyboard.hpp:113
+
The right Control key.
Definition: Keyboard.hpp:92
+
The V key.
Definition: Keyboard.hpp:72
+ +
Left arrow.
Definition: Keyboard.hpp:122
+
The 0 key.
Definition: Keyboard.hpp:77
+ + +
The F2 key.
Definition: Keyboard.hpp:137
+
The Z key.
Definition: Keyboard.hpp:76
+
The P key.
Definition: Keyboard.hpp:66
+
Right arrow.
Definition: Keyboard.hpp:123
+
The M key.
Definition: Keyboard.hpp:63
+
The F4 key.
Definition: Keyboard.hpp:139
+
The + key.
Definition: Keyboard.hpp:118
+
The Home key.
Definition: Keyboard.hpp:115
+
The 8 key.
Definition: Keyboard.hpp:85
+ +
The numpad 1 key.
Definition: Keyboard.hpp:127
+
The left Shift key.
Definition: Keyboard.hpp:89
+
The left OS specific key: window (Windows and Linux), apple (MacOS X), ...
Definition: Keyboard.hpp:91
+
The Escape key.
Definition: Keyboard.hpp:87
+
The 3 key.
Definition: Keyboard.hpp:80
+
The F12 key.
Definition: Keyboard.hpp:147
+
The U key.
Definition: Keyboard.hpp:71
+
The 6 key.
Definition: Keyboard.hpp:83
+
The numpad 5 key.
Definition: Keyboard.hpp:131
+
The right Alt key.
Definition: Keyboard.hpp:94
+
The numpad 8 key.
Definition: Keyboard.hpp:134
+
The N key.
Definition: Keyboard.hpp:64
+
Key
Key codes.
Definition: Keyboard.hpp:48
+
The S key.
Definition: Keyboard.hpp:69
+
The F13 key.
Definition: Keyboard.hpp:148
+
The F10 key.
Definition: Keyboard.hpp:145
+
The W key.
Definition: Keyboard.hpp:73
+
The F3 key.
Definition: Keyboard.hpp:138
+ +
The F6 key.
Definition: Keyboard.hpp:141
+
The 2 key.
Definition: Keyboard.hpp:79
+
The 1 key.
Definition: Keyboard.hpp:78
+
The R key.
Definition: Keyboard.hpp:68
+ +
The right OS specific key: window (Windows and Linux), apple (MacOS X), ...
Definition: Keyboard.hpp:95
+
The Pause key.
Definition: Keyboard.hpp:151
+
Down arrow.
Definition: Keyboard.hpp:125
+
The B key.
Definition: Keyboard.hpp:52
+ +
The Tabulation key.
Definition: Keyboard.hpp:111
+
The F8 key.
Definition: Keyboard.hpp:143
+ + +
The numpad 4 key.
Definition: Keyboard.hpp:130
+
The T key.
Definition: Keyboard.hpp:70
+
The F5 key.
Definition: Keyboard.hpp:140
+
The F15 key.
Definition: Keyboard.hpp:150
+ + +
The Delete key.
Definition: Keyboard.hpp:117
+
The numpad 9 key.
Definition: Keyboard.hpp:135
+
The F11 key.
Definition: Keyboard.hpp:146
+
The Insert key.
Definition: Keyboard.hpp:116
+
The O key.
Definition: Keyboard.hpp:65
+
The End key.
Definition: Keyboard.hpp:114
+
The 4 key.
Definition: Keyboard.hpp:81
+
The numpad 7 key.
Definition: Keyboard.hpp:133
+
The right Shift key.
Definition: Keyboard.hpp:93
+
The C key.
Definition: Keyboard.hpp:53
+
The 9 key.
Definition: Keyboard.hpp:86
+
The F1 key.
Definition: Keyboard.hpp:136
+
The D key.
Definition: Keyboard.hpp:54
+
The - key (hyphen)
Definition: Keyboard.hpp:107
+
The L key.
Definition: Keyboard.hpp:62
+
The - key (minus, usually from numpad)
Definition: Keyboard.hpp:119
+
The Page up key.
Definition: Keyboard.hpp:112
+
The F9 key.
Definition: Keyboard.hpp:144
+
The numpad 3 key.
Definition: Keyboard.hpp:129
+
The 7 key.
Definition: Keyboard.hpp:84
+
The I key.
Definition: Keyboard.hpp:59
+
Up arrow.
Definition: Keyboard.hpp:124
+
The E key.
Definition: Keyboard.hpp:55
+
+ + + + diff --git a/SFML/doc/html/Listener_8hpp_source.html b/SFML/doc/html/Listener_8hpp_source.html new file mode 100644 index 0000000..ef1595d --- /dev/null +++ b/SFML/doc/html/Listener_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Listener.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_LISTENER_HPP
26 #define SFML_LISTENER_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/System/Vector3.hpp>
33 
34 
35 namespace sf
36 {
42 class SFML_AUDIO_API Listener
43 {
44 public:
45 
58  static void setGlobalVolume(float volume);
59 
68  static float getGlobalVolume();
69 
82  static void setPosition(float x, float y, float z);
83 
94  static void setPosition(const Vector3f& position);
95 
104  static Vector3f getPosition();
105 
123  static void setDirection(float x, float y, float z);
124 
140  static void setDirection(const Vector3f& direction);
141 
150  static Vector3f getDirection();
151 
169  static void setUpVector(float x, float y, float z);
170 
186  static void setUpVector(const Vector3f& upVector);
187 
196  static Vector3f getUpVector();
197 };
198 
199 } // namespace sf
200 
201 
202 #endif // SFML_LISTENER_HPP
203 
204 
Utility template class for manipulating 3-dimensional vectors.
Definition: Vector3.hpp:37
+
The audio listener is the point in the scene from where all the sounds are heard. ...
Definition: Listener.hpp:42
+ +
+ + + + diff --git a/SFML/doc/html/Lock_8hpp_source.html b/SFML/doc/html/Lock_8hpp_source.html new file mode 100644 index 0000000..62f1ac9 --- /dev/null +++ b/SFML/doc/html/Lock_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Lock.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_LOCK_HPP
26 #define SFML_LOCK_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 #include <SFML/System/NonCopyable.hpp>
33 
34 
35 namespace sf
36 {
37 class Mutex;
38 
43 class SFML_SYSTEM_API Lock : NonCopyable
44 {
45 public:
46 
55  explicit Lock(Mutex& mutex);
56 
63  ~Lock();
64 
65 private:
66 
68  // Member data
70  Mutex& m_mutex;
71 };
72 
73 } // namespace sf
74 
75 
76 #endif // SFML_LOCK_HPP
77 
78 
Blocks concurrent access to shared resources from multiple threads.
Definition: Mutex.hpp:47
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
Automatic wrapper for locking and unlocking mutexes.
Definition: Lock.hpp:43
+
+ + + + diff --git a/SFML/doc/html/Main_8hpp_source.html b/SFML/doc/html/Main_8hpp_source.html new file mode 100644 index 0000000..6279c1f --- /dev/null +++ b/SFML/doc/html/Main_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Main.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_MAIN_HPP
26 #define SFML_MAIN_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 
33 
34 #if defined(SFML_SYSTEM_IOS)
35 
36  // On iOS, we have no choice but to have our own main,
37  // so we need to rename the user one and call it later
38  #define main sfmlMain
39 
40 #endif
41 
42 
43 #endif // SFML_MAIN_HPP
+ + + + diff --git a/SFML/doc/html/MemoryInputStream_8hpp_source.html b/SFML/doc/html/MemoryInputStream_8hpp_source.html new file mode 100644 index 0000000..6c8648b --- /dev/null +++ b/SFML/doc/html/MemoryInputStream_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
MemoryInputStream.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_MEMORYINPUTSTREAM_HPP
26 #define SFML_MEMORYINPUTSTREAM_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 #include <SFML/System/InputStream.hpp>
33 #include <SFML/System/Export.hpp>
34 #include <cstdlib>
35 
36 
37 namespace sf
38 {
43 class SFML_SYSTEM_API MemoryInputStream : public InputStream
44 {
45 public:
46 
52 
60  void open(const void* data, std::size_t sizeInBytes);
61 
74  virtual Int64 read(void* data, Int64 size);
75 
84  virtual Int64 seek(Int64 position);
85 
92  virtual Int64 tell();
93 
100  virtual Int64 getSize();
101 
102 private:
103 
105  // Member data
107  const char* m_data;
108  Int64 m_size;
109  Int64 m_offset;
110 };
111 
112 } // namespace sf
113 
114 
115 #endif // SFML_MEMORYINPUTSTREAM_HPP
116 
117 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Implementation of input stream based on a memory chunk.
+ +
+ + + + diff --git a/SFML/doc/html/Mouse_8hpp_source.html b/SFML/doc/html/Mouse_8hpp_source.html new file mode 100644 index 0000000..40e99e7 --- /dev/null +++ b/SFML/doc/html/Mouse_8hpp_source.html @@ -0,0 +1,68 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Mouse.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_MOUSE_HPP
26 #define SFML_MOUSE_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <SFML/System/Vector2.hpp>
33 
34 
35 namespace sf
36 {
37 class Window;
38 
43 class SFML_WINDOW_API Mouse
44 {
45 public:
46 
51  enum Button
52  {
53  Left,
58 
59  ButtonCount
60  };
61 
66  enum Wheel
67  {
69  HorizontalWheel
70  };
71 
80  static bool isButtonPressed(Button button);
81 
91  static Vector2i getPosition();
92 
104  static Vector2i getPosition(const Window& relativeTo);
105 
115  static void setPosition(const Vector2i& position);
116 
127  static void setPosition(const Vector2i& position, const Window& relativeTo);
128 };
129 
130 } // namespace sf
131 
132 
133 #endif // SFML_MOUSE_HPP
134 
135 
The vertical mouse wheel.
Definition: Mouse.hpp:68
+
Window that serves as a target for OpenGL rendering.
+
The first extra mouse button.
Definition: Mouse.hpp:56
+
Give access to the real-time state of the mouse.
Definition: Mouse.hpp:43
+
The middle (wheel) mouse button.
Definition: Mouse.hpp:55
+
The left mouse button.
Definition: Mouse.hpp:53
+
The right mouse button.
Definition: Mouse.hpp:54
+
Wheel
Mouse wheels.
Definition: Mouse.hpp:66
+
Button
Mouse buttons.
Definition: Mouse.hpp:51
+ +
Utility template class for manipulating 2-dimensional vectors.
Definition: Vector2.hpp:37
+
The second extra mouse button.
Definition: Mouse.hpp:57
+
+ + + + diff --git a/SFML/doc/html/Music_8hpp_source.html b/SFML/doc/html/Music_8hpp_source.html new file mode 100644 index 0000000..1070211 --- /dev/null +++ b/SFML/doc/html/Music_8hpp_source.html @@ -0,0 +1,69 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Music.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_MUSIC_HPP
26 #define SFML_MUSIC_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/Audio/SoundStream.hpp>
33 #include <SFML/Audio/InputSoundFile.hpp>
34 #include <SFML/System/Mutex.hpp>
35 #include <SFML/System/Time.hpp>
36 #include <string>
37 #include <vector>
38 
39 
40 namespace sf
41 {
42 class InputStream;
43 
48 class SFML_AUDIO_API Music : public SoundStream
49 {
50 public:
51 
56  template <typename T>
57  struct Span
58  {
63  Span()
64  {
65 
66  }
67 
75  Span(T off, T len):
76  offset(off),
77  length(len)
78  {
79 
80  }
81 
82  T offset;
83  T length;
84  };
85 
86  // Define the relevant Span types
87  typedef Span<Time> TimeSpan;
88 
93  Music();
94 
99  ~Music();
100 
120  bool openFromFile(const std::string& filename);
121 
143  bool openFromMemory(const void* data, std::size_t sizeInBytes);
144 
164  bool openFromStream(InputStream& stream);
165 
172  Time getDuration() const;
173 
189  TimeSpan getLoopPoints() const;
190 
211  void setLoopPoints(TimeSpan timePoints);
212 
213 protected:
214 
226  virtual bool onGetData(Chunk& data);
227 
234  virtual void onSeek(Time timeOffset);
235 
246  virtual Int64 onLoop();
247 
248 private:
249 
254  void initialize();
255 
264  Uint64 timeToSamples(Time position) const;
265 
274  Time samplesToTime(Uint64 samples) const;
275 
277  // Member data
279  InputSoundFile m_file;
280  std::vector<Int16> m_samples;
281  Mutex m_mutex;
282  Span<Uint64> m_loopSpan;
283 };
284 
285 } // namespace sf
286 
287 
288 #endif // SFML_MUSIC_HPP
289 
290 
Structure defining a chunk of audio data to stream.
Definition: SoundStream.hpp:53
+
Blocks concurrent access to shared resources from multiple threads.
Definition: Mutex.hpp:47
+
Streamed music played from an audio file.
Definition: Music.hpp:48
+
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Represents a time value.
Definition: Time.hpp:40
+
Provide read access to sound files.
+
Abstract base class for streamed audio sources.
Definition: SoundStream.hpp:45
+
Span()
Default constructor.
Definition: Music.hpp:63
+
T length
The length of the time range.
Definition: Music.hpp:83
+
Structure defining a time range using the template type.
Definition: Music.hpp:57
+ +
T offset
The beginning offset of the time range.
Definition: Music.hpp:82
+
Span(T off, T len)
Initialization constructor.
Definition: Music.hpp:75
+
+ + + + diff --git a/SFML/doc/html/Mutex_8hpp_source.html b/SFML/doc/html/Mutex_8hpp_source.html new file mode 100644 index 0000000..44a1e11 --- /dev/null +++ b/SFML/doc/html/Mutex_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Mutex.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_MUTEX_HPP
26 #define SFML_MUTEX_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 #include <SFML/System/NonCopyable.hpp>
33 
34 
35 namespace sf
36 {
37 namespace priv
38 {
39  class MutexImpl;
40 }
41 
47 class SFML_SYSTEM_API Mutex : NonCopyable
48 {
49 public:
50 
55  Mutex();
56 
61  ~Mutex();
62 
73  void lock();
74 
81  void unlock();
82 
83 private:
84 
86  // Member data
88  priv::MutexImpl* m_mutexImpl;
89 };
90 
91 } // namespace sf
92 
93 
94 #endif // SFML_MUTEX_HPP
95 
96 
Blocks concurrent access to shared resources from multiple threads.
Definition: Mutex.hpp:47
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
+ + + + diff --git a/SFML/doc/html/NativeActivity_8hpp_source.html b/SFML/doc/html/NativeActivity_8hpp_source.html new file mode 100644 index 0000000..60bc46d --- /dev/null +++ b/SFML/doc/html/NativeActivity_8hpp_source.html @@ -0,0 +1,58 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
NativeActivity.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_NATIVEACTIVITY_HPP
26 #define SFML_NATIVEACTIVITY_HPP
27 
28 
30 // Headers
32 #include <SFML/System/Export.hpp>
33 
34 
35 #if !defined(SFML_SYSTEM_ANDROID)
36 #error NativeActivity.hpp: This header is Android only.
37 #endif
38 
39 
40 struct ANativeActivity;
41 
42 namespace sf
43 {
57 SFML_SYSTEM_API ANativeActivity* getNativeActivity();
58 
59 } // namespace sf
60 
61 
62 #endif // SFML_NATIVEACTIVITY_HPP
+
ANativeActivity * getNativeActivity()
Return a pointer to the Android native activity.
+
+ + + + diff --git a/SFML/doc/html/Network_2Export_8hpp_source.html b/SFML/doc/html/Network_2Export_8hpp_source.html new file mode 100644 index 0000000..c81d8c8 --- /dev/null +++ b/SFML/doc/html/Network_2Export_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Network/Export.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_NETWORK_EXPORT_HPP
26 #define SFML_NETWORK_EXPORT_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 
33 
35 // Define portable import / export macros
37 #if defined(SFML_NETWORK_EXPORTS)
38 
39  #define SFML_NETWORK_API SFML_API_EXPORT
40 
41 #else
42 
43  #define SFML_NETWORK_API SFML_API_IMPORT
44 
45 #endif
46 
47 
48 #endif // SFML_NETWORK_EXPORT_HPP
+ + + + diff --git a/SFML/doc/html/Network_8hpp_source.html b/SFML/doc/html/Network_8hpp_source.html new file mode 100644 index 0000000..2c92f74 --- /dev/null +++ b/SFML/doc/html/Network_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Network.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_NETWORK_HPP
26 #define SFML_NETWORK_HPP
27 
29 // Headers
31 
32 #include <SFML/System.hpp>
33 #include <SFML/Network/Ftp.hpp>
34 #include <SFML/Network/Http.hpp>
35 #include <SFML/Network/IpAddress.hpp>
36 #include <SFML/Network/Packet.hpp>
37 #include <SFML/Network/Socket.hpp>
38 #include <SFML/Network/SocketHandle.hpp>
39 #include <SFML/Network/SocketSelector.hpp>
40 #include <SFML/Network/TcpListener.hpp>
41 #include <SFML/Network/TcpSocket.hpp>
42 #include <SFML/Network/UdpSocket.hpp>
43 
44 
45 #endif // SFML_NETWORK_HPP
46 
+ + + + diff --git a/SFML/doc/html/NonCopyable_8hpp_source.html b/SFML/doc/html/NonCopyable_8hpp_source.html new file mode 100644 index 0000000..854e164 --- /dev/null +++ b/SFML/doc/html/NonCopyable_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
NonCopyable.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_NONCOPYABLE_HPP
26 #define SFML_NONCOPYABLE_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 
33 
34 namespace sf
35 {
41 class SFML_SYSTEM_API NonCopyable
42 {
43 protected:
44 
54 
64 
65 private:
66 
77  NonCopyable(const NonCopyable&);
78 
89  NonCopyable& operator =(const NonCopyable&);
90 };
91 
92 } // namespace sf
93 
94 
95 #endif // SFML_NONCOPYABLE_HPP
96 
97 
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
NonCopyable()
Default constructor.
Definition: NonCopyable.hpp:53
+
~NonCopyable()
Default destructor.
Definition: NonCopyable.hpp:63
+
+ + + + diff --git a/SFML/doc/html/OpenGL_8hpp_source.html b/SFML/doc/html/OpenGL_8hpp_source.html new file mode 100644 index 0000000..fca5f21 --- /dev/null +++ b/SFML/doc/html/OpenGL_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
OpenGL.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_OPENGL_HPP
26 #define SFML_OPENGL_HPP
27 
28 
32 #include <SFML/Config.hpp>
33 
34 
39 #if defined(SFML_SYSTEM_WINDOWS)
40 
41  // The Visual C++ version of gl.h uses WINGDIAPI and APIENTRY but doesn't define them
42  #ifdef _MSC_VER
43  #include <windows.h>
44  #endif
45 
46  #include <GL/gl.h>
47 
48 #elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD) || defined(SFML_SYSTEM_OPENBSD)
49 
50  #if defined(SFML_OPENGL_ES)
51  #include <GLES/gl.h>
52  #include <GLES/glext.h>
53  #else
54  #include <GL/gl.h>
55  #endif
56 
57 #elif defined(SFML_SYSTEM_MACOS)
58 
59  #include <OpenGL/gl.h>
60 
61 #elif defined (SFML_SYSTEM_IOS)
62 
63  #include <OpenGLES/ES1/gl.h>
64  #include <OpenGLES/ES1/glext.h>
65 
66 #elif defined (SFML_SYSTEM_ANDROID)
67 
68  #include <GLES/gl.h>
69  #include <GLES/glext.h>
70 
71  // We're not using OpenGL ES 2+ yet, but we can use the sRGB extension
72  #include <GLES2/gl2platform.h>
73  #include <GLES2/gl2ext.h>
74 
75 #endif
76 
77 
78 #endif // SFML_OPENGL_HPP
+ + + + diff --git a/SFML/doc/html/OutputSoundFile_8hpp_source.html b/SFML/doc/html/OutputSoundFile_8hpp_source.html new file mode 100644 index 0000000..8deab6e --- /dev/null +++ b/SFML/doc/html/OutputSoundFile_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
OutputSoundFile.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_OUTPUTSOUNDFILE_HPP
26 #define SFML_OUTPUTSOUNDFILE_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/System/NonCopyable.hpp>
33 #include <string>
34 
35 
36 namespace sf
37 {
38 class SoundFileWriter;
39 
44 class SFML_AUDIO_API OutputSoundFile : NonCopyable
45 {
46 public:
47 
53 
60  ~OutputSoundFile();
61 
74  bool openFromFile(const std::string& filename, unsigned int sampleRate, unsigned int channelCount);
75 
83  void write(const Int16* samples, Uint64 count);
84 
85 private:
86 
91  void close();
92 
94  // Member data
96  SoundFileWriter* m_writer;
97 };
98 
99 } // namespace sf
100 
101 
102 #endif // SFML_OUTPUTSOUNDFILE_HPP
103 
104 
Provide write access to sound files.
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
Abstract base class for sound file encoding.
+
+ + + + diff --git a/SFML/doc/html/Packet_8hpp_source.html b/SFML/doc/html/Packet_8hpp_source.html new file mode 100644 index 0000000..c04c1e2 --- /dev/null +++ b/SFML/doc/html/Packet_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Packet.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_PACKET_HPP
26 #define SFML_PACKET_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <string>
33 #include <vector>
34 
35 
36 namespace sf
37 {
38 class String;
39 class TcpSocket;
40 class UdpSocket;
41 
47 class SFML_NETWORK_API Packet
48 {
49  // A bool-like type that cannot be converted to integer or pointer types
50  typedef bool (Packet::*BoolType)(std::size_t);
51 
52 public:
53 
60  Packet();
61 
66  virtual ~Packet();
67 
77  void append(const void* data, std::size_t sizeInBytes);
78 
87  void clear();
88 
102  const void* getData() const;
103 
115  std::size_t getDataSize() const;
116 
129  bool endOfPacket() const;
130 
131 public:
132 
171  operator BoolType() const;
172 
177  Packet& operator >>(bool& data);
178 
182  Packet& operator >>(Int8& data);
183 
187  Packet& operator >>(Uint8& data);
188 
192  Packet& operator >>(Int16& data);
193 
197  Packet& operator >>(Uint16& data);
198 
202  Packet& operator >>(Int32& data);
203 
207  Packet& operator >>(Uint32& data);
208 
212  Packet& operator >>(Int64& data);
213 
217  Packet& operator >>(Uint64& data);
218 
222  Packet& operator >>(float& data);
223 
227  Packet& operator >>(double& data);
228 
232  Packet& operator >>(char* data);
233 
237  Packet& operator >>(std::string& data);
238 
242  Packet& operator >>(wchar_t* data);
243 
247  Packet& operator >>(std::wstring& data);
248 
252  Packet& operator >>(String& data);
253 
258  Packet& operator <<(bool data);
259 
263  Packet& operator <<(Int8 data);
264 
268  Packet& operator <<(Uint8 data);
269 
273  Packet& operator <<(Int16 data);
274 
278  Packet& operator <<(Uint16 data);
279 
283  Packet& operator <<(Int32 data);
284 
288  Packet& operator <<(Uint32 data);
289 
293  Packet& operator <<(Int64 data);
294 
298  Packet& operator <<(Uint64 data);
299 
303  Packet& operator <<(float data);
304 
308  Packet& operator <<(double data);
309 
313  Packet& operator <<(const char* data);
314 
318  Packet& operator <<(const std::string& data);
319 
323  Packet& operator <<(const wchar_t* data);
324 
328  Packet& operator <<(const std::wstring& data);
329 
333  Packet& operator <<(const String& data);
334 
335 protected:
336 
337  friend class TcpSocket;
338  friend class UdpSocket;
339 
358  virtual const void* onSend(std::size_t& size);
359 
377  virtual void onReceive(const void* data, std::size_t size);
378 
379 private:
380 
385  bool operator ==(const Packet& right) const;
386  bool operator !=(const Packet& right) const;
387 
398  bool checkSize(std::size_t size);
399 
401  // Member data
403  std::vector<char> m_data;
404  std::size_t m_readPos;
405  std::size_t m_sendPos;
406  bool m_isValid;
407 };
408 
409 } // namespace sf
410 
411 
412 #endif // SFML_PACKET_HPP
413 
414 
Specialized socket using the UDP protocol.
Definition: UdpSocket.hpp:45
+
Utility class to build blocks of data to transfer over the network.
Definition: Packet.hpp:47
+
Specialized socket using the TCP protocol.
Definition: TcpSocket.hpp:46
+ +
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:45
+
+ + + + diff --git a/SFML/doc/html/PrimitiveType_8hpp_source.html b/SFML/doc/html/PrimitiveType_8hpp_source.html new file mode 100644 index 0000000..ece954a --- /dev/null +++ b/SFML/doc/html/PrimitiveType_8hpp_source.html @@ -0,0 +1,68 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
PrimitiveType.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_PRIMITIVETYPE_HPP
26 #define SFML_PRIMITIVETYPE_HPP
27 
28 namespace sf
29 {
40 {
48 
49  // Deprecated names
53 };
54 
55 } // namespace sf
56 
57 
58 #endif // SFML_PRIMITIVETYPE_HPP
PrimitiveType
Types of primitives that a sf::VertexArray can render.
+ +
List of individual triangles.
+ +
List of individual quads (deprecated, don&#39;t work with OpenGL ES)
+
List of individual points.
+ +
List of connected triangles, a point uses the two previous points to form a triangle.
+
List of individual lines.
+ +
List of connected triangles, a point uses the common center and the previous point to form a triangle...
+
List of connected lines, a point uses the previous point to form a line.
+
+ + + + diff --git a/SFML/doc/html/Rect_8hpp_source.html b/SFML/doc/html/Rect_8hpp_source.html new file mode 100644 index 0000000..5787542 --- /dev/null +++ b/SFML/doc/html/Rect_8hpp_source.html @@ -0,0 +1,66 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Rect.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_RECT_HPP
26 #define SFML_RECT_HPP
27 
29 // Headers
31 #include <SFML/System/Vector2.hpp>
32 #include <algorithm>
33 
34 
35 namespace sf
36 {
41 template <typename T>
42 class Rect
43 {
44 public:
45 
53  Rect();
54 
67  Rect(T rectLeft, T rectTop, T rectWidth, T rectHeight);
68 
79  Rect(const Vector2<T>& position, const Vector2<T>& size);
80 
92  template <typename U>
93  explicit Rect(const Rect<U>& rectangle);
94 
109  bool contains(T x, T y) const;
110 
124  bool contains(const Vector2<T>& point) const;
125 
136  bool intersects(const Rect<T>& rectangle) const;
137 
152  bool intersects(const Rect<T>& rectangle, Rect<T>& intersection) const;
153 
155  // Member data
157  T left;
158  T top;
159  T width;
160  T height;
161 };
162 
175 template <typename T>
176 bool operator ==(const Rect<T>& left, const Rect<T>& right);
177 
190 template <typename T>
191 bool operator !=(const Rect<T>& left, const Rect<T>& right);
192 
193 #include <SFML/Graphics/Rect.inl>
194 
195 // Create typedefs for the most common types
196 typedef Rect<int> IntRect;
197 typedef Rect<float> FloatRect;
198 
199 } // namespace sf
200 
201 
202 #endif // SFML_RECT_HPP
203 
204 
bool contains(T x, T y) const
Check if a point is inside the rectangle&#39;s area.
+
T height
Height of the rectangle.
Definition: Rect.hpp:160
+
T width
Width of the rectangle.
Definition: Rect.hpp:159
+
Rect()
Default constructor.
+
Utility class for manipulating 2D axis aligned rectangles.
Definition: Rect.hpp:42
+ +
bool intersects(const Rect< T > &rectangle) const
Check the intersection between two rectangles.
+
Utility template class for manipulating 2-dimensional vectors.
Definition: Vector2.hpp:37
+
T top
Top coordinate of the rectangle.
Definition: Rect.hpp:158
+
T left
Left coordinate of the rectangle.
Definition: Rect.hpp:157
+
+ + + + diff --git a/SFML/doc/html/RectangleShape_8hpp_source.html b/SFML/doc/html/RectangleShape_8hpp_source.html new file mode 100644 index 0000000..0d87558 --- /dev/null +++ b/SFML/doc/html/RectangleShape_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
RectangleShape.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_RECTANGLESHAPE_HPP
26 #define SFML_RECTANGLESHAPE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Shape.hpp>
33 
34 
35 namespace sf
36 {
41 class SFML_GRAPHICS_API RectangleShape : public Shape
42 {
43 public:
44 
51  explicit RectangleShape(const Vector2f& size = Vector2f(0, 0));
52 
61  void setSize(const Vector2f& size);
62 
71  const Vector2f& getSize() const;
72 
80  virtual std::size_t getPointCount() const;
81 
95  virtual Vector2f getPoint(std::size_t index) const;
96 
97 private:
98 
100  // Member data
102  Vector2f m_size;
103 };
104 
105 } // namespace sf
106 
107 
108 #endif // SFML_RECTANGLESHAPE_HPP
109 
110 
Base class for textured shapes with outline.
Definition: Shape.hpp:44
+
Specialized shape representing a rectangle.
+ + +
+ + + + diff --git a/SFML/doc/html/RenderStates_8hpp_source.html b/SFML/doc/html/RenderStates_8hpp_source.html new file mode 100644 index 0000000..6fe417a --- /dev/null +++ b/SFML/doc/html/RenderStates_8hpp_source.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
RenderStates.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_RENDERSTATES_HPP
26 #define SFML_RENDERSTATES_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/BlendMode.hpp>
33 #include <SFML/Graphics/Transform.hpp>
34 
35 
36 namespace sf
37 {
38 class Shader;
39 class Texture;
40 
45 class SFML_GRAPHICS_API RenderStates
46 {
47 public:
48 
61  RenderStates();
62 
69  RenderStates(const BlendMode& theBlendMode);
70 
77  RenderStates(const Transform& theTransform);
78 
85  RenderStates(const Texture* theTexture);
86 
93  RenderStates(const Shader* theShader);
94 
104  RenderStates(const BlendMode& theBlendMode, const Transform& theTransform,
105  const Texture* theTexture, const Shader* theShader);
106 
108  // Static member data
110  static const RenderStates Default;
111 
113  // Member data
117  const Texture* texture;
118  const Shader* shader;
119 };
120 
121 } // namespace sf
122 
123 
124 #endif // SFML_RENDERSTATES_HPP
125 
126 
const Shader * shader
Shader.
+
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:48
+
const Texture * texture
Texture.
+
Define the states used for drawing to a RenderTarget.
+
BlendMode blendMode
Blending mode.
+
Transform transform
Transform.
+
Blending modes for drawing.
Definition: BlendMode.hpp:41
+
Define a 3x3 transform matrix.
Definition: Transform.hpp:42
+ +
Shader class (vertex, geometry and fragment)
Definition: Shader.hpp:52
+
static const RenderStates Default
Special instance holding the default render states.
+
+ + + + diff --git a/SFML/doc/html/RenderTarget_8hpp_source.html b/SFML/doc/html/RenderTarget_8hpp_source.html new file mode 100644 index 0000000..67db3ad --- /dev/null +++ b/SFML/doc/html/RenderTarget_8hpp_source.html @@ -0,0 +1,73 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
RenderTarget.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_RENDERTARGET_HPP
26 #define SFML_RENDERTARGET_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Color.hpp>
33 #include <SFML/Graphics/Rect.hpp>
34 #include <SFML/Graphics/View.hpp>
35 #include <SFML/Graphics/Transform.hpp>
36 #include <SFML/Graphics/BlendMode.hpp>
37 #include <SFML/Graphics/RenderStates.hpp>
38 #include <SFML/Graphics/PrimitiveType.hpp>
39 #include <SFML/Graphics/Vertex.hpp>
40 #include <SFML/System/NonCopyable.hpp>
41 
42 
43 namespace sf
44 {
45 class Drawable;
46 class VertexBuffer;
47 
52 class SFML_GRAPHICS_API RenderTarget : NonCopyable
53 {
54 public:
55 
60  virtual ~RenderTarget();
61 
71  void clear(const Color& color = Color(0, 0, 0, 255));
72 
92  void setView(const View& view);
93 
102  const View& getView() const;
103 
115  const View& getDefaultView() const;
116 
130  IntRect getViewport(const View& view) const;
131 
150  Vector2f mapPixelToCoords(const Vector2i& point) const;
151 
181  Vector2f mapPixelToCoords(const Vector2i& point, const View& view) const;
182 
201  Vector2i mapCoordsToPixel(const Vector2f& point) const;
202 
228  Vector2i mapCoordsToPixel(const Vector2f& point, const View& view) const;
229 
237  void draw(const Drawable& drawable, const RenderStates& states = RenderStates::Default);
238 
248  void draw(const Vertex* vertices, std::size_t vertexCount,
249  PrimitiveType type, const RenderStates& states = RenderStates::Default);
250 
258  void draw(const VertexBuffer& vertexBuffer, const RenderStates& states = RenderStates::Default);
259 
269  void draw(const VertexBuffer& vertexBuffer, std::size_t firstVertex, std::size_t vertexCount, const RenderStates& states = RenderStates::Default);
270 
277  virtual Vector2u getSize() const = 0;
278 
299  virtual bool setActive(bool active = true);
300 
333  void pushGLStates();
334 
344  void popGLStates();
345 
367  void resetGLStates();
368 
369 protected:
370 
375  RenderTarget();
376 
384  void initialize();
385 
386 private:
387 
392  void applyCurrentView();
393 
400  void applyBlendMode(const BlendMode& mode);
401 
408  void applyTransform(const Transform& transform);
409 
416  void applyTexture(const Texture* texture);
417 
424  void applyShader(const Shader* shader);
425 
433  void setupDraw(bool useVertexCache, const RenderStates& states);
434 
443  void drawPrimitives(PrimitiveType type, std::size_t firstVertex, std::size_t vertexCount);
444 
451  void cleanupDraw(const RenderStates& states);
452 
457  struct StatesCache
458  {
459  enum {VertexCacheSize = 4};
460 
461  bool enable;
462  bool glStatesSet;
463  bool viewChanged;
464  BlendMode lastBlendMode;
465  Uint64 lastTextureId;
466  bool texCoordsArrayEnabled;
467  bool useVertexCache;
468  Vertex vertexCache[VertexCacheSize];
469  };
470 
472  // Member data
474  View m_defaultView;
475  View m_view;
476  StatesCache m_cache;
477  Uint64 m_id;
478 };
479 
480 } // namespace sf
481 
482 
483 #endif // SFML_RENDERTARGET_HPP
484 
485 
PrimitiveType
Types of primitives that a sf::VertexArray can render.
+
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:48
+
Define the states used for drawing to a RenderTarget.
+
Utility class for manipulating RGBA colors.
Definition: Color.hpp:40
+
2D camera that defines what region is shown on screen
Definition: View.hpp:43
+
Blending modes for drawing.
Definition: BlendMode.hpp:41
+
Vertex buffer storage for one or more 2D primitives.
+
Define a 3x3 transform matrix.
Definition: Transform.hpp:42
+
Define a point with color and texture coordinates.
Definition: Vertex.hpp:42
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+
Base class for all render targets (window, texture, ...)
+
Abstract base class for objects that can be drawn to a render target.
Definition: Drawable.hpp:44
+ + + +
Shader class (vertex, geometry and fragment)
Definition: Shader.hpp:52
+
static const RenderStates Default
Special instance holding the default render states.
+
+ + + + diff --git a/SFML/doc/html/RenderTexture_8hpp_source.html b/SFML/doc/html/RenderTexture_8hpp_source.html new file mode 100644 index 0000000..9c69601 --- /dev/null +++ b/SFML/doc/html/RenderTexture_8hpp_source.html @@ -0,0 +1,62 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
RenderTexture.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_RENDERTEXTURE_HPP
26 #define SFML_RENDERTEXTURE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Texture.hpp>
33 #include <SFML/Graphics/RenderTarget.hpp>
34 #include <SFML/Window/ContextSettings.hpp>
35 
36 
37 namespace sf
38 {
39 namespace priv
40 {
41  class RenderTextureImpl;
42 }
43 
48 class SFML_GRAPHICS_API RenderTexture : public RenderTarget
49 {
50 public:
51 
61  RenderTexture();
62 
67  virtual ~RenderTexture();
68 
89  SFML_DEPRECATED bool create(unsigned int width, unsigned int height, bool depthBuffer);
90 
109  bool create(unsigned int width, unsigned int height, const ContextSettings& settings = ContextSettings());
110 
117  static unsigned int getMaximumAntialiasingLevel();
118 
130  void setSmooth(bool smooth);
131 
140  bool isSmooth() const;
141 
153  void setRepeated(bool repeated);
154 
163  bool isRepeated() const;
164 
179  bool generateMipmap();
180 
196  bool setActive(bool active = true);
197 
207  void display();
208 
218  virtual Vector2u getSize() const;
219 
234  const Texture& getTexture() const;
235 
236 private:
237 
239  // Member data
241  priv::RenderTextureImpl* m_impl;
242  Texture m_texture;
243 };
244 
245 } // namespace sf
246 
247 
248 #endif // SFML_RENDERTEXTURE_HPP
249 
250 
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:48
+
Target for off-screen 2D rendering into a texture.
+
Base class for all render targets (window, texture, ...)
+
Structure defining the settings of the OpenGL context attached to a window.
+ + +
+ + + + diff --git a/SFML/doc/html/RenderWindow_8hpp_source.html b/SFML/doc/html/RenderWindow_8hpp_source.html new file mode 100644 index 0000000..d23f617 --- /dev/null +++ b/SFML/doc/html/RenderWindow_8hpp_source.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
RenderWindow.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_RENDERWINDOW_HPP
26 #define SFML_RENDERWINDOW_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/RenderTarget.hpp>
33 #include <SFML/Graphics/Image.hpp>
34 #include <SFML/Window/Window.hpp>
35 #include <string>
36 
37 
38 namespace sf
39 {
44 class SFML_GRAPHICS_API RenderWindow : public Window, public RenderTarget
45 {
46 public:
47 
55  RenderWindow();
56 
76  RenderWindow(VideoMode mode, const String& title, Uint32 style = Style::Default, const ContextSettings& settings = ContextSettings());
77 
94  explicit RenderWindow(WindowHandle handle, const ContextSettings& settings = ContextSettings());
95 
102  virtual ~RenderWindow();
103 
113  virtual Vector2u getSize() const;
114 
131  bool setActive(bool active = true);
132 
158  SFML_DEPRECATED Image capture() const;
159 
160 protected:
161 
170  virtual void onCreate();
171 
179  virtual void onResize();
180 };
181 
182 } // namespace sf
183 
184 
185 #endif // SFML_RENDERWINDOW_HPP
186 
187 
Default window style.
Definition: WindowStyle.hpp:46
+
Window that serves as a target for OpenGL rendering.
+
Window that can serve as a target for 2D drawing.
+
Base class for all render targets (window, texture, ...)
+
Structure defining the settings of the OpenGL context attached to a window.
+
VideoMode defines a video mode (width, height, bpp)
Definition: VideoMode.hpp:41
+ + +
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:45
+
platform specific WindowHandle
Define a low-level window handle type, specific to each platform.
+
Class for loading, manipulating and saving images.
Definition: Image.hpp:46
+
+ + + + diff --git a/SFML/doc/html/Sensor_8hpp_source.html b/SFML/doc/html/Sensor_8hpp_source.html new file mode 100644 index 0000000..4decb96 --- /dev/null +++ b/SFML/doc/html/Sensor_8hpp_source.html @@ -0,0 +1,66 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Sensor.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SENSOR_HPP
26 #define SFML_SENSOR_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <SFML/System/Vector3.hpp>
33 #include <SFML/System/Time.hpp>
34 
35 
36 namespace sf
37 {
42 class SFML_WINDOW_API Sensor
43 {
44 public:
45 
50  enum Type
51  {
58 
59  Count
60  };
61 
70  static bool isAvailable(Type sensor);
71 
85  static void setEnabled(Type sensor, bool enabled);
86 
95  static Vector3f getValue(Type sensor);
96 };
97 
98 } // namespace sf
99 
100 
101 #endif // SFML_SENSOR_HPP
102 
103 
Give access to the real-time state of the sensors.
Definition: Sensor.hpp:42
+
Measures the raw acceleration (m/s^2)
Definition: Sensor.hpp:52
+
Type
Sensor type.
Definition: Sensor.hpp:50
+
Utility template class for manipulating 3-dimensional vectors.
Definition: Vector3.hpp:37
+
Measures the direction and intensity of device acceleration, independent of the gravity (m/s^2) ...
Definition: Sensor.hpp:56
+
Measures the raw rotation rates (degrees/s)
Definition: Sensor.hpp:53
+
Measures the ambient magnetic field (micro-teslas)
Definition: Sensor.hpp:54
+ +
Measures the absolute 3D orientation (degrees)
Definition: Sensor.hpp:57
+
Measures the direction and intensity of gravity, independent of device acceleration (m/s^2) ...
Definition: Sensor.hpp:55
+
+ + + + diff --git a/SFML/doc/html/Shader_8hpp_source.html b/SFML/doc/html/Shader_8hpp_source.html new file mode 100644 index 0000000..9394094 --- /dev/null +++ b/SFML/doc/html/Shader_8hpp_source.html @@ -0,0 +1,76 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Shader.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SHADER_HPP
26 #define SFML_SHADER_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Glsl.hpp>
33 #include <SFML/Window/GlResource.hpp>
34 #include <SFML/System/NonCopyable.hpp>
35 #include <SFML/System/Vector2.hpp>
36 #include <SFML/System/Vector3.hpp>
37 #include <map>
38 #include <string>
39 
40 
41 namespace sf
42 {
43 class Color;
44 class InputStream;
45 class Texture;
46 class Transform;
47 
52 class SFML_GRAPHICS_API Shader : GlResource, NonCopyable
53 {
54 public:
55 
60  enum Type
61  {
64  Fragment
65  };
66 
74  struct CurrentTextureType {};
75 
83 
84 public:
85 
92  Shader();
93 
98  ~Shader();
99 
119  bool loadFromFile(const std::string& filename, Type type);
120 
140  bool loadFromFile(const std::string& vertexShaderFilename, const std::string& fragmentShaderFilename);
141 
162  bool loadFromFile(const std::string& vertexShaderFilename, const std::string& geometryShaderFilename, const std::string& fragmentShaderFilename);
163 
182  bool loadFromMemory(const std::string& shader, Type type);
183 
203  bool loadFromMemory(const std::string& vertexShader, const std::string& fragmentShader);
204 
225  bool loadFromMemory(const std::string& vertexShader, const std::string& geometryShader, const std::string& fragmentShader);
226 
245  bool loadFromStream(InputStream& stream, Type type);
246 
266  bool loadFromStream(InputStream& vertexShaderStream, InputStream& fragmentShaderStream);
267 
288  bool loadFromStream(InputStream& vertexShaderStream, InputStream& geometryShaderStream, InputStream& fragmentShaderStream);
289 
297  void setUniform(const std::string& name, float x);
298 
306  void setUniform(const std::string& name, const Glsl::Vec2& vector);
307 
315  void setUniform(const std::string& name, const Glsl::Vec3& vector);
316 
333  void setUniform(const std::string& name, const Glsl::Vec4& vector);
334 
342  void setUniform(const std::string& name, int x);
343 
351  void setUniform(const std::string& name, const Glsl::Ivec2& vector);
352 
360  void setUniform(const std::string& name, const Glsl::Ivec3& vector);
361 
377  void setUniform(const std::string& name, const Glsl::Ivec4& vector);
378 
386  void setUniform(const std::string& name, bool x);
387 
395  void setUniform(const std::string& name, const Glsl::Bvec2& vector);
396 
404  void setUniform(const std::string& name, const Glsl::Bvec3& vector);
405 
413  void setUniform(const std::string& name, const Glsl::Bvec4& vector);
414 
422  void setUniform(const std::string& name, const Glsl::Mat3& matrix);
423 
431  void setUniform(const std::string& name, const Glsl::Mat4& matrix);
432 
463  void setUniform(const std::string& name, const Texture& texture);
464 
486  void setUniform(const std::string& name, CurrentTextureType);
487 
496  void setUniformArray(const std::string& name, const float* scalarArray, std::size_t length);
497 
506  void setUniformArray(const std::string& name, const Glsl::Vec2* vectorArray, std::size_t length);
507 
516  void setUniformArray(const std::string& name, const Glsl::Vec3* vectorArray, std::size_t length);
517 
526  void setUniformArray(const std::string& name, const Glsl::Vec4* vectorArray, std::size_t length);
527 
536  void setUniformArray(const std::string& name, const Glsl::Mat3* matrixArray, std::size_t length);
537 
546  void setUniformArray(const std::string& name, const Glsl::Mat4* matrixArray, std::size_t length);
547 
554  SFML_DEPRECATED void setParameter(const std::string& name, float x);
555 
562  SFML_DEPRECATED void setParameter(const std::string& name, float x, float y);
563 
570  SFML_DEPRECATED void setParameter(const std::string& name, float x, float y, float z);
571 
578  SFML_DEPRECATED void setParameter(const std::string& name, float x, float y, float z, float w);
579 
586  SFML_DEPRECATED void setParameter(const std::string& name, const Vector2f& vector);
587 
594  SFML_DEPRECATED void setParameter(const std::string& name, const Vector3f& vector);
595 
602  SFML_DEPRECATED void setParameter(const std::string& name, const Color& color);
603 
610  SFML_DEPRECATED void setParameter(const std::string& name, const Transform& transform);
611 
618  SFML_DEPRECATED void setParameter(const std::string& name, const Texture& texture);
619 
626  SFML_DEPRECATED void setParameter(const std::string& name, CurrentTextureType);
627 
638  unsigned int getNativeHandle() const;
639 
661  static void bind(const Shader* shader);
662 
673  static bool isAvailable();
674 
692  static bool isGeometryAvailable();
693 
694 private:
695 
709  bool compile(const char* vertexShaderCode, const char* geometryShaderCode, const char* fragmentShaderCode);
710 
718  void bindTextures() const;
719 
728  int getUniformLocation(const std::string& name);
729 
737  struct UniformBinder;
738 
740  // Types
742  typedef std::map<int, const Texture*> TextureTable;
743  typedef std::map<std::string, int> UniformTable;
744 
746  // Member data
748  unsigned int m_shaderProgram;
749  int m_currentTexture;
750  TextureTable m_textures;
751  UniformTable m_uniforms;
752 };
753 
754 } // namespace sf
755 
756 
757 #endif // SFML_SHADER_HPP
758 
759 
implementation defined Bvec4
4D bool vector (bvec4 in GLSL)
Definition: Glsl.hpp:130
+
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:48
+
implementation defined Ivec4
4D int vector (ivec4 in GLSL)
Definition: Glsl.hpp:124
+
implementation defined Mat4
4x4 float matrix (mat4 in GLSL)
Definition: Glsl.hpp:181
+
Utility class for manipulating RGBA colors.
Definition: Color.hpp:40
+
Utility template class for manipulating 3-dimensional vectors.
Definition: Vector3.hpp:37
+
implementation defined Vec4
4D float vector (vec4 in GLSL)
Definition: Glsl.hpp:110
+
implementation defined Mat3
3x3 float matrix (mat3 in GLSL)
Definition: Glsl.hpp:155
+
Define a 3x3 transform matrix.
Definition: Transform.hpp:42
+
Special type that can be passed to setUniform(), and that represents the texture of the object being ...
Definition: Shader.hpp:74
+
Geometry shader.
Definition: Shader.hpp:63
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+
static CurrentTextureType CurrentTexture
Represents the texture of the object being drawn.
Definition: Shader.hpp:82
+ +
Vertex shader
Definition: Shader.hpp:62
+ +
Shader class (vertex, geometry and fragment)
Definition: Shader.hpp:52
+
Base class for classes that require an OpenGL context.
Definition: GlResource.hpp:46
+
Type
Types of shaders.
Definition: Shader.hpp:60
+
+ + + + diff --git a/SFML/doc/html/Shape_8hpp_source.html b/SFML/doc/html/Shape_8hpp_source.html new file mode 100644 index 0000000..3ca83d9 --- /dev/null +++ b/SFML/doc/html/Shape_8hpp_source.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Shape.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SHAPE_HPP
26 #define SFML_SHAPE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Drawable.hpp>
33 #include <SFML/Graphics/Transformable.hpp>
34 #include <SFML/Graphics/VertexArray.hpp>
35 #include <SFML/System/Vector2.hpp>
36 
37 
38 namespace sf
39 {
44 class SFML_GRAPHICS_API Shape : public Drawable, public Transformable
45 {
46 public:
47 
52  virtual ~Shape();
53 
74  void setTexture(const Texture* texture, bool resetRect = false);
75 
88  void setTextureRect(const IntRect& rect);
89 
105  void setFillColor(const Color& color);
106 
117  void setOutlineColor(const Color& color);
118 
132  void setOutlineThickness(float thickness);
133 
146  const Texture* getTexture() const;
147 
156  const IntRect& getTextureRect() const;
157 
166  const Color& getFillColor() const;
167 
176  const Color& getOutlineColor() const;
177 
186  float getOutlineThickness() const;
187 
196  virtual std::size_t getPointCount() const = 0;
197 
213  virtual Vector2f getPoint(std::size_t index) const = 0;
214 
227  FloatRect getLocalBounds() const;
228 
248  FloatRect getGlobalBounds() const;
249 
250 protected:
251 
256  Shape();
257 
266  void update();
267 
268 private:
269 
277  virtual void draw(RenderTarget& target, RenderStates states) const;
278 
283  void updateFillColors();
284 
289  void updateTexCoords();
290 
295  void updateOutline();
296 
301  void updateOutlineColors();
302 
303 private:
304 
306  // Member data
308  const Texture* m_texture;
309  IntRect m_textureRect;
310  Color m_fillColor;
311  Color m_outlineColor;
312  float m_outlineThickness;
313  VertexArray m_vertices;
314  VertexArray m_outlineVertices;
315  FloatRect m_insideBounds;
316  FloatRect m_bounds;
317 };
318 
319 } // namespace sf
320 
321 
322 #endif // SFML_SHAPE_HPP
323 
324 
Base class for textured shapes with outline.
Definition: Shape.hpp:44
+
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:48
+
Define the states used for drawing to a RenderTarget.
+
Utility class for manipulating RGBA colors.
Definition: Color.hpp:40
+
Define a set of one or more 2D primitives.
Definition: VertexArray.hpp:45
+
Base class for all render targets (window, texture, ...)
+
Abstract base class for objects that can be drawn to a render target.
Definition: Drawable.hpp:44
+ + + +
Decomposed transform defined by a position, a rotation and a scale.
+
+ + + + diff --git a/SFML/doc/html/Sleep_8hpp_source.html b/SFML/doc/html/Sleep_8hpp_source.html new file mode 100644 index 0000000..49e24ec --- /dev/null +++ b/SFML/doc/html/Sleep_8hpp_source.html @@ -0,0 +1,58 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Sleep.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SLEEP_HPP
26 #define SFML_SLEEP_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 #include <SFML/System/Time.hpp>
33 
34 
35 namespace sf
36 {
47 void SFML_SYSTEM_API sleep(Time duration);
48 
49 } // namespace sf
50 
51 
52 #endif // SFML_SLEEP_HPP
+
void sleep(Time duration)
Make the current thread sleep for a given duration.
+
+ + + + diff --git a/SFML/doc/html/SocketHandle_8hpp_source.html b/SFML/doc/html/SocketHandle_8hpp_source.html new file mode 100644 index 0000000..618b1cf --- /dev/null +++ b/SFML/doc/html/SocketHandle_8hpp_source.html @@ -0,0 +1,57 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SocketHandle.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOCKETHANDLE_HPP
26 #define SFML_SOCKETHANDLE_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 
33 #if defined(SFML_SYSTEM_WINDOWS)
34  #include <basetsd.h>
35 #endif
36 
37 
38 namespace sf
39 {
41 // Define the low-level socket handle type, specific to
42 // each platform
44 #if defined(SFML_SYSTEM_WINDOWS)
45 
46  typedef UINT_PTR SocketHandle;
47 
48 #else
49 
50  typedef int SocketHandle;
51 
52 #endif
53 
54 } // namespace sf
55 
56 
57 #endif // SFML_SOCKETHANDLE_HPP
+
+ + + + diff --git a/SFML/doc/html/SocketSelector_8hpp_source.html b/SFML/doc/html/SocketSelector_8hpp_source.html new file mode 100644 index 0000000..5f0358e --- /dev/null +++ b/SFML/doc/html/SocketSelector_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SocketSelector.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOCKETSELECTOR_HPP
26 #define SFML_SOCKETSELECTOR_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <SFML/System/Time.hpp>
33 
34 
35 namespace sf
36 {
37 class Socket;
38 
43 class SFML_NETWORK_API SocketSelector
44 {
45 public:
46 
52 
59  SocketSelector(const SocketSelector& copy);
60 
65  ~SocketSelector();
66 
80  void add(Socket& socket);
81 
93  void remove(Socket& socket);
94 
105  void clear();
106 
123  bool wait(Time timeout = Time::Zero);
124 
142  bool isReady(Socket& socket) const;
143 
152  SocketSelector& operator =(const SocketSelector& right);
153 
154 private:
155 
156  struct SocketSelectorImpl;
157 
159  // Member data
161  SocketSelectorImpl* m_impl;
162 };
163 
164 } // namespace sf
165 
166 
167 #endif // SFML_SOCKETSELECTOR_HPP
168 
169 
Represents a time value.
Definition: Time.hpp:40
+
static const Time Zero
Predefined "zero" time value.
Definition: Time.hpp:85
+
Base class for all the socket types.
Definition: Socket.hpp:45
+
Multiplexer that allows to read from multiple sockets.
+ +
+ + + + diff --git a/SFML/doc/html/Socket_8hpp_source.html b/SFML/doc/html/Socket_8hpp_source.html new file mode 100644 index 0000000..43ea5df --- /dev/null +++ b/SFML/doc/html/Socket_8hpp_source.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Socket.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOCKET_HPP
26 #define SFML_SOCKET_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <SFML/Network/SocketHandle.hpp>
33 #include <SFML/System/NonCopyable.hpp>
34 #include <vector>
35 
36 
37 namespace sf
38 {
39 class SocketSelector;
40 
45 class SFML_NETWORK_API Socket : NonCopyable
46 {
47 public:
48 
53  enum Status
54  {
55  Done,
59  Error
60  };
61 
66  enum
67  {
68  AnyPort = 0
69  };
70 
71 public:
72 
77  virtual ~Socket();
78 
96  void setBlocking(bool blocking);
97 
106  bool isBlocking() const;
107 
108 protected:
109 
114  enum Type
115  {
116  Tcp,
117  Udp
118  };
119 
128  Socket(Type type);
129 
140  SocketHandle getHandle() const;
141 
148  void create();
149 
159  void create(SocketHandle handle);
160 
167  void close();
168 
169 private:
170 
171  friend class SocketSelector;
172 
174  // Member data
176  Type m_type;
177  SocketHandle m_socket;
178  bool m_isBlocking;
179 };
180 
181 } // namespace sf
182 
183 
184 #endif // SFML_SOCKET_HPP
185 
186 
The socket sent a part of the data.
Definition: Socket.hpp:57
+
The socket has sent / received the data.
Definition: Socket.hpp:55
+
Status
Status codes that may be returned by socket functions.
Definition: Socket.hpp:53
+
The socket is not ready to send / receive data yet.
Definition: Socket.hpp:56
+
Base class for all the socket types.
Definition: Socket.hpp:45
+
Multiplexer that allows to read from multiple sockets.
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+
TCP protocol.
Definition: Socket.hpp:116
+ +
Type
Types of protocols that the socket can use.
Definition: Socket.hpp:114
+
The TCP socket has been disconnected.
Definition: Socket.hpp:58
+
+ + + + diff --git a/SFML/doc/html/SoundBufferRecorder_8hpp_source.html b/SFML/doc/html/SoundBufferRecorder_8hpp_source.html new file mode 100644 index 0000000..be47322 --- /dev/null +++ b/SFML/doc/html/SoundBufferRecorder_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SoundBufferRecorder.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUNDBUFFERRECORDER_HPP
26 #define SFML_SOUNDBUFFERRECORDER_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/Audio/SoundBuffer.hpp>
33 #include <SFML/Audio/SoundRecorder.hpp>
34 #include <vector>
35 
36 
37 namespace sf
38 {
44 class SFML_AUDIO_API SoundBufferRecorder : public SoundRecorder
45 {
46 public:
47 
53 
65  const SoundBuffer& getBuffer() const;
66 
67 protected:
68 
75  virtual bool onStart();
76 
86  virtual bool onProcessSamples(const Int16* samples, std::size_t sampleCount);
87 
92  virtual void onStop();
93 
94 private:
95 
97  // Member data
99  std::vector<Int16> m_samples;
100  SoundBuffer m_buffer;
101 };
102 
103 } // namespace sf
104 
105 #endif // SFML_SOUNDBUFFERRECORDER_HPP
106 
107 
Specialized SoundRecorder which stores the captured audio data into a sound buffer.
+
Abstract base class for capturing sound data.
+
Storage for audio samples defining a sound.
Definition: SoundBuffer.hpp:49
+ +
+ + + + diff --git a/SFML/doc/html/SoundBuffer_8hpp_source.html b/SFML/doc/html/SoundBuffer_8hpp_source.html new file mode 100644 index 0000000..1027769 --- /dev/null +++ b/SFML/doc/html/SoundBuffer_8hpp_source.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SoundBuffer.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUNDBUFFER_HPP
26 #define SFML_SOUNDBUFFER_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/Audio/AlResource.hpp>
33 #include <SFML/System/Time.hpp>
34 #include <string>
35 #include <vector>
36 #include <set>
37 
38 
39 namespace sf
40 {
41 class Sound;
42 class InputSoundFile;
43 class InputStream;
44 
49 class SFML_AUDIO_API SoundBuffer : AlResource
50 {
51 public:
52 
57  SoundBuffer();
58 
65  SoundBuffer(const SoundBuffer& copy);
66 
71  ~SoundBuffer();
72 
86  bool loadFromFile(const std::string& filename);
87 
102  bool loadFromMemory(const void* data, std::size_t sizeInBytes);
103 
117  bool loadFromStream(InputStream& stream);
118 
135  bool loadFromSamples(const Int16* samples, Uint64 sampleCount, unsigned int channelCount, unsigned int sampleRate);
136 
150  bool saveToFile(const std::string& filename) const;
151 
164  const Int16* getSamples() const;
165 
177  Uint64 getSampleCount() const;
178 
191  unsigned int getSampleRate() const;
192 
204  unsigned int getChannelCount() const;
205 
214  Time getDuration() const;
215 
224  SoundBuffer& operator =(const SoundBuffer& right);
225 
226 private:
227 
228  friend class Sound;
229 
238  bool initialize(InputSoundFile& file);
239 
249  bool update(unsigned int channelCount, unsigned int sampleRate);
250 
257  void attachSound(Sound* sound) const;
258 
265  void detachSound(Sound* sound) const;
266 
268  // Types
270  typedef std::set<Sound*> SoundList;
271 
273  // Member data
275  unsigned int m_buffer;
276  std::vector<Int16> m_samples;
277  Time m_duration;
278  mutable SoundList m_sounds;
279 };
280 
281 } // namespace sf
282 
283 
284 #endif // SFML_SOUNDBUFFER_HPP
285 
286 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Base class for classes that require an OpenAL context.
Definition: AlResource.hpp:40
+
Represents a time value.
Definition: Time.hpp:40
+
Provide read access to sound files.
+
Regular sound that can be played in the audio environment.
Definition: Sound.hpp:45
+
Storage for audio samples defining a sound.
Definition: SoundBuffer.hpp:49
+ +
+ + + + diff --git a/SFML/doc/html/SoundFileFactory_8hpp_source.html b/SFML/doc/html/SoundFileFactory_8hpp_source.html new file mode 100644 index 0000000..cd01224 --- /dev/null +++ b/SFML/doc/html/SoundFileFactory_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SoundFileFactory.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUNDFILEFACTORY_HPP
26 #define SFML_SOUNDFILEFACTORY_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <string>
33 #include <vector>
34 
35 
36 namespace sf
37 {
38 class InputStream;
39 class SoundFileReader;
40 class SoundFileWriter;
41 
46 class SFML_AUDIO_API SoundFileFactory
47 {
48 public:
49 
56  template <typename T>
57  static void registerReader();
58 
65  template <typename T>
66  static void unregisterReader();
67 
74  template <typename T>
75  static void registerWriter();
76 
83  template <typename T>
84  static void unregisterWriter();
85 
98  static SoundFileReader* createReaderFromFilename(const std::string& filename);
99 
113  static SoundFileReader* createReaderFromMemory(const void* data, std::size_t sizeInBytes);
114 
127  static SoundFileReader* createReaderFromStream(InputStream& stream);
128 
139  static SoundFileWriter* createWriterFromFilename(const std::string& filename);
140 
141 private:
142 
144  // Types
146  struct ReaderFactory
147  {
148  bool (*check)(InputStream&);
149  SoundFileReader* (*create)();
150  };
151  typedef std::vector<ReaderFactory> ReaderFactoryArray;
152 
153  struct WriterFactory
154  {
155  bool (*check)(const std::string&);
156  SoundFileWriter* (*create)();
157  };
158  typedef std::vector<WriterFactory> WriterFactoryArray;
159 
161  // Static member data
163  static ReaderFactoryArray s_readers;
164  static WriterFactoryArray s_writers;
165 };
166 
167 } // namespace sf
168 
169 #include <SFML/Audio/SoundFileFactory.inl>
170 
171 #endif // SFML_SOUNDFILEFACTORY_HPP
172 
173 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Abstract base class for sound file decoding.
+ +
Abstract base class for sound file encoding.
+
Manages and instantiates sound file readers and writers.
+
+ + + + diff --git a/SFML/doc/html/SoundFileReader_8hpp_source.html b/SFML/doc/html/SoundFileReader_8hpp_source.html new file mode 100644 index 0000000..bf2ac09 --- /dev/null +++ b/SFML/doc/html/SoundFileReader_8hpp_source.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SoundFileReader.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUNDFILEREADER_HPP
26 #define SFML_SOUNDFILEREADER_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <string>
33 
34 
35 namespace sf
36 {
37 class InputStream;
38 
43 class SFML_AUDIO_API SoundFileReader
44 {
45 public:
46 
51  struct Info
52  {
53  Uint64 sampleCount;
54  unsigned int channelCount;
55  unsigned int sampleRate;
56  };
57 
62  virtual ~SoundFileReader() {}
63 
77  virtual bool open(InputStream& stream, Info& info) = 0;
78 
92  virtual void seek(Uint64 sampleOffset) = 0;
93 
103  virtual Uint64 read(Int16* samples, Uint64 maxCount) = 0;
104 };
105 
106 } // namespace sf
107 
108 
109 #endif // SFML_SOUNDFILEREADER_HPP
110 
111 
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
unsigned int sampleRate
Samples rate of the sound, in samples per second.
+
Abstract base class for sound file decoding.
+
unsigned int channelCount
Number of channels of the sound.
+
Structure holding the audio properties of a sound file.
+
Uint64 sampleCount
Total number of samples in the file.
+ +
virtual ~SoundFileReader()
Virtual destructor.
+
+ + + + diff --git a/SFML/doc/html/SoundFileWriter_8hpp_source.html b/SFML/doc/html/SoundFileWriter_8hpp_source.html new file mode 100644 index 0000000..d782433 --- /dev/null +++ b/SFML/doc/html/SoundFileWriter_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SoundFileWriter.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUNDFILEWRITER_HPP
26 #define SFML_SOUNDFILEWRITER_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <string>
33 
34 
35 namespace sf
36 {
41 class SFML_AUDIO_API SoundFileWriter
42 {
43 public:
44 
49  virtual ~SoundFileWriter() {}
50 
61  virtual bool open(const std::string& filename, unsigned int sampleRate, unsigned int channelCount) = 0;
62 
70  virtual void write(const Int16* samples, Uint64 count) = 0;
71 };
72 
73 } // namespace sf
74 
75 
76 #endif // SFML_SOUNDFILEWRITER_HPP
77 
78 
virtual ~SoundFileWriter()
Virtual destructor.
+ +
Abstract base class for sound file encoding.
+
+ + + + diff --git a/SFML/doc/html/SoundRecorder_8hpp_source.html b/SFML/doc/html/SoundRecorder_8hpp_source.html new file mode 100644 index 0000000..52fb615 --- /dev/null +++ b/SFML/doc/html/SoundRecorder_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SoundRecorder.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUNDRECORDER_HPP
26 #define SFML_SOUNDRECORDER_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/Audio/AlResource.hpp>
33 #include <SFML/System/Thread.hpp>
34 #include <SFML/System/Time.hpp>
35 #include <vector>
36 #include <string>
37 
38 
39 namespace sf
40 {
45 class SFML_AUDIO_API SoundRecorder : AlResource
46 {
47 public:
48 
53  virtual ~SoundRecorder();
54 
77  bool start(unsigned int sampleRate = 44100);
78 
85  void stop();
86 
97  unsigned int getSampleRate() const;
98 
108  static std::vector<std::string> getAvailableDevices();
109 
120  static std::string getDefaultDevice();
121 
137  bool setDevice(const std::string& name);
138 
145  const std::string& getDevice() const;
146 
160  void setChannelCount(unsigned int channelCount);
161 
173  unsigned int getChannelCount() const;
174 
186  static bool isAvailable();
187 
188 protected:
189 
196  SoundRecorder();
197 
214  void setProcessingInterval(Time interval);
215 
227  virtual bool onStart();
228 
243  virtual bool onProcessSamples(const Int16* samples, std::size_t sampleCount) = 0;
244 
254  virtual void onStop();
255 
256 private:
257 
265  void record();
266 
275  void processCapturedSamples();
276 
283  void cleanup();
284 
286  // Member data
288  Thread m_thread;
289  std::vector<Int16> m_samples;
290  unsigned int m_sampleRate;
291  Time m_processingInterval;
292  bool m_isCapturing;
293  std::string m_deviceName;
294  unsigned int m_channelCount;
295 };
296 
297 } // namespace sf
298 
299 
300 #endif // SFML_SOUNDRECORDER_HPP
301 
302 
Base class for classes that require an OpenAL context.
Definition: AlResource.hpp:40
+
Represents a time value.
Definition: Time.hpp:40
+
Abstract base class for capturing sound data.
+ +
Utility class to manipulate threads.
Definition: Thread.hpp:48
+
+ + + + diff --git a/SFML/doc/html/SoundSource_8hpp_source.html b/SFML/doc/html/SoundSource_8hpp_source.html new file mode 100644 index 0000000..8c87aae --- /dev/null +++ b/SFML/doc/html/SoundSource_8hpp_source.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SoundSource.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUNDSOURCE_HPP
26 #define SFML_SOUNDSOURCE_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/Audio/AlResource.hpp>
33 #include <SFML/System/Vector3.hpp>
34 
35 
36 namespace sf
37 {
42 class SFML_AUDIO_API SoundSource : AlResource
43 {
44 public:
45 
50  enum Status
51  {
54  Playing
55  };
56 
63  SoundSource(const SoundSource& copy);
64 
69  virtual ~SoundSource();
70 
85  void setPitch(float pitch);
86 
98  void setVolume(float volume);
99 
114  void setPosition(float x, float y, float z);
115 
128  void setPosition(const Vector3f& position);
129 
144  void setRelativeToListener(bool relative);
145 
161  void setMinDistance(float distance);
162 
180  void setAttenuation(float attenuation);
181 
190  float getPitch() const;
191 
200  float getVolume() const;
201 
210  Vector3f getPosition() const;
211 
221  bool isRelativeToListener() const;
222 
231  float getMinDistance() const;
232 
241  float getAttenuation() const;
242 
251  SoundSource& operator =(const SoundSource& right);
252 
263  virtual void play() = 0;
264 
274  virtual void pause() = 0;
275 
286  virtual void stop() = 0;
287 
294  virtual Status getStatus() const;
295 
296 protected:
297 
304  SoundSource();
305 
307  // Member data
309  unsigned int m_source;
310 };
311 
312 } // namespace sf
313 
314 
315 #endif // SFML_SOUNDSOURCE_HPP
316 
317 
Base class for classes that require an OpenAL context.
Definition: AlResource.hpp:40
+
Sound is not playing.
Definition: SoundSource.hpp:52
+
Utility template class for manipulating 3-dimensional vectors.
Definition: Vector3.hpp:37
+
Sound is paused.
Definition: SoundSource.hpp:53
+
unsigned int m_source
OpenAL source identifier.
+ +
Status
Enumeration of the sound source states.
Definition: SoundSource.hpp:50
+
Base class defining a sound&#39;s properties.
Definition: SoundSource.hpp:42
+
+ + + + diff --git a/SFML/doc/html/SoundStream_8hpp_source.html b/SFML/doc/html/SoundStream_8hpp_source.html new file mode 100644 index 0000000..202d7a9 --- /dev/null +++ b/SFML/doc/html/SoundStream_8hpp_source.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SoundStream.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUNDSTREAM_HPP
26 #define SFML_SOUNDSTREAM_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/Audio/SoundSource.hpp>
33 #include <SFML/System/Thread.hpp>
34 #include <SFML/System/Time.hpp>
35 #include <SFML/System/Mutex.hpp>
36 #include <cstdlib>
37 
38 
39 namespace sf
40 {
45 class SFML_AUDIO_API SoundStream : public SoundSource
46 {
47 public:
48 
53  struct Chunk
54  {
55  const Int16* samples;
56  std::size_t sampleCount;
57  };
58 
63  virtual ~SoundStream();
64 
77  void play();
78 
88  void pause();
89 
100  void stop();
101 
110  unsigned int getChannelCount() const;
111 
121  unsigned int getSampleRate() const;
122 
129  Status getStatus() const;
130 
144  void setPlayingOffset(Time timeOffset);
145 
154  Time getPlayingOffset() const;
155 
169  void setLoop(bool loop);
170 
179  bool getLoop() const;
180 
181 protected:
182 
183  enum
184  {
185  NoLoop = -1
186  };
187 
194  SoundStream();
195 
210  void initialize(unsigned int channelCount, unsigned int sampleRate);
211 
229  virtual bool onGetData(Chunk& data) = 0;
230 
240  virtual void onSeek(Time timeOffset) = 0;
241 
252  virtual Int64 onLoop();
253 
254 private:
255 
263  void streamData();
264 
279  bool fillAndPushBuffer(unsigned int bufferNum, bool immediateLoop = false);
280 
290  bool fillQueue();
291 
298  void clearQueue();
299 
300  enum
301  {
302  BufferCount = 3,
303  BufferRetries = 2
304  };
305 
307  // Member data
309  Thread m_thread;
310  mutable Mutex m_threadMutex;
311  Status m_threadStartState;
312  bool m_isStreaming;
313  unsigned int m_buffers[BufferCount];
314  unsigned int m_channelCount;
315  unsigned int m_sampleRate;
316  Uint32 m_format;
317  bool m_loop;
318  Uint64 m_samplesProcessed;
319  Int64 m_bufferSeeks[BufferCount];
320 };
321 
322 } // namespace sf
323 
324 
325 #endif // SFML_SOUNDSTREAM_HPP
326 
327 
Structure defining a chunk of audio data to stream.
Definition: SoundStream.hpp:53
+
Represents a time value.
Definition: Time.hpp:40
+
const Int16 * samples
Pointer to the audio samples.
Definition: SoundStream.hpp:55
+
Abstract base class for streamed audio sources.
Definition: SoundStream.hpp:45
+
std::size_t sampleCount
Number of samples pointed by Samples.
Definition: SoundStream.hpp:56
+ +
Base class defining a sound&#39;s properties.
Definition: SoundSource.hpp:42
+
+ + + + diff --git a/SFML/doc/html/Sound_8hpp_source.html b/SFML/doc/html/Sound_8hpp_source.html new file mode 100644 index 0000000..03300f1 --- /dev/null +++ b/SFML/doc/html/Sound_8hpp_source.html @@ -0,0 +1,62 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Sound.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SOUND_HPP
26 #define SFML_SOUND_HPP
27 
29 // Headers
31 #include <SFML/Audio/Export.hpp>
32 #include <SFML/Audio/SoundSource.hpp>
33 #include <SFML/System/Time.hpp>
34 #include <cstdlib>
35 
36 
37 namespace sf
38 {
39 class SoundBuffer;
40 
45 class SFML_AUDIO_API Sound : public SoundSource
46 {
47 public:
48 
53  Sound();
54 
61  explicit Sound(const SoundBuffer& buffer);
62 
69  Sound(const Sound& copy);
70 
75  ~Sound();
76 
89  void play();
90 
100  void pause();
101 
112  void stop();
113 
126  void setBuffer(const SoundBuffer& buffer);
127 
141  void setLoop(bool loop);
142 
156  void setPlayingOffset(Time timeOffset);
157 
164  const SoundBuffer* getBuffer() const;
165 
174  bool getLoop() const;
175 
184  Time getPlayingOffset() const;
185 
192  Status getStatus() const;
193 
202  Sound& operator =(const Sound& right);
203 
213  void resetBuffer();
214 
215 private:
216 
218  // Member data
220  const SoundBuffer* m_buffer;
221 };
222 
223 } // namespace sf
224 
225 
226 #endif // SFML_SOUND_HPP
227 
228 
Represents a time value.
Definition: Time.hpp:40
+
Regular sound that can be played in the audio environment.
Definition: Sound.hpp:45
+
Storage for audio samples defining a sound.
Definition: SoundBuffer.hpp:49
+ +
Status
Enumeration of the sound source states.
Definition: SoundSource.hpp:50
+
Base class defining a sound&#39;s properties.
Definition: SoundSource.hpp:42
+
+ + + + diff --git a/SFML/doc/html/Sprite_8hpp_source.html b/SFML/doc/html/Sprite_8hpp_source.html new file mode 100644 index 0000000..6248236 --- /dev/null +++ b/SFML/doc/html/Sprite_8hpp_source.html @@ -0,0 +1,66 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Sprite.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SPRITE_HPP
26 #define SFML_SPRITE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Drawable.hpp>
33 #include <SFML/Graphics/Transformable.hpp>
34 #include <SFML/Graphics/Vertex.hpp>
35 #include <SFML/Graphics/Rect.hpp>
36 
37 
38 namespace sf
39 {
40 class Texture;
41 
47 class SFML_GRAPHICS_API Sprite : public Drawable, public Transformable
48 {
49 public:
50 
57  Sprite();
58 
67  explicit Sprite(const Texture& texture);
68 
78  Sprite(const Texture& texture, const IntRect& rectangle);
79 
99  void setTexture(const Texture& texture, bool resetRect = false);
100 
113  void setTextureRect(const IntRect& rectangle);
114 
128  void setColor(const Color& color);
129 
142  const Texture* getTexture() const;
143 
152  const IntRect& getTextureRect() const;
153 
162  const Color& getColor() const;
163 
176  FloatRect getLocalBounds() const;
177 
190  FloatRect getGlobalBounds() const;
191 
192 private:
193 
201  virtual void draw(RenderTarget& target, RenderStates states) const;
202 
207  void updatePositions();
208 
213  void updateTexCoords();
214 
216  // Member data
218  Vertex m_vertices[4];
219  const Texture* m_texture;
220  IntRect m_textureRect;
221 };
222 
223 } // namespace sf
224 
225 
226 #endif // SFML_SPRITE_HPP
227 
228 
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:48
+
Define the states used for drawing to a RenderTarget.
+
Utility class for manipulating RGBA colors.
Definition: Color.hpp:40
+
Define a point with color and texture coordinates.
Definition: Vertex.hpp:42
+
Base class for all render targets (window, texture, ...)
+
Abstract base class for objects that can be drawn to a render target.
Definition: Drawable.hpp:44
+ + +
Drawable representation of a texture, with its own transformations, color, etc.
Definition: Sprite.hpp:47
+
Decomposed transform defined by a position, a rotation and a scale.
+
+ + + + diff --git a/SFML/doc/html/String_8hpp_source.html b/SFML/doc/html/String_8hpp_source.html new file mode 100644 index 0000000..9d7f7af --- /dev/null +++ b/SFML/doc/html/String_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
String.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_STRING_HPP
26 #define SFML_STRING_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 #include <SFML/System/Utf.hpp>
33 #include <iterator>
34 #include <locale>
35 #include <string>
36 
37 
38 namespace sf
39 {
45 class SFML_SYSTEM_API String
46 {
47 public:
48 
50  // Types
52  typedef std::basic_string<Uint32>::iterator Iterator;
53  typedef std::basic_string<Uint32>::const_iterator ConstIterator;
54 
56  // Static member data
58  static const std::size_t InvalidPos;
59 
66  String();
67 
78  String(char ansiChar, const std::locale& locale = std::locale());
79 
86  String(wchar_t wideChar);
87 
94  String(Uint32 utf32Char);
95 
106  String(const char* ansiString, const std::locale& locale = std::locale());
107 
118  String(const std::string& ansiString, const std::locale& locale = std::locale());
119 
126  String(const wchar_t* wideString);
127 
134  String(const std::wstring& wideString);
135 
142  String(const Uint32* utf32String);
143 
150  String(const std::basic_string<Uint32>& utf32String);
151 
158  String(const String& copy);
159 
171  template <typename T>
172  static String fromUtf8(T begin, T end);
173 
185  template <typename T>
186  static String fromUtf16(T begin, T end);
187 
203  template <typename T>
204  static String fromUtf32(T begin, T end);
205 
221  operator std::string() const;
222 
236  operator std::wstring() const;
237 
253  std::string toAnsiString(const std::locale& locale = std::locale()) const;
254 
266  std::wstring toWideString() const;
267 
276  std::basic_string<Uint8> toUtf8() const;
277 
286  std::basic_string<Uint16> toUtf16() const;
287 
299  std::basic_string<Uint32> toUtf32() const;
300 
309  String& operator =(const String& right);
310 
319  String& operator +=(const String& right);
320 
332  Uint32 operator [](std::size_t index) const;
333 
345  Uint32& operator [](std::size_t index);
346 
355  void clear();
356 
365  std::size_t getSize() const;
366 
375  bool isEmpty() const;
376 
387  void erase(std::size_t position, std::size_t count = 1);
388 
399  void insert(std::size_t position, const String& str);
400 
413  std::size_t find(const String& str, std::size_t start = 0) const;
414 
427  void replace(std::size_t position, std::size_t length, const String& replaceWith);
428 
439  void replace(const String& searchFor, const String& replaceWith);
440 
456  String substring(std::size_t position, std::size_t length = InvalidPos) const;
457 
469  const Uint32* getData() const;
470 
479  Iterator begin();
480 
489  ConstIterator begin() const;
490 
503  Iterator end();
504 
517  ConstIterator end() const;
518 
519 private:
520 
521  friend SFML_SYSTEM_API bool operator ==(const String& left, const String& right);
522  friend SFML_SYSTEM_API bool operator <(const String& left, const String& right);
523 
525  // Member data
527  std::basic_string<Uint32> m_string;
528 };
529 
540 SFML_SYSTEM_API bool operator ==(const String& left, const String& right);
541 
552 SFML_SYSTEM_API bool operator !=(const String& left, const String& right);
553 
564 SFML_SYSTEM_API bool operator <(const String& left, const String& right);
565 
576 SFML_SYSTEM_API bool operator >(const String& left, const String& right);
577 
588 SFML_SYSTEM_API bool operator <=(const String& left, const String& right);
589 
600 SFML_SYSTEM_API bool operator >=(const String& left, const String& right);
601 
612 SFML_SYSTEM_API String operator +(const String& left, const String& right);
613 
614 #include <SFML/System/String.inl>
615 
616 } // namespace sf
617 
618 
619 #endif // SFML_STRING_HPP
620 
621 
std::basic_string< Uint32 >::iterator Iterator
Iterator type.
Definition: String.hpp:52
+
static const std::size_t InvalidPos
Represents an invalid position in the string.
Definition: String.hpp:58
+
std::basic_string< Uint32 >::const_iterator ConstIterator
Read-only iterator type.
Definition: String.hpp:53
+ +
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:45
+
+ + + + diff --git a/SFML/doc/html/System_2Export_8hpp_source.html b/SFML/doc/html/System_2Export_8hpp_source.html new file mode 100644 index 0000000..8e6d10b --- /dev/null +++ b/SFML/doc/html/System_2Export_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
System/Export.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SYSTEM_EXPORT_HPP
26 #define SFML_SYSTEM_EXPORT_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 
33 
35 // Define portable import / export macros
37 #if defined(SFML_SYSTEM_EXPORTS)
38 
39  #define SFML_SYSTEM_API SFML_API_EXPORT
40 
41 #else
42 
43  #define SFML_SYSTEM_API SFML_API_IMPORT
44 
45 #endif
46 
47 
48 #endif // SFML_SYSTEM_EXPORT_HPP
+ + + + diff --git a/SFML/doc/html/System_8hpp_source.html b/SFML/doc/html/System_8hpp_source.html new file mode 100644 index 0000000..58f050c --- /dev/null +++ b/SFML/doc/html/System_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
System.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SYSTEM_HPP
26 #define SFML_SYSTEM_HPP
27 
29 // Headers
31 
32 #include <SFML/Config.hpp>
33 #include <SFML/System/Clock.hpp>
34 #include <SFML/System/Err.hpp>
35 #include <SFML/System/FileInputStream.hpp>
36 #include <SFML/System/InputStream.hpp>
37 #include <SFML/System/Lock.hpp>
38 #include <SFML/System/MemoryInputStream.hpp>
39 #include <SFML/System/Mutex.hpp>
40 #include <SFML/System/NonCopyable.hpp>
41 #include <SFML/System/Sleep.hpp>
42 #include <SFML/System/String.hpp>
43 #include <SFML/System/Thread.hpp>
44 #include <SFML/System/ThreadLocal.hpp>
45 #include <SFML/System/ThreadLocalPtr.hpp>
46 #include <SFML/System/Time.hpp>
47 #include <SFML/System/Utf.hpp>
48 #include <SFML/System/Vector2.hpp>
49 #include <SFML/System/Vector3.hpp>
50 
51 #endif // SFML_SYSTEM_HPP
52 
+ + + + diff --git a/SFML/doc/html/TcpListener_8hpp_source.html b/SFML/doc/html/TcpListener_8hpp_source.html new file mode 100644 index 0000000..5638eb0 --- /dev/null +++ b/SFML/doc/html/TcpListener_8hpp_source.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
TcpListener.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_TCPLISTENER_HPP
26 #define SFML_TCPLISTENER_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <SFML/Network/Socket.hpp>
33 #include <SFML/Network/IpAddress.hpp>
34 
35 
36 namespace sf
37 {
38 class TcpSocket;
39 
44 class SFML_NETWORK_API TcpListener : public Socket
45 {
46 public:
47 
52  TcpListener();
53 
65  unsigned short getLocalPort() const;
66 
85  Status listen(unsigned short port, const IpAddress& address = IpAddress::Any);
86 
96  void close();
97 
111  Status accept(TcpSocket& socket);
112 };
113 
114 
115 } // namespace sf
116 
117 
118 #endif // SFML_TCPLISTENER_HPP
119 
120 
static const IpAddress Any
Value representing any address (0.0.0.0)
Definition: IpAddress.hpp:185
+
Status
Status codes that may be returned by socket functions.
Definition: Socket.hpp:53
+
Base class for all the socket types.
Definition: Socket.hpp:45
+
Encapsulate an IPv4 network address.
Definition: IpAddress.hpp:44
+
Specialized socket using the TCP protocol.
Definition: TcpSocket.hpp:46
+
Socket that listens to new TCP connections.
Definition: TcpListener.hpp:44
+ +
+ + + + diff --git a/SFML/doc/html/TcpSocket_8hpp_source.html b/SFML/doc/html/TcpSocket_8hpp_source.html new file mode 100644 index 0000000..3b8e6f9 --- /dev/null +++ b/SFML/doc/html/TcpSocket_8hpp_source.html @@ -0,0 +1,65 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
TcpSocket.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_TCPSOCKET_HPP
26 #define SFML_TCPSOCKET_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <SFML/Network/Socket.hpp>
33 #include <SFML/System/Time.hpp>
34 
35 
36 namespace sf
37 {
38 class TcpListener;
39 class IpAddress;
40 class Packet;
41 
46 class SFML_NETWORK_API TcpSocket : public Socket
47 {
48 public:
49 
54  TcpSocket();
55 
66  unsigned short getLocalPort() const;
67 
79  IpAddress getRemoteAddress() const;
80 
92  unsigned short getRemotePort() const;
93 
112  Status connect(const IpAddress& remoteAddress, unsigned short remotePort, Time timeout = Time::Zero);
113 
123  void disconnect();
124 
141  Status send(const void* data, std::size_t size);
142 
157  Status send(const void* data, std::size_t size, std::size_t& sent);
158 
175  Status receive(void* data, std::size_t size, std::size_t& received);
176 
193  Status send(Packet& packet);
194 
209  Status receive(Packet& packet);
210 
211 private:
212 
213  friend class TcpListener;
214 
219  struct PendingPacket
220  {
221  PendingPacket();
222 
223  Uint32 Size;
224  std::size_t SizeReceived;
225  std::vector<char> Data;
226  };
227 
229  // Member data
231  PendingPacket m_pendingPacket;
232 };
233 
234 } // namespace sf
235 
236 
237 #endif // SFML_TCPSOCKET_HPP
238 
239 
Represents a time value.
Definition: Time.hpp:40
+
static const Time Zero
Predefined "zero" time value.
Definition: Time.hpp:85
+
Status
Status codes that may be returned by socket functions.
Definition: Socket.hpp:53
+
Base class for all the socket types.
Definition: Socket.hpp:45
+
Encapsulate an IPv4 network address.
Definition: IpAddress.hpp:44
+
Utility class to build blocks of data to transfer over the network.
Definition: Packet.hpp:47
+
Specialized socket using the TCP protocol.
Definition: TcpSocket.hpp:46
+
Socket that listens to new TCP connections.
Definition: TcpListener.hpp:44
+ +
+ + + + diff --git a/SFML/doc/html/Text_8hpp_source.html b/SFML/doc/html/Text_8hpp_source.html new file mode 100644 index 0000000..46ab847 --- /dev/null +++ b/SFML/doc/html/Text_8hpp_source.html @@ -0,0 +1,69 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Text.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_TEXT_HPP
26 #define SFML_TEXT_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Drawable.hpp>
33 #include <SFML/Graphics/Transformable.hpp>
34 #include <SFML/Graphics/Font.hpp>
35 #include <SFML/Graphics/Rect.hpp>
36 #include <SFML/Graphics/VertexArray.hpp>
37 #include <SFML/System/String.hpp>
38 #include <string>
39 #include <vector>
40 
41 
42 namespace sf
43 {
48 class SFML_GRAPHICS_API Text : public Drawable, public Transformable
49 {
50 public:
51 
56  enum Style
57  {
58  Regular = 0,
59  Bold = 1 << 0,
60  Italic = 1 << 1,
61  Underlined = 1 << 2,
62  StrikeThrough = 1 << 3
63  };
64 
71  Text();
72 
88  Text(const String& string, const Font& font, unsigned int characterSize = 30);
89 
109  void setString(const String& string);
110 
126  void setFont(const Font& font);
127 
145  void setCharacterSize(unsigned int size);
146 
159  void setLineSpacing(float spacingFactor);
160 
178  void setLetterSpacing(float spacingFactor);
179 
192  void setStyle(Uint32 style);
193 
210  SFML_DEPRECATED void setColor(const Color& color);
211 
224  void setFillColor(const Color& color);
225 
236  void setOutlineColor(const Color& color);
237 
251  void setOutlineThickness(float thickness);
252 
270  const String& getString() const;
271 
284  const Font* getFont() const;
285 
294  unsigned int getCharacterSize() const;
295 
304  float getLetterSpacing() const;
305 
314  float getLineSpacing() const;
315 
324  Uint32 getStyle() const;
325 
338  SFML_DEPRECATED const Color& getColor() const;
339 
348  const Color& getFillColor() const;
349 
358  const Color& getOutlineColor() const;
359 
368  float getOutlineThickness() const;
369 
385  Vector2f findCharacterPos(std::size_t index) const;
386 
399  FloatRect getLocalBounds() const;
400 
413  FloatRect getGlobalBounds() const;
414 
415 private:
416 
424  virtual void draw(RenderTarget& target, RenderStates states) const;
425 
433  void ensureGeometryUpdate() const;
434 
436  // Member data
438  String m_string;
439  const Font* m_font;
440  unsigned int m_characterSize;
441  float m_letterSpacingFactor;
442  float m_lineSpacingFactor;
443  Uint32 m_style;
444  Color m_fillColor;
445  Color m_outlineColor;
446  float m_outlineThickness;
447  mutable VertexArray m_vertices;
448  mutable VertexArray m_outlineVertices;
449  mutable FloatRect m_bounds;
450  mutable bool m_geometryNeedUpdate;
451  mutable Uint64 m_fontTextureId;
452 };
453 
454 } // namespace sf
455 
456 
457 #endif // SFML_TEXT_HPP
458 
459 
Define the states used for drawing to a RenderTarget.
+
Utility class for manipulating RGBA colors.
Definition: Color.hpp:40
+
Style
Enumeration of the string drawing styles.
Definition: Text.hpp:56
+
Define a set of one or more 2D primitives.
Definition: VertexArray.hpp:45
+
Graphical text that can be drawn to a render target.
Definition: Text.hpp:48
+
Base class for all render targets (window, texture, ...)
+
Abstract base class for objects that can be drawn to a render target.
Definition: Drawable.hpp:44
+ + +
Class for loading and manipulating character fonts.
Definition: Font.hpp:50
+ +
Decomposed transform defined by a position, a rotation and a scale.
+
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:45
+
+ + + + diff --git a/SFML/doc/html/Texture_8hpp_source.html b/SFML/doc/html/Texture_8hpp_source.html new file mode 100644 index 0000000..649dda0 --- /dev/null +++ b/SFML/doc/html/Texture_8hpp_source.html @@ -0,0 +1,69 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Texture.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_TEXTURE_HPP
26 #define SFML_TEXTURE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Image.hpp>
33 #include <SFML/Window/GlResource.hpp>
34 
35 
36 namespace sf
37 {
38 class InputStream;
39 class RenderTarget;
40 class RenderTexture;
41 class Text;
42 class Window;
43 
48 class SFML_GRAPHICS_API Texture : GlResource
49 {
50 public:
51 
57  {
59  Pixels
60  };
61 
62 public:
63 
70  Texture();
71 
78  Texture(const Texture& copy);
79 
84  ~Texture();
85 
97  bool create(unsigned int width, unsigned int height);
98 
128  bool loadFromFile(const std::string& filename, const IntRect& area = IntRect());
129 
160  bool loadFromMemory(const void* data, std::size_t size, const IntRect& area = IntRect());
161 
191  bool loadFromStream(InputStream& stream, const IntRect& area = IntRect());
192 
215  bool loadFromImage(const Image& image, const IntRect& area = IntRect());
216 
223  Vector2u getSize() const;
224 
238  Image copyToImage() const;
239 
256  void update(const Uint8* pixels);
257 
278  void update(const Uint8* pixels, unsigned int width, unsigned int height, unsigned int x, unsigned int y);
279 
298  void update(const Texture& texture);
299 
315  void update(const Texture& texture, unsigned int x, unsigned int y);
316 
335  void update(const Image& image);
336 
352  void update(const Image& image, unsigned int x, unsigned int y);
353 
372  void update(const Window& window);
373 
389  void update(const Window& window, unsigned int x, unsigned int y);
390 
405  void setSmooth(bool smooth);
406 
415  bool isSmooth() const;
416 
440  void setSrgb(bool sRgb);
441 
450  bool isSrgb() const;
451 
474  void setRepeated(bool repeated);
475 
484  bool isRepeated() const;
485 
509  bool generateMipmap();
510 
519  Texture& operator =(const Texture& right);
520 
527  void swap(Texture& right);
528 
539  unsigned int getNativeHandle() const;
540 
572  static void bind(const Texture* texture, CoordinateType coordinateType = Normalized);
573 
584  static unsigned int getMaximumSize();
585 
586 private:
587 
588  friend class Text;
589  friend class RenderTexture;
590  friend class RenderTarget;
591 
605  static unsigned int getValidSize(unsigned int size);
606 
614  void invalidateMipmap();
615 
617  // Member data
619  Vector2u m_size;
620  Vector2u m_actualSize;
621  unsigned int m_texture;
622  bool m_isSmooth;
623  bool m_sRgb;
624  bool m_isRepeated;
625  mutable bool m_pixelsFlipped;
626  bool m_fboAttachment;
627  bool m_hasMipmap;
628  Uint64 m_cacheId;
629 };
630 
631 } // namespace sf
632 
633 
634 #endif // SFML_TEXTURE_HPP
635 
Window that serves as a target for OpenGL rendering.
+
Abstract class for custom file input streams.
Definition: InputStream.hpp:41
+
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:48
+
CoordinateType
Types of texture coordinates that can be used for rendering.
Definition: Texture.hpp:56
+
Target for off-screen 2D rendering into a texture.
+
Graphical text that can be drawn to a render target.
Definition: Text.hpp:48
+
Base class for all render targets (window, texture, ...)
+
Texture coordinates in range [0 .. 1].
Definition: Texture.hpp:58
+ + + +
Base class for classes that require an OpenGL context.
Definition: GlResource.hpp:46
+
Class for loading, manipulating and saving images.
Definition: Image.hpp:46
+
+ + + + diff --git a/SFML/doc/html/ThreadLocalPtr_8hpp_source.html b/SFML/doc/html/ThreadLocalPtr_8hpp_source.html new file mode 100644 index 0000000..7357749 --- /dev/null +++ b/SFML/doc/html/ThreadLocalPtr_8hpp_source.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
ThreadLocalPtr.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_THREADLOCALPTR_HPP
26 #define SFML_THREADLOCALPTR_HPP
27 
29 // Headers
31 #include <SFML/System/ThreadLocal.hpp>
32 
33 
34 namespace sf
35 {
40 template <typename T>
41 class ThreadLocalPtr : private ThreadLocal
42 {
43 public:
44 
51  ThreadLocalPtr(T* value = NULL);
52 
62  T& operator *() const;
63 
73  T* operator ->() const;
74 
82  operator T*() const;
83 
92  ThreadLocalPtr<T>& operator =(T* value);
93 
103 };
104 
105 } // namespace sf
106 
107 #include <SFML/System/ThreadLocalPtr.inl>
108 
109 
110 #endif // SFML_THREADLOCALPTR_HPP
111 
112 
Pointer to a thread-local variable.
+
ThreadLocalPtr(T *value=NULL)
Default constructor.
+
ThreadLocalPtr< T > & operator=(T *value)
Assignment operator for a raw pointer parameter.
+
T & operator*() const
Overload of unary operator *.
+ +
T * operator->() const
Overload of operator ->
+
Defines variables with thread-local storage.
Definition: ThreadLocal.hpp:47
+
+ + + + diff --git a/SFML/doc/html/ThreadLocal_8hpp_source.html b/SFML/doc/html/ThreadLocal_8hpp_source.html new file mode 100644 index 0000000..3542ae4 --- /dev/null +++ b/SFML/doc/html/ThreadLocal_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
ThreadLocal.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_THREADLOCAL_HPP
26 #define SFML_THREADLOCAL_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 #include <SFML/System/NonCopyable.hpp>
33 #include <cstdlib>
34 
35 
36 namespace sf
37 {
38 namespace priv
39 {
40  class ThreadLocalImpl;
41 }
42 
47 class SFML_SYSTEM_API ThreadLocal : NonCopyable
48 {
49 public:
50 
57  ThreadLocal(void* value = NULL);
58 
63  ~ThreadLocal();
64 
71  void setValue(void* value);
72 
79  void* getValue() const;
80 
81 private:
82 
84  // Member data
86  priv::ThreadLocalImpl* m_impl;
87 };
88 
89 } // namespace sf
90 
91 
92 #endif // SFML_THREADLOCAL_HPP
93 
94 
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
Defines variables with thread-local storage.
Definition: ThreadLocal.hpp:47
+
+ + + + diff --git a/SFML/doc/html/Thread_8hpp_source.html b/SFML/doc/html/Thread_8hpp_source.html new file mode 100644 index 0000000..e72cc8a --- /dev/null +++ b/SFML/doc/html/Thread_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Thread.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_THREAD_HPP
26 #define SFML_THREAD_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 #include <SFML/System/NonCopyable.hpp>
33 #include <cstdlib>
34 
35 
36 namespace sf
37 {
38 namespace priv
39 {
40  class ThreadImpl;
41  struct ThreadFunc;
42 }
43 
48 class SFML_SYSTEM_API Thread : NonCopyable
49 {
50 public:
51 
74  template <typename F>
75  Thread(F function);
76 
102  template <typename F, typename A>
103  Thread(F function, A argument);
104 
125  template <typename C>
126  Thread(void(C::*function)(), C* object);
127 
135  ~Thread();
136 
146  void launch();
147 
159  void wait();
160 
172  void terminate();
173 
174 private:
175 
176  friend class priv::ThreadImpl;
177 
184  void run();
185 
187  // Member data
189  priv::ThreadImpl* m_impl;
190  priv::ThreadFunc* m_entryPoint;
191 };
192 
193 #include <SFML/System/Thread.inl>
194 
195 } // namespace sf
196 
197 #endif // SFML_THREAD_HPP
198 
199 
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+ +
Utility class to manipulate threads.
Definition: Thread.hpp:48
+
+ + + + diff --git a/SFML/doc/html/Time_8hpp_source.html b/SFML/doc/html/Time_8hpp_source.html new file mode 100644 index 0000000..b0115d6 --- /dev/null +++ b/SFML/doc/html/Time_8hpp_source.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Time.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_TIME_HPP
26 #define SFML_TIME_HPP
27 
29 // Headers
31 #include <SFML/System/Export.hpp>
32 
33 
34 namespace sf
35 {
40 class SFML_SYSTEM_API Time
41 {
42 public:
43 
50  Time();
51 
60  float asSeconds() const;
61 
70  Int32 asMilliseconds() const;
71 
80  Int64 asMicroseconds() const;
81 
83  // Static member data
85  static const Time Zero;
86 
87 private:
88 
89  friend SFML_SYSTEM_API Time seconds(float);
90  friend SFML_SYSTEM_API Time milliseconds(Int32);
91  friend SFML_SYSTEM_API Time microseconds(Int64);
92 
102  explicit Time(Int64 microseconds);
103 
104 private:
105 
107  // Member data
109  Int64 m_microseconds;
110 };
111 
123 SFML_SYSTEM_API Time seconds(float amount);
124 
136 SFML_SYSTEM_API Time milliseconds(Int32 amount);
137 
149 SFML_SYSTEM_API Time microseconds(Int64 amount);
150 
161 SFML_SYSTEM_API bool operator ==(Time left, Time right);
162 
173 SFML_SYSTEM_API bool operator !=(Time left, Time right);
174 
185 SFML_SYSTEM_API bool operator <(Time left, Time right);
186 
197 SFML_SYSTEM_API bool operator >(Time left, Time right);
198 
209 SFML_SYSTEM_API bool operator <=(Time left, Time right);
210 
221 SFML_SYSTEM_API bool operator >=(Time left, Time right);
222 
232 SFML_SYSTEM_API Time operator -(Time right);
233 
244 SFML_SYSTEM_API Time operator +(Time left, Time right);
245 
256 SFML_SYSTEM_API Time& operator +=(Time& left, Time right);
257 
268 SFML_SYSTEM_API Time operator -(Time left, Time right);
269 
280 SFML_SYSTEM_API Time& operator -=(Time& left, Time right);
281 
292 SFML_SYSTEM_API Time operator *(Time left, float right);
293 
304 SFML_SYSTEM_API Time operator *(Time left, Int64 right);
305 
316 SFML_SYSTEM_API Time operator *(float left, Time right);
317 
328 SFML_SYSTEM_API Time operator *(Int64 left, Time right);
329 
340 SFML_SYSTEM_API Time& operator *=(Time& left, float right);
341 
352 SFML_SYSTEM_API Time& operator *=(Time& left, Int64 right);
353 
364 SFML_SYSTEM_API Time operator /(Time left, float right);
365 
376 SFML_SYSTEM_API Time operator /(Time left, Int64 right);
377 
388 SFML_SYSTEM_API Time& operator /=(Time& left, float right);
389 
400 SFML_SYSTEM_API Time& operator /=(Time& left, Int64 right);
401 
412 SFML_SYSTEM_API float operator /(Time left, Time right);
413 
424 SFML_SYSTEM_API Time operator %(Time left, Time right);
425 
436 SFML_SYSTEM_API Time& operator %=(Time& left, Time right);
437 
438 } // namespace sf
439 
440 
441 #endif // SFML_TIME_HPP
442 
443 
Represents a time value.
Definition: Time.hpp:40
+
static const Time Zero
Predefined "zero" time value.
Definition: Time.hpp:85
+ +
+ + + + diff --git a/SFML/doc/html/Touch_8hpp_source.html b/SFML/doc/html/Touch_8hpp_source.html new file mode 100644 index 0000000..b5004cb --- /dev/null +++ b/SFML/doc/html/Touch_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Touch.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_TOUCH_HPP
26 #define SFML_TOUCH_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <SFML/System/Vector2.hpp>
33 
34 
35 namespace sf
36 {
37 class Window;
38 
43 class SFML_WINDOW_API Touch
44 {
45 public:
46 
55  static bool isDown(unsigned int finger);
56 
68  static Vector2i getPosition(unsigned int finger);
69 
82  static Vector2i getPosition(unsigned int finger, const Window& relativeTo);
83 };
84 
85 } // namespace sf
86 
87 
88 #endif // SFML_TOUCH_HPP
89 
90 
Give access to the real-time state of the touches.
Definition: Touch.hpp:43
+
Window that serves as a target for OpenGL rendering.
+ +
Utility template class for manipulating 2-dimensional vectors.
Definition: Vector2.hpp:37
+
+ + + + diff --git a/SFML/doc/html/Transform_8hpp_source.html b/SFML/doc/html/Transform_8hpp_source.html new file mode 100644 index 0000000..b24c599 --- /dev/null +++ b/SFML/doc/html/Transform_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Transform.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_TRANSFORM_HPP
26 #define SFML_TRANSFORM_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Rect.hpp>
33 #include <SFML/System/Vector2.hpp>
34 
35 
36 namespace sf
37 {
42 class SFML_GRAPHICS_API Transform
43 {
44 public:
45 
52  Transform();
53 
68  Transform(float a00, float a01, float a02,
69  float a10, float a11, float a12,
70  float a20, float a21, float a22);
71 
87  const float* getMatrix() const;
88 
98  Transform getInverse() const;
99 
109  Vector2f transformPoint(float x, float y) const;
110 
119  Vector2f transformPoint(const Vector2f& point) const;
120 
135  FloatRect transformRect(const FloatRect& rectangle) const;
136 
149  Transform& combine(const Transform& transform);
150 
169  Transform& translate(float x, float y);
170 
188  Transform& translate(const Vector2f& offset);
189 
207  Transform& rotate(float angle);
208 
233  Transform& rotate(float angle, float centerX, float centerY);
234 
258  Transform& rotate(float angle, const Vector2f& center);
259 
278  Transform& scale(float scaleX, float scaleY);
279 
305  Transform& scale(float scaleX, float scaleY, float centerX, float centerY);
306 
324  Transform& scale(const Vector2f& factors);
325 
349  Transform& scale(const Vector2f& factors, const Vector2f& center);
350 
352  // Static member data
354  static const Transform Identity;
355 
356 private:
357 
359  // Member data
361  float m_matrix[16];
362 };
363 
376 SFML_GRAPHICS_API Transform operator *(const Transform& left, const Transform& right);
377 
390 SFML_GRAPHICS_API Transform& operator *=(Transform& left, const Transform& right);
391 
404 SFML_GRAPHICS_API Vector2f operator *(const Transform& left, const Vector2f& right);
405 
419 SFML_GRAPHICS_API bool operator ==(const Transform& left, const Transform& right);
420 
433 SFML_GRAPHICS_API bool operator !=(const Transform& left, const Transform& right);
434 
435 } // namespace sf
436 
437 
438 #endif // SFML_TRANSFORM_HPP
439 
440 
Define a 3x3 transform matrix.
Definition: Transform.hpp:42
+
static const Transform Identity
The identity transform (does nothing)
Definition: Transform.hpp:354
+ + + +
+ + + + diff --git a/SFML/doc/html/Transformable_8hpp_source.html b/SFML/doc/html/Transformable_8hpp_source.html new file mode 100644 index 0000000..d89ccaa --- /dev/null +++ b/SFML/doc/html/Transformable_8hpp_source.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Transformable.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_TRANSFORMABLE_HPP
26 #define SFML_TRANSFORMABLE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Transform.hpp>
33 
34 
35 namespace sf
36 {
41 class SFML_GRAPHICS_API Transformable
42 {
43 public:
44 
49  Transformable();
50 
55  virtual ~Transformable();
56 
70  void setPosition(float x, float y);
71 
84  void setPosition(const Vector2f& position);
85 
98  void setRotation(float angle);
99 
113  void setScale(float factorX, float factorY);
114 
127  void setScale(const Vector2f& factors);
128 
145  void setOrigin(float x, float y);
146 
162  void setOrigin(const Vector2f& origin);
163 
172  const Vector2f& getPosition() const;
173 
184  float getRotation() const;
185 
194  const Vector2f& getScale() const;
195 
204  const Vector2f& getOrigin() const;
205 
223  void move(float offsetX, float offsetY);
224 
240  void move(const Vector2f& offset);
241 
255  void rotate(float angle);
256 
274  void scale(float factorX, float factorY);
275 
292  void scale(const Vector2f& factor);
293 
302  const Transform& getTransform() const;
303 
312  const Transform& getInverseTransform() const;
313 
314 private:
315 
317  // Member data
319  Vector2f m_origin;
320  Vector2f m_position;
321  float m_rotation;
322  Vector2f m_scale;
323  mutable Transform m_transform;
324  mutable bool m_transformNeedUpdate;
325  mutable Transform m_inverseTransform;
326  mutable bool m_inverseTransformNeedUpdate;
327 };
328 
329 } // namespace sf
330 
331 
332 #endif // SFML_TRANSFORMABLE_HPP
333 
334 
Define a 3x3 transform matrix.
Definition: Transform.hpp:42
+ + +
Decomposed transform defined by a position, a rotation and a scale.
+
+ + + + diff --git a/SFML/doc/html/UdpSocket_8hpp_source.html b/SFML/doc/html/UdpSocket_8hpp_source.html new file mode 100644 index 0000000..864adc4 --- /dev/null +++ b/SFML/doc/html/UdpSocket_8hpp_source.html @@ -0,0 +1,62 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
UdpSocket.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_UDPSOCKET_HPP
26 #define SFML_UDPSOCKET_HPP
27 
29 // Headers
31 #include <SFML/Network/Export.hpp>
32 #include <SFML/Network/Socket.hpp>
33 #include <SFML/Network/IpAddress.hpp>
34 #include <vector>
35 
36 
37 namespace sf
38 {
39 class Packet;
40 
45 class SFML_NETWORK_API UdpSocket : public Socket
46 {
47 public:
48 
50  // Constants
52  enum
53  {
54  MaxDatagramSize = 65507
55  };
56 
61  UdpSocket();
62 
74  unsigned short getLocalPort() const;
75 
98  Status bind(unsigned short port, const IpAddress& address = IpAddress::Any);
99 
112  void unbind();
113 
131  Status send(const void* data, std::size_t size, const IpAddress& remoteAddress, unsigned short remotePort);
132 
154  Status receive(void* data, std::size_t size, std::size_t& received, IpAddress& remoteAddress, unsigned short& remotePort);
155 
172  Status send(Packet& packet, const IpAddress& remoteAddress, unsigned short remotePort);
173 
189  Status receive(Packet& packet, IpAddress& remoteAddress, unsigned short& remotePort);
190 
191 private:
192 
194  // Member data
196  std::vector<char> m_buffer;
197 };
198 
199 } // namespace sf
200 
201 
202 #endif // SFML_UDPSOCKET_HPP
203 
204 
static const IpAddress Any
Value representing any address (0.0.0.0)
Definition: IpAddress.hpp:185
+
Specialized socket using the UDP protocol.
Definition: UdpSocket.hpp:45
+
Base class for all the socket types.
Definition: Socket.hpp:45
+
Encapsulate an IPv4 network address.
Definition: IpAddress.hpp:44
+
Utility class to build blocks of data to transfer over the network.
Definition: Packet.hpp:47
+ +
+ + + + diff --git a/SFML/doc/html/Utf_8hpp_source.html b/SFML/doc/html/Utf_8hpp_source.html new file mode 100644 index 0000000..e73989e --- /dev/null +++ b/SFML/doc/html/Utf_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Utf.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_UTF_HPP
26 #define SFML_UTF_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 #include <algorithm>
33 #include <locale>
34 #include <string>
35 #include <cstdlib>
36 
37 
38 namespace sf
39 {
40 template <unsigned int N>
41 class Utf;
42 
47 template <>
48 class Utf<8>
49 {
50 public:
51 
66  template <typename In>
67  static In decode(In begin, In end, Uint32& output, Uint32 replacement = 0);
68 
82  template <typename Out>
83  static Out encode(Uint32 input, Out output, Uint8 replacement = 0);
84 
97  template <typename In>
98  static In next(In begin, In end);
99 
113  template <typename In>
114  static std::size_t count(In begin, In end);
115 
130  template <typename In, typename Out>
131  static Out fromAnsi(In begin, In end, Out output, const std::locale& locale = std::locale());
132 
143  template <typename In, typename Out>
144  static Out fromWide(In begin, In end, Out output);
145 
156  template <typename In, typename Out>
157  static Out fromLatin1(In begin, In end, Out output);
158 
174  template <typename In, typename Out>
175  static Out toAnsi(In begin, In end, Out output, char replacement = 0, const std::locale& locale = std::locale());
176 
188  template <typename In, typename Out>
189  static Out toWide(In begin, In end, Out output, wchar_t replacement = 0);
190 
202  template <typename In, typename Out>
203  static Out toLatin1(In begin, In end, Out output, char replacement = 0);
204 
220  template <typename In, typename Out>
221  static Out toUtf8(In begin, In end, Out output);
222 
233  template <typename In, typename Out>
234  static Out toUtf16(In begin, In end, Out output);
235 
246  template <typename In, typename Out>
247  static Out toUtf32(In begin, In end, Out output);
248 };
249 
254 template <>
255 class Utf<16>
256 {
257 public:
258 
273  template <typename In>
274  static In decode(In begin, In end, Uint32& output, Uint32 replacement = 0);
275 
289  template <typename Out>
290  static Out encode(Uint32 input, Out output, Uint16 replacement = 0);
291 
304  template <typename In>
305  static In next(In begin, In end);
306 
320  template <typename In>
321  static std::size_t count(In begin, In end);
322 
337  template <typename In, typename Out>
338  static Out fromAnsi(In begin, In end, Out output, const std::locale& locale = std::locale());
339 
350  template <typename In, typename Out>
351  static Out fromWide(In begin, In end, Out output);
352 
363  template <typename In, typename Out>
364  static Out fromLatin1(In begin, In end, Out output);
365 
381  template <typename In, typename Out>
382  static Out toAnsi(In begin, In end, Out output, char replacement = 0, const std::locale& locale = std::locale());
383 
395  template <typename In, typename Out>
396  static Out toWide(In begin, In end, Out output, wchar_t replacement = 0);
397 
409  template <typename In, typename Out>
410  static Out toLatin1(In begin, In end, Out output, char replacement = 0);
411 
422  template <typename In, typename Out>
423  static Out toUtf8(In begin, In end, Out output);
424 
440  template <typename In, typename Out>
441  static Out toUtf16(In begin, In end, Out output);
442 
453  template <typename In, typename Out>
454  static Out toUtf32(In begin, In end, Out output);
455 };
456 
461 template <>
462 class Utf<32>
463 {
464 public:
465 
481  template <typename In>
482  static In decode(In begin, In end, Uint32& output, Uint32 replacement = 0);
483 
498  template <typename Out>
499  static Out encode(Uint32 input, Out output, Uint32 replacement = 0);
500 
513  template <typename In>
514  static In next(In begin, In end);
515 
528  template <typename In>
529  static std::size_t count(In begin, In end);
530 
545  template <typename In, typename Out>
546  static Out fromAnsi(In begin, In end, Out output, const std::locale& locale = std::locale());
547 
558  template <typename In, typename Out>
559  static Out fromWide(In begin, In end, Out output);
560 
571  template <typename In, typename Out>
572  static Out fromLatin1(In begin, In end, Out output);
573 
589  template <typename In, typename Out>
590  static Out toAnsi(In begin, In end, Out output, char replacement = 0, const std::locale& locale = std::locale());
591 
603  template <typename In, typename Out>
604  static Out toWide(In begin, In end, Out output, wchar_t replacement = 0);
605 
617  template <typename In, typename Out>
618  static Out toLatin1(In begin, In end, Out output, char replacement = 0);
619 
630  template <typename In, typename Out>
631  static Out toUtf8(In begin, In end, Out output);
632 
643  template <typename In, typename Out>
644  static Out toUtf16(In begin, In end, Out output);
645 
661  template <typename In, typename Out>
662  static Out toUtf32(In begin, In end, Out output);
663 
677  template <typename In>
678  static Uint32 decodeAnsi(In input, const std::locale& locale = std::locale());
679 
692  template <typename In>
693  static Uint32 decodeWide(In input);
694 
710  template <typename Out>
711  static Out encodeAnsi(Uint32 codepoint, Out output, char replacement = 0, const std::locale& locale = std::locale());
712 
727  template <typename Out>
728  static Out encodeWide(Uint32 codepoint, Out output, wchar_t replacement = 0);
729 };
730 
731 #include <SFML/System/Utf.inl>
732 
733 // Make typedefs to get rid of the template syntax
734 typedef Utf<8> Utf8;
735 typedef Utf<16> Utf16;
736 typedef Utf<32> Utf32;
737 
738 } // namespace sf
739 
740 
741 #endif // SFML_UTF_HPP
742 
743 
Utility class providing generic functions for UTF conversions.
Definition: Utf.hpp:41
+
Specialization of the Utf template for UTF-16.
Definition: Utf.hpp:255
+
Specialization of the Utf template for UTF-32.
Definition: Utf.hpp:462
+ +
Specialization of the Utf template for UTF-8.
Definition: Utf.hpp:48
+
+ + + + diff --git a/SFML/doc/html/Vector2_8hpp_source.html b/SFML/doc/html/Vector2_8hpp_source.html new file mode 100644 index 0000000..9b1b31a --- /dev/null +++ b/SFML/doc/html/Vector2_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Vector2.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_VECTOR2_HPP
26 #define SFML_VECTOR2_HPP
27 
28 
29 namespace sf
30 {
36 template <typename T>
37 class Vector2
38 {
39 public:
40 
47  Vector2();
48 
56  Vector2(T X, T Y);
57 
69  template <typename U>
70  explicit Vector2(const Vector2<U>& vector);
71 
73  // Member data
75  T x;
76  T y;
77 };
78 
88 template <typename T>
89 Vector2<T> operator -(const Vector2<T>& right);
90 
104 template <typename T>
105 Vector2<T>& operator +=(Vector2<T>& left, const Vector2<T>& right);
106 
120 template <typename T>
121 Vector2<T>& operator -=(Vector2<T>& left, const Vector2<T>& right);
122 
133 template <typename T>
134 Vector2<T> operator +(const Vector2<T>& left, const Vector2<T>& right);
135 
146 template <typename T>
147 Vector2<T> operator -(const Vector2<T>& left, const Vector2<T>& right);
148 
159 template <typename T>
160 Vector2<T> operator *(const Vector2<T>& left, T right);
161 
172 template <typename T>
173 Vector2<T> operator *(T left, const Vector2<T>& right);
174 
188 template <typename T>
189 Vector2<T>& operator *=(Vector2<T>& left, T right);
190 
201 template <typename T>
202 Vector2<T> operator /(const Vector2<T>& left, T right);
203 
217 template <typename T>
218 Vector2<T>& operator /=(Vector2<T>& left, T right);
219 
232 template <typename T>
233 bool operator ==(const Vector2<T>& left, const Vector2<T>& right);
234 
247 template <typename T>
248 bool operator !=(const Vector2<T>& left, const Vector2<T>& right);
249 
250 #include <SFML/System/Vector2.inl>
251 
252 // Define the most common types
253 typedef Vector2<int> Vector2i;
255 typedef Vector2<float> Vector2f;
256 
257 } // namespace sf
258 
259 
260 #endif // SFML_VECTOR2_HPP
261 
262 
T y
Y coordinate of the vector.
Definition: Vector2.hpp:76
+
Vector2()
Default constructor.
+
T x
X coordinate of the vector.
Definition: Vector2.hpp:75
+ +
Utility template class for manipulating 2-dimensional vectors.
Definition: Vector2.hpp:37
+
+ + + + diff --git a/SFML/doc/html/Vector3_8hpp_source.html b/SFML/doc/html/Vector3_8hpp_source.html new file mode 100644 index 0000000..6ec27f6 --- /dev/null +++ b/SFML/doc/html/Vector3_8hpp_source.html @@ -0,0 +1,62 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Vector3.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_VECTOR3_HPP
26 #define SFML_VECTOR3_HPP
27 
28 
29 namespace sf
30 {
36 template <typename T>
37 class Vector3
38 {
39 public:
40 
47  Vector3();
48 
57  Vector3(T X, T Y, T Z);
58 
70  template <typename U>
71  explicit Vector3(const Vector3<U>& vector);
72 
74  // Member data
76  T x;
77  T y;
78  T z;
79 };
80 
90 template <typename T>
91 Vector3<T> operator -(const Vector3<T>& left);
92 
106 template <typename T>
107 Vector3<T>& operator +=(Vector3<T>& left, const Vector3<T>& right);
108 
122 template <typename T>
123 Vector3<T>& operator -=(Vector3<T>& left, const Vector3<T>& right);
124 
135 template <typename T>
136 Vector3<T> operator +(const Vector3<T>& left, const Vector3<T>& right);
137 
148 template <typename T>
149 Vector3<T> operator -(const Vector3<T>& left, const Vector3<T>& right);
150 
161 template <typename T>
162 Vector3<T> operator *(const Vector3<T>& left, T right);
163 
174 template <typename T>
175 Vector3<T> operator *(T left, const Vector3<T>& right);
176 
190 template <typename T>
191 Vector3<T>& operator *=(Vector3<T>& left, T right);
192 
203 template <typename T>
204 Vector3<T> operator /(const Vector3<T>& left, T right);
205 
219 template <typename T>
220 Vector3<T>& operator /=(Vector3<T>& left, T right);
221 
234 template <typename T>
235 bool operator ==(const Vector3<T>& left, const Vector3<T>& right);
236 
249 template <typename T>
250 bool operator !=(const Vector3<T>& left, const Vector3<T>& right);
251 
252 #include <SFML/System/Vector3.inl>
253 
254 // Define the most common types
255 typedef Vector3<int> Vector3i;
256 typedef Vector3<float> Vector3f;
257 
258 } // namespace sf
259 
260 
261 #endif // SFML_VECTOR3_HPP
262 
263 
Utility template class for manipulating 3-dimensional vectors.
Definition: Vector3.hpp:37
+
T z
Z coordinate of the vector.
Definition: Vector3.hpp:78
+
T x
X coordinate of the vector.
Definition: Vector3.hpp:76
+ +
Vector3()
Default constructor.
+
T y
Y coordinate of the vector.
Definition: Vector3.hpp:77
+
+ + + + diff --git a/SFML/doc/html/VertexArray_8hpp_source.html b/SFML/doc/html/VertexArray_8hpp_source.html new file mode 100644 index 0000000..abd00d0 --- /dev/null +++ b/SFML/doc/html/VertexArray_8hpp_source.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
VertexArray.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_VERTEXARRAY_HPP
26 #define SFML_VERTEXARRAY_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Vertex.hpp>
33 #include <SFML/Graphics/PrimitiveType.hpp>
34 #include <SFML/Graphics/Rect.hpp>
35 #include <SFML/Graphics/Drawable.hpp>
36 #include <vector>
37 
38 
39 namespace sf
40 {
45 class SFML_GRAPHICS_API VertexArray : public Drawable
46 {
47 public:
48 
55  VertexArray();
56 
64  explicit VertexArray(PrimitiveType type, std::size_t vertexCount = 0);
65 
72  std::size_t getVertexCount() const;
73 
88  Vertex& operator [](std::size_t index);
89 
104  const Vertex& operator [](std::size_t index) const;
105 
115  void clear();
116 
129  void resize(std::size_t vertexCount);
130 
137  void append(const Vertex& vertex);
138 
153  void setPrimitiveType(PrimitiveType type);
154 
161  PrimitiveType getPrimitiveType() const;
162 
172  FloatRect getBounds() const;
173 
174 private:
175 
183  virtual void draw(RenderTarget& target, RenderStates states) const;
184 
185 private:
186 
188  // Member data
190  std::vector<Vertex> m_vertices;
191  PrimitiveType m_primitiveType;
192 };
193 
194 } // namespace sf
195 
196 
197 #endif // SFML_VERTEXARRAY_HPP
198 
199 
PrimitiveType
Types of primitives that a sf::VertexArray can render.
+
Define the states used for drawing to a RenderTarget.
+
Define a set of one or more 2D primitives.
Definition: VertexArray.hpp:45
+
Define a point with color and texture coordinates.
Definition: Vertex.hpp:42
+
Base class for all render targets (window, texture, ...)
+
Abstract base class for objects that can be drawn to a render target.
Definition: Drawable.hpp:44
+ + +
+ + + + diff --git a/SFML/doc/html/VertexBuffer_8hpp_source.html b/SFML/doc/html/VertexBuffer_8hpp_source.html new file mode 100644 index 0000000..15e4325 --- /dev/null +++ b/SFML/doc/html/VertexBuffer_8hpp_source.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
VertexBuffer.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_VERTEXBUFFER_HPP
26 #define SFML_VERTEXBUFFER_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/PrimitiveType.hpp>
33 #include <SFML/Graphics/Drawable.hpp>
34 #include <SFML/Window/GlResource.hpp>
35 
36 
37 namespace sf
38 {
39 class RenderTarget;
40 class Vertex;
41 
46 class SFML_GRAPHICS_API VertexBuffer : public Drawable, private GlResource
47 {
48 public:
49 
60  enum Usage
61  {
64  Static
65  };
66 
73  VertexBuffer();
74 
83  explicit VertexBuffer(PrimitiveType type);
84 
93  explicit VertexBuffer(Usage usage);
94 
105  VertexBuffer(PrimitiveType type, Usage usage);
106 
113  VertexBuffer(const VertexBuffer& copy);
114 
119  ~VertexBuffer();
120 
137  bool create(std::size_t vertexCount);
138 
145  std::size_t getVertexCount() const;
146 
165  bool update(const Vertex* vertices);
166 
198  bool update(const Vertex* vertices, std::size_t vertexCount, unsigned int offset);
199 
208  bool update(const VertexBuffer& vertexBuffer);
209 
218  VertexBuffer& operator =(const VertexBuffer& right);
219 
226  void swap(VertexBuffer& right);
227 
238  unsigned int getNativeHandle() const;
239 
251  void setPrimitiveType(PrimitiveType type);
252 
259  PrimitiveType getPrimitiveType() const;
260 
276  void setUsage(Usage usage);
277 
284  Usage getUsage() const;
285 
307  static void bind(const VertexBuffer* vertexBuffer);
308 
319  static bool isAvailable();
320 
321 private:
322 
330  virtual void draw(RenderTarget& target, RenderStates states) const;
331 
332 private:
333 
335  // Member data
337  unsigned int m_buffer;
338  std::size_t m_size;
339  PrimitiveType m_primitiveType;
340  Usage m_usage;
341 };
342 
343 } // namespace sf
344 
345 
346 #endif // SFML_VERTEXBUFFER_HPP
347 
348 
PrimitiveType
Types of primitives that a sf::VertexArray can render.
+
Define the states used for drawing to a RenderTarget.
+
Vertex buffer storage for one or more 2D primitives.
+
Occasionally changing data.
+
Define a point with color and texture coordinates.
Definition: Vertex.hpp:42
+
Base class for all render targets (window, texture, ...)
+
Abstract base class for objects that can be drawn to a render target.
Definition: Drawable.hpp:44
+
Usage
Usage specifiers.
+ +
Constantly changing data.
+
Base class for classes that require an OpenGL context.
Definition: GlResource.hpp:46
+
+ + + + diff --git a/SFML/doc/html/Vertex_8hpp_source.html b/SFML/doc/html/Vertex_8hpp_source.html new file mode 100644 index 0000000..9f657a4 --- /dev/null +++ b/SFML/doc/html/Vertex_8hpp_source.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Vertex.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_VERTEX_HPP
26 #define SFML_VERTEX_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Color.hpp>
33 #include <SFML/System/Vector2.hpp>
34 
35 
36 namespace sf
37 {
42 class SFML_GRAPHICS_API Vertex
43 {
44 public:
45 
50  Vertex();
51 
60  Vertex(const Vector2f& thePosition);
61 
71  Vertex(const Vector2f& thePosition, const Color& theColor);
72 
82  Vertex(const Vector2f& thePosition, const Vector2f& theTexCoords);
83 
92  Vertex(const Vector2f& thePosition, const Color& theColor, const Vector2f& theTexCoords);
93 
95  // Member data
100 };
101 
102 } // namespace sf
103 
104 
105 #endif // SFML_VERTEX_HPP
106 
107 
Vector2f position
2D position of the vertex
Definition: Vertex.hpp:97
+
Color color
Color of the vertex.
Definition: Vertex.hpp:98
+
Utility class for manipulating RGBA colors.
Definition: Color.hpp:40
+
Vector2f texCoords
Coordinates of the texture&#39;s pixel to map to the vertex.
Definition: Vertex.hpp:99
+
Define a point with color and texture coordinates.
Definition: Vertex.hpp:42
+ + +
+ + + + diff --git a/SFML/doc/html/VideoMode_8hpp_source.html b/SFML/doc/html/VideoMode_8hpp_source.html new file mode 100644 index 0000000..970fc89 --- /dev/null +++ b/SFML/doc/html/VideoMode_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
VideoMode.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_VIDEOMODE_HPP
26 #define SFML_VIDEOMODE_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 #include <vector>
33 
34 
35 namespace sf
36 {
41 class SFML_WINDOW_API VideoMode
42 {
43 public:
44 
51  VideoMode();
52 
61  VideoMode(unsigned int modeWidth, unsigned int modeHeight, unsigned int modeBitsPerPixel = 32);
62 
69  static VideoMode getDesktopMode();
70 
85  static const std::vector<VideoMode>& getFullscreenModes();
86 
97  bool isValid() const;
98 
100  // Member data
102  unsigned int width;
103  unsigned int height;
104  unsigned int bitsPerPixel;
105 };
106 
117 SFML_WINDOW_API bool operator ==(const VideoMode& left, const VideoMode& right);
118 
129 SFML_WINDOW_API bool operator !=(const VideoMode& left, const VideoMode& right);
130 
141 SFML_WINDOW_API bool operator <(const VideoMode& left, const VideoMode& right);
142 
153 SFML_WINDOW_API bool operator >(const VideoMode& left, const VideoMode& right);
154 
165 SFML_WINDOW_API bool operator <=(const VideoMode& left, const VideoMode& right);
166 
177 SFML_WINDOW_API bool operator >=(const VideoMode& left, const VideoMode& right);
178 
179 } // namespace sf
180 
181 
182 #endif // SFML_VIDEOMODE_HPP
183 
184 
unsigned int bitsPerPixel
Video mode pixel depth, in bits per pixels.
Definition: VideoMode.hpp:104
+
unsigned int width
Video mode width, in pixels.
Definition: VideoMode.hpp:102
+
VideoMode defines a video mode (width, height, bpp)
Definition: VideoMode.hpp:41
+
unsigned int height
Video mode height, in pixels.
Definition: VideoMode.hpp:103
+ +
+ + + + diff --git a/SFML/doc/html/View_8hpp_source.html b/SFML/doc/html/View_8hpp_source.html new file mode 100644 index 0000000..aff2311 --- /dev/null +++ b/SFML/doc/html/View_8hpp_source.html @@ -0,0 +1,61 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
View.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_VIEW_HPP
26 #define SFML_VIEW_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Rect.hpp>
33 #include <SFML/Graphics/Transform.hpp>
34 #include <SFML/System/Vector2.hpp>
35 
36 
37 namespace sf
38 {
43 class SFML_GRAPHICS_API View
44 {
45 public:
46 
53  View();
54 
61  explicit View(const FloatRect& rectangle);
62 
70  View(const Vector2f& center, const Vector2f& size);
71 
81  void setCenter(float x, float y);
82 
91  void setCenter(const Vector2f& center);
92 
102  void setSize(float width, float height);
103 
112  void setSize(const Vector2f& size);
113 
124  void setRotation(float angle);
125 
141  void setViewport(const FloatRect& viewport);
142 
153  void reset(const FloatRect& rectangle);
154 
163  const Vector2f& getCenter() const;
164 
173  const Vector2f& getSize() const;
174 
183  float getRotation() const;
184 
193  const FloatRect& getViewport() const;
194 
204  void move(float offsetX, float offsetY);
205 
214  void move(const Vector2f& offset);
215 
224  void rotate(float angle);
225 
241  void zoom(float factor);
242 
253  const Transform& getTransform() const;
254 
265  const Transform& getInverseTransform() const;
266 
267 private:
268 
270  // Member data
272  Vector2f m_center;
273  Vector2f m_size;
274  float m_rotation;
275  FloatRect m_viewport;
276  mutable Transform m_transform;
277  mutable Transform m_inverseTransform;
278  mutable bool m_transformUpdated;
279  mutable bool m_invTransformUpdated;
280 };
281 
282 } // namespace sf
283 
284 
285 #endif // SFML_VIEW_HPP
286 
287 
2D camera that defines what region is shown on screen
Definition: View.hpp:43
+
Define a 3x3 transform matrix.
Definition: Transform.hpp:42
+ + + +
+ + + + diff --git a/SFML/doc/html/WindowHandle_8hpp_source.html b/SFML/doc/html/WindowHandle_8hpp_source.html new file mode 100644 index 0000000..4416eac --- /dev/null +++ b/SFML/doc/html/WindowHandle_8hpp_source.html @@ -0,0 +1,58 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
WindowHandle.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_WINDOWHANDLE_HPP
26 #define SFML_WINDOWHANDLE_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 
33 // Windows' HWND is a typedef on struct HWND__*
34 #if defined(SFML_SYSTEM_WINDOWS)
35  struct HWND__;
36 #endif
37 
38 namespace sf
39 {
40 #if defined(SFML_SYSTEM_WINDOWS)
41 
42  // Window handle is HWND (HWND__*) on Windows
43  typedef HWND__* WindowHandle;
44 
45 #elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD) || defined(SFML_SYSTEM_OPENBSD)
46 
47  // Window handle is Window (unsigned long) on Unix - X11
48  typedef unsigned long WindowHandle;
49 
50 #elif defined(SFML_SYSTEM_MACOS)
51 
52  // Window handle is NSWindow or NSView (void*) on Mac OS X - Cocoa
53  typedef void* WindowHandle;
54 
55 #elif defined(SFML_SYSTEM_IOS)
56 
57  // Window handle is UIWindow (void*) on iOS - UIKit
58  typedef void* WindowHandle;
59 
60 #elif defined(SFML_SYSTEM_ANDROID)
61 
62  // Window handle is ANativeWindow* (void*) on Android
63  typedef void* WindowHandle;
64 
65 #elif defined(SFML_DOXYGEN)
66 
67  // Define typedef symbol so that Doxygen can attach some documentation to it
68  typedef "platform-specific" WindowHandle;
69 
70 #endif
71 
72 } // namespace sf
73 
74 
75 #endif // SFML_WINDOWHANDLE_HPP
76 
+
platform specific WindowHandle
Define a low-level window handle type, specific to each platform.
+
+ + + + diff --git a/SFML/doc/html/WindowStyle_8hpp_source.html b/SFML/doc/html/WindowStyle_8hpp_source.html new file mode 100644 index 0000000..c71b0d2 --- /dev/null +++ b/SFML/doc/html/WindowStyle_8hpp_source.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
WindowStyle.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_WINDOWSTYLE_HPP
26 #define SFML_WINDOWSTYLE_HPP
27 
28 
29 namespace sf
30 {
31 namespace Style
32 {
38  enum
39  {
40  None = 0,
41  Titlebar = 1 << 0,
42  Resize = 1 << 1,
43  Close = 1 << 2,
44  Fullscreen = 1 << 3,
45 
47  };
48 }
49 
50 } // namespace sf
51 
52 
53 #endif // SFML_WINDOWSTYLE_HPP
No border / title bar (this flag and all others are mutually exclusive)
Definition: WindowStyle.hpp:40
+
Default window style.
Definition: WindowStyle.hpp:46
+
Title bar + fixed border.
Definition: WindowStyle.hpp:41
+
Title bar + close button.
Definition: WindowStyle.hpp:43
+
Fullscreen mode (this flag and all others are mutually exclusive)
Definition: WindowStyle.hpp:44
+ +
Title bar + resizable border + maximize button.
Definition: WindowStyle.hpp:42
+
+ + + + diff --git a/SFML/doc/html/Window_2Export_8hpp_source.html b/SFML/doc/html/Window_2Export_8hpp_source.html new file mode 100644 index 0000000..1ce8fe0 --- /dev/null +++ b/SFML/doc/html/Window_2Export_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Window/Export.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_WINDOW_EXPORT_HPP
26 #define SFML_WINDOW_EXPORT_HPP
27 
29 // Headers
31 #include <SFML/Config.hpp>
32 
33 
35 // Define portable import / export macros
37 #if defined(SFML_WINDOW_EXPORTS)
38 
39  #define SFML_WINDOW_API SFML_API_EXPORT
40 
41 #else
42 
43  #define SFML_WINDOW_API SFML_API_IMPORT
44 
45 #endif
46 
47 
48 #endif // SFML_WINDOW_EXPORT_HPP
+ + + + diff --git a/SFML/doc/html/Window_2Window_8hpp_source.html b/SFML/doc/html/Window_2Window_8hpp_source.html new file mode 100644 index 0000000..433d774 --- /dev/null +++ b/SFML/doc/html/Window_2Window_8hpp_source.html @@ -0,0 +1,70 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Window/Window.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_WINDOW_HPP
26 #define SFML_WINDOW_HPP
27 
29 // Headers
31 #include <SFML/Window/ContextSettings.hpp>
32 #include <SFML/Window/Cursor.hpp>
33 #include <SFML/Window/Export.hpp>
34 #include <SFML/Window/GlResource.hpp>
35 #include <SFML/Window/VideoMode.hpp>
36 #include <SFML/Window/WindowHandle.hpp>
37 #include <SFML/Window/WindowStyle.hpp>
38 #include <SFML/System/Clock.hpp>
39 #include <SFML/System/NonCopyable.hpp>
40 #include <SFML/System/String.hpp>
41 #include <SFML/System/Vector2.hpp>
42 
43 
44 namespace sf
45 {
46 namespace priv
47 {
48  class GlContext;
49  class WindowImpl;
50 }
51 
52 class Event;
53 
58 class SFML_WINDOW_API Window : GlResource, NonCopyable
59 {
60 public:
61 
69  Window();
70 
90  Window(VideoMode mode, const String& title, Uint32 style = Style::Default, const ContextSettings& settings = ContextSettings());
91 
106  explicit Window(WindowHandle handle, const ContextSettings& settings = ContextSettings());
107 
114  virtual ~Window();
115 
133  void create(VideoMode mode, const String& title, Uint32 style = Style::Default, const ContextSettings& settings = ContextSettings());
134 
150  void create(WindowHandle handle, const ContextSettings& settings = ContextSettings());
151 
162  void close();
163 
174  bool isOpen() const;
175 
187  const ContextSettings& getSettings() const;
188 
212  bool pollEvent(Event& event);
213 
239  bool waitEvent(Event& event);
240 
249  Vector2i getPosition() const;
250 
263  void setPosition(const Vector2i& position);
264 
276  Vector2u getSize() const;
277 
286  void setSize(const Vector2u& size);
287 
296  void setTitle(const String& title);
297 
315  void setIcon(unsigned int width, unsigned int height, const Uint8* pixels);
316 
325  void setVisible(bool visible);
326 
340  void setVerticalSyncEnabled(bool enabled);
341 
350  void setMouseCursorVisible(bool visible);
351 
363  void setMouseCursorGrabbed(bool grabbed);
364 
382  void setMouseCursor(const Cursor& cursor);
383 
396  void setKeyRepeatEnabled(bool enabled);
397 
413  void setFramerateLimit(unsigned int limit);
414 
426  void setJoystickThreshold(float threshold);
427 
444  bool setActive(bool active = true) const;
445 
460  void requestFocus();
461 
473  bool hasFocus() const;
474 
483  void display();
484 
497  WindowHandle getSystemHandle() const;
498 
499 protected:
500 
509  virtual void onCreate();
510 
518  virtual void onResize();
519 
520 private:
521 
534  bool filterEvent(const Event& event);
535 
540  void initialize();
541 
543  // Member data
545  priv::WindowImpl* m_impl;
546  priv::GlContext* m_context;
547  Clock m_clock;
548  Time m_frameTimeLimit;
549  Vector2u m_size;
550 };
551 
552 } // namespace sf
553 
554 
555 #endif // SFML_WINDOW_HPP
556 
557 
Default window style.
Definition: WindowStyle.hpp:46
+
Window that serves as a target for OpenGL rendering.
+
Represents a time value.
Definition: Time.hpp:40
+
Cursor defines the appearance of a system cursor.
Definition: Cursor.hpp:46
+
Defines a system event and its parameters.
Definition: Event.hpp:44
+
Utility class that makes any derived class non-copyable.
Definition: NonCopyable.hpp:41
+
Structure defining the settings of the OpenGL context attached to a window.
+
VideoMode defines a video mode (width, height, bpp)
Definition: VideoMode.hpp:41
+ +
Utility template class for manipulating 2-dimensional vectors.
Definition: Vector2.hpp:37
+
Base class for classes that require an OpenGL context.
Definition: GlResource.hpp:46
+
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:45
+
platform specific WindowHandle
Define a low-level window handle type, specific to each platform.
+
Utility class that measures the elapsed time.
Definition: Clock.hpp:41
+
+ + + + diff --git a/SFML/doc/html/Window_8hpp_source.html b/SFML/doc/html/Window_8hpp_source.html new file mode 100644 index 0000000..8a5c209 --- /dev/null +++ b/SFML/doc/html/Window_8hpp_source.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Window.hpp
+
+
+
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_SFML_WINDOW_HPP
26 #define SFML_SFML_WINDOW_HPP
27 
29 // Headers
31 
32 #include <SFML/System.hpp>
33 #include <SFML/Window/Clipboard.hpp>
34 #include <SFML/Window/Context.hpp>
35 #include <SFML/Window/ContextSettings.hpp>
36 #include <SFML/Window/Cursor.hpp>
37 #include <SFML/Window/Event.hpp>
38 #include <SFML/Window/Joystick.hpp>
39 #include <SFML/Window/Keyboard.hpp>
40 #include <SFML/Window/Mouse.hpp>
41 #include <SFML/Window/Sensor.hpp>
42 #include <SFML/Window/Touch.hpp>
43 #include <SFML/Window/VideoMode.hpp>
44 #include <SFML/Window/Window.hpp>
45 #include <SFML/Window/WindowHandle.hpp>
46 #include <SFML/Window/WindowStyle.hpp>
47 
48 
49 
50 #endif // SFML_SFML_WINDOW_HPP
51 
+ + + + diff --git a/SFML/doc/html/annotated.html b/SFML/doc/html/annotated.html new file mode 100644 index 0000000..4f2e1ee --- /dev/null +++ b/SFML/doc/html/annotated.html @@ -0,0 +1,162 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Nsf
 CAlResourceBase class for classes that require an OpenAL context
 CBlendModeBlending modes for drawing
 CCircleShapeSpecialized shape representing a circle
 CClipboardGive access to the system clipboard
 CClockUtility class that measures the elapsed time
 CColorUtility class for manipulating RGBA colors
 CContextClass holding a valid drawing context
 CContextSettingsStructure defining the settings of the OpenGL context attached to a window
 CConvexShapeSpecialized shape representing a convex polygon
 CCursorCursor defines the appearance of a system cursor
 CDrawableAbstract base class for objects that can be drawn to a render target
 CEventDefines a system event and its parameters
 CFileInputStreamImplementation of input stream based on a file
 CFontClass for loading and manipulating character fonts
 CFtpA FTP client
 CGlResourceBase class for classes that require an OpenGL context
 CGlyphStructure describing a glyph
 CHttpA HTTP client
 CImageClass for loading, manipulating and saving images
 CInputSoundFileProvide read access to sound files
 CInputStreamAbstract class for custom file input streams
 CIpAddressEncapsulate an IPv4 network address
 CJoystickGive access to the real-time state of the joysticks
 CKeyboardGive access to the real-time state of the keyboard
 CListenerThe audio listener is the point in the scene from where all the sounds are heard
 CLockAutomatic wrapper for locking and unlocking mutexes
 CMemoryInputStreamImplementation of input stream based on a memory chunk
 CMouseGive access to the real-time state of the mouse
 CMusicStreamed music played from an audio file
 CMutexBlocks concurrent access to shared resources from multiple threads
 CNonCopyableUtility class that makes any derived class non-copyable
 COutputSoundFileProvide write access to sound files
 CPacketUtility class to build blocks of data to transfer over the network
 CRectUtility class for manipulating 2D axis aligned rectangles
 CRectangleShapeSpecialized shape representing a rectangle
 CRenderStatesDefine the states used for drawing to a RenderTarget
 CRenderTargetBase class for all render targets (window, texture, ...)
 CRenderTextureTarget for off-screen 2D rendering into a texture
 CRenderWindowWindow that can serve as a target for 2D drawing
 CSensorGive access to the real-time state of the sensors
 CShaderShader class (vertex, geometry and fragment)
 CShapeBase class for textured shapes with outline
 CSocketBase class for all the socket types
 CSocketSelectorMultiplexer that allows to read from multiple sockets
 CSoundRegular sound that can be played in the audio environment
 CSoundBufferStorage for audio samples defining a sound
 CSoundBufferRecorderSpecialized SoundRecorder which stores the captured audio data into a sound buffer
 CSoundFileFactoryManages and instantiates sound file readers and writers
 CSoundFileReaderAbstract base class for sound file decoding
 CSoundFileWriterAbstract base class for sound file encoding
 CSoundRecorderAbstract base class for capturing sound data
 CSoundSourceBase class defining a sound's properties
 CSoundStreamAbstract base class for streamed audio sources
 CSpriteDrawable representation of a texture, with its own transformations, color, etc
 CStringUtility string class that automatically handles conversions between types and encodings
 CTcpListenerSocket that listens to new TCP connections
 CTcpSocketSpecialized socket using the TCP protocol
 CTextGraphical text that can be drawn to a render target
 CTextureImage living on the graphics card that can be used for drawing
 CThreadUtility class to manipulate threads
 CThreadLocalDefines variables with thread-local storage
 CThreadLocalPtrPointer to a thread-local variable
 CTimeRepresents a time value
 CTouchGive access to the real-time state of the touches
 CTransformDefine a 3x3 transform matrix
 CTransformableDecomposed transform defined by a position, a rotation and a scale
 CUdpSocketSpecialized socket using the UDP protocol
 CUtfUtility class providing generic functions for UTF conversions
 CUtf< 16 >Specialization of the Utf template for UTF-16
 CUtf< 32 >Specialization of the Utf template for UTF-32
 CUtf< 8 >Specialization of the Utf template for UTF-8
 CVector2Utility template class for manipulating 2-dimensional vectors
 CVector3Utility template class for manipulating 3-dimensional vectors
 CVertexDefine a point with color and texture coordinates
 CVertexArrayDefine a set of one or more 2D primitives
 CVertexBufferVertex buffer storage for one or more 2D primitives
 CVideoModeVideoMode defines a video mode (width, height, bpp)
 CView2D camera that defines what region is shown on screen
 CWindowWindow that serves as a target for OpenGL rendering
+
+
+ + + + diff --git a/SFML/doc/html/bc_s.png b/SFML/doc/html/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/SFML/doc/html/bc_s.png differ diff --git a/SFML/doc/html/bdwn.png b/SFML/doc/html/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/SFML/doc/html/bdwn.png differ diff --git a/SFML/doc/html/classes.html b/SFML/doc/html/classes.html new file mode 100644 index 0000000..1e6ab53 --- /dev/null +++ b/SFML/doc/html/classes.html @@ -0,0 +1,130 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Class Index
+
+
+
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | r | s | t | u | v | w
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  a  
+
Event::JoystickButtonEvent (sf)   Socket (sf)   
Event::JoystickConnectEvent (sf)   SocketSelector (sf)   
AlResource (sf)   Event::JoystickMoveEvent (sf)   Sound (sf)   
  b  
+
  k  
+
SoundBuffer (sf)   
SoundBufferRecorder (sf)   
BlendMode (sf)   Keyboard (sf)   SoundFileFactory (sf)   
  c  
+
Event::KeyEvent (sf)   SoundFileReader (sf)   
  l  
+
SoundFileWriter (sf)   
SoundStream::Chunk (sf)   SoundRecorder (sf)   
CircleShape (sf)   Listener (sf)   SoundSource (sf)   
Clipboard (sf)   Ftp::ListingResponse (sf)   SoundStream (sf)   
Clock (sf)   Lock (sf)   Music::Span (sf)   
Color (sf)   
  m  
+
Sprite (sf)   
Context (sf)   String (sf)   
ContextSettings (sf)   MemoryInputStream (sf)   
  t  
+
ConvexShape (sf)   Mouse (sf)   
Shader::CurrentTextureType (sf)   Event::MouseButtonEvent (sf)   TcpListener (sf)   
Cursor (sf)   Event::MouseMoveEvent (sf)   TcpSocket (sf)   
  d  
+
Event::MouseWheelEvent (sf)   Text (sf)   
Event::MouseWheelScrollEvent (sf)   Event::TextEvent (sf)   
Ftp::DirectoryResponse (sf)   Music (sf)   Texture (sf)   
Drawable (sf)   Mutex (sf)   Thread (sf)   
  e  
+
  n  
+
ThreadLocal (sf)   
ThreadLocalPtr (sf)   
Event (sf)   NonCopyable (sf)   Time (sf)   
  f  
+
  o  
+
Touch (sf)   
Event::TouchEvent (sf)   
FileInputStream (sf)   OutputSoundFile (sf)   Transform (sf)   
Font (sf)   
  p  
+
Transformable (sf)   
Ftp (sf)   GlResource::TransientContextLock (sf)   
  g  
+
Packet (sf)   
  u  
+
  r  
+
GlResource (sf)   UdpSocket (sf)   
Glyph (sf)   Rect (sf)   Utf (sf)   
  h  
+
RectangleShape (sf)   Utf< 16 > (sf)   
RenderStates (sf)   Utf< 32 > (sf)   
Http (sf)   RenderTarget (sf)   Utf< 8 > (sf)   
  i  
+
RenderTexture (sf)   
  v  
+
RenderWindow (sf)   
Joystick::Identification (sf)   Http::Request (sf)   Vector2 (sf)   
Image (sf)   Ftp::Response (sf)   Vector3 (sf)   
SoundFileReader::Info (sf)   Http::Response (sf)   Vertex (sf)   
Font::Info (sf)   
  s  
+
VertexArray (sf)   
InputSoundFile (sf)   VertexBuffer (sf)   
InputStream (sf)   Sensor (sf)   VideoMode (sf)   
IpAddress (sf)   Event::SensorEvent (sf)   View (sf)   
  j  
+
Shader (sf)   
  w  
+
Shape (sf)   
Joystick (sf)   Event::SizeEvent (sf)   Window (sf)   
+
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | r | s | t | u | v | w
+
+ + + + diff --git a/SFML/doc/html/classsf_1_1AlResource-members.html b/SFML/doc/html/classsf_1_1AlResource-members.html new file mode 100644 index 0000000..7afed0a --- /dev/null +++ b/SFML/doc/html/classsf_1_1AlResource-members.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::AlResource Member List
+
+
+ +

This is the complete list of members for sf::AlResource, including all inherited members.

+ + + +
AlResource()sf::AlResourceprotected
~AlResource()sf::AlResourceprotected
+ + + + diff --git a/SFML/doc/html/classsf_1_1AlResource.html b/SFML/doc/html/classsf_1_1AlResource.html new file mode 100644 index 0000000..d781ece --- /dev/null +++ b/SFML/doc/html/classsf_1_1AlResource.html @@ -0,0 +1,154 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::AlResource Class Reference
+
+
+ +

Base class for classes that require an OpenAL context. + More...

+ +

#include <AlResource.hpp>

+
+Inheritance diagram for sf::AlResource:
+
+
+ + +sf::SoundBuffer +sf::SoundRecorder +sf::SoundSource +sf::SoundBufferRecorder +sf::Sound +sf::SoundStream +sf::Music + +
+ + + + + + + + +

+Protected Member Functions

 AlResource ()
 Default constructor. More...
 
 ~AlResource ()
 Destructor. More...
 
+

Detailed Description

+

Base class for classes that require an OpenAL context.

+

This class is for internal use only, it must be the base of every class that requires a valid OpenAL context in order to work.

+ +

Definition at line 40 of file AlResource.hpp.

+

Constructor & Destructor Documentation

+ +

◆ AlResource()

+ +
+
+ + + + + +
+ + + + + + + +
sf::AlResource::AlResource ()
+
+protected
+
+ +

Default constructor.

+ +
+
+ +

◆ ~AlResource()

+ +
+
+ + + + + +
+ + + + + + + +
sf::AlResource::~AlResource ()
+
+protected
+
+ +

Destructor.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1AlResource.png b/SFML/doc/html/classsf_1_1AlResource.png new file mode 100644 index 0000000..6ccd553 Binary files /dev/null and b/SFML/doc/html/classsf_1_1AlResource.png differ diff --git a/SFML/doc/html/classsf_1_1CircleShape-members.html b/SFML/doc/html/classsf_1_1CircleShape-members.html new file mode 100644 index 0000000..f129e75 --- /dev/null +++ b/SFML/doc/html/classsf_1_1CircleShape-members.html @@ -0,0 +1,103 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::CircleShape Member List
+
+
+ +

This is the complete list of members for sf::CircleShape, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CircleShape(float radius=0, std::size_t pointCount=30)sf::CircleShapeexplicit
getFillColor() constsf::Shape
getGlobalBounds() constsf::Shape
getInverseTransform() constsf::Transformable
getLocalBounds() constsf::Shape
getOrigin() constsf::Transformable
getOutlineColor() constsf::Shape
getOutlineThickness() constsf::Shape
getPoint(std::size_t index) constsf::CircleShapevirtual
getPointCount() constsf::CircleShapevirtual
getPosition() constsf::Transformable
getRadius() constsf::CircleShape
getRotation() constsf::Transformable
getScale() constsf::Transformable
getTexture() constsf::Shape
getTextureRect() constsf::Shape
getTransform() constsf::Transformable
move(float offsetX, float offsetY)sf::Transformable
move(const Vector2f &offset)sf::Transformable
rotate(float angle)sf::Transformable
scale(float factorX, float factorY)sf::Transformable
scale(const Vector2f &factor)sf::Transformable
setFillColor(const Color &color)sf::Shape
setOrigin(float x, float y)sf::Transformable
setOrigin(const Vector2f &origin)sf::Transformable
setOutlineColor(const Color &color)sf::Shape
setOutlineThickness(float thickness)sf::Shape
setPointCount(std::size_t count)sf::CircleShape
setPosition(float x, float y)sf::Transformable
setPosition(const Vector2f &position)sf::Transformable
setRadius(float radius)sf::CircleShape
setRotation(float angle)sf::Transformable
setScale(float factorX, float factorY)sf::Transformable
setScale(const Vector2f &factors)sf::Transformable
setTexture(const Texture *texture, bool resetRect=false)sf::Shape
setTextureRect(const IntRect &rect)sf::Shape
Shape()sf::Shapeprotected
Transformable()sf::Transformable
update()sf::Shapeprotected
~Drawable()sf::Drawableinlinevirtual
~Shape()sf::Shapevirtual
~Transformable()sf::Transformablevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1CircleShape.html b/SFML/doc/html/classsf_1_1CircleShape.html new file mode 100644 index 0000000..f4b8994 --- /dev/null +++ b/SFML/doc/html/classsf_1_1CircleShape.html @@ -0,0 +1,1478 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Specialized shape representing a circle. + More...

+ +

#include <CircleShape.hpp>

+
+Inheritance diagram for sf::CircleShape:
+
+
+ + +sf::Shape +sf::Drawable +sf::Transformable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CircleShape (float radius=0, std::size_t pointCount=30)
 Default constructor. More...
 
void setRadius (float radius)
 Set the radius of the circle. More...
 
float getRadius () const
 Get the radius of the circle. More...
 
void setPointCount (std::size_t count)
 Set the number of points of the circle. More...
 
virtual std::size_t getPointCount () const
 Get the number of points of the circle. More...
 
virtual Vector2f getPoint (std::size_t index) const
 Get a point of the circle. More...
 
void setTexture (const Texture *texture, bool resetRect=false)
 Change the source texture of the shape. More...
 
void setTextureRect (const IntRect &rect)
 Set the sub-rectangle of the texture that the shape will display. More...
 
void setFillColor (const Color &color)
 Set the fill color of the shape. More...
 
void setOutlineColor (const Color &color)
 Set the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Set the thickness of the shape's outline. More...
 
const TexturegetTexture () const
 Get the source texture of the shape. More...
 
const IntRectgetTextureRect () const
 Get the sub-rectangle of the texture displayed by the shape. More...
 
const ColorgetFillColor () const
 Get the fill color of the shape. More...
 
const ColorgetOutlineColor () const
 Get the outline color of the shape. More...
 
float getOutlineThickness () const
 Get the outline thickness of the shape. More...
 
FloatRect getLocalBounds () const
 Get the local bounding rectangle of the entity. More...
 
FloatRect getGlobalBounds () const
 Get the global (non-minimal) bounding rectangle of the entity. More...
 
void setPosition (float x, float y)
 set the position of the object More...
 
void setPosition (const Vector2f &position)
 set the position of the object More...
 
void setRotation (float angle)
 set the orientation of the object More...
 
void setScale (float factorX, float factorY)
 set the scale factors of the object More...
 
void setScale (const Vector2f &factors)
 set the scale factors of the object More...
 
void setOrigin (float x, float y)
 set the local origin of the object More...
 
void setOrigin (const Vector2f &origin)
 set the local origin of the object More...
 
const Vector2fgetPosition () const
 get the position of the object More...
 
float getRotation () const
 get the orientation of the object More...
 
const Vector2fgetScale () const
 get the current scale of the object More...
 
const Vector2fgetOrigin () const
 get the local origin of the object More...
 
void move (float offsetX, float offsetY)
 Move the object by a given offset. More...
 
void move (const Vector2f &offset)
 Move the object by a given offset. More...
 
void rotate (float angle)
 Rotate the object. More...
 
void scale (float factorX, float factorY)
 Scale the object. More...
 
void scale (const Vector2f &factor)
 Scale the object. More...
 
const TransformgetTransform () const
 get the combined transform of the object More...
 
const TransformgetInverseTransform () const
 get the inverse of the combined transform of the object More...
 
+ + + + +

+Protected Member Functions

void update ()
 Recompute the internal geometry of the shape. More...
 
+

Detailed Description

+

Specialized shape representing a circle.

+

This class inherits all the functions of sf::Transformable (position, rotation, scale, bounds, ...) as well as the functions of sf::Shape (outline, color, texture, ...).

+

Usage example:

circle.setRadius(150);
circle.setPosition(10, 20);
...
window.draw(circle);

Since the graphics card can't draw perfect circles, we have to fake them with multiple triangles connected to each other. The "points count" property of sf::CircleShape defines how many of these triangles to use, and therefore defines the quality of the circle.

+

The number of points can also be used for another purpose; with small numbers you can create any regular polygon shape: equilateral triangle, square, pentagon, hexagon, ...

+
See also
sf::Shape, sf::RectangleShape, sf::ConvexShape
+ +

Definition at line 41 of file CircleShape.hpp.

+

Constructor & Destructor Documentation

+ +

◆ CircleShape()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
sf::CircleShape::CircleShape (float radius = 0,
std::size_t pointCount = 30 
)
+
+explicit
+
+ +

Default constructor.

+
Parameters
+ + + +
radiusRadius of the circle
pointCountNumber of points composing the circle
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getFillColor()

+ +
+
+ + + + + +
+ + + + + + + +
const Color& sf::Shape::getFillColor () const
+
+inherited
+
+ +

Get the fill color of the shape.

+
Returns
Fill color of the shape
+
See also
setFillColor
+ +
+
+ +

◆ getGlobalBounds()

+ +
+
+ + + + + +
+ + + + + + + +
FloatRect sf::Shape::getGlobalBounds () const
+
+inherited
+
+ +

Get the global (non-minimal) bounding rectangle of the entity.

+

The returned rectangle is in global coordinates, which means that it takes into account the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the shape in the global 2D world's coordinate system.

+

This function does not necessarily return the minimal bounding rectangle. It merely ensures that the returned rectangle covers all the vertices (but possibly more). This allows for a fast approximation of the bounds as a first check; you may want to use more precise checks on top of that.

+
Returns
Global bounding rectangle of the entity
+ +
+
+ +

◆ getInverseTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getInverseTransform () const
+
+inherited
+
+ +

get the inverse of the combined transform of the object

+
Returns
Inverse of the combined transformations applied to the object
+
See also
getTransform
+ +
+
+ +

◆ getLocalBounds()

+ +
+
+ + + + + +
+ + + + + + + +
FloatRect sf::Shape::getLocalBounds () const
+
+inherited
+
+ +

Get the local bounding rectangle of the entity.

+

The returned rectangle is in local coordinates, which means that it ignores the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the entity in the entity's coordinate system.

+
Returns
Local bounding rectangle of the entity
+ +
+
+ +

◆ getOrigin()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getOrigin () const
+
+inherited
+
+ +

get the local origin of the object

+
Returns
Current origin
+
See also
setOrigin
+ +
+
+ +

◆ getOutlineColor()

+ +
+
+ + + + + +
+ + + + + + + +
const Color& sf::Shape::getOutlineColor () const
+
+inherited
+
+ +

Get the outline color of the shape.

+
Returns
Outline color of the shape
+
See also
setOutlineColor
+ +
+
+ +

◆ getOutlineThickness()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Shape::getOutlineThickness () const
+
+inherited
+
+ +

Get the outline thickness of the shape.

+
Returns
Outline thickness of the shape
+
See also
setOutlineThickness
+ +
+
+ +

◆ getPoint()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual Vector2f sf::CircleShape::getPoint (std::size_t index) const
+
+virtual
+
+ +

Get a point of the circle.

+

The returned point is in local coordinates, that is, the shape's transforms (position, rotation, scale) are not taken into account. The result is undefined if index is out of the valid range.

+
Parameters
+ + +
indexIndex of the point to get, in range [0 .. getPointCount() - 1]
+
+
+
Returns
index-th point of the shape
+ +

Implements sf::Shape.

+ +
+
+ +

◆ getPointCount()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::size_t sf::CircleShape::getPointCount () const
+
+virtual
+
+ +

Get the number of points of the circle.

+
Returns
Number of points of the circle
+
See also
setPointCount
+ +

Implements sf::Shape.

+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getPosition () const
+
+inherited
+
+ +

get the position of the object

+
Returns
Current position
+
See also
setPosition
+ +
+
+ +

◆ getRadius()

+ +
+
+ + + + + + + +
float sf::CircleShape::getRadius () const
+
+ +

Get the radius of the circle.

+
Returns
Radius of the circle
+
See also
setRadius
+ +
+
+ +

◆ getRotation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Transformable::getRotation () const
+
+inherited
+
+ +

get the orientation of the object

+

The rotation is always in the range [0, 360].

+
Returns
Current rotation, in degrees
+
See also
setRotation
+ +
+
+ +

◆ getScale()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getScale () const
+
+inherited
+
+ +

get the current scale of the object

+
Returns
Current scale factors
+
See also
setScale
+ +
+
+ +

◆ getTexture()

+ +
+
+ + + + + +
+ + + + + + + +
const Texture* sf::Shape::getTexture () const
+
+inherited
+
+ +

Get the source texture of the shape.

+

If the shape has no source texture, a NULL pointer is returned. The returned pointer is const, which means that you can't modify the texture when you retrieve it with this function.

+
Returns
Pointer to the shape's texture
+
See also
setTexture
+ +
+
+ +

◆ getTextureRect()

+ +
+
+ + + + + +
+ + + + + + + +
const IntRect& sf::Shape::getTextureRect () const
+
+inherited
+
+ +

Get the sub-rectangle of the texture displayed by the shape.

+
Returns
Texture rectangle of the shape
+
See also
setTextureRect
+ +
+
+ +

◆ getTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getTransform () const
+
+inherited
+
+ +

get the combined transform of the object

+
Returns
Transform combining the position/rotation/scale/origin of the object
+
See also
getInverseTransform
+ +
+
+ +

◆ move() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::move (float offsetX,
float offsetY 
)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f pos = object.getPosition();
object.setPosition(pos.x + offsetX, pos.y + offsetY);
Parameters
+ + + +
offsetXX offset
offsetYY offset
+
+
+
See also
setPosition
+ +
+
+ +

◆ move() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::move (const Vector2foffset)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

object.setPosition(object.getPosition() + offset);
Parameters
+ + +
offsetOffset
+
+
+
See also
setPosition
+ +
+
+ +

◆ rotate()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::rotate (float angle)
+
+inherited
+
+ +

Rotate the object.

+

This function adds to the current rotation of the object, unlike setRotation which overwrites it. Thus, it is equivalent to the following code:

object.setRotation(object.getRotation() + angle);
Parameters
+ + +
angleAngle of rotation, in degrees
+
+
+ +
+
+ +

◆ scale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::scale (float factorX,
float factorY 
)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factorX, scale.y * factorY);
Parameters
+ + + +
factorXHorizontal scale factor
factorYVertical scale factor
+
+
+
See also
setScale
+ +
+
+ +

◆ scale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::scale (const Vector2ffactor)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factor.x, scale.y * factor.y);
Parameters
+ + +
factorScale factors
+
+
+
See also
setScale
+ +
+
+ +

◆ setFillColor()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setFillColor (const Colorcolor)
+
+inherited
+
+ +

Set the fill color of the shape.

+

This color is modulated (multiplied) with the shape's texture if any. It can be used to colorize the shape, or change its global opacity. You can use sf::Color::Transparent to make the inside of the shape transparent, and have the outline alone. By default, the shape's fill color is opaque white.

+
Parameters
+ + +
colorNew color of the shape
+
+
+
See also
getFillColor, setOutlineColor
+ +
+
+ +

◆ setOrigin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setOrigin (float x,
float y 
)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new origin
yY coordinate of the new origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOrigin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setOrigin (const Vector2forigin)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + +
originNew origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOutlineColor()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setOutlineColor (const Colorcolor)
+
+inherited
+
+ +

Set the outline color of the shape.

+

By default, the shape's outline color is opaque white.

+
Parameters
+ + +
colorNew outline color of the shape
+
+
+
See also
getOutlineColor, setFillColor
+ +
+
+ +

◆ setOutlineThickness()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setOutlineThickness (float thickness)
+
+inherited
+
+ +

Set the thickness of the shape's outline.

+

Note that negative values are allowed (so that the outline expands towards the center of the shape), and using zero disables the outline. By default, the outline thickness is 0.

+
Parameters
+ + +
thicknessNew outline thickness
+
+
+
See also
getOutlineThickness
+ +
+
+ +

◆ setPointCount()

+ +
+
+ + + + + + + + +
void sf::CircleShape::setPointCount (std::size_t count)
+
+ +

Set the number of points of the circle.

+
Parameters
+ + +
countNew number of points of the circle
+
+
+
See also
getPointCount
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setPosition (float x,
float y 
)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new position
yY coordinate of the new position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setPosition (const Vector2fposition)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + +
positionNew position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setRadius()

+ +
+
+ + + + + + + + +
void sf::CircleShape::setRadius (float radius)
+
+ +

Set the radius of the circle.

+
Parameters
+ + +
radiusNew radius of the circle
+
+
+
See also
getRadius
+ +
+
+ +

◆ setRotation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setRotation (float angle)
+
+inherited
+
+ +

set the orientation of the object

+

This function completely overwrites the previous rotation. See the rotate function to add an angle based on the previous rotation instead. The default rotation of a transformable object is 0.

+
Parameters
+ + +
angleNew rotation, in degrees
+
+
+
See also
rotate, getRotation
+ +
+
+ +

◆ setScale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setScale (float factorX,
float factorY 
)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + + +
factorXNew horizontal scale factor
factorYNew vertical scale factor
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setScale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setScale (const Vector2ffactors)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + +
factorsNew scale factors
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setTexture()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Shape::setTexture (const Texturetexture,
bool resetRect = false 
)
+
+inherited
+
+ +

Change the source texture of the shape.

+

The texture argument refers to a texture that must exist as long as the shape uses it. Indeed, the shape doesn't store its own copy of the texture, but rather keeps a pointer to the one that you passed to this function. If the source texture is destroyed and the shape tries to use it, the behavior is undefined. texture can be NULL to disable texturing. If resetRect is true, the TextureRect property of the shape is automatically adjusted to the size of the new texture. If it is false, the texture rect is left unchanged.

+
Parameters
+ + + +
textureNew texture
resetRectShould the texture rect be reset to the size of the new texture?
+
+
+
See also
getTexture, setTextureRect
+ +
+
+ +

◆ setTextureRect()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setTextureRect (const IntRectrect)
+
+inherited
+
+ +

Set the sub-rectangle of the texture that the shape will display.

+

The texture rect is useful when you don't want to display the whole texture, but rather a part of it. By default, the texture rect covers the entire texture.

+
Parameters
+ + +
rectRectangle defining the region of the texture to display
+
+
+
See also
getTextureRect, setTexture
+ +
+
+ +

◆ update()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Shape::update ()
+
+protectedinherited
+
+ +

Recompute the internal geometry of the shape.

+

This function must be called by the derived class everytime the shape's points change (i.e. the result of either getPointCount or getPoint is different).

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1CircleShape.png b/SFML/doc/html/classsf_1_1CircleShape.png new file mode 100644 index 0000000..b7c65ef Binary files /dev/null and b/SFML/doc/html/classsf_1_1CircleShape.png differ diff --git a/SFML/doc/html/classsf_1_1Clipboard-members.html b/SFML/doc/html/classsf_1_1Clipboard-members.html new file mode 100644 index 0000000..2e82aae --- /dev/null +++ b/SFML/doc/html/classsf_1_1Clipboard-members.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Clipboard Member List
+
+
+ +

This is the complete list of members for sf::Clipboard, including all inherited members.

+ + + +
getString()sf::Clipboardstatic
setString(const String &text)sf::Clipboardstatic
+ + + + diff --git a/SFML/doc/html/classsf_1_1Clipboard.html b/SFML/doc/html/classsf_1_1Clipboard.html new file mode 100644 index 0000000..116b884 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Clipboard.html @@ -0,0 +1,152 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Clipboard Class Reference
+
+
+ +

Give access to the system clipboard. + More...

+ +

#include <Clipboard.hpp>

+ + + + + + + + +

+Static Public Member Functions

static String getString ()
 Get the content of the clipboard as string data. More...
 
static void setString (const String &text)
 Set the content of the clipboard as string data. More...
 
+

Detailed Description

+

Give access to the system clipboard.

+

sf::Clipboard provides an interface for getting and setting the contents of the system clipboard.

+

It is important to note that due to limitations on some operating systems, setting the clipboard contents is only guaranteed to work if there is currently an open window for which events are being handled.

+

Usage example:

// get the clipboard content as a string
// or use it in the event loop
sf::Event event;
while(window.pollEvent(event))
{
if(event.type == sf::Event::Closed)
window.close();
{
// Using Ctrl + V to paste a string into SFML
if(event.key.control && event.key.code == sf::Keyboard::V)
// Using Ctrl + C to copy a string out of SFML
if(event.key.control && event.key.code == sf::Keyboard::C)
sf::Clipboard::setString("Hello World!");
}
}
See also
sf::String, sf::Event
+ +

Definition at line 41 of file Clipboard.hpp.

+

Member Function Documentation

+ +

◆ getString()

+ +
+
+ + + + + +
+ + + + + + + +
static String sf::Clipboard::getString ()
+
+static
+
+ +

Get the content of the clipboard as string data.

+

This function returns the content of the clipboard as a string. If the clipboard does not contain string it returns an empty sf::String object.

+
Returns
Clipboard contents as sf::String object
+ +
+
+ +

◆ setString()

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::Clipboard::setString (const Stringtext)
+
+static
+
+ +

Set the content of the clipboard as string data.

+

This function sets the content of the clipboard as a string.

+
Warning
Due to limitations on some operating systems, setting the clipboard contents is only guaranteed to work if there is currently an open window for which events are being handled.
+
Parameters
+ + +
textsf::String containing the data to be sent to the clipboard
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Clock-members.html b/SFML/doc/html/classsf_1_1Clock-members.html new file mode 100644 index 0000000..e1e1a77 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Clock-members.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Clock Member List
+
+
+ +

This is the complete list of members for sf::Clock, including all inherited members.

+ + + + +
Clock()sf::Clock
getElapsedTime() constsf::Clock
restart()sf::Clock
+ + + + diff --git a/SFML/doc/html/classsf_1_1Clock.html b/SFML/doc/html/classsf_1_1Clock.html new file mode 100644 index 0000000..ec4bada --- /dev/null +++ b/SFML/doc/html/classsf_1_1Clock.html @@ -0,0 +1,154 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Clock Class Reference
+
+
+ +

Utility class that measures the elapsed time. + More...

+ +

#include <Clock.hpp>

+ + + + + + + + + + + +

+Public Member Functions

 Clock ()
 Default constructor. More...
 
Time getElapsedTime () const
 Get the elapsed time. More...
 
Time restart ()
 Restart the clock. More...
 
+

Detailed Description

+

Utility class that measures the elapsed time.

+

sf::Clock is a lightweight class for measuring time.

+

Its provides the most precise time that the underlying OS can achieve (generally microseconds or nanoseconds). It also ensures monotonicity, which means that the returned time can never go backward, even if the system time is changed.

+

Usage example:

sf::Clock clock;
...
Time time1 = clock.getElapsedTime();
...
Time time2 = clock.restart();

The sf::Time value returned by the clock can then be converted to a number of seconds, milliseconds or even microseconds.

+
See also
sf::Time
+ +

Definition at line 41 of file Clock.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Clock()

+ +
+
+ + + + + + + +
sf::Clock::Clock ()
+
+ +

Default constructor.

+

The clock starts automatically after being constructed.

+ +
+
+

Member Function Documentation

+ +

◆ getElapsedTime()

+ +
+
+ + + + + + + +
Time sf::Clock::getElapsedTime () const
+
+ +

Get the elapsed time.

+

This function returns the time elapsed since the last call to restart() (or the construction of the instance if restart() has not been called).

+
Returns
Time elapsed
+ +
+
+ +

◆ restart()

+ +
+
+ + + + + + + +
Time sf::Clock::restart ()
+
+ +

Restart the clock.

+

This function puts the time counter back to zero. It also returns the time elapsed since the clock was started.

+
Returns
Time elapsed
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Color-members.html b/SFML/doc/html/classsf_1_1Color-members.html new file mode 100644 index 0000000..e5939b3 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Color-members.html @@ -0,0 +1,86 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Color Member List
+
+
+ +

This is the complete list of members for sf::Color, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
asf::Color
bsf::Color
Blacksf::Colorstatic
Bluesf::Colorstatic
Color()sf::Color
Color(Uint8 red, Uint8 green, Uint8 blue, Uint8 alpha=255)sf::Color
Color(Uint32 color)sf::Colorexplicit
Cyansf::Colorstatic
gsf::Color
Greensf::Colorstatic
Magentasf::Colorstatic
operator!=(const Color &left, const Color &right)sf::Colorrelated
operator*(const Color &left, const Color &right)sf::Colorrelated
operator*=(Color &left, const Color &right)sf::Colorrelated
operator+(const Color &left, const Color &right)sf::Colorrelated
operator+=(Color &left, const Color &right)sf::Colorrelated
operator-(const Color &left, const Color &right)sf::Colorrelated
operator-=(Color &left, const Color &right)sf::Colorrelated
operator==(const Color &left, const Color &right)sf::Colorrelated
rsf::Color
Redsf::Colorstatic
toInteger() constsf::Color
Transparentsf::Colorstatic
Whitesf::Colorstatic
Yellowsf::Colorstatic
+ + + + diff --git a/SFML/doc/html/classsf_1_1Color.html b/SFML/doc/html/classsf_1_1Color.html new file mode 100644 index 0000000..7c3dcf9 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Color.html @@ -0,0 +1,987 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Utility class for manipulating RGBA colors. + More...

+ +

#include <Color.hpp>

+ + + + + + + + + + + + + + +

+Public Member Functions

 Color ()
 Default constructor. More...
 
 Color (Uint8 red, Uint8 green, Uint8 blue, Uint8 alpha=255)
 Construct the color from its 4 RGBA components. More...
 
 Color (Uint32 color)
 Construct the color from 32-bit unsigned integer. More...
 
Uint32 toInteger () const
 Retrieve the color as a 32-bit unsigned integer. More...
 
+ + + + + + + + + + + + + +

+Public Attributes

Uint8 r
 Red component. More...
 
Uint8 g
 Green component. More...
 
Uint8 b
 Blue component. More...
 
Uint8 a
 Alpha (opacity) component. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Attributes

static const Color Black
 Black predefined color. More...
 
static const Color White
 White predefined color. More...
 
static const Color Red
 Red predefined color. More...
 
static const Color Green
 Green predefined color. More...
 
static const Color Blue
 Blue predefined color. More...
 
static const Color Yellow
 Yellow predefined color. More...
 
static const Color Magenta
 Magenta predefined color. More...
 
static const Color Cyan
 Cyan predefined color. More...
 
static const Color Transparent
 Transparent (black) predefined color. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
bool operator== (const Color &left, const Color &right)
 Overload of the == operator. More...
 
bool operator!= (const Color &left, const Color &right)
 Overload of the != operator. More...
 
Color operator+ (const Color &left, const Color &right)
 Overload of the binary + operator. More...
 
Color operator- (const Color &left, const Color &right)
 Overload of the binary - operator. More...
 
Color operator* (const Color &left, const Color &right)
 Overload of the binary * operator. More...
 
Coloroperator+= (Color &left, const Color &right)
 Overload of the binary += operator. More...
 
Coloroperator-= (Color &left, const Color &right)
 Overload of the binary -= operator. More...
 
Coloroperator*= (Color &left, const Color &right)
 Overload of the binary *= operator. More...
 
+

Detailed Description

+

Utility class for manipulating RGBA colors.

+

sf::Color is a simple color class composed of 4 components:

+
    +
  • Red
  • +
  • Green
  • +
  • Blue
  • +
  • Alpha (opacity)
  • +
+

Each component is a public member, an unsigned integer in the range [0, 255]. Thus, colors can be constructed and manipulated very easily:

+
sf::Color color(255, 0, 0); // red
color.r = 0; // make it black
color.b = 128; // make it dark blue

The fourth component of colors, named "alpha", represents the opacity of the color. A color with an alpha value of 255 will be fully opaque, while an alpha value of 0 will make a color fully transparent, whatever the value of the other components is.

+

The most common colors are already defined as static variables:

Colors can also be added and modulated (multiplied) using the overloaded operators + and *.

+ +

Definition at line 40 of file Color.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Color() [1/3]

+ +
+
+ + + + + + + +
sf::Color::Color ()
+
+ +

Default constructor.

+

Constructs an opaque black color. It is equivalent to sf::Color(0, 0, 0, 255).

+ +
+
+ +

◆ Color() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sf::Color::Color (Uint8 red,
Uint8 green,
Uint8 blue,
Uint8 alpha = 255 
)
+
+ +

Construct the color from its 4 RGBA components.

+
Parameters
+ + + + + +
redRed component (in the range [0, 255])
greenGreen component (in the range [0, 255])
blueBlue component (in the range [0, 255])
alphaAlpha (opacity) component (in the range [0, 255])
+
+
+ +
+
+ +

◆ Color() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
sf::Color::Color (Uint32 color)
+
+explicit
+
+ +

Construct the color from 32-bit unsigned integer.

+
Parameters
+ + +
colorNumber containing the RGBA components (in that order)
+
+
+ +
+
+

Member Function Documentation

+ +

◆ toInteger()

+ +
+
+ + + + + + + +
Uint32 sf::Color::toInteger () const
+
+ +

Retrieve the color as a 32-bit unsigned integer.

+
Returns
Color represented as a 32-bit unsigned integer
+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator!=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const Colorleft,
const Colorright 
)
+
+related
+
+ +

Overload of the != operator.

+

This operator compares two colors and check if they are different.

+
Parameters
+ + + +
leftLeft operand
rightRight operand
+
+
+
Returns
True if colors are different, false if they are equal
+ +
+
+ +

◆ operator*()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Color operator* (const Colorleft,
const Colorright 
)
+
+related
+
+ +

Overload of the binary * operator.

+

This operator returns the component-wise multiplication (also called "modulation") of two colors. Components are then divided by 255 so that the result is still in the range [0, 255].

+
Parameters
+ + + +
leftLeft operand
rightRight operand
+
+
+
Returns
Result of left * right
+ +
+
+ +

◆ operator*=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Color & operator*= (Colorleft,
const Colorright 
)
+
+related
+
+ +

Overload of the binary *= operator.

+

This operator returns the component-wise multiplication (also called "modulation") of two colors, and assigns the result to the left operand. Components are then divided by 255 so that the result is still in the range [0, 255].

+
Parameters
+ + + +
leftLeft operand
rightRight operand
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator+()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Color operator+ (const Colorleft,
const Colorright 
)
+
+related
+
+ +

Overload of the binary + operator.

+

This operator returns the component-wise sum of two colors. Components that exceed 255 are clamped to 255.

+
Parameters
+ + + +
leftLeft operand
rightRight operand
+
+
+
Returns
Result of left + right
+ +
+
+ +

◆ operator+=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Color & operator+= (Colorleft,
const Colorright 
)
+
+related
+
+ +

Overload of the binary += operator.

+

This operator computes the component-wise sum of two colors, and assigns the result to the left operand. Components that exceed 255 are clamped to 255.

+
Parameters
+ + + +
leftLeft operand
rightRight operand
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator-()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Color operator- (const Colorleft,
const Colorright 
)
+
+related
+
+ +

Overload of the binary - operator.

+

This operator returns the component-wise subtraction of two colors. Components below 0 are clamped to 0.

+
Parameters
+ + + +
leftLeft operand
rightRight operand
+
+
+
Returns
Result of left - right
+ +
+
+ +

◆ operator-=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Color & operator-= (Colorleft,
const Colorright 
)
+
+related
+
+ +

Overload of the binary -= operator.

+

This operator computes the component-wise subtraction of two colors, and assigns the result to the left operand. Components below 0 are clamped to 0.

+
Parameters
+ + + +
leftLeft operand
rightRight operand
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const Colorleft,
const Colorright 
)
+
+related
+
+ +

Overload of the == operator.

+

This operator compares two colors and check if they are equal.

+
Parameters
+ + + +
leftLeft operand
rightRight operand
+
+
+
Returns
True if colors are equal, false if they are different
+ +
+
+

Member Data Documentation

+ +

◆ a

+ +
+
+ + + + +
Uint8 sf::Color::a
+
+ +

Alpha (opacity) component.

+ +

Definition at line 99 of file Color.hpp.

+ +
+
+ +

◆ b

+ +
+
+ + + + +
Uint8 sf::Color::b
+
+ +

Blue component.

+ +

Definition at line 98 of file Color.hpp.

+ +
+
+ +

◆ Black

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::Black
+
+static
+
+ +

Black predefined color.

+ +

Definition at line 83 of file Color.hpp.

+ +
+
+ +

◆ Blue

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::Blue
+
+static
+
+ +

Blue predefined color.

+ +

Definition at line 87 of file Color.hpp.

+ +
+
+ +

◆ Cyan

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::Cyan
+
+static
+
+ +

Cyan predefined color.

+ +

Definition at line 90 of file Color.hpp.

+ +
+
+ +

◆ g

+ +
+
+ + + + +
Uint8 sf::Color::g
+
+ +

Green component.

+ +

Definition at line 97 of file Color.hpp.

+ +
+
+ +

◆ Green

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::Green
+
+static
+
+ +

Green predefined color.

+ +

Definition at line 86 of file Color.hpp.

+ +
+
+ +

◆ Magenta

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::Magenta
+
+static
+
+ +

Magenta predefined color.

+ +

Definition at line 89 of file Color.hpp.

+ +
+
+ +

◆ r

+ +
+
+ + + + +
Uint8 sf::Color::r
+
+ +

Red component.

+ +

Definition at line 96 of file Color.hpp.

+ +
+
+ +

◆ Red

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::Red
+
+static
+
+ +

Red predefined color.

+ +

Definition at line 85 of file Color.hpp.

+ +
+
+ +

◆ Transparent

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::Transparent
+
+static
+
+ +

Transparent (black) predefined color.

+ +

Definition at line 91 of file Color.hpp.

+ +
+
+ +

◆ White

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::White
+
+static
+
+ +

White predefined color.

+ +

Definition at line 84 of file Color.hpp.

+ +
+
+ +

◆ Yellow

+ +
+
+ + + + + +
+ + + + +
const Color sf::Color::Yellow
+
+static
+
+ +

Yellow predefined color.

+ +

Definition at line 88 of file Color.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Context-members.html b/SFML/doc/html/classsf_1_1Context-members.html new file mode 100644 index 0000000..0d2bb7b --- /dev/null +++ b/SFML/doc/html/classsf_1_1Context-members.html @@ -0,0 +1,75 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Context Member List
+
+
+ +

This is the complete list of members for sf::Context, including all inherited members.

+ + + + + + + + + + + + + + + +
Context()sf::Context
Context(const ContextSettings &settings, unsigned int width, unsigned int height)sf::Context
getActiveContext()sf::Contextstatic
getActiveContextId()sf::Contextstatic
getFunction(const char *name)sf::Contextstatic
getSettings() constsf::Context
GlResource()sf::GlResourceprivate
isExtensionAvailable(const char *name)sf::Contextstatic
NonCopyable()sf::NonCopyableinlineprivate
registerContextDestroyCallback(ContextDestroyCallback callback, void *arg)sf::GlResourceprivatestatic
setActive(bool active)sf::Context
~Context()sf::Context
~GlResource()sf::GlResourceprivate
~NonCopyable()sf::NonCopyableinlineprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1Context.html b/SFML/doc/html/classsf_1_1Context.html new file mode 100644 index 0000000..0cd5a84 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Context.html @@ -0,0 +1,392 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Class holding a valid drawing context. + More...

+ +

#include <Context.hpp>

+
+Inheritance diagram for sf::Context:
+
+
+ + +sf::GlResource +sf::NonCopyable + +
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 Context ()
 Default constructor. More...
 
 ~Context ()
 Destructor. More...
 
bool setActive (bool active)
 Activate or deactivate explicitly the context. More...
 
const ContextSettingsgetSettings () const
 Get the settings of the context. More...
 
 Context (const ContextSettings &settings, unsigned int width, unsigned int height)
 Construct a in-memory context. More...
 
+ + + + + + + + + + + + + +

+Static Public Member Functions

static bool isExtensionAvailable (const char *name)
 Check whether a given OpenGL extension is available. More...
 
static GlFunctionPointer getFunction (const char *name)
 Get the address of an OpenGL function. More...
 
static const ContextgetActiveContext ()
 Get the currently active context. More...
 
static Uint64 getActiveContextId ()
 Get the currently active context's ID. More...
 
+ + + + +

+Static Private Member Functions

static void registerContextDestroyCallback (ContextDestroyCallback callback, void *arg)
 Register a function to be called when a context is destroyed. More...
 
+

Detailed Description

+

Class holding a valid drawing context.

+

If you need to make OpenGL calls without having an active window (like in a thread), you can use an instance of this class to get a valid context.

+

Having a valid context is necessary for every OpenGL call.

+

Note that a context is only active in its current thread, if you create a new thread it will have no valid context by default.

+

To use a sf::Context instance, just construct it and let it live as long as you need a valid context. No explicit activation is needed, all it has to do is to exist. Its destructor will take care of deactivating and freeing all the attached resources.

+

Usage example:

void threadFunction(void*)
{
sf::Context context;
// from now on, you have a valid context
// you can make OpenGL calls
glClear(GL_DEPTH_BUFFER_BIT);
}
// the context is automatically deactivated and destroyed
// by the sf::Context destructor
+

Definition at line 50 of file Context.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Context() [1/2]

+ +
+
+ + + + + + + +
sf::Context::Context ()
+
+ +

Default constructor.

+

The constructor creates and activates the context

+ +
+
+ +

◆ ~Context()

+ +
+
+ + + + + + + +
sf::Context::~Context ()
+
+ +

Destructor.

+

The destructor deactivates and destroys the context

+ +
+
+ +

◆ Context() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
sf::Context::Context (const ContextSettingssettings,
unsigned int width,
unsigned int height 
)
+
+ +

Construct a in-memory context.

+

This constructor is for internal use, you don't need to bother with it.

+
Parameters
+ + + + +
settingsCreation parameters
widthBack buffer width
heightBack buffer height
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getActiveContext()

+ +
+
+ + + + + +
+ + + + + + + +
static const Context* sf::Context::getActiveContext ()
+
+static
+
+ +

Get the currently active context.

+

This function will only return sf::Context objects. Contexts created e.g. by RenderTargets or for internal use will not be returned by this function.

+
Returns
The currently active context or NULL if none is active
+ +
+
+ +

◆ getActiveContextId()

+ +
+
+ + + + + +
+ + + + + + + +
static Uint64 sf::Context::getActiveContextId ()
+
+static
+
+ +

Get the currently active context's ID.

+

The context ID is used to identify contexts when managing unshareable OpenGL resources.

+
Returns
The active context's ID or 0 if no context is currently active
+ +
+
+ +

◆ getFunction()

+ +
+
+ + + + + +
+ + + + + + + + +
static GlFunctionPointer sf::Context::getFunction (const char * name)
+
+static
+
+ +

Get the address of an OpenGL function.

+
Parameters
+ + +
nameName of the function to get the address of
+
+
+
Returns
Address of the OpenGL function, 0 on failure
+ +
+
+ +

◆ getSettings()

+ +
+
+ + + + + + + +
const ContextSettings& sf::Context::getSettings () const
+
+ +

Get the settings of the context.

+

Note that these settings may be different than the ones passed to the constructor; they are indeed adjusted if the original settings are not directly supported by the system.

+
Returns
Structure containing the settings
+ +
+
+ +

◆ isExtensionAvailable()

+ +
+
+ + + + + +
+ + + + + + + + +
static bool sf::Context::isExtensionAvailable (const char * name)
+
+static
+
+ +

Check whether a given OpenGL extension is available.

+
Parameters
+ + +
nameName of the extension to check for
+
+
+
Returns
True if available, false if unavailable
+ +
+
+ +

◆ setActive()

+ +
+
+ + + + + + + + +
bool sf::Context::setActive (bool active)
+
+ +

Activate or deactivate explicitly the context.

+
Parameters
+ + +
activeTrue to activate, false to deactivate
+
+
+
Returns
True on success, false on failure
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Context.png b/SFML/doc/html/classsf_1_1Context.png new file mode 100644 index 0000000..b82e46e Binary files /dev/null and b/SFML/doc/html/classsf_1_1Context.png differ diff --git a/SFML/doc/html/classsf_1_1ConvexShape-members.html b/SFML/doc/html/classsf_1_1ConvexShape-members.html new file mode 100644 index 0000000..7a9b509 --- /dev/null +++ b/SFML/doc/html/classsf_1_1ConvexShape-members.html @@ -0,0 +1,102 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::ConvexShape Member List
+
+
+ +

This is the complete list of members for sf::ConvexShape, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConvexShape(std::size_t pointCount=0)sf::ConvexShapeexplicit
getFillColor() constsf::Shape
getGlobalBounds() constsf::Shape
getInverseTransform() constsf::Transformable
getLocalBounds() constsf::Shape
getOrigin() constsf::Transformable
getOutlineColor() constsf::Shape
getOutlineThickness() constsf::Shape
getPoint(std::size_t index) constsf::ConvexShapevirtual
getPointCount() constsf::ConvexShapevirtual
getPosition() constsf::Transformable
getRotation() constsf::Transformable
getScale() constsf::Transformable
getTexture() constsf::Shape
getTextureRect() constsf::Shape
getTransform() constsf::Transformable
move(float offsetX, float offsetY)sf::Transformable
move(const Vector2f &offset)sf::Transformable
rotate(float angle)sf::Transformable
scale(float factorX, float factorY)sf::Transformable
scale(const Vector2f &factor)sf::Transformable
setFillColor(const Color &color)sf::Shape
setOrigin(float x, float y)sf::Transformable
setOrigin(const Vector2f &origin)sf::Transformable
setOutlineColor(const Color &color)sf::Shape
setOutlineThickness(float thickness)sf::Shape
setPoint(std::size_t index, const Vector2f &point)sf::ConvexShape
setPointCount(std::size_t count)sf::ConvexShape
setPosition(float x, float y)sf::Transformable
setPosition(const Vector2f &position)sf::Transformable
setRotation(float angle)sf::Transformable
setScale(float factorX, float factorY)sf::Transformable
setScale(const Vector2f &factors)sf::Transformable
setTexture(const Texture *texture, bool resetRect=false)sf::Shape
setTextureRect(const IntRect &rect)sf::Shape
Shape()sf::Shapeprotected
Transformable()sf::Transformable
update()sf::Shapeprotected
~Drawable()sf::Drawableinlinevirtual
~Shape()sf::Shapevirtual
~Transformable()sf::Transformablevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1ConvexShape.html b/SFML/doc/html/classsf_1_1ConvexShape.html new file mode 100644 index 0000000..761eace --- /dev/null +++ b/SFML/doc/html/classsf_1_1ConvexShape.html @@ -0,0 +1,1456 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Specialized shape representing a convex polygon. + More...

+ +

#include <ConvexShape.hpp>

+
+Inheritance diagram for sf::ConvexShape:
+
+
+ + +sf::Shape +sf::Drawable +sf::Transformable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ConvexShape (std::size_t pointCount=0)
 Default constructor. More...
 
void setPointCount (std::size_t count)
 Set the number of points of the polygon. More...
 
virtual std::size_t getPointCount () const
 Get the number of points of the polygon. More...
 
void setPoint (std::size_t index, const Vector2f &point)
 Set the position of a point. More...
 
virtual Vector2f getPoint (std::size_t index) const
 Get the position of a point. More...
 
void setTexture (const Texture *texture, bool resetRect=false)
 Change the source texture of the shape. More...
 
void setTextureRect (const IntRect &rect)
 Set the sub-rectangle of the texture that the shape will display. More...
 
void setFillColor (const Color &color)
 Set the fill color of the shape. More...
 
void setOutlineColor (const Color &color)
 Set the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Set the thickness of the shape's outline. More...
 
const TexturegetTexture () const
 Get the source texture of the shape. More...
 
const IntRectgetTextureRect () const
 Get the sub-rectangle of the texture displayed by the shape. More...
 
const ColorgetFillColor () const
 Get the fill color of the shape. More...
 
const ColorgetOutlineColor () const
 Get the outline color of the shape. More...
 
float getOutlineThickness () const
 Get the outline thickness of the shape. More...
 
FloatRect getLocalBounds () const
 Get the local bounding rectangle of the entity. More...
 
FloatRect getGlobalBounds () const
 Get the global (non-minimal) bounding rectangle of the entity. More...
 
void setPosition (float x, float y)
 set the position of the object More...
 
void setPosition (const Vector2f &position)
 set the position of the object More...
 
void setRotation (float angle)
 set the orientation of the object More...
 
void setScale (float factorX, float factorY)
 set the scale factors of the object More...
 
void setScale (const Vector2f &factors)
 set the scale factors of the object More...
 
void setOrigin (float x, float y)
 set the local origin of the object More...
 
void setOrigin (const Vector2f &origin)
 set the local origin of the object More...
 
const Vector2fgetPosition () const
 get the position of the object More...
 
float getRotation () const
 get the orientation of the object More...
 
const Vector2fgetScale () const
 get the current scale of the object More...
 
const Vector2fgetOrigin () const
 get the local origin of the object More...
 
void move (float offsetX, float offsetY)
 Move the object by a given offset. More...
 
void move (const Vector2f &offset)
 Move the object by a given offset. More...
 
void rotate (float angle)
 Rotate the object. More...
 
void scale (float factorX, float factorY)
 Scale the object. More...
 
void scale (const Vector2f &factor)
 Scale the object. More...
 
const TransformgetTransform () const
 get the combined transform of the object More...
 
const TransformgetInverseTransform () const
 get the inverse of the combined transform of the object More...
 
+ + + + +

+Protected Member Functions

void update ()
 Recompute the internal geometry of the shape. More...
 
+

Detailed Description

+

Specialized shape representing a convex polygon.

+

This class inherits all the functions of sf::Transformable (position, rotation, scale, bounds, ...) as well as the functions of sf::Shape (outline, color, texture, ...).

+

It is important to keep in mind that a convex shape must always be... convex, otherwise it may not be drawn correctly. Moreover, the points must be defined in order; using a random order would result in an incorrect shape.

+

Usage example:

polygon.setPointCount(3);
polygon.setPoint(0, sf::Vector2f(0, 0));
polygon.setPoint(1, sf::Vector2f(0, 10));
polygon.setPoint(2, sf::Vector2f(25, 5));
polygon.setPosition(10, 20);
...
window.draw(polygon);
See also
sf::Shape, sf::RectangleShape, sf::CircleShape
+ +

Definition at line 42 of file ConvexShape.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ConvexShape()

+ +
+
+ + + + + +
+ + + + + + + + +
sf::ConvexShape::ConvexShape (std::size_t pointCount = 0)
+
+explicit
+
+ +

Default constructor.

+
Parameters
+ + +
pointCountNumber of points of the polygon
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getFillColor()

+ +
+
+ + + + + +
+ + + + + + + +
const Color& sf::Shape::getFillColor () const
+
+inherited
+
+ +

Get the fill color of the shape.

+
Returns
Fill color of the shape
+
See also
setFillColor
+ +
+
+ +

◆ getGlobalBounds()

+ +
+
+ + + + + +
+ + + + + + + +
FloatRect sf::Shape::getGlobalBounds () const
+
+inherited
+
+ +

Get the global (non-minimal) bounding rectangle of the entity.

+

The returned rectangle is in global coordinates, which means that it takes into account the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the shape in the global 2D world's coordinate system.

+

This function does not necessarily return the minimal bounding rectangle. It merely ensures that the returned rectangle covers all the vertices (but possibly more). This allows for a fast approximation of the bounds as a first check; you may want to use more precise checks on top of that.

+
Returns
Global bounding rectangle of the entity
+ +
+
+ +

◆ getInverseTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getInverseTransform () const
+
+inherited
+
+ +

get the inverse of the combined transform of the object

+
Returns
Inverse of the combined transformations applied to the object
+
See also
getTransform
+ +
+
+ +

◆ getLocalBounds()

+ +
+
+ + + + + +
+ + + + + + + +
FloatRect sf::Shape::getLocalBounds () const
+
+inherited
+
+ +

Get the local bounding rectangle of the entity.

+

The returned rectangle is in local coordinates, which means that it ignores the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the entity in the entity's coordinate system.

+
Returns
Local bounding rectangle of the entity
+ +
+
+ +

◆ getOrigin()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getOrigin () const
+
+inherited
+
+ +

get the local origin of the object

+
Returns
Current origin
+
See also
setOrigin
+ +
+
+ +

◆ getOutlineColor()

+ +
+
+ + + + + +
+ + + + + + + +
const Color& sf::Shape::getOutlineColor () const
+
+inherited
+
+ +

Get the outline color of the shape.

+
Returns
Outline color of the shape
+
See also
setOutlineColor
+ +
+
+ +

◆ getOutlineThickness()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Shape::getOutlineThickness () const
+
+inherited
+
+ +

Get the outline thickness of the shape.

+
Returns
Outline thickness of the shape
+
See also
setOutlineThickness
+ +
+
+ +

◆ getPoint()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual Vector2f sf::ConvexShape::getPoint (std::size_t index) const
+
+virtual
+
+ +

Get the position of a point.

+

The returned point is in local coordinates, that is, the shape's transforms (position, rotation, scale) are not taken into account. The result is undefined if index is out of the valid range.

+
Parameters
+ + +
indexIndex of the point to get, in range [0 .. getPointCount() - 1]
+
+
+
Returns
Position of the index-th point of the polygon
+
See also
setPoint
+ +

Implements sf::Shape.

+ +
+
+ +

◆ getPointCount()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::size_t sf::ConvexShape::getPointCount () const
+
+virtual
+
+ +

Get the number of points of the polygon.

+
Returns
Number of points of the polygon
+
See also
setPointCount
+ +

Implements sf::Shape.

+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getPosition () const
+
+inherited
+
+ +

get the position of the object

+
Returns
Current position
+
See also
setPosition
+ +
+
+ +

◆ getRotation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Transformable::getRotation () const
+
+inherited
+
+ +

get the orientation of the object

+

The rotation is always in the range [0, 360].

+
Returns
Current rotation, in degrees
+
See also
setRotation
+ +
+
+ +

◆ getScale()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getScale () const
+
+inherited
+
+ +

get the current scale of the object

+
Returns
Current scale factors
+
See also
setScale
+ +
+
+ +

◆ getTexture()

+ +
+
+ + + + + +
+ + + + + + + +
const Texture* sf::Shape::getTexture () const
+
+inherited
+
+ +

Get the source texture of the shape.

+

If the shape has no source texture, a NULL pointer is returned. The returned pointer is const, which means that you can't modify the texture when you retrieve it with this function.

+
Returns
Pointer to the shape's texture
+
See also
setTexture
+ +
+
+ +

◆ getTextureRect()

+ +
+
+ + + + + +
+ + + + + + + +
const IntRect& sf::Shape::getTextureRect () const
+
+inherited
+
+ +

Get the sub-rectangle of the texture displayed by the shape.

+
Returns
Texture rectangle of the shape
+
See also
setTextureRect
+ +
+
+ +

◆ getTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getTransform () const
+
+inherited
+
+ +

get the combined transform of the object

+
Returns
Transform combining the position/rotation/scale/origin of the object
+
See also
getInverseTransform
+ +
+
+ +

◆ move() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::move (float offsetX,
float offsetY 
)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f pos = object.getPosition();
object.setPosition(pos.x + offsetX, pos.y + offsetY);
Parameters
+ + + +
offsetXX offset
offsetYY offset
+
+
+
See also
setPosition
+ +
+
+ +

◆ move() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::move (const Vector2foffset)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

object.setPosition(object.getPosition() + offset);
Parameters
+ + +
offsetOffset
+
+
+
See also
setPosition
+ +
+
+ +

◆ rotate()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::rotate (float angle)
+
+inherited
+
+ +

Rotate the object.

+

This function adds to the current rotation of the object, unlike setRotation which overwrites it. Thus, it is equivalent to the following code:

object.setRotation(object.getRotation() + angle);
Parameters
+ + +
angleAngle of rotation, in degrees
+
+
+ +
+
+ +

◆ scale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::scale (float factorX,
float factorY 
)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factorX, scale.y * factorY);
Parameters
+ + + +
factorXHorizontal scale factor
factorYVertical scale factor
+
+
+
See also
setScale
+ +
+
+ +

◆ scale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::scale (const Vector2ffactor)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factor.x, scale.y * factor.y);
Parameters
+ + +
factorScale factors
+
+
+
See also
setScale
+ +
+
+ +

◆ setFillColor()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setFillColor (const Colorcolor)
+
+inherited
+
+ +

Set the fill color of the shape.

+

This color is modulated (multiplied) with the shape's texture if any. It can be used to colorize the shape, or change its global opacity. You can use sf::Color::Transparent to make the inside of the shape transparent, and have the outline alone. By default, the shape's fill color is opaque white.

+
Parameters
+ + +
colorNew color of the shape
+
+
+
See also
getFillColor, setOutlineColor
+ +
+
+ +

◆ setOrigin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setOrigin (float x,
float y 
)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new origin
yY coordinate of the new origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOrigin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setOrigin (const Vector2forigin)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + +
originNew origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOutlineColor()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setOutlineColor (const Colorcolor)
+
+inherited
+
+ +

Set the outline color of the shape.

+

By default, the shape's outline color is opaque white.

+
Parameters
+ + +
colorNew outline color of the shape
+
+
+
See also
getOutlineColor, setFillColor
+ +
+
+ +

◆ setOutlineThickness()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setOutlineThickness (float thickness)
+
+inherited
+
+ +

Set the thickness of the shape's outline.

+

Note that negative values are allowed (so that the outline expands towards the center of the shape), and using zero disables the outline. By default, the outline thickness is 0.

+
Parameters
+ + +
thicknessNew outline thickness
+
+
+
See also
getOutlineThickness
+ +
+
+ +

◆ setPoint()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::ConvexShape::setPoint (std::size_t index,
const Vector2fpoint 
)
+
+ +

Set the position of a point.

+

Don't forget that the polygon must remain convex, and the points need to stay ordered! setPointCount must be called first in order to set the total number of points. The result is undefined if index is out of the valid range.

+
Parameters
+ + + +
indexIndex of the point to change, in range [0 .. getPointCount() - 1]
pointNew position of the point
+
+
+
See also
getPoint
+ +
+
+ +

◆ setPointCount()

+ +
+
+ + + + + + + + +
void sf::ConvexShape::setPointCount (std::size_t count)
+
+ +

Set the number of points of the polygon.

+

count must be greater than 2 to define a valid shape.

+
Parameters
+ + +
countNew number of points of the polygon
+
+
+
See also
getPointCount
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setPosition (float x,
float y 
)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new position
yY coordinate of the new position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setPosition (const Vector2fposition)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + +
positionNew position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setRotation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setRotation (float angle)
+
+inherited
+
+ +

set the orientation of the object

+

This function completely overwrites the previous rotation. See the rotate function to add an angle based on the previous rotation instead. The default rotation of a transformable object is 0.

+
Parameters
+ + +
angleNew rotation, in degrees
+
+
+
See also
rotate, getRotation
+ +
+
+ +

◆ setScale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setScale (float factorX,
float factorY 
)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + + +
factorXNew horizontal scale factor
factorYNew vertical scale factor
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setScale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setScale (const Vector2ffactors)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + +
factorsNew scale factors
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setTexture()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Shape::setTexture (const Texturetexture,
bool resetRect = false 
)
+
+inherited
+
+ +

Change the source texture of the shape.

+

The texture argument refers to a texture that must exist as long as the shape uses it. Indeed, the shape doesn't store its own copy of the texture, but rather keeps a pointer to the one that you passed to this function. If the source texture is destroyed and the shape tries to use it, the behavior is undefined. texture can be NULL to disable texturing. If resetRect is true, the TextureRect property of the shape is automatically adjusted to the size of the new texture. If it is false, the texture rect is left unchanged.

+
Parameters
+ + + +
textureNew texture
resetRectShould the texture rect be reset to the size of the new texture?
+
+
+
See also
getTexture, setTextureRect
+ +
+
+ +

◆ setTextureRect()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setTextureRect (const IntRectrect)
+
+inherited
+
+ +

Set the sub-rectangle of the texture that the shape will display.

+

The texture rect is useful when you don't want to display the whole texture, but rather a part of it. By default, the texture rect covers the entire texture.

+
Parameters
+ + +
rectRectangle defining the region of the texture to display
+
+
+
See also
getTextureRect, setTexture
+ +
+
+ +

◆ update()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Shape::update ()
+
+protectedinherited
+
+ +

Recompute the internal geometry of the shape.

+

This function must be called by the derived class everytime the shape's points change (i.e. the result of either getPointCount or getPoint is different).

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1ConvexShape.png b/SFML/doc/html/classsf_1_1ConvexShape.png new file mode 100644 index 0000000..99b556c Binary files /dev/null and b/SFML/doc/html/classsf_1_1ConvexShape.png differ diff --git a/SFML/doc/html/classsf_1_1Cursor-members.html b/SFML/doc/html/classsf_1_1Cursor-members.html new file mode 100644 index 0000000..2c2f2c0 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Cursor-members.html @@ -0,0 +1,82 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Cursor Member List
+
+
+ +

This is the complete list of members for sf::Cursor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
Arrow enum valuesf::Cursor
ArrowWait enum valuesf::Cursor
Cross enum valuesf::Cursor
Cursor()sf::Cursor
Hand enum valuesf::Cursor
Help enum valuesf::Cursor
loadFromPixels(const Uint8 *pixels, Vector2u size, Vector2u hotspot)sf::Cursor
loadFromSystem(Type type)sf::Cursor
NonCopyable()sf::NonCopyableinlineprivate
NotAllowed enum valuesf::Cursor
SizeAll enum valuesf::Cursor
SizeBottomLeftTopRight enum valuesf::Cursor
SizeHorizontal enum valuesf::Cursor
SizeTopLeftBottomRight enum valuesf::Cursor
SizeVertical enum valuesf::Cursor
Text enum valuesf::Cursor
Type enum namesf::Cursor
Wait enum valuesf::Cursor
Window (defined in sf::Cursor)sf::Cursorfriend
~Cursor()sf::Cursor
~NonCopyable()sf::NonCopyableinlineprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1Cursor.html b/SFML/doc/html/classsf_1_1Cursor.html new file mode 100644 index 0000000..f24e73e --- /dev/null +++ b/SFML/doc/html/classsf_1_1Cursor.html @@ -0,0 +1,335 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Cursor defines the appearance of a system cursor. + More...

+ +

#include <Cursor.hpp>

+
+Inheritance diagram for sf::Cursor:
+
+
+ + +sf::NonCopyable + +
+ + + + + +

+Public Types

enum  Type {
+  Arrow, +ArrowWait, +Wait, +Text, +
+  Hand, +SizeHorizontal, +SizeVertical, +SizeTopLeftBottomRight, +
+  SizeBottomLeftTopRight, +SizeAll, +Cross, +Help, +
+  NotAllowed +
+ }
 Enumeration of the native system cursor types. More...
 
+ + + + + + + + + + + + + +

+Public Member Functions

 Cursor ()
 Default constructor. More...
 
 ~Cursor ()
 Destructor. More...
 
bool loadFromPixels (const Uint8 *pixels, Vector2u size, Vector2u hotspot)
 Create a cursor with the provided image. More...
 
bool loadFromSystem (Type type)
 Create a native system cursor. More...
 
+ + + +

+Friends

+class Window
 
+

Detailed Description

+

Cursor defines the appearance of a system cursor.

+
Warning
Features related to Cursor are not supported on iOS and Android.
+

This class abstracts the operating system resources associated with either a native system cursor or a custom cursor.

+

After loading the cursor the graphical appearance with either loadFromPixels() or loadFromSystem(), the cursor can be changed with sf::Window::setMouseCursor().

+

The behaviour is undefined if the cursor is destroyed while in use by the window.

+

Usage example:

sf::Window window;
// ... create window as usual ...
sf::Cursor cursor;
window.setMouseCursor(cursor);
See also
sf::Window::setMouseCursor
+ +

Definition at line 46 of file Cursor.hpp.

+

Member Enumeration Documentation

+ +

◆ Type

+ +
+
+ + + + +
enum sf::Cursor::Type
+
+ +

Enumeration of the native system cursor types.

+

Refer to the following table to determine which cursor is available on which platform.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Type Linux Mac OS X Windows
sf::Cursor::Arrow yes yes yes
sf::Cursor::ArrowWait no no yes
sf::Cursor::Wait yes no yes
sf::Cursor::Text yes yes yes
sf::Cursor::Hand yes yes yes
sf::Cursor::SizeHorizontal yes yes yes
sf::Cursor::SizeVertical yes yes yes
sf::Cursor::SizeTopLeftBottomRight no yes* yes
sf::Cursor::SizeBottomLeftTopRight no yes* yes
sf::Cursor::SizeAll yes no yes
sf::Cursor::Cross yes yes yes
sf::Cursor::Help yes yes* yes
sf::Cursor::NotAllowed yes yes yes
+
    +
  • These cursor types are undocumented so may not be available on all versions, but have been tested on 10.13
  • +
+ + + + + + + + + + + + + + +
Enumerator
Arrow 

Arrow cursor (default)

+
ArrowWait 

Busy arrow cursor.

+
Wait 

Busy cursor.

+
Text 

I-beam, cursor when hovering over a field allowing text entry.

+
Hand 

Pointing hand cursor.

+
SizeHorizontal 

Horizontal double arrow cursor.

+
SizeVertical 

Vertical double arrow cursor.

+
SizeTopLeftBottomRight 

Double arrow cursor going from top-left to bottom-right.

+
SizeBottomLeftTopRight 

Double arrow cursor going from bottom-left to top-right.

+
SizeAll 

Combination of SizeHorizontal and SizeVertical.

+
Cross 

Crosshair cursor.

+
Help 

Help cursor.

+
NotAllowed 

Action not allowed cursor.

+
+ +

Definition at line 76 of file Cursor.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Cursor()

+ +
+
+ + + + + + + +
sf::Cursor::Cursor ()
+
+ +

Default constructor.

+

This constructor doesn't actually create the cursor; initially the new instance is invalid and must not be used until either loadFromPixels() or loadFromSystem() is called and successfully created a cursor.

+ +
+
+ +

◆ ~Cursor()

+ +
+
+ + + + + + + +
sf::Cursor::~Cursor ()
+
+ +

Destructor.

+

This destructor releases the system resources associated with this cursor, if any.

+ +
+
+

Member Function Documentation

+ +

◆ loadFromPixels()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::Cursor::loadFromPixels (const Uint8 * pixels,
Vector2u size,
Vector2u hotspot 
)
+
+ +

Create a cursor with the provided image.

+

pixels must be an array of width by height pixels in 32-bit RGBA format. If not, this will cause undefined behavior.

+

If pixels is null or either width or height are 0, the current cursor is left unchanged and the function will return false.

+

In addition to specifying the pixel data, you can also specify the location of the hotspot of the cursor. The hotspot is the pixel coordinate within the cursor image which will be located exactly where the mouse pointer position is. Any mouse actions that are performed will return the window/screen location of the hotspot.

+
Warning
On Unix, the pixels are mapped into a monochrome bitmap: pixels with an alpha channel to 0 are transparent, black if the RGB channel are close to zero, and white otherwise.
+
Parameters
+ + + + +
pixelsArray of pixels of the image
sizeWidth and height of the image
hotspot(x,y) location of the hotspot
+
+
+
Returns
true if the cursor was successfully loaded; false otherwise
+ +
+
+ +

◆ loadFromSystem()

+ +
+
+ + + + + + + + +
bool sf::Cursor::loadFromSystem (Type type)
+
+ +

Create a native system cursor.

+

Refer to the list of cursor available on each system (see sf::Cursor::Type) to know whether a given cursor is expected to load successfully or is not supported by the operating system.

+
Parameters
+ + +
typeNative system cursor type
+
+
+
Returns
true if and only if the corresponding cursor is natively supported by the operating system; false otherwise
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Cursor.png b/SFML/doc/html/classsf_1_1Cursor.png new file mode 100644 index 0000000..28c4e2f Binary files /dev/null and b/SFML/doc/html/classsf_1_1Cursor.png differ diff --git a/SFML/doc/html/classsf_1_1Drawable-members.html b/SFML/doc/html/classsf_1_1Drawable-members.html new file mode 100644 index 0000000..1308abc --- /dev/null +++ b/SFML/doc/html/classsf_1_1Drawable-members.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Drawable Member List
+
+
+ +

This is the complete list of members for sf::Drawable, including all inherited members.

+ + + + +
draw(RenderTarget &target, RenderStates states) const =0sf::Drawableprotectedpure virtual
RenderTarget (defined in sf::Drawable)sf::Drawablefriend
~Drawable()sf::Drawableinlinevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Drawable.html b/SFML/doc/html/classsf_1_1Drawable.html new file mode 100644 index 0000000..c37f4c6 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Drawable.html @@ -0,0 +1,191 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Abstract base class for objects that can be drawn to a render target. + More...

+ +

#include <Drawable.hpp>

+
+Inheritance diagram for sf::Drawable:
+
+
+ + +sf::Shape +sf::Sprite +sf::Text +sf::VertexArray +sf::VertexBuffer +sf::CircleShape +sf::ConvexShape +sf::RectangleShape + +
+ + + + + +

+Public Member Functions

virtual ~Drawable ()
 Virtual destructor. More...
 
+ + + + +

+Protected Member Functions

virtual void draw (RenderTarget &target, RenderStates states) const =0
 Draw the object to a render target. More...
 
+ + + +

+Friends

+class RenderTarget
 
+

Detailed Description

+

Abstract base class for objects that can be drawn to a render target.

+

sf::Drawable is a very simple base class that allows objects of derived classes to be drawn to a sf::RenderTarget.

+

All you have to do in your derived class is to override the draw virtual function.

+

Note that inheriting from sf::Drawable is not mandatory, but it allows this nice syntax "window.draw(object)" rather than "object.draw(window)", which is more consistent with other SFML classes.

+

Example:

class MyDrawable : public sf::Drawable
{
public:
...
private:
virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const
{
// You can draw other high-level objects
target.draw(m_sprite, states);
// ... or use the low-level API
states.texture = &m_texture;
target.draw(m_vertices, states);
// ... or draw with OpenGL directly
glBegin(GL_QUADS);
...
glEnd();
}
sf::Sprite m_sprite;
sf::Texture m_texture;
sf::VertexArray m_vertices;
};
See also
sf::RenderTarget
+ +

Definition at line 44 of file Drawable.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ~Drawable()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::Drawable::~Drawable ()
+
+inlinevirtual
+
+ +

Virtual destructor.

+ +

Definition at line 52 of file Drawable.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ draw()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void sf::Drawable::draw (RenderTargettarget,
RenderStates states 
) const
+
+protectedpure virtual
+
+ +

Draw the object to a render target.

+

This is a pure virtual function that has to be implemented by the derived class to define how the drawable should be drawn.

+
Parameters
+ + + +
targetRender target to draw to
statesCurrent render states
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Drawable.png b/SFML/doc/html/classsf_1_1Drawable.png new file mode 100644 index 0000000..d9c9c21 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Drawable.png differ diff --git a/SFML/doc/html/classsf_1_1Event-members.html b/SFML/doc/html/classsf_1_1Event-members.html new file mode 100644 index 0000000..5f89278 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Event-members.html @@ -0,0 +1,99 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Event Member List
+
+ + + + + diff --git a/SFML/doc/html/classsf_1_1Event.html b/SFML/doc/html/classsf_1_1Event.html new file mode 100644 index 0000000..94b35e9 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Event.html @@ -0,0 +1,505 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Event Class Reference
+
+
+ +

Defines a system event and its parameters. + More...

+ +

#include <Event.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

struct  JoystickButtonEvent
 Joystick buttons events parameters (JoystickButtonPressed, JoystickButtonReleased) More...
 
struct  JoystickConnectEvent
 Joystick connection events parameters (JoystickConnected, JoystickDisconnected) More...
 
struct  JoystickMoveEvent
 Joystick axis move event parameters (JoystickMoved) More...
 
struct  KeyEvent
 Keyboard event parameters (KeyPressed, KeyReleased) More...
 
struct  MouseButtonEvent
 Mouse buttons events parameters (MouseButtonPressed, MouseButtonReleased) More...
 
struct  MouseMoveEvent
 Mouse move event parameters (MouseMoved) More...
 
struct  MouseWheelEvent
 Mouse wheel events parameters (MouseWheelMoved) More...
 
struct  MouseWheelScrollEvent
 Mouse wheel events parameters (MouseWheelScrolled) More...
 
struct  SensorEvent
 Sensor event parameters (SensorChanged) More...
 
struct  SizeEvent
 Size events parameters (Resized) More...
 
struct  TextEvent
 Text event parameters (TextEntered) More...
 
struct  TouchEvent
 Touch events parameters (TouchBegan, TouchMoved, TouchEnded) More...
 
+ + + + +

+Public Types

enum  EventType {
+  Closed, +Resized, +LostFocus, +GainedFocus, +
+  TextEntered, +KeyPressed, +KeyReleased, +MouseWheelMoved, +
+  MouseWheelScrolled, +MouseButtonPressed, +MouseButtonReleased, +MouseMoved, +
+  MouseEntered, +MouseLeft, +JoystickButtonPressed, +JoystickButtonReleased, +
+  JoystickMoved, +JoystickConnected, +JoystickDisconnected, +TouchBegan, +
+  TouchMoved, +TouchEnded, +SensorChanged, +Count +
+ }
 Enumeration of the different types of events. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

EventType type
 Type of the event. More...
 
+union {
   SizeEvent   size
 Size event parameters (Event::Resized) More...
 
   KeyEvent   key
 Key event parameters (Event::KeyPressed, Event::KeyReleased) More...
 
   TextEvent   text
 Text event parameters (Event::TextEntered) More...
 
   MouseMoveEvent   mouseMove
 Mouse move event parameters (Event::MouseMoved) More...
 
   MouseButtonEvent   mouseButton
 Mouse button event parameters (Event::MouseButtonPressed, Event::MouseButtonReleased) More...
 
   MouseWheelEvent   mouseWheel
 Mouse wheel event parameters (Event::MouseWheelMoved) (deprecated) More...
 
   MouseWheelScrollEvent   mouseWheelScroll
 Mouse wheel event parameters (Event::MouseWheelScrolled) More...
 
   JoystickMoveEvent   joystickMove
 Joystick move event parameters (Event::JoystickMoved) More...
 
   JoystickButtonEvent   joystickButton
 Joystick button event parameters (Event::JoystickButtonPressed, Event::JoystickButtonReleased) More...
 
   JoystickConnectEvent   joystickConnect
 Joystick (dis)connect event parameters (Event::JoystickConnected, Event::JoystickDisconnected) More...
 
   TouchEvent   touch
 Touch events parameters (Event::TouchBegan, Event::TouchMoved, Event::TouchEnded) More...
 
   SensorEvent   sensor
 Sensor event parameters (Event::SensorChanged) More...
 
}; 
 
+

Detailed Description

+

Defines a system event and its parameters.

+

sf::Event holds all the informations about a system event that just happened.

+

Events are retrieved using the sf::Window::pollEvent and sf::Window::waitEvent functions.

+

A sf::Event instance contains the type of the event (mouse moved, key pressed, window closed, ...) as well as the details about this particular event. Please note that the event parameters are defined in a union, which means that only the member matching the type of the event will be properly filled; all other members will have undefined values and must not be read if the type of the event doesn't match. For example, if you received a KeyPressed event, then you must read the event.key member, all other members such as event.mouseMove or event.text will have undefined values.

+

Usage example:

sf::Event event;
while (window.pollEvent(event))
{
// Request for closing the window
if (event.type == sf::Event::Closed)
window.close();
// The escape key was pressed
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))
window.close();
// The window was resized
if (event.type == sf::Event::Resized)
doSomethingWithTheNewSize(event.size.width, event.size.height);
// etc ...
}
+

Definition at line 44 of file Event.hpp.

+

Member Enumeration Documentation

+ +

◆ EventType

+ +
+
+ + + + +
enum sf::Event::EventType
+
+ +

Enumeration of the different types of events.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
Closed 

The window requested to be closed (no data)

+
Resized 

The window was resized (data in event.size)

+
LostFocus 

The window lost the focus (no data)

+
GainedFocus 

The window gained the focus (no data)

+
TextEntered 

A character was entered (data in event.text)

+
KeyPressed 

A key was pressed (data in event.key)

+
KeyReleased 

A key was released (data in event.key)

+
MouseWheelMoved 

The mouse wheel was scrolled (data in event.mouseWheel) (deprecated)

+
MouseWheelScrolled 

The mouse wheel was scrolled (data in event.mouseWheelScroll)

+
MouseButtonPressed 

A mouse button was pressed (data in event.mouseButton)

+
MouseButtonReleased 

A mouse button was released (data in event.mouseButton)

+
MouseMoved 

The mouse cursor moved (data in event.mouseMove)

+
MouseEntered 

The mouse cursor entered the area of the window (no data)

+
MouseLeft 

The mouse cursor left the area of the window (no data)

+
JoystickButtonPressed 

A joystick button was pressed (data in event.joystickButton)

+
JoystickButtonReleased 

A joystick button was released (data in event.joystickButton)

+
JoystickMoved 

The joystick moved along an axis (data in event.joystickMove)

+
JoystickConnected 

A joystick was connected (data in event.joystickConnect)

+
JoystickDisconnected 

A joystick was disconnected (data in event.joystickConnect)

+
TouchBegan 

A touch event began (data in event.touch)

+
TouchMoved 

A touch moved (data in event.touch)

+
TouchEnded 

A touch event ended (data in event.touch)

+
SensorChanged 

A sensor value changed (data in event.sensor)

+
Count 

Keep last – the total number of event types.

+
+ +

Definition at line 187 of file Event.hpp.

+ +
+
+

Member Data Documentation

+ +

◆ joystickButton

+ +
+
+ + + + +
JoystickButtonEvent sf::Event::joystickButton
+
+ +

Joystick button event parameters (Event::JoystickButtonPressed, Event::JoystickButtonReleased)

+ +

Definition at line 231 of file Event.hpp.

+ +
+
+ +

◆ joystickConnect

+ +
+
+ + + + +
JoystickConnectEvent sf::Event::joystickConnect
+
+ +

Joystick (dis)connect event parameters (Event::JoystickConnected, Event::JoystickDisconnected)

+ +

Definition at line 232 of file Event.hpp.

+ +
+
+ +

◆ joystickMove

+ +
+
+ + + + +
JoystickMoveEvent sf::Event::joystickMove
+
+ +

Joystick move event parameters (Event::JoystickMoved)

+ +

Definition at line 230 of file Event.hpp.

+ +
+
+ +

◆ key

+ +
+
+ + + + +
KeyEvent sf::Event::key
+
+ +

Key event parameters (Event::KeyPressed, Event::KeyReleased)

+ +

Definition at line 224 of file Event.hpp.

+ +
+
+ +

◆ mouseButton

+ +
+
+ + + + +
MouseButtonEvent sf::Event::mouseButton
+
+ +

Mouse button event parameters (Event::MouseButtonPressed, Event::MouseButtonReleased)

+ +

Definition at line 227 of file Event.hpp.

+ +
+
+ +

◆ mouseMove

+ +
+
+ + + + +
MouseMoveEvent sf::Event::mouseMove
+
+ +

Mouse move event parameters (Event::MouseMoved)

+ +

Definition at line 226 of file Event.hpp.

+ +
+
+ +

◆ mouseWheel

+ +
+
+ + + + +
MouseWheelEvent sf::Event::mouseWheel
+
+ +

Mouse wheel event parameters (Event::MouseWheelMoved) (deprecated)

+ +

Definition at line 228 of file Event.hpp.

+ +
+
+ +

◆ mouseWheelScroll

+ +
+
+ + + + +
MouseWheelScrollEvent sf::Event::mouseWheelScroll
+
+ +

Mouse wheel event parameters (Event::MouseWheelScrolled)

+ +

Definition at line 229 of file Event.hpp.

+ +
+
+ +

◆ sensor

+ +
+
+ + + + +
SensorEvent sf::Event::sensor
+
+ +

Sensor event parameters (Event::SensorChanged)

+ +

Definition at line 234 of file Event.hpp.

+ +
+
+ +

◆ size

+ +
+
+ + + + +
SizeEvent sf::Event::size
+
+ +

Size event parameters (Event::Resized)

+ +

Definition at line 223 of file Event.hpp.

+ +
+
+ +

◆ text

+ +
+
+ + + + +
TextEvent sf::Event::text
+
+ +

Text event parameters (Event::TextEntered)

+ +

Definition at line 225 of file Event.hpp.

+ +
+
+ +

◆ touch

+ +
+
+ + + + +
TouchEvent sf::Event::touch
+
+ +

Touch events parameters (Event::TouchBegan, Event::TouchMoved, Event::TouchEnded)

+ +

Definition at line 233 of file Event.hpp.

+ +
+
+ +

◆ type

+ +
+
+ + + + +
EventType sf::Event::type
+
+ +

Type of the event.

+ +

Definition at line 219 of file Event.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1FileInputStream-members.html b/SFML/doc/html/classsf_1_1FileInputStream-members.html new file mode 100644 index 0000000..561cc1e --- /dev/null +++ b/SFML/doc/html/classsf_1_1FileInputStream-members.html @@ -0,0 +1,71 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::FileInputStream Member List
+
+
+ +

This is the complete list of members for sf::FileInputStream, including all inherited members.

+ + + + + + + + + + + +
FileInputStream()sf::FileInputStream
getSize()sf::FileInputStreamvirtual
NonCopyable()sf::NonCopyableinlineprivate
open(const std::string &filename)sf::FileInputStream
read(void *data, Int64 size)sf::FileInputStreamvirtual
seek(Int64 position)sf::FileInputStreamvirtual
tell()sf::FileInputStreamvirtual
~FileInputStream()sf::FileInputStreamvirtual
~InputStream()sf::InputStreaminlinevirtual
~NonCopyable()sf::NonCopyableinlineprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1FileInputStream.html b/SFML/doc/html/classsf_1_1FileInputStream.html new file mode 100644 index 0000000..01ead3d --- /dev/null +++ b/SFML/doc/html/classsf_1_1FileInputStream.html @@ -0,0 +1,334 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::FileInputStream Class Reference
+
+
+ +

Implementation of input stream based on a file. + More...

+ +

#include <FileInputStream.hpp>

+
+Inheritance diagram for sf::FileInputStream:
+
+
+ + +sf::InputStream +sf::NonCopyable + +
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 FileInputStream ()
 Default constructor. More...
 
virtual ~FileInputStream ()
 Default destructor. More...
 
bool open (const std::string &filename)
 Open the stream from a file path. More...
 
virtual Int64 read (void *data, Int64 size)
 Read data from the stream. More...
 
virtual Int64 seek (Int64 position)
 Change the current reading position. More...
 
virtual Int64 tell ()
 Get the current reading position in the stream. More...
 
virtual Int64 getSize ()
 Return the size of the stream. More...
 
+

Detailed Description

+

Implementation of input stream based on a file.

+

This class is a specialization of InputStream that reads from a file on disk.

+

It wraps a file in the common InputStream interface and therefore allows to use generic classes or functions that accept such a stream, with a file on disk as the data source.

+

In addition to the virtual functions inherited from InputStream, FileInputStream adds a function to specify the file to open.

+

SFML resource classes can usually be loaded directly from a filename, so this class shouldn't be useful to you unless you create your own algorithms that operate on an InputStream.

+

Usage example:

void process(InputStream& stream);
if (stream.open("some_file.dat"))
process(stream);

InputStream, MemoryInputStream

+ +

Definition at line 55 of file FileInputStream.hpp.

+

Constructor & Destructor Documentation

+ +

◆ FileInputStream()

+ +
+
+ + + + + + + +
sf::FileInputStream::FileInputStream ()
+
+ +

Default constructor.

+ +
+
+ +

◆ ~FileInputStream()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::FileInputStream::~FileInputStream ()
+
+virtual
+
+ +

Default destructor.

+ +
+
+

Member Function Documentation

+ +

◆ getSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Int64 sf::FileInputStream::getSize ()
+
+virtual
+
+ +

Return the size of the stream.

+
Returns
The total number of bytes available in the stream, or -1 on error
+ +

Implements sf::InputStream.

+ +
+
+ +

◆ open()

+ +
+
+ + + + + + + + +
bool sf::FileInputStream::open (const std::string & filename)
+
+ +

Open the stream from a file path.

+
Parameters
+ + +
filenameName of the file to open
+
+
+
Returns
True on success, false on error
+ +
+
+ +

◆ read()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual Int64 sf::FileInputStream::read (void * data,
Int64 size 
)
+
+virtual
+
+ +

Read data from the stream.

+

After reading, the stream's reading position must be advanced by the amount of bytes read.

+
Parameters
+ + + +
dataBuffer where to copy the read data
sizeDesired number of bytes to read
+
+
+
Returns
The number of bytes actually read, or -1 on error
+ +

Implements sf::InputStream.

+ +
+
+ +

◆ seek()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual Int64 sf::FileInputStream::seek (Int64 position)
+
+virtual
+
+ +

Change the current reading position.

+
Parameters
+ + +
positionThe position to seek to, from the beginning
+
+
+
Returns
The position actually sought to, or -1 on error
+ +

Implements sf::InputStream.

+ +
+
+ +

◆ tell()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Int64 sf::FileInputStream::tell ()
+
+virtual
+
+ +

Get the current reading position in the stream.

+
Returns
The current position, or -1 on error.
+ +

Implements sf::InputStream.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1FileInputStream.png b/SFML/doc/html/classsf_1_1FileInputStream.png new file mode 100644 index 0000000..ee26b02 Binary files /dev/null and b/SFML/doc/html/classsf_1_1FileInputStream.png differ diff --git a/SFML/doc/html/classsf_1_1Font-members.html b/SFML/doc/html/classsf_1_1Font-members.html new file mode 100644 index 0000000..6e457c2 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Font-members.html @@ -0,0 +1,75 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Font Member List
+
+
+ +

This is the complete list of members for sf::Font, including all inherited members.

+ + + + + + + + + + + + + + + +
Font()sf::Font
Font(const Font &copy)sf::Font
getGlyph(Uint32 codePoint, unsigned int characterSize, bool bold, float outlineThickness=0) constsf::Font
getInfo() constsf::Font
getKerning(Uint32 first, Uint32 second, unsigned int characterSize) constsf::Font
getLineSpacing(unsigned int characterSize) constsf::Font
getTexture(unsigned int characterSize) constsf::Font
getUnderlinePosition(unsigned int characterSize) constsf::Font
getUnderlineThickness(unsigned int characterSize) constsf::Font
loadFromFile(const std::string &filename)sf::Font
loadFromMemory(const void *data, std::size_t sizeInBytes)sf::Font
loadFromStream(InputStream &stream)sf::Font
operator=(const Font &right)sf::Font
~Font()sf::Font
+ + + + diff --git a/SFML/doc/html/classsf_1_1Font.html b/SFML/doc/html/classsf_1_1Font.html new file mode 100644 index 0000000..67cec41 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Font.html @@ -0,0 +1,568 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Class for loading and manipulating character fonts. + More...

+ +

#include <Font.hpp>

+ + + + + +

+Classes

struct  Info
 Holds various information about a font. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Font ()
 Default constructor. More...
 
 Font (const Font &copy)
 Copy constructor. More...
 
 ~Font ()
 Destructor. More...
 
bool loadFromFile (const std::string &filename)
 Load the font from a file. More...
 
bool loadFromMemory (const void *data, std::size_t sizeInBytes)
 Load the font from a file in memory. More...
 
bool loadFromStream (InputStream &stream)
 Load the font from a custom stream. More...
 
const InfogetInfo () const
 Get the font information. More...
 
const GlyphgetGlyph (Uint32 codePoint, unsigned int characterSize, bool bold, float outlineThickness=0) const
 Retrieve a glyph of the font. More...
 
float getKerning (Uint32 first, Uint32 second, unsigned int characterSize) const
 Get the kerning offset of two glyphs. More...
 
float getLineSpacing (unsigned int characterSize) const
 Get the line spacing. More...
 
float getUnderlinePosition (unsigned int characterSize) const
 Get the position of the underline. More...
 
float getUnderlineThickness (unsigned int characterSize) const
 Get the thickness of the underline. More...
 
const TexturegetTexture (unsigned int characterSize) const
 Retrieve the texture containing the loaded glyphs of a certain size. More...
 
Fontoperator= (const Font &right)
 Overload of assignment operator. More...
 
+

Detailed Description

+

Class for loading and manipulating character fonts.

+

Fonts can be loaded from a file, from memory or from a custom stream, and supports the most common types of fonts.

+

See the loadFromFile function for the complete list of supported formats.

+

Once it is loaded, a sf::Font instance provides three types of information about the font:

    +
  • Global metrics, such as the line spacing
  • +
  • Per-glyph metrics, such as bounding box or kerning
  • +
  • Pixel representation of glyphs
  • +
+

Fonts alone are not very useful: they hold the font data but cannot make anything useful of it. To do so you need to use the sf::Text class, which is able to properly output text with several options such as character size, style, color, position, rotation, etc. This separation allows more flexibility and better performances: indeed a sf::Font is a heavy resource, and any operation on it is slow (often too slow for real-time applications). On the other side, a sf::Text is a lightweight object which can combine the glyphs data and metrics of a sf::Font to display any text on a render target. Note that it is also possible to bind several sf::Text instances to the same sf::Font.

+

It is important to note that the sf::Text instance doesn't copy the font that it uses, it only keeps a reference to it. Thus, a sf::Font must not be destructed while it is used by a sf::Text (i.e. never write a function that uses a local sf::Font instance for creating a text).

+

Usage example:

// Declare a new font
sf::Font font;
// Load it from a file
if (!font.loadFromFile("arial.ttf"))
{
// error...
}
// Create a text which uses our font
sf::Text text1;
text1.setFont(font);
text1.setCharacterSize(30);
// Create another text using the same font, but with different parameters
sf::Text text2;
text2.setFont(font);
text2.setCharacterSize(50);

Apart from loading font files, and passing them to instances of sf::Text, you should normally not have to deal directly with this class. However, it may be useful to access the font metrics or rasterized glyphs for advanced usage.

+

Note that if the font is a bitmap font, it is not scalable, thus not all requested sizes will be available to use. This needs to be taken into consideration when using sf::Text. If you need to display text of a certain size, make sure the corresponding bitmap font that supports that size is used.

+
See also
sf::Text
+ +

Definition at line 50 of file Font.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Font() [1/2]

+ +
+
+ + + + + + + +
sf::Font::Font ()
+
+ +

Default constructor.

+

This constructor defines an empty font

+ +
+
+ +

◆ Font() [2/2]

+ +
+
+ + + + + + + + +
sf::Font::Font (const Fontcopy)
+
+ +

Copy constructor.

+
Parameters
+ + +
copyInstance to copy
+
+
+ +
+
+ +

◆ ~Font()

+ +
+
+ + + + + + + +
sf::Font::~Font ()
+
+ +

Destructor.

+

Cleans up all the internal resources used by the font

+ +
+
+

Member Function Documentation

+ +

◆ getGlyph()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
const Glyph& sf::Font::getGlyph (Uint32 codePoint,
unsigned int characterSize,
bool bold,
float outlineThickness = 0 
) const
+
+ +

Retrieve a glyph of the font.

+

If the font is a bitmap font, not all character sizes might be available. If the glyph is not available at the requested size, an empty glyph is returned.

+

Be aware that using a negative value for the outline thickness will cause distorted rendering.

+
Parameters
+ + + + + +
codePointUnicode code point of the character to get
characterSizeReference character size
boldRetrieve the bold version or the regular one?
outlineThicknessThickness of outline (when != 0 the glyph will not be filled)
+
+
+
Returns
The glyph corresponding to codePoint and characterSize
+ +
+
+ +

◆ getInfo()

+ +
+
+ + + + + + + +
const Info& sf::Font::getInfo () const
+
+ +

Get the font information.

+
Returns
A structure that holds the font information
+ +
+
+ +

◆ getKerning()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
float sf::Font::getKerning (Uint32 first,
Uint32 second,
unsigned int characterSize 
) const
+
+ +

Get the kerning offset of two glyphs.

+

The kerning is an extra offset (negative) to apply between two glyphs when rendering them, to make the pair look more "natural". For example, the pair "AV" have a special kerning to make them closer than other characters. Most of the glyphs pairs have a kerning offset of zero, though.

+
Parameters
+ + + + +
firstUnicode code point of the first character
secondUnicode code point of the second character
characterSizeReference character size
+
+
+
Returns
Kerning value for first and second, in pixels
+ +
+
+ +

◆ getLineSpacing()

+ +
+
+ + + + + + + + +
float sf::Font::getLineSpacing (unsigned int characterSize) const
+
+ +

Get the line spacing.

+

Line spacing is the vertical offset to apply between two consecutive lines of text.

+
Parameters
+ + +
characterSizeReference character size
+
+
+
Returns
Line spacing, in pixels
+ +
+
+ +

◆ getTexture()

+ +
+
+ + + + + + + + +
const Texture& sf::Font::getTexture (unsigned int characterSize) const
+
+ +

Retrieve the texture containing the loaded glyphs of a certain size.

+

The contents of the returned texture changes as more glyphs are requested, thus it is not very relevant. It is mainly used internally by sf::Text.

+
Parameters
+ + +
characterSizeReference character size
+
+
+
Returns
Texture containing the glyphs of the requested size
+ +
+
+ +

◆ getUnderlinePosition()

+ +
+
+ + + + + + + + +
float sf::Font::getUnderlinePosition (unsigned int characterSize) const
+
+ +

Get the position of the underline.

+

Underline position is the vertical offset to apply between the baseline and the underline.

+
Parameters
+ + +
characterSizeReference character size
+
+
+
Returns
Underline position, in pixels
+
See also
getUnderlineThickness
+ +
+
+ +

◆ getUnderlineThickness()

+ +
+
+ + + + + + + + +
float sf::Font::getUnderlineThickness (unsigned int characterSize) const
+
+ +

Get the thickness of the underline.

+

Underline thickness is the vertical size of the underline.

+
Parameters
+ + +
characterSizeReference character size
+
+
+
Returns
Underline thickness, in pixels
+
See also
getUnderlinePosition
+ +
+
+ +

◆ loadFromFile()

+ +
+
+ + + + + + + + +
bool sf::Font::loadFromFile (const std::string & filename)
+
+ +

Load the font from a file.

+

The supported font formats are: TrueType, Type 1, CFF, OpenType, SFNT, X11 PCF, Windows FNT, BDF, PFR and Type 42. Note that this function knows nothing about the standard fonts installed on the user's system, thus you can't load them directly.

+
Warning
SFML cannot preload all the font data in this function, so the file has to remain accessible until the sf::Font object loads a new font or is destroyed.
+
Parameters
+ + +
filenamePath of the font file to load
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromMemory, loadFromStream
+ +
+
+ +

◆ loadFromMemory()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Font::loadFromMemory (const void * data,
std::size_t sizeInBytes 
)
+
+ +

Load the font from a file in memory.

+

The supported font formats are: TrueType, Type 1, CFF, OpenType, SFNT, X11 PCF, Windows FNT, BDF, PFR and Type 42.

+
Warning
SFML cannot preload all the font data in this function, so the buffer pointed by data has to remain valid until the sf::Font object loads a new font or is destroyed.
+
Parameters
+ + + +
dataPointer to the file data in memory
sizeInBytesSize of the data to load, in bytes
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromStream
+ +
+
+ +

◆ loadFromStream()

+ +
+
+ + + + + + + + +
bool sf::Font::loadFromStream (InputStreamstream)
+
+ +

Load the font from a custom stream.

+

The supported font formats are: TrueType, Type 1, CFF, OpenType, SFNT, X11 PCF, Windows FNT, BDF, PFR and Type 42. Warning: SFML cannot preload all the font data in this function, so the contents of stream have to remain valid as long as the font is used.

+
Warning
SFML cannot preload all the font data in this function, so the stream has to remain accessible until the sf::Font object loads a new font or is destroyed.
+
Parameters
+ + +
streamSource stream to read from
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromMemory
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
Font& sf::Font::operator= (const Fontright)
+
+ +

Overload of assignment operator.

+
Parameters
+ + +
rightInstance to assign
+
+
+
Returns
Reference to self
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp-members.html b/SFML/doc/html/classsf_1_1Ftp-members.html new file mode 100644 index 0000000..7dbc8bf --- /dev/null +++ b/SFML/doc/html/classsf_1_1Ftp-members.html @@ -0,0 +1,85 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Ftp Member List
+
+
+ +

This is the complete list of members for sf::Ftp, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Ascii enum valuesf::Ftp
Binary enum valuesf::Ftp
changeDirectory(const std::string &directory)sf::Ftp
connect(const IpAddress &server, unsigned short port=21, Time timeout=Time::Zero)sf::Ftp
createDirectory(const std::string &name)sf::Ftp
DataChannel (defined in sf::Ftp)sf::Ftpfriend
deleteDirectory(const std::string &name)sf::Ftp
deleteFile(const std::string &name)sf::Ftp
disconnect()sf::Ftp
download(const std::string &remoteFile, const std::string &localPath, TransferMode mode=Binary)sf::Ftp
Ebcdic enum valuesf::Ftp
getDirectoryListing(const std::string &directory="")sf::Ftp
getWorkingDirectory()sf::Ftp
keepAlive()sf::Ftp
login()sf::Ftp
login(const std::string &name, const std::string &password)sf::Ftp
NonCopyable()sf::NonCopyableinlineprivate
parentDirectory()sf::Ftp
renameFile(const std::string &file, const std::string &newName)sf::Ftp
sendCommand(const std::string &command, const std::string &parameter="")sf::Ftp
TransferMode enum namesf::Ftp
upload(const std::string &localFile, const std::string &remotePath, TransferMode mode=Binary, bool append=false)sf::Ftp
~Ftp()sf::Ftp
~NonCopyable()sf::NonCopyableinlineprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp.html b/SFML/doc/html/classsf_1_1Ftp.html new file mode 100644 index 0000000..0a062c4 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Ftp.html @@ -0,0 +1,745 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

A FTP client. + More...

+ +

#include <Ftp.hpp>

+
+Inheritance diagram for sf::Ftp:
+
+
+ + +sf::NonCopyable + +
+ + + + + + + + + + + +

+Classes

class  DirectoryResponse
 Specialization of FTP response returning a directory. More...
 
class  ListingResponse
 Specialization of FTP response returning a filename listing. More...
 
class  Response
 Define a FTP response. More...
 
+ + + + +

+Public Types

enum  TransferMode { Binary, +Ascii, +Ebcdic + }
 Enumeration of transfer modes. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ~Ftp ()
 Destructor. More...
 
Response connect (const IpAddress &server, unsigned short port=21, Time timeout=Time::Zero)
 Connect to the specified FTP server. More...
 
Response disconnect ()
 Close the connection with the server. More...
 
Response login ()
 Log in using an anonymous account. More...
 
Response login (const std::string &name, const std::string &password)
 Log in using a username and a password. More...
 
Response keepAlive ()
 Send a null command to keep the connection alive. More...
 
DirectoryResponse getWorkingDirectory ()
 Get the current working directory. More...
 
ListingResponse getDirectoryListing (const std::string &directory="")
 Get the contents of the given directory. More...
 
Response changeDirectory (const std::string &directory)
 Change the current working directory. More...
 
Response parentDirectory ()
 Go to the parent directory of the current one. More...
 
Response createDirectory (const std::string &name)
 Create a new directory. More...
 
Response deleteDirectory (const std::string &name)
 Remove an existing directory. More...
 
Response renameFile (const std::string &file, const std::string &newName)
 Rename an existing file. More...
 
Response deleteFile (const std::string &name)
 Remove an existing file. More...
 
Response download (const std::string &remoteFile, const std::string &localPath, TransferMode mode=Binary)
 Download a file from the server. More...
 
Response upload (const std::string &localFile, const std::string &remotePath, TransferMode mode=Binary, bool append=false)
 Upload a file to the server. More...
 
Response sendCommand (const std::string &command, const std::string &parameter="")
 Send a command to the FTP server. More...
 
+ + + +

+Friends

+class DataChannel
 
+

Detailed Description

+

A FTP client.

+

sf::Ftp is a very simple FTP client that allows you to communicate with a FTP server.

+

The FTP protocol allows you to manipulate a remote file system (list files, upload, download, create, remove, ...).

+

Using the FTP client consists of 4 parts:

    +
  • Connecting to the FTP server
  • +
  • Logging in (either as a registered user or anonymously)
  • +
  • Sending commands to the server
  • +
  • Disconnecting (this part can be done implicitly by the destructor)
  • +
+

Every command returns a FTP response, which contains the status code as well as a message from the server. Some commands such as getWorkingDirectory() and getDirectoryListing() return additional data, and use a class derived from sf::Ftp::Response to provide this data. The most often used commands are directly provided as member functions, but it is also possible to use specific commands with the sendCommand() function.

+

Note that response statuses >= 1000 are not part of the FTP standard, they are generated by SFML when an internal error occurs.

+

All commands, especially upload and download, may take some time to complete. This is important to know if you don't want to block your application while the server is completing the task.

+

Usage example:

// Create a new FTP client
sf::Ftp ftp;
// Connect to the server
sf::Ftp::Response response = ftp.connect("ftp://ftp.myserver.com");
if (response.isOk())
std::cout << "Connected" << std::endl;
// Log in
response = ftp.login("laurent", "dF6Zm89D");
if (response.isOk())
std::cout << "Logged in" << std::endl;
// Print the working directory
if (directory.isOk())
std::cout << "Working directory: " << directory.getDirectory() << std::endl;
// Create a new directory
response = ftp.createDirectory("files");
if (response.isOk())
std::cout << "Created new directory" << std::endl;
// Upload a file to this new directory
response = ftp.upload("local-path/file.txt", "files", sf::Ftp::Ascii);
if (response.isOk())
std::cout << "File uploaded" << std::endl;
// Send specific commands (here: FEAT to list supported FTP features)
response = ftp.sendCommand("FEAT");
if (response.isOk())
std::cout << "Feature list:\n" << response.getMessage() << std::endl;
// Disconnect from the server (optional)
ftp.disconnect();
+

Definition at line 47 of file Ftp.hpp.

+

Member Enumeration Documentation

+ +

◆ TransferMode

+ +
+
+ + + + +
enum sf::Ftp::TransferMode
+
+ +

Enumeration of transfer modes.

+ + + + +
Enumerator
Binary 

Binary mode (file is transfered as a sequence of bytes)

+
Ascii 

Text mode using ASCII encoding.

+
Ebcdic 

Text mode using EBCDIC encoding.

+
+ +

Definition at line 55 of file Ftp.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ ~Ftp()

+ +
+
+ + + + + + + +
sf::Ftp::~Ftp ()
+
+ +

Destructor.

+

Automatically closes the connection with the server if it is still opened.

+ +
+
+

Member Function Documentation

+ +

◆ changeDirectory()

+ +
+
+ + + + + + + + +
Response sf::Ftp::changeDirectory (const std::string & directory)
+
+ +

Change the current working directory.

+

The new directory must be relative to the current one.

+
Parameters
+ + +
directoryNew working directory
+
+
+
Returns
Server response to the request
+
See also
getWorkingDirectory, getDirectoryListing, parentDirectory
+ +
+
+ +

◆ connect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Response sf::Ftp::connect (const IpAddressserver,
unsigned short port = 21,
Time timeout = Time::Zero 
)
+
+ +

Connect to the specified FTP server.

+

The port has a default value of 21, which is the standard port used by the FTP protocol. You shouldn't use a different value, unless you really know what you do. This function tries to connect to the server so it may take a while to complete, especially if the server is not reachable. To avoid blocking your application for too long, you can use a timeout. The default value, Time::Zero, means that the system timeout will be used (which is usually pretty long).

+
Parameters
+ + + + +
serverName or address of the FTP server to connect to
portPort used for the connection
timeoutMaximum time to wait
+
+
+
Returns
Server response to the request
+
See also
disconnect
+ +
+
+ +

◆ createDirectory()

+ +
+
+ + + + + + + + +
Response sf::Ftp::createDirectory (const std::string & name)
+
+ +

Create a new directory.

+

The new directory is created as a child of the current working directory.

+
Parameters
+ + +
nameName of the directory to create
+
+
+
Returns
Server response to the request
+
See also
deleteDirectory
+ +
+
+ +

◆ deleteDirectory()

+ +
+
+ + + + + + + + +
Response sf::Ftp::deleteDirectory (const std::string & name)
+
+ +

Remove an existing directory.

+

The directory to remove must be relative to the current working directory. Use this function with caution, the directory will be removed permanently!

+
Parameters
+ + +
nameName of the directory to remove
+
+
+
Returns
Server response to the request
+
See also
createDirectory
+ +
+
+ +

◆ deleteFile()

+ +
+
+ + + + + + + + +
Response sf::Ftp::deleteFile (const std::string & name)
+
+ +

Remove an existing file.

+

The file name must be relative to the current working directory. Use this function with caution, the file will be removed permanently!

+
Parameters
+ + +
nameFile to remove
+
+
+
Returns
Server response to the request
+
See also
renameFile
+ +
+
+ +

◆ disconnect()

+ +
+
+ + + + + + + +
Response sf::Ftp::disconnect ()
+
+ +

Close the connection with the server.

+
Returns
Server response to the request
+
See also
connect
+ +
+
+ +

◆ download()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Response sf::Ftp::download (const std::string & remoteFile,
const std::string & localPath,
TransferMode mode = Binary 
)
+
+ +

Download a file from the server.

+

The filename of the distant file is relative to the current working directory of the server, and the local destination path is relative to the current directory of your application. If a file with the same filename as the distant file already exists in the local destination path, it will be overwritten.

+
Parameters
+ + + + +
remoteFileFilename of the distant file to download
localPathThe directory in which to put the file on the local computer
modeTransfer mode
+
+
+
Returns
Server response to the request
+
See also
upload
+ +
+
+ +

◆ getDirectoryListing()

+ +
+
+ + + + + + + + +
ListingResponse sf::Ftp::getDirectoryListing (const std::string & directory = "")
+
+ +

Get the contents of the given directory.

+

This function retrieves the sub-directories and files contained in the given directory. It is not recursive. The directory parameter is relative to the current working directory.

+
Parameters
+ + +
directoryDirectory to list
+
+
+
Returns
Server response to the request
+
See also
getWorkingDirectory, changeDirectory, parentDirectory
+ +
+
+ +

◆ getWorkingDirectory()

+ +
+
+ + + + + + + +
DirectoryResponse sf::Ftp::getWorkingDirectory ()
+
+ +

Get the current working directory.

+

The working directory is the root path for subsequent operations involving directories and/or filenames.

+
Returns
Server response to the request
+
See also
getDirectoryListing, changeDirectory, parentDirectory
+ +
+
+ +

◆ keepAlive()

+ +
+
+ + + + + + + +
Response sf::Ftp::keepAlive ()
+
+ +

Send a null command to keep the connection alive.

+

This command is useful because the server may close the connection automatically if no command is sent.

+
Returns
Server response to the request
+ +
+
+ +

◆ login() [1/2]

+ +
+
+ + + + + + + +
Response sf::Ftp::login ()
+
+ +

Log in using an anonymous account.

+

Logging in is mandatory after connecting to the server. Users that are not logged in cannot perform any operation.

+
Returns
Server response to the request
+ +
+
+ +

◆ login() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Response sf::Ftp::login (const std::string & name,
const std::string & password 
)
+
+ +

Log in using a username and a password.

+

Logging in is mandatory after connecting to the server. Users that are not logged in cannot perform any operation.

+
Parameters
+ + + +
nameUser name
passwordPassword
+
+
+
Returns
Server response to the request
+ +
+
+ +

◆ parentDirectory()

+ +
+
+ + + + + + + +
Response sf::Ftp::parentDirectory ()
+
+ +

Go to the parent directory of the current one.

+
Returns
Server response to the request
+
See also
getWorkingDirectory, getDirectoryListing, changeDirectory
+ +
+
+ +

◆ renameFile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Response sf::Ftp::renameFile (const std::string & file,
const std::string & newName 
)
+
+ +

Rename an existing file.

+

The filenames must be relative to the current working directory.

+
Parameters
+ + + +
fileFile to rename
newNameNew name of the file
+
+
+
Returns
Server response to the request
+
See also
deleteFile
+ +
+
+ +

◆ sendCommand()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Response sf::Ftp::sendCommand (const std::string & command,
const std::string & parameter = "" 
)
+
+ +

Send a command to the FTP server.

+

While the most often used commands are provided as member functions in the sf::Ftp class, this method can be used to send any FTP command to the server. If the command requires one or more parameters, they can be specified in parameter. If the server returns information, you can extract it from the response using Response::getMessage().

+
Parameters
+ + + +
commandCommand to send
parameterCommand parameter
+
+
+
Returns
Server response to the request
+ +
+
+ +

◆ upload()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Response sf::Ftp::upload (const std::string & localFile,
const std::string & remotePath,
TransferMode mode = Binary,
bool append = false 
)
+
+ +

Upload a file to the server.

+

The name of the local file is relative to the current working directory of your application, and the remote path is relative to the current directory of the FTP server.

+

The append parameter controls whether the remote file is appended to or overwritten if it already exists.

+
Parameters
+ + + + + +
localFilePath of the local file to upload
remotePathThe directory in which to put the file on the server
modeTransfer mode
appendPass true to append to or false to overwrite the remote file if it already exists
+
+
+
Returns
Server response to the request
+
See also
download
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp.png b/SFML/doc/html/classsf_1_1Ftp.png new file mode 100644 index 0000000..04916fc Binary files /dev/null and b/SFML/doc/html/classsf_1_1Ftp.png differ diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse-members.html b/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse-members.html new file mode 100644 index 0000000..8b47986 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse-members.html @@ -0,0 +1,111 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Ftp::DirectoryResponse Member List
+
+
+ +

This is the complete list of members for sf::Ftp::DirectoryResponse, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BadCommandSequence enum valuesf::Ftp::Response
ClosingConnection enum valuesf::Ftp::Response
ClosingDataConnection enum valuesf::Ftp::Response
CommandNotImplemented enum valuesf::Ftp::Response
CommandUnknown enum valuesf::Ftp::Response
ConnectionClosed enum valuesf::Ftp::Response
ConnectionFailed enum valuesf::Ftp::Response
DataConnectionAlreadyOpened enum valuesf::Ftp::Response
DataConnectionOpened enum valuesf::Ftp::Response
DataConnectionUnavailable enum valuesf::Ftp::Response
DirectoryOk enum valuesf::Ftp::Response
DirectoryResponse(const Response &response)sf::Ftp::DirectoryResponse
DirectoryStatus enum valuesf::Ftp::Response
EnteringPassiveMode enum valuesf::Ftp::Response
FileActionAborted enum valuesf::Ftp::Response
FileActionOk enum valuesf::Ftp::Response
FilenameNotAllowed enum valuesf::Ftp::Response
FileStatus enum valuesf::Ftp::Response
FileUnavailable enum valuesf::Ftp::Response
getDirectory() constsf::Ftp::DirectoryResponse
getMessage() constsf::Ftp::Response
getStatus() constsf::Ftp::Response
HelpMessage enum valuesf::Ftp::Response
InsufficientStorageSpace enum valuesf::Ftp::Response
InvalidFile enum valuesf::Ftp::Response
InvalidResponse enum valuesf::Ftp::Response
isOk() constsf::Ftp::Response
LocalError enum valuesf::Ftp::Response
LoggedIn enum valuesf::Ftp::Response
NeedAccountToLogIn enum valuesf::Ftp::Response
NeedAccountToStore enum valuesf::Ftp::Response
NeedInformation enum valuesf::Ftp::Response
NeedPassword enum valuesf::Ftp::Response
NotEnoughMemory enum valuesf::Ftp::Response
NotLoggedIn enum valuesf::Ftp::Response
Ok enum valuesf::Ftp::Response
OpeningDataConnection enum valuesf::Ftp::Response
PageTypeUnknown enum valuesf::Ftp::Response
ParameterNotImplemented enum valuesf::Ftp::Response
ParametersUnknown enum valuesf::Ftp::Response
PointlessCommand enum valuesf::Ftp::Response
Response(Status code=InvalidResponse, const std::string &message="")sf::Ftp::Responseexplicit
RestartMarkerReply enum valuesf::Ftp::Response
ServiceReady enum valuesf::Ftp::Response
ServiceReadySoon enum valuesf::Ftp::Response
ServiceUnavailable enum valuesf::Ftp::Response
Status enum namesf::Ftp::Response
SystemStatus enum valuesf::Ftp::Response
SystemType enum valuesf::Ftp::Response
TransferAborted enum valuesf::Ftp::Response
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse.html b/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse.html new file mode 100644 index 0000000..6eec68c --- /dev/null +++ b/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse.html @@ -0,0 +1,411 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Ftp::DirectoryResponse Class Reference
+
+
+ +

Specialization of FTP response returning a directory. + More...

+ +

#include <Ftp.hpp>

+
+Inheritance diagram for sf::Ftp::DirectoryResponse:
+
+
+ + +sf::Ftp::Response + +
+ + + + + +

+Public Types

enum  Status {
+  RestartMarkerReply = 110, +ServiceReadySoon = 120, +DataConnectionAlreadyOpened = 125, +OpeningDataConnection = 150, +
+  Ok = 200, +PointlessCommand = 202, +SystemStatus = 211, +DirectoryStatus = 212, +
+  FileStatus = 213, +HelpMessage = 214, +SystemType = 215, +ServiceReady = 220, +
+  ClosingConnection = 221, +DataConnectionOpened = 225, +ClosingDataConnection = 226, +EnteringPassiveMode = 227, +
+  LoggedIn = 230, +FileActionOk = 250, +DirectoryOk = 257, +NeedPassword = 331, +
+  NeedAccountToLogIn = 332, +NeedInformation = 350, +ServiceUnavailable = 421, +DataConnectionUnavailable = 425, +
+  TransferAborted = 426, +FileActionAborted = 450, +LocalError = 451, +InsufficientStorageSpace = 452, +
+  CommandUnknown = 500, +ParametersUnknown = 501, +CommandNotImplemented = 502, +BadCommandSequence = 503, +
+  ParameterNotImplemented = 504, +NotLoggedIn = 530, +NeedAccountToStore = 532, +FileUnavailable = 550, +
+  PageTypeUnknown = 551, +NotEnoughMemory = 552, +FilenameNotAllowed = 553, +InvalidResponse = 1000, +
+  ConnectionFailed = 1001, +ConnectionClosed = 1002, +InvalidFile = 1003 +
+ }
 Status codes possibly returned by a FTP response. More...
 
+ + + + + + + + + + + + + + + + +

+Public Member Functions

 DirectoryResponse (const Response &response)
 Default constructor. More...
 
const std::string & getDirectory () const
 Get the directory returned in the response. More...
 
bool isOk () const
 Check if the status code means a success. More...
 
Status getStatus () const
 Get the status code of the response. More...
 
const std::string & getMessage () const
 Get the full message contained in the response. More...
 
+

Detailed Description

+

Specialization of FTP response returning a directory.

+ +

Definition at line 188 of file Ftp.hpp.

+

Member Enumeration Documentation

+ +

◆ Status

+ +
+
+ + + + + +
+ + + + +
enum sf::Ftp::Response::Status
+
+inherited
+
+ +

Status codes possibly returned by a FTP response.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
RestartMarkerReply 

Restart marker reply.

+
ServiceReadySoon 

Service ready in N minutes.

+
DataConnectionAlreadyOpened 

Data connection already opened, transfer starting.

+
OpeningDataConnection 

File status ok, about to open data connection.

+
Ok 

Command ok.

+
PointlessCommand 

Command not implemented.

+
SystemStatus 

System status, or system help reply.

+
DirectoryStatus 

Directory status.

+
FileStatus 

File status.

+
HelpMessage 

Help message.

+
SystemType 

NAME system type, where NAME is an official system name from the list in the Assigned Numbers document.

+
ServiceReady 

Service ready for new user.

+
ClosingConnection 

Service closing control connection.

+
DataConnectionOpened 

Data connection open, no transfer in progress.

+
ClosingDataConnection 

Closing data connection, requested file action successful.

+
EnteringPassiveMode 

Entering passive mode.

+
LoggedIn 

User logged in, proceed. Logged out if appropriate.

+
FileActionOk 

Requested file action ok.

+
DirectoryOk 

PATHNAME created.

+
NeedPassword 

User name ok, need password.

+
NeedAccountToLogIn 

Need account for login.

+
NeedInformation 

Requested file action pending further information.

+
ServiceUnavailable 

Service not available, closing control connection.

+
DataConnectionUnavailable 

Can't open data connection.

+
TransferAborted 

Connection closed, transfer aborted.

+
FileActionAborted 

Requested file action not taken.

+
LocalError 

Requested action aborted, local error in processing.

+
InsufficientStorageSpace 

Requested action not taken; insufficient storage space in system, file unavailable.

+
CommandUnknown 

Syntax error, command unrecognized.

+
ParametersUnknown 

Syntax error in parameters or arguments.

+
CommandNotImplemented 

Command not implemented.

+
BadCommandSequence 

Bad sequence of commands.

+
ParameterNotImplemented 

Command not implemented for that parameter.

+
NotLoggedIn 

Not logged in.

+
NeedAccountToStore 

Need account for storing files.

+
FileUnavailable 

Requested action not taken, file unavailable.

+
PageTypeUnknown 

Requested action aborted, page type unknown.

+
NotEnoughMemory 

Requested file action aborted, exceeded storage allocation.

+
FilenameNotAllowed 

Requested action not taken, file name not allowed.

+
InvalidResponse 

Not part of the FTP standard, generated by SFML when a received response cannot be parsed.

+
ConnectionFailed 

Not part of the FTP standard, generated by SFML when the low-level socket connection with the server fails.

+
ConnectionClosed 

Not part of the FTP standard, generated by SFML when the low-level socket connection is unexpectedly closed.

+
InvalidFile 

Not part of the FTP standard, generated by SFML when a local file cannot be read or written.

+
+ +

Definition at line 74 of file Ftp.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ DirectoryResponse()

+ +
+
+ + + + + + + + +
sf::Ftp::DirectoryResponse::DirectoryResponse (const Responseresponse)
+
+ +

Default constructor.

+
Parameters
+ + +
responseSource response
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getDirectory()

+ +
+
+ + + + + + + +
const std::string& sf::Ftp::DirectoryResponse::getDirectory () const
+
+ +

Get the directory returned in the response.

+
Returns
Directory name
+ +
+
+ +

◆ getMessage()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string& sf::Ftp::Response::getMessage () const
+
+inherited
+
+ +

Get the full message contained in the response.

+
Returns
The response message
+ +
+
+ +

◆ getStatus()

+ +
+
+ + + + + +
+ + + + + + + +
Status sf::Ftp::Response::getStatus () const
+
+inherited
+
+ +

Get the status code of the response.

+
Returns
Status code
+ +
+
+ +

◆ isOk()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::Ftp::Response::isOk () const
+
+inherited
+
+ +

Check if the status code means a success.

+

This function is defined for convenience, it is equivalent to testing if the status code is < 400.

+
Returns
True if the status is a success, false if it is a failure
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse.png b/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse.png new file mode 100644 index 0000000..0f475fa Binary files /dev/null and b/SFML/doc/html/classsf_1_1Ftp_1_1DirectoryResponse.png differ diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse-members.html b/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse-members.html new file mode 100644 index 0000000..48275b0 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse-members.html @@ -0,0 +1,111 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Ftp::ListingResponse Member List
+
+
+ +

This is the complete list of members for sf::Ftp::ListingResponse, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BadCommandSequence enum valuesf::Ftp::Response
ClosingConnection enum valuesf::Ftp::Response
ClosingDataConnection enum valuesf::Ftp::Response
CommandNotImplemented enum valuesf::Ftp::Response
CommandUnknown enum valuesf::Ftp::Response
ConnectionClosed enum valuesf::Ftp::Response
ConnectionFailed enum valuesf::Ftp::Response
DataConnectionAlreadyOpened enum valuesf::Ftp::Response
DataConnectionOpened enum valuesf::Ftp::Response
DataConnectionUnavailable enum valuesf::Ftp::Response
DirectoryOk enum valuesf::Ftp::Response
DirectoryStatus enum valuesf::Ftp::Response
EnteringPassiveMode enum valuesf::Ftp::Response
FileActionAborted enum valuesf::Ftp::Response
FileActionOk enum valuesf::Ftp::Response
FilenameNotAllowed enum valuesf::Ftp::Response
FileStatus enum valuesf::Ftp::Response
FileUnavailable enum valuesf::Ftp::Response
getListing() constsf::Ftp::ListingResponse
getMessage() constsf::Ftp::Response
getStatus() constsf::Ftp::Response
HelpMessage enum valuesf::Ftp::Response
InsufficientStorageSpace enum valuesf::Ftp::Response
InvalidFile enum valuesf::Ftp::Response
InvalidResponse enum valuesf::Ftp::Response
isOk() constsf::Ftp::Response
ListingResponse(const Response &response, const std::string &data)sf::Ftp::ListingResponse
LocalError enum valuesf::Ftp::Response
LoggedIn enum valuesf::Ftp::Response
NeedAccountToLogIn enum valuesf::Ftp::Response
NeedAccountToStore enum valuesf::Ftp::Response
NeedInformation enum valuesf::Ftp::Response
NeedPassword enum valuesf::Ftp::Response
NotEnoughMemory enum valuesf::Ftp::Response
NotLoggedIn enum valuesf::Ftp::Response
Ok enum valuesf::Ftp::Response
OpeningDataConnection enum valuesf::Ftp::Response
PageTypeUnknown enum valuesf::Ftp::Response
ParameterNotImplemented enum valuesf::Ftp::Response
ParametersUnknown enum valuesf::Ftp::Response
PointlessCommand enum valuesf::Ftp::Response
Response(Status code=InvalidResponse, const std::string &message="")sf::Ftp::Responseexplicit
RestartMarkerReply enum valuesf::Ftp::Response
ServiceReady enum valuesf::Ftp::Response
ServiceReadySoon enum valuesf::Ftp::Response
ServiceUnavailable enum valuesf::Ftp::Response
Status enum namesf::Ftp::Response
SystemStatus enum valuesf::Ftp::Response
SystemType enum valuesf::Ftp::Response
TransferAborted enum valuesf::Ftp::Response
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse.html b/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse.html new file mode 100644 index 0000000..c68030c --- /dev/null +++ b/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse.html @@ -0,0 +1,422 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Ftp::ListingResponse Class Reference
+
+
+ +

Specialization of FTP response returning a filename listing. + More...

+ +

#include <Ftp.hpp>

+
+Inheritance diagram for sf::Ftp::ListingResponse:
+
+
+ + +sf::Ftp::Response + +
+ + + + + +

+Public Types

enum  Status {
+  RestartMarkerReply = 110, +ServiceReadySoon = 120, +DataConnectionAlreadyOpened = 125, +OpeningDataConnection = 150, +
+  Ok = 200, +PointlessCommand = 202, +SystemStatus = 211, +DirectoryStatus = 212, +
+  FileStatus = 213, +HelpMessage = 214, +SystemType = 215, +ServiceReady = 220, +
+  ClosingConnection = 221, +DataConnectionOpened = 225, +ClosingDataConnection = 226, +EnteringPassiveMode = 227, +
+  LoggedIn = 230, +FileActionOk = 250, +DirectoryOk = 257, +NeedPassword = 331, +
+  NeedAccountToLogIn = 332, +NeedInformation = 350, +ServiceUnavailable = 421, +DataConnectionUnavailable = 425, +
+  TransferAborted = 426, +FileActionAborted = 450, +LocalError = 451, +InsufficientStorageSpace = 452, +
+  CommandUnknown = 500, +ParametersUnknown = 501, +CommandNotImplemented = 502, +BadCommandSequence = 503, +
+  ParameterNotImplemented = 504, +NotLoggedIn = 530, +NeedAccountToStore = 532, +FileUnavailable = 550, +
+  PageTypeUnknown = 551, +NotEnoughMemory = 552, +FilenameNotAllowed = 553, +InvalidResponse = 1000, +
+  ConnectionFailed = 1001, +ConnectionClosed = 1002, +InvalidFile = 1003 +
+ }
 Status codes possibly returned by a FTP response. More...
 
+ + + + + + + + + + + + + + + + +

+Public Member Functions

 ListingResponse (const Response &response, const std::string &data)
 Default constructor. More...
 
const std::vector< std::string > & getListing () const
 Return the array of directory/file names. More...
 
bool isOk () const
 Check if the status code means a success. More...
 
Status getStatus () const
 Get the status code of the response. More...
 
const std::string & getMessage () const
 Get the full message contained in the response. More...
 
+

Detailed Description

+

Specialization of FTP response returning a filename listing.

+ +

Definition at line 221 of file Ftp.hpp.

+

Member Enumeration Documentation

+ +

◆ Status

+ +
+
+ + + + + +
+ + + + +
enum sf::Ftp::Response::Status
+
+inherited
+
+ +

Status codes possibly returned by a FTP response.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
RestartMarkerReply 

Restart marker reply.

+
ServiceReadySoon 

Service ready in N minutes.

+
DataConnectionAlreadyOpened 

Data connection already opened, transfer starting.

+
OpeningDataConnection 

File status ok, about to open data connection.

+
Ok 

Command ok.

+
PointlessCommand 

Command not implemented.

+
SystemStatus 

System status, or system help reply.

+
DirectoryStatus 

Directory status.

+
FileStatus 

File status.

+
HelpMessage 

Help message.

+
SystemType 

NAME system type, where NAME is an official system name from the list in the Assigned Numbers document.

+
ServiceReady 

Service ready for new user.

+
ClosingConnection 

Service closing control connection.

+
DataConnectionOpened 

Data connection open, no transfer in progress.

+
ClosingDataConnection 

Closing data connection, requested file action successful.

+
EnteringPassiveMode 

Entering passive mode.

+
LoggedIn 

User logged in, proceed. Logged out if appropriate.

+
FileActionOk 

Requested file action ok.

+
DirectoryOk 

PATHNAME created.

+
NeedPassword 

User name ok, need password.

+
NeedAccountToLogIn 

Need account for login.

+
NeedInformation 

Requested file action pending further information.

+
ServiceUnavailable 

Service not available, closing control connection.

+
DataConnectionUnavailable 

Can't open data connection.

+
TransferAborted 

Connection closed, transfer aborted.

+
FileActionAborted 

Requested file action not taken.

+
LocalError 

Requested action aborted, local error in processing.

+
InsufficientStorageSpace 

Requested action not taken; insufficient storage space in system, file unavailable.

+
CommandUnknown 

Syntax error, command unrecognized.

+
ParametersUnknown 

Syntax error in parameters or arguments.

+
CommandNotImplemented 

Command not implemented.

+
BadCommandSequence 

Bad sequence of commands.

+
ParameterNotImplemented 

Command not implemented for that parameter.

+
NotLoggedIn 

Not logged in.

+
NeedAccountToStore 

Need account for storing files.

+
FileUnavailable 

Requested action not taken, file unavailable.

+
PageTypeUnknown 

Requested action aborted, page type unknown.

+
NotEnoughMemory 

Requested file action aborted, exceeded storage allocation.

+
FilenameNotAllowed 

Requested action not taken, file name not allowed.

+
InvalidResponse 

Not part of the FTP standard, generated by SFML when a received response cannot be parsed.

+
ConnectionFailed 

Not part of the FTP standard, generated by SFML when the low-level socket connection with the server fails.

+
ConnectionClosed 

Not part of the FTP standard, generated by SFML when the low-level socket connection is unexpectedly closed.

+
InvalidFile 

Not part of the FTP standard, generated by SFML when a local file cannot be read or written.

+
+ +

Definition at line 74 of file Ftp.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ ListingResponse()

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::Ftp::ListingResponse::ListingResponse (const Responseresponse,
const std::string & data 
)
+
+ +

Default constructor.

+
Parameters
+ + + +
responseSource response
dataData containing the raw listing
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getListing()

+ +
+
+ + + + + + + +
const std::vector<std::string>& sf::Ftp::ListingResponse::getListing () const
+
+ +

Return the array of directory/file names.

+
Returns
Array containing the requested listing
+ +
+
+ +

◆ getMessage()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string& sf::Ftp::Response::getMessage () const
+
+inherited
+
+ +

Get the full message contained in the response.

+
Returns
The response message
+ +
+
+ +

◆ getStatus()

+ +
+
+ + + + + +
+ + + + + + + +
Status sf::Ftp::Response::getStatus () const
+
+inherited
+
+ +

Get the status code of the response.

+
Returns
Status code
+ +
+
+ +

◆ isOk()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::Ftp::Response::isOk () const
+
+inherited
+
+ +

Check if the status code means a success.

+

This function is defined for convenience, it is equivalent to testing if the status code is < 400.

+
Returns
True if the status is a success, false if it is a failure
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse.png b/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse.png new file mode 100644 index 0000000..f829455 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Ftp_1_1ListingResponse.png differ diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1Response-members.html b/SFML/doc/html/classsf_1_1Ftp_1_1Response-members.html new file mode 100644 index 0000000..53b773f --- /dev/null +++ b/SFML/doc/html/classsf_1_1Ftp_1_1Response-members.html @@ -0,0 +1,109 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Ftp::Response Member List
+
+
+ +

This is the complete list of members for sf::Ftp::Response, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BadCommandSequence enum valuesf::Ftp::Response
ClosingConnection enum valuesf::Ftp::Response
ClosingDataConnection enum valuesf::Ftp::Response
CommandNotImplemented enum valuesf::Ftp::Response
CommandUnknown enum valuesf::Ftp::Response
ConnectionClosed enum valuesf::Ftp::Response
ConnectionFailed enum valuesf::Ftp::Response
DataConnectionAlreadyOpened enum valuesf::Ftp::Response
DataConnectionOpened enum valuesf::Ftp::Response
DataConnectionUnavailable enum valuesf::Ftp::Response
DirectoryOk enum valuesf::Ftp::Response
DirectoryStatus enum valuesf::Ftp::Response
EnteringPassiveMode enum valuesf::Ftp::Response
FileActionAborted enum valuesf::Ftp::Response
FileActionOk enum valuesf::Ftp::Response
FilenameNotAllowed enum valuesf::Ftp::Response
FileStatus enum valuesf::Ftp::Response
FileUnavailable enum valuesf::Ftp::Response
getMessage() constsf::Ftp::Response
getStatus() constsf::Ftp::Response
HelpMessage enum valuesf::Ftp::Response
InsufficientStorageSpace enum valuesf::Ftp::Response
InvalidFile enum valuesf::Ftp::Response
InvalidResponse enum valuesf::Ftp::Response
isOk() constsf::Ftp::Response
LocalError enum valuesf::Ftp::Response
LoggedIn enum valuesf::Ftp::Response
NeedAccountToLogIn enum valuesf::Ftp::Response
NeedAccountToStore enum valuesf::Ftp::Response
NeedInformation enum valuesf::Ftp::Response
NeedPassword enum valuesf::Ftp::Response
NotEnoughMemory enum valuesf::Ftp::Response
NotLoggedIn enum valuesf::Ftp::Response
Ok enum valuesf::Ftp::Response
OpeningDataConnection enum valuesf::Ftp::Response
PageTypeUnknown enum valuesf::Ftp::Response
ParameterNotImplemented enum valuesf::Ftp::Response
ParametersUnknown enum valuesf::Ftp::Response
PointlessCommand enum valuesf::Ftp::Response
Response(Status code=InvalidResponse, const std::string &message="")sf::Ftp::Responseexplicit
RestartMarkerReply enum valuesf::Ftp::Response
ServiceReady enum valuesf::Ftp::Response
ServiceReadySoon enum valuesf::Ftp::Response
ServiceUnavailable enum valuesf::Ftp::Response
Status enum namesf::Ftp::Response
SystemStatus enum valuesf::Ftp::Response
SystemType enum valuesf::Ftp::Response
TransferAborted enum valuesf::Ftp::Response
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1Response.html b/SFML/doc/html/classsf_1_1Ftp_1_1Response.html new file mode 100644 index 0000000..26eff82 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Ftp_1_1Response.html @@ -0,0 +1,377 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Ftp::Response Class Reference
+
+
+ +

Define a FTP response. + More...

+ +

#include <Ftp.hpp>

+
+Inheritance diagram for sf::Ftp::Response:
+
+
+ + +sf::Ftp::DirectoryResponse +sf::Ftp::ListingResponse + +
+ + + + + +

+Public Types

enum  Status {
+  RestartMarkerReply = 110, +ServiceReadySoon = 120, +DataConnectionAlreadyOpened = 125, +OpeningDataConnection = 150, +
+  Ok = 200, +PointlessCommand = 202, +SystemStatus = 211, +DirectoryStatus = 212, +
+  FileStatus = 213, +HelpMessage = 214, +SystemType = 215, +ServiceReady = 220, +
+  ClosingConnection = 221, +DataConnectionOpened = 225, +ClosingDataConnection = 226, +EnteringPassiveMode = 227, +
+  LoggedIn = 230, +FileActionOk = 250, +DirectoryOk = 257, +NeedPassword = 331, +
+  NeedAccountToLogIn = 332, +NeedInformation = 350, +ServiceUnavailable = 421, +DataConnectionUnavailable = 425, +
+  TransferAborted = 426, +FileActionAborted = 450, +LocalError = 451, +InsufficientStorageSpace = 452, +
+  CommandUnknown = 500, +ParametersUnknown = 501, +CommandNotImplemented = 502, +BadCommandSequence = 503, +
+  ParameterNotImplemented = 504, +NotLoggedIn = 530, +NeedAccountToStore = 532, +FileUnavailable = 550, +
+  PageTypeUnknown = 551, +NotEnoughMemory = 552, +FilenameNotAllowed = 553, +InvalidResponse = 1000, +
+  ConnectionFailed = 1001, +ConnectionClosed = 1002, +InvalidFile = 1003 +
+ }
 Status codes possibly returned by a FTP response. More...
 
+ + + + + + + + + + + + + +

+Public Member Functions

 Response (Status code=InvalidResponse, const std::string &message="")
 Default constructor. More...
 
bool isOk () const
 Check if the status code means a success. More...
 
Status getStatus () const
 Get the status code of the response. More...
 
const std::string & getMessage () const
 Get the full message contained in the response. More...
 
+

Detailed Description

+

Define a FTP response.

+ +

Definition at line 66 of file Ftp.hpp.

+

Member Enumeration Documentation

+ +

◆ Status

+ +
+
+ + + + +
enum sf::Ftp::Response::Status
+
+ +

Status codes possibly returned by a FTP response.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
RestartMarkerReply 

Restart marker reply.

+
ServiceReadySoon 

Service ready in N minutes.

+
DataConnectionAlreadyOpened 

Data connection already opened, transfer starting.

+
OpeningDataConnection 

File status ok, about to open data connection.

+
Ok 

Command ok.

+
PointlessCommand 

Command not implemented.

+
SystemStatus 

System status, or system help reply.

+
DirectoryStatus 

Directory status.

+
FileStatus 

File status.

+
HelpMessage 

Help message.

+
SystemType 

NAME system type, where NAME is an official system name from the list in the Assigned Numbers document.

+
ServiceReady 

Service ready for new user.

+
ClosingConnection 

Service closing control connection.

+
DataConnectionOpened 

Data connection open, no transfer in progress.

+
ClosingDataConnection 

Closing data connection, requested file action successful.

+
EnteringPassiveMode 

Entering passive mode.

+
LoggedIn 

User logged in, proceed. Logged out if appropriate.

+
FileActionOk 

Requested file action ok.

+
DirectoryOk 

PATHNAME created.

+
NeedPassword 

User name ok, need password.

+
NeedAccountToLogIn 

Need account for login.

+
NeedInformation 

Requested file action pending further information.

+
ServiceUnavailable 

Service not available, closing control connection.

+
DataConnectionUnavailable 

Can't open data connection.

+
TransferAborted 

Connection closed, transfer aborted.

+
FileActionAborted 

Requested file action not taken.

+
LocalError 

Requested action aborted, local error in processing.

+
InsufficientStorageSpace 

Requested action not taken; insufficient storage space in system, file unavailable.

+
CommandUnknown 

Syntax error, command unrecognized.

+
ParametersUnknown 

Syntax error in parameters or arguments.

+
CommandNotImplemented 

Command not implemented.

+
BadCommandSequence 

Bad sequence of commands.

+
ParameterNotImplemented 

Command not implemented for that parameter.

+
NotLoggedIn 

Not logged in.

+
NeedAccountToStore 

Need account for storing files.

+
FileUnavailable 

Requested action not taken, file unavailable.

+
PageTypeUnknown 

Requested action aborted, page type unknown.

+
NotEnoughMemory 

Requested file action aborted, exceeded storage allocation.

+
FilenameNotAllowed 

Requested action not taken, file name not allowed.

+
InvalidResponse 

Not part of the FTP standard, generated by SFML when a received response cannot be parsed.

+
ConnectionFailed 

Not part of the FTP standard, generated by SFML when the low-level socket connection with the server fails.

+
ConnectionClosed 

Not part of the FTP standard, generated by SFML when the low-level socket connection is unexpectedly closed.

+
InvalidFile 

Not part of the FTP standard, generated by SFML when a local file cannot be read or written.

+
+ +

Definition at line 74 of file Ftp.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Response()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
sf::Ftp::Response::Response (Status code = InvalidResponse,
const std::string & message = "" 
)
+
+explicit
+
+ +

Default constructor.

+

This constructor is used by the FTP client to build the response.

+
Parameters
+ + + +
codeResponse status code
messageResponse message
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getMessage()

+ +
+
+ + + + + + + +
const std::string& sf::Ftp::Response::getMessage () const
+
+ +

Get the full message contained in the response.

+
Returns
The response message
+ +
+
+ +

◆ getStatus()

+ +
+
+ + + + + + + +
Status sf::Ftp::Response::getStatus () const
+
+ +

Get the status code of the response.

+
Returns
Status code
+ +
+
+ +

◆ isOk()

+ +
+
+ + + + + + + +
bool sf::Ftp::Response::isOk () const
+
+ +

Check if the status code means a success.

+

This function is defined for convenience, it is equivalent to testing if the status code is < 400.

+
Returns
True if the status is a success, false if it is a failure
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Ftp_1_1Response.png b/SFML/doc/html/classsf_1_1Ftp_1_1Response.png new file mode 100644 index 0000000..d56a74e Binary files /dev/null and b/SFML/doc/html/classsf_1_1Ftp_1_1Response.png differ diff --git a/SFML/doc/html/classsf_1_1GlResource-members.html b/SFML/doc/html/classsf_1_1GlResource-members.html new file mode 100644 index 0000000..3cc67be --- /dev/null +++ b/SFML/doc/html/classsf_1_1GlResource-members.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::GlResource Member List
+
+
+ +

This is the complete list of members for sf::GlResource, including all inherited members.

+ + + + +
GlResource()sf::GlResourceprotected
registerContextDestroyCallback(ContextDestroyCallback callback, void *arg)sf::GlResourceprotectedstatic
~GlResource()sf::GlResourceprotected
+ + + + diff --git a/SFML/doc/html/classsf_1_1GlResource.html b/SFML/doc/html/classsf_1_1GlResource.html new file mode 100644 index 0000000..c7e53ad --- /dev/null +++ b/SFML/doc/html/classsf_1_1GlResource.html @@ -0,0 +1,214 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Base class for classes that require an OpenGL context. + More...

+ +

#include <GlResource.hpp>

+
+Inheritance diagram for sf::GlResource:
+
+
+ + +sf::Context +sf::Shader +sf::Texture +sf::VertexBuffer +sf::Window +sf::RenderWindow + +
+ + + + + +

+Classes

class  TransientContextLock
 RAII helper class to temporarily lock an available context for use. More...
 
+ + + + + + + +

+Protected Member Functions

 GlResource ()
 Default constructor. More...
 
 ~GlResource ()
 Destructor. More...
 
+ + + + +

+Static Protected Member Functions

static void registerContextDestroyCallback (ContextDestroyCallback callback, void *arg)
 Register a function to be called when a context is destroyed. More...
 
+

Detailed Description

+

Base class for classes that require an OpenGL context.

+

This class is for internal use only, it must be the base of every class that requires a valid OpenGL context in order to work.

+ +

Definition at line 46 of file GlResource.hpp.

+

Constructor & Destructor Documentation

+ +

◆ GlResource()

+ +
+
+ + + + + +
+ + + + + + + +
sf::GlResource::GlResource ()
+
+protected
+
+ +

Default constructor.

+ +
+
+ +

◆ ~GlResource()

+ +
+
+ + + + + +
+ + + + + + + +
sf::GlResource::~GlResource ()
+
+protected
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ registerContextDestroyCallback()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void sf::GlResource::registerContextDestroyCallback (ContextDestroyCallback callback,
void * arg 
)
+
+staticprotected
+
+ +

Register a function to be called when a context is destroyed.

+

This is used for internal purposes in order to properly clean up OpenGL resources that cannot be shared between contexts.

+
Parameters
+ + + +
callbackFunction to be called when a context is destroyed
argArgument to pass when calling the function
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1GlResource.png b/SFML/doc/html/classsf_1_1GlResource.png new file mode 100644 index 0000000..8dc40fe Binary files /dev/null and b/SFML/doc/html/classsf_1_1GlResource.png differ diff --git a/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock-members.html b/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock-members.html new file mode 100644 index 0000000..2cc7702 --- /dev/null +++ b/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock-members.html @@ -0,0 +1,65 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::GlResource::TransientContextLock Member List
+
+ + + + + diff --git a/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock.html b/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock.html new file mode 100644 index 0000000..d676d9f --- /dev/null +++ b/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock.html @@ -0,0 +1,131 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::GlResource::TransientContextLock Class Reference
+
+
+ +

RAII helper class to temporarily lock an available context for use. + More...

+ +

#include <GlResource.hpp>

+
+Inheritance diagram for sf::GlResource::TransientContextLock:
+
+
+ + +sf::NonCopyable + +
+ + + + + + + + +

+Public Member Functions

 TransientContextLock ()
 Default constructor. More...
 
 ~TransientContextLock ()
 Destructor. More...
 
+

Detailed Description

+

RAII helper class to temporarily lock an available context for use.

+ +

Definition at line 79 of file GlResource.hpp.

+

Constructor & Destructor Documentation

+ +

◆ TransientContextLock()

+ +
+
+ + + + + + + +
sf::GlResource::TransientContextLock::TransientContextLock ()
+
+ +

Default constructor.

+ +
+
+ +

◆ ~TransientContextLock()

+ +
+
+ + + + + + + +
sf::GlResource::TransientContextLock::~TransientContextLock ()
+
+ +

Destructor.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock.png b/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock.png new file mode 100644 index 0000000..90eea33 Binary files /dev/null and b/SFML/doc/html/classsf_1_1GlResource_1_1TransientContextLock.png differ diff --git a/SFML/doc/html/classsf_1_1Glyph-members.html b/SFML/doc/html/classsf_1_1Glyph-members.html new file mode 100644 index 0000000..471651e --- /dev/null +++ b/SFML/doc/html/classsf_1_1Glyph-members.html @@ -0,0 +1,65 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Glyph Member List
+
+
+ +

This is the complete list of members for sf::Glyph, including all inherited members.

+ + + + + +
advancesf::Glyph
boundssf::Glyph
Glyph()sf::Glyphinline
textureRectsf::Glyph
+ + + + diff --git a/SFML/doc/html/classsf_1_1Glyph.html b/SFML/doc/html/classsf_1_1Glyph.html new file mode 100644 index 0000000..d9593bf --- /dev/null +++ b/SFML/doc/html/classsf_1_1Glyph.html @@ -0,0 +1,185 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Structure describing a glyph. + More...

+ +

#include <Glyph.hpp>

+ + + + + +

+Public Member Functions

 Glyph ()
 Default constructor. More...
 
+ + + + + + + + + + +

+Public Attributes

float advance
 Offset to move horizontally to the next character. More...
 
FloatRect bounds
 Bounding rectangle of the glyph, in coordinates relative to the baseline. More...
 
IntRect textureRect
 Texture coordinates of the glyph inside the font's texture. More...
 
+

Detailed Description

+

Structure describing a glyph.

+

A glyph is the visual representation of a character.

+

The sf::Glyph structure provides the information needed to handle the glyph:

    +
  • its coordinates in the font's texture
  • +
  • its bounding rectangle
  • +
  • the offset to apply to get the starting position of the next glyph
  • +
+
See also
sf::Font
+ +

Definition at line 41 of file Glyph.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Glyph()

+ +
+
+ + + + + +
+ + + + + + + +
sf::Glyph::Glyph ()
+
+inline
+
+ +

Default constructor.

+ +

Definition at line 49 of file Glyph.hpp.

+ +
+
+

Member Data Documentation

+ +

◆ advance

+ +
+
+ + + + +
float sf::Glyph::advance
+
+ +

Offset to move horizontally to the next character.

+ +

Definition at line 54 of file Glyph.hpp.

+ +
+
+ +

◆ bounds

+ +
+
+ + + + +
FloatRect sf::Glyph::bounds
+
+ +

Bounding rectangle of the glyph, in coordinates relative to the baseline.

+ +

Definition at line 55 of file Glyph.hpp.

+ +
+
+ +

◆ textureRect

+ +
+
+ + + + +
IntRect sf::Glyph::textureRect
+
+ +

Texture coordinates of the glyph inside the font's texture.

+ +

Definition at line 56 of file Glyph.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Http-members.html b/SFML/doc/html/classsf_1_1Http-members.html new file mode 100644 index 0000000..9b995cb --- /dev/null +++ b/SFML/doc/html/classsf_1_1Http-members.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Http Member List
+
+
+ +

This is the complete list of members for sf::Http, including all inherited members.

+ + + + + + + +
Http()sf::Http
Http(const std::string &host, unsigned short port=0)sf::Http
NonCopyable()sf::NonCopyableinlineprivate
sendRequest(const Request &request, Time timeout=Time::Zero)sf::Http
setHost(const std::string &host, unsigned short port=0)sf::Http
~NonCopyable()sf::NonCopyableinlineprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1Http.html b/SFML/doc/html/classsf_1_1Http.html new file mode 100644 index 0000000..52b93ff --- /dev/null +++ b/SFML/doc/html/classsf_1_1Http.html @@ -0,0 +1,263 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Http Class Reference
+
+
+ +

A HTTP client. + More...

+ +

#include <Http.hpp>

+
+Inheritance diagram for sf::Http:
+
+
+ + +sf::NonCopyable + +
+ + + + + + + + +

+Classes

class  Request
 Define a HTTP request. More...
 
class  Response
 Define a HTTP response. More...
 
+ + + + + + + + + + + + + +

+Public Member Functions

 Http ()
 Default constructor. More...
 
 Http (const std::string &host, unsigned short port=0)
 Construct the HTTP client with the target host. More...
 
void setHost (const std::string &host, unsigned short port=0)
 Set the target host. More...
 
Response sendRequest (const Request &request, Time timeout=Time::Zero)
 Send a HTTP request and return the server's response. More...
 
+

Detailed Description

+

A HTTP client.

+

sf::Http is a very simple HTTP client that allows you to communicate with a web server.

+

You can retrieve web pages, send data to an interactive resource, download a remote file, etc. The HTTPS protocol is not supported.

+

The HTTP client is split into 3 classes:

+

sf::Http::Request builds the request that will be sent to the server. A request is made of:

    +
  • a method (what you want to do)
  • +
  • a target URI (usually the name of the web page or file)
  • +
  • one or more header fields (options that you can pass to the server)
  • +
  • an optional body (for POST requests)
  • +
+

sf::Http::Response parse the response from the web server and provides getters to read them. The response contains:

    +
  • a status code
  • +
  • header fields (that may be answers to the ones that you requested)
  • +
  • a body, which contains the contents of the requested resource
  • +
+

sf::Http provides a simple function, SendRequest, to send a sf::Http::Request and return the corresponding sf::Http::Response from the server.

+

Usage example:

// Create a new HTTP client
sf::Http http;
// We'll work on http://www.sfml-dev.org
http.setHost("http://www.sfml-dev.org");
// Prepare a request to get the 'features.php' page
sf::Http::Request request("features.php");
// Send the request
sf::Http::Response response = http.sendRequest(request);
// Check the status code and display the result
if (status == sf::Http::Response::Ok)
{
std::cout << response.getBody() << std::endl;
}
else
{
std::cout << "Error " << status << std::endl;
}
+

Definition at line 46 of file Http.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Http() [1/2]

+ +
+
+ + + + + + + +
sf::Http::Http ()
+
+ +

Default constructor.

+ +
+
+ +

◆ Http() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::Http::Http (const std::string & host,
unsigned short port = 0 
)
+
+ +

Construct the HTTP client with the target host.

+

This is equivalent to calling setHost(host, port). The port has a default value of 0, which means that the HTTP client will use the right port according to the protocol used (80 for HTTP). You should leave it like this unless you really need a port other than the standard one, or use an unknown protocol.

+
Parameters
+ + + +
hostWeb server to connect to
portPort to use for connection
+
+
+ +
+
+

Member Function Documentation

+ +

◆ sendRequest()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Response sf::Http::sendRequest (const Requestrequest,
Time timeout = Time::Zero 
)
+
+ +

Send a HTTP request and return the server's response.

+

You must have a valid host before sending a request (see setHost). Any missing mandatory header field in the request 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, or use a timeout to limit the time to wait. A value of Time::Zero means that the client will use the system default timeout (which is usually pretty long).

+
Parameters
+ + + +
requestRequest to send
timeoutMaximum time to wait
+
+
+
Returns
Server's response
+ +
+
+ +

◆ setHost()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Http::setHost (const std::string & host,
unsigned short port = 0 
)
+
+ +

Set the target host.

+

This function just stores the host address and port, it doesn't actually connect to it until you send a request. The port has a default value of 0, which means that the HTTP client will use the right port according to the protocol used (80 for HTTP). You should leave it like this unless you really need a port other than the standard one, or use an unknown protocol.

+
Parameters
+ + + +
hostWeb server to connect to
portPort to use for connection
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Http.png b/SFML/doc/html/classsf_1_1Http.png new file mode 100644 index 0000000..6f251bf Binary files /dev/null and b/SFML/doc/html/classsf_1_1Http.png differ diff --git a/SFML/doc/html/classsf_1_1Http_1_1Request-members.html b/SFML/doc/html/classsf_1_1Http_1_1Request-members.html new file mode 100644 index 0000000..08989d3 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Http_1_1Request-members.html @@ -0,0 +1,74 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Http::Request Member List
+
+
+ +

This is the complete list of members for sf::Http::Request, including all inherited members.

+ + + + + + + + + + + + + + +
Delete enum valuesf::Http::Request
Get enum valuesf::Http::Request
Head enum valuesf::Http::Request
Http (defined in sf::Http::Request)sf::Http::Requestfriend
Method enum namesf::Http::Request
Post enum valuesf::Http::Request
Put enum valuesf::Http::Request
Request(const std::string &uri="/", Method method=Get, const std::string &body="")sf::Http::Request
setBody(const std::string &body)sf::Http::Request
setField(const std::string &field, const std::string &value)sf::Http::Request
setHttpVersion(unsigned int major, unsigned int minor)sf::Http::Request
setMethod(Method method)sf::Http::Request
setUri(const std::string &uri)sf::Http::Request
+ + + + diff --git a/SFML/doc/html/classsf_1_1Http_1_1Request.html b/SFML/doc/html/classsf_1_1Http_1_1Request.html new file mode 100644 index 0000000..f6cdcf5 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Http_1_1Request.html @@ -0,0 +1,352 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Http::Request Class Reference
+
+
+ +

Define a HTTP request. + More...

+ +

#include <Http.hpp>

+ + + + + +

+Public Types

enum  Method {
+  Get, +Post, +Head, +Put, +
+  Delete +
+ }
 Enumerate the available HTTP methods for a request. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Request (const std::string &uri="/", Method method=Get, const std::string &body="")
 Default constructor. More...
 
void setField (const std::string &field, const std::string &value)
 Set the value of a field. More...
 
void setMethod (Method method)
 Set the request method. More...
 
void setUri (const std::string &uri)
 Set the requested URI. More...
 
void setHttpVersion (unsigned int major, unsigned int minor)
 Set the HTTP version for the request. More...
 
void setBody (const std::string &body)
 Set the body of the request. More...
 
+ + + +

+Friends

+class Http
 
+

Detailed Description

+

Define a HTTP request.

+ +

Definition at line 54 of file Http.hpp.

+

Member Enumeration Documentation

+ +

◆ Method

+ +
+
+ + + + +
enum sf::Http::Request::Method
+
+ +

Enumerate the available HTTP methods for a request.

+ + + + + + +
Enumerator
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.

+
Put 

Request in put mode, useful for a REST API.

+
Delete 

Request in delete mode, useful for a REST API.

+
+ +

Definition at line 62 of file Http.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Request()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
sf::Http::Request::Request (const std::string & uri = "/",
Method method = Get,
const std::string & body = "" 
)
+
+ +

Default constructor.

+

This constructor creates a GET request, with the root URI ("/") and an empty body.

+
Parameters
+ + + + +
uriTarget URI
methodMethod to use for the request
bodyContent of the request's body
+
+
+ +
+
+

Member Function Documentation

+ +

◆ setBody()

+ +
+
+ + + + + + + + +
void sf::Http::Request::setBody (const std::string & body)
+
+ +

Set the body of the request.

+

The body of a request is optional and only makes sense for POST requests. It is ignored for all other methods. The body is empty by default.

+
Parameters
+ + +
bodyContent of the body
+
+
+ +
+
+ +

◆ setField()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Http::Request::setField (const std::string & field,
const std::string & value 
)
+
+ +

Set the value of a field.

+

The field is created if it doesn't exist. The name of the field is case-insensitive. By default, a request doesn't contain any field (but the mandatory fields are added later by the HTTP client when sending the request).

+
Parameters
+ + + +
fieldName of the field to set
valueValue of the field
+
+
+ +
+
+ +

◆ setHttpVersion()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Http::Request::setHttpVersion (unsigned int major,
unsigned int minor 
)
+
+ +

Set the HTTP version for the request.

+

The HTTP version is 1.0 by default.

+
Parameters
+ + + +
majorMajor HTTP version number
minorMinor HTTP version number
+
+
+ +
+
+ +

◆ setMethod()

+ +
+
+ + + + + + + + +
void sf::Http::Request::setMethod (Method method)
+
+ +

Set the request method.

+

See the Method enumeration for a complete list of all the availale methods. The method is Http::Request::Get by default.

+
Parameters
+ + +
methodMethod to use for the request
+
+
+ +
+
+ +

◆ setUri()

+ +
+
+ + + + + + + + +
void sf::Http::Request::setUri (const std::string & uri)
+
+ +

Set the requested URI.

+

The URI is the resource (usually a web page or a file) that you want to get or post. The URI is "/" (the root page) by default.

+
Parameters
+ + +
uriURI to request, relative to the host
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Http_1_1Response-members.html b/SFML/doc/html/classsf_1_1Http_1_1Response-members.html new file mode 100644 index 0000000..167dcf6 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Http_1_1Response-members.html @@ -0,0 +1,92 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Http::Response Member List
+
+ + + + + diff --git a/SFML/doc/html/classsf_1_1Http_1_1Response.html b/SFML/doc/html/classsf_1_1Http_1_1Response.html new file mode 100644 index 0000000..69a1bb7 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Http_1_1Response.html @@ -0,0 +1,345 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Http::Response Class Reference
+
+
+ +

Define a HTTP response. + More...

+ +

#include <Http.hpp>

+ + + + + +

+Public Types

enum  Status {
+  Ok = 200, +Created = 201, +Accepted = 202, +NoContent = 204, +
+  ResetContent = 205, +PartialContent = 206, +MultipleChoices = 300, +MovedPermanently = 301, +
+  MovedTemporarily = 302, +NotModified = 304, +BadRequest = 400, +Unauthorized = 401, +
+  Forbidden = 403, +NotFound = 404, +RangeNotSatisfiable = 407, +InternalServerError = 500, +
+  NotImplemented = 501, +BadGateway = 502, +ServiceNotAvailable = 503, +GatewayTimeout = 504, +
+  VersionNotSupported = 505, +InvalidResponse = 1000, +ConnectionFailed = 1001 +
+ }
 Enumerate all the valid status codes for a response. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Response ()
 Default constructor. More...
 
const std::string & getField (const std::string &field) const
 Get the value of a field. More...
 
Status getStatus () const
 Get the response status code. More...
 
unsigned int getMajorHttpVersion () const
 Get the major HTTP version number of the response. More...
 
unsigned int getMinorHttpVersion () const
 Get the minor HTTP version number of the response. More...
 
const std::string & getBody () const
 Get the body of the response. More...
 
+ + + +

+Friends

+class Http
 
+

Detailed Description

+

Define a HTTP response.

+ +

Definition at line 193 of file Http.hpp.

+

Member Enumeration Documentation

+ +

◆ Status

+ +
+
+ + + + +
enum sf::Http::Response::Status
+
+ +

Enumerate all the valid status codes for a response.

+ + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
Ok 

Most common code returned when operation was successful.

+
Created 

The resource has successfully been created.

+
Accepted 

The request has been accepted, but will be processed later by the server.

+
NoContent 

The server didn't send any data in return.

+
ResetContent 

The server informs the client that it should clear the view (form) that caused the request to be sent.

+
PartialContent 

The server has sent a part of the resource, as a response to a partial GET request.

+
MultipleChoices 

The requested page can be accessed from several locations.

+
MovedPermanently 

The requested page has permanently moved to a new location.

+
MovedTemporarily 

The requested page has temporarily moved to a new location.

+
NotModified 

For conditional requests, means the requested page hasn't changed and doesn't need to be refreshed.

+
BadRequest 

The server couldn't understand the request (syntax error)

+
Unauthorized 

The requested page needs an authentication to be accessed.

+
Forbidden 

The requested page cannot be accessed at all, even with authentication.

+
NotFound 

The requested page doesn't exist.

+
RangeNotSatisfiable 

The server can't satisfy the partial GET request (with a "Range" header field)

+
InternalServerError 

The server encountered an unexpected error.

+
NotImplemented 

The server doesn't implement a requested feature.

+
BadGateway 

The gateway server has received an error from the source server.

+
ServiceNotAvailable 

The server is temporarily unavailable (overloaded, in maintenance, ...)

+
GatewayTimeout 

The gateway server couldn't receive a response from the source server.

+
VersionNotSupported 

The server doesn't support the requested HTTP version.

+
InvalidResponse 

Response is not a valid HTTP one.

+
ConnectionFailed 

Connection with server failed.

+
+ +

Definition at line 201 of file Http.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Response()

+ +
+
+ + + + + + + +
sf::Http::Response::Response ()
+
+ +

Default constructor.

+

Constructs an empty response.

+ +
+
+

Member Function Documentation

+ +

◆ getBody()

+ +
+
+ + + + + + + +
const std::string& sf::Http::Response::getBody () const
+
+ +

Get the body of the response.

+

The body of a response may 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
+ +
+
+ +

◆ getField()

+ +
+
+ + + + + + + + +
const std::string& sf::Http::Response::getField (const std::string & field) const
+
+ +

Get the value of a field.

+

If the field field is not found in the response header, the empty string is returned. This function uses case-insensitive comparisons.

+
Parameters
+ + +
fieldName of the field to get
+
+
+
Returns
Value of the field, or empty string if not found
+ +
+
+ +

◆ getMajorHttpVersion()

+ +
+
+ + + + + + + +
unsigned int sf::Http::Response::getMajorHttpVersion () const
+
+ +

Get the major HTTP version number of the response.

+
Returns
Major HTTP version number
+
See also
getMinorHttpVersion
+ +
+
+ +

◆ getMinorHttpVersion()

+ +
+
+ + + + + + + +
unsigned int sf::Http::Response::getMinorHttpVersion () const
+
+ +

Get the minor HTTP version number of the response.

+
Returns
Minor HTTP version number
+
See also
getMajorHttpVersion
+ +
+
+ +

◆ getStatus()

+ +
+
+ + + + + + + +
Status sf::Http::Response::getStatus () const
+
+ +

Get the response status code.

+

The status code should be the first thing to be checked after receiving a response, it defines whether it is a success, a failure or anything else (see the Status enumeration).

+
Returns
Status code of the response
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Image-members.html b/SFML/doc/html/classsf_1_1Image-members.html new file mode 100644 index 0000000..3bb2d59 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Image-members.html @@ -0,0 +1,77 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Image Member List
+
+
+ +

This is the complete list of members for sf::Image, including all inherited members.

+ + + + + + + + + + + + + + + + + +
copy(const Image &source, unsigned int destX, unsigned int destY, const IntRect &sourceRect=IntRect(0, 0, 0, 0), bool applyAlpha=false)sf::Image
create(unsigned int width, unsigned int height, const Color &color=Color(0, 0, 0))sf::Image
create(unsigned int width, unsigned int height, const Uint8 *pixels)sf::Image
createMaskFromColor(const Color &color, Uint8 alpha=0)sf::Image
flipHorizontally()sf::Image
flipVertically()sf::Image
getPixel(unsigned int x, unsigned int y) constsf::Image
getPixelsPtr() constsf::Image
getSize() constsf::Image
Image()sf::Image
loadFromFile(const std::string &filename)sf::Image
loadFromMemory(const void *data, std::size_t size)sf::Image
loadFromStream(InputStream &stream)sf::Image
saveToFile(const std::string &filename) constsf::Image
setPixel(unsigned int x, unsigned int y, const Color &color)sf::Image
~Image()sf::Image
+ + + + diff --git a/SFML/doc/html/classsf_1_1Image.html b/SFML/doc/html/classsf_1_1Image.html new file mode 100644 index 0000000..6f8601a --- /dev/null +++ b/SFML/doc/html/classsf_1_1Image.html @@ -0,0 +1,650 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Image Class Reference
+
+
+ +

Class for loading, manipulating and saving images. + More...

+ +

#include <Image.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Image ()
 Default constructor. More...
 
 ~Image ()
 Destructor. More...
 
void create (unsigned int width, unsigned int height, const Color &color=Color(0, 0, 0))
 Create the image and fill it with a unique color. More...
 
void create (unsigned int width, unsigned int height, const Uint8 *pixels)
 Create the image from an array of pixels. More...
 
bool loadFromFile (const std::string &filename)
 Load the image from a file on disk. More...
 
bool loadFromMemory (const void *data, std::size_t size)
 Load the image from a file in memory. More...
 
bool loadFromStream (InputStream &stream)
 Load the image from a custom stream. More...
 
bool saveToFile (const std::string &filename) const
 Save the image to a file on disk. More...
 
Vector2u getSize () const
 Return the size (width and height) of the image. More...
 
void createMaskFromColor (const Color &color, Uint8 alpha=0)
 Create a transparency mask from a specified color-key. More...
 
void copy (const Image &source, unsigned int destX, unsigned int destY, const IntRect &sourceRect=IntRect(0, 0, 0, 0), bool applyAlpha=false)
 Copy pixels from another image onto this one. More...
 
void setPixel (unsigned int x, unsigned int y, const Color &color)
 Change the color of a pixel. More...
 
Color getPixel (unsigned int x, unsigned int y) const
 Get the color of a pixel. More...
 
const Uint8 * getPixelsPtr () const
 Get a read-only pointer to the array of pixels. More...
 
void flipHorizontally ()
 Flip the image horizontally (left <-> right) More...
 
void flipVertically ()
 Flip the image vertically (top <-> bottom) More...
 
+

Detailed Description

+

Class for loading, manipulating and saving images.

+

sf::Image is an abstraction to manipulate images as bidimensional arrays of pixels.

+

The class provides functions to load, read, write and save pixels, as well as many other useful functions.

+

sf::Image can handle a unique internal representation of pixels, which is RGBA 32 bits. This means that a pixel must be composed of 8 bits red, green, blue and alpha channels – just like a sf::Color. All the functions that return an array of pixels follow this rule, and all parameters that you pass to sf::Image functions (such as loadFromMemory) must use this representation as well.

+

A sf::Image can be copied, but it is a heavy resource and if possible you should always use [const] references to pass or return them to avoid useless copies.

+

Usage example:

// Load an image file from a file
sf::Image background;
if (!background.loadFromFile("background.jpg"))
return -1;
// Create a 20x20 image filled with black color
sf::Image image;
image.create(20, 20, sf::Color::Black);
// Copy image1 on image2 at position (10, 10)
image.copy(background, 10, 10);
// Make the top-left pixel transparent
sf::Color color = image.getPixel(0, 0);
color.a = 0;
image.setPixel(0, 0, color);
// Save the image to a file
if (!image.saveToFile("result.png"))
return -1;
See also
sf::Texture
+ +

Definition at line 46 of file Image.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Image()

+ +
+
+ + + + + + + +
sf::Image::Image ()
+
+ +

Default constructor.

+

Creates an empty image.

+ +
+
+ +

◆ ~Image()

+ +
+
+ + + + + + + +
sf::Image::~Image ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ copy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Image::copy (const Imagesource,
unsigned int destX,
unsigned int destY,
const IntRectsourceRect = IntRect(0, 0, 0, 0),
bool applyAlpha = false 
)
+
+ +

Copy pixels from another image onto this one.

+

This function does a slow pixel copy and should not be used intensively. It can be used to prepare a complex static image from several others, but if you need this kind of feature in real-time you'd better use sf::RenderTexture.

+

If sourceRect is empty, the whole image is copied. If applyAlpha is set to true, the transparency of source pixels is applied. If it is false, the pixels are copied unchanged with their alpha value.

+
Parameters
+ + + + + + +
sourceSource image to copy
destXX coordinate of the destination position
destYY coordinate of the destination position
sourceRectSub-rectangle of the source image to copy
applyAlphaShould the copy take into account the source transparency?
+
+
+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Image::create (unsigned int width,
unsigned int height,
const Colorcolor = Color(0, 0, 0) 
)
+
+ +

Create the image and fill it with a unique color.

+
Parameters
+ + + + +
widthWidth of the image
heightHeight of the image
colorFill color
+
+
+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Image::create (unsigned int width,
unsigned int height,
const Uint8 * pixels 
)
+
+ +

Create the image from an array of pixels.

+

The pixel array is assumed to contain 32-bits RGBA pixels, and have the given width and height. If not, this is an undefined behavior. If pixels is null, an empty image is created.

+
Parameters
+ + + + +
widthWidth of the image
heightHeight of the image
pixelsArray of pixels to copy to the image
+
+
+ +
+
+ +

◆ createMaskFromColor()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Image::createMaskFromColor (const Colorcolor,
Uint8 alpha = 0 
)
+
+ +

Create a transparency mask from a specified color-key.

+

This function sets the alpha value of every pixel matching the given color to alpha (0 by default), so that they become transparent.

+
Parameters
+ + + +
colorColor to make transparent
alphaAlpha value to assign to transparent pixels
+
+
+ +
+
+ +

◆ flipHorizontally()

+ +
+
+ + + + + + + +
void sf::Image::flipHorizontally ()
+
+ +

Flip the image horizontally (left <-> right)

+ +
+
+ +

◆ flipVertically()

+ +
+
+ + + + + + + +
void sf::Image::flipVertically ()
+
+ +

Flip the image vertically (top <-> bottom)

+ +
+
+ +

◆ getPixel()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Color sf::Image::getPixel (unsigned int x,
unsigned int y 
) const
+
+ +

Get the color of a pixel.

+

This function doesn't check the validity of the pixel coordinates, using out-of-range values will result in an undefined behavior.

+
Parameters
+ + + +
xX coordinate of pixel to get
yY coordinate of pixel to get
+
+
+
Returns
Color of the pixel at coordinates (x, y)
+
See also
setPixel
+ +
+
+ +

◆ getPixelsPtr()

+ +
+
+ + + + + + + +
const Uint8* sf::Image::getPixelsPtr () const
+
+ +

Get a read-only pointer to the array of pixels.

+

The returned value points to an array of RGBA pixels made of 8 bits integers components. The size of the array is width * height * 4 (getSize().x * getSize().y * 4). Warning: the returned pointer may become invalid if you modify the image, so you should never store it for too long. If the image is empty, a null pointer is returned.

+
Returns
Read-only pointer to the array of pixels
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + + + +
Vector2u sf::Image::getSize () const
+
+ +

Return the size (width and height) of the image.

+
Returns
Size of the image, in pixels
+ +
+
+ +

◆ loadFromFile()

+ +
+
+ + + + + + + + +
bool sf::Image::loadFromFile (const std::string & filename)
+
+ +

Load the image from a file on disk.

+

The supported image formats are bmp, png, tga, jpg, gif, psd, hdr and pic. Some format options are not supported, like progressive jpeg. If this function fails, the image is left unchanged.

+
Parameters
+ + +
filenamePath of the image file to load
+
+
+
Returns
True if loading was successful
+
See also
loadFromMemory, loadFromStream, saveToFile
+ +
+
+ +

◆ loadFromMemory()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Image::loadFromMemory (const void * data,
std::size_t size 
)
+
+ +

Load the image from a file in memory.

+

The supported image formats are bmp, png, tga, jpg, gif, psd, hdr and pic. Some format options are not supported, like progressive jpeg. If this function fails, the image is left unchanged.

+
Parameters
+ + + +
dataPointer to the file data in memory
sizeSize of the data to load, in bytes
+
+
+
Returns
True if loading was successful
+
See also
loadFromFile, loadFromStream
+ +
+
+ +

◆ loadFromStream()

+ +
+
+ + + + + + + + +
bool sf::Image::loadFromStream (InputStreamstream)
+
+ +

Load the image from a custom stream.

+

The supported image formats are bmp, png, tga, jpg, gif, psd, hdr and pic. Some format options are not supported, like progressive jpeg. If this function fails, the image is left unchanged.

+
Parameters
+ + +
streamSource stream to read from
+
+
+
Returns
True if loading was successful
+
See also
loadFromFile, loadFromMemory
+ +
+
+ +

◆ saveToFile()

+ +
+
+ + + + + + + + +
bool sf::Image::saveToFile (const std::string & filename) const
+
+ +

Save the image to a file on disk.

+

The format of the image is automatically deduced from the extension. The supported image formats are bmp, png, tga and jpg. The destination file is overwritten if it already exists. This function fails if the image is empty.

+
Parameters
+ + +
filenamePath of the file to save
+
+
+
Returns
True if saving was successful
+
See also
create, loadFromFile, loadFromMemory
+ +
+
+ +

◆ setPixel()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Image::setPixel (unsigned int x,
unsigned int y,
const Colorcolor 
)
+
+ +

Change the color of a pixel.

+

This function doesn't check the validity of the pixel coordinates, using out-of-range values will result in an undefined behavior.

+
Parameters
+ + + + +
xX coordinate of pixel to change
yY coordinate of pixel to change
colorNew color of the pixel
+
+
+
See also
getPixel
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1InputSoundFile-members.html b/SFML/doc/html/classsf_1_1InputSoundFile-members.html new file mode 100644 index 0000000..fc54f4a --- /dev/null +++ b/SFML/doc/html/classsf_1_1InputSoundFile-members.html @@ -0,0 +1,77 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::InputSoundFile Member List
+
+
+ +

This is the complete list of members for sf::InputSoundFile, including all inherited members.

+ + + + + + + + + + + + + + + + + +
getChannelCount() constsf::InputSoundFile
getDuration() constsf::InputSoundFile
getSampleCount() constsf::InputSoundFile
getSampleOffset() constsf::InputSoundFile
getSampleRate() constsf::InputSoundFile
getTimeOffset() constsf::InputSoundFile
InputSoundFile()sf::InputSoundFile
NonCopyable()sf::NonCopyableinlineprivate
openFromFile(const std::string &filename)sf::InputSoundFile
openFromMemory(const void *data, std::size_t sizeInBytes)sf::InputSoundFile
openFromStream(InputStream &stream)sf::InputSoundFile
read(Int16 *samples, Uint64 maxCount)sf::InputSoundFile
seek(Uint64 sampleOffset)sf::InputSoundFile
seek(Time timeOffset)sf::InputSoundFile
~InputSoundFile()sf::InputSoundFile
~NonCopyable()sf::NonCopyableinlineprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1InputSoundFile.html b/SFML/doc/html/classsf_1_1InputSoundFile.html new file mode 100644 index 0000000..8ddbfb7 --- /dev/null +++ b/SFML/doc/html/classsf_1_1InputSoundFile.html @@ -0,0 +1,481 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::InputSoundFile Class Reference
+
+
+ +

Provide read access to sound files. + More...

+ +

#include <InputSoundFile.hpp>

+
+Inheritance diagram for sf::InputSoundFile:
+
+
+ + +sf::NonCopyable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 InputSoundFile ()
 Default constructor. More...
 
 ~InputSoundFile ()
 Destructor. More...
 
bool openFromFile (const std::string &filename)
 Open a sound file from the disk for reading. More...
 
bool openFromMemory (const void *data, std::size_t sizeInBytes)
 Open a sound file in memory for reading. More...
 
bool openFromStream (InputStream &stream)
 Open a sound file from a custom stream for reading. More...
 
Uint64 getSampleCount () const
 Get the total number of audio samples in the file. More...
 
unsigned int getChannelCount () const
 Get the number of channels used by the sound. More...
 
unsigned int getSampleRate () const
 Get the sample rate of the sound. More...
 
Time getDuration () const
 Get the total duration of the sound file. More...
 
Time getTimeOffset () const
 Get the read offset of the file in time. More...
 
Uint64 getSampleOffset () const
 Get the read offset of the file in samples. More...
 
void seek (Uint64 sampleOffset)
 Change the current read position to the given sample offset. More...
 
void seek (Time timeOffset)
 Change the current read position to the given time offset. More...
 
Uint64 read (Int16 *samples, Uint64 maxCount)
 Read audio samples from the open file. More...
 
+

Detailed Description

+

Provide read access to sound files.

+

This class decodes audio samples from a sound file.

+

It is used internally by higher-level classes such as sf::SoundBuffer and sf::Music, but can also be useful if you want to process or analyze audio files without playing them, or if you want to implement your own version of sf::Music with more specific features.

+

Usage example:

// Open a sound file
if (!file.openFromFile("music.ogg"))
/* error */;
// Print the sound attributes
std::cout << "duration: " << file.getDuration().asSeconds() << std::endl;
std::cout << "channels: " << file.getChannelCount() << std::endl;
std::cout << "sample rate: " << file.getSampleRate() << std::endl;
std::cout << "sample count: " << file.getSampleCount() << std::endl;
// Read and process batches of samples until the end of file is reached
sf::Int16 samples[1024];
sf::Uint64 count;
do
{
count = file.read(samples, 1024);
// process, analyze, play, convert, or whatever
// you want to do with the samples...
}
while (count > 0);
See also
sf::SoundFileReader, sf::OutputSoundFile
+ +

Definition at line 47 of file InputSoundFile.hpp.

+

Constructor & Destructor Documentation

+ +

◆ InputSoundFile()

+ +
+
+ + + + + + + +
sf::InputSoundFile::InputSoundFile ()
+
+ +

Default constructor.

+ +
+
+ +

◆ ~InputSoundFile()

+ +
+
+ + + + + + + +
sf::InputSoundFile::~InputSoundFile ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ getChannelCount()

+ +
+
+ + + + + + + +
unsigned int sf::InputSoundFile::getChannelCount () const
+
+ +

Get the number of channels used by the sound.

+
Returns
Number of channels (1 = mono, 2 = stereo)
+ +
+
+ +

◆ getDuration()

+ +
+
+ + + + + + + +
Time sf::InputSoundFile::getDuration () const
+
+ +

Get the total duration of the sound file.

+

This function is provided for convenience, the duration is deduced from the other sound file attributes.

+
Returns
Duration of the sound file
+ +
+
+ +

◆ getSampleCount()

+ +
+
+ + + + + + + +
Uint64 sf::InputSoundFile::getSampleCount () const
+
+ +

Get the total number of audio samples in the file.

+
Returns
Number of samples
+ +
+
+ +

◆ getSampleOffset()

+ +
+
+ + + + + + + +
Uint64 sf::InputSoundFile::getSampleOffset () const
+
+ +

Get the read offset of the file in samples.

+
Returns
Sample position
+ +
+
+ +

◆ getSampleRate()

+ +
+
+ + + + + + + +
unsigned int sf::InputSoundFile::getSampleRate () const
+
+ +

Get the sample rate of the sound.

+
Returns
Sample rate, in samples per second
+ +
+
+ +

◆ getTimeOffset()

+ +
+
+ + + + + + + +
Time sf::InputSoundFile::getTimeOffset () const
+
+ +

Get the read offset of the file in time.

+
Returns
Time position
+ +
+
+ +

◆ openFromFile()

+ +
+
+ + + + + + + + +
bool sf::InputSoundFile::openFromFile (const std::string & filename)
+
+ +

Open a sound file from the disk for reading.

+

The supported audio formats are: WAV (PCM only), OGG/Vorbis, FLAC. The supported sample sizes for FLAC and WAV are 8, 16, 24 and 32 bit.

+
Parameters
+ + +
filenamePath of the sound file to load
+
+
+
Returns
True if the file was successfully opened
+ +
+
+ +

◆ openFromMemory()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::InputSoundFile::openFromMemory (const void * data,
std::size_t sizeInBytes 
)
+
+ +

Open a sound file in memory for reading.

+

The supported audio formats are: WAV (PCM only), OGG/Vorbis, FLAC. The supported sample sizes for FLAC and WAV are 8, 16, 24 and 32 bit.

+
Parameters
+ + + +
dataPointer to the file data in memory
sizeInBytesSize of the data to load, in bytes
+
+
+
Returns
True if the file was successfully opened
+ +
+
+ +

◆ openFromStream()

+ +
+
+ + + + + + + + +
bool sf::InputSoundFile::openFromStream (InputStreamstream)
+
+ +

Open a sound file from a custom stream for reading.

+

The supported audio formats are: WAV (PCM only), OGG/Vorbis, FLAC. The supported sample sizes for FLAC and WAV are 8, 16, 24 and 32 bit.

+
Parameters
+ + +
streamSource stream to read from
+
+
+
Returns
True if the file was successfully opened
+ +
+
+ +

◆ read()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Uint64 sf::InputSoundFile::read (Int16 * samples,
Uint64 maxCount 
)
+
+ +

Read audio samples from the open file.

+
Parameters
+ + + +
samplesPointer to the sample array to fill
maxCountMaximum number of samples to read
+
+
+
Returns
Number of samples actually read (may be less than maxCount)
+ +
+
+ +

◆ seek() [1/2]

+ +
+
+ + + + + + + + +
void sf::InputSoundFile::seek (Uint64 sampleOffset)
+
+ +

Change the current read position to the given sample offset.

+

This function takes a sample offset to provide maximum precision. If you need to jump to a given time, use the other overload.

+

The sample offset takes the channels into account. If you have a time offset instead, you can easily find the corresponding sample offset with the following formula: timeInSeconds * sampleRate * channelCount If the given offset exceeds to total number of samples, this function jumps to the end of the sound file.

+
Parameters
+ + +
sampleOffsetIndex of the sample to jump to, relative to the beginning
+
+
+ +
+
+ +

◆ seek() [2/2]

+ +
+
+ + + + + + + + +
void sf::InputSoundFile::seek (Time timeOffset)
+
+ +

Change the current read position to the given time offset.

+

Using a time offset is handy but imprecise. If you need an accurate result, consider using the overload which takes a sample offset.

+

If the given time exceeds to total duration, this function jumps to the end of the sound file.

+
Parameters
+ + +
timeOffsetTime to jump to, relative to the beginning
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1InputSoundFile.png b/SFML/doc/html/classsf_1_1InputSoundFile.png new file mode 100644 index 0000000..e3d5aa9 Binary files /dev/null and b/SFML/doc/html/classsf_1_1InputSoundFile.png differ diff --git a/SFML/doc/html/classsf_1_1InputStream-members.html b/SFML/doc/html/classsf_1_1InputStream-members.html new file mode 100644 index 0000000..26f6e52 --- /dev/null +++ b/SFML/doc/html/classsf_1_1InputStream-members.html @@ -0,0 +1,66 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::InputStream Member List
+
+
+ +

This is the complete list of members for sf::InputStream, including all inherited members.

+ + + + + + +
getSize()=0sf::InputStreampure virtual
read(void *data, Int64 size)=0sf::InputStreampure virtual
seek(Int64 position)=0sf::InputStreampure virtual
tell()=0sf::InputStreampure virtual
~InputStream()sf::InputStreaminlinevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1InputStream.html b/SFML/doc/html/classsf_1_1InputStream.html new file mode 100644 index 0000000..115edc4 --- /dev/null +++ b/SFML/doc/html/classsf_1_1InputStream.html @@ -0,0 +1,281 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::InputStream Class Referenceabstract
+
+
+ +

Abstract class for custom file input streams. + More...

+ +

#include <InputStream.hpp>

+
+Inheritance diagram for sf::InputStream:
+
+
+ + +sf::FileInputStream +sf::MemoryInputStream + +
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual ~InputStream ()
 Virtual destructor. More...
 
virtual Int64 read (void *data, Int64 size)=0
 Read data from the stream. More...
 
virtual Int64 seek (Int64 position)=0
 Change the current reading position. More...
 
virtual Int64 tell ()=0
 Get the current reading position in the stream. More...
 
virtual Int64 getSize ()=0
 Return the size of the stream. More...
 
+

Detailed Description

+

Abstract class for custom file input streams.

+

This class allows users to define their own file input sources from which SFML can load resources.

+

SFML resource classes like sf::Texture and sf::SoundBuffer provide loadFromFile and loadFromMemory functions, which read data from conventional sources. However, if you have data coming from a different source (over a network, embedded, encrypted, compressed, etc) you can derive your own class from sf::InputStream and load SFML resources with their loadFromStream function.

+

Usage example:

// custom stream class that reads from inside a zip file
class ZipStream : public sf::InputStream
{
public:
ZipStream(std::string archive);
bool open(std::string filename);
Int64 read(void* data, Int64 size);
Int64 seek(Int64 position);
Int64 tell();
Int64 getSize();
private:
...
};
// now you can load textures...
sf::Texture texture;
ZipStream stream("resources.zip");
stream.open("images/img.png");
texture.loadFromStream(stream);
// musics...
sf::Music music;
ZipStream stream("resources.zip");
stream.open("musics/msc.ogg");
music.openFromStream(stream);
// etc.
+

Definition at line 41 of file InputStream.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ~InputStream()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::InputStream::~InputStream ()
+
+inlinevirtual
+
+ +

Virtual destructor.

+ +

Definition at line 49 of file InputStream.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ getSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Int64 sf::InputStream::getSize ()
+
+pure virtual
+
+ +

Return the size of the stream.

+
Returns
The total number of bytes available in the stream, or -1 on error
+ +

Implemented in sf::FileInputStream, and sf::MemoryInputStream.

+ +
+
+ +

◆ read()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual Int64 sf::InputStream::read (void * data,
Int64 size 
)
+
+pure virtual
+
+ +

Read data from the stream.

+

After reading, the stream's reading position must be advanced by the amount of bytes read.

+
Parameters
+ + + +
dataBuffer where to copy the read data
sizeDesired number of bytes to read
+
+
+
Returns
The number of bytes actually read, or -1 on error
+ +

Implemented in sf::FileInputStream, and sf::MemoryInputStream.

+ +
+
+ +

◆ seek()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual Int64 sf::InputStream::seek (Int64 position)
+
+pure virtual
+
+ +

Change the current reading position.

+
Parameters
+ + +
positionThe position to seek to, from the beginning
+
+
+
Returns
The position actually sought to, or -1 on error
+ +

Implemented in sf::FileInputStream, and sf::MemoryInputStream.

+ +
+
+ +

◆ tell()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Int64 sf::InputStream::tell ()
+
+pure virtual
+
+ +

Get the current reading position in the stream.

+
Returns
The current position, or -1 on error.
+ +

Implemented in sf::FileInputStream, and sf::MemoryInputStream.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1InputStream.png b/SFML/doc/html/classsf_1_1InputStream.png new file mode 100644 index 0000000..86a2283 Binary files /dev/null and b/SFML/doc/html/classsf_1_1InputStream.png differ diff --git a/SFML/doc/html/classsf_1_1IpAddress-members.html b/SFML/doc/html/classsf_1_1IpAddress-members.html new file mode 100644 index 0000000..60c117c --- /dev/null +++ b/SFML/doc/html/classsf_1_1IpAddress-members.html @@ -0,0 +1,75 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::IpAddress Member List
+
+
+ +

This is the complete list of members for sf::IpAddress, including all inherited members.

+ + + + + + + + + + + + + + + +
Anysf::IpAddressstatic
Broadcastsf::IpAddressstatic
getLocalAddress()sf::IpAddressstatic
getPublicAddress(Time timeout=Time::Zero)sf::IpAddressstatic
IpAddress()sf::IpAddress
IpAddress(const std::string &address)sf::IpAddress
IpAddress(const char *address)sf::IpAddress
IpAddress(Uint8 byte0, Uint8 byte1, Uint8 byte2, Uint8 byte3)sf::IpAddress
IpAddress(Uint32 address)sf::IpAddressexplicit
LocalHostsf::IpAddressstatic
Nonesf::IpAddressstatic
operator<(const IpAddress &left, const IpAddress &right)sf::IpAddressfriend
toInteger() constsf::IpAddress
toString() constsf::IpAddress
+ + + + diff --git a/SFML/doc/html/classsf_1_1IpAddress.html b/SFML/doc/html/classsf_1_1IpAddress.html new file mode 100644 index 0000000..06d1eca --- /dev/null +++ b/SFML/doc/html/classsf_1_1IpAddress.html @@ -0,0 +1,561 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Encapsulate an IPv4 network address. + More...

+ +

#include <IpAddress.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IpAddress ()
 Default constructor. More...
 
 IpAddress (const std::string &address)
 Construct the address from a string. More...
 
 IpAddress (const char *address)
 Construct the address from a string. More...
 
 IpAddress (Uint8 byte0, Uint8 byte1, Uint8 byte2, Uint8 byte3)
 Construct the address from 4 bytes. More...
 
 IpAddress (Uint32 address)
 Construct the address from a 32-bits integer. More...
 
std::string toString () const
 Get a string representation of the address. More...
 
Uint32 toInteger () const
 Get an integer representation of the address. More...
 
+ + + + + + + +

+Static Public Member Functions

static IpAddress getLocalAddress ()
 Get the computer's local address. More...
 
static IpAddress getPublicAddress (Time timeout=Time::Zero)
 Get the computer's public address. More...
 
+ + + + + + + + + + + + + +

+Static Public Attributes

static const IpAddress None
 Value representing an empty/invalid address. More...
 
static const IpAddress Any
 Value representing any address (0.0.0.0) More...
 
static const IpAddress LocalHost
 The "localhost" address (for connecting a computer to itself locally) More...
 
static const IpAddress Broadcast
 The "broadcast" address (for sending UDP messages to everyone on a local network) More...
 
+ + + + +

+Friends

bool operator< (const IpAddress &left, const IpAddress &right)
 Overload of < operator to compare two IP addresses. More...
 
+

Detailed Description

+

Encapsulate an IPv4 network address.

+

sf::IpAddress is a utility class for manipulating network addresses.

+

It provides a set a implicit constructors and conversion functions to easily build or transform an IP address from/to various representations.

+

Usage example:

sf::IpAddress a0; // an invalid address
sf::IpAddress a1 = sf::IpAddress::None; // an invalid address (same as a0)
sf::IpAddress a2("127.0.0.1"); // the local host address
sf::IpAddress a3 = sf::IpAddress::Broadcast; // the broadcast address
sf::IpAddress a4(192, 168, 1, 56); // a local address
sf::IpAddress a5("my_computer"); // a local address created from a network name
sf::IpAddress a6("89.54.1.169"); // a distant address
sf::IpAddress a7("www.google.com"); // a distant address created from a network name
sf::IpAddress a8 = sf::IpAddress::getLocalAddress(); // my address on the local network
sf::IpAddress a9 = sf::IpAddress::getPublicAddress(); // my address on the internet

Note that sf::IpAddress currently doesn't support IPv6 nor other types of network addresses.

+ +

Definition at line 44 of file IpAddress.hpp.

+

Constructor & Destructor Documentation

+ +

◆ IpAddress() [1/5]

+ +
+
+ + + + + + + +
sf::IpAddress::IpAddress ()
+
+ +

Default constructor.

+

This constructor creates an empty (invalid) address

+ +
+
+ +

◆ IpAddress() [2/5]

+ +
+
+ + + + + + + + +
sf::IpAddress::IpAddress (const std::string & address)
+
+ +

Construct the address from a string.

+

Here address can be either a decimal address (ex: "192.168.1.56") or a network name (ex: "localhost").

+
Parameters
+ + +
addressIP address or network name
+
+
+ +
+
+ +

◆ IpAddress() [3/5]

+ +
+
+ + + + + + + + +
sf::IpAddress::IpAddress (const char * address)
+
+ +

Construct the address from a string.

+

Here address can be either a decimal address (ex: "192.168.1.56") or a network name (ex: "localhost"). This is equivalent to the constructor taking a std::string parameter, it is defined for convenience so that the implicit conversions from literal strings to IpAddress work.

+
Parameters
+ + +
addressIP address or network name
+
+
+ +
+
+ +

◆ IpAddress() [4/5]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sf::IpAddress::IpAddress (Uint8 byte0,
Uint8 byte1,
Uint8 byte2,
Uint8 byte3 
)
+
+ +

Construct the address from 4 bytes.

+

Calling IpAddress(a, b, c, d) is equivalent to calling IpAddress("a.b.c.d"), but safer as it doesn't have to parse a string to get the address components.

+
Parameters
+ + + + + +
byte0First byte of the address
byte1Second byte of the address
byte2Third byte of the address
byte3Fourth byte of the address
+
+
+ +
+
+ +

◆ IpAddress() [5/5]

+ +
+
+ + + + + +
+ + + + + + + + +
sf::IpAddress::IpAddress (Uint32 address)
+
+explicit
+
+ +

Construct the address from a 32-bits integer.

+

This constructor uses the internal representation of the address directly. It should be used for optimization purposes, and only if you got that representation from IpAddress::toInteger().

+
Parameters
+ + +
address4 bytes of the address packed into a 32-bits integer
+
+
+
See also
toInteger
+ +
+
+

Member Function Documentation

+ +

◆ getLocalAddress()

+ +
+
+ + + + + +
+ + + + + + + +
static IpAddress sf::IpAddress::getLocalAddress ()
+
+static
+
+ +

Get the computer's local address.

+

The local address is the address of the computer from the LAN point of view, i.e. something like 192.168.1.56. It is meaningful only for communications over the local network. Unlike getPublicAddress, this function is fast and may be used safely anywhere.

+
Returns
Local IP address of the computer
+
See also
getPublicAddress
+ +
+
+ +

◆ getPublicAddress()

+ +
+
+ + + + + +
+ + + + + + + + +
static IpAddress sf::IpAddress::getPublicAddress (Time timeout = Time::Zero)
+
+static
+
+ +

Get the computer's public address.

+

The public address is the address of the computer from the internet point of view, i.e. something like 89.54.1.169. It is necessary for communications over the world wide web. The only way to get a public address is to ask it to a distant website; as a consequence, this function depends on both your network connection and the server, and may be very slow. You should use it as few as possible. Because this function depends on the network connection and on a distant server, you may use a time limit if you don't want your program to be possibly stuck waiting in case there is a problem; this limit is deactivated by default.

+
Parameters
+ + +
timeoutMaximum time to wait
+
+
+
Returns
Public IP address of the computer
+
See also
getLocalAddress
+ +
+
+ +

◆ toInteger()

+ +
+
+ + + + + + + +
Uint32 sf::IpAddress::toInteger () const
+
+ +

Get an integer representation of the address.

+

The returned number is the internal representation of the address, and should be used for optimization purposes only (like sending the address through a socket). The integer produced by this function can then be converted back to a sf::IpAddress with the proper constructor.

+
Returns
32-bits unsigned integer representation of the address
+
See also
toString
+ +
+
+ +

◆ toString()

+ +
+
+ + + + + + + +
std::string sf::IpAddress::toString () const
+
+ +

Get a string representation of the address.

+

The returned string is the decimal representation of the IP address (like "192.168.1.56"), even if it was constructed from a host name.

+
Returns
String representation of the address
+
See also
toInteger
+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator< (const IpAddressleft,
const IpAddressright 
)
+
+friend
+
+ +

Overload of < operator to compare two IP addresses.

+
Parameters
+ + + +
leftLeft operand (a IP address)
rightRight operand (a IP address)
+
+
+
Returns
True if left is lesser than right
+ +
+
+

Member Data Documentation

+ +

◆ Any

+ +
+
+ + + + + +
+ + + + +
const IpAddress sf::IpAddress::Any
+
+static
+
+ +

Value representing any address (0.0.0.0)

+ +

Definition at line 185 of file IpAddress.hpp.

+ +
+
+ +

◆ Broadcast

+ +
+
+ + + + + +
+ + + + +
const IpAddress sf::IpAddress::Broadcast
+
+static
+
+ +

The "broadcast" address (for sending UDP messages to everyone on a local network)

+ +

Definition at line 187 of file IpAddress.hpp.

+ +
+
+ +

◆ LocalHost

+ +
+
+ + + + + +
+ + + + +
const IpAddress sf::IpAddress::LocalHost
+
+static
+
+ +

The "localhost" address (for connecting a computer to itself locally)

+ +

Definition at line 186 of file IpAddress.hpp.

+ +
+
+ +

◆ None

+ +
+
+ + + + + +
+ + + + +
const IpAddress sf::IpAddress::None
+
+static
+
+ +

Value representing an empty/invalid address.

+ +

Definition at line 184 of file IpAddress.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Joystick-members.html b/SFML/doc/html/classsf_1_1Joystick-members.html new file mode 100644 index 0000000..a85b0f8 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Joystick-members.html @@ -0,0 +1,80 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Joystick Member List
+
+
+ +

This is the complete list of members for sf::Joystick, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
Axis enum namesf::Joystick
AxisCount enum valuesf::Joystick
ButtonCount enum valuesf::Joystick
Count enum valuesf::Joystick
getAxisPosition(unsigned int joystick, Axis axis)sf::Joystickstatic
getButtonCount(unsigned int joystick)sf::Joystickstatic
getIdentification(unsigned int joystick)sf::Joystickstatic
hasAxis(unsigned int joystick, Axis axis)sf::Joystickstatic
isButtonPressed(unsigned int joystick, unsigned int button)sf::Joystickstatic
isConnected(unsigned int joystick)sf::Joystickstatic
PovX enum valuesf::Joystick
PovY enum valuesf::Joystick
R enum valuesf::Joystick
U enum valuesf::Joystick
update()sf::Joystickstatic
V enum valuesf::Joystick
X enum valuesf::Joystick
Y enum valuesf::Joystick
Z enum valuesf::Joystick
+ + + + diff --git a/SFML/doc/html/classsf_1_1Joystick.html b/SFML/doc/html/classsf_1_1Joystick.html new file mode 100644 index 0000000..f3e035e --- /dev/null +++ b/SFML/doc/html/classsf_1_1Joystick.html @@ -0,0 +1,478 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Give access to the real-time state of the joysticks. + More...

+ +

#include <Joystick.hpp>

+ + + + + +

+Classes

struct  Identification
 Structure holding a joystick's identification. More...
 
+ + + + + + + +

+Public Types

enum  { Count = 8, +ButtonCount = 32, +AxisCount = 8 + }
 Constants related to joysticks capabilities. More...
 
enum  Axis {
+  X, +Y, +Z, +R, +
+  U, +V, +PovX, +PovY +
+ }
 Axes supported by SFML joysticks. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static bool isConnected (unsigned int joystick)
 Check if a joystick is connected. More...
 
static unsigned int getButtonCount (unsigned int joystick)
 Return the number of buttons supported by a joystick. More...
 
static bool hasAxis (unsigned int joystick, Axis axis)
 Check if a joystick supports a given axis. More...
 
static bool isButtonPressed (unsigned int joystick, unsigned int button)
 Check if a joystick button is pressed. More...
 
static float getAxisPosition (unsigned int joystick, Axis axis)
 Get the current position of a joystick axis. More...
 
static Identification getIdentification (unsigned int joystick)
 Get the joystick information. More...
 
static void update ()
 Update the states of all joysticks. More...
 
+

Detailed Description

+

Give access to the real-time state of the joysticks.

+

sf::Joystick provides an interface to the state of the joysticks.

+

It only contains static functions, so it's not meant to be instantiated. Instead, each joystick is identified by an index that is passed to the functions of this class.

+

This class allows users to query the state of joysticks at any time and directly, without having to deal with a window and its events. Compared to the JoystickMoved, JoystickButtonPressed and JoystickButtonReleased events, sf::Joystick can retrieve the state of axes and buttons of joysticks at any time (you don't need to store and update a boolean on your side in order to know if a button is pressed or released), and you always get the real state of joysticks, even if they are moved, pressed or released when your window is out of focus and no event is triggered.

+

SFML supports:

+

Unlike the keyboard or mouse, the state of joysticks is sometimes not directly available (depending on the OS), therefore an update() function must be called in order to update the current state of joysticks. When you have a window with event handling, this is done automatically, you don't need to call anything. But if you have no window, or if you want to check joysticks state before creating one, you must call sf::Joystick::update explicitly.

+

Usage example:

// 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?
// 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?
See also
sf::Keyboard, sf::Mouse
+ +

Definition at line 41 of file Joystick.hpp.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Constants related to joysticks capabilities.

+ + + + +
Enumerator
Count 

Maximum number of supported joysticks.

+
ButtonCount 

Maximum number of supported buttons.

+
AxisCount 

Maximum number of supported axes.

+
+ +

Definition at line 49 of file Joystick.hpp.

+ +
+
+ +

◆ Axis

+ +
+
+ + + + +
enum sf::Joystick::Axis
+
+ +

Axes supported by SFML joysticks.

+ + + + + + + + + +
Enumerator

The X axis.

+

The Y axis.

+

The Z axis.

+

The R axis.

+

The U axis.

+

The V axis.

+
PovX 

The X axis of the point-of-view hat.

+
PovY 

The Y axis of the point-of-view hat.

+
+ +

Definition at line 60 of file Joystick.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ getAxisPosition()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static float sf::Joystick::getAxisPosition (unsigned int joystick,
Axis axis 
)
+
+static
+
+ +

Get the current position of a joystick axis.

+

If the joystick is not connected, this function returns 0.

+
Parameters
+ + + +
joystickIndex of the joystick
axisAxis to check
+
+
+
Returns
Current position of the axis, in range [-100 .. 100]
+ +
+
+ +

◆ getButtonCount()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned int sf::Joystick::getButtonCount (unsigned int joystick)
+
+static
+
+ +

Return the number of buttons supported by a joystick.

+

If the joystick is not connected, this function returns 0.

+
Parameters
+ + +
joystickIndex of the joystick
+
+
+
Returns
Number of buttons supported by the joystick
+ +
+
+ +

◆ getIdentification()

+ +
+
+ + + + + +
+ + + + + + + + +
static Identification sf::Joystick::getIdentification (unsigned int joystick)
+
+static
+
+ +

Get the joystick information.

+
Parameters
+ + +
joystickIndex of the joystick
+
+
+
Returns
Structure containing joystick information.
+ +
+
+ +

◆ hasAxis()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool sf::Joystick::hasAxis (unsigned int joystick,
Axis axis 
)
+
+static
+
+ +

Check if a joystick supports a given axis.

+

If the joystick is not connected, this function returns false.

+
Parameters
+ + + +
joystickIndex of the joystick
axisAxis to check
+
+
+
Returns
True if the joystick supports the axis, false otherwise
+ +
+
+ +

◆ isButtonPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool sf::Joystick::isButtonPressed (unsigned int joystick,
unsigned int button 
)
+
+static
+
+ +

Check if a joystick button is pressed.

+

If the joystick is not connected, this function returns false.

+
Parameters
+ + + +
joystickIndex of the joystick
buttonButton to check
+
+
+
Returns
True if the button is pressed, false otherwise
+ +
+
+ +

◆ isConnected()

+ +
+
+ + + + + +
+ + + + + + + + +
static bool sf::Joystick::isConnected (unsigned int joystick)
+
+static
+
+ +

Check if a joystick is connected.

+
Parameters
+ + +
joystickIndex of the joystick to check
+
+
+
Returns
True if the joystick is connected, false otherwise
+ +
+
+ +

◆ update()

+ +
+
+ + + + + +
+ + + + + + + +
static void sf::Joystick::update ()
+
+static
+
+ +

Update the states of all joysticks.

+

This function is used internally by SFML, so you normally don't have to call it explicitly. However, you may need to call it if you have no window yet (or no window at all): in this case the joystick states are not updated automatically.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Keyboard-members.html b/SFML/doc/html/classsf_1_1Keyboard-members.html new file mode 100644 index 0000000..d117297 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Keyboard-members.html @@ -0,0 +1,172 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Keyboard Member List
+
+
+ +

This is the complete list of members for sf::Keyboard, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
A enum valuesf::Keyboard
Add enum valuesf::Keyboard
B enum valuesf::Keyboard
Backslash enum valuesf::Keyboard
BackSlash enum valuesf::Keyboard
BackSpace enum valuesf::Keyboard
Backspace enum valuesf::Keyboard
C enum valuesf::Keyboard
Comma enum valuesf::Keyboard
D enum valuesf::Keyboard
Dash enum valuesf::Keyboard
Delete enum valuesf::Keyboard
Divide enum valuesf::Keyboard
Down enum valuesf::Keyboard
E enum valuesf::Keyboard
End enum valuesf::Keyboard
Enter enum valuesf::Keyboard
Equal enum valuesf::Keyboard
Escape enum valuesf::Keyboard
F enum valuesf::Keyboard
F1 enum valuesf::Keyboard
F10 enum valuesf::Keyboard
F11 enum valuesf::Keyboard
F12 enum valuesf::Keyboard
F13 enum valuesf::Keyboard
F14 enum valuesf::Keyboard
F15 enum valuesf::Keyboard
F2 enum valuesf::Keyboard
F3 enum valuesf::Keyboard
F4 enum valuesf::Keyboard
F5 enum valuesf::Keyboard
F6 enum valuesf::Keyboard
F7 enum valuesf::Keyboard
F8 enum valuesf::Keyboard
F9 enum valuesf::Keyboard
G enum valuesf::Keyboard
H enum valuesf::Keyboard
Home enum valuesf::Keyboard
Hyphen enum valuesf::Keyboard
I enum valuesf::Keyboard
Insert enum valuesf::Keyboard
isKeyPressed(Key key)sf::Keyboardstatic
J enum valuesf::Keyboard
K enum valuesf::Keyboard
Key enum namesf::Keyboard
KeyCount enum valuesf::Keyboard
L enum valuesf::Keyboard
LAlt enum valuesf::Keyboard
LBracket enum valuesf::Keyboard
LControl enum valuesf::Keyboard
Left enum valuesf::Keyboard
LShift enum valuesf::Keyboard
LSystem enum valuesf::Keyboard
M enum valuesf::Keyboard
Menu enum valuesf::Keyboard
Multiply enum valuesf::Keyboard
N enum valuesf::Keyboard
Num0 enum valuesf::Keyboard
Num1 enum valuesf::Keyboard
Num2 enum valuesf::Keyboard
Num3 enum valuesf::Keyboard
Num4 enum valuesf::Keyboard
Num5 enum valuesf::Keyboard
Num6 enum valuesf::Keyboard
Num7 enum valuesf::Keyboard
Num8 enum valuesf::Keyboard
Num9 enum valuesf::Keyboard
Numpad0 enum valuesf::Keyboard
Numpad1 enum valuesf::Keyboard
Numpad2 enum valuesf::Keyboard
Numpad3 enum valuesf::Keyboard
Numpad4 enum valuesf::Keyboard
Numpad5 enum valuesf::Keyboard
Numpad6 enum valuesf::Keyboard
Numpad7 enum valuesf::Keyboard
Numpad8 enum valuesf::Keyboard
Numpad9 enum valuesf::Keyboard
O enum valuesf::Keyboard
P enum valuesf::Keyboard
PageDown enum valuesf::Keyboard
PageUp enum valuesf::Keyboard
Pause enum valuesf::Keyboard
Period enum valuesf::Keyboard
Q enum valuesf::Keyboard
Quote enum valuesf::Keyboard
R enum valuesf::Keyboard
RAlt enum valuesf::Keyboard
RBracket enum valuesf::Keyboard
RControl enum valuesf::Keyboard
Return enum valuesf::Keyboard
Right enum valuesf::Keyboard
RShift enum valuesf::Keyboard
RSystem enum valuesf::Keyboard
S enum valuesf::Keyboard
SemiColon enum valuesf::Keyboard
Semicolon enum valuesf::Keyboard
setVirtualKeyboardVisible(bool visible)sf::Keyboardstatic
Slash enum valuesf::Keyboard
Space enum valuesf::Keyboard
Subtract enum valuesf::Keyboard
T enum valuesf::Keyboard
Tab enum valuesf::Keyboard
Tilde enum valuesf::Keyboard
U enum valuesf::Keyboard
Unknown enum valuesf::Keyboard
Up enum valuesf::Keyboard
V enum valuesf::Keyboard
W enum valuesf::Keyboard
X enum valuesf::Keyboard
Y enum valuesf::Keyboard
Z enum valuesf::Keyboard
+ + + + diff --git a/SFML/doc/html/classsf_1_1Keyboard.html b/SFML/doc/html/classsf_1_1Keyboard.html new file mode 100644 index 0000000..8d69d16 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Keyboard.html @@ -0,0 +1,539 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Give access to the real-time state of the keyboard. + More...

+ +

#include <Keyboard.hpp>

+ + + + + +

+Public Types

enum  Key {
+  Unknown = -1, +A = 0, +B, +C, +
+  D, +E, +F, +G, +
+  H, +I, +J, +K, +
+  L, +M, +N, +O, +
+  P, +Q, +R, +S, +
+  T, +U, +V, +W, +
+  X, +Y, +Z, +Num0, +
+  Num1, +Num2, +Num3, +Num4, +
+  Num5, +Num6, +Num7, +Num8, +
+  Num9, +Escape, +LControl, +LShift, +
+  LAlt, +LSystem, +RControl, +RShift, +
+  RAlt, +RSystem, +Menu, +LBracket, +
+  RBracket, +Semicolon, +Comma, +Period, +
+  Quote, +Slash, +Backslash, +Tilde, +
+  Equal, +Hyphen, +Space, +Enter, +
+  Backspace, +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, +KeyCount, +Dash = Hyphen, +
+  BackSpace = Backspace, +BackSlash = Backslash, +SemiColon = Semicolon, +Return = Enter +
+ }
 Key codes. More...
 
+ + + + + + + +

+Static Public Member Functions

static bool isKeyPressed (Key key)
 Check if a key is pressed. More...
 
static void setVirtualKeyboardVisible (bool visible)
 Show or hide the virtual keyboard. More...
 
+

Detailed Description

+

Give access to the real-time state of the keyboard.

+

sf::Keyboard provides an interface to the state of the keyboard.

+

It only contains static functions (a single keyboard is assumed), so it's not meant to be instantiated.

+

This class allows users to query the keyboard state at any time and directly, without having to deal with a window and its events. Compared to the KeyPressed and KeyReleased events, sf::Keyboard can retrieve the state of a key at any time (you don't need to store and update a boolean on your side in order to know if a key is pressed or released), and you always get the real state of the keyboard, even if keys are pressed or released when your window is out of focus and no event is triggered.

+

Usage example:

See also
sf::Joystick, sf::Mouse, sf::Touch
+ +

Definition at line 40 of file Keyboard.hpp.

+

Member Enumeration Documentation

+ +

◆ Key

+ +
+
+ + + + +
enum sf::Keyboard::Key
+
+ +

Key codes.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
Unknown 

Unhandled key.

+

The A key.

+

The B key.

+

The C key.

+

The D key.

+

The E key.

+

The F key.

+

The G key.

+

The H key.

+

The I key.

+

The J key.

+

The K key.

+

The L key.

+

The M key.

+

The N key.

+

The O key.

+

The P key.

+

The Q key.

+

The R key.

+

The S key.

+

The T key.

+

The U key.

+

The V key.

+

The W key.

+

The X key.

+

The Y key.

+

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.

+
Hyphen 

The - key (hyphen)

+
Space 

The Space key.

+
Enter 

The Enter/Return keys.

+
Backspace 

The Backspace key.

+
Tab 

The Tabulation key.

+
PageUp 

The Page up key.

+
PageDown 

The Page down key.

+
End 

The End key.

+
Home 

The Home key.

+
Insert 

The Insert key.

+
Delete 

The Delete key.

+
Add 

The + key.

+
Subtract 

The - key (minus, usually from numpad)

+
Multiply 

The * key.

+
Divide 

The / key.

+
Left 

Left arrow.

+
Right 

Right arrow.

+
Up 

Up arrow.

+
Down 

Down arrow.

+
Numpad0 

The numpad 0 key.

+
Numpad1 

The numpad 1 key.

+
Numpad2 

The numpad 2 key.

+
Numpad3 

The numpad 3 key.

+
Numpad4 

The numpad 4 key.

+
Numpad5 

The numpad 5 key.

+
Numpad6 

The numpad 6 key.

+
Numpad7 

The numpad 7 key.

+
Numpad8 

The numpad 8 key.

+
Numpad9 

The numpad 9 key.

+
F1 

The F1 key.

+
F2 

The F2 key.

+
F3 

The F3 key.

+
F4 

The F4 key.

+
F5 

The F5 key.

+
F6 

The F6 key.

+
F7 

The F7 key.

+
F8 

The F8 key.

+
F9 

The F9 key.

+
F10 

The F10 key.

+
F11 

The F11 key.

+
F12 

The F12 key.

+
F13 

The F13 key.

+
F14 

The F14 key.

+
F15 

The F15 key.

+
Pause 

The Pause key.

+
KeyCount 

Keep last – the total number of keyboard keys.

+
Dash 
Deprecated:
Use Hyphen instead
+
BackSpace 
Deprecated:
Use Backspace instead
+
BackSlash 
Deprecated:
Use Backslash instead
+
SemiColon 
Deprecated:
Use Semicolon instead
+
Return 
Deprecated:
Use Enter instead
+
+ +

Definition at line 48 of file Keyboard.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ isKeyPressed()

+ +
+
+ + + + + +
+ + + + + + + + +
static bool sf::Keyboard::isKeyPressed (Key key)
+
+static
+
+ +

Check if a key is pressed.

+
Parameters
+ + +
keyKey to check
+
+
+
Returns
True if the key is pressed, false otherwise
+ +
+
+ +

◆ setVirtualKeyboardVisible()

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::Keyboard::setVirtualKeyboardVisible (bool visible)
+
+static
+
+ +

Show or hide the virtual keyboard.

+

Warning: the virtual keyboard is not supported on all systems. It will typically be implemented on mobile OSes (Android, iOS) but not on desktop OSes (Windows, Linux, ...).

+

If the virtual keyboard is not available, this function does nothing.

+
Parameters
+ + +
visibleTrue to show, false to hide
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Listener-members.html b/SFML/doc/html/classsf_1_1Listener-members.html new file mode 100644 index 0000000..76945d7 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Listener-members.html @@ -0,0 +1,72 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Listener Member List
+
+
+ +

This is the complete list of members for sf::Listener, including all inherited members.

+ + + + + + + + + + + + +
getDirection()sf::Listenerstatic
getGlobalVolume()sf::Listenerstatic
getPosition()sf::Listenerstatic
getUpVector()sf::Listenerstatic
setDirection(float x, float y, float z)sf::Listenerstatic
setDirection(const Vector3f &direction)sf::Listenerstatic
setGlobalVolume(float volume)sf::Listenerstatic
setPosition(float x, float y, float z)sf::Listenerstatic
setPosition(const Vector3f &position)sf::Listenerstatic
setUpVector(float x, float y, float z)sf::Listenerstatic
setUpVector(const Vector3f &upVector)sf::Listenerstatic
+ + + + diff --git a/SFML/doc/html/classsf_1_1Listener.html b/SFML/doc/html/classsf_1_1Listener.html new file mode 100644 index 0000000..efd127d --- /dev/null +++ b/SFML/doc/html/classsf_1_1Listener.html @@ -0,0 +1,537 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Listener Class Reference
+
+
+ +

The audio listener is the point in the scene from where all the sounds are heard. + More...

+ +

#include <Listener.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static void setGlobalVolume (float volume)
 Change the global volume of all the sounds and musics. More...
 
static float getGlobalVolume ()
 Get the current value of the global volume. More...
 
static void setPosition (float x, float y, float z)
 Set the position of the listener in the scene. More...
 
static void setPosition (const Vector3f &position)
 Set the position of the listener in the scene. More...
 
static Vector3f getPosition ()
 Get the current position of the listener in the scene. More...
 
static void setDirection (float x, float y, float z)
 Set the forward vector of the listener in the scene. More...
 
static void setDirection (const Vector3f &direction)
 Set the forward vector of the listener in the scene. More...
 
static Vector3f getDirection ()
 Get the current forward vector of the listener in the scene. More...
 
static void setUpVector (float x, float y, float z)
 Set the upward vector of the listener in the scene. More...
 
static void setUpVector (const Vector3f &upVector)
 Set the upward vector of the listener in the scene. More...
 
static Vector3f getUpVector ()
 Get the current upward vector of the listener in the scene. More...
 
+

Detailed Description

+

The audio listener is the point in the scene from where all the sounds are heard.

+

The audio listener defines the global properties of the audio environment, it defines where and how sounds and musics are heard.

+

If sf::View is the eyes of the user, then sf::Listener is his ears (by the way, they are often linked together – same position, orientation, etc.).

+

sf::Listener is a simple interface, which allows to setup the listener in the 3D audio environment (position, direction and up vector), and to adjust the global volume.

+

Because the listener is unique in the scene, sf::Listener only contains static functions and doesn't have to be instantiated.

+

Usage example:

// Move the listener to the position (1, 0, -5)
// Make it face the right axis (1, 0, 0)
// Reduce the global volume
+

Definition at line 42 of file Listener.hpp.

+

Member Function Documentation

+ +

◆ getDirection()

+ +
+
+ + + + + +
+ + + + + + + +
static Vector3f sf::Listener::getDirection ()
+
+static
+
+ +

Get the current forward vector of the listener in the scene.

+
Returns
Listener's forward vector (not normalized)
+
See also
setDirection
+ +
+
+ +

◆ getGlobalVolume()

+ +
+
+ + + + + +
+ + + + + + + +
static float sf::Listener::getGlobalVolume ()
+
+static
+
+ +

Get the current value of the global volume.

+
Returns
Current global volume, in the range [0, 100]
+
See also
setGlobalVolume
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
static Vector3f sf::Listener::getPosition ()
+
+static
+
+ +

Get the current position of the listener in the scene.

+
Returns
Listener's position
+
See also
setPosition
+ +
+
+ +

◆ getUpVector()

+ +
+
+ + + + + +
+ + + + + + + +
static Vector3f sf::Listener::getUpVector ()
+
+static
+
+ +

Get the current upward vector of the listener in the scene.

+
Returns
Listener's upward vector (not normalized)
+
See also
setUpVector
+ +
+
+ +

◆ setDirection() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void sf::Listener::setDirection (float x,
float y,
float z 
)
+
+static
+
+ +

Set the forward vector of the listener in the scene.

+

The direction (also called "at vector") is the vector pointing forward from the listener's perspective. Together with the up vector, it defines the 3D orientation of the listener in the scene. The direction vector doesn't have to be normalized. The default listener's direction is (0, 0, -1).

+
Parameters
+ + + + +
xX coordinate of the listener's direction
yY coordinate of the listener's direction
zZ coordinate of the listener's direction
+
+
+
See also
getDirection, setUpVector, setPosition
+ +
+
+ +

◆ setDirection() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::Listener::setDirection (const Vector3fdirection)
+
+static
+
+ +

Set the forward vector of the listener in the scene.

+

The direction (also called "at vector") is the vector pointing forward from the listener's perspective. Together with the up vector, it defines the 3D orientation of the listener in the scene. The direction vector doesn't have to be normalized. The default listener's direction is (0, 0, -1).

+
Parameters
+ + +
directionNew listener's direction
+
+
+
See also
getDirection, setUpVector, setPosition
+ +
+
+ +

◆ setGlobalVolume()

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::Listener::setGlobalVolume (float volume)
+
+static
+
+ +

Change the global volume of all the sounds and musics.

+

The volume is a number between 0 and 100; it is combined with the individual volume of each sound / music. The default value for the volume is 100 (maximum).

+
Parameters
+ + +
volumeNew global volume, in the range [0, 100]
+
+
+
See also
getGlobalVolume
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void sf::Listener::setPosition (float x,
float y,
float z 
)
+
+static
+
+ +

Set the position of the listener in the scene.

+

The default listener's position is (0, 0, 0).

+
Parameters
+ + + + +
xX coordinate of the listener's position
yY coordinate of the listener's position
zZ coordinate of the listener's position
+
+
+
See also
getPosition, setDirection
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::Listener::setPosition (const Vector3fposition)
+
+static
+
+ +

Set the position of the listener in the scene.

+

The default listener's position is (0, 0, 0).

+
Parameters
+ + +
positionNew listener's position
+
+
+
See also
getPosition, setDirection
+ +
+
+ +

◆ setUpVector() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void sf::Listener::setUpVector (float x,
float y,
float z 
)
+
+static
+
+ +

Set the upward vector of the listener in the scene.

+

The up vector is the vector that points upward from the listener's perspective. Together with the direction, it defines the 3D orientation of the listener in the scene. The up vector doesn't have to be normalized. The default listener's up vector is (0, 1, 0). It is usually not necessary to change it, especially in 2D scenarios.

+
Parameters
+ + + + +
xX coordinate of the listener's up vector
yY coordinate of the listener's up vector
zZ coordinate of the listener's up vector
+
+
+
See also
getUpVector, setDirection, setPosition
+ +
+
+ +

◆ setUpVector() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::Listener::setUpVector (const Vector3fupVector)
+
+static
+
+ +

Set the upward vector of the listener in the scene.

+

The up vector is the vector that points upward from the listener's perspective. Together with the direction, it defines the 3D orientation of the listener in the scene. The up vector doesn't have to be normalized. The default listener's up vector is (0, 1, 0). It is usually not necessary to change it, especially in 2D scenarios.

+
Parameters
+ + +
upVectorNew listener's up vector
+
+
+
See also
getUpVector, setDirection, setPosition
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Lock-members.html b/SFML/doc/html/classsf_1_1Lock-members.html new file mode 100644 index 0000000..b35829a --- /dev/null +++ b/SFML/doc/html/classsf_1_1Lock-members.html @@ -0,0 +1,65 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Lock Member List
+
+
+ +

This is the complete list of members for sf::Lock, including all inherited members.

+ + + + + +
Lock(Mutex &mutex)sf::Lockexplicit
NonCopyable()sf::NonCopyableinlineprivate
~Lock()sf::Lock
~NonCopyable()sf::NonCopyableinlineprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1Lock.html b/SFML/doc/html/classsf_1_1Lock.html new file mode 100644 index 0000000..4125083 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Lock.html @@ -0,0 +1,154 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Lock Class Reference
+
+
+ +

Automatic wrapper for locking and unlocking mutexes. + More...

+ +

#include <Lock.hpp>

+
+Inheritance diagram for sf::Lock:
+
+
+ + +sf::NonCopyable + +
+ + + + + + + + +

+Public Member Functions

 Lock (Mutex &mutex)
 Construct the lock with a target mutex. More...
 
 ~Lock ()
 Destructor. More...
 
+

Detailed Description

+

Automatic wrapper for locking and unlocking mutexes.

+

sf::Lock is a RAII wrapper for sf::Mutex.

+

By unlocking it in its destructor, it ensures that the mutex will always be released when the current scope (most likely a function) ends. This is even more important when an exception or an early return statement can interrupt the execution flow of the function.

+

For maximum robustness, sf::Lock should always be used to lock/unlock a mutex.

+

Usage example:

sf::Mutex mutex;
void function()
{
sf::Lock lock(mutex); // mutex is now locked
functionThatMayThrowAnException(); // mutex is unlocked if this function throws
if (someCondition)
return; // mutex is unlocked
} // mutex is unlocked

Because the mutex is not explicitly unlocked in the code, it may remain locked longer than needed. If the region of the code that needs to be protected by the mutex is not the entire function, a good practice is to create a smaller, inner scope so that the lock is limited to this part of the code.

+
sf::Mutex mutex;
void function()
{
{
sf::Lock lock(mutex);
codeThatRequiresProtection();
} // mutex is unlocked here
codeThatDoesntCareAboutTheMutex();
}

Having a mutex locked longer than required is a bad practice which can lead to bad performances. Don't forget that when a mutex is locked, other threads may be waiting doing nothing until it is released.

+
See also
sf::Mutex
+ +

Definition at line 43 of file Lock.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Lock()

+ +
+
+ + + + + +
+ + + + + + + + +
sf::Lock::Lock (Mutexmutex)
+
+explicit
+
+ +

Construct the lock with a target mutex.

+

The mutex passed to sf::Lock is automatically locked.

+
Parameters
+ + +
mutexMutex to lock
+
+
+ +
+
+ +

◆ ~Lock()

+ +
+
+ + + + + + + +
sf::Lock::~Lock ()
+
+ +

Destructor.

+

The destructor of sf::Lock automatically unlocks its mutex.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Lock.png b/SFML/doc/html/classsf_1_1Lock.png new file mode 100644 index 0000000..5878b10 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Lock.png differ diff --git a/SFML/doc/html/classsf_1_1MemoryInputStream-members.html b/SFML/doc/html/classsf_1_1MemoryInputStream-members.html new file mode 100644 index 0000000..4db9ae2 --- /dev/null +++ b/SFML/doc/html/classsf_1_1MemoryInputStream-members.html @@ -0,0 +1,68 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::MemoryInputStream Member List
+
+
+ +

This is the complete list of members for sf::MemoryInputStream, including all inherited members.

+ + + + + + + + +
getSize()sf::MemoryInputStreamvirtual
MemoryInputStream()sf::MemoryInputStream
open(const void *data, std::size_t sizeInBytes)sf::MemoryInputStream
read(void *data, Int64 size)sf::MemoryInputStreamvirtual
seek(Int64 position)sf::MemoryInputStreamvirtual
tell()sf::MemoryInputStreamvirtual
~InputStream()sf::InputStreaminlinevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1MemoryInputStream.html b/SFML/doc/html/classsf_1_1MemoryInputStream.html new file mode 100644 index 0000000..6ee4254 --- /dev/null +++ b/SFML/doc/html/classsf_1_1MemoryInputStream.html @@ -0,0 +1,313 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::MemoryInputStream Class Reference
+
+
+ +

Implementation of input stream based on a memory chunk. + More...

+ +

#include <MemoryInputStream.hpp>

+
+Inheritance diagram for sf::MemoryInputStream:
+
+
+ + +sf::InputStream + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 MemoryInputStream ()
 Default constructor. More...
 
void open (const void *data, std::size_t sizeInBytes)
 Open the stream from its data. More...
 
virtual Int64 read (void *data, Int64 size)
 Read data from the stream. More...
 
virtual Int64 seek (Int64 position)
 Change the current reading position. More...
 
virtual Int64 tell ()
 Get the current reading position in the stream. More...
 
virtual Int64 getSize ()
 Return the size of the stream. More...
 
+

Detailed Description

+

Implementation of input stream based on a memory chunk.

+

This class is a specialization of InputStream that reads from data in memory.

+

It wraps a memory chunk in the common InputStream interface and therefore allows to use generic classes or functions that accept such a stream, with content already loaded in memory.

+

In addition to the virtual functions inherited from InputStream, MemoryInputStream adds a function to specify the pointer and size of the data in memory.

+

SFML resource classes can usually be loaded directly from memory, so this class shouldn't be useful to you unless you create your own algorithms that operate on an InputStream.

+

Usage example:

void process(InputStream& stream);
stream.open(thePtr, theSize);
process(stream);

InputStream, FileInputStream

+ +

Definition at line 43 of file MemoryInputStream.hpp.

+

Constructor & Destructor Documentation

+ +

◆ MemoryInputStream()

+ +
+
+ + + + + + + +
sf::MemoryInputStream::MemoryInputStream ()
+
+ +

Default constructor.

+ +
+
+

Member Function Documentation

+ +

◆ getSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Int64 sf::MemoryInputStream::getSize ()
+
+virtual
+
+ +

Return the size of the stream.

+
Returns
The total number of bytes available in the stream, or -1 on error
+ +

Implements sf::InputStream.

+ +
+
+ +

◆ open()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::MemoryInputStream::open (const void * data,
std::size_t sizeInBytes 
)
+
+ +

Open the stream from its data.

+
Parameters
+ + + +
dataPointer to the data in memory
sizeInBytesSize of the data, in bytes
+
+
+ +
+
+ +

◆ read()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual Int64 sf::MemoryInputStream::read (void * data,
Int64 size 
)
+
+virtual
+
+ +

Read data from the stream.

+

After reading, the stream's reading position must be advanced by the amount of bytes read.

+
Parameters
+ + + +
dataBuffer where to copy the read data
sizeDesired number of bytes to read
+
+
+
Returns
The number of bytes actually read, or -1 on error
+ +

Implements sf::InputStream.

+ +
+
+ +

◆ seek()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual Int64 sf::MemoryInputStream::seek (Int64 position)
+
+virtual
+
+ +

Change the current reading position.

+
Parameters
+ + +
positionThe position to seek to, from the beginning
+
+
+
Returns
The position actually sought to, or -1 on error
+ +

Implements sf::InputStream.

+ +
+
+ +

◆ tell()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Int64 sf::MemoryInputStream::tell ()
+
+virtual
+
+ +

Get the current reading position in the stream.

+
Returns
The current position, or -1 on error.
+ +

Implements sf::InputStream.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1MemoryInputStream.png b/SFML/doc/html/classsf_1_1MemoryInputStream.png new file mode 100644 index 0000000..b51c5d2 Binary files /dev/null and b/SFML/doc/html/classsf_1_1MemoryInputStream.png differ diff --git a/SFML/doc/html/classsf_1_1Mouse-members.html b/SFML/doc/html/classsf_1_1Mouse-members.html new file mode 100644 index 0000000..001c981 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Mouse-members.html @@ -0,0 +1,76 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Mouse Member List
+
+
+ +

This is the complete list of members for sf::Mouse, including all inherited members.

+ + + + + + + + + + + + + + + + +
Button enum namesf::Mouse
ButtonCount enum valuesf::Mouse
getPosition()sf::Mousestatic
getPosition(const Window &relativeTo)sf::Mousestatic
HorizontalWheel enum valuesf::Mouse
isButtonPressed(Button button)sf::Mousestatic
Left enum valuesf::Mouse
Middle enum valuesf::Mouse
Right enum valuesf::Mouse
setPosition(const Vector2i &position)sf::Mousestatic
setPosition(const Vector2i &position, const Window &relativeTo)sf::Mousestatic
VerticalWheel enum valuesf::Mouse
Wheel enum namesf::Mouse
XButton1 enum valuesf::Mouse
XButton2 enum valuesf::Mouse
+ + + + diff --git a/SFML/doc/html/classsf_1_1Mouse.html b/SFML/doc/html/classsf_1_1Mouse.html new file mode 100644 index 0000000..c6302b7 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Mouse.html @@ -0,0 +1,357 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Give access to the real-time state of the mouse. + More...

+ +

#include <Mouse.hpp>

+ + + + + + + + +

+Public Types

enum  Button {
+  Left, +Right, +Middle, +XButton1, +
+  XButton2, +ButtonCount +
+ }
 Mouse buttons. More...
 
enum  Wheel { VerticalWheel, +HorizontalWheel + }
 Mouse wheels. More...
 
+ + + + + + + + + + + + + + + + +

+Static Public Member Functions

static bool isButtonPressed (Button button)
 Check if a mouse button is pressed. More...
 
static Vector2i getPosition ()
 Get the current position of the mouse in desktop coordinates. More...
 
static Vector2i getPosition (const Window &relativeTo)
 Get the current position of the mouse in window coordinates. More...
 
static void setPosition (const Vector2i &position)
 Set the current position of the mouse in desktop coordinates. More...
 
static void setPosition (const Vector2i &position, const Window &relativeTo)
 Set the current position of the mouse in window coordinates. More...
 
+

Detailed Description

+

Give access to the real-time state of the mouse.

+

sf::Mouse provides an interface to the state of the mouse.

+

It only contains static functions (a single mouse is assumed), so it's not meant to be instantiated.

+

This class allows users to query the mouse state at any time and directly, without having to deal with a window and its events. Compared to the MouseMoved, MouseButtonPressed and MouseButtonReleased events, sf::Mouse can retrieve the state of the cursor and the buttons at any time (you don't need to store and update a boolean on your side in order to know if a button is pressed or released), and you always get the real state of the mouse, even if it is moved, pressed or released when your window is out of focus and no event is triggered.

+

The setPosition and getPosition functions can be used to change or retrieve the current position of the mouse pointer. There are two versions: one that operates in global coordinates (relative to the desktop) and one that operates in window coordinates (relative to a specific window).

+

Usage example:

{
// left click...
}
// get global mouse position
// set mouse position relative to a window
See also
sf::Joystick, sf::Keyboard, sf::Touch
+ +

Definition at line 43 of file Mouse.hpp.

+

Member Enumeration Documentation

+ +

◆ Button

+ +
+
+ + + + +
enum sf::Mouse::Button
+
+ +

Mouse buttons.

+ + + + + + + +
Enumerator
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.

+
+ +

Definition at line 51 of file Mouse.hpp.

+ +
+
+ +

◆ Wheel

+ +
+
+ + + + +
enum sf::Mouse::Wheel
+
+ +

Mouse wheels.

+ + + +
Enumerator
VerticalWheel 

The vertical mouse wheel.

+
HorizontalWheel 

The horizontal mouse wheel.

+
+ +

Definition at line 66 of file Mouse.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ getPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
static Vector2i sf::Mouse::getPosition ()
+
+static
+
+ +

Get the current position of the mouse in desktop coordinates.

+

This function returns the global position of the mouse cursor on the desktop.

+
Returns
Current position of the mouse
+ +
+
+ +

◆ getPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static Vector2i sf::Mouse::getPosition (const WindowrelativeTo)
+
+static
+
+ +

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.

+
Parameters
+ + +
relativeToReference window
+
+
+
Returns
Current position of the mouse
+ +
+
+ +

◆ isButtonPressed()

+ +
+
+ + + + + +
+ + + + + + + + +
static bool sf::Mouse::isButtonPressed (Button button)
+
+static
+
+ +

Check if a mouse button is pressed.

+
Parameters
+ + +
buttonButton to check
+
+
+
Returns
True if the button is pressed, false otherwise
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::Mouse::setPosition (const Vector2iposition)
+
+static
+
+ +

Set the current position of the mouse in desktop coordinates.

+

This function sets the global position of the mouse cursor on the desktop.

+
Parameters
+ + +
positionNew position of the mouse
+
+
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void sf::Mouse::setPosition (const Vector2iposition,
const WindowrelativeTo 
)
+
+static
+
+ +

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.

+
Parameters
+ + + +
positionNew position of the mouse
relativeToReference window
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Music-members.html b/SFML/doc/html/classsf_1_1Music-members.html new file mode 100644 index 0000000..86c036f --- /dev/null +++ b/SFML/doc/html/classsf_1_1Music-members.html @@ -0,0 +1,109 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Music Member List
+
+
+ +

This is the complete list of members for sf::Music, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
getAttenuation() constsf::SoundSource
getChannelCount() constsf::SoundStream
getDuration() constsf::Music
getLoop() constsf::SoundStream
getLoopPoints() constsf::Music
getMinDistance() constsf::SoundSource
getPitch() constsf::SoundSource
getPlayingOffset() constsf::SoundStream
getPosition() constsf::SoundSource
getSampleRate() constsf::SoundStream
getStatus() constsf::SoundStreamvirtual
getVolume() constsf::SoundSource
sf::SoundStream::initialize(unsigned int channelCount, unsigned int sampleRate)sf::SoundStreamprotected
isRelativeToListener() constsf::SoundSource
m_sourcesf::SoundSourceprotected
Music()sf::Music
NoLoop enum valuesf::SoundStreamprotected
onGetData(Chunk &data)sf::Musicprotectedvirtual
onLoop()sf::Musicprotectedvirtual
onSeek(Time timeOffset)sf::Musicprotectedvirtual
openFromFile(const std::string &filename)sf::Music
openFromMemory(const void *data, std::size_t sizeInBytes)sf::Music
openFromStream(InputStream &stream)sf::Music
operator=(const SoundSource &right)sf::SoundSource
pause()sf::SoundStreamvirtual
Paused enum valuesf::SoundSource
play()sf::SoundStreamvirtual
Playing enum valuesf::SoundSource
setAttenuation(float attenuation)sf::SoundSource
setLoop(bool loop)sf::SoundStream
setLoopPoints(TimeSpan timePoints)sf::Music
setMinDistance(float distance)sf::SoundSource
setPitch(float pitch)sf::SoundSource
setPlayingOffset(Time timeOffset)sf::SoundStream
setPosition(float x, float y, float z)sf::SoundSource
setPosition(const Vector3f &position)sf::SoundSource
setRelativeToListener(bool relative)sf::SoundSource
setVolume(float volume)sf::SoundSource
SoundSource(const SoundSource &copy)sf::SoundSource
SoundSource()sf::SoundSourceprotected
SoundStream()sf::SoundStreamprotected
Status enum namesf::SoundSource
stop()sf::SoundStreamvirtual
Stopped enum valuesf::SoundSource
TimeSpan typedef (defined in sf::Music)sf::Music
~Music()sf::Music
~SoundSource()sf::SoundSourcevirtual
~SoundStream()sf::SoundStreamvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Music.html b/SFML/doc/html/classsf_1_1Music.html new file mode 100644 index 0000000..9d934bd --- /dev/null +++ b/SFML/doc/html/classsf_1_1Music.html @@ -0,0 +1,1445 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Streamed music played from an audio file. + More...

+ +

#include <Music.hpp>

+
+Inheritance diagram for sf::Music:
+
+
+ + +sf::SoundStream +sf::SoundSource +sf::AlResource + +
+ + + + + +

+Classes

struct  Span
 Structure defining a time range using the template type. More...
 
+ + + + + + +

+Public Types

+typedef Span< TimeTimeSpan
 
enum  Status { Stopped, +Paused, +Playing + }
 Enumeration of the sound source states. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Music ()
 Default constructor. More...
 
 ~Music ()
 Destructor. More...
 
bool openFromFile (const std::string &filename)
 Open a music from an audio file. More...
 
bool openFromMemory (const void *data, std::size_t sizeInBytes)
 Open a music from an audio file in memory. More...
 
bool openFromStream (InputStream &stream)
 Open a music from an audio file in a custom stream. More...
 
Time getDuration () const
 Get the total duration of the music. More...
 
TimeSpan getLoopPoints () const
 Get the positions of the of the sound's looping sequence. More...
 
void setLoopPoints (TimeSpan timePoints)
 Sets the beginning and end of the sound's looping sequence using sf::Time. More...
 
void play ()
 Start or resume playing the audio stream. More...
 
void pause ()
 Pause the audio stream. More...
 
void stop ()
 Stop playing the audio stream. More...
 
unsigned int getChannelCount () const
 Return the number of channels of the stream. More...
 
unsigned int getSampleRate () const
 Get the stream sample rate of the stream. More...
 
Status getStatus () const
 Get the current status of the stream (stopped, paused, playing) More...
 
void setPlayingOffset (Time timeOffset)
 Change the current playing position of the stream. More...
 
Time getPlayingOffset () const
 Get the current playing position of the stream. More...
 
void setLoop (bool loop)
 Set whether or not the stream should loop after reaching the end. More...
 
bool getLoop () const
 Tell whether or not the stream is in loop mode. More...
 
void setPitch (float pitch)
 Set the pitch of the sound. More...
 
void setVolume (float volume)
 Set the volume of the sound. More...
 
void setPosition (float x, float y, float z)
 Set the 3D position of the sound in the audio scene. More...
 
void setPosition (const Vector3f &position)
 Set the 3D position of the sound in the audio scene. More...
 
void setRelativeToListener (bool relative)
 Make the sound's position relative to the listener or absolute. More...
 
void setMinDistance (float distance)
 Set the minimum distance of the sound. More...
 
void setAttenuation (float attenuation)
 Set the attenuation factor of the sound. More...
 
float getPitch () const
 Get the pitch of the sound. More...
 
float getVolume () const
 Get the volume of the sound. More...
 
Vector3f getPosition () const
 Get the 3D position of the sound in the audio scene. More...
 
bool isRelativeToListener () const
 Tell whether the sound's position is relative to the listener or is absolute. More...
 
float getMinDistance () const
 Get the minimum distance of the sound. More...
 
float getAttenuation () const
 Get the attenuation factor of the sound. More...
 
+ + + +

+Protected Types

enum  { NoLoop = -1 + }
 
+ + + + + + + + + + + + + +

+Protected Member Functions

virtual bool onGetData (Chunk &data)
 Request a new chunk of audio samples from the stream source. More...
 
virtual void onSeek (Time timeOffset)
 Change the current playing position in the stream source. More...
 
virtual Int64 onLoop ()
 Change the current playing position in the stream source to the loop offset. More...
 
void initialize (unsigned int channelCount, unsigned int sampleRate)
 Define the audio stream parameters. More...
 
+ + + + +

+Protected Attributes

unsigned int m_source
 OpenAL source identifier. More...
 
+

Detailed Description

+

Streamed music played from an audio file.

+

Musics are sounds that are streamed rather than completely loaded in memory.

+

This is especially useful for compressed musics that usually take hundreds of MB when they are uncompressed: by streaming it instead of loading it entirely, you avoid saturating the memory and have almost no loading delay. This implies that the underlying resource (file, stream or memory buffer) must remain valid for the lifetime of the sf::Music object.

+

Apart from that, a sf::Music has almost the same features as the sf::SoundBuffer / sf::Sound pair: you can play/pause/stop it, request its parameters (channels, sample rate), change the way it is played (pitch, volume, 3D position, ...), etc.

+

As a sound stream, a music is played in its own thread in order not to block the rest of the program. This means that you can leave the music alone after calling play(), it will manage itself very well.

+

Usage example:

// Declare a new music
sf::Music music;
// Open it from an audio file
if (!music.openFromFile("music.ogg"))
{
// error...
}
// Change some parameters
music.setPosition(0, 1, 10); // change its 3D position
music.setPitch(2); // increase the pitch
music.setVolume(50); // reduce the volume
music.setLoop(true); // make it loop
// Play it
music.play();
See also
sf::Sound, sf::SoundStream
+ +

Definition at line 48 of file Music.hpp.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + + +
+ + + + +
anonymous enum
+
+protectedinherited
+
+ + +
Enumerator
NoLoop 

"Invalid" endSeeks value, telling us to continue uninterrupted

+
+ +

Definition at line 183 of file SoundStream.hpp.

+ +
+
+ +

◆ Status

+ +
+
+ + + + + +
+ + + + +
enum sf::SoundSource::Status
+
+inherited
+
+ +

Enumeration of the sound source states.

+ + + + +
Enumerator
Stopped 

Sound is not playing.

+
Paused 

Sound is paused.

+
Playing 

Sound is playing.

+
+ +

Definition at line 50 of file SoundSource.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Music()

+ +
+
+ + + + + + + +
sf::Music::Music ()
+
+ +

Default constructor.

+ +
+
+ +

◆ ~Music()

+ +
+
+ + + + + + + +
sf::Music::~Music ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ getAttenuation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getAttenuation () const
+
+inherited
+
+ +

Get the attenuation factor of the sound.

+
Returns
Attenuation factor of the sound
+
See also
setAttenuation, getMinDistance
+ +
+
+ +

◆ getChannelCount()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned int sf::SoundStream::getChannelCount () const
+
+inherited
+
+ +

Return the number of channels of the stream.

+

1 channel means a mono sound, 2 means stereo, etc.

+
Returns
Number of channels
+ +
+
+ +

◆ getDuration()

+ +
+
+ + + + + + + +
Time sf::Music::getDuration () const
+
+ +

Get the total duration of the music.

+
Returns
Music duration
+ +
+
+ +

◆ getLoop()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::SoundStream::getLoop () const
+
+inherited
+
+ +

Tell whether or not the stream is in loop mode.

+
Returns
True if the stream is looping, false otherwise
+
See also
setLoop
+ +
+
+ +

◆ getLoopPoints()

+ +
+
+ + + + + + + +
TimeSpan sf::Music::getLoopPoints () const
+
+ +

Get the positions of the of the sound's looping sequence.

+
Returns
Loop Time position class.
+
Warning
Since setLoopPoints() performs some adjustments on the provided values and rounds them to internal samples, a call to getLoopPoints() is not guaranteed to return the same times passed into a previous call to setLoopPoints(). However, it is guaranteed to return times that will map to the valid internal samples of this Music if they are later passed to setLoopPoints().
+
See also
setLoopPoints
+ +
+
+ +

◆ getMinDistance()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getMinDistance () const
+
+inherited
+
+ +

Get the minimum distance of the sound.

+
Returns
Minimum distance of the sound
+
See also
setMinDistance, getAttenuation
+ +
+
+ +

◆ getPitch()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getPitch () const
+
+inherited
+
+ +

Get the pitch of the sound.

+
Returns
Pitch of the sound
+
See also
setPitch
+ +
+
+ +

◆ getPlayingOffset()

+ +
+
+ + + + + +
+ + + + + + + +
Time sf::SoundStream::getPlayingOffset () const
+
+inherited
+
+ +

Get the current playing position of the stream.

+
Returns
Current playing position, from the beginning of the stream
+
See also
setPlayingOffset
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
Vector3f sf::SoundSource::getPosition () const
+
+inherited
+
+ +

Get the 3D position of the sound in the audio scene.

+
Returns
Position of the sound
+
See also
setPosition
+ +
+
+ +

◆ getSampleRate()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned int sf::SoundStream::getSampleRate () const
+
+inherited
+
+ +

Get the stream sample rate of the stream.

+

The sample rate is the number of audio samples played per second. The higher, the better the quality.

+
Returns
Sample rate, in number of samples per second
+ +
+
+ +

◆ getStatus()

+ +
+
+ + + + + +
+ + + + + + + +
Status sf::SoundStream::getStatus () const
+
+virtualinherited
+
+ +

Get the current status of the stream (stopped, paused, playing)

+
Returns
Current status
+ +

Reimplemented from sf::SoundSource.

+ +
+
+ +

◆ getVolume()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getVolume () const
+
+inherited
+
+ +

Get the volume of the sound.

+
Returns
Volume of the sound, in the range [0, 100]
+
See also
setVolume
+ +
+
+ +

◆ initialize()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::SoundStream::initialize (unsigned int channelCount,
unsigned int sampleRate 
)
+
+protectedinherited
+
+ +

Define the audio stream parameters.

+

This function must be called by derived classes as soon as they know the audio settings of the stream to play. Any attempt to manipulate the stream (play(), ...) before calling this function will fail. It can be called multiple times if the settings of the audio stream change, but only when the stream is stopped.

+
Parameters
+ + + +
channelCountNumber of channels of the stream
sampleRateSample rate, in samples per second
+
+
+ +
+
+ +

◆ isRelativeToListener()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::SoundSource::isRelativeToListener () const
+
+inherited
+
+ +

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
+
See also
setRelativeToListener
+ +
+
+ +

◆ onGetData()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool sf::Music::onGetData (Chunkdata)
+
+protectedvirtual
+
+ +

Request a new chunk of audio samples from the stream source.

+

This function fills the chunk from the next samples to read from the audio file.

+
Parameters
+ + +
dataChunk of data to fill
+
+
+
Returns
True to continue playback, false to stop
+ +

Implements sf::SoundStream.

+ +
+
+ +

◆ onLoop()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Int64 sf::Music::onLoop ()
+
+protectedvirtual
+
+ +

Change the current playing position in the stream source to the loop offset.

+

This is called by the underlying SoundStream whenever it needs us to reset the seek position for a loop. We then determine whether we are looping on a loop point or the end-of-file, perform the seek, and return the new position.

+
Returns
The seek position after looping (or -1 if there's no loop)
+ +

Reimplemented from sf::SoundStream.

+ +
+
+ +

◆ onSeek()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void sf::Music::onSeek (Time timeOffset)
+
+protectedvirtual
+
+ +

Change the current playing position in the stream source.

+
Parameters
+ + +
timeOffsetNew playing position, from the beginning of the music
+
+
+ +

Implements sf::SoundStream.

+ +
+
+ +

◆ openFromFile()

+ +
+
+ + + + + + + + +
bool sf::Music::openFromFile (const std::string & filename)
+
+ +

Open a music from an audio file.

+

This function doesn't start playing the music (call play() to do so). See the documentation of sf::InputSoundFile for the list of supported formats.

+
Warning
Since the music is not loaded at once but rather streamed continuously, the file must remain accessible until the sf::Music object loads a new music or is destroyed.
+
Parameters
+ + +
filenamePath of the music file to open
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
openFromMemory, openFromStream
+ +
+
+ +

◆ openFromMemory()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Music::openFromMemory (const void * data,
std::size_t sizeInBytes 
)
+
+ +

Open a music from an audio file in memory.

+

This function doesn't start playing the music (call play() to do so). See the documentation of sf::InputSoundFile for the list of supported formats.

+
Warning
Since the music is not loaded at once but rather streamed continuously, the data buffer must remain accessible until the sf::Music object loads a new music or is destroyed. That is, you can't deallocate the buffer right after calling this function.
+
Parameters
+ + + +
dataPointer to the file data in memory
sizeInBytesSize of the data to load, in bytes
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
openFromFile, openFromStream
+ +
+
+ +

◆ openFromStream()

+ +
+
+ + + + + + + + +
bool sf::Music::openFromStream (InputStreamstream)
+
+ +

Open a music from an audio file in a custom stream.

+

This function doesn't start playing the music (call play() to do so). See the documentation of sf::InputSoundFile for the list of supported formats.

+
Warning
Since the music is not loaded at once but rather streamed continuously, the stream must remain accessible until the sf::Music object loads a new music or is destroyed.
+
Parameters
+ + +
streamSource stream to read from
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
openFromFile, openFromMemory
+ +
+
+ +

◆ pause()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::SoundStream::pause ()
+
+virtualinherited
+
+ +

Pause the audio stream.

+

This function pauses the stream if it was playing, otherwise (stream already paused or stopped) it has no effect.

+
See also
play, stop
+ +

Implements sf::SoundSource.

+ +
+
+ +

◆ play()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::SoundStream::play ()
+
+virtualinherited
+
+ +

Start or resume playing the audio stream.

+

This function starts the stream if it was stopped, resumes it if it was paused, and restarts it from the beginning if it was already playing. This function uses its own thread so that it doesn't block the rest of the program while the stream is played.

+
See also
pause, stop
+ +

Implements sf::SoundSource.

+ +
+
+ +

◆ setAttenuation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setAttenuation (float attenuation)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
attenuationNew attenuation factor of the sound
+
+
+
See also
getAttenuation, setMinDistance
+ +
+
+ +

◆ setLoop()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundStream::setLoop (bool loop)
+
+inherited
+
+ +

Set whether or not the stream should loop after reaching the end.

+

If set, the stream will restart from beginning after reaching the end and so on, until it is stopped or setLoop(false) is called. The default looping state for streams is false.

+
Parameters
+ + +
loopTrue to play in loop, false to play once
+
+
+
See also
getLoop
+ +
+
+ +

◆ setLoopPoints()

+ +
+
+ + + + + + + + +
void sf::Music::setLoopPoints (TimeSpan timePoints)
+
+ +

Sets the beginning and end of the sound's looping sequence using sf::Time.

+

Loop points allow one to specify a pair of positions such that, when the music is enabled for looping, it will seamlessly seek to the beginning whenever it encounters the end. Valid ranges for timePoints.offset and timePoints.length are [0, Dur) and (0, Dur-offset] respectively, where Dur is the value returned by getDuration(). Note that the EOF "loop point" from the end to the beginning of the stream is still honored, in case the caller seeks to a point after the end of the loop range. This function can be safely called at any point after a stream is opened, and will be applied to a playing sound without affecting the current playing offset.

+
Warning
Setting the loop points while the stream's status is Paused will set its status to Stopped. The playing offset will be unaffected.
+
Parameters
+ + +
timePointsThe definition of the loop. Can be any time points within the sound's length
+
+
+
See also
getLoopPoints
+ +
+
+ +

◆ setMinDistance()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setMinDistance (float distance)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
distanceNew minimum distance of the sound
+
+
+
See also
getMinDistance, setAttenuation
+ +
+
+ +

◆ setPitch()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setPitch (float pitch)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
pitchNew pitch to apply to the sound
+
+
+
See also
getPitch
+ +
+
+ +

◆ setPlayingOffset()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundStream::setPlayingOffset (Time timeOffset)
+
+inherited
+
+ +

Change the current playing position of the stream.

+

The playing position can be changed when the stream is either paused or playing. Changing the playing position when the stream is stopped has no effect, since playing the stream would reset its position.

+
Parameters
+ + +
timeOffsetNew playing position, from the beginning of the stream
+
+
+
See also
getPlayingOffset
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::SoundSource::setPosition (float x,
float y,
float z 
)
+
+inherited
+
+ +

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).

+
Parameters
+ + + + +
xX coordinate of the position of the sound in the scene
yY coordinate of the position of the sound in the scene
zZ coordinate of the position of the sound in the scene
+
+
+
See also
getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setPosition (const Vector3fposition)
+
+inherited
+
+ +

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).

+
Parameters
+ + +
positionPosition of the sound in the scene
+
+
+
See also
getPosition
+ +
+
+ +

◆ setRelativeToListener()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setRelativeToListener (bool relative)
+
+inherited
+
+ +

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 of 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).

+
Parameters
+ + +
relativeTrue to set the position relative, false to set it absolute
+
+
+
See also
isRelativeToListener
+ +
+
+ +

◆ setVolume()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setVolume (float volume)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
volumeVolume of the sound
+
+
+
See also
getVolume
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::SoundStream::stop ()
+
+virtualinherited
+
+ +

Stop playing the audio stream.

+

This function stops the stream if it was playing or paused, and does nothing if it was already stopped. It also resets the playing position (unlike pause()).

+
See also
play, pause
+ +

Implements sf::SoundSource.

+ +
+
+

Member Data Documentation

+ +

◆ m_source

+ +
+
+ + + + + +
+ + + + +
unsigned int sf::SoundSource::m_source
+
+protectedinherited
+
+ +

OpenAL source identifier.

+ +

Definition at line 309 of file SoundSource.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Music.png b/SFML/doc/html/classsf_1_1Music.png new file mode 100644 index 0000000..d136690 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Music.png differ diff --git a/SFML/doc/html/classsf_1_1Mutex-members.html b/SFML/doc/html/classsf_1_1Mutex-members.html new file mode 100644 index 0000000..b3a1424 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Mutex-members.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Mutex Member List
+
+
+ +

This is the complete list of members for sf::Mutex, including all inherited members.

+ + + + + + + +
lock()sf::Mutex
Mutex()sf::Mutex
NonCopyable()sf::NonCopyableinlineprivate
unlock()sf::Mutex
~Mutex()sf::Mutex
~NonCopyable()sf::NonCopyableinlineprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1Mutex.html b/SFML/doc/html/classsf_1_1Mutex.html new file mode 100644 index 0000000..84c5e3d --- /dev/null +++ b/SFML/doc/html/classsf_1_1Mutex.html @@ -0,0 +1,186 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Mutex Class Reference
+
+
+ +

Blocks concurrent access to shared resources from multiple threads. + More...

+ +

#include <Mutex.hpp>

+
+Inheritance diagram for sf::Mutex:
+
+
+ + +sf::NonCopyable + +
+ + + + + + + + + + + + + + +

+Public Member Functions

 Mutex ()
 Default constructor. More...
 
 ~Mutex ()
 Destructor. More...
 
void lock ()
 Lock the mutex. More...
 
void unlock ()
 Unlock the mutex. More...
 
+

Detailed Description

+

Blocks concurrent access to shared resources from multiple threads.

+

Mutex stands for "MUTual EXclusion".

+

A mutex is a synchronization object, used when multiple threads are involved.

+

When you want to protect a part of the code from being accessed simultaneously by multiple threads, you typically use a mutex. When a thread is locked by a mutex, any other thread trying to lock it will be blocked until the mutex is released by the thread that locked it. This way, you can allow only one thread at a time to access a critical region of your code.

+

Usage example:

Database database; // this is a critical resource that needs some protection
sf::Mutex mutex;
void thread1()
{
mutex.lock(); // this call will block the thread if the mutex is already locked by thread2
database.write(...);
mutex.unlock(); // if thread2 was waiting, it will now be unblocked
}
void thread2()
{
mutex.lock(); // this call will block the thread if the mutex is already locked by thread1
database.write(...);
mutex.unlock(); // if thread1 was waiting, it will now be unblocked
}

Be very careful with mutexes. A bad usage can lead to bad problems, like deadlocks (two threads are waiting for each other and the application is globally stuck).

+

To make the usage of mutexes more robust, particularly in environments where exceptions can be thrown, you should use the helper class sf::Lock to lock/unlock mutexes.

+

SFML mutexes are recursive, which means that you can lock a mutex multiple times in the same thread without creating a deadlock. In this case, the first call to lock() behaves as usual, and the following ones have no effect. However, you must call unlock() exactly as many times as you called lock(). If you don't, the mutex won't be released.

+
See also
sf::Lock
+ +

Definition at line 47 of file Mutex.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Mutex()

+ +
+
+ + + + + + + +
sf::Mutex::Mutex ()
+
+ +

Default constructor.

+ +
+
+ +

◆ ~Mutex()

+ +
+
+ + + + + + + +
sf::Mutex::~Mutex ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ lock()

+ +
+
+ + + + + + + +
void sf::Mutex::lock ()
+
+ +

Lock the mutex.

+

If the mutex is already locked in another thread, this call will block the execution until the mutex is released.

+
See also
unlock
+ +
+
+ +

◆ unlock()

+ +
+
+ + + + + + + +
void sf::Mutex::unlock ()
+
+ +

Unlock the mutex.

+
See also
lock
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Mutex.png b/SFML/doc/html/classsf_1_1Mutex.png new file mode 100644 index 0000000..6759c64 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Mutex.png differ diff --git a/SFML/doc/html/classsf_1_1NonCopyable-members.html b/SFML/doc/html/classsf_1_1NonCopyable-members.html new file mode 100644 index 0000000..1cf962b --- /dev/null +++ b/SFML/doc/html/classsf_1_1NonCopyable-members.html @@ -0,0 +1,63 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::NonCopyable Member List
+
+
+ +

This is the complete list of members for sf::NonCopyable, including all inherited members.

+ + + +
NonCopyable()sf::NonCopyableinlineprotected
~NonCopyable()sf::NonCopyableinlineprotected
+ + + + diff --git a/SFML/doc/html/classsf_1_1NonCopyable.html b/SFML/doc/html/classsf_1_1NonCopyable.html new file mode 100644 index 0000000..85fc6b3 --- /dev/null +++ b/SFML/doc/html/classsf_1_1NonCopyable.html @@ -0,0 +1,172 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::NonCopyable Class Reference
+
+
+ +

Utility class that makes any derived class non-copyable. + More...

+ +

#include <NonCopyable.hpp>

+
+Inheritance diagram for sf::NonCopyable:
+
+
+ + +sf::Context +sf::Cursor +sf::FileInputStream +sf::Ftp +sf::GlResource::TransientContextLock +sf::Http +sf::InputSoundFile +sf::Lock +sf::Mutex +sf::OutputSoundFile +sf::RenderTarget +sf::Shader +sf::Socket +sf::Thread +sf::ThreadLocal +sf::Window + +
+ + + + + + + + +

+Protected Member Functions

 NonCopyable ()
 Default constructor. More...
 
 ~NonCopyable ()
 Default destructor. More...
 
+

Detailed Description

+

Utility class that makes any derived class non-copyable.

+

This class makes its instances non-copyable, by explicitly disabling its copy constructor and its assignment operator.

+

To create a non-copyable class, simply inherit from sf::NonCopyable.

+

The type of inheritance (public or private) doesn't matter, the copy constructor and assignment operator are declared private in sf::NonCopyable so they will end up being inaccessible in both cases. Thus you can use a shorter syntax for inheriting from it (see below).

+

Usage example:

class MyNonCopyableClass : sf::NonCopyable
{
...
};

Deciding whether the instances of a class can be copied or not is a very important design choice. You are strongly encouraged to think about it before writing a class, and to use sf::NonCopyable when necessary to prevent many potential future errors when using it. This is also a very important indication to users of your class.

+ +

Definition at line 41 of file NonCopyable.hpp.

+

Constructor & Destructor Documentation

+ +

◆ NonCopyable()

+ +
+
+ + + + + +
+ + + + + + + +
sf::NonCopyable::NonCopyable ()
+
+inlineprotected
+
+ +

Default constructor.

+

Because this class has a copy constructor, the compiler will not automatically generate the default constructor. That's why we must define it explicitly.

+ +

Definition at line 53 of file NonCopyable.hpp.

+ +
+
+ +

◆ ~NonCopyable()

+ +
+
+ + + + + +
+ + + + + + + +
sf::NonCopyable::~NonCopyable ()
+
+inlineprotected
+
+ +

Default destructor.

+

By declaring a protected destructor it's impossible to call delete on a pointer of sf::NonCopyable, thus preventing possible resource leaks.

+ +

Definition at line 63 of file NonCopyable.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1NonCopyable.png b/SFML/doc/html/classsf_1_1NonCopyable.png new file mode 100644 index 0000000..c9c6bdd Binary files /dev/null and b/SFML/doc/html/classsf_1_1NonCopyable.png differ diff --git a/SFML/doc/html/classsf_1_1OutputSoundFile-members.html b/SFML/doc/html/classsf_1_1OutputSoundFile-members.html new file mode 100644 index 0000000..932bf5c --- /dev/null +++ b/SFML/doc/html/classsf_1_1OutputSoundFile-members.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::OutputSoundFile Member List
+
+
+ +

This is the complete list of members for sf::OutputSoundFile, including all inherited members.

+ + + + + + + +
NonCopyable()sf::NonCopyableinlineprivate
openFromFile(const std::string &filename, unsigned int sampleRate, unsigned int channelCount)sf::OutputSoundFile
OutputSoundFile()sf::OutputSoundFile
write(const Int16 *samples, Uint64 count)sf::OutputSoundFile
~NonCopyable()sf::NonCopyableinlineprivate
~OutputSoundFile()sf::OutputSoundFile
+ + + + diff --git a/SFML/doc/html/classsf_1_1OutputSoundFile.html b/SFML/doc/html/classsf_1_1OutputSoundFile.html new file mode 100644 index 0000000..0554f4d --- /dev/null +++ b/SFML/doc/html/classsf_1_1OutputSoundFile.html @@ -0,0 +1,225 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::OutputSoundFile Class Reference
+
+
+ +

Provide write access to sound files. + More...

+ +

#include <OutputSoundFile.hpp>

+
+Inheritance diagram for sf::OutputSoundFile:
+
+
+ + +sf::NonCopyable + +
+ + + + + + + + + + + + + + +

+Public Member Functions

 OutputSoundFile ()
 Default constructor. More...
 
 ~OutputSoundFile ()
 Destructor. More...
 
bool openFromFile (const std::string &filename, unsigned int sampleRate, unsigned int channelCount)
 Open the sound file from the disk for writing. More...
 
void write (const Int16 *samples, Uint64 count)
 Write audio samples to the file. More...
 
+

Detailed Description

+

Provide write access to sound files.

+

This class encodes audio samples to a sound file.

+

It is used internally by higher-level classes such as sf::SoundBuffer, but can also be useful if you want to create audio files from custom data sources, like generated audio samples.

+

Usage example:

// Create a sound file, ogg/vorbis format, 44100 Hz, stereo
if (!file.openFromFile("music.ogg", 44100, 2))
/* error */;
while (...)
{
// Read or generate audio samples from your custom source
std::vector<sf::Int16> samples = ...;
// Write them to the file
file.write(samples.data(), samples.size());
}
See also
sf::SoundFileWriter, sf::InputSoundFile
+ +

Definition at line 44 of file OutputSoundFile.hpp.

+

Constructor & Destructor Documentation

+ +

◆ OutputSoundFile()

+ +
+
+ + + + + + + +
sf::OutputSoundFile::OutputSoundFile ()
+
+ +

Default constructor.

+ +
+
+ +

◆ ~OutputSoundFile()

+ +
+
+ + + + + + + +
sf::OutputSoundFile::~OutputSoundFile ()
+
+ +

Destructor.

+

Closes the file if it was still open.

+ +
+
+

Member Function Documentation

+ +

◆ openFromFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::OutputSoundFile::openFromFile (const std::string & filename,
unsigned int sampleRate,
unsigned int channelCount 
)
+
+ +

Open the sound file from the disk for writing.

+

The supported audio formats are: WAV, OGG/Vorbis, FLAC.

+
Parameters
+ + + + +
filenamePath of the sound file to write
sampleRateSample rate of the sound
channelCountNumber of channels in the sound
+
+
+
Returns
True if the file was successfully opened
+ +
+
+ +

◆ write()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::OutputSoundFile::write (const Int16 * samples,
Uint64 count 
)
+
+ +

Write audio samples to the file.

+
Parameters
+ + + +
samplesPointer to the sample array to write
countNumber of samples to write
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1OutputSoundFile.png b/SFML/doc/html/classsf_1_1OutputSoundFile.png new file mode 100644 index 0000000..1956830 Binary files /dev/null and b/SFML/doc/html/classsf_1_1OutputSoundFile.png differ diff --git a/SFML/doc/html/classsf_1_1Packet-members.html b/SFML/doc/html/classsf_1_1Packet-members.html new file mode 100644 index 0000000..018f369 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Packet-members.html @@ -0,0 +1,105 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Packet Member List
+
+
+ +

This is the complete list of members for sf::Packet, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
append(const void *data, std::size_t sizeInBytes)sf::Packet
clear()sf::Packet
endOfPacket() constsf::Packet
getData() constsf::Packet
getDataSize() constsf::Packet
onReceive(const void *data, std::size_t size)sf::Packetprotectedvirtual
onSend(std::size_t &size)sf::Packetprotectedvirtual
operator BoolType() constsf::Packet
operator<<(bool data)sf::Packet
operator<<(Int8 data)sf::Packet
operator<<(Uint8 data)sf::Packet
operator<<(Int16 data)sf::Packet
operator<<(Uint16 data)sf::Packet
operator<<(Int32 data)sf::Packet
operator<<(Uint32 data)sf::Packet
operator<<(Int64 data)sf::Packet
operator<<(Uint64 data)sf::Packet
operator<<(float data)sf::Packet
operator<<(double data)sf::Packet
operator<<(const char *data)sf::Packet
operator<<(const std::string &data)sf::Packet
operator<<(const wchar_t *data)sf::Packet
operator<<(const std::wstring &data)sf::Packet
operator<<(const String &data)sf::Packet
operator>>(bool &data)sf::Packet
operator>>(Int8 &data)sf::Packet
operator>>(Uint8 &data)sf::Packet
operator>>(Int16 &data)sf::Packet
operator>>(Uint16 &data)sf::Packet
operator>>(Int32 &data)sf::Packet
operator>>(Uint32 &data)sf::Packet
operator>>(Int64 &data)sf::Packet
operator>>(Uint64 &data)sf::Packet
operator>>(float &data)sf::Packet
operator>>(double &data)sf::Packet
operator>>(char *data)sf::Packet
operator>>(std::string &data)sf::Packet
operator>>(wchar_t *data)sf::Packet
operator>>(std::wstring &data)sf::Packet
operator>>(String &data)sf::Packet
Packet()sf::Packet
TcpSocket (defined in sf::Packet)sf::Packetfriend
UdpSocket (defined in sf::Packet)sf::Packetfriend
~Packet()sf::Packetvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Packet.html b/SFML/doc/html/classsf_1_1Packet.html new file mode 100644 index 0000000..7e5bcb0 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Packet.html @@ -0,0 +1,1156 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Utility class to build blocks of data to transfer over the network. + More...

+ +

#include <Packet.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Packet ()
 Default constructor. More...
 
virtual ~Packet ()
 Virtual destructor. More...
 
void append (const void *data, std::size_t sizeInBytes)
 Append data to the end of the packet. More...
 
void clear ()
 Clear the packet. More...
 
const void * getData () const
 Get a pointer to the data contained in the packet. More...
 
std::size_t getDataSize () const
 Get the size of the data contained in the packet. More...
 
bool endOfPacket () const
 Tell if the reading position has reached the end of the packet. More...
 
 operator BoolType () const
 Test the validity of the packet, for reading. More...
 
Packetoperator>> (bool &data)
 Overload of operator >> to read data from the packet. More...
 
Packetoperator>> (Int8 &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (Uint8 &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (Int16 &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (Uint16 &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (Int32 &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (Uint32 &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (Int64 &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (Uint64 &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (float &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (double &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (char *data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (std::string &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (wchar_t *data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (std::wstring &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator>> (String &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (bool data)
 Overload of operator << to write data into the packet. More...
 
Packetoperator<< (Int8 data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (Uint8 data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (Int16 data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (Uint16 data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (Int32 data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (Uint32 data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (Int64 data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (Uint64 data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (float data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (double data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (const char *data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (const std::string &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (const wchar_t *data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (const std::wstring &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Packetoperator<< (const String &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
+ + + + + + + +

+Protected Member Functions

virtual const void * onSend (std::size_t &size)
 Called before the packet is sent over the network. More...
 
virtual void onReceive (const void *data, std::size_t size)
 Called after the packet is received over the network. More...
 
+ + + + + +

+Friends

+class TcpSocket
 
+class UdpSocket
 
+

Detailed Description

+

Utility class to build blocks of data to transfer over the network.

+

Packets provide a safe and easy way to serialize data, in order to send it over the network using sockets (sf::TcpSocket, sf::UdpSocket).

+

Packets solve 2 fundamental problems that arise when transferring data over the network:

    +
  • data is interpreted correctly according to the endianness
  • +
  • the bounds of the packet are preserved (one send == one receive)
  • +
+

The sf::Packet class provides both input and output modes. It is designed to follow the behavior of standard C++ streams, using operators >> and << to extract and insert data.

+

It is recommended to use only fixed-size types (like sf::Int32, etc.), to avoid possible differences between the sender and the receiver. Indeed, the native C++ types may have different sizes on two platforms and your data may be corrupted if that happens.

+

Usage example:

sf::Uint32 x = 24;
std::string s = "hello";
double d = 5.89;
// Group the variables to send into a packet
sf::Packet packet;
packet << x << s << d;
// Send it over the network (socket is a valid sf::TcpSocket)
socket.send(packet);
-----------------------------------------------------------------
// Receive the packet at the other end
sf::Packet packet;
socket.receive(packet);
// Extract the variables contained in the packet
sf::Uint32 x;
std::string s;
double d;
if (packet >> x >> s >> d)
{
// Data extracted successfully...
}

Packets have built-in operator >> and << overloads for standard types:

    +
  • bool
  • +
  • fixed-size integer types (sf::Int8/16/32, sf::Uint8/16/32)
  • +
  • floating point numbers (float, double)
  • +
  • string types (char*, wchar_t*, std::string, std::wstring, sf::String)
  • +
+

Like standard streams, it is also possible to define your own overloads of operators >> and << in order to handle your custom types.

+
struct MyStruct
{
float number;
sf::Int8 integer;
std::string str;
};
sf::Packet& operator <<(sf::Packet& packet, const MyStruct& m)
{
return packet << m.number << m.integer << m.str;
}
sf::Packet& operator >>(sf::Packet& packet, MyStruct& m)
{
return packet >> m.number >> m.integer >> m.str;
}

Packets also provide an extra feature that allows to apply custom transformations to the data before it is sent, and after it is received. This is typically used to handle automatic compression or encryption of the data. This is achieved by inheriting from sf::Packet, and overriding the onSend and onReceive functions.

+

Here is an example:

class ZipPacket : public sf::Packet
{
virtual const void* onSend(std::size_t& size)
{
const void* srcData = getData();
std::size_t srcSize = getDataSize();
return MySuperZipFunction(srcData, srcSize, &size);
}
virtual void onReceive(const void* data, std::size_t size)
{
std::size_t dstSize;
const void* dstData = MySuperUnzipFunction(data, size, &dstSize);
append(dstData, dstSize);
}
};
// Use like regular packets:
ZipPacket packet;
packet << x << s << d;
...
See also
sf::TcpSocket, sf::UdpSocket
+ +

Definition at line 47 of file Packet.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Packet()

+ +
+
+ + + + + + + +
sf::Packet::Packet ()
+
+ +

Default constructor.

+

Creates an empty packet.

+ +
+
+ +

◆ ~Packet()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::Packet::~Packet ()
+
+virtual
+
+ +

Virtual destructor.

+ +
+
+

Member Function Documentation

+ +

◆ append()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Packet::append (const void * data,
std::size_t sizeInBytes 
)
+
+ +

Append data to the end of the packet.

+
Parameters
+ + + +
dataPointer to the sequence of bytes to append
sizeInBytesNumber of bytes to append
+
+
+
See also
clear
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + + + +
void sf::Packet::clear ()
+
+ +

Clear the packet.

+

After calling Clear, the packet is empty.

+
See also
append
+ +
+
+ +

◆ endOfPacket()

+ +
+
+ + + + + + + +
bool sf::Packet::endOfPacket () const
+
+ +

Tell if the reading position has reached the end of the packet.

+

This function is useful to know if there is some data left to be read, without actually reading it.

+
Returns
True if all data was read, false otherwise
+
See also
operator bool
+ +
+
+ +

◆ getData()

+ +
+
+ + + + + + + +
const void* sf::Packet::getData () const
+
+ +

Get a pointer to the data contained in the packet.

+

Warning: the returned pointer may become invalid after you append data to the packet, therefore it should never be stored. The return pointer is NULL if the packet is empty.

+
Returns
Pointer to the data
+
See also
getDataSize
+ +
+
+ +

◆ getDataSize()

+ +
+
+ + + + + + + +
std::size_t sf::Packet::getDataSize () const
+
+ +

Get the size of the data contained in the packet.

+

This function returns the number of bytes pointed to by what getData returns.

+
Returns
Data size, in bytes
+
See also
getData
+ +
+
+ +

◆ onReceive()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void sf::Packet::onReceive (const void * data,
std::size_t size 
)
+
+protectedvirtual
+
+ +

Called after the packet is received over the network.

+

This function can be defined by derived classes to transform the data after it is received; this can be used for decompression, decryption, etc. The function receives a pointer to the received data, and must fill the packet with the transformed bytes. The default implementation fills the packet directly without transforming the data.

+
Parameters
+ + + +
dataPointer to the received bytes
sizeNumber of bytes
+
+
+
See also
onSend
+ +
+
+ +

◆ onSend()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual const void* sf::Packet::onSend (std::size_t & size)
+
+protectedvirtual
+
+ +

Called before the packet is sent over the network.

+

This function can be defined by derived classes to transform the data before it is sent; this can be used for compression, encryption, etc. The function must return a pointer to the modified data, as well as the number of bytes pointed. The default implementation provides the packet's data without transforming it.

+
Parameters
+ + +
sizeVariable to fill with the size of data to send
+
+
+
Returns
Pointer to the array of bytes to send
+
See also
onReceive
+ +
+
+ +

◆ operator BoolType()

+ +
+
+ + + + + + + +
sf::Packet::operator BoolType () const
+
+ +

Test the validity of the packet, for reading.

+

This operator allows to test the packet as a boolean variable, to check if a reading operation was successful.

+

A packet will be in an invalid state if it has no more data to read.

+

This behavior is the same as standard C++ streams.

+

Usage example:

float x;
packet >> x;
if (packet)
{
// ok, x was extracted successfully
}
// -- or --
float x;
if (packet >> x)
{
// ok, x was extracted successfully
}

Don't focus on the return type, it's equivalent to bool but it disallows unwanted implicit conversions to integer or pointer types.

+
Returns
True if last data extraction from packet was successful
+
See also
endOfPacket
+ +
+
+ +

◆ operator<<() [1/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (bool data)
+
+ +

Overload of operator << to write data into the packet.

+ +
+
+ +

◆ operator<<() [2/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (Int8 data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [3/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (Uint8 data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [4/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (Int16 data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [5/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (Uint16 data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [6/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (Int32 data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [7/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (Uint32 data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [8/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (Int64 data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [9/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (Uint64 data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [10/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (float data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [11/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (double data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [12/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (const char * data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [13/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (const std::string & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [14/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (const wchar_t * data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [15/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (const std::wstring & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator<<() [16/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator<< (const Stringdata)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [1/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (bool & data)
+
+ +

Overload of operator >> to read data from the packet.

+ +
+
+ +

◆ operator>>() [2/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Int8 & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [3/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Uint8 & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [4/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Int16 & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [5/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Uint16 & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [6/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Int32 & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [7/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Uint32 & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [8/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Int64 & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [9/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Uint64 & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [10/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (float & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [11/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (double & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [12/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (char * data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [13/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (std::string & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [14/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (wchar_t * data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [15/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (std::wstring & data)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+ +

◆ operator>>() [16/16]

+ +
+
+ + + + + + + + +
Packet& sf::Packet::operator>> (Stringdata)
+
+ +

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Rect-members.html b/SFML/doc/html/classsf_1_1Rect-members.html new file mode 100644 index 0000000..83af0f2 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Rect-members.html @@ -0,0 +1,75 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Rect< T > Member List
+
+
+ +

This is the complete list of members for sf::Rect< T >, including all inherited members.

+ + + + + + + + + + + + + + + +
contains(T x, T y) constsf::Rect< T >
contains(const Vector2< T > &point) constsf::Rect< T >
heightsf::Rect< T >
intersects(const Rect< T > &rectangle) constsf::Rect< T >
intersects(const Rect< T > &rectangle, Rect< T > &intersection) constsf::Rect< T >
leftsf::Rect< T >
operator!=(const Rect< T > &left, const Rect< T > &right)sf::Rect< T >related
operator==(const Rect< T > &left, const Rect< T > &right)sf::Rect< T >related
Rect()sf::Rect< T >
Rect(T rectLeft, T rectTop, T rectWidth, T rectHeight)sf::Rect< T >
Rect(const Vector2< T > &position, const Vector2< T > &size)sf::Rect< T >
Rect(const Rect< U > &rectangle)sf::Rect< T >explicit
topsf::Rect< T >
widthsf::Rect< T >
+ + + + diff --git a/SFML/doc/html/classsf_1_1Rect.html b/SFML/doc/html/classsf_1_1Rect.html new file mode 100644 index 0000000..c24cf19 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Rect.html @@ -0,0 +1,630 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Utility class for manipulating 2D axis aligned rectangles. + More...

+ +

#include <Rect.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Rect ()
 Default constructor. More...
 
 Rect (T rectLeft, T rectTop, T rectWidth, T rectHeight)
 Construct the rectangle from its coordinates. More...
 
 Rect (const Vector2< T > &position, const Vector2< T > &size)
 Construct the rectangle from position and size. More...
 
template<typename U >
 Rect (const Rect< U > &rectangle)
 Construct the rectangle from another type of rectangle. More...
 
bool contains (T x, T y) const
 Check if a point is inside the rectangle's area. More...
 
bool contains (const Vector2< T > &point) const
 Check if a point is inside the rectangle's area. More...
 
bool intersects (const Rect< T > &rectangle) const
 Check the intersection between two rectangles. More...
 
bool intersects (const Rect< T > &rectangle, Rect< T > &intersection) const
 Check the intersection between two rectangles. More...
 
+ + + + + + + + + + + + + +

+Public Attributes

left
 Left coordinate of the rectangle. More...
 
top
 Top coordinate of the rectangle. More...
 
width
 Width of the rectangle. More...
 
height
 Height of the rectangle. More...
 
+ + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
template<typename T >
bool operator== (const Rect< T > &left, const Rect< T > &right)
 Overload of binary operator ==. More...
 
template<typename T >
bool operator!= (const Rect< T > &left, const Rect< T > &right)
 Overload of binary operator !=. More...
 
+

Detailed Description

+

template<typename T>
+class sf::Rect< T >

+ +

Utility class for manipulating 2D axis aligned rectangles.

+

A rectangle is defined by its top-left corner and its size.

+

It is a very simple class defined for convenience, so its member variables (left, top, width and height) are public and can be accessed directly, just like the vector classes (Vector2 and Vector3).

+

To keep things simple, sf::Rect doesn't define functions to emulate the properties that are not directly members (such as right, bottom, center, etc.), it rather only provides intersection functions.

+

sf::Rect uses the usual rules for its boundaries:

    +
  • The left and top edges are included in the rectangle's area
  • +
  • The right (left + width) and bottom (top + height) edges are excluded from the rectangle's area
  • +
+

This means that sf::IntRect(0, 0, 1, 1) and sf::IntRect(1, 1, 1, 1) don't intersect.

+

sf::Rect is a template and may be used with any numeric type, but for simplicity the instantiations used by SFML are typedef'd:

    +
  • sf::Rect<int> is sf::IntRect
  • +
  • sf::Rect<float> is sf::FloatRect
  • +
+

So that you don't have to care about the template syntax.

+

Usage example:

// Define a rectangle, located at (0, 0) with a size of 20x5
sf::IntRect r1(0, 0, 20, 5);
// Define another rectangle, located at (4, 2) with a size of 18x10
sf::Vector2i position(4, 2);
sf::Vector2i size(18, 10);
sf::IntRect r2(position, size);
// Test intersections with the point (3, 1)
bool b1 = r1.contains(3, 1); // true
bool b2 = r2.contains(3, 1); // false
// Test the intersection between r1 and r2
sf::IntRect result;
bool b3 = r1.intersects(r2, result); // true
// result == (4, 2, 16, 3)
+

Definition at line 42 of file Rect.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Rect() [1/4]

+ +
+
+
+template<typename T>
+ + + + + + + +
sf::Rect< T >::Rect ()
+
+ +

Default constructor.

+

Creates an empty rectangle (it is equivalent to calling Rect(0, 0, 0, 0)).

+ +
+
+ +

◆ Rect() [2/4]

+ +
+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sf::Rect< T >::Rect (rectLeft,
rectTop,
rectWidth,
rectHeight 
)
+
+ +

Construct the rectangle from its coordinates.

+

Be careful, the last two parameters are the width and height, not the right and bottom coordinates!

+
Parameters
+ + + + + +
rectLeftLeft coordinate of the rectangle
rectTopTop coordinate of the rectangle
rectWidthWidth of the rectangle
rectHeightHeight of the rectangle
+
+
+ +
+
+ +

◆ Rect() [3/4]

+ +
+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + +
sf::Rect< T >::Rect (const Vector2< T > & position,
const Vector2< T > & size 
)
+
+ +

Construct the rectangle from position and size.

+

Be careful, the last parameter is the size, not the bottom-right corner!

+
Parameters
+ + + +
positionPosition of the top-left corner of the rectangle
sizeSize of the rectangle
+
+
+ +
+
+ +

◆ Rect() [4/4]

+ +
+
+
+template<typename T>
+
+template<typename U >
+ + + + + +
+ + + + + + + + +
sf::Rect< T >::Rect (const Rect< U > & rectangle)
+
+explicit
+
+ +

Construct the rectangle from another type of rectangle.

+

This constructor doesn't replace the copy constructor, it's called only when U != T. A call to this constructor will fail to compile if U is not convertible to T.

+
Parameters
+ + +
rectangleRectangle to convert
+
+
+ +
+
+

Member Function Documentation

+ +

◆ contains() [1/2]

+ +
+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + +
bool sf::Rect< T >::contains (x,
y 
) const
+
+ +

Check if a point is inside the rectangle's area.

+

This check is non-inclusive. If the point lies on the edge of the rectangle, this function will return false.

+
Parameters
+ + + +
xX coordinate of the point to test
yY coordinate of the point to test
+
+
+
Returns
True if the point is inside, false otherwise
+
See also
intersects
+ +
+
+ +

◆ contains() [2/2]

+ +
+
+
+template<typename T>
+ + + + + + + + +
bool sf::Rect< T >::contains (const Vector2< T > & point) const
+
+ +

Check if a point is inside the rectangle's area.

+

This check is non-inclusive. If the point lies on the edge of the rectangle, this function will return false.

+
Parameters
+ + +
pointPoint to test
+
+
+
Returns
True if the point is inside, false otherwise
+
See also
intersects
+ +
+
+ +

◆ intersects() [1/2]

+ +
+
+
+template<typename T>
+ + + + + + + + +
bool sf::Rect< T >::intersects (const Rect< T > & rectangle) const
+
+ +

Check the intersection between two rectangles.

+
Parameters
+ + +
rectangleRectangle to test
+
+
+
Returns
True if rectangles overlap, false otherwise
+
See also
contains
+ +
+
+ +

◆ intersects() [2/2]

+ +
+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + +
bool sf::Rect< T >::intersects (const Rect< T > & rectangle,
Rect< T > & intersection 
) const
+
+ +

Check the intersection between two rectangles.

+

This overload returns the overlapped rectangle in the intersection parameter.

+
Parameters
+ + + +
rectangleRectangle to test
intersectionRectangle to be filled with the intersection
+
+
+
Returns
True if rectangles overlap, false otherwise
+
See also
contains
+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator!=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const Rect< T > & left,
const Rect< T > & right 
)
+
+related
+
+ +

Overload of binary operator !=.

+

This operator compares strict difference between two rectangles.

+
Parameters
+ + + +
leftLeft operand (a rectangle)
rightRight operand (a rectangle)
+
+
+
Returns
True if left is not equal to right
+ +
+
+ +

◆ operator==()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const Rect< T > & left,
const Rect< T > & right 
)
+
+related
+
+ +

Overload of binary operator ==.

+

This operator compares strict equality between two rectangles.

+
Parameters
+ + + +
leftLeft operand (a rectangle)
rightRight operand (a rectangle)
+
+
+
Returns
True if left is equal to right
+ +
+
+

Member Data Documentation

+ +

◆ height

+ +
+
+
+template<typename T>
+ + + + +
T sf::Rect< T >::height
+
+ +

Height of the rectangle.

+ +

Definition at line 160 of file Rect.hpp.

+ +
+
+ +

◆ left

+ +
+
+
+template<typename T>
+ + + + +
T sf::Rect< T >::left
+
+ +

Left coordinate of the rectangle.

+ +

Definition at line 157 of file Rect.hpp.

+ +
+
+ +

◆ top

+ +
+
+
+template<typename T>
+ + + + +
T sf::Rect< T >::top
+
+ +

Top coordinate of the rectangle.

+ +

Definition at line 158 of file Rect.hpp.

+ +
+
+ +

◆ width

+ +
+
+
+template<typename T>
+ + + + +
T sf::Rect< T >::width
+
+ +

Width of the rectangle.

+ +

Definition at line 159 of file Rect.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1RectangleShape-members.html b/SFML/doc/html/classsf_1_1RectangleShape-members.html new file mode 100644 index 0000000..5906488 --- /dev/null +++ b/SFML/doc/html/classsf_1_1RectangleShape-members.html @@ -0,0 +1,102 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::RectangleShape Member List
+
+
+ +

This is the complete list of members for sf::RectangleShape, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
getFillColor() constsf::Shape
getGlobalBounds() constsf::Shape
getInverseTransform() constsf::Transformable
getLocalBounds() constsf::Shape
getOrigin() constsf::Transformable
getOutlineColor() constsf::Shape
getOutlineThickness() constsf::Shape
getPoint(std::size_t index) constsf::RectangleShapevirtual
getPointCount() constsf::RectangleShapevirtual
getPosition() constsf::Transformable
getRotation() constsf::Transformable
getScale() constsf::Transformable
getSize() constsf::RectangleShape
getTexture() constsf::Shape
getTextureRect() constsf::Shape
getTransform() constsf::Transformable
move(float offsetX, float offsetY)sf::Transformable
move(const Vector2f &offset)sf::Transformable
RectangleShape(const Vector2f &size=Vector2f(0, 0))sf::RectangleShapeexplicit
rotate(float angle)sf::Transformable
scale(float factorX, float factorY)sf::Transformable
scale(const Vector2f &factor)sf::Transformable
setFillColor(const Color &color)sf::Shape
setOrigin(float x, float y)sf::Transformable
setOrigin(const Vector2f &origin)sf::Transformable
setOutlineColor(const Color &color)sf::Shape
setOutlineThickness(float thickness)sf::Shape
setPosition(float x, float y)sf::Transformable
setPosition(const Vector2f &position)sf::Transformable
setRotation(float angle)sf::Transformable
setScale(float factorX, float factorY)sf::Transformable
setScale(const Vector2f &factors)sf::Transformable
setSize(const Vector2f &size)sf::RectangleShape
setTexture(const Texture *texture, bool resetRect=false)sf::Shape
setTextureRect(const IntRect &rect)sf::Shape
Shape()sf::Shapeprotected
Transformable()sf::Transformable
update()sf::Shapeprotected
~Drawable()sf::Drawableinlinevirtual
~Shape()sf::Shapevirtual
~Transformable()sf::Transformablevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1RectangleShape.html b/SFML/doc/html/classsf_1_1RectangleShape.html new file mode 100644 index 0000000..220e332 --- /dev/null +++ b/SFML/doc/html/classsf_1_1RectangleShape.html @@ -0,0 +1,1434 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Specialized shape representing a rectangle. + More...

+ +

#include <RectangleShape.hpp>

+
+Inheritance diagram for sf::RectangleShape:
+
+
+ + +sf::Shape +sf::Drawable +sf::Transformable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RectangleShape (const Vector2f &size=Vector2f(0, 0))
 Default constructor. More...
 
void setSize (const Vector2f &size)
 Set the size of the rectangle. More...
 
const Vector2fgetSize () const
 Get the size of the rectangle. More...
 
virtual std::size_t getPointCount () const
 Get the number of points defining the shape. More...
 
virtual Vector2f getPoint (std::size_t index) const
 Get a point of the rectangle. More...
 
void setTexture (const Texture *texture, bool resetRect=false)
 Change the source texture of the shape. More...
 
void setTextureRect (const IntRect &rect)
 Set the sub-rectangle of the texture that the shape will display. More...
 
void setFillColor (const Color &color)
 Set the fill color of the shape. More...
 
void setOutlineColor (const Color &color)
 Set the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Set the thickness of the shape's outline. More...
 
const TexturegetTexture () const
 Get the source texture of the shape. More...
 
const IntRectgetTextureRect () const
 Get the sub-rectangle of the texture displayed by the shape. More...
 
const ColorgetFillColor () const
 Get the fill color of the shape. More...
 
const ColorgetOutlineColor () const
 Get the outline color of the shape. More...
 
float getOutlineThickness () const
 Get the outline thickness of the shape. More...
 
FloatRect getLocalBounds () const
 Get the local bounding rectangle of the entity. More...
 
FloatRect getGlobalBounds () const
 Get the global (non-minimal) bounding rectangle of the entity. More...
 
void setPosition (float x, float y)
 set the position of the object More...
 
void setPosition (const Vector2f &position)
 set the position of the object More...
 
void setRotation (float angle)
 set the orientation of the object More...
 
void setScale (float factorX, float factorY)
 set the scale factors of the object More...
 
void setScale (const Vector2f &factors)
 set the scale factors of the object More...
 
void setOrigin (float x, float y)
 set the local origin of the object More...
 
void setOrigin (const Vector2f &origin)
 set the local origin of the object More...
 
const Vector2fgetPosition () const
 get the position of the object More...
 
float getRotation () const
 get the orientation of the object More...
 
const Vector2fgetScale () const
 get the current scale of the object More...
 
const Vector2fgetOrigin () const
 get the local origin of the object More...
 
void move (float offsetX, float offsetY)
 Move the object by a given offset. More...
 
void move (const Vector2f &offset)
 Move the object by a given offset. More...
 
void rotate (float angle)
 Rotate the object. More...
 
void scale (float factorX, float factorY)
 Scale the object. More...
 
void scale (const Vector2f &factor)
 Scale the object. More...
 
const TransformgetTransform () const
 get the combined transform of the object More...
 
const TransformgetInverseTransform () const
 get the inverse of the combined transform of the object More...
 
+ + + + +

+Protected Member Functions

void update ()
 Recompute the internal geometry of the shape. More...
 
+

Detailed Description

+

Specialized shape representing a rectangle.

+

This class inherits all the functions of sf::Transformable (position, rotation, scale, bounds, ...) as well as the functions of sf::Shape (outline, color, texture, ...).

+

Usage example:

rectangle.setSize(sf::Vector2f(100, 50));
rectangle.setOutlineThickness(5);
rectangle.setPosition(10, 20);
...
window.draw(rectangle);
See also
sf::Shape, sf::CircleShape, sf::ConvexShape
+ +

Definition at line 41 of file RectangleShape.hpp.

+

Constructor & Destructor Documentation

+ +

◆ RectangleShape()

+ +
+
+ + + + + +
+ + + + + + + + +
sf::RectangleShape::RectangleShape (const Vector2fsize = Vector2f(0, 0))
+
+explicit
+
+ +

Default constructor.

+
Parameters
+ + +
sizeSize of the rectangle
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getFillColor()

+ +
+
+ + + + + +
+ + + + + + + +
const Color& sf::Shape::getFillColor () const
+
+inherited
+
+ +

Get the fill color of the shape.

+
Returns
Fill color of the shape
+
See also
setFillColor
+ +
+
+ +

◆ getGlobalBounds()

+ +
+
+ + + + + +
+ + + + + + + +
FloatRect sf::Shape::getGlobalBounds () const
+
+inherited
+
+ +

Get the global (non-minimal) bounding rectangle of the entity.

+

The returned rectangle is in global coordinates, which means that it takes into account the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the shape in the global 2D world's coordinate system.

+

This function does not necessarily return the minimal bounding rectangle. It merely ensures that the returned rectangle covers all the vertices (but possibly more). This allows for a fast approximation of the bounds as a first check; you may want to use more precise checks on top of that.

+
Returns
Global bounding rectangle of the entity
+ +
+
+ +

◆ getInverseTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getInverseTransform () const
+
+inherited
+
+ +

get the inverse of the combined transform of the object

+
Returns
Inverse of the combined transformations applied to the object
+
See also
getTransform
+ +
+
+ +

◆ getLocalBounds()

+ +
+
+ + + + + +
+ + + + + + + +
FloatRect sf::Shape::getLocalBounds () const
+
+inherited
+
+ +

Get the local bounding rectangle of the entity.

+

The returned rectangle is in local coordinates, which means that it ignores the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the entity in the entity's coordinate system.

+
Returns
Local bounding rectangle of the entity
+ +
+
+ +

◆ getOrigin()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getOrigin () const
+
+inherited
+
+ +

get the local origin of the object

+
Returns
Current origin
+
See also
setOrigin
+ +
+
+ +

◆ getOutlineColor()

+ +
+
+ + + + + +
+ + + + + + + +
const Color& sf::Shape::getOutlineColor () const
+
+inherited
+
+ +

Get the outline color of the shape.

+
Returns
Outline color of the shape
+
See also
setOutlineColor
+ +
+
+ +

◆ getOutlineThickness()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Shape::getOutlineThickness () const
+
+inherited
+
+ +

Get the outline thickness of the shape.

+
Returns
Outline thickness of the shape
+
See also
setOutlineThickness
+ +
+
+ +

◆ getPoint()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual Vector2f sf::RectangleShape::getPoint (std::size_t index) const
+
+virtual
+
+ +

Get a point of the rectangle.

+

The returned point is in local coordinates, that is, the shape's transforms (position, rotation, scale) are not taken into account. The result is undefined if index is out of the valid range.

+
Parameters
+ + +
indexIndex of the point to get, in range [0 .. 3]
+
+
+
Returns
index-th point of the shape
+ +

Implements sf::Shape.

+ +
+
+ +

◆ getPointCount()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::size_t sf::RectangleShape::getPointCount () const
+
+virtual
+
+ +

Get the number of points defining the shape.

+
Returns
Number of points of the shape. For rectangle shapes, this number is always 4.
+ +

Implements sf::Shape.

+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getPosition () const
+
+inherited
+
+ +

get the position of the object

+
Returns
Current position
+
See also
setPosition
+ +
+
+ +

◆ getRotation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Transformable::getRotation () const
+
+inherited
+
+ +

get the orientation of the object

+

The rotation is always in the range [0, 360].

+
Returns
Current rotation, in degrees
+
See also
setRotation
+ +
+
+ +

◆ getScale()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getScale () const
+
+inherited
+
+ +

get the current scale of the object

+
Returns
Current scale factors
+
See also
setScale
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + + + +
const Vector2f& sf::RectangleShape::getSize () const
+
+ +

Get the size of the rectangle.

+
Returns
Size of the rectangle
+
See also
setSize
+ +
+
+ +

◆ getTexture()

+ +
+
+ + + + + +
+ + + + + + + +
const Texture* sf::Shape::getTexture () const
+
+inherited
+
+ +

Get the source texture of the shape.

+

If the shape has no source texture, a NULL pointer is returned. The returned pointer is const, which means that you can't modify the texture when you retrieve it with this function.

+
Returns
Pointer to the shape's texture
+
See also
setTexture
+ +
+
+ +

◆ getTextureRect()

+ +
+
+ + + + + +
+ + + + + + + +
const IntRect& sf::Shape::getTextureRect () const
+
+inherited
+
+ +

Get the sub-rectangle of the texture displayed by the shape.

+
Returns
Texture rectangle of the shape
+
See also
setTextureRect
+ +
+
+ +

◆ getTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getTransform () const
+
+inherited
+
+ +

get the combined transform of the object

+
Returns
Transform combining the position/rotation/scale/origin of the object
+
See also
getInverseTransform
+ +
+
+ +

◆ move() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::move (float offsetX,
float offsetY 
)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f pos = object.getPosition();
object.setPosition(pos.x + offsetX, pos.y + offsetY);
Parameters
+ + + +
offsetXX offset
offsetYY offset
+
+
+
See also
setPosition
+ +
+
+ +

◆ move() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::move (const Vector2foffset)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

object.setPosition(object.getPosition() + offset);
Parameters
+ + +
offsetOffset
+
+
+
See also
setPosition
+ +
+
+ +

◆ rotate()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::rotate (float angle)
+
+inherited
+
+ +

Rotate the object.

+

This function adds to the current rotation of the object, unlike setRotation which overwrites it. Thus, it is equivalent to the following code:

object.setRotation(object.getRotation() + angle);
Parameters
+ + +
angleAngle of rotation, in degrees
+
+
+ +
+
+ +

◆ scale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::scale (float factorX,
float factorY 
)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factorX, scale.y * factorY);
Parameters
+ + + +
factorXHorizontal scale factor
factorYVertical scale factor
+
+
+
See also
setScale
+ +
+
+ +

◆ scale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::scale (const Vector2ffactor)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factor.x, scale.y * factor.y);
Parameters
+ + +
factorScale factors
+
+
+
See also
setScale
+ +
+
+ +

◆ setFillColor()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setFillColor (const Colorcolor)
+
+inherited
+
+ +

Set the fill color of the shape.

+

This color is modulated (multiplied) with the shape's texture if any. It can be used to colorize the shape, or change its global opacity. You can use sf::Color::Transparent to make the inside of the shape transparent, and have the outline alone. By default, the shape's fill color is opaque white.

+
Parameters
+ + +
colorNew color of the shape
+
+
+
See also
getFillColor, setOutlineColor
+ +
+
+ +

◆ setOrigin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setOrigin (float x,
float y 
)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new origin
yY coordinate of the new origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOrigin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setOrigin (const Vector2forigin)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + +
originNew origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOutlineColor()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setOutlineColor (const Colorcolor)
+
+inherited
+
+ +

Set the outline color of the shape.

+

By default, the shape's outline color is opaque white.

+
Parameters
+ + +
colorNew outline color of the shape
+
+
+
See also
getOutlineColor, setFillColor
+ +
+
+ +

◆ setOutlineThickness()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setOutlineThickness (float thickness)
+
+inherited
+
+ +

Set the thickness of the shape's outline.

+

Note that negative values are allowed (so that the outline expands towards the center of the shape), and using zero disables the outline. By default, the outline thickness is 0.

+
Parameters
+ + +
thicknessNew outline thickness
+
+
+
See also
getOutlineThickness
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setPosition (float x,
float y 
)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new position
yY coordinate of the new position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setPosition (const Vector2fposition)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + +
positionNew position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setRotation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setRotation (float angle)
+
+inherited
+
+ +

set the orientation of the object

+

This function completely overwrites the previous rotation. See the rotate function to add an angle based on the previous rotation instead. The default rotation of a transformable object is 0.

+
Parameters
+ + +
angleNew rotation, in degrees
+
+
+
See also
rotate, getRotation
+ +
+
+ +

◆ setScale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setScale (float factorX,
float factorY 
)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + + +
factorXNew horizontal scale factor
factorYNew vertical scale factor
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setScale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setScale (const Vector2ffactors)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + +
factorsNew scale factors
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setSize()

+ +
+
+ + + + + + + + +
void sf::RectangleShape::setSize (const Vector2fsize)
+
+ +

Set the size of the rectangle.

+
Parameters
+ + +
sizeNew size of the rectangle
+
+
+
See also
getSize
+ +
+
+ +

◆ setTexture()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Shape::setTexture (const Texturetexture,
bool resetRect = false 
)
+
+inherited
+
+ +

Change the source texture of the shape.

+

The texture argument refers to a texture that must exist as long as the shape uses it. Indeed, the shape doesn't store its own copy of the texture, but rather keeps a pointer to the one that you passed to this function. If the source texture is destroyed and the shape tries to use it, the behavior is undefined. texture can be NULL to disable texturing. If resetRect is true, the TextureRect property of the shape is automatically adjusted to the size of the new texture. If it is false, the texture rect is left unchanged.

+
Parameters
+ + + +
textureNew texture
resetRectShould the texture rect be reset to the size of the new texture?
+
+
+
See also
getTexture, setTextureRect
+ +
+
+ +

◆ setTextureRect()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Shape::setTextureRect (const IntRectrect)
+
+inherited
+
+ +

Set the sub-rectangle of the texture that the shape will display.

+

The texture rect is useful when you don't want to display the whole texture, but rather a part of it. By default, the texture rect covers the entire texture.

+
Parameters
+ + +
rectRectangle defining the region of the texture to display
+
+
+
See also
getTextureRect, setTexture
+ +
+
+ +

◆ update()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Shape::update ()
+
+protectedinherited
+
+ +

Recompute the internal geometry of the shape.

+

This function must be called by the derived class everytime the shape's points change (i.e. the result of either getPointCount or getPoint is different).

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1RectangleShape.png b/SFML/doc/html/classsf_1_1RectangleShape.png new file mode 100644 index 0000000..59630c6 Binary files /dev/null and b/SFML/doc/html/classsf_1_1RectangleShape.png differ diff --git a/SFML/doc/html/classsf_1_1RenderStates-members.html b/SFML/doc/html/classsf_1_1RenderStates-members.html new file mode 100644 index 0000000..58fe9e8 --- /dev/null +++ b/SFML/doc/html/classsf_1_1RenderStates-members.html @@ -0,0 +1,72 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::RenderStates Member List
+
+
+ +

This is the complete list of members for sf::RenderStates, including all inherited members.

+ + + + + + + + + + + + +
blendModesf::RenderStates
Defaultsf::RenderStatesstatic
RenderStates()sf::RenderStates
RenderStates(const BlendMode &theBlendMode)sf::RenderStates
RenderStates(const Transform &theTransform)sf::RenderStates
RenderStates(const Texture *theTexture)sf::RenderStates
RenderStates(const Shader *theShader)sf::RenderStates
RenderStates(const BlendMode &theBlendMode, const Transform &theTransform, const Texture *theTexture, const Shader *theShader)sf::RenderStates
shadersf::RenderStates
texturesf::RenderStates
transformsf::RenderStates
+ + + + diff --git a/SFML/doc/html/classsf_1_1RenderStates.html b/SFML/doc/html/classsf_1_1RenderStates.html new file mode 100644 index 0000000..5afcc42 --- /dev/null +++ b/SFML/doc/html/classsf_1_1RenderStates.html @@ -0,0 +1,409 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Define the states used for drawing to a RenderTarget. + More...

+ +

#include <RenderStates.hpp>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RenderStates ()
 Default constructor. More...
 
 RenderStates (const BlendMode &theBlendMode)
 Construct a default set of render states with a custom blend mode. More...
 
 RenderStates (const Transform &theTransform)
 Construct a default set of render states with a custom transform. More...
 
 RenderStates (const Texture *theTexture)
 Construct a default set of render states with a custom texture. More...
 
 RenderStates (const Shader *theShader)
 Construct a default set of render states with a custom shader. More...
 
 RenderStates (const BlendMode &theBlendMode, const Transform &theTransform, const Texture *theTexture, const Shader *theShader)
 Construct a set of render states with all its attributes. More...
 
+ + + + + + + + + + + + + +

+Public Attributes

BlendMode blendMode
 Blending mode. More...
 
Transform transform
 Transform. More...
 
const Texturetexture
 Texture. More...
 
const Shadershader
 Shader. More...
 
+ + + + +

+Static Public Attributes

static const RenderStates Default
 Special instance holding the default render states. More...
 
+

Detailed Description

+

Define the states used for drawing to a RenderTarget.

+

There are four global states that can be applied to the drawn objects:

+
    +
  • the blend mode: how pixels of the object are blended with the background
  • +
  • the transform: how the object is positioned/rotated/scaled
  • +
  • the texture: what image is mapped to the object
  • +
  • the shader: what custom effect is applied to the object
  • +
+

High-level objects such as sprites or text force some of these states when they are drawn. For example, a sprite will set its own texture, so that you don't have to care about it when drawing the sprite.

+

The transform is a special case: sprites, texts and shapes (and it's a good idea to do it with your own drawable classes too) combine their transform with the one that is passed in the RenderStates structure. So that you can use a "global" transform on top of each object's transform.

+

Most objects, especially high-level drawables, can be drawn directly without defining render states explicitly – the default set of states is ok in most cases.

window.draw(sprite);

If you want to use a single specific render state, for example a shader, you can pass it directly to the Draw function: sf::RenderStates has an implicit one-argument constructor for each state.

window.draw(sprite, shader);

When you're inside the Draw function of a drawable object (inherited from sf::Drawable), you can either pass the render states unmodified, or change some of them. For example, a transformable object will combine the current transform with its own transform. A sprite will set its texture. Etc.

+
See also
sf::RenderTarget, sf::Drawable
+ +

Definition at line 45 of file RenderStates.hpp.

+

Constructor & Destructor Documentation

+ +

◆ RenderStates() [1/6]

+ +
+
+ + + + + + + +
sf::RenderStates::RenderStates ()
+
+ +

Default constructor.

+

Constructing a default set of render states is equivalent to using sf::RenderStates::Default. The default set defines:

    +
  • the BlendAlpha blend mode
  • +
  • the identity transform
  • +
  • a null texture
  • +
  • a null shader
  • +
+ +
+
+ +

◆ RenderStates() [2/6]

+ +
+
+ + + + + + + + +
sf::RenderStates::RenderStates (const BlendModetheBlendMode)
+
+ +

Construct a default set of render states with a custom blend mode.

+
Parameters
+ + +
theBlendModeBlend mode to use
+
+
+ +
+
+ +

◆ RenderStates() [3/6]

+ +
+
+ + + + + + + + +
sf::RenderStates::RenderStates (const TransformtheTransform)
+
+ +

Construct a default set of render states with a custom transform.

+
Parameters
+ + +
theTransformTransform to use
+
+
+ +
+
+ +

◆ RenderStates() [4/6]

+ +
+
+ + + + + + + + +
sf::RenderStates::RenderStates (const TexturetheTexture)
+
+ +

Construct a default set of render states with a custom texture.

+
Parameters
+ + +
theTextureTexture to use
+
+
+ +
+
+ +

◆ RenderStates() [5/6]

+ +
+
+ + + + + + + + +
sf::RenderStates::RenderStates (const ShadertheShader)
+
+ +

Construct a default set of render states with a custom shader.

+
Parameters
+ + +
theShaderShader to use
+
+
+ +
+
+ +

◆ RenderStates() [6/6]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sf::RenderStates::RenderStates (const BlendModetheBlendMode,
const TransformtheTransform,
const TexturetheTexture,
const ShadertheShader 
)
+
+ +

Construct a set of render states with all its attributes.

+
Parameters
+ + + + + +
theBlendModeBlend mode to use
theTransformTransform to use
theTextureTexture to use
theShaderShader to use
+
+
+ +
+
+

Member Data Documentation

+ +

◆ blendMode

+ +
+
+ + + + +
BlendMode sf::RenderStates::blendMode
+
+ +

Blending mode.

+ +

Definition at line 115 of file RenderStates.hpp.

+ +
+
+ +

◆ Default

+ +
+
+ + + + + +
+ + + + +
const RenderStates sf::RenderStates::Default
+
+static
+
+ +

Special instance holding the default render states.

+ +

Definition at line 110 of file RenderStates.hpp.

+ +
+
+ +

◆ shader

+ +
+
+ + + + +
const Shader* sf::RenderStates::shader
+
+ +

Shader.

+ +

Definition at line 118 of file RenderStates.hpp.

+ +
+
+ +

◆ texture

+ +
+
+ + + + +
const Texture* sf::RenderStates::texture
+
+ +

Texture.

+ +

Definition at line 117 of file RenderStates.hpp.

+ +
+
+ +

◆ transform

+ +
+
+ + + + +
Transform sf::RenderStates::transform
+
+ +

Transform.

+ +

Definition at line 116 of file RenderStates.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1RenderTarget-members.html b/SFML/doc/html/classsf_1_1RenderTarget-members.html new file mode 100644 index 0000000..2d4dfdb --- /dev/null +++ b/SFML/doc/html/classsf_1_1RenderTarget-members.html @@ -0,0 +1,84 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::RenderTarget Member List
+
+
+ +

This is the complete list of members for sf::RenderTarget, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
clear(const Color &color=Color(0, 0, 0, 255))sf::RenderTarget
draw(const Drawable &drawable, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const VertexBuffer &vertexBuffer, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const VertexBuffer &vertexBuffer, std::size_t firstVertex, std::size_t vertexCount, const RenderStates &states=RenderStates::Default)sf::RenderTarget
getDefaultView() constsf::RenderTarget
getSize() const =0sf::RenderTargetpure virtual
getView() constsf::RenderTarget
getViewport(const View &view) constsf::RenderTarget
initialize()sf::RenderTargetprotected
mapCoordsToPixel(const Vector2f &point) constsf::RenderTarget
mapCoordsToPixel(const Vector2f &point, const View &view) constsf::RenderTarget
mapPixelToCoords(const Vector2i &point) constsf::RenderTarget
mapPixelToCoords(const Vector2i &point, const View &view) constsf::RenderTarget
NonCopyable()sf::NonCopyableinlineprivate
popGLStates()sf::RenderTarget
pushGLStates()sf::RenderTarget
RenderTarget()sf::RenderTargetprotected
resetGLStates()sf::RenderTarget
setActive(bool active=true)sf::RenderTargetvirtual
setView(const View &view)sf::RenderTarget
~NonCopyable()sf::NonCopyableinlineprivate
~RenderTarget()sf::RenderTargetvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1RenderTarget.html b/SFML/doc/html/classsf_1_1RenderTarget.html new file mode 100644 index 0000000..867e9cb --- /dev/null +++ b/SFML/doc/html/classsf_1_1RenderTarget.html @@ -0,0 +1,822 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::RenderTarget Class Referenceabstract
+
+
+ +

Base class for all render targets (window, texture, ...) + More...

+ +

#include <RenderTarget.hpp>

+
+Inheritance diagram for sf::RenderTarget:
+
+
+ + +sf::NonCopyable +sf::RenderTexture +sf::RenderWindow + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual ~RenderTarget ()
 Destructor. More...
 
void clear (const Color &color=Color(0, 0, 0, 255))
 Clear the entire target with a single color. More...
 
void setView (const View &view)
 Change the current active view. More...
 
const ViewgetView () const
 Get the view currently in use in the render target. More...
 
const ViewgetDefaultView () const
 Get the default view of the render target. More...
 
IntRect getViewport (const View &view) const
 Get the viewport of a view, applied to this render target. More...
 
Vector2f mapPixelToCoords (const Vector2i &point) const
 Convert a point from target coordinates to world coordinates, using the current view. More...
 
Vector2f mapPixelToCoords (const Vector2i &point, const View &view) const
 Convert a point from target coordinates to world coordinates. More...
 
Vector2i mapCoordsToPixel (const Vector2f &point) const
 Convert a point from world coordinates to target coordinates, using the current view. More...
 
Vector2i mapCoordsToPixel (const Vector2f &point, const View &view) const
 Convert a point from world coordinates to target coordinates. More...
 
void draw (const Drawable &drawable, const RenderStates &states=RenderStates::Default)
 Draw a drawable object to the render target. More...
 
void draw (const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by an array of vertices. More...
 
void draw (const VertexBuffer &vertexBuffer, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by a vertex buffer. More...
 
void draw (const VertexBuffer &vertexBuffer, std::size_t firstVertex, std::size_t vertexCount, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by a vertex buffer. More...
 
virtual Vector2u getSize () const =0
 Return the size of the rendering region of the target. More...
 
virtual bool setActive (bool active=true)
 Activate or deactivate the render target for rendering. More...
 
void pushGLStates ()
 Save the current OpenGL render states and matrices. More...
 
void popGLStates ()
 Restore the previously saved OpenGL render states and matrices. More...
 
void resetGLStates ()
 Reset the internal OpenGL states so that the target is ready for drawing. More...
 
+ + + + + + + +

+Protected Member Functions

 RenderTarget ()
 Default constructor. More...
 
void initialize ()
 Performs the common initialization step after creation. More...
 
+

Detailed Description

+

Base class for all render targets (window, texture, ...)

+

sf::RenderTarget defines the common behavior of all the 2D render targets usable in the graphics module.

+

It makes it possible to draw 2D entities like sprites, shapes, text without using any OpenGL command directly.

+

A sf::RenderTarget is also able to use views (sf::View), which are a kind of 2D cameras. With views you can globally scroll, rotate or zoom everything that is drawn, without having to transform every single entity. See the documentation of sf::View for more details and sample pieces of code about this class.

+

On top of that, render targets are still able to render direct OpenGL stuff. It is even possible to mix together OpenGL calls and regular SFML drawing commands. When doing so, make sure that OpenGL states are not messed up by calling the pushGLStates/popGLStates functions.

+
See also
sf::RenderWindow, sf::RenderTexture, sf::View
+ +

Definition at line 52 of file RenderTarget.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ~RenderTarget()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::RenderTarget::~RenderTarget ()
+
+virtual
+
+ +

Destructor.

+ +
+
+ +

◆ RenderTarget()

+ +
+
+ + + + + +
+ + + + + + + +
sf::RenderTarget::RenderTarget ()
+
+protected
+
+ +

Default constructor.

+ +
+
+

Member Function Documentation

+ +

◆ clear()

+ +
+
+ + + + + + + + +
void sf::RenderTarget::clear (const Colorcolor = Color(0, 0, 0, 255))
+
+ +

Clear the entire target with a single color.

+

This function is usually called once every frame, to clear the previous contents of the target.

+
Parameters
+ + +
colorFill color to use to clear the render target
+
+
+ +
+
+ +

◆ draw() [1/4]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const Drawabledrawable,
const RenderStatesstates = RenderStates::Default 
)
+
+ +

Draw a drawable object to the render target.

+
Parameters
+ + + +
drawableObject to draw
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [2/4]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const Vertexvertices,
std::size_t vertexCount,
PrimitiveType type,
const RenderStatesstates = RenderStates::Default 
)
+
+ +

Draw primitives defined by an array of vertices.

+
Parameters
+ + + + + +
verticesPointer to the vertices
vertexCountNumber of vertices in the array
typeType of primitives to draw
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [3/4]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const VertexBuffervertexBuffer,
const RenderStatesstates = RenderStates::Default 
)
+
+ +

Draw primitives defined by a vertex buffer.

+
Parameters
+ + + +
vertexBufferVertex buffer
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [4/4]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const VertexBuffervertexBuffer,
std::size_t firstVertex,
std::size_t vertexCount,
const RenderStatesstates = RenderStates::Default 
)
+
+ +

Draw primitives defined by a vertex buffer.

+
Parameters
+ + + + + +
vertexBufferVertex buffer
firstVertexIndex of the first vertex to render
vertexCountNumber of vertices to render
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ getDefaultView()

+ +
+
+ + + + + + + +
const View& sf::RenderTarget::getDefaultView () const
+
+ +

Get the default view of the render target.

+

The default view has the initial size of the render target, and never changes after the target has been created.

+
Returns
The default view of the render target
+
See also
setView, getView
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Vector2u sf::RenderTarget::getSize () const
+
+pure virtual
+
+ +

Return the size of the rendering region of the target.

+
Returns
Size in pixels
+ +

Implemented in sf::RenderTexture, and sf::RenderWindow.

+ +
+
+ +

◆ getView()

+ +
+
+ + + + + + + +
const View& sf::RenderTarget::getView () const
+
+ +

Get the view currently in use in the render target.

+
Returns
The view object that is currently used
+
See also
setView, getDefaultView
+ +
+
+ +

◆ getViewport()

+ +
+
+ + + + + + + + +
IntRect sf::RenderTarget::getViewport (const Viewview) const
+
+ +

Get the viewport of a view, applied to this render target.

+

The viewport is defined in the view as a ratio, this function simply applies this ratio to the current dimensions of the render target to calculate the pixels rectangle that the viewport actually covers in the target.

+
Parameters
+ + +
viewThe view for which we want to compute the viewport
+
+
+
Returns
Viewport rectangle, expressed in pixels
+ +
+
+ +

◆ initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::initialize ()
+
+protected
+
+ +

Performs the common initialization step after creation.

+

The derived classes must call this function after the target is created and ready for drawing.

+ +
+
+ +

◆ mapCoordsToPixel() [1/2]

+ +
+
+ + + + + + + + +
Vector2i sf::RenderTarget::mapCoordsToPixel (const Vector2fpoint) const
+
+ +

Convert a point from world coordinates to target coordinates, using the current view.

+

This function is an overload of the mapCoordsToPixel function that implicitly uses the current view. It is equivalent to:

target.mapCoordsToPixel(point, target.getView());
Parameters
+ + +
pointPoint to convert
+
+
+
Returns
The converted point, in target coordinates (pixels)
+
See also
mapPixelToCoords
+ +
+
+ +

◆ mapCoordsToPixel() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Vector2i sf::RenderTarget::mapCoordsToPixel (const Vector2fpoint,
const Viewview 
) const
+
+ +

Convert a point from world coordinates to target coordinates.

+

This function finds the pixel of the render target that matches the given 2D point. In other words, it goes through the same process as the graphics card, to compute the final position of a rendered point.

+

Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render target, this assertion is not true anymore, i.e. a point located at (150, 75) in your 2D world may map to the pixel (10, 50) of your render target – if the view is translated by (140, 25).

+

This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render target.

+
Parameters
+ + + +
pointPoint to convert
viewThe view to use for converting the point
+
+
+
Returns
The converted point, in target coordinates (pixels)
+
See also
mapPixelToCoords
+ +
+
+ +

◆ mapPixelToCoords() [1/2]

+ +
+
+ + + + + + + + +
Vector2f sf::RenderTarget::mapPixelToCoords (const Vector2ipoint) const
+
+ +

Convert a point from target coordinates to world coordinates, using the current view.

+

This function is an overload of the mapPixelToCoords function that implicitly uses the current view. It is equivalent to:

target.mapPixelToCoords(point, target.getView());
Parameters
+ + +
pointPixel to convert
+
+
+
Returns
The converted point, in "world" coordinates
+
See also
mapCoordsToPixel
+ +
+
+ +

◆ mapPixelToCoords() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Vector2f sf::RenderTarget::mapPixelToCoords (const Vector2ipoint,
const Viewview 
) const
+
+ +

Convert a point from target coordinates to world coordinates.

+

This function finds the 2D position that matches the given pixel of the render target. In other words, it does the inverse of what the graphics card does, to find the initial position of a rendered pixel.

+

Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render target, this assertion is not true anymore, i.e. a point located at (10, 50) in your render target may map to the point (150, 75) in your 2D world – if the view is translated by (140, 25).

+

For render-windows, this function is typically used to find which point (or object) is located below the mouse cursor.

+

This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render target.

+
Parameters
+ + + +
pointPixel to convert
viewThe view to use for converting the point
+
+
+
Returns
The converted point, in "world" units
+
See also
mapCoordsToPixel
+ +
+
+ +

◆ popGLStates()

+ +
+
+ + + + + + + +
void sf::RenderTarget::popGLStates ()
+
+ +

Restore the previously saved OpenGL render states and matrices.

+

See the description of pushGLStates to get a detailed description of these functions.

+
See also
pushGLStates
+ +
+
+ +

◆ pushGLStates()

+ +
+
+ + + + + + + +
void sf::RenderTarget::pushGLStates ()
+
+ +

Save the current OpenGL render states and matrices.

+

This function can be used when you mix SFML drawing and direct OpenGL rendering. Combined with popGLStates, it ensures that:

    +
  • SFML's internal states are not messed up by your OpenGL code
  • +
  • your OpenGL states are not modified by a call to a SFML function
  • +
+

More specifically, it must be used around code that calls Draw functions. Example:

// OpenGL code here...
window.pushGLStates();
window.draw(...);
window.draw(...);
window.popGLStates();
// OpenGL code here...

Note that this function is quite expensive: it saves all the possible OpenGL states and matrices, even the ones you don't care about. Therefore it should be used wisely. It is provided for convenience, but the best results will be achieved if you handle OpenGL states yourself (because you know which states have really changed, and need to be saved and restored). Take a look at the resetGLStates function if you do so.

+
See also
popGLStates
+ +
+
+ +

◆ resetGLStates()

+ +
+
+ + + + + + + +
void sf::RenderTarget::resetGLStates ()
+
+ +

Reset the internal OpenGL states so that the target is ready for drawing.

+

This function can be used when you mix SFML drawing and direct OpenGL rendering, if you choose not to use pushGLStates/popGLStates. It makes sure that all OpenGL states needed by SFML are set, so that subsequent draw() calls will work as expected.

+

Example:

// OpenGL code here...
glPushAttrib(...);
window.resetGLStates();
window.draw(...);
window.draw(...);
glPopAttrib(...);
// OpenGL code here...
+
+
+ +

◆ setActive()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool sf::RenderTarget::setActive (bool active = true)
+
+virtual
+
+ +

Activate or deactivate the render target for rendering.

+

This function makes the render target's context current for future OpenGL rendering operations (so you shouldn't care about it if you're not doing direct OpenGL stuff). A render target's context is active only on the current thread, if you want to make it active on another thread you have to deactivate it on the previous thread first if it was active. Only one context can be current in a thread, so if you want to draw OpenGL geometry to another render target don't forget to activate it again. Activating a render target will automatically deactivate the previously active context (if any).

+
Parameters
+ + +
activeTrue to activate, false to deactivate
+
+
+
Returns
True if operation was successful, false otherwise
+ +

Reimplemented in sf::RenderTexture, and sf::RenderWindow.

+ +
+
+ +

◆ setView()

+ +
+
+ + + + + + + + +
void sf::RenderTarget::setView (const Viewview)
+
+ +

Change the current active view.

+

The view is like a 2D camera, it controls which part of the 2D scene is visible, and how it is viewed in the render target. The new view will affect everything that is drawn, until another view is set. The render target keeps its own copy of the view object, so it is not necessary to keep the original one alive after calling this function. To restore the original view of the target, you can pass the result of getDefaultView() to this function.

+
Parameters
+ + +
viewNew view to use
+
+
+
See also
getView, getDefaultView
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1RenderTarget.png b/SFML/doc/html/classsf_1_1RenderTarget.png new file mode 100644 index 0000000..3f29acb Binary files /dev/null and b/SFML/doc/html/classsf_1_1RenderTarget.png differ diff --git a/SFML/doc/html/classsf_1_1RenderTexture-members.html b/SFML/doc/html/classsf_1_1RenderTexture-members.html new file mode 100644 index 0000000..e23b3ab --- /dev/null +++ b/SFML/doc/html/classsf_1_1RenderTexture-members.html @@ -0,0 +1,94 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::RenderTexture Member List
+
+
+ +

This is the complete list of members for sf::RenderTexture, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
clear(const Color &color=Color(0, 0, 0, 255))sf::RenderTarget
create(unsigned int width, unsigned int height, bool depthBuffer)sf::RenderTexture
create(unsigned int width, unsigned int height, const ContextSettings &settings=ContextSettings())sf::RenderTexture
display()sf::RenderTexture
draw(const Drawable &drawable, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const VertexBuffer &vertexBuffer, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const VertexBuffer &vertexBuffer, std::size_t firstVertex, std::size_t vertexCount, const RenderStates &states=RenderStates::Default)sf::RenderTarget
generateMipmap()sf::RenderTexture
getDefaultView() constsf::RenderTarget
getMaximumAntialiasingLevel()sf::RenderTexturestatic
getSize() constsf::RenderTexturevirtual
getTexture() constsf::RenderTexture
getView() constsf::RenderTarget
getViewport(const View &view) constsf::RenderTarget
initialize()sf::RenderTargetprotected
isRepeated() constsf::RenderTexture
isSmooth() constsf::RenderTexture
mapCoordsToPixel(const Vector2f &point) constsf::RenderTarget
mapCoordsToPixel(const Vector2f &point, const View &view) constsf::RenderTarget
mapPixelToCoords(const Vector2i &point) constsf::RenderTarget
mapPixelToCoords(const Vector2i &point, const View &view) constsf::RenderTarget
popGLStates()sf::RenderTarget
pushGLStates()sf::RenderTarget
RenderTarget()sf::RenderTargetprotected
RenderTexture()sf::RenderTexture
resetGLStates()sf::RenderTarget
setActive(bool active=true)sf::RenderTexturevirtual
setRepeated(bool repeated)sf::RenderTexture
setSmooth(bool smooth)sf::RenderTexture
setView(const View &view)sf::RenderTarget
~RenderTarget()sf::RenderTargetvirtual
~RenderTexture()sf::RenderTexturevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1RenderTexture.html b/SFML/doc/html/classsf_1_1RenderTexture.html new file mode 100644 index 0000000..fda80b0 --- /dev/null +++ b/SFML/doc/html/classsf_1_1RenderTexture.html @@ -0,0 +1,1264 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Target for off-screen 2D rendering into a texture. + More...

+ +

#include <RenderTexture.hpp>

+
+Inheritance diagram for sf::RenderTexture:
+
+
+ + +sf::RenderTarget +sf::NonCopyable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RenderTexture ()
 Default constructor. More...
 
virtual ~RenderTexture ()
 Destructor. More...
 
bool create (unsigned int width, unsigned int height, bool depthBuffer)
 Create the render-texture. More...
 
bool create (unsigned int width, unsigned int height, const ContextSettings &settings=ContextSettings())
 Create the render-texture. More...
 
void setSmooth (bool smooth)
 Enable or disable texture smoothing. More...
 
bool isSmooth () const
 Tell whether the smooth filtering is enabled or not. More...
 
void setRepeated (bool repeated)
 Enable or disable texture repeating. More...
 
bool isRepeated () const
 Tell whether the texture is repeated or not. More...
 
bool generateMipmap ()
 Generate a mipmap using the current texture data. More...
 
bool setActive (bool active=true)
 Activate or deactivate the render-texture for rendering. More...
 
void display ()
 Update the contents of the target texture. More...
 
virtual Vector2u getSize () const
 Return the size of the rendering region of the texture. More...
 
const TexturegetTexture () const
 Get a read-only reference to the target texture. More...
 
void clear (const Color &color=Color(0, 0, 0, 255))
 Clear the entire target with a single color. More...
 
void setView (const View &view)
 Change the current active view. More...
 
const ViewgetView () const
 Get the view currently in use in the render target. More...
 
const ViewgetDefaultView () const
 Get the default view of the render target. More...
 
IntRect getViewport (const View &view) const
 Get the viewport of a view, applied to this render target. More...
 
Vector2f mapPixelToCoords (const Vector2i &point) const
 Convert a point from target coordinates to world coordinates, using the current view. More...
 
Vector2f mapPixelToCoords (const Vector2i &point, const View &view) const
 Convert a point from target coordinates to world coordinates. More...
 
Vector2i mapCoordsToPixel (const Vector2f &point) const
 Convert a point from world coordinates to target coordinates, using the current view. More...
 
Vector2i mapCoordsToPixel (const Vector2f &point, const View &view) const
 Convert a point from world coordinates to target coordinates. More...
 
void draw (const Drawable &drawable, const RenderStates &states=RenderStates::Default)
 Draw a drawable object to the render target. More...
 
void draw (const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by an array of vertices. More...
 
void draw (const VertexBuffer &vertexBuffer, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by a vertex buffer. More...
 
void draw (const VertexBuffer &vertexBuffer, std::size_t firstVertex, std::size_t vertexCount, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by a vertex buffer. More...
 
void pushGLStates ()
 Save the current OpenGL render states and matrices. More...
 
void popGLStates ()
 Restore the previously saved OpenGL render states and matrices. More...
 
void resetGLStates ()
 Reset the internal OpenGL states so that the target is ready for drawing. More...
 
+ + + + +

+Static Public Member Functions

static unsigned int getMaximumAntialiasingLevel ()
 Get the maximum anti-aliasing level supported by the system. More...
 
+ + + + +

+Protected Member Functions

void initialize ()
 Performs the common initialization step after creation. More...
 
+

Detailed Description

+

Target for off-screen 2D rendering into a texture.

+

sf::RenderTexture is the little brother of sf::RenderWindow.

+

It implements the same 2D drawing and OpenGL-related functions (see their base class sf::RenderTarget for more details), the difference is that the result is stored in an off-screen texture rather than being show in a window.

+

Rendering to a texture can be useful in a variety of situations:

    +
  • precomputing a complex static texture (like a level's background from multiple tiles)
  • +
  • applying post-effects to the whole scene with shaders
  • +
  • creating a sprite from a 3D object rendered with OpenGL
  • +
  • etc.
  • +
+

Usage example:

+
// Create a new render-window
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
// Create a new render-texture
if (!texture.create(500, 500))
return -1;
// The main loop
while (window.isOpen())
{
// Event processing
// ...
// Clear the whole texture with red color
// Draw stuff to the texture
texture.draw(sprite); // sprite is a sf::Sprite
texture.draw(shape); // shape is a sf::Shape
texture.draw(text); // text is a sf::Text
// We're done drawing to the texture
texture.display();
// Now we start rendering to the window, clear it first
window.clear();
// Draw the texture
sf::Sprite sprite(texture.getTexture());
window.draw(sprite);
// End the current frame and display its contents on screen
window.display();
}

Like sf::RenderWindow, sf::RenderTexture is still able to render direct OpenGL stuff. It is even possible to mix together OpenGL calls and regular SFML drawing commands. If you need a depth buffer for 3D rendering, don't forget to request it when calling RenderTexture::create.

+
See also
sf::RenderTarget, sf::RenderWindow, sf::View, sf::Texture
+ +

Definition at line 48 of file RenderTexture.hpp.

+

Constructor & Destructor Documentation

+ +

◆ RenderTexture()

+ +
+
+ + + + + + + +
sf::RenderTexture::RenderTexture ()
+
+ +

Default constructor.

+

Constructs an empty, invalid render-texture. You must call create to have a valid render-texture.

+
See also
create
+ +
+
+ +

◆ ~RenderTexture()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::RenderTexture::~RenderTexture ()
+
+virtual
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::RenderTarget::clear (const Colorcolor = Color(0, 0, 0, 255))
+
+inherited
+
+ +

Clear the entire target with a single color.

+

This function is usually called once every frame, to clear the previous contents of the target.

+
Parameters
+ + +
colorFill color to use to clear the render target
+
+
+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::RenderTexture::create (unsigned int width,
unsigned int height,
bool depthBuffer 
)
+
+ +

Create the render-texture.

+

Before calling this function, the render-texture is in an invalid state, thus it is mandatory to call it before doing anything with the render-texture. The last parameter, depthBuffer, is useful if you want to use the render-texture for 3D OpenGL rendering that requires a depth buffer. Otherwise it is unnecessary, and you should leave this parameter to false (which is its default value).

+
Parameters
+ + + + +
widthWidth of the render-texture
heightHeight of the render-texture
depthBufferDo you want this render-texture to have a depth buffer?
+
+
+
Returns
True if creation has been successful
+
Deprecated:
Use create(unsigned int, unsigned int, const ContextSettings&) instead.
+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::RenderTexture::create (unsigned int width,
unsigned int height,
const ContextSettingssettings = ContextSettings() 
)
+
+ +

Create the render-texture.

+

Before calling this function, the render-texture is in an invalid state, thus it is mandatory to call it before doing anything with the render-texture. The last parameter, settings, is useful if you want to enable multi-sampling or use the render-texture for OpenGL rendering that requires a depth or stencil buffer. Otherwise it is unnecessary, and you should leave this parameter at its default value.

+
Parameters
+ + + + +
widthWidth of the render-texture
heightHeight of the render-texture
settingsAdditional settings for the underlying OpenGL texture and context
+
+
+
Returns
True if creation has been successful
+ +
+
+ +

◆ display()

+ +
+
+ + + + + + + +
void sf::RenderTexture::display ()
+
+ +

Update the contents of the target texture.

+

This function updates the target texture with what has been drawn so far. Like for windows, calling this function is mandatory at the end of rendering. Not calling it may leave the texture in an undefined state.

+ +
+
+ +

◆ draw() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const Drawabledrawable,
const RenderStatesstates = RenderStates::Default 
)
+
+inherited
+
+ +

Draw a drawable object to the render target.

+
Parameters
+ + + +
drawableObject to draw
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const Vertexvertices,
std::size_t vertexCount,
PrimitiveType type,
const RenderStatesstates = RenderStates::Default 
)
+
+inherited
+
+ +

Draw primitives defined by an array of vertices.

+
Parameters
+ + + + + +
verticesPointer to the vertices
vertexCountNumber of vertices in the array
typeType of primitives to draw
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const VertexBuffervertexBuffer,
const RenderStatesstates = RenderStates::Default 
)
+
+inherited
+
+ +

Draw primitives defined by a vertex buffer.

+
Parameters
+ + + +
vertexBufferVertex buffer
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const VertexBuffervertexBuffer,
std::size_t firstVertex,
std::size_t vertexCount,
const RenderStatesstates = RenderStates::Default 
)
+
+inherited
+
+ +

Draw primitives defined by a vertex buffer.

+
Parameters
+ + + + + +
vertexBufferVertex buffer
firstVertexIndex of the first vertex to render
vertexCountNumber of vertices to render
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ generateMipmap()

+ +
+
+ + + + + + + +
bool sf::RenderTexture::generateMipmap ()
+
+ +

Generate a mipmap using the current texture data.

+

This function is similar to Texture::generateMipmap and operates on the texture used as the target for drawing. Be aware that any draw operation may modify the base level image data. For this reason, calling this function only makes sense after all drawing is completed and display has been called. Not calling display after subsequent drawing will lead to undefined behavior if a mipmap had been previously generated.

+
Returns
True if mipmap generation was successful, false if unsuccessful
+ +
+
+ +

◆ getDefaultView()

+ +
+
+ + + + + +
+ + + + + + + +
const View& sf::RenderTarget::getDefaultView () const
+
+inherited
+
+ +

Get the default view of the render target.

+

The default view has the initial size of the render target, and never changes after the target has been created.

+
Returns
The default view of the render target
+
See also
setView, getView
+ +
+
+ +

◆ getMaximumAntialiasingLevel()

+ +
+
+ + + + + +
+ + + + + + + +
static unsigned int sf::RenderTexture::getMaximumAntialiasingLevel ()
+
+static
+
+ +

Get the maximum anti-aliasing level supported by the system.

+
Returns
The maximum anti-aliasing level supported by the system
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Vector2u sf::RenderTexture::getSize () const
+
+virtual
+
+ +

Return the size of the rendering region of the texture.

+

The returned value is the size that you passed to the create function.

+
Returns
Size in pixels
+ +

Implements sf::RenderTarget.

+ +
+
+ +

◆ getTexture()

+ +
+
+ + + + + + + +
const Texture& sf::RenderTexture::getTexture () const
+
+ +

Get a read-only reference to the target texture.

+

After drawing to the render-texture and calling Display, you can retrieve the updated texture using this function, and draw it using a sprite (for example). The internal sf::Texture of a render-texture is always the same instance, so that it is possible to call this function once and keep a reference to the texture even after it is modified.

+
Returns
Const reference to the texture
+ +
+
+ +

◆ getView()

+ +
+
+ + + + + +
+ + + + + + + +
const View& sf::RenderTarget::getView () const
+
+inherited
+
+ +

Get the view currently in use in the render target.

+
Returns
The view object that is currently used
+
See also
setView, getDefaultView
+ +
+
+ +

◆ getViewport()

+ +
+
+ + + + + +
+ + + + + + + + +
IntRect sf::RenderTarget::getViewport (const Viewview) const
+
+inherited
+
+ +

Get the viewport of a view, applied to this render target.

+

The viewport is defined in the view as a ratio, this function simply applies this ratio to the current dimensions of the render target to calculate the pixels rectangle that the viewport actually covers in the target.

+
Parameters
+ + +
viewThe view for which we want to compute the viewport
+
+
+
Returns
Viewport rectangle, expressed in pixels
+ +
+
+ +

◆ initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::initialize ()
+
+protectedinherited
+
+ +

Performs the common initialization step after creation.

+

The derived classes must call this function after the target is created and ready for drawing.

+ +
+
+ +

◆ isRepeated()

+ +
+
+ + + + + + + +
bool sf::RenderTexture::isRepeated () const
+
+ +

Tell whether the texture is repeated or not.

+
Returns
True if texture is repeated
+
See also
setRepeated
+ +
+
+ +

◆ isSmooth()

+ +
+
+ + + + + + + +
bool sf::RenderTexture::isSmooth () const
+
+ +

Tell whether the smooth filtering is enabled or not.

+
Returns
True if texture smoothing is enabled
+
See also
setSmooth
+ +
+
+ +

◆ mapCoordsToPixel() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
Vector2i sf::RenderTarget::mapCoordsToPixel (const Vector2fpoint) const
+
+inherited
+
+ +

Convert a point from world coordinates to target coordinates, using the current view.

+

This function is an overload of the mapCoordsToPixel function that implicitly uses the current view. It is equivalent to:

target.mapCoordsToPixel(point, target.getView());
Parameters
+ + +
pointPoint to convert
+
+
+
Returns
The converted point, in target coordinates (pixels)
+
See also
mapPixelToCoords
+ +
+
+ +

◆ mapCoordsToPixel() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2i sf::RenderTarget::mapCoordsToPixel (const Vector2fpoint,
const Viewview 
) const
+
+inherited
+
+ +

Convert a point from world coordinates to target coordinates.

+

This function finds the pixel of the render target that matches the given 2D point. In other words, it goes through the same process as the graphics card, to compute the final position of a rendered point.

+

Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render target, this assertion is not true anymore, i.e. a point located at (150, 75) in your 2D world may map to the pixel (10, 50) of your render target – if the view is translated by (140, 25).

+

This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render target.

+
Parameters
+ + + +
pointPoint to convert
viewThe view to use for converting the point
+
+
+
Returns
The converted point, in target coordinates (pixels)
+
See also
mapPixelToCoords
+ +
+
+ +

◆ mapPixelToCoords() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
Vector2f sf::RenderTarget::mapPixelToCoords (const Vector2ipoint) const
+
+inherited
+
+ +

Convert a point from target coordinates to world coordinates, using the current view.

+

This function is an overload of the mapPixelToCoords function that implicitly uses the current view. It is equivalent to:

target.mapPixelToCoords(point, target.getView());
Parameters
+ + +
pointPixel to convert
+
+
+
Returns
The converted point, in "world" coordinates
+
See also
mapCoordsToPixel
+ +
+
+ +

◆ mapPixelToCoords() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2f sf::RenderTarget::mapPixelToCoords (const Vector2ipoint,
const Viewview 
) const
+
+inherited
+
+ +

Convert a point from target coordinates to world coordinates.

+

This function finds the 2D position that matches the given pixel of the render target. In other words, it does the inverse of what the graphics card does, to find the initial position of a rendered pixel.

+

Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render target, this assertion is not true anymore, i.e. a point located at (10, 50) in your render target may map to the point (150, 75) in your 2D world – if the view is translated by (140, 25).

+

For render-windows, this function is typically used to find which point (or object) is located below the mouse cursor.

+

This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render target.

+
Parameters
+ + + +
pointPixel to convert
viewThe view to use for converting the point
+
+
+
Returns
The converted point, in "world" units
+
See also
mapCoordsToPixel
+ +
+
+ +

◆ popGLStates()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::popGLStates ()
+
+inherited
+
+ +

Restore the previously saved OpenGL render states and matrices.

+

See the description of pushGLStates to get a detailed description of these functions.

+
See also
pushGLStates
+ +
+
+ +

◆ pushGLStates()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::pushGLStates ()
+
+inherited
+
+ +

Save the current OpenGL render states and matrices.

+

This function can be used when you mix SFML drawing and direct OpenGL rendering. Combined with popGLStates, it ensures that:

    +
  • SFML's internal states are not messed up by your OpenGL code
  • +
  • your OpenGL states are not modified by a call to a SFML function
  • +
+

More specifically, it must be used around code that calls Draw functions. Example:

// OpenGL code here...
window.pushGLStates();
window.draw(...);
window.draw(...);
window.popGLStates();
// OpenGL code here...

Note that this function is quite expensive: it saves all the possible OpenGL states and matrices, even the ones you don't care about. Therefore it should be used wisely. It is provided for convenience, but the best results will be achieved if you handle OpenGL states yourself (because you know which states have really changed, and need to be saved and restored). Take a look at the resetGLStates function if you do so.

+
See also
popGLStates
+ +
+
+ +

◆ resetGLStates()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::resetGLStates ()
+
+inherited
+
+ +

Reset the internal OpenGL states so that the target is ready for drawing.

+

This function can be used when you mix SFML drawing and direct OpenGL rendering, if you choose not to use pushGLStates/popGLStates. It makes sure that all OpenGL states needed by SFML are set, so that subsequent draw() calls will work as expected.

+

Example:

// OpenGL code here...
glPushAttrib(...);
window.resetGLStates();
window.draw(...);
window.draw(...);
glPopAttrib(...);
// OpenGL code here...
+
+
+ +

◆ setActive()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sf::RenderTexture::setActive (bool active = true)
+
+virtual
+
+ +

Activate or deactivate the render-texture for rendering.

+

This function makes the render-texture's context current for future OpenGL rendering operations (so you shouldn't care about it if you're not doing direct OpenGL stuff). Only one context can be current in a thread, so if you want to draw OpenGL geometry to another render target (like a RenderWindow) don't forget to activate it again.

+
Parameters
+ + +
activeTrue to activate, false to deactivate
+
+
+
Returns
True if operation was successful, false otherwise
+ +

Reimplemented from sf::RenderTarget.

+ +
+
+ +

◆ setRepeated()

+ +
+
+ + + + + + + + +
void sf::RenderTexture::setRepeated (bool repeated)
+
+ +

Enable or disable texture repeating.

+

This function is similar to Texture::setRepeated. This parameter is disabled by default.

+
Parameters
+ + +
repeatedTrue to enable repeating, false to disable it
+
+
+
See also
isRepeated
+ +
+
+ +

◆ setSmooth()

+ +
+
+ + + + + + + + +
void sf::RenderTexture::setSmooth (bool smooth)
+
+ +

Enable or disable texture smoothing.

+

This function is similar to Texture::setSmooth. This parameter is disabled by default.

+
Parameters
+ + +
smoothTrue to enable smoothing, false to disable it
+
+
+
See also
isSmooth
+ +
+
+ +

◆ setView()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::RenderTarget::setView (const Viewview)
+
+inherited
+
+ +

Change the current active view.

+

The view is like a 2D camera, it controls which part of the 2D scene is visible, and how it is viewed in the render target. The new view will affect everything that is drawn, until another view is set. The render target keeps its own copy of the view object, so it is not necessary to keep the original one alive after calling this function. To restore the original view of the target, you can pass the result of getDefaultView() to this function.

+
Parameters
+ + +
viewNew view to use
+
+
+
See also
getView, getDefaultView
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1RenderTexture.png b/SFML/doc/html/classsf_1_1RenderTexture.png new file mode 100644 index 0000000..6ac1289 Binary files /dev/null and b/SFML/doc/html/classsf_1_1RenderTexture.png differ diff --git a/SFML/doc/html/classsf_1_1RenderWindow-members.html b/SFML/doc/html/classsf_1_1RenderWindow-members.html new file mode 100644 index 0000000..f5b2299 --- /dev/null +++ b/SFML/doc/html/classsf_1_1RenderWindow-members.html @@ -0,0 +1,120 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::RenderWindow Member List
+
+
+ +

This is the complete list of members for sf::RenderWindow, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
capture() constsf::RenderWindow
clear(const Color &color=Color(0, 0, 0, 255))sf::RenderTarget
close()sf::Window
create(VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())sf::Window
create(WindowHandle handle, const ContextSettings &settings=ContextSettings())sf::Window
display()sf::Window
draw(const Drawable &drawable, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const VertexBuffer &vertexBuffer, const RenderStates &states=RenderStates::Default)sf::RenderTarget
draw(const VertexBuffer &vertexBuffer, std::size_t firstVertex, std::size_t vertexCount, const RenderStates &states=RenderStates::Default)sf::RenderTarget
getDefaultView() constsf::RenderTarget
getPosition() constsf::Window
getSettings() constsf::Window
getSize() constsf::RenderWindowvirtual
getSystemHandle() constsf::Window
getView() constsf::RenderTarget
getViewport(const View &view) constsf::RenderTarget
hasFocus() constsf::Window
initialize()sf::RenderTargetprotected
isOpen() constsf::Window
mapCoordsToPixel(const Vector2f &point) constsf::RenderTarget
mapCoordsToPixel(const Vector2f &point, const View &view) constsf::RenderTarget
mapPixelToCoords(const Vector2i &point) constsf::RenderTarget
mapPixelToCoords(const Vector2i &point, const View &view) constsf::RenderTarget
NonCopyable()sf::NonCopyableinlineprotected
onCreate()sf::RenderWindowprotectedvirtual
onResize()sf::RenderWindowprotectedvirtual
pollEvent(Event &event)sf::Window
popGLStates()sf::RenderTarget
pushGLStates()sf::RenderTarget
RenderTarget()sf::RenderTargetprotected
RenderWindow()sf::RenderWindow
RenderWindow(VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())sf::RenderWindow
RenderWindow(WindowHandle handle, const ContextSettings &settings=ContextSettings())sf::RenderWindowexplicit
requestFocus()sf::Window
resetGLStates()sf::RenderTarget
setActive(bool active=true)sf::RenderWindowvirtual
sf::Window::setActive(bool active=true) constsf::Window
setFramerateLimit(unsigned int limit)sf::Window
setIcon(unsigned int width, unsigned int height, const Uint8 *pixels)sf::Window
setJoystickThreshold(float threshold)sf::Window
setKeyRepeatEnabled(bool enabled)sf::Window
setMouseCursor(const Cursor &cursor)sf::Window
setMouseCursorGrabbed(bool grabbed)sf::Window
setMouseCursorVisible(bool visible)sf::Window
setPosition(const Vector2i &position)sf::Window
setSize(const Vector2u &size)sf::Window
setTitle(const String &title)sf::Window
setVerticalSyncEnabled(bool enabled)sf::Window
setView(const View &view)sf::RenderTarget
setVisible(bool visible)sf::Window
waitEvent(Event &event)sf::Window
Window()sf::Window
Window(VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())sf::Window
Window(WindowHandle handle, const ContextSettings &settings=ContextSettings())sf::Windowexplicit
~NonCopyable()sf::NonCopyableinlineprotected
~RenderTarget()sf::RenderTargetvirtual
~RenderWindow()sf::RenderWindowvirtual
~Window()sf::Windowvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1RenderWindow.html b/SFML/doc/html/classsf_1_1RenderWindow.html new file mode 100644 index 0000000..4b79f2d --- /dev/null +++ b/SFML/doc/html/classsf_1_1RenderWindow.html @@ -0,0 +1,2116 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Window that can serve as a target for 2D drawing. + More...

+ +

#include <RenderWindow.hpp>

+
+Inheritance diagram for sf::RenderWindow:
+
+
+ + +sf::Window +sf::RenderTarget +sf::GlResource +sf::NonCopyable +sf::NonCopyable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RenderWindow ()
 Default constructor. More...
 
 RenderWindow (VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())
 Construct a new window. More...
 
 RenderWindow (WindowHandle handle, const ContextSettings &settings=ContextSettings())
 Construct the window from an existing control. More...
 
virtual ~RenderWindow ()
 Destructor. More...
 
virtual Vector2u getSize () const
 Get the size of the rendering region of the window. More...
 
bool setActive (bool active=true)
 Activate or deactivate the window as the current target for OpenGL rendering. More...
 
Image capture () const
 Copy the current contents of the window to an image. More...
 
void create (VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())
 Create (or recreate) the window. More...
 
void create (WindowHandle handle, const ContextSettings &settings=ContextSettings())
 Create (or recreate) the window from an existing control. More...
 
void close ()
 Close the window and destroy all the attached resources. More...
 
bool isOpen () const
 Tell whether or not the window is open. More...
 
const ContextSettingsgetSettings () const
 Get the settings of the OpenGL context of the window. More...
 
bool pollEvent (Event &event)
 Pop the event on top of the event queue, if any, and return it. More...
 
bool waitEvent (Event &event)
 Wait for an event and return it. More...
 
Vector2i getPosition () const
 Get the position of the window. More...
 
void setPosition (const Vector2i &position)
 Change the position of the window on screen. More...
 
void setSize (const Vector2u &size)
 Change the size of the rendering region of the window. More...
 
void setTitle (const String &title)
 Change the title of the window. More...
 
void setIcon (unsigned int width, unsigned int height, const Uint8 *pixels)
 Change the window's icon. More...
 
void setVisible (bool visible)
 Show or hide the window. More...
 
void setVerticalSyncEnabled (bool enabled)
 Enable or disable vertical synchronization. More...
 
void setMouseCursorVisible (bool visible)
 Show or hide the mouse cursor. More...
 
void setMouseCursorGrabbed (bool grabbed)
 Grab or release the mouse cursor. More...
 
void setMouseCursor (const Cursor &cursor)
 Set the displayed cursor to a native system cursor. More...
 
void setKeyRepeatEnabled (bool enabled)
 Enable or disable automatic key-repeat. More...
 
void setFramerateLimit (unsigned int limit)
 Limit the framerate to a maximum fixed frequency. More...
 
void setJoystickThreshold (float threshold)
 Change the joystick threshold. More...
 
bool setActive (bool active=true) const
 Activate or deactivate the window as the current target for OpenGL rendering. More...
 
void requestFocus ()
 Request the current window to be made the active foreground window. More...
 
bool hasFocus () const
 Check whether the window has the input focus. More...
 
void display ()
 Display on screen what has been rendered to the window so far. More...
 
WindowHandle getSystemHandle () const
 Get the OS-specific handle of the window. More...
 
void clear (const Color &color=Color(0, 0, 0, 255))
 Clear the entire target with a single color. More...
 
void setView (const View &view)
 Change the current active view. More...
 
const ViewgetView () const
 Get the view currently in use in the render target. More...
 
const ViewgetDefaultView () const
 Get the default view of the render target. More...
 
IntRect getViewport (const View &view) const
 Get the viewport of a view, applied to this render target. More...
 
Vector2f mapPixelToCoords (const Vector2i &point) const
 Convert a point from target coordinates to world coordinates, using the current view. More...
 
Vector2f mapPixelToCoords (const Vector2i &point, const View &view) const
 Convert a point from target coordinates to world coordinates. More...
 
Vector2i mapCoordsToPixel (const Vector2f &point) const
 Convert a point from world coordinates to target coordinates, using the current view. More...
 
Vector2i mapCoordsToPixel (const Vector2f &point, const View &view) const
 Convert a point from world coordinates to target coordinates. More...
 
void draw (const Drawable &drawable, const RenderStates &states=RenderStates::Default)
 Draw a drawable object to the render target. More...
 
void draw (const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by an array of vertices. More...
 
void draw (const VertexBuffer &vertexBuffer, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by a vertex buffer. More...
 
void draw (const VertexBuffer &vertexBuffer, std::size_t firstVertex, std::size_t vertexCount, const RenderStates &states=RenderStates::Default)
 Draw primitives defined by a vertex buffer. More...
 
void pushGLStates ()
 Save the current OpenGL render states and matrices. More...
 
void popGLStates ()
 Restore the previously saved OpenGL render states and matrices. More...
 
void resetGLStates ()
 Reset the internal OpenGL states so that the target is ready for drawing. More...
 
+ + + + + + + + + + +

+Protected Member Functions

virtual void onCreate ()
 Function called after the window has been created. More...
 
virtual void onResize ()
 Function called after the window has been resized. More...
 
void initialize ()
 Performs the common initialization step after creation. More...
 
+

Detailed Description

+

Window that can serve as a target for 2D drawing.

+

sf::RenderWindow is the main class of the Graphics module.

+

It defines an OS window that can be painted using the other classes of the graphics module.

+

sf::RenderWindow is derived from sf::Window, thus it inherits all its features: events, window management, OpenGL rendering, etc. See the documentation of sf::Window for a more complete description of all these features, as well as code examples.

+

On top of that, sf::RenderWindow adds more features related to 2D drawing with the graphics module (see its base class sf::RenderTarget for more details). Here is a typical rendering and event loop with a sf::RenderWindow:

+
// Declare and create a new render-window
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
// Limit the framerate to 60 frames per second (this step is optional)
window.setFramerateLimit(60);
// The main loop - ends as soon as the window is closed
while (window.isOpen())
{
// Event processing
sf::Event event;
while (window.pollEvent(event))
{
// Request for closing the window
if (event.type == sf::Event::Closed)
window.close();
}
// Clear the whole window before rendering a new frame
window.clear();
// Draw some graphical entities
window.draw(sprite);
window.draw(circle);
window.draw(text);
// End the current frame and display its contents on screen
window.display();
}

Like sf::Window, sf::RenderWindow is still able to render direct OpenGL stuff. It is even possible to mix together OpenGL calls and regular SFML drawing commands.

+
// Create the render window
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML OpenGL");
// Create a sprite and a text to display
sf::Sprite sprite;
sf::Text text;
...
// Perform OpenGL initializations
glMatrixMode(GL_PROJECTION);
...
// Start the rendering loop
while (window.isOpen())
{
// Process events
...
// Draw a background sprite
window.pushGLStates();
window.draw(sprite);
window.popGLStates();
// Draw a 3D object using OpenGL
glBegin(GL_QUADS);
glVertex3f(...);
...
glEnd();
// Draw text on top of the 3D object
window.pushGLStates();
window.draw(text);
window.popGLStates();
// Finally, display the rendered frame on screen
window.display();
}
See also
sf::Window, sf::RenderTarget, sf::RenderTexture, sf::View
+ +

Definition at line 44 of file RenderWindow.hpp.

+

Constructor & Destructor Documentation

+ +

◆ RenderWindow() [1/3]

+ +
+
+ + + + + + + +
sf::RenderWindow::RenderWindow ()
+
+ +

Default constructor.

+

This constructor doesn't actually create the window, use the other constructors or call create() to do so.

+ +
+
+ +

◆ RenderWindow() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sf::RenderWindow::RenderWindow (VideoMode mode,
const Stringtitle,
Uint32 style = Style::Default,
const ContextSettingssettings = ContextSettings() 
)
+
+ +

Construct a new window.

+

This constructor creates the window with the size and pixel depth defined in mode. An optional style can be passed to customize the look and behavior of the window (borders, title bar, resizable, closable, ...).

+

The fourth parameter is an optional structure specifying advanced OpenGL context settings such as antialiasing, depth-buffer bits, etc. You shouldn't care about these parameters for a regular usage of the graphics module.

+
Parameters
+ + + + + +
modeVideo mode to use (defines the width, height and depth of the rendering area of the window)
titleTitle of the window
styleWindow style, a bitwise OR combination of sf::Style enumerators
settingsAdditional settings for the underlying OpenGL context
+
+
+ +
+
+ +

◆ RenderWindow() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
sf::RenderWindow::RenderWindow (WindowHandle handle,
const ContextSettingssettings = ContextSettings() 
)
+
+explicit
+
+ +

Construct the window from an existing control.

+

Use this constructor if you want to create an SFML rendering area into an already existing control.

+

The second parameter is an optional structure specifying advanced OpenGL context settings such as antialiasing, depth-buffer bits, etc. You shouldn't care about these parameters for a regular usage of the graphics module.

+
Parameters
+ + + +
handlePlatform-specific handle of the control (HWND on Windows, Window on Linux/FreeBSD, NSWindow on OS X)
settingsAdditional settings for the underlying OpenGL context
+
+
+ +
+
+ +

◆ ~RenderWindow()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::RenderWindow::~RenderWindow ()
+
+virtual
+
+ +

Destructor.

+

Closes the window and frees all the resources attached to it.

+ +
+
+

Member Function Documentation

+ +

◆ capture()

+ +
+
+ + + + + + + +
Image sf::RenderWindow::capture () const
+
+ +

Copy the current contents of the window to an image.

+
Deprecated:
Use a sf::Texture and its sf::Texture::update(const Window&) function and copy its contents into an sf::Image instead.
+
sf::Vector2u windowSize = window.getSize();
sf::Texture texture;
texture.create(windowSize.x, windowSize.y);
texture.update(window);
sf::Image screenshot = texture.copyToImage();

This is a slow operation, whose main purpose is to make screenshots of the application. If you want to update an image with the contents of the window and then use it for drawing, you should rather use a sf::Texture and its update(Window&) function. You can also draw things directly to a texture with the sf::RenderTexture class.

+
Returns
Image containing the captured contents
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::RenderTarget::clear (const Colorcolor = Color(0, 0, 0, 255))
+
+inherited
+
+ +

Clear the entire target with a single color.

+

This function is usually called once every frame, to clear the previous contents of the target.

+
Parameters
+ + +
colorFill color to use to clear the render target
+
+
+ +
+
+ +

◆ close()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Window::close ()
+
+inherited
+
+ +

Close the window and destroy all the attached resources.

+

After calling this function, the sf::Window instance remains valid and you can call create() to recreate the window. All other functions such as pollEvent() or display() will still work (i.e. you don't have to test isOpen() every time), and will have no effect on closed windows.

+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Window::create (VideoMode mode,
const Stringtitle,
Uint32 style = Style::Default,
const ContextSettingssettings = ContextSettings() 
)
+
+inherited
+
+ +

Create (or recreate) the window.

+

If the window was already created, it closes it first. If style contains Style::Fullscreen, then mode must be a valid video mode.

+

The fourth parameter is an optional structure specifying advanced OpenGL context settings such as antialiasing, depth-buffer bits, etc.

+
Parameters
+ + + + + +
modeVideo mode to use (defines the width, height and depth of the rendering area of the window)
titleTitle of the window
styleWindow style, a bitwise OR combination of sf::Style enumerators
settingsAdditional settings for the underlying OpenGL context
+
+
+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Window::create (WindowHandle handle,
const ContextSettingssettings = ContextSettings() 
)
+
+inherited
+
+ +

Create (or recreate) the window from an existing control.

+

Use this function if you want to create an OpenGL rendering area into an already existing control. If the window was already created, it closes it first.

+

The second parameter is an optional structure specifying advanced OpenGL context settings such as antialiasing, depth-buffer bits, etc.

+
Parameters
+ + + +
handlePlatform-specific handle of the control
settingsAdditional settings for the underlying OpenGL context
+
+
+ +
+
+ +

◆ display()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Window::display ()
+
+inherited
+
+ +

Display on screen what has been rendered to the window so far.

+

This function is typically called after all OpenGL rendering has been done for the current frame, in order to show it on screen.

+ +
+
+ +

◆ draw() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const Drawabledrawable,
const RenderStatesstates = RenderStates::Default 
)
+
+inherited
+
+ +

Draw a drawable object to the render target.

+
Parameters
+ + + +
drawableObject to draw
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const Vertexvertices,
std::size_t vertexCount,
PrimitiveType type,
const RenderStatesstates = RenderStates::Default 
)
+
+inherited
+
+ +

Draw primitives defined by an array of vertices.

+
Parameters
+ + + + + +
verticesPointer to the vertices
vertexCountNumber of vertices in the array
typeType of primitives to draw
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const VertexBuffervertexBuffer,
const RenderStatesstates = RenderStates::Default 
)
+
+inherited
+
+ +

Draw primitives defined by a vertex buffer.

+
Parameters
+ + + +
vertexBufferVertex buffer
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ draw() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::RenderTarget::draw (const VertexBuffervertexBuffer,
std::size_t firstVertex,
std::size_t vertexCount,
const RenderStatesstates = RenderStates::Default 
)
+
+inherited
+
+ +

Draw primitives defined by a vertex buffer.

+
Parameters
+ + + + + +
vertexBufferVertex buffer
firstVertexIndex of the first vertex to render
vertexCountNumber of vertices to render
statesRender states to use for drawing
+
+
+ +
+
+ +

◆ getDefaultView()

+ +
+
+ + + + + +
+ + + + + + + +
const View& sf::RenderTarget::getDefaultView () const
+
+inherited
+
+ +

Get the default view of the render target.

+

The default view has the initial size of the render target, and never changes after the target has been created.

+
Returns
The default view of the render target
+
See also
setView, getView
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
Vector2i sf::Window::getPosition () const
+
+inherited
+
+ +

Get the position of the window.

+
Returns
Position of the window, in pixels
+
See also
setPosition
+ +
+
+ +

◆ getSettings()

+ +
+
+ + + + + +
+ + + + + + + +
const ContextSettings& sf::Window::getSettings () const
+
+inherited
+
+ +

Get the settings of the OpenGL context of the window.

+

Note that these settings may be different from what was passed to the constructor or the create() function, if one or more settings were not supported. In this case, SFML chose the closest match.

+
Returns
Structure containing the OpenGL context settings
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Vector2u sf::RenderWindow::getSize () const
+
+virtual
+
+ +

Get the size of the rendering region of the window.

+

The size doesn't include the titlebar and borders of the window.

+
Returns
Size in pixels
+ +

Implements sf::RenderTarget.

+ +
+
+ +

◆ getSystemHandle()

+ +
+
+ + + + + +
+ + + + + + + +
WindowHandle sf::Window::getSystemHandle () const
+
+inherited
+
+ +

Get the OS-specific handle of the window.

+

The type of the returned handle is sf::WindowHandle, which is a typedef to the handle type defined by the OS. You shouldn't need to use this function, unless you have very specific stuff to implement that SFML doesn't support, or implement a temporary workaround until a bug is fixed.

+
Returns
System handle of the window
+ +
+
+ +

◆ getView()

+ +
+
+ + + + + +
+ + + + + + + +
const View& sf::RenderTarget::getView () const
+
+inherited
+
+ +

Get the view currently in use in the render target.

+
Returns
The view object that is currently used
+
See also
setView, getDefaultView
+ +
+
+ +

◆ getViewport()

+ +
+
+ + + + + +
+ + + + + + + + +
IntRect sf::RenderTarget::getViewport (const Viewview) const
+
+inherited
+
+ +

Get the viewport of a view, applied to this render target.

+

The viewport is defined in the view as a ratio, this function simply applies this ratio to the current dimensions of the render target to calculate the pixels rectangle that the viewport actually covers in the target.

+
Parameters
+ + +
viewThe view for which we want to compute the viewport
+
+
+
Returns
Viewport rectangle, expressed in pixels
+ +
+
+ +

◆ hasFocus()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::Window::hasFocus () const
+
+inherited
+
+ +

Check whether the window has the input focus.

+

At any given time, only one window may have the input focus to receive input events such as keystrokes or most mouse events.

+
Returns
True if window has focus, false otherwise
+
See also
requestFocus
+ +
+
+ +

◆ initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::initialize ()
+
+protectedinherited
+
+ +

Performs the common initialization step after creation.

+

The derived classes must call this function after the target is created and ready for drawing.

+ +
+
+ +

◆ isOpen()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::Window::isOpen () const
+
+inherited
+
+ +

Tell whether or not the window is open.

+

This function returns whether or not the window exists. Note that a hidden window (setVisible(false)) is open (therefore this function would return true).

+
Returns
True if the window is open, false if it has been closed
+ +
+
+ +

◆ mapCoordsToPixel() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
Vector2i sf::RenderTarget::mapCoordsToPixel (const Vector2fpoint) const
+
+inherited
+
+ +

Convert a point from world coordinates to target coordinates, using the current view.

+

This function is an overload of the mapCoordsToPixel function that implicitly uses the current view. It is equivalent to:

target.mapCoordsToPixel(point, target.getView());
Parameters
+ + +
pointPoint to convert
+
+
+
Returns
The converted point, in target coordinates (pixels)
+
See also
mapPixelToCoords
+ +
+
+ +

◆ mapCoordsToPixel() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2i sf::RenderTarget::mapCoordsToPixel (const Vector2fpoint,
const Viewview 
) const
+
+inherited
+
+ +

Convert a point from world coordinates to target coordinates.

+

This function finds the pixel of the render target that matches the given 2D point. In other words, it goes through the same process as the graphics card, to compute the final position of a rendered point.

+

Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render target, this assertion is not true anymore, i.e. a point located at (150, 75) in your 2D world may map to the pixel (10, 50) of your render target – if the view is translated by (140, 25).

+

This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render target.

+
Parameters
+ + + +
pointPoint to convert
viewThe view to use for converting the point
+
+
+
Returns
The converted point, in target coordinates (pixels)
+
See also
mapPixelToCoords
+ +
+
+ +

◆ mapPixelToCoords() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
Vector2f sf::RenderTarget::mapPixelToCoords (const Vector2ipoint) const
+
+inherited
+
+ +

Convert a point from target coordinates to world coordinates, using the current view.

+

This function is an overload of the mapPixelToCoords function that implicitly uses the current view. It is equivalent to:

target.mapPixelToCoords(point, target.getView());
Parameters
+ + +
pointPixel to convert
+
+
+
Returns
The converted point, in "world" coordinates
+
See also
mapCoordsToPixel
+ +
+
+ +

◆ mapPixelToCoords() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2f sf::RenderTarget::mapPixelToCoords (const Vector2ipoint,
const Viewview 
) const
+
+inherited
+
+ +

Convert a point from target coordinates to world coordinates.

+

This function finds the 2D position that matches the given pixel of the render target. In other words, it does the inverse of what the graphics card does, to find the initial position of a rendered pixel.

+

Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render target, this assertion is not true anymore, i.e. a point located at (10, 50) in your render target may map to the point (150, 75) in your 2D world – if the view is translated by (140, 25).

+

For render-windows, this function is typically used to find which point (or object) is located below the mouse cursor.

+

This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render target.

+
Parameters
+ + + +
pointPixel to convert
viewThe view to use for converting the point
+
+
+
Returns
The converted point, in "world" units
+
See also
mapCoordsToPixel
+ +
+
+ +

◆ onCreate()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::RenderWindow::onCreate ()
+
+protectedvirtual
+
+ +

Function called after the window has been created.

+

This function is called so that derived classes can perform their own specific initialization as soon as the window is created.

+ +

Reimplemented from sf::Window.

+ +
+
+ +

◆ onResize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::RenderWindow::onResize ()
+
+protectedvirtual
+
+ +

Function called after the window has been resized.

+

This function is called so that derived classes can perform custom actions when the size of the window changes.

+ +

Reimplemented from sf::Window.

+ +
+
+ +

◆ pollEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sf::Window::pollEvent (Eventevent)
+
+inherited
+
+ +

Pop the event on top of the event queue, if any, and return it.

+

This function is not blocking: if there's no pending event then it will return false and leave event unmodified. Note that more than one event may be present in the event queue, thus you should always call this function in a loop to make sure that you process every pending event.

sf::Event event;
while (window.pollEvent(event))
{
// process event...
}
Parameters
+ + +
eventEvent to be returned
+
+
+
Returns
True if an event was returned, or false if the event queue was empty
+
See also
waitEvent
+ +
+
+ +

◆ popGLStates()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::popGLStates ()
+
+inherited
+
+ +

Restore the previously saved OpenGL render states and matrices.

+

See the description of pushGLStates to get a detailed description of these functions.

+
See also
pushGLStates
+ +
+
+ +

◆ pushGLStates()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::pushGLStates ()
+
+inherited
+
+ +

Save the current OpenGL render states and matrices.

+

This function can be used when you mix SFML drawing and direct OpenGL rendering. Combined with popGLStates, it ensures that:

    +
  • SFML's internal states are not messed up by your OpenGL code
  • +
  • your OpenGL states are not modified by a call to a SFML function
  • +
+

More specifically, it must be used around code that calls Draw functions. Example:

// OpenGL code here...
window.pushGLStates();
window.draw(...);
window.draw(...);
window.popGLStates();
// OpenGL code here...

Note that this function is quite expensive: it saves all the possible OpenGL states and matrices, even the ones you don't care about. Therefore it should be used wisely. It is provided for convenience, but the best results will be achieved if you handle OpenGL states yourself (because you know which states have really changed, and need to be saved and restored). Take a look at the resetGLStates function if you do so.

+
See also
popGLStates
+ +
+
+ +

◆ requestFocus()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Window::requestFocus ()
+
+inherited
+
+ +

Request the current window to be made the active foreground window.

+

At any given time, only one window may have the input focus to receive input events such as keystrokes or mouse events. If a window requests focus, it only hints to the operating system, that it would like to be focused. The operating system is free to deny the request. This is not to be confused with setActive().

+
See also
hasFocus
+ +
+
+ +

◆ resetGLStates()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::RenderTarget::resetGLStates ()
+
+inherited
+
+ +

Reset the internal OpenGL states so that the target is ready for drawing.

+

This function can be used when you mix SFML drawing and direct OpenGL rendering, if you choose not to use pushGLStates/popGLStates. It makes sure that all OpenGL states needed by SFML are set, so that subsequent draw() calls will work as expected.

+

Example:

// OpenGL code here...
glPushAttrib(...);
window.resetGLStates();
window.draw(...);
window.draw(...);
glPopAttrib(...);
// OpenGL code here...
+
+
+ +

◆ setActive() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
bool sf::RenderWindow::setActive (bool active = true)
+
+virtual
+
+ +

Activate or deactivate the window as the current target for OpenGL rendering.

+

A window is active only on the current thread, if you want to make it active on another thread you have to deactivate it on the previous thread first if it was active. Only one window can be active on a thread at a time, thus the window previously active (if any) automatically gets deactivated. This is not to be confused with requestFocus().

+
Parameters
+ + +
activeTrue to activate, false to deactivate
+
+
+
Returns
True if operation was successful, false otherwise
+ +

Reimplemented from sf::RenderTarget.

+ +
+
+ +

◆ setActive() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
bool sf::Window::setActive (bool active = true) const
+
+inherited
+
+ +

Activate or deactivate the window as the current target for OpenGL rendering.

+

A window is active only on the current thread, if you want to make it active on another thread you have to deactivate it on the previous thread first if it was active. Only one window can be active on a thread at a time, thus the window previously active (if any) automatically gets deactivated. This is not to be confused with requestFocus().

+
Parameters
+ + +
activeTrue to activate, false to deactivate
+
+
+
Returns
True if operation was successful, false otherwise
+ +
+
+ +

◆ setFramerateLimit()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setFramerateLimit (unsigned int limit)
+
+inherited
+
+ +

Limit the framerate to a maximum fixed frequency.

+

If a limit is set, the window will use a small delay after each call to display() to ensure that the current frame lasted long enough to match the framerate limit. SFML will try to match the given limit as much as it can, but since it internally uses sf::sleep, whose precision depends on the underlying OS, the results may be a little unprecise as well (for example, you can get 65 FPS when requesting 60).

+
Parameters
+ + +
limitFramerate limit, in frames per seconds (use 0 to disable limit)
+
+
+ +
+
+ +

◆ setIcon()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Window::setIcon (unsigned int width,
unsigned int height,
const Uint8 * pixels 
)
+
+inherited
+
+ +

Change the window's icon.

+

pixels must be an array of width x height pixels in 32-bits RGBA format.

+

The OS default icon is used by default.

+
Parameters
+ + + + +
widthIcon's width, in pixels
heightIcon's height, in pixels
pixelsPointer to the array of pixels in memory. The pixels are copied, so you need not keep the source alive after calling this function.
+
+
+
See also
setTitle
+ +
+
+ +

◆ setJoystickThreshold()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setJoystickThreshold (float threshold)
+
+inherited
+
+ +

Change the joystick threshold.

+

The joystick threshold is the value below which no JoystickMoved event will be generated.

+

The threshold value is 0.1 by default.

+
Parameters
+ + +
thresholdNew threshold, in the range [0, 100]
+
+
+ +
+
+ +

◆ setKeyRepeatEnabled()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setKeyRepeatEnabled (bool enabled)
+
+inherited
+
+ +

Enable or disable automatic key-repeat.

+

If key repeat is enabled, you will receive repeated KeyPressed events while keeping a key pressed. If it is disabled, you will only get a single event when the key is pressed.

+

Key repeat is enabled by default.

+
Parameters
+ + +
enabledTrue to enable, false to disable
+
+
+ +
+
+ +

◆ setMouseCursor()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setMouseCursor (const Cursorcursor)
+
+inherited
+
+ +

Set the displayed cursor to a native system cursor.

+

Upon window creation, the arrow cursor is used by default.

+
Warning
The cursor must not be destroyed while in use by the window.
+
+Features related to Cursor are not supported on iOS and Android.
+
Parameters
+ + +
cursorNative system cursor type to display
+
+
+
See also
sf::Cursor::loadFromSystem
+
+sf::Cursor::loadFromPixels
+ +
+
+ +

◆ setMouseCursorGrabbed()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setMouseCursorGrabbed (bool grabbed)
+
+inherited
+
+ +

Grab or release the mouse cursor.

+

If set, grabs the mouse cursor inside this window's client area so it may no longer be moved outside its bounds. Note that grabbing is only active while the window has focus.

+
Parameters
+ + +
grabbedTrue to enable, false to disable
+
+
+ +
+
+ +

◆ setMouseCursorVisible()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setMouseCursorVisible (bool visible)
+
+inherited
+
+ +

Show or hide the mouse cursor.

+

The mouse cursor is visible by default.

+
Parameters
+ + +
visibleTrue to show the mouse cursor, false to hide it
+
+
+ +
+
+ +

◆ setPosition()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setPosition (const Vector2iposition)
+
+inherited
+
+ +

Change the position of the window on screen.

+

This function only works for top-level windows (i.e. it will be ignored for windows created from the handle of a child window/control).

+
Parameters
+ + +
positionNew position, in pixels
+
+
+
See also
getPosition
+ +
+
+ +

◆ setSize()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setSize (const Vector2usize)
+
+inherited
+
+ +

Change the size of the rendering region of the window.

+
Parameters
+ + +
sizeNew size, in pixels
+
+
+
See also
getSize
+ +
+
+ +

◆ setTitle()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setTitle (const Stringtitle)
+
+inherited
+
+ +

Change the title of the window.

+
Parameters
+ + +
titleNew title
+
+
+
See also
setIcon
+ +
+
+ +

◆ setVerticalSyncEnabled()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setVerticalSyncEnabled (bool enabled)
+
+inherited
+
+ +

Enable or disable vertical synchronization.

+

Activating vertical synchronization will limit the number of frames displayed to the refresh rate of the monitor. This can avoid some visual artifacts, and limit the framerate to a good value (but not constant across different computers).

+

Vertical synchronization is disabled by default.

+
Parameters
+ + +
enabledTrue to enable v-sync, false to deactivate it
+
+
+ +
+
+ +

◆ setView()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::RenderTarget::setView (const Viewview)
+
+inherited
+
+ +

Change the current active view.

+

The view is like a 2D camera, it controls which part of the 2D scene is visible, and how it is viewed in the render target. The new view will affect everything that is drawn, until another view is set. The render target keeps its own copy of the view object, so it is not necessary to keep the original one alive after calling this function. To restore the original view of the target, you can pass the result of getDefaultView() to this function.

+
Parameters
+ + +
viewNew view to use
+
+
+
See also
getView, getDefaultView
+ +
+
+ +

◆ setVisible()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Window::setVisible (bool visible)
+
+inherited
+
+ +

Show or hide the window.

+

The window is shown by default.

+
Parameters
+ + +
visibleTrue to show the window, false to hide it
+
+
+ +
+
+ +

◆ waitEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sf::Window::waitEvent (Eventevent)
+
+inherited
+
+ +

Wait for an event and return it.

+

This function is blocking: if there's no pending event then it will wait until an event is received. After this function returns (and no error occurred), the 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.

sf::Event event;
if (window.waitEvent(event))
{
// process event...
}
Parameters
+ + +
eventEvent to be returned
+
+
+
Returns
False if any error occurred
+
See also
pollEvent
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1RenderWindow.png b/SFML/doc/html/classsf_1_1RenderWindow.png new file mode 100644 index 0000000..80a23b7 Binary files /dev/null and b/SFML/doc/html/classsf_1_1RenderWindow.png differ diff --git a/SFML/doc/html/classsf_1_1Sensor-members.html b/SFML/doc/html/classsf_1_1Sensor-members.html new file mode 100644 index 0000000..c682e88 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Sensor-members.html @@ -0,0 +1,72 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Sensor Member List
+
+
+ +

This is the complete list of members for sf::Sensor, including all inherited members.

+ + + + + + + + + + + + +
Accelerometer enum valuesf::Sensor
Count enum valuesf::Sensor
getValue(Type sensor)sf::Sensorstatic
Gravity enum valuesf::Sensor
Gyroscope enum valuesf::Sensor
isAvailable(Type sensor)sf::Sensorstatic
Magnetometer enum valuesf::Sensor
Orientation enum valuesf::Sensor
setEnabled(Type sensor, bool enabled)sf::Sensorstatic
Type enum namesf::Sensor
UserAcceleration enum valuesf::Sensor
+ + + + diff --git a/SFML/doc/html/classsf_1_1Sensor.html b/SFML/doc/html/classsf_1_1Sensor.html new file mode 100644 index 0000000..033c349 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Sensor.html @@ -0,0 +1,262 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Give access to the real-time state of the sensors. + More...

+ +

#include <Sensor.hpp>

+ + + + + +

+Public Types

enum  Type {
+  Accelerometer, +Gyroscope, +Magnetometer, +Gravity, +
+  UserAcceleration, +Orientation, +Count +
+ }
 Sensor type. More...
 
+ + + + + + + + + + +

+Static Public Member Functions

static bool isAvailable (Type sensor)
 Check if a sensor is available on the underlying platform. More...
 
static void setEnabled (Type sensor, bool enabled)
 Enable or disable a sensor. More...
 
static Vector3f getValue (Type sensor)
 Get the current sensor value. More...
 
+

Detailed Description

+

Give access to the real-time state of the sensors.

+

sf::Sensor provides an interface to the state of the various sensors that a device provides.

+

It only contains static functions, so it's not meant to be instantiated.

+

This class allows users to query the sensors values at any time and directly, without having to deal with a window and its events. Compared to the SensorChanged event, sf::Sensor can retrieve the state of a sensor at any time (you don't need to store and update its current value on your side).

+

Depending on the OS and hardware of the device (phone, tablet, ...), some sensor types may not be available. You should always check the availability of a sensor before trying to read it, with the sf::Sensor::isAvailable function.

+

You may wonder why some sensor types look so similar, for example Accelerometer and Gravity / UserAcceleration. The first one is the raw measurement of the acceleration, and takes into account both the earth gravity and the user movement. The others are more precise: they provide these components separately, which is usually more useful. In fact they are not direct sensors, they are computed internally based on the raw acceleration and other sensors. This is exactly the same for Gyroscope vs Orientation.

+

Because sensors consume a non-negligible amount of current, they are all disabled by default. You must call sf::Sensor::setEnabled for each sensor in which you are interested.

+

Usage example:

{
// gravity sensor is available
}
// enable the gravity sensor
// get the current value of gravity
+

Definition at line 42 of file Sensor.hpp.

+

Member Enumeration Documentation

+ +

◆ Type

+ +
+
+ + + + +
enum sf::Sensor::Type
+
+ +

Sensor type.

+ + + + + + + + +
Enumerator
Accelerometer 

Measures the raw acceleration (m/s^2)

+
Gyroscope 

Measures the raw rotation rates (degrees/s)

+
Magnetometer 

Measures the ambient magnetic field (micro-teslas)

+
Gravity 

Measures the direction and intensity of gravity, independent of device acceleration (m/s^2)

+
UserAcceleration 

Measures the direction and intensity of device acceleration, independent of the gravity (m/s^2)

+
Orientation 

Measures the absolute 3D orientation (degrees)

+
Count 

Keep last – the total number of sensor types.

+
+ +

Definition at line 50 of file Sensor.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ getValue()

+ +
+
+ + + + + +
+ + + + + + + + +
static Vector3f sf::Sensor::getValue (Type sensor)
+
+static
+
+ +

Get the current sensor value.

+
Parameters
+ + +
sensorSensor to read
+
+
+
Returns
The current sensor value
+ +
+
+ +

◆ isAvailable()

+ +
+
+ + + + + +
+ + + + + + + + +
static bool sf::Sensor::isAvailable (Type sensor)
+
+static
+
+ +

Check if a sensor is available on the underlying platform.

+
Parameters
+ + +
sensorSensor to check
+
+
+
Returns
True if the sensor is available, false otherwise
+ +
+
+ +

◆ setEnabled()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void sf::Sensor::setEnabled (Type sensor,
bool enabled 
)
+
+static
+
+ +

Enable or disable a sensor.

+

All sensors are disabled by default, to avoid consuming too much battery power. Once a sensor is enabled, it starts sending events of the corresponding type.

+

This function does nothing if the sensor is unavailable.

+
Parameters
+ + + +
sensorSensor to enable
enabledTrue to enable, false to disable
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Shader-members.html b/SFML/doc/html/classsf_1_1Shader-members.html new file mode 100644 index 0000000..4a688b4 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Shader-members.html @@ -0,0 +1,118 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Shader Member List
+
+
+ +

This is the complete list of members for sf::Shader, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bind(const Shader *shader)sf::Shaderstatic
CurrentTexturesf::Shaderstatic
Fragment enum valuesf::Shader
Geometry enum valuesf::Shader
getNativeHandle() constsf::Shader
GlResource()sf::GlResourceprivate
isAvailable()sf::Shaderstatic
isGeometryAvailable()sf::Shaderstatic
loadFromFile(const std::string &filename, Type type)sf::Shader
loadFromFile(const std::string &vertexShaderFilename, const std::string &fragmentShaderFilename)sf::Shader
loadFromFile(const std::string &vertexShaderFilename, const std::string &geometryShaderFilename, const std::string &fragmentShaderFilename)sf::Shader
loadFromMemory(const std::string &shader, Type type)sf::Shader
loadFromMemory(const std::string &vertexShader, const std::string &fragmentShader)sf::Shader
loadFromMemory(const std::string &vertexShader, const std::string &geometryShader, const std::string &fragmentShader)sf::Shader
loadFromStream(InputStream &stream, Type type)sf::Shader
loadFromStream(InputStream &vertexShaderStream, InputStream &fragmentShaderStream)sf::Shader
loadFromStream(InputStream &vertexShaderStream, InputStream &geometryShaderStream, InputStream &fragmentShaderStream)sf::Shader
NonCopyable()sf::NonCopyableinlineprivate
registerContextDestroyCallback(ContextDestroyCallback callback, void *arg)sf::GlResourceprivatestatic
setParameter(const std::string &name, float x)sf::Shader
setParameter(const std::string &name, float x, float y)sf::Shader
setParameter(const std::string &name, float x, float y, float z)sf::Shader
setParameter(const std::string &name, float x, float y, float z, float w)sf::Shader
setParameter(const std::string &name, const Vector2f &vector)sf::Shader
setParameter(const std::string &name, const Vector3f &vector)sf::Shader
setParameter(const std::string &name, const Color &color)sf::Shader
setParameter(const std::string &name, const Transform &transform)sf::Shader
setParameter(const std::string &name, const Texture &texture)sf::Shader
setParameter(const std::string &name, CurrentTextureType)sf::Shader
setUniform(const std::string &name, float x)sf::Shader
setUniform(const std::string &name, const Glsl::Vec2 &vector)sf::Shader
setUniform(const std::string &name, const Glsl::Vec3 &vector)sf::Shader
setUniform(const std::string &name, const Glsl::Vec4 &vector)sf::Shader
setUniform(const std::string &name, int x)sf::Shader
setUniform(const std::string &name, const Glsl::Ivec2 &vector)sf::Shader
setUniform(const std::string &name, const Glsl::Ivec3 &vector)sf::Shader
setUniform(const std::string &name, const Glsl::Ivec4 &vector)sf::Shader
setUniform(const std::string &name, bool x)sf::Shader
setUniform(const std::string &name, const Glsl::Bvec2 &vector)sf::Shader
setUniform(const std::string &name, const Glsl::Bvec3 &vector)sf::Shader
setUniform(const std::string &name, const Glsl::Bvec4 &vector)sf::Shader
setUniform(const std::string &name, const Glsl::Mat3 &matrix)sf::Shader
setUniform(const std::string &name, const Glsl::Mat4 &matrix)sf::Shader
setUniform(const std::string &name, const Texture &texture)sf::Shader
setUniform(const std::string &name, CurrentTextureType)sf::Shader
setUniformArray(const std::string &name, const float *scalarArray, std::size_t length)sf::Shader
setUniformArray(const std::string &name, const Glsl::Vec2 *vectorArray, std::size_t length)sf::Shader
setUniformArray(const std::string &name, const Glsl::Vec3 *vectorArray, std::size_t length)sf::Shader
setUniformArray(const std::string &name, const Glsl::Vec4 *vectorArray, std::size_t length)sf::Shader
setUniformArray(const std::string &name, const Glsl::Mat3 *matrixArray, std::size_t length)sf::Shader
setUniformArray(const std::string &name, const Glsl::Mat4 *matrixArray, std::size_t length)sf::Shader
Shader()sf::Shader
Type enum namesf::Shader
Vertex enum valuesf::Shader
~GlResource()sf::GlResourceprivate
~NonCopyable()sf::NonCopyableinlineprivate
~Shader()sf::Shader
+ + + + diff --git a/SFML/doc/html/classsf_1_1Shader.html b/SFML/doc/html/classsf_1_1Shader.html new file mode 100644 index 0000000..9be161f --- /dev/null +++ b/SFML/doc/html/classsf_1_1Shader.html @@ -0,0 +1,2092 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Shader class (vertex, geometry and fragment) + More...

+ +

#include <Shader.hpp>

+
+Inheritance diagram for sf::Shader:
+
+
+ + +sf::GlResource +sf::NonCopyable + +
+ + + + + +

+Classes

struct  CurrentTextureType
 Special type that can be passed to setUniform(), and that represents the texture of the object being drawn. More...
 
+ + + + +

+Public Types

enum  Type { Vertex, +Geometry, +Fragment + }
 Types of shaders. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Shader ()
 Default constructor. More...
 
 ~Shader ()
 Destructor. More...
 
bool loadFromFile (const std::string &filename, Type type)
 Load the vertex, geometry or fragment shader from a file. More...
 
bool loadFromFile (const std::string &vertexShaderFilename, const std::string &fragmentShaderFilename)
 Load both the vertex and fragment shaders from files. More...
 
bool loadFromFile (const std::string &vertexShaderFilename, const std::string &geometryShaderFilename, const std::string &fragmentShaderFilename)
 Load the vertex, geometry and fragment shaders from files. More...
 
bool loadFromMemory (const std::string &shader, Type type)
 Load the vertex, geometry or fragment shader from a source code in memory. More...
 
bool loadFromMemory (const std::string &vertexShader, const std::string &fragmentShader)
 Load both the vertex and fragment shaders from source codes in memory. More...
 
bool loadFromMemory (const std::string &vertexShader, const std::string &geometryShader, const std::string &fragmentShader)
 Load the vertex, geometry and fragment shaders from source codes in memory. More...
 
bool loadFromStream (InputStream &stream, Type type)
 Load the vertex, geometry or fragment shader from a custom stream. More...
 
bool loadFromStream (InputStream &vertexShaderStream, InputStream &fragmentShaderStream)
 Load both the vertex and fragment shaders from custom streams. More...
 
bool loadFromStream (InputStream &vertexShaderStream, InputStream &geometryShaderStream, InputStream &fragmentShaderStream)
 Load the vertex, geometry and fragment shaders from custom streams. More...
 
void setUniform (const std::string &name, float x)
 Specify value for float uniform. More...
 
void setUniform (const std::string &name, const Glsl::Vec2 &vector)
 Specify value for vec2 uniform. More...
 
void setUniform (const std::string &name, const Glsl::Vec3 &vector)
 Specify value for vec3 uniform. More...
 
void setUniform (const std::string &name, const Glsl::Vec4 &vector)
 Specify value for vec4 uniform. More...
 
void setUniform (const std::string &name, int x)
 Specify value for int uniform. More...
 
void setUniform (const std::string &name, const Glsl::Ivec2 &vector)
 Specify value for ivec2 uniform. More...
 
void setUniform (const std::string &name, const Glsl::Ivec3 &vector)
 Specify value for ivec3 uniform. More...
 
void setUniform (const std::string &name, const Glsl::Ivec4 &vector)
 Specify value for ivec4 uniform. More...
 
void setUniform (const std::string &name, bool x)
 Specify value for bool uniform. More...
 
void setUniform (const std::string &name, const Glsl::Bvec2 &vector)
 Specify value for bvec2 uniform. More...
 
void setUniform (const std::string &name, const Glsl::Bvec3 &vector)
 Specify value for bvec3 uniform. More...
 
void setUniform (const std::string &name, const Glsl::Bvec4 &vector)
 Specify value for bvec4 uniform. More...
 
void setUniform (const std::string &name, const Glsl::Mat3 &matrix)
 Specify value for mat3 matrix. More...
 
void setUniform (const std::string &name, const Glsl::Mat4 &matrix)
 Specify value for mat4 matrix. More...
 
void setUniform (const std::string &name, const Texture &texture)
 Specify a texture as sampler2D uniform. More...
 
void setUniform (const std::string &name, CurrentTextureType)
 Specify current texture as sampler2D uniform. More...
 
void setUniformArray (const std::string &name, const float *scalarArray, std::size_t length)
 Specify values for float[] array uniform. More...
 
void setUniformArray (const std::string &name, const Glsl::Vec2 *vectorArray, std::size_t length)
 Specify values for vec2[] array uniform. More...
 
void setUniformArray (const std::string &name, const Glsl::Vec3 *vectorArray, std::size_t length)
 Specify values for vec3[] array uniform. More...
 
void setUniformArray (const std::string &name, const Glsl::Vec4 *vectorArray, std::size_t length)
 Specify values for vec4[] array uniform. More...
 
void setUniformArray (const std::string &name, const Glsl::Mat3 *matrixArray, std::size_t length)
 Specify values for mat3[] array uniform. More...
 
void setUniformArray (const std::string &name, const Glsl::Mat4 *matrixArray, std::size_t length)
 Specify values for mat4[] array uniform. More...
 
void setParameter (const std::string &name, float x)
 Change a float parameter of the shader. More...
 
void setParameter (const std::string &name, float x, float y)
 Change a 2-components vector parameter of the shader. More...
 
void setParameter (const std::string &name, float x, float y, float z)
 Change a 3-components vector parameter of the shader. More...
 
void setParameter (const std::string &name, float x, float y, float z, float w)
 Change a 4-components vector parameter of the shader. More...
 
void setParameter (const std::string &name, const Vector2f &vector)
 Change a 2-components vector parameter of the shader. More...
 
void setParameter (const std::string &name, const Vector3f &vector)
 Change a 3-components vector parameter of the shader. More...
 
void setParameter (const std::string &name, const Color &color)
 Change a color parameter of the shader. More...
 
void setParameter (const std::string &name, const Transform &transform)
 Change a matrix parameter of the shader. More...
 
void setParameter (const std::string &name, const Texture &texture)
 Change a texture parameter of the shader. More...
 
void setParameter (const std::string &name, CurrentTextureType)
 Change a texture parameter of the shader. More...
 
unsigned int getNativeHandle () const
 Get the underlying OpenGL handle of the shader. More...
 
+ + + + + + + + + + +

+Static Public Member Functions

static void bind (const Shader *shader)
 Bind a shader for rendering. More...
 
static bool isAvailable ()
 Tell whether or not the system supports shaders. More...
 
static bool isGeometryAvailable ()
 Tell whether or not the system supports geometry shaders. More...
 
+ + + + +

+Static Public Attributes

static CurrentTextureType CurrentTexture
 Represents the texture of the object being drawn. More...
 
+ + + + +

+Static Private Member Functions

static void registerContextDestroyCallback (ContextDestroyCallback callback, void *arg)
 Register a function to be called when a context is destroyed. More...
 
+

Detailed Description

+

Shader class (vertex, geometry and fragment)

+

Shaders are programs written using a specific language, executed directly by the graphics card and allowing to apply real-time operations to the rendered entities.

+

There are three kinds of shaders:

    +
  • Vertex shaders, that process vertices
  • +
  • Geometry shaders, that process primitives
  • +
  • Fragment (pixel) shaders, that process pixels
  • +
+

A sf::Shader can be composed of either a vertex shader alone, a geometry shader alone, a fragment shader alone, or any combination of them. (see the variants of the load functions).

+

Shaders are written in GLSL, which is a C-like language dedicated to OpenGL shaders. You'll probably need to learn its basics before writing your own shaders for SFML.

+

Like any C/C++ program, a GLSL shader has its own variables called uniforms that you can set from your C++ application. sf::Shader handles different types of uniforms:

    +
  • scalars: float, int, bool
  • +
  • vectors (2, 3 or 4 components)
  • +
  • matrices (3x3 or 4x4)
  • +
  • samplers (textures)
  • +
+

Some SFML-specific types can be converted:

+

Every uniform variable in a shader can be set through one of the setUniform() or setUniformArray() overloads. For example, if you have a shader with the following uniforms:

uniform float offset;
uniform vec3 point;
uniform vec4 color;
uniform mat4 matrix;
uniform sampler2D overlay;
uniform sampler2D current;

You can set their values from C++ code as follows, using the types defined in the sf::Glsl namespace:

shader.setUniform("offset", 2.f);
shader.setUniform("point", sf::Vector3f(0.5f, 0.8f, 0.3f));
shader.setUniform("color", sf::Glsl::Vec4(color)); // color is a sf::Color
shader.setUniform("matrix", sf::Glsl::Mat4(transform)); // transform is a sf::Transform
shader.setUniform("overlay", texture); // texture is a sf::Texture
shader.setUniform("current", sf::Shader::CurrentTexture);

The old setParameter() overloads are deprecated and will be removed in a future version. You should use their setUniform() equivalents instead.

+

The special Shader::CurrentTexture argument maps the given sampler2D uniform to the current texture of the object being drawn (which cannot be known in advance).

+

To apply a shader to a drawable, you must pass it as an additional parameter to the RenderWindow::draw function:

window.draw(sprite, &shader);

... which is in fact just a shortcut for this:

states.shader = &shader;
window.draw(sprite, states);

In the code above we pass a pointer to the shader, because it may be null (which means "no shader").

+

Shaders can be used on any drawable, but some combinations are not interesting. For example, using a vertex shader on a sf::Sprite is limited because there are only 4 vertices, the sprite would have to be subdivided in order to apply wave effects. Another bad example is a fragment shader with sf::Text: the texture of the text is not the actual text that you see on screen, it is a big texture containing all the characters of the font in an arbitrary order; thus, texture lookups on pixels other than the current one may not give you the expected result.

+

Shaders can also be used to apply global post-effects to the current contents of the target (like the old sf::PostFx class in SFML 1). This can be done in two different ways:

    +
  • draw everything to a sf::RenderTexture, then draw it to the main target using the shader
  • +
  • draw everything directly to the main target, then use sf::Texture::update(Window&) to copy its contents to a texture and draw it to the main target using the shader
  • +
+

The first technique is more optimized because it doesn't involve retrieving the target's pixels to system memory, but the second one doesn't impact the rendering process and can be easily inserted anywhere without impacting all the code.

+

Like sf::Texture that can be used as a raw OpenGL texture, sf::Shader can also be used directly as a raw shader for custom OpenGL geometry.

... render OpenGL geometry ...
sf::Shader::bind(NULL);
See also
sf::Glsl
+ +

Definition at line 52 of file Shader.hpp.

+

Member Enumeration Documentation

+ +

◆ Type

+ +
+
+ + + + +
enum sf::Shader::Type
+
+ +

Types of shaders.

+ + + + +
Enumerator
Vertex 

Vertex shader

+
Geometry 

Geometry shader.

+
Fragment 

Fragment (pixel) shader.

+
+ +

Definition at line 60 of file Shader.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Shader()

+ +
+
+ + + + + + + +
sf::Shader::Shader ()
+
+ +

Default constructor.

+

This constructor creates an invalid shader.

+ +
+
+ +

◆ ~Shader()

+ +
+
+ + + + + + + +
sf::Shader::~Shader ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ bind()

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::Shader::bind (const Shadershader)
+
+static
+
+ +

Bind a shader for rendering.

+

This function is not part of the graphics API, it mustn't be used when drawing SFML entities. It must be used only if you mix sf::Shader with OpenGL code.

+
sf::Shader s1, s2;
...
sf::Shader::bind(&s1);
// draw OpenGL stuff that use s1...
// draw OpenGL stuff that use s2...
// draw OpenGL stuff that use no shader...
Parameters
+ + +
shaderShader to bind, can be null to use no shader
+
+
+ +
+
+ +

◆ getNativeHandle()

+ +
+
+ + + + + + + +
unsigned int sf::Shader::getNativeHandle () const
+
+ +

Get the underlying OpenGL handle of the shader.

+

You shouldn't need to use this function, unless you have very specific stuff to implement that SFML doesn't support, or implement a temporary workaround until a bug is fixed.

+
Returns
OpenGL handle of the shader or 0 if not yet loaded
+ +
+
+ +

◆ isAvailable()

+ +
+
+ + + + + +
+ + + + + + + +
static bool sf::Shader::isAvailable ()
+
+static
+
+ +

Tell whether or not the system supports shaders.

+

This function should always be called before using the shader features. If it returns false, then any attempt to use sf::Shader will fail.

+
Returns
True if shaders are supported, false otherwise
+ +
+
+ +

◆ isGeometryAvailable()

+ +
+
+ + + + + +
+ + + + + + + +
static bool sf::Shader::isGeometryAvailable ()
+
+static
+
+ +

Tell whether or not the system supports geometry shaders.

+

This function should always be called before using the geometry shader features. If it returns false, then any attempt to use sf::Shader geometry shader features will fail.

+

This function can only return true if isAvailable() would also return true, since shaders in general have to be supported in order for geometry shaders to be supported as well.

+

Note: The first call to this function, whether by your code or SFML will result in a context switch.

+
Returns
True if geometry shaders are supported, false otherwise
+ +
+
+ +

◆ loadFromFile() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromFile (const std::string & filename,
Type type 
)
+
+ +

Load the vertex, geometry or fragment shader from a file.

+

This function loads a single shader, vertex, geometry or fragment, identified by the second argument. The source must be a text file containing a valid shader in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + +
filenamePath of the vertex, geometry or fragment shader file to load
typeType of shader (vertex, geometry or fragment)
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromMemory, loadFromStream
+ +
+
+ +

◆ loadFromFile() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromFile (const std::string & vertexShaderFilename,
const std::string & fragmentShaderFilename 
)
+
+ +

Load both the vertex and fragment shaders from files.

+

This function loads both the vertex and the fragment shaders. If one of them fails to load, the shader is left empty (the valid shader is unloaded). The sources must be text files containing valid shaders in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + +
vertexShaderFilenamePath of the vertex shader file to load
fragmentShaderFilenamePath of the fragment shader file to load
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromMemory, loadFromStream
+ +
+
+ +

◆ loadFromFile() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromFile (const std::string & vertexShaderFilename,
const std::string & geometryShaderFilename,
const std::string & fragmentShaderFilename 
)
+
+ +

Load the vertex, geometry and fragment shaders from files.

+

This function loads the vertex, geometry and fragment shaders. If one of them fails to load, the shader is left empty (the valid shader is unloaded). The sources must be text files containing valid shaders in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + + +
vertexShaderFilenamePath of the vertex shader file to load
geometryShaderFilenamePath of the geometry shader file to load
fragmentShaderFilenamePath of the fragment shader file to load
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromMemory, loadFromStream
+ +
+
+ +

◆ loadFromMemory() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromMemory (const std::string & shader,
Type type 
)
+
+ +

Load the vertex, geometry or fragment shader from a source code in memory.

+

This function loads a single shader, vertex, geometry or fragment, identified by the second argument. The source code must be a valid shader in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + +
shaderString containing the source code of the shader
typeType of shader (vertex, geometry or fragment)
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromStream
+ +
+
+ +

◆ loadFromMemory() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromMemory (const std::string & vertexShader,
const std::string & fragmentShader 
)
+
+ +

Load both the vertex and fragment shaders from source codes in memory.

+

This function loads both the vertex and the fragment shaders. If one of them fails to load, the shader is left empty (the valid shader is unloaded). The sources must be valid shaders in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + +
vertexShaderString containing the source code of the vertex shader
fragmentShaderString containing the source code of the fragment shader
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromStream
+ +
+
+ +

◆ loadFromMemory() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromMemory (const std::string & vertexShader,
const std::string & geometryShader,
const std::string & fragmentShader 
)
+
+ +

Load the vertex, geometry and fragment shaders from source codes in memory.

+

This function loads the vertex, geometry and fragment shaders. If one of them fails to load, the shader is left empty (the valid shader is unloaded). The sources must be valid shaders in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + + +
vertexShaderString containing the source code of the vertex shader
geometryShaderString containing the source code of the geometry shader
fragmentShaderString containing the source code of the fragment shader
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromStream
+ +
+
+ +

◆ loadFromStream() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromStream (InputStreamstream,
Type type 
)
+
+ +

Load the vertex, geometry or fragment shader from a custom stream.

+

This function loads a single shader, vertex, geometry or fragment, identified by the second argument. The source code must be a valid shader in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + +
streamSource stream to read from
typeType of shader (vertex, geometry or fragment)
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromMemory
+ +
+
+ +

◆ loadFromStream() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromStream (InputStreamvertexShaderStream,
InputStreamfragmentShaderStream 
)
+
+ +

Load both the vertex and fragment shaders from custom streams.

+

This function loads both the vertex and the fragment shaders. If one of them fails to load, the shader is left empty (the valid shader is unloaded). The source codes must be valid shaders in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + +
vertexShaderStreamSource stream to read the vertex shader from
fragmentShaderStreamSource stream to read the fragment shader from
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromMemory
+ +
+
+ +

◆ loadFromStream() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::Shader::loadFromStream (InputStreamvertexShaderStream,
InputStreamgeometryShaderStream,
InputStreamfragmentShaderStream 
)
+
+ +

Load the vertex, geometry and fragment shaders from custom streams.

+

This function loads the vertex, geometry and fragment shaders. If one of them fails to load, the shader is left empty (the valid shader is unloaded). The source codes must be valid shaders in GLSL language. GLSL is a C-like language dedicated to OpenGL shaders; you'll probably need to read a good documentation for it before writing your own shaders.

+
Parameters
+ + + + +
vertexShaderStreamSource stream to read the vertex shader from
geometryShaderStreamSource stream to read the geometry shader from
fragmentShaderStreamSource stream to read the fragment shader from
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromMemory
+ +
+
+ +

◆ setParameter() [1/10]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
float x 
)
+
+ +

Change a float parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, float) instead.
+ +
+
+ +

◆ setParameter() [2/10]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
float x,
float y 
)
+
+ +

Change a 2-components vector parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, const Glsl::Vec2&) instead.
+ +
+
+ +

◆ setParameter() [3/10]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
float x,
float y,
float z 
)
+
+ +

Change a 3-components vector parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, const Glsl::Vec3&) instead.
+ +
+
+ +

◆ setParameter() [4/10]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
float x,
float y,
float z,
float w 
)
+
+ +

Change a 4-components vector parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, const Glsl::Vec4&) instead.
+ +
+
+ +

◆ setParameter() [5/10]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
const Vector2fvector 
)
+
+ +

Change a 2-components vector parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, const Glsl::Vec2&) instead.
+ +
+
+ +

◆ setParameter() [6/10]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
const Vector3fvector 
)
+
+ +

Change a 3-components vector parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, const Glsl::Vec3&) instead.
+ +
+
+ +

◆ setParameter() [7/10]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
const Colorcolor 
)
+
+ +

Change a color parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, const Glsl::Vec4&) instead.
+ +
+
+ +

◆ setParameter() [8/10]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
const Transformtransform 
)
+
+ +

Change a matrix parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, const Glsl::Mat4&) instead.
+ +
+
+ +

◆ setParameter() [9/10]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
const Texturetexture 
)
+
+ +

Change a texture parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, const Texture&) instead.
+ +
+
+ +

◆ setParameter() [10/10]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setParameter (const std::string & name,
CurrentTextureType  
)
+
+ +

Change a texture parameter of the shader.

+
Deprecated:
Use setUniform(const std::string&, CurrentTextureType) instead.
+ +
+
+ +

◆ setUniform() [1/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
float x 
)
+
+ +

Specify value for float uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
xValue of the float scalar
+
+
+ +
+
+ +

◆ setUniform() [2/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Vec2vector 
)
+
+ +

Specify value for vec2 uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the vec2 vector
+
+
+ +
+
+ +

◆ setUniform() [3/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Vec3vector 
)
+
+ +

Specify value for vec3 uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the vec3 vector
+
+
+ +
+
+ +

◆ setUniform() [4/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Vec4vector 
)
+
+ +

Specify value for vec4 uniform.

+

This overload can also be called with sf::Color objects that are converted to sf::Glsl::Vec4.

+

It is important to note that the components of the color are normalized before being passed to the shader. Therefore, they are converted from range [0 .. 255] to range [0 .. 1]. For example, a sf::Color(255, 127, 0, 255) will be transformed to a vec4(1.0, 0.5, 0.0, 1.0) in the shader.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the vec4 vector
+
+
+ +
+
+ +

◆ setUniform() [5/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
int x 
)
+
+ +

Specify value for int uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
xValue of the int scalar
+
+
+ +
+
+ +

◆ setUniform() [6/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Ivec2vector 
)
+
+ +

Specify value for ivec2 uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the ivec2 vector
+
+
+ +
+
+ +

◆ setUniform() [7/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Ivec3vector 
)
+
+ +

Specify value for ivec3 uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the ivec3 vector
+
+
+ +
+
+ +

◆ setUniform() [8/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Ivec4vector 
)
+
+ +

Specify value for ivec4 uniform.

+

This overload can also be called with sf::Color objects that are converted to sf::Glsl::Ivec4.

+

If color conversions are used, the ivec4 uniform in GLSL will hold the same values as the original sf::Color instance. For example, sf::Color(255, 127, 0, 255) is mapped to ivec4(255, 127, 0, 255).

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the ivec4 vector
+
+
+ +
+
+ +

◆ setUniform() [9/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
bool x 
)
+
+ +

Specify value for bool uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
xValue of the bool scalar
+
+
+ +
+
+ +

◆ setUniform() [10/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Bvec2vector 
)
+
+ +

Specify value for bvec2 uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the bvec2 vector
+
+
+ +
+
+ +

◆ setUniform() [11/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Bvec3vector 
)
+
+ +

Specify value for bvec3 uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the bvec3 vector
+
+
+ +
+
+ +

◆ setUniform() [12/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Bvec4vector 
)
+
+ +

Specify value for bvec4 uniform.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
vectorValue of the bvec4 vector
+
+
+ +
+
+ +

◆ setUniform() [13/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Mat3matrix 
)
+
+ +

Specify value for mat3 matrix.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
matrixValue of the mat3 matrix
+
+
+ +
+
+ +

◆ setUniform() [14/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Glsl::Mat4matrix 
)
+
+ +

Specify value for mat4 matrix.

+
Parameters
+ + + +
nameName of the uniform variable in GLSL
matrixValue of the mat4 matrix
+
+
+ +
+
+ +

◆ setUniform() [15/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
const Texturetexture 
)
+
+ +

Specify a texture as sampler2D uniform.

+

name is the name of the variable to change in the shader. The corresponding parameter in the shader must be a 2D texture (sampler2D GLSL type).

+

Example:

uniform sampler2D the_texture; // this is the variable in the shader
sf::Texture texture;
...
shader.setUniform("the_texture", texture);

It is important to note that texture must remain alive as long as the shader uses it, no copy is made internally.

+

To use the texture of the object being drawn, which cannot be known in advance, you can pass the special value sf::Shader::CurrentTexture:

shader.setUniform("the_texture", sf::Shader::CurrentTexture).
Parameters
+ + + +
nameName of the texture in the shader
textureTexture to assign
+
+
+ +
+
+ +

◆ setUniform() [16/16]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniform (const std::string & name,
CurrentTextureType  
)
+
+ +

Specify current texture as sampler2D uniform.

+

This overload maps a shader texture variable to the texture of the object being drawn, which cannot be known in advance. The second argument must be sf::Shader::CurrentTexture. The corresponding parameter in the shader must be a 2D texture (sampler2D GLSL type).

+

Example:

uniform sampler2D current; // this is the variable in the shader
shader.setUniform("current", sf::Shader::CurrentTexture);
Parameters
+ + +
nameName of the texture in the shader
+
+
+ +
+
+ +

◆ setUniformArray() [1/6]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniformArray (const std::string & name,
const float * scalarArray,
std::size_t length 
)
+
+ +

Specify values for float[] array uniform.

+
Parameters
+ + + + +
nameName of the uniform variable in GLSL
scalarArraypointer to array of float values
lengthNumber of elements in the array
+
+
+ +
+
+ +

◆ setUniformArray() [2/6]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniformArray (const std::string & name,
const Glsl::Vec2vectorArray,
std::size_t length 
)
+
+ +

Specify values for vec2[] array uniform.

+
Parameters
+ + + + +
nameName of the uniform variable in GLSL
vectorArraypointer to array of vec2 values
lengthNumber of elements in the array
+
+
+ +
+
+ +

◆ setUniformArray() [3/6]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniformArray (const std::string & name,
const Glsl::Vec3vectorArray,
std::size_t length 
)
+
+ +

Specify values for vec3[] array uniform.

+
Parameters
+ + + + +
nameName of the uniform variable in GLSL
vectorArraypointer to array of vec3 values
lengthNumber of elements in the array
+
+
+ +
+
+ +

◆ setUniformArray() [4/6]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniformArray (const std::string & name,
const Glsl::Vec4vectorArray,
std::size_t length 
)
+
+ +

Specify values for vec4[] array uniform.

+
Parameters
+ + + + +
nameName of the uniform variable in GLSL
vectorArraypointer to array of vec4 values
lengthNumber of elements in the array
+
+
+ +
+
+ +

◆ setUniformArray() [5/6]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniformArray (const std::string & name,
const Glsl::Mat3matrixArray,
std::size_t length 
)
+
+ +

Specify values for mat3[] array uniform.

+
Parameters
+ + + + +
nameName of the uniform variable in GLSL
matrixArraypointer to array of mat3 values
lengthNumber of elements in the array
+
+
+ +
+
+ +

◆ setUniformArray() [6/6]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Shader::setUniformArray (const std::string & name,
const Glsl::Mat4matrixArray,
std::size_t length 
)
+
+ +

Specify values for mat4[] array uniform.

+
Parameters
+ + + + +
nameName of the uniform variable in GLSL
matrixArraypointer to array of mat4 values
lengthNumber of elements in the array
+
+
+ +
+
+

Member Data Documentation

+ +

◆ CurrentTexture

+ +
+
+ + + + + +
+ + + + +
CurrentTextureType sf::Shader::CurrentTexture
+
+static
+
+ +

Represents the texture of the object being drawn.

+
See also
setUniform(const std::string&, CurrentTextureType)
+ +

Definition at line 82 of file Shader.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Shader.png b/SFML/doc/html/classsf_1_1Shader.png new file mode 100644 index 0000000..52135c6 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Shader.png differ diff --git a/SFML/doc/html/classsf_1_1Shape-members.html b/SFML/doc/html/classsf_1_1Shape-members.html new file mode 100644 index 0000000..27fe13f --- /dev/null +++ b/SFML/doc/html/classsf_1_1Shape-members.html @@ -0,0 +1,99 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Shape Member List
+
+
+ +

This is the complete list of members for sf::Shape, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
getFillColor() constsf::Shape
getGlobalBounds() constsf::Shape
getInverseTransform() constsf::Transformable
getLocalBounds() constsf::Shape
getOrigin() constsf::Transformable
getOutlineColor() constsf::Shape
getOutlineThickness() constsf::Shape
getPoint(std::size_t index) const =0sf::Shapepure virtual
getPointCount() const =0sf::Shapepure virtual
getPosition() constsf::Transformable
getRotation() constsf::Transformable
getScale() constsf::Transformable
getTexture() constsf::Shape
getTextureRect() constsf::Shape
getTransform() constsf::Transformable
move(float offsetX, float offsetY)sf::Transformable
move(const Vector2f &offset)sf::Transformable
rotate(float angle)sf::Transformable
scale(float factorX, float factorY)sf::Transformable
scale(const Vector2f &factor)sf::Transformable
setFillColor(const Color &color)sf::Shape
setOrigin(float x, float y)sf::Transformable
setOrigin(const Vector2f &origin)sf::Transformable
setOutlineColor(const Color &color)sf::Shape
setOutlineThickness(float thickness)sf::Shape
setPosition(float x, float y)sf::Transformable
setPosition(const Vector2f &position)sf::Transformable
setRotation(float angle)sf::Transformable
setScale(float factorX, float factorY)sf::Transformable
setScale(const Vector2f &factors)sf::Transformable
setTexture(const Texture *texture, bool resetRect=false)sf::Shape
setTextureRect(const IntRect &rect)sf::Shape
Shape()sf::Shapeprotected
Transformable()sf::Transformable
update()sf::Shapeprotected
~Drawable()sf::Drawableinlinevirtual
~Shape()sf::Shapevirtual
~Transformable()sf::Transformablevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Shape.html b/SFML/doc/html/classsf_1_1Shape.html new file mode 100644 index 0000000..ea4bec8 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Shape.html @@ -0,0 +1,1328 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Base class for textured shapes with outline. + More...

+ +

#include <Shape.hpp>

+
+Inheritance diagram for sf::Shape:
+
+
+ + +sf::Drawable +sf::Transformable +sf::CircleShape +sf::ConvexShape +sf::RectangleShape + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual ~Shape ()
 Virtual destructor. More...
 
void setTexture (const Texture *texture, bool resetRect=false)
 Change the source texture of the shape. More...
 
void setTextureRect (const IntRect &rect)
 Set the sub-rectangle of the texture that the shape will display. More...
 
void setFillColor (const Color &color)
 Set the fill color of the shape. More...
 
void setOutlineColor (const Color &color)
 Set the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Set the thickness of the shape's outline. More...
 
const TexturegetTexture () const
 Get the source texture of the shape. More...
 
const IntRectgetTextureRect () const
 Get the sub-rectangle of the texture displayed by the shape. More...
 
const ColorgetFillColor () const
 Get the fill color of the shape. More...
 
const ColorgetOutlineColor () const
 Get the outline color of the shape. More...
 
float getOutlineThickness () const
 Get the outline thickness of the shape. More...
 
virtual std::size_t getPointCount () const =0
 Get the total number of points of the shape. More...
 
virtual Vector2f getPoint (std::size_t index) const =0
 Get a point of the shape. More...
 
FloatRect getLocalBounds () const
 Get the local bounding rectangle of the entity. More...
 
FloatRect getGlobalBounds () const
 Get the global (non-minimal) bounding rectangle of the entity. More...
 
void setPosition (float x, float y)
 set the position of the object More...
 
void setPosition (const Vector2f &position)
 set the position of the object More...
 
void setRotation (float angle)
 set the orientation of the object More...
 
void setScale (float factorX, float factorY)
 set the scale factors of the object More...
 
void setScale (const Vector2f &factors)
 set the scale factors of the object More...
 
void setOrigin (float x, float y)
 set the local origin of the object More...
 
void setOrigin (const Vector2f &origin)
 set the local origin of the object More...
 
const Vector2fgetPosition () const
 get the position of the object More...
 
float getRotation () const
 get the orientation of the object More...
 
const Vector2fgetScale () const
 get the current scale of the object More...
 
const Vector2fgetOrigin () const
 get the local origin of the object More...
 
void move (float offsetX, float offsetY)
 Move the object by a given offset. More...
 
void move (const Vector2f &offset)
 Move the object by a given offset. More...
 
void rotate (float angle)
 Rotate the object. More...
 
void scale (float factorX, float factorY)
 Scale the object. More...
 
void scale (const Vector2f &factor)
 Scale the object. More...
 
const TransformgetTransform () const
 get the combined transform of the object More...
 
const TransformgetInverseTransform () const
 get the inverse of the combined transform of the object More...
 
+ + + + + + + +

+Protected Member Functions

 Shape ()
 Default constructor. More...
 
void update ()
 Recompute the internal geometry of the shape. More...
 
+

Detailed Description

+

Base class for textured shapes with outline.

+

sf::Shape is a drawable class that allows to define and display a custom convex shape on a render target.

+

It's only an abstract base, it needs to be specialized for concrete types of shapes (circle, rectangle, convex polygon, star, ...).

+

In addition to the attributes provided by the specialized shape classes, a shape always has the following attributes:

    +
  • a texture
  • +
  • a texture rectangle
  • +
  • a fill color
  • +
  • an outline color
  • +
  • an outline thickness
  • +
+

Each feature is optional, and can be disabled easily:

    +
  • the texture can be null
  • +
  • the fill/outline colors can be sf::Color::Transparent
  • +
  • the outline thickness can be zero
  • +
+

You can write your own derived shape class, there are only two virtual functions to override:

    +
  • getPointCount must return the number of points of the shape
  • +
  • getPoint must return the points of the shape
  • +
+
See also
sf::RectangleShape, sf::CircleShape, sf::ConvexShape, sf::Transformable
+ +

Definition at line 44 of file Shape.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ~Shape()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::Shape::~Shape ()
+
+virtual
+
+ +

Virtual destructor.

+ +
+
+ +

◆ Shape()

+ +
+
+ + + + + +
+ + + + + + + +
sf::Shape::Shape ()
+
+protected
+
+ +

Default constructor.

+ +
+
+

Member Function Documentation

+ +

◆ getFillColor()

+ +
+
+ + + + + + + +
const Color& sf::Shape::getFillColor () const
+
+ +

Get the fill color of the shape.

+
Returns
Fill color of the shape
+
See also
setFillColor
+ +
+
+ +

◆ getGlobalBounds()

+ +
+
+ + + + + + + +
FloatRect sf::Shape::getGlobalBounds () const
+
+ +

Get the global (non-minimal) bounding rectangle of the entity.

+

The returned rectangle is in global coordinates, which means that it takes into account the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the shape in the global 2D world's coordinate system.

+

This function does not necessarily return the minimal bounding rectangle. It merely ensures that the returned rectangle covers all the vertices (but possibly more). This allows for a fast approximation of the bounds as a first check; you may want to use more precise checks on top of that.

+
Returns
Global bounding rectangle of the entity
+ +
+
+ +

◆ getInverseTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getInverseTransform () const
+
+inherited
+
+ +

get the inverse of the combined transform of the object

+
Returns
Inverse of the combined transformations applied to the object
+
See also
getTransform
+ +
+
+ +

◆ getLocalBounds()

+ +
+
+ + + + + + + +
FloatRect sf::Shape::getLocalBounds () const
+
+ +

Get the local bounding rectangle of the entity.

+

The returned rectangle is in local coordinates, which means that it ignores the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the entity in the entity's coordinate system.

+
Returns
Local bounding rectangle of the entity
+ +
+
+ +

◆ getOrigin()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getOrigin () const
+
+inherited
+
+ +

get the local origin of the object

+
Returns
Current origin
+
See also
setOrigin
+ +
+
+ +

◆ getOutlineColor()

+ +
+
+ + + + + + + +
const Color& sf::Shape::getOutlineColor () const
+
+ +

Get the outline color of the shape.

+
Returns
Outline color of the shape
+
See also
setOutlineColor
+ +
+
+ +

◆ getOutlineThickness()

+ +
+
+ + + + + + + +
float sf::Shape::getOutlineThickness () const
+
+ +

Get the outline thickness of the shape.

+
Returns
Outline thickness of the shape
+
See also
setOutlineThickness
+ +
+
+ +

◆ getPoint()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual Vector2f sf::Shape::getPoint (std::size_t index) const
+
+pure virtual
+
+ +

Get a point of the shape.

+

The returned point is in local coordinates, that is, the shape's transforms (position, rotation, scale) are not taken into account. The result is undefined if index is out of the valid range.

+
Parameters
+ + +
indexIndex of the point to get, in range [0 .. getPointCount() - 1]
+
+
+
Returns
index-th point of the shape
+
See also
getPointCount
+ +

Implemented in sf::ConvexShape, sf::CircleShape, and sf::RectangleShape.

+ +
+
+ +

◆ getPointCount()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::size_t sf::Shape::getPointCount () const
+
+pure virtual
+
+ +

Get the total number of points of the shape.

+
Returns
Number of points of the shape
+
See also
getPoint
+ +

Implemented in sf::CircleShape, sf::RectangleShape, and sf::ConvexShape.

+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getPosition () const
+
+inherited
+
+ +

get the position of the object

+
Returns
Current position
+
See also
setPosition
+ +
+
+ +

◆ getRotation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Transformable::getRotation () const
+
+inherited
+
+ +

get the orientation of the object

+

The rotation is always in the range [0, 360].

+
Returns
Current rotation, in degrees
+
See also
setRotation
+ +
+
+ +

◆ getScale()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getScale () const
+
+inherited
+
+ +

get the current scale of the object

+
Returns
Current scale factors
+
See also
setScale
+ +
+
+ +

◆ getTexture()

+ +
+
+ + + + + + + +
const Texture* sf::Shape::getTexture () const
+
+ +

Get the source texture of the shape.

+

If the shape has no source texture, a NULL pointer is returned. The returned pointer is const, which means that you can't modify the texture when you retrieve it with this function.

+
Returns
Pointer to the shape's texture
+
See also
setTexture
+ +
+
+ +

◆ getTextureRect()

+ +
+
+ + + + + + + +
const IntRect& sf::Shape::getTextureRect () const
+
+ +

Get the sub-rectangle of the texture displayed by the shape.

+
Returns
Texture rectangle of the shape
+
See also
setTextureRect
+ +
+
+ +

◆ getTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getTransform () const
+
+inherited
+
+ +

get the combined transform of the object

+
Returns
Transform combining the position/rotation/scale/origin of the object
+
See also
getInverseTransform
+ +
+
+ +

◆ move() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::move (float offsetX,
float offsetY 
)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f pos = object.getPosition();
object.setPosition(pos.x + offsetX, pos.y + offsetY);
Parameters
+ + + +
offsetXX offset
offsetYY offset
+
+
+
See also
setPosition
+ +
+
+ +

◆ move() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::move (const Vector2foffset)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

object.setPosition(object.getPosition() + offset);
Parameters
+ + +
offsetOffset
+
+
+
See also
setPosition
+ +
+
+ +

◆ rotate()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::rotate (float angle)
+
+inherited
+
+ +

Rotate the object.

+

This function adds to the current rotation of the object, unlike setRotation which overwrites it. Thus, it is equivalent to the following code:

object.setRotation(object.getRotation() + angle);
Parameters
+ + +
angleAngle of rotation, in degrees
+
+
+ +
+
+ +

◆ scale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::scale (float factorX,
float factorY 
)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factorX, scale.y * factorY);
Parameters
+ + + +
factorXHorizontal scale factor
factorYVertical scale factor
+
+
+
See also
setScale
+ +
+
+ +

◆ scale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::scale (const Vector2ffactor)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factor.x, scale.y * factor.y);
Parameters
+ + +
factorScale factors
+
+
+
See also
setScale
+ +
+
+ +

◆ setFillColor()

+ +
+
+ + + + + + + + +
void sf::Shape::setFillColor (const Colorcolor)
+
+ +

Set the fill color of the shape.

+

This color is modulated (multiplied) with the shape's texture if any. It can be used to colorize the shape, or change its global opacity. You can use sf::Color::Transparent to make the inside of the shape transparent, and have the outline alone. By default, the shape's fill color is opaque white.

+
Parameters
+ + +
colorNew color of the shape
+
+
+
See also
getFillColor, setOutlineColor
+ +
+
+ +

◆ setOrigin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setOrigin (float x,
float y 
)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new origin
yY coordinate of the new origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOrigin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setOrigin (const Vector2forigin)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + +
originNew origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOutlineColor()

+ +
+
+ + + + + + + + +
void sf::Shape::setOutlineColor (const Colorcolor)
+
+ +

Set the outline color of the shape.

+

By default, the shape's outline color is opaque white.

+
Parameters
+ + +
colorNew outline color of the shape
+
+
+
See also
getOutlineColor, setFillColor
+ +
+
+ +

◆ setOutlineThickness()

+ +
+
+ + + + + + + + +
void sf::Shape::setOutlineThickness (float thickness)
+
+ +

Set the thickness of the shape's outline.

+

Note that negative values are allowed (so that the outline expands towards the center of the shape), and using zero disables the outline. By default, the outline thickness is 0.

+
Parameters
+ + +
thicknessNew outline thickness
+
+
+
See also
getOutlineThickness
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setPosition (float x,
float y 
)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new position
yY coordinate of the new position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setPosition (const Vector2fposition)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + +
positionNew position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setRotation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setRotation (float angle)
+
+inherited
+
+ +

set the orientation of the object

+

This function completely overwrites the previous rotation. See the rotate function to add an angle based on the previous rotation instead. The default rotation of a transformable object is 0.

+
Parameters
+ + +
angleNew rotation, in degrees
+
+
+
See also
rotate, getRotation
+ +
+
+ +

◆ setScale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setScale (float factorX,
float factorY 
)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + + +
factorXNew horizontal scale factor
factorYNew vertical scale factor
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setScale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setScale (const Vector2ffactors)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + +
factorsNew scale factors
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setTexture()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Shape::setTexture (const Texturetexture,
bool resetRect = false 
)
+
+ +

Change the source texture of the shape.

+

The texture argument refers to a texture that must exist as long as the shape uses it. Indeed, the shape doesn't store its own copy of the texture, but rather keeps a pointer to the one that you passed to this function. If the source texture is destroyed and the shape tries to use it, the behavior is undefined. texture can be NULL to disable texturing. If resetRect is true, the TextureRect property of the shape is automatically adjusted to the size of the new texture. If it is false, the texture rect is left unchanged.

+
Parameters
+ + + +
textureNew texture
resetRectShould the texture rect be reset to the size of the new texture?
+
+
+
See also
getTexture, setTextureRect
+ +
+
+ +

◆ setTextureRect()

+ +
+
+ + + + + + + + +
void sf::Shape::setTextureRect (const IntRectrect)
+
+ +

Set the sub-rectangle of the texture that the shape will display.

+

The texture rect is useful when you don't want to display the whole texture, but rather a part of it. By default, the texture rect covers the entire texture.

+
Parameters
+ + +
rectRectangle defining the region of the texture to display
+
+
+
See also
getTextureRect, setTexture
+ +
+
+ +

◆ update()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Shape::update ()
+
+protected
+
+ +

Recompute the internal geometry of the shape.

+

This function must be called by the derived class everytime the shape's points change (i.e. the result of either getPointCount or getPoint is different).

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Shape.png b/SFML/doc/html/classsf_1_1Shape.png new file mode 100644 index 0000000..83c20e7 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Shape.png differ diff --git a/SFML/doc/html/classsf_1_1Socket-members.html b/SFML/doc/html/classsf_1_1Socket-members.html new file mode 100644 index 0000000..f6ceacc --- /dev/null +++ b/SFML/doc/html/classsf_1_1Socket-members.html @@ -0,0 +1,82 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Socket Member List
+
+
+ +

This is the complete list of members for sf::Socket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
AnyPort enum valuesf::Socket
close()sf::Socketprotected
create()sf::Socketprotected
create(SocketHandle handle)sf::Socketprotected
Disconnected enum valuesf::Socket
Done enum valuesf::Socket
Error enum valuesf::Socket
getHandle() constsf::Socketprotected
isBlocking() constsf::Socket
NonCopyable()sf::NonCopyableinlineprivate
NotReady enum valuesf::Socket
Partial enum valuesf::Socket
setBlocking(bool blocking)sf::Socket
Socket(Type type)sf::Socketprotected
SocketSelector (defined in sf::Socket)sf::Socketfriend
Status enum namesf::Socket
Tcp enum valuesf::Socketprotected
Type enum namesf::Socketprotected
Udp enum valuesf::Socketprotected
~NonCopyable()sf::NonCopyableinlineprivate
~Socket()sf::Socketvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Socket.html b/SFML/doc/html/classsf_1_1Socket.html new file mode 100644 index 0000000..badd19d --- /dev/null +++ b/SFML/doc/html/classsf_1_1Socket.html @@ -0,0 +1,476 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Base class for all the socket types. + More...

+ +

#include <Socket.hpp>

+
+Inheritance diagram for sf::Socket:
+
+
+ + +sf::NonCopyable +sf::TcpListener +sf::TcpSocket +sf::UdpSocket + +
+ + + + + + + + +

+Public Types

enum  Status {
+  Done, +NotReady, +Partial, +Disconnected, +
+  Error +
+ }
 Status codes that may be returned by socket functions. More...
 
enum  { AnyPort = 0 + }
 Some special values used by sockets. More...
 
+ + + + + + + + + + +

+Public Member Functions

virtual ~Socket ()
 Destructor. More...
 
void setBlocking (bool blocking)
 Set the blocking state of the socket. More...
 
bool isBlocking () const
 Tell whether the socket is in blocking or non-blocking mode. More...
 
+ + + + +

+Protected Types

enum  Type { Tcp, +Udp + }
 Types of protocols that the socket can use. More...
 
+ + + + + + + + + + + + + + + + +

+Protected Member Functions

 Socket (Type type)
 Default constructor. More...
 
SocketHandle getHandle () const
 Return the internal handle of the socket. More...
 
void create ()
 Create the internal representation of the socket. More...
 
void create (SocketHandle handle)
 Create the internal representation of the socket from a socket handle. More...
 
void close ()
 Close the socket gracefully. More...
 
+ + + +

+Friends

+class SocketSelector
 
+

Detailed Description

+

Base class for all the socket types.

+

This class mainly defines internal stuff to be used by derived classes.

+

The only public features that it defines, and which is therefore common to all the socket classes, is the blocking state. All sockets can be set as blocking or non-blocking.

+

In blocking mode, socket functions will hang until the operation completes, which means that the entire program (well, in fact the current thread if you use multiple ones) will be stuck waiting for your socket operation to complete.

+

In non-blocking mode, all the socket functions will return immediately. If the socket is not ready to complete the requested operation, the function simply returns the proper status code (Socket::NotReady).

+

The default mode, which is blocking, is the one that is generally used, in combination with threads or selectors. The non-blocking mode is rather used in real-time applications that run an endless loop that can poll the socket often enough, and cannot afford blocking this loop.

+
See also
sf::TcpListener, sf::TcpSocket, sf::UdpSocket
+ +

Definition at line 45 of file Socket.hpp.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Some special values used by sockets.

+ + +
Enumerator
AnyPort 

Special value that tells the system to pick any available port.

+
+ +

Definition at line 66 of file Socket.hpp.

+ +
+
+ +

◆ Status

+ +
+
+ + + + +
enum sf::Socket::Status
+
+ +

Status codes that may be returned by socket functions.

+ + + + + + +
Enumerator
Done 

The socket has sent / received the data.

+
NotReady 

The socket is not ready to send / receive data yet.

+
Partial 

The socket sent a part of the data.

+
Disconnected 

The TCP socket has been disconnected.

+
Error 

An unexpected error happened.

+
+ +

Definition at line 53 of file Socket.hpp.

+ +
+
+ +

◆ Type

+ +
+
+ + + + + +
+ + + + +
enum sf::Socket::Type
+
+protected
+
+ +

Types of protocols that the socket can use.

+ + + +
Enumerator
Tcp 

TCP protocol.

+
Udp 

UDP protocol.

+
+ +

Definition at line 114 of file Socket.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ ~Socket()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::Socket::~Socket ()
+
+virtual
+
+ +

Destructor.

+ +
+
+ +

◆ Socket()

+ +
+
+ + + + + +
+ + + + + + + + +
sf::Socket::Socket (Type type)
+
+protected
+
+ +

Default constructor.

+

This constructor can only be accessed by derived classes.

+
Parameters
+ + +
typeType of the socket (TCP or UDP)
+
+
+ +
+
+

Member Function Documentation

+ +

◆ close()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Socket::close ()
+
+protected
+
+ +

Close the socket gracefully.

+

This function can only be accessed by derived classes.

+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Socket::create ()
+
+protected
+
+ +

Create the internal representation of the socket.

+

This function can only be accessed by derived classes.

+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Socket::create (SocketHandle handle)
+
+protected
+
+ +

Create the internal representation of the socket from a socket handle.

+

This function can only be accessed by derived classes.

+
Parameters
+ + +
handleOS-specific handle of the socket to wrap
+
+
+ +
+
+ +

◆ getHandle()

+ +
+
+ + + + + +
+ + + + + + + +
SocketHandle sf::Socket::getHandle () const
+
+protected
+
+ +

Return the internal handle of the socket.

+

The returned handle may be invalid if the socket was not created yet (or already destroyed). This function can only be accessed by derived classes.

+
Returns
The internal (OS-specific) handle of the socket
+ +
+
+ +

◆ isBlocking()

+ +
+
+ + + + + + + +
bool sf::Socket::isBlocking () const
+
+ +

Tell whether the socket is in blocking or non-blocking mode.

+
Returns
True if the socket is blocking, false otherwise
+
See also
setBlocking
+ +
+
+ +

◆ setBlocking()

+ +
+
+ + + + + + + + +
void sf::Socket::setBlocking (bool blocking)
+
+ +

Set the blocking state of the socket.

+

In blocking mode, calls will not return until they have completed their task. For example, a call to Receive in blocking mode won't return until some data was actually received. In non-blocking mode, calls will always return immediately, using the return code to signal whether there was data available or not. By default, all sockets are blocking.

+
Parameters
+ + +
blockingTrue to set the socket as blocking, false for non-blocking
+
+
+
See also
isBlocking
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Socket.png b/SFML/doc/html/classsf_1_1Socket.png new file mode 100644 index 0000000..4143c15 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Socket.png differ diff --git a/SFML/doc/html/classsf_1_1SocketSelector-members.html b/SFML/doc/html/classsf_1_1SocketSelector-members.html new file mode 100644 index 0000000..2413bf1 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SocketSelector-members.html @@ -0,0 +1,70 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SocketSelector Member List
+
+
+ +

This is the complete list of members for sf::SocketSelector, including all inherited members.

+ + + + + + + + + + +
add(Socket &socket)sf::SocketSelector
clear()sf::SocketSelector
isReady(Socket &socket) constsf::SocketSelector
operator=(const SocketSelector &right)sf::SocketSelector
remove(Socket &socket)sf::SocketSelector
SocketSelector()sf::SocketSelector
SocketSelector(const SocketSelector &copy)sf::SocketSelector
wait(Time timeout=Time::Zero)sf::SocketSelector
~SocketSelector()sf::SocketSelector
+ + + + diff --git a/SFML/doc/html/classsf_1_1SocketSelector.html b/SFML/doc/html/classsf_1_1SocketSelector.html new file mode 100644 index 0000000..ae79394 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SocketSelector.html @@ -0,0 +1,346 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::SocketSelector Class Reference
+
+
+ +

Multiplexer that allows to read from multiple sockets. + More...

+ +

#include <SocketSelector.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SocketSelector ()
 Default constructor. More...
 
 SocketSelector (const SocketSelector &copy)
 Copy constructor. More...
 
 ~SocketSelector ()
 Destructor. More...
 
void add (Socket &socket)
 Add a new socket to the selector. More...
 
void remove (Socket &socket)
 Remove a socket from the selector. More...
 
void clear ()
 Remove all the sockets stored in the selector. More...
 
bool wait (Time timeout=Time::Zero)
 Wait until one or more sockets are ready to receive. More...
 
bool isReady (Socket &socket) const
 Test a socket to know if it is ready to receive data. More...
 
SocketSelectoroperator= (const SocketSelector &right)
 Overload of assignment operator. More...
 
+

Detailed Description

+

Multiplexer that allows to read from multiple sockets.

+

Socket selectors provide a way to wait until some data is available on a set of sockets, instead of just one.

+

This is convenient when you have multiple sockets that may possibly receive data, but you don't know which one will be ready first. In particular, it avoids to use a thread for each socket; with selectors, a single thread can handle all the sockets.

+

All types of sockets can be used in a selector:

+

A selector doesn't store its own copies of the sockets (socket classes are not copyable anyway), it simply keeps a reference to the original sockets that you pass to the "add" function. Therefore, you can't use the selector as a socket container, you must store them outside and make sure that they are alive as long as they are used in the selector.

+

Using a selector is simple:

    +
  • populate the selector with all the sockets that you want to observe
  • +
  • make it wait until there is data available on any of the sockets
  • +
  • test each socket to find out which ones are ready
  • +
+

Usage example:

// Create a socket to listen to new connections
sf::TcpListener listener;
listener.listen(55001);
// Create a list to store the future clients
std::list<sf::TcpSocket*> clients;
// Create a selector
// Add the listener to the selector
selector.add(listener);
// Endless loop that waits for new connections
while (running)
{
// Make the selector wait for data on any socket
if (selector.wait())
{
// Test the listener
if (selector.isReady(listener))
{
// The listener is ready: there is a pending connection
if (listener.accept(*client) == sf::Socket::Done)
{
// Add the new client to the clients list
clients.push_back(client);
// Add the new client to the selector so that we will
// be notified when he sends something
selector.add(*client);
}
else
{
// Error, we won't get a new connection, delete the socket
delete client;
}
}
else
{
// The listener socket is not ready, test all other sockets (the clients)
for (std::list<sf::TcpSocket*>::iterator it = clients.begin(); it != clients.end(); ++it)
{
sf::TcpSocket& client = **it;
if (selector.isReady(client))
{
// The client has sent some data, we can receive it
sf::Packet packet;
if (client.receive(packet) == sf::Socket::Done)
{
...
}
}
}
}
}
}
See also
sf::Socket
+ +

Definition at line 43 of file SocketSelector.hpp.

+

Constructor & Destructor Documentation

+ +

◆ SocketSelector() [1/2]

+ +
+
+ + + + + + + +
sf::SocketSelector::SocketSelector ()
+
+ +

Default constructor.

+ +
+
+ +

◆ SocketSelector() [2/2]

+ +
+
+ + + + + + + + +
sf::SocketSelector::SocketSelector (const SocketSelectorcopy)
+
+ +

Copy constructor.

+
Parameters
+ + +
copyInstance to copy
+
+
+ +
+
+ +

◆ ~SocketSelector()

+ +
+
+ + + + + + + +
sf::SocketSelector::~SocketSelector ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ add()

+ +
+
+ + + + + + + + +
void sf::SocketSelector::add (Socketsocket)
+
+ +

Add a new socket to the selector.

+

This function keeps a weak reference to the socket, so you have to make sure that the socket is not destroyed while it is stored in the selector. This function does nothing if the socket is not valid.

+
Parameters
+ + +
socketReference to the socket to add
+
+
+
See also
remove, clear
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + + + +
void sf::SocketSelector::clear ()
+
+ +

Remove all the sockets stored in the selector.

+

This function doesn't destroy any instance, it simply removes all the references that the selector has to external sockets.

+
See also
add, remove
+ +
+
+ +

◆ isReady()

+ +
+
+ + + + + + + + +
bool sf::SocketSelector::isReady (Socketsocket) const
+
+ +

Test a socket to know if it is ready to receive data.

+

This function must be used after a call to Wait, to know which sockets are ready to receive data. If a socket is ready, a call to receive will never block because we know that there is data available to read. Note that if this function returns true for a TcpListener, this means that it is ready to accept a new connection.

+
Parameters
+ + +
socketSocket to test
+
+
+
Returns
True if the socket is ready to read, false otherwise
+
See also
isReady
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
SocketSelector& sf::SocketSelector::operator= (const SocketSelectorright)
+
+ +

Overload of assignment operator.

+
Parameters
+ + +
rightInstance to assign
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ remove()

+ +
+
+ + + + + + + + +
void sf::SocketSelector::remove (Socketsocket)
+
+ +

Remove a socket from the selector.

+

This function doesn't destroy the socket, it simply removes the reference that the selector has to it.

+
Parameters
+ + +
socketReference to the socket to remove
+
+
+
See also
add, clear
+ +
+
+ +

◆ wait()

+ +
+
+ + + + + + + + +
bool sf::SocketSelector::wait (Time timeout = Time::Zero)
+
+ +

Wait until one or more sockets are ready to receive.

+

This function returns as soon as at least one socket has some data available to be received. To know which sockets are ready, use the isReady function. If you use a timeout and no socket is ready before the timeout is over, the function returns false.

+
Parameters
+ + +
timeoutMaximum time to wait, (use Time::Zero for infinity)
+
+
+
Returns
True if there are sockets ready, false otherwise
+
See also
isReady
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Sound-members.html b/SFML/doc/html/classsf_1_1Sound-members.html new file mode 100644 index 0000000..10dff03 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Sound-members.html @@ -0,0 +1,99 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Sound Member List
+
+
+ +

This is the complete list of members for sf::Sound, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
getAttenuation() constsf::SoundSource
getBuffer() constsf::Sound
getLoop() constsf::Sound
getMinDistance() constsf::SoundSource
getPitch() constsf::SoundSource
getPlayingOffset() constsf::Sound
getPosition() constsf::SoundSource
getStatus() constsf::Soundvirtual
getVolume() constsf::SoundSource
isRelativeToListener() constsf::SoundSource
m_sourcesf::SoundSourceprotected
operator=(const Sound &right)sf::Sound
sf::SoundSource::operator=(const SoundSource &right)sf::SoundSource
pause()sf::Soundvirtual
Paused enum valuesf::SoundSource
play()sf::Soundvirtual
Playing enum valuesf::SoundSource
resetBuffer()sf::Sound
setAttenuation(float attenuation)sf::SoundSource
setBuffer(const SoundBuffer &buffer)sf::Sound
setLoop(bool loop)sf::Sound
setMinDistance(float distance)sf::SoundSource
setPitch(float pitch)sf::SoundSource
setPlayingOffset(Time timeOffset)sf::Sound
setPosition(float x, float y, float z)sf::SoundSource
setPosition(const Vector3f &position)sf::SoundSource
setRelativeToListener(bool relative)sf::SoundSource
setVolume(float volume)sf::SoundSource
Sound()sf::Sound
Sound(const SoundBuffer &buffer)sf::Soundexplicit
Sound(const Sound &copy)sf::Sound
SoundSource(const SoundSource &copy)sf::SoundSource
SoundSource()sf::SoundSourceprotected
Status enum namesf::SoundSource
stop()sf::Soundvirtual
Stopped enum valuesf::SoundSource
~Sound()sf::Sound
~SoundSource()sf::SoundSourcevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Sound.html b/SFML/doc/html/classsf_1_1Sound.html new file mode 100644 index 0000000..4c41c07 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Sound.html @@ -0,0 +1,1123 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Regular sound that can be played in the audio environment. + More...

+ +

#include <Sound.hpp>

+
+Inheritance diagram for sf::Sound:
+
+
+ + +sf::SoundSource +sf::AlResource + +
+ + + + + +

+Public Types

enum  Status { Stopped, +Paused, +Playing + }
 Enumeration of the sound source states. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sound ()
 Default constructor. More...
 
 Sound (const SoundBuffer &buffer)
 Construct the sound with a buffer. More...
 
 Sound (const Sound &copy)
 Copy constructor. More...
 
 ~Sound ()
 Destructor. More...
 
void play ()
 Start or resume playing the sound. More...
 
void pause ()
 Pause the sound. More...
 
void stop ()
 stop playing the sound More...
 
void setBuffer (const SoundBuffer &buffer)
 Set the source buffer containing the audio data to play. More...
 
void setLoop (bool loop)
 Set whether or not the sound should loop after reaching the end. More...
 
void setPlayingOffset (Time timeOffset)
 Change the current playing position of the sound. More...
 
const SoundBuffergetBuffer () const
 Get the audio buffer attached to the sound. More...
 
bool getLoop () const
 Tell whether or not the sound is in loop mode. More...
 
Time getPlayingOffset () const
 Get the current playing position of the sound. More...
 
Status getStatus () const
 Get the current status of the sound (stopped, paused, playing) More...
 
Soundoperator= (const Sound &right)
 Overload of assignment operator. More...
 
void resetBuffer ()
 Reset the internal buffer of the sound. More...
 
void setPitch (float pitch)
 Set the pitch of the sound. More...
 
void setVolume (float volume)
 Set the volume of the sound. More...
 
void setPosition (float x, float y, float z)
 Set the 3D position of the sound in the audio scene. More...
 
void setPosition (const Vector3f &position)
 Set the 3D position of the sound in the audio scene. More...
 
void setRelativeToListener (bool relative)
 Make the sound's position relative to the listener or absolute. More...
 
void setMinDistance (float distance)
 Set the minimum distance of the sound. More...
 
void setAttenuation (float attenuation)
 Set the attenuation factor of the sound. More...
 
float getPitch () const
 Get the pitch of the sound. More...
 
float getVolume () const
 Get the volume of the sound. More...
 
Vector3f getPosition () const
 Get the 3D position of the sound in the audio scene. More...
 
bool isRelativeToListener () const
 Tell whether the sound's position is relative to the listener or is absolute. More...
 
float getMinDistance () const
 Get the minimum distance of the sound. More...
 
float getAttenuation () const
 Get the attenuation factor of the sound. More...
 
+ + + + +

+Protected Attributes

unsigned int m_source
 OpenAL source identifier. More...
 
+

Detailed Description

+

Regular sound that can be played in the audio environment.

+

sf::Sound is the class to use to play sounds.

+

It provides:

    +
  • Control (play, pause, stop)
  • +
  • Ability to modify output parameters in real-time (pitch, volume, ...)
  • +
  • 3D spatial features (position, attenuation, ...).
  • +
+

sf::Sound is perfect for playing short sounds that can fit in memory and require no latency, like foot steps or gun shots. For longer sounds, like background musics or long speeches, rather see sf::Music (which is based on streaming).

+

In order to work, a sound must be given a buffer of audio data to play. Audio data (samples) is stored in sf::SoundBuffer, and attached to a sound with the setBuffer() function. The buffer object attached to a sound must remain alive as long as the sound uses it. Note that multiple sounds can use the same sound buffer at the same time.

+

Usage example:

buffer.loadFromFile("sound.wav");
sf::Sound sound;
sound.setBuffer(buffer);
sound.play();
See also
sf::SoundBuffer, sf::Music
+ +

Definition at line 45 of file Sound.hpp.

+

Member Enumeration Documentation

+ +

◆ Status

+ +
+
+ + + + + +
+ + + + +
enum sf::SoundSource::Status
+
+inherited
+
+ +

Enumeration of the sound source states.

+ + + + +
Enumerator
Stopped 

Sound is not playing.

+
Paused 

Sound is paused.

+
Playing 

Sound is playing.

+
+ +

Definition at line 50 of file SoundSource.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Sound() [1/3]

+ +
+
+ + + + + + + +
sf::Sound::Sound ()
+
+ +

Default constructor.

+ +
+
+ +

◆ Sound() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
sf::Sound::Sound (const SoundBufferbuffer)
+
+explicit
+
+ +

Construct the sound with a buffer.

+
Parameters
+ + +
bufferSound buffer containing the audio data to play with the sound
+
+
+ +
+
+ +

◆ Sound() [3/3]

+ +
+
+ + + + + + + + +
sf::Sound::Sound (const Soundcopy)
+
+ +

Copy constructor.

+
Parameters
+ + +
copyInstance to copy
+
+
+ +
+
+ +

◆ ~Sound()

+ +
+
+ + + + + + + +
sf::Sound::~Sound ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ getAttenuation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getAttenuation () const
+
+inherited
+
+ +

Get the attenuation factor of the sound.

+
Returns
Attenuation factor of the sound
+
See also
setAttenuation, getMinDistance
+ +
+
+ +

◆ getBuffer()

+ +
+
+ + + + + + + +
const SoundBuffer* sf::Sound::getBuffer () const
+
+ +

Get the audio buffer attached to the sound.

+
Returns
Sound buffer attached to the sound (can be NULL)
+ +
+
+ +

◆ getLoop()

+ +
+
+ + + + + + + +
bool sf::Sound::getLoop () const
+
+ +

Tell whether or not the sound is in loop mode.

+
Returns
True if the sound is looping, false otherwise
+
See also
setLoop
+ +
+
+ +

◆ getMinDistance()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getMinDistance () const
+
+inherited
+
+ +

Get the minimum distance of the sound.

+
Returns
Minimum distance of the sound
+
See also
setMinDistance, getAttenuation
+ +
+
+ +

◆ getPitch()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getPitch () const
+
+inherited
+
+ +

Get the pitch of the sound.

+
Returns
Pitch of the sound
+
See also
setPitch
+ +
+
+ +

◆ getPlayingOffset()

+ +
+
+ + + + + + + +
Time sf::Sound::getPlayingOffset () const
+
+ +

Get the current playing position of the sound.

+
Returns
Current playing position, from the beginning of the sound
+
See also
setPlayingOffset
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
Vector3f sf::SoundSource::getPosition () const
+
+inherited
+
+ +

Get the 3D position of the sound in the audio scene.

+
Returns
Position of the sound
+
See also
setPosition
+ +
+
+ +

◆ getStatus()

+ +
+
+ + + + + +
+ + + + + + + +
Status sf::Sound::getStatus () const
+
+virtual
+
+ +

Get the current status of the sound (stopped, paused, playing)

+
Returns
Current status of the sound
+ +

Reimplemented from sf::SoundSource.

+ +
+
+ +

◆ getVolume()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getVolume () const
+
+inherited
+
+ +

Get the volume of the sound.

+
Returns
Volume of the sound, in the range [0, 100]
+
See also
setVolume
+ +
+
+ +

◆ isRelativeToListener()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::SoundSource::isRelativeToListener () const
+
+inherited
+
+ +

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
+
See also
setRelativeToListener
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
Sound& sf::Sound::operator= (const Soundright)
+
+ +

Overload of assignment operator.

+
Parameters
+ + +
rightInstance to assign
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ pause()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Sound::pause ()
+
+virtual
+
+ +

Pause the sound.

+

This function pauses the sound if it was playing, otherwise (sound already paused or stopped) it has no effect.

+
See also
play, stop
+ +

Implements sf::SoundSource.

+ +
+
+ +

◆ play()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Sound::play ()
+
+virtual
+
+ +

Start or resume playing the sound.

+

This function starts the stream if it was stopped, resumes it if it was paused, and restarts it from beginning if it was it already playing. This function uses its own thread so that it doesn't block the rest of the program while the sound is played.

+
See also
pause, stop
+ +

Implements sf::SoundSource.

+ +
+
+ +

◆ resetBuffer()

+ +
+
+ + + + + + + +
void sf::Sound::resetBuffer ()
+
+ +

Reset the internal buffer of the sound.

+

This function is for internal use only, you don't have to use it. It is called by the sf::SoundBuffer that this sound uses, when it is destroyed in order to prevent the sound from using a dead buffer.

+ +
+
+ +

◆ setAttenuation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setAttenuation (float attenuation)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
attenuationNew attenuation factor of the sound
+
+
+
See also
getAttenuation, setMinDistance
+ +
+
+ +

◆ setBuffer()

+ +
+
+ + + + + + + + +
void sf::Sound::setBuffer (const SoundBufferbuffer)
+
+ +

Set the source buffer containing the audio data to play.

+

It is important to note that the sound buffer is not copied, thus the sf::SoundBuffer instance must remain alive as long as it is attached to the sound.

+
Parameters
+ + +
bufferSound buffer to attach to the sound
+
+
+
See also
getBuffer
+ +
+
+ +

◆ setLoop()

+ +
+
+ + + + + + + + +
void sf::Sound::setLoop (bool loop)
+
+ +

Set whether or not the sound should loop after reaching the end.

+

If set, the sound will restart from beginning after reaching the end and so on, until it is stopped or setLoop(false) is called. The default looping state for sound is false.

+
Parameters
+ + +
loopTrue to play in loop, false to play once
+
+
+
See also
getLoop
+ +
+
+ +

◆ setMinDistance()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setMinDistance (float distance)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
distanceNew minimum distance of the sound
+
+
+
See also
getMinDistance, setAttenuation
+ +
+
+ +

◆ setPitch()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setPitch (float pitch)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
pitchNew pitch to apply to the sound
+
+
+
See also
getPitch
+ +
+
+ +

◆ setPlayingOffset()

+ +
+
+ + + + + + + + +
void sf::Sound::setPlayingOffset (Time timeOffset)
+
+ +

Change the current playing position of the sound.

+

The playing position can be changed when the sound is either paused or playing. Changing the playing position when the sound is stopped has no effect, since playing the sound will reset its position.

+
Parameters
+ + +
timeOffsetNew playing position, from the beginning of the sound
+
+
+
See also
getPlayingOffset
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::SoundSource::setPosition (float x,
float y,
float z 
)
+
+inherited
+
+ +

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).

+
Parameters
+ + + + +
xX coordinate of the position of the sound in the scene
yY coordinate of the position of the sound in the scene
zZ coordinate of the position of the sound in the scene
+
+
+
See also
getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setPosition (const Vector3fposition)
+
+inherited
+
+ +

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).

+
Parameters
+ + +
positionPosition of the sound in the scene
+
+
+
See also
getPosition
+ +
+
+ +

◆ setRelativeToListener()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setRelativeToListener (bool relative)
+
+inherited
+
+ +

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 of 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).

+
Parameters
+ + +
relativeTrue to set the position relative, false to set it absolute
+
+
+
See also
isRelativeToListener
+ +
+
+ +

◆ setVolume()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setVolume (float volume)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
volumeVolume of the sound
+
+
+
See also
getVolume
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Sound::stop ()
+
+virtual
+
+ +

stop playing the sound

+

This function stops the sound if it was playing or paused, and does nothing if it was already stopped. It also resets the playing position (unlike pause()).

+
See also
play, pause
+ +

Implements sf::SoundSource.

+ +
+
+

Member Data Documentation

+ +

◆ m_source

+ +
+
+ + + + + +
+ + + + +
unsigned int sf::SoundSource::m_source
+
+protectedinherited
+
+ +

OpenAL source identifier.

+ +

Definition at line 309 of file SoundSource.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Sound.png b/SFML/doc/html/classsf_1_1Sound.png new file mode 100644 index 0000000..f8c235e Binary files /dev/null and b/SFML/doc/html/classsf_1_1Sound.png differ diff --git a/SFML/doc/html/classsf_1_1SoundBuffer-members.html b/SFML/doc/html/classsf_1_1SoundBuffer-members.html new file mode 100644 index 0000000..c9c45f9 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundBuffer-members.html @@ -0,0 +1,78 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SoundBuffer Member List
+
+
+ +

This is the complete list of members for sf::SoundBuffer, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
AlResource()sf::AlResourceprivate
getChannelCount() constsf::SoundBuffer
getDuration() constsf::SoundBuffer
getSampleCount() constsf::SoundBuffer
getSampleRate() constsf::SoundBuffer
getSamples() constsf::SoundBuffer
loadFromFile(const std::string &filename)sf::SoundBuffer
loadFromMemory(const void *data, std::size_t sizeInBytes)sf::SoundBuffer
loadFromSamples(const Int16 *samples, Uint64 sampleCount, unsigned int channelCount, unsigned int sampleRate)sf::SoundBuffer
loadFromStream(InputStream &stream)sf::SoundBuffer
operator=(const SoundBuffer &right)sf::SoundBuffer
saveToFile(const std::string &filename) constsf::SoundBuffer
Sound (defined in sf::SoundBuffer)sf::SoundBufferfriend
SoundBuffer()sf::SoundBuffer
SoundBuffer(const SoundBuffer &copy)sf::SoundBuffer
~AlResource()sf::AlResourceprivate
~SoundBuffer()sf::SoundBuffer
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundBuffer.html b/SFML/doc/html/classsf_1_1SoundBuffer.html new file mode 100644 index 0000000..4b924fe --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundBuffer.html @@ -0,0 +1,524 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::SoundBuffer Class Reference
+
+
+ +

Storage for audio samples defining a sound. + More...

+ +

#include <SoundBuffer.hpp>

+
+Inheritance diagram for sf::SoundBuffer:
+
+
+ + +sf::AlResource + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SoundBuffer ()
 Default constructor. More...
 
 SoundBuffer (const SoundBuffer &copy)
 Copy constructor. More...
 
 ~SoundBuffer ()
 Destructor. More...
 
bool loadFromFile (const std::string &filename)
 Load the sound buffer from a file. More...
 
bool loadFromMemory (const void *data, std::size_t sizeInBytes)
 Load the sound buffer from a file in memory. More...
 
bool loadFromStream (InputStream &stream)
 Load the sound buffer from a custom stream. More...
 
bool loadFromSamples (const Int16 *samples, Uint64 sampleCount, unsigned int channelCount, unsigned int sampleRate)
 Load the sound buffer from an array of audio samples. More...
 
bool saveToFile (const std::string &filename) const
 Save the sound buffer to an audio file. More...
 
const Int16 * getSamples () const
 Get the array of audio samples stored in the buffer. More...
 
Uint64 getSampleCount () const
 Get the number of samples stored in the buffer. More...
 
unsigned int getSampleRate () const
 Get the sample rate of the sound. More...
 
unsigned int getChannelCount () const
 Get the number of channels used by the sound. More...
 
Time getDuration () const
 Get the total duration of the sound. More...
 
SoundBufferoperator= (const SoundBuffer &right)
 Overload of assignment operator. More...
 
+ + + +

+Friends

+class Sound
 
+

Detailed Description

+

Storage for audio samples defining a sound.

+

A sound buffer holds the data of a sound, which is an array of audio samples.

+

A sample is a 16 bits signed integer that defines the amplitude of the sound at a given time. The sound is then reconstituted by playing these samples at a high rate (for example, 44100 samples per second is the standard rate used for playing CDs). In short, audio samples are like texture pixels, and a sf::SoundBuffer is similar to a sf::Texture.

+

A sound buffer can be loaded from a file (see loadFromFile() for the complete list of supported formats), from memory, from a custom stream (see sf::InputStream) or directly from an array of samples. It can also be saved back to a file.

+

Sound buffers alone are not very useful: they hold the audio data but cannot be played. To do so, you need to use the sf::Sound class, which provides functions to play/pause/stop the sound as well as changing the way it is outputted (volume, pitch, 3D position, ...). This separation allows more flexibility and better performances: indeed a sf::SoundBuffer is a heavy resource, and any operation on it is slow (often too slow for real-time applications). On the other side, a sf::Sound is a lightweight object, which can use the audio data of a sound buffer and change the way it is played without actually modifying that data. Note that it is also possible to bind several sf::Sound instances to the same sf::SoundBuffer.

+

It is important to note that the sf::Sound instance doesn't copy the buffer that it uses, it only keeps a reference to it. Thus, a sf::SoundBuffer must not be destructed while it is used by a sf::Sound (i.e. never write a function that uses a local sf::SoundBuffer instance for loading a sound).

+

Usage example:

// Declare a new sound buffer
// Load it from a file
if (!buffer.loadFromFile("sound.wav"))
{
// error...
}
// Create a sound source and bind it to the buffer
sf::Sound sound1;
sound1.setBuffer(buffer);
// Play the sound
sound1.play();
// Create another sound source bound to the same buffer
sf::Sound sound2;
sound2.setBuffer(buffer);
// Play it with a higher pitch -- the first sound remains unchanged
sound2.setPitch(2);
sound2.play();
See also
sf::Sound, sf::SoundBufferRecorder
+ +

Definition at line 49 of file SoundBuffer.hpp.

+

Constructor & Destructor Documentation

+ +

◆ SoundBuffer() [1/2]

+ +
+
+ + + + + + + +
sf::SoundBuffer::SoundBuffer ()
+
+ +

Default constructor.

+ +
+
+ +

◆ SoundBuffer() [2/2]

+ +
+
+ + + + + + + + +
sf::SoundBuffer::SoundBuffer (const SoundBuffercopy)
+
+ +

Copy constructor.

+
Parameters
+ + +
copyInstance to copy
+
+
+ +
+
+ +

◆ ~SoundBuffer()

+ +
+
+ + + + + + + +
sf::SoundBuffer::~SoundBuffer ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ getChannelCount()

+ +
+
+ + + + + + + +
unsigned int sf::SoundBuffer::getChannelCount () const
+
+ +

Get the number of channels used by the sound.

+

If the sound is mono then the number of channels will be 1, 2 for stereo, etc.

+
Returns
Number of channels
+
See also
getSampleRate, getDuration
+ +
+
+ +

◆ getDuration()

+ +
+
+ + + + + + + +
Time sf::SoundBuffer::getDuration () const
+
+ +

Get the total duration of the sound.

+
Returns
Sound duration
+
See also
getSampleRate, getChannelCount
+ +
+
+ +

◆ getSampleCount()

+ +
+
+ + + + + + + +
Uint64 sf::SoundBuffer::getSampleCount () const
+
+ +

Get the number of samples stored in the buffer.

+

The array of samples can be accessed with the getSamples() function.

+
Returns
Number of samples
+
See also
getSamples
+ +
+
+ +

◆ getSampleRate()

+ +
+
+ + + + + + + +
unsigned int sf::SoundBuffer::getSampleRate () const
+
+ +

Get the sample rate of the sound.

+

The sample rate is the number of samples played per second. The higher, the better the quality (for example, 44100 samples/s is CD quality).

+
Returns
Sample rate (number of samples per second)
+
See also
getChannelCount, getDuration
+ +
+
+ +

◆ getSamples()

+ +
+
+ + + + + + + +
const Int16* sf::SoundBuffer::getSamples () const
+
+ +

Get the array of audio samples stored in the buffer.

+

The format of the returned samples is 16 bits signed integer (sf::Int16). The total number of samples in this array is given by the getSampleCount() function.

+
Returns
Read-only pointer to the array of sound samples
+
See also
getSampleCount
+ +
+
+ +

◆ loadFromFile()

+ +
+
+ + + + + + + + +
bool sf::SoundBuffer::loadFromFile (const std::string & filename)
+
+ +

Load the sound buffer from a file.

+

See the documentation of sf::InputSoundFile for the list of supported formats.

+
Parameters
+ + +
filenamePath of the sound file to load
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromMemory, loadFromStream, loadFromSamples, saveToFile
+ +
+
+ +

◆ loadFromMemory()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::SoundBuffer::loadFromMemory (const void * data,
std::size_t sizeInBytes 
)
+
+ +

Load the sound buffer from a file in memory.

+

See the documentation of sf::InputSoundFile for the list of supported formats.

+
Parameters
+ + + +
dataPointer to the file data in memory
sizeInBytesSize of the data to load, in bytes
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromStream, loadFromSamples
+ +
+
+ +

◆ loadFromSamples()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::SoundBuffer::loadFromSamples (const Int16 * samples,
Uint64 sampleCount,
unsigned int channelCount,
unsigned int sampleRate 
)
+
+ +

Load the sound buffer from an array of audio samples.

+

The assumed format of the audio samples is 16 bits signed integer (sf::Int16).

+
Parameters
+ + + + + +
samplesPointer to the array of samples in memory
sampleCountNumber of samples in the array
channelCountNumber of channels (1 = mono, 2 = stereo, ...)
sampleRateSample rate (number of samples to play per second)
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromMemory, saveToFile
+ +
+
+ +

◆ loadFromStream()

+ +
+
+ + + + + + + + +
bool sf::SoundBuffer::loadFromStream (InputStreamstream)
+
+ +

Load the sound buffer from a custom stream.

+

See the documentation of sf::InputSoundFile for the list of supported formats.

+
Parameters
+ + +
streamSource stream to read from
+
+
+
Returns
True if loading succeeded, false if it failed
+
See also
loadFromFile, loadFromMemory, loadFromSamples
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
SoundBuffer& sf::SoundBuffer::operator= (const SoundBufferright)
+
+ +

Overload of assignment operator.

+
Parameters
+ + +
rightInstance to assign
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ saveToFile()

+ +
+
+ + + + + + + + +
bool sf::SoundBuffer::saveToFile (const std::string & filename) const
+
+ +

Save the sound buffer to an audio file.

+

See the documentation of sf::OutputSoundFile for the list of supported formats.

+
Parameters
+ + +
filenamePath of the sound file to write
+
+
+
Returns
True if saving succeeded, false if it failed
+
See also
loadFromFile, loadFromMemory, loadFromSamples
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundBuffer.png b/SFML/doc/html/classsf_1_1SoundBuffer.png new file mode 100644 index 0000000..056a390 Binary files /dev/null and b/SFML/doc/html/classsf_1_1SoundBuffer.png differ diff --git a/SFML/doc/html/classsf_1_1SoundBufferRecorder-members.html b/SFML/doc/html/classsf_1_1SoundBufferRecorder-members.html new file mode 100644 index 0000000..d916d23 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundBufferRecorder-members.html @@ -0,0 +1,79 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SoundBufferRecorder Member List
+
+
+ +

This is the complete list of members for sf::SoundBufferRecorder, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
getAvailableDevices()sf::SoundRecorderstatic
getBuffer() constsf::SoundBufferRecorder
getChannelCount() constsf::SoundRecorder
getDefaultDevice()sf::SoundRecorderstatic
getDevice() constsf::SoundRecorder
getSampleRate() constsf::SoundRecorder
isAvailable()sf::SoundRecorderstatic
onProcessSamples(const Int16 *samples, std::size_t sampleCount)sf::SoundBufferRecorderprotectedvirtual
onStart()sf::SoundBufferRecorderprotectedvirtual
onStop()sf::SoundBufferRecorderprotectedvirtual
setChannelCount(unsigned int channelCount)sf::SoundRecorder
setDevice(const std::string &name)sf::SoundRecorder
setProcessingInterval(Time interval)sf::SoundRecorderprotected
SoundRecorder()sf::SoundRecorderprotected
start(unsigned int sampleRate=44100)sf::SoundRecorder
stop()sf::SoundRecorder
~SoundBufferRecorder()sf::SoundBufferRecorder
~SoundRecorder()sf::SoundRecordervirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundBufferRecorder.html b/SFML/doc/html/classsf_1_1SoundBufferRecorder.html new file mode 100644 index 0000000..2c43e57 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundBufferRecorder.html @@ -0,0 +1,645 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Specialized SoundRecorder which stores the captured audio data into a sound buffer. + More...

+ +

#include <SoundBufferRecorder.hpp>

+
+Inheritance diagram for sf::SoundBufferRecorder:
+
+
+ + +sf::SoundRecorder +sf::AlResource + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ~SoundBufferRecorder ()
 destructor More...
 
const SoundBuffergetBuffer () const
 Get the sound buffer containing the captured audio data. More...
 
bool start (unsigned int sampleRate=44100)
 Start the capture. More...
 
void stop ()
 Stop the capture. More...
 
unsigned int getSampleRate () const
 Get the sample rate. More...
 
bool setDevice (const std::string &name)
 Set the audio capture device. More...
 
const std::string & getDevice () const
 Get the name of the current audio capture device. More...
 
void setChannelCount (unsigned int channelCount)
 Set the channel count of the audio capture device. More...
 
unsigned int getChannelCount () const
 Get the number of channels used by this recorder. More...
 
+ + + + + + + + + + +

+Static Public Member Functions

static std::vector< std::string > getAvailableDevices ()
 Get a list of the names of all available audio capture devices. More...
 
static std::string getDefaultDevice ()
 Get the name of the default audio capture device. More...
 
static bool isAvailable ()
 Check if the system supports audio capture. More...
 
+ + + + + + + + + + + + + +

+Protected Member Functions

virtual bool onStart ()
 Start capturing audio data. More...
 
virtual bool onProcessSamples (const Int16 *samples, std::size_t sampleCount)
 Process a new chunk of recorded samples. More...
 
virtual void onStop ()
 Stop capturing audio data. More...
 
void setProcessingInterval (Time interval)
 Set the processing interval. More...
 
+

Detailed Description

+

Specialized SoundRecorder which stores the captured audio data into a sound buffer.

+

sf::SoundBufferRecorder allows to access a recorded sound through a sf::SoundBuffer, so that it can be played, saved to a file, etc.

+

It has the same simple interface as its base class (start(), stop()) and adds a function to retrieve the recorded sound buffer (getBuffer()).

+

As usual, don't forget to call the isAvailable() function before using this class (see sf::SoundRecorder for more details about this).

+

Usage example:

{
// Record some audio data
recorder.start();
...
recorder.stop();
// Get the buffer containing the captured audio data
const sf::SoundBuffer& buffer = recorder.getBuffer();
// Save it to a file (for example...)
buffer.saveToFile("my_record.ogg");
}
See also
sf::SoundRecorder
+ +

Definition at line 44 of file SoundBufferRecorder.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ~SoundBufferRecorder()

+ +
+
+ + + + + + + +
sf::SoundBufferRecorder::~SoundBufferRecorder ()
+
+ +

destructor

+ +
+
+

Member Function Documentation

+ +

◆ getAvailableDevices()

+ +
+
+ + + + + +
+ + + + + + + +
static std::vector<std::string> sf::SoundRecorder::getAvailableDevices ()
+
+staticinherited
+
+ +

Get a list of the names of all available audio capture devices.

+

This function returns a vector of strings, containing the names of all available audio capture devices.

+
Returns
A vector of strings containing the names
+ +
+
+ +

◆ getBuffer()

+ +
+
+ + + + + + + +
const SoundBuffer& sf::SoundBufferRecorder::getBuffer () const
+
+ +

Get the sound buffer containing the captured audio data.

+

The sound buffer is valid only after the capture has ended. This function provides a read-only access to the internal sound buffer, but it can be copied if you need to make any modification to it.

+
Returns
Read-only access to the sound buffer
+ +
+
+ +

◆ getChannelCount()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned int sf::SoundRecorder::getChannelCount () const
+
+inherited
+
+ +

Get the number of channels used by this recorder.

+

Currently only mono and stereo are supported, so the value is either 1 (for mono) or 2 (for stereo).

+
Returns
Number of channels
+
See also
setChannelCount
+ +
+
+ +

◆ getDefaultDevice()

+ +
+
+ + + + + +
+ + + + + + + +
static std::string sf::SoundRecorder::getDefaultDevice ()
+
+staticinherited
+
+ +

Get the name of the default audio capture device.

+

This function returns the name of the default audio capture device. If none is available, an empty string is returned.

+
Returns
The name of the default audio capture device
+ +
+
+ +

◆ getDevice()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string& sf::SoundRecorder::getDevice () const
+
+inherited
+
+ +

Get the name of the current audio capture device.

+
Returns
The name of the current audio capture device
+ +
+
+ +

◆ getSampleRate()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned int sf::SoundRecorder::getSampleRate () const
+
+inherited
+
+ +

Get the sample rate.

+

The sample rate defines the number of audio samples captured per second. The higher, the better the quality (for example, 44100 samples/sec is CD quality).

+
Returns
Sample rate, in samples per second
+ +
+
+ +

◆ isAvailable()

+ +
+
+ + + + + +
+ + + + + + + +
static bool sf::SoundRecorder::isAvailable ()
+
+staticinherited
+
+ +

Check if the system supports audio capture.

+

This function should always be called before using the audio capture features. If it returns false, then any attempt to use sf::SoundRecorder or one of its derived classes will fail.

+
Returns
True if audio capture is supported, false otherwise
+ +
+
+ +

◆ onProcessSamples()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool sf::SoundBufferRecorder::onProcessSamples (const Int16 * samples,
std::size_t sampleCount 
)
+
+protectedvirtual
+
+ +

Process a new chunk of recorded samples.

+
Parameters
+ + + +
samplesPointer to the new chunk of recorded samples
sampleCountNumber of samples pointed by samples
+
+
+
Returns
True to continue the capture, or false to stop it
+ +

Implements sf::SoundRecorder.

+ +
+
+ +

◆ onStart()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool sf::SoundBufferRecorder::onStart ()
+
+protectedvirtual
+
+ +

Start capturing audio data.

+
Returns
True to start the capture, or false to abort it
+ +

Reimplemented from sf::SoundRecorder.

+ +
+
+ +

◆ onStop()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::SoundBufferRecorder::onStop ()
+
+protectedvirtual
+
+ +

Stop capturing audio data.

+ +

Reimplemented from sf::SoundRecorder.

+ +
+
+ +

◆ setChannelCount()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundRecorder::setChannelCount (unsigned int channelCount)
+
+inherited
+
+ +

Set the channel count of the audio capture device.

+

This method allows you to specify the number of channels used for recording. Currently only 16-bit mono and 16-bit stereo are supported.

+
Parameters
+ + +
channelCountNumber of channels. Currently only mono (1) and stereo (2) are supported.
+
+
+
See also
getChannelCount
+ +
+
+ +

◆ setDevice()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sf::SoundRecorder::setDevice (const std::string & name)
+
+inherited
+
+ +

Set the audio capture device.

+

This function sets the audio capture device to the device with the given name. It can be called on the fly (i.e: while recording). If you do so while recording and opening the device fails, it stops the recording.

+
Parameters
+ + +
nameThe name of the audio capture device
+
+
+
Returns
True, if it was able to set the requested device
+
See also
getAvailableDevices, getDefaultDevice
+ +
+
+ +

◆ setProcessingInterval()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundRecorder::setProcessingInterval (Time interval)
+
+protectedinherited
+
+ +

Set the processing interval.

+

The processing interval controls the period between calls to the onProcessSamples function. You may want to use a small interval if you want to process the recorded data in real time, for example.

+

Note: this is only a hint, the actual period may vary. So don't rely on this parameter to implement precise timing.

+

The default processing interval is 100 ms.

+
Parameters
+ + +
intervalProcessing interval
+
+
+ +
+
+ +

◆ start()

+ +
+
+ + + + + +
+ + + + + + + + +
bool sf::SoundRecorder::start (unsigned int sampleRate = 44100)
+
+inherited
+
+ +

Start the capture.

+

The sampleRate parameter defines the number of audio samples captured per second. The higher, the better the quality (for example, 44100 samples/sec is CD quality). This function uses its own thread so that it doesn't block the rest of the program while the capture runs. Please note that only one capture can happen at the same time. You can select which capture device will be used, by passing the name to the setDevice() method. If none was selected before, the default capture device will be used. You can get a list of the names of all available capture devices by calling getAvailableDevices().

+
Parameters
+ + +
sampleRateDesired capture rate, in number of samples per second
+
+
+
Returns
True, if start of capture was successful
+
See also
stop, getAvailableDevices
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::SoundRecorder::stop ()
+
+inherited
+
+ +

Stop the capture.

+
See also
start
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundBufferRecorder.png b/SFML/doc/html/classsf_1_1SoundBufferRecorder.png new file mode 100644 index 0000000..f845c2c Binary files /dev/null and b/SFML/doc/html/classsf_1_1SoundBufferRecorder.png differ diff --git a/SFML/doc/html/classsf_1_1SoundFileFactory-members.html b/SFML/doc/html/classsf_1_1SoundFileFactory-members.html new file mode 100644 index 0000000..4101f36 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundFileFactory-members.html @@ -0,0 +1,69 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SoundFileFactory Member List
+
+
+ +

This is the complete list of members for sf::SoundFileFactory, including all inherited members.

+ + + + + + + + + +
createReaderFromFilename(const std::string &filename)sf::SoundFileFactorystatic
createReaderFromMemory(const void *data, std::size_t sizeInBytes)sf::SoundFileFactorystatic
createReaderFromStream(InputStream &stream)sf::SoundFileFactorystatic
createWriterFromFilename(const std::string &filename)sf::SoundFileFactorystatic
registerReader()sf::SoundFileFactorystatic
registerWriter()sf::SoundFileFactorystatic
unregisterReader()sf::SoundFileFactorystatic
unregisterWriter()sf::SoundFileFactorystatic
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundFileFactory.html b/SFML/doc/html/classsf_1_1SoundFileFactory.html new file mode 100644 index 0000000..4502f17 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundFileFactory.html @@ -0,0 +1,389 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::SoundFileFactory Class Reference
+
+
+ +

Manages and instantiates sound file readers and writers. + More...

+ +

#include <SoundFileFactory.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

template<typename T >
static void registerReader ()
 Register a new reader. More...
 
template<typename T >
static void unregisterReader ()
 Unregister a reader. More...
 
template<typename T >
static void registerWriter ()
 Register a new writer. More...
 
template<typename T >
static void unregisterWriter ()
 Unregister a writer. More...
 
static SoundFileReadercreateReaderFromFilename (const std::string &filename)
 Instantiate the right reader for the given file on disk. More...
 
static SoundFileReadercreateReaderFromMemory (const void *data, std::size_t sizeInBytes)
 Instantiate the right codec for the given file in memory. More...
 
static SoundFileReadercreateReaderFromStream (InputStream &stream)
 Instantiate the right codec for the given file in stream. More...
 
static SoundFileWritercreateWriterFromFilename (const std::string &filename)
 Instantiate the right writer for the given file on disk. More...
 
+

Detailed Description

+

Manages and instantiates sound file readers and writers.

+

This class is where all the sound file readers and writers are registered.

+

You should normally only need to use its registration and unregistration functions; readers/writers creation and manipulation are wrapped into the higher-level classes sf::InputSoundFile and sf::OutputSoundFile.

+

To register a new reader (writer) use the sf::SoundFileFactory::registerReader (registerWriter) static function. You don't have to call the unregisterReader (unregisterWriter) function, unless you want to unregister a format before your application ends (typically, when a plugin is unloaded).

+

Usage example:

sf::SoundFileFactory::registerReader<MySoundFileReader>();
sf::SoundFileFactory::registerWriter<MySoundFileWriter>();
See also
sf::InputSoundFile, sf::OutputSoundFile, sf::SoundFileReader, sf::SoundFileWriter
+ +

Definition at line 46 of file SoundFileFactory.hpp.

+

Member Function Documentation

+ +

◆ createReaderFromFilename()

+ +
+
+ + + + + +
+ + + + + + + + +
static SoundFileReader* sf::SoundFileFactory::createReaderFromFilename (const std::string & filename)
+
+static
+
+ +

Instantiate the right reader for the given file on disk.

+

It's up to the caller to release the returned reader

+
Parameters
+ + +
filenamePath of the sound file
+
+
+
Returns
A new sound file reader that can read the given file, or null if no reader can handle it
+
See also
createReaderFromMemory, createReaderFromStream
+ +
+
+ +

◆ createReaderFromMemory()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static SoundFileReader* sf::SoundFileFactory::createReaderFromMemory (const void * data,
std::size_t sizeInBytes 
)
+
+static
+
+ +

Instantiate the right codec for the given file in memory.

+

It's up to the caller to release the returned reader

+
Parameters
+ + + +
dataPointer to the file data in memory
sizeInBytesTotal size of the file data, in bytes
+
+
+
Returns
A new sound file codec that can read the given file, or null if no codec can handle it
+
See also
createReaderFromFilename, createReaderFromStream
+ +
+
+ +

◆ createReaderFromStream()

+ +
+
+ + + + + +
+ + + + + + + + +
static SoundFileReader* sf::SoundFileFactory::createReaderFromStream (InputStreamstream)
+
+static
+
+ +

Instantiate the right codec for the given file in stream.

+

It's up to the caller to release the returned reader

+
Parameters
+ + +
streamSource stream to read from
+
+
+
Returns
A new sound file codec that can read the given file, or null if no codec can handle it
+
See also
createReaderFromFilename, createReaderFromMemory
+ +
+
+ +

◆ createWriterFromFilename()

+ +
+
+ + + + + +
+ + + + + + + + +
static SoundFileWriter* sf::SoundFileFactory::createWriterFromFilename (const std::string & filename)
+
+static
+
+ +

Instantiate the right writer for the given file on disk.

+

It's up to the caller to release the returned writer

+
Parameters
+ + +
filenamePath of the sound file
+
+
+
Returns
A new sound file writer that can write given file, or null if no writer can handle it
+ +
+
+ +

◆ registerReader()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
static void sf::SoundFileFactory::registerReader ()
+
+static
+
+ +

Register a new reader.

+
See also
unregisterReader
+ +
+
+ +

◆ registerWriter()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
static void sf::SoundFileFactory::registerWriter ()
+
+static
+
+ +

Register a new writer.

+
See also
unregisterWriter
+ +
+
+ +

◆ unregisterReader()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
static void sf::SoundFileFactory::unregisterReader ()
+
+static
+
+ +

Unregister a reader.

+
See also
registerReader
+ +
+
+ +

◆ unregisterWriter()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
static void sf::SoundFileFactory::unregisterWriter ()
+
+static
+
+ +

Unregister a writer.

+
See also
registerWriter
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundFileReader-members.html b/SFML/doc/html/classsf_1_1SoundFileReader-members.html new file mode 100644 index 0000000..123d78b --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundFileReader-members.html @@ -0,0 +1,65 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SoundFileReader Member List
+
+
+ +

This is the complete list of members for sf::SoundFileReader, including all inherited members.

+ + + + + +
open(InputStream &stream, Info &info)=0sf::SoundFileReaderpure virtual
read(Int16 *samples, Uint64 maxCount)=0sf::SoundFileReaderpure virtual
seek(Uint64 sampleOffset)=0sf::SoundFileReaderpure virtual
~SoundFileReader()sf::SoundFileReaderinlinevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundFileReader.html b/SFML/doc/html/classsf_1_1SoundFileReader.html new file mode 100644 index 0000000..f4960fa --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundFileReader.html @@ -0,0 +1,259 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::SoundFileReader Class Referenceabstract
+
+
+ +

Abstract base class for sound file decoding. + More...

+ +

#include <SoundFileReader.hpp>

+ + + + + +

+Classes

struct  Info
 Structure holding the audio properties of a sound file. More...
 
+ + + + + + + + + + + + + +

+Public Member Functions

virtual ~SoundFileReader ()
 Virtual destructor. More...
 
virtual bool open (InputStream &stream, Info &info)=0
 Open a sound file for reading. More...
 
virtual void seek (Uint64 sampleOffset)=0
 Change the current read position to the given sample offset. More...
 
virtual Uint64 read (Int16 *samples, Uint64 maxCount)=0
 Read audio samples from the open file. More...
 
+

Detailed Description

+

Abstract base class for sound file decoding.

+

This class allows users to read audio file formats not natively supported by SFML, and thus extend the set of supported readable audio formats.

+

A valid sound file reader must override the open, seek and write functions, as well as providing a static check function; the latter is used by SFML to find a suitable writer for a given input file.

+

To register a new reader, use the sf::SoundFileFactory::registerReader template function.

+

Usage example:

class MySoundFileReader : public sf::SoundFileReader
{
public:
static bool check(sf::InputStream& stream)
{
// typically, read the first few header bytes and check fields that identify the format
// return true if the reader can handle the format
}
virtual bool open(sf::InputStream& stream, Info& info)
{
// read the sound file header and fill the sound attributes
// (channel count, sample count and sample rate)
// return true on success
}
virtual void seek(sf::Uint64 sampleOffset)
{
// advance to the sampleOffset-th sample from the beginning of the sound
}
virtual sf::Uint64 read(sf::Int16* samples, sf::Uint64 maxCount)
{
// read up to 'maxCount' samples into the 'samples' array,
// convert them (for example from normalized float) if they are not stored
// as 16-bits signed integers in the file
// return the actual number of samples read
}
};
sf::SoundFileFactory::registerReader<MySoundFileReader>();
See also
sf::InputSoundFile, sf::SoundFileFactory, sf::SoundFileWriter
+ +

Definition at line 43 of file SoundFileReader.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ~SoundFileReader()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::SoundFileReader::~SoundFileReader ()
+
+inlinevirtual
+
+ +

Virtual destructor.

+ +

Definition at line 62 of file SoundFileReader.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ open()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool sf::SoundFileReader::open (InputStreamstream,
Infoinfo 
)
+
+pure virtual
+
+ +

Open a sound file for reading.

+

The provided stream reference is valid as long as the SoundFileReader is alive, so it is safe to use/store it during the whole lifetime of the reader.

+
Parameters
+ + + +
streamSource stream to read from
infoStructure to fill with the properties of the loaded sound
+
+
+
Returns
True if the file was successfully opened
+ +
+
+ +

◆ read()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual Uint64 sf::SoundFileReader::read (Int16 * samples,
Uint64 maxCount 
)
+
+pure virtual
+
+ +

Read audio samples from the open file.

+
Parameters
+ + + +
samplesPointer to the sample array to fill
maxCountMaximum number of samples to read
+
+
+
Returns
Number of samples actually read (may be less than maxCount)
+ +
+
+ +

◆ seek()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void sf::SoundFileReader::seek (Uint64 sampleOffset)
+
+pure virtual
+
+ +

Change the current read position to the given sample offset.

+

The sample offset takes the channels into account. If you have a time offset instead, you can easily find the corresponding sample offset with the following formula: timeInSeconds * sampleRate * channelCount If the given offset exceeds to total number of samples, this function must jump to the end of the file.

+
Parameters
+ + +
sampleOffsetIndex of the sample to jump to, relative to the beginning
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundFileWriter-members.html b/SFML/doc/html/classsf_1_1SoundFileWriter-members.html new file mode 100644 index 0000000..db62de1 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundFileWriter-members.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SoundFileWriter Member List
+
+
+ +

This is the complete list of members for sf::SoundFileWriter, including all inherited members.

+ + + + +
open(const std::string &filename, unsigned int sampleRate, unsigned int channelCount)=0sf::SoundFileWriterpure virtual
write(const Int16 *samples, Uint64 count)=0sf::SoundFileWriterpure virtual
~SoundFileWriter()sf::SoundFileWriterinlinevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundFileWriter.html b/SFML/doc/html/classsf_1_1SoundFileWriter.html new file mode 100644 index 0000000..01fc7a6 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundFileWriter.html @@ -0,0 +1,219 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::SoundFileWriter Class Referenceabstract
+
+
+ +

Abstract base class for sound file encoding. + More...

+ +

#include <SoundFileWriter.hpp>

+ + + + + + + + + + + +

+Public Member Functions

virtual ~SoundFileWriter ()
 Virtual destructor. More...
 
virtual bool open (const std::string &filename, unsigned int sampleRate, unsigned int channelCount)=0
 Open a sound file for writing. More...
 
virtual void write (const Int16 *samples, Uint64 count)=0
 Write audio samples to the open file. More...
 
+

Detailed Description

+

Abstract base class for sound file encoding.

+

This class allows users to write audio file formats not natively supported by SFML, and thus extend the set of supported writable audio formats.

+

A valid sound file writer must override the open and write functions, as well as providing a static check function; the latter is used by SFML to find a suitable writer for a given filename.

+

To register a new writer, use the sf::SoundFileFactory::registerWriter template function.

+

Usage example:

class MySoundFileWriter : public sf::SoundFileWriter
{
public:
static bool check(const std::string& filename)
{
// typically, check the extension
// return true if the writer can handle the format
}
virtual bool open(const std::string& filename, unsigned int sampleRate, unsigned int channelCount)
{
// open the file 'filename' for writing,
// write the given sample rate and channel count to the file header
// return true on success
}
virtual void write(const sf::Int16* samples, sf::Uint64 count)
{
// write 'count' samples stored at address 'samples',
// convert them (for example to normalized float) if the format requires it
}
};
sf::SoundFileFactory::registerWriter<MySoundFileWriter>();
See also
sf::OutputSoundFile, sf::SoundFileFactory, sf::SoundFileReader
+ +

Definition at line 41 of file SoundFileWriter.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ~SoundFileWriter()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::SoundFileWriter::~SoundFileWriter ()
+
+inlinevirtual
+
+ +

Virtual destructor.

+ +

Definition at line 49 of file SoundFileWriter.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ open()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool sf::SoundFileWriter::open (const std::string & filename,
unsigned int sampleRate,
unsigned int channelCount 
)
+
+pure virtual
+
+ +

Open a sound file for writing.

+
Parameters
+ + + + +
filenamePath of the file to open
sampleRateSample rate of the sound
channelCountNumber of channels of the sound
+
+
+
Returns
True if the file was successfully opened
+ +
+
+ +

◆ write()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void sf::SoundFileWriter::write (const Int16 * samples,
Uint64 count 
)
+
+pure virtual
+
+ +

Write audio samples to the open file.

+
Parameters
+ + + +
samplesPointer to the sample array to write
countNumber of samples to write
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundRecorder-members.html b/SFML/doc/html/classsf_1_1SoundRecorder-members.html new file mode 100644 index 0000000..a4f879a --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundRecorder-members.html @@ -0,0 +1,79 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SoundRecorder Member List
+
+
+ +

This is the complete list of members for sf::SoundRecorder, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
AlResource()sf::AlResourceprivate
getAvailableDevices()sf::SoundRecorderstatic
getChannelCount() constsf::SoundRecorder
getDefaultDevice()sf::SoundRecorderstatic
getDevice() constsf::SoundRecorder
getSampleRate() constsf::SoundRecorder
isAvailable()sf::SoundRecorderstatic
onProcessSamples(const Int16 *samples, std::size_t sampleCount)=0sf::SoundRecorderprotectedpure virtual
onStart()sf::SoundRecorderprotectedvirtual
onStop()sf::SoundRecorderprotectedvirtual
setChannelCount(unsigned int channelCount)sf::SoundRecorder
setDevice(const std::string &name)sf::SoundRecorder
setProcessingInterval(Time interval)sf::SoundRecorderprotected
SoundRecorder()sf::SoundRecorderprotected
start(unsigned int sampleRate=44100)sf::SoundRecorder
stop()sf::SoundRecorder
~AlResource()sf::AlResourceprivate
~SoundRecorder()sf::SoundRecordervirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundRecorder.html b/SFML/doc/html/classsf_1_1SoundRecorder.html new file mode 100644 index 0000000..0c54a99 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundRecorder.html @@ -0,0 +1,618 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Abstract base class for capturing sound data. + More...

+ +

#include <SoundRecorder.hpp>

+
+Inheritance diagram for sf::SoundRecorder:
+
+
+ + +sf::AlResource +sf::SoundBufferRecorder + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual ~SoundRecorder ()
 destructor More...
 
bool start (unsigned int sampleRate=44100)
 Start the capture. More...
 
void stop ()
 Stop the capture. More...
 
unsigned int getSampleRate () const
 Get the sample rate. More...
 
bool setDevice (const std::string &name)
 Set the audio capture device. More...
 
const std::string & getDevice () const
 Get the name of the current audio capture device. More...
 
void setChannelCount (unsigned int channelCount)
 Set the channel count of the audio capture device. More...
 
unsigned int getChannelCount () const
 Get the number of channels used by this recorder. More...
 
+ + + + + + + + + + +

+Static Public Member Functions

static std::vector< std::string > getAvailableDevices ()
 Get a list of the names of all available audio capture devices. More...
 
static std::string getDefaultDevice ()
 Get the name of the default audio capture device. More...
 
static bool isAvailable ()
 Check if the system supports audio capture. More...
 
+ + + + + + + + + + + + + + + + +

+Protected Member Functions

 SoundRecorder ()
 Default constructor. More...
 
void setProcessingInterval (Time interval)
 Set the processing interval. More...
 
virtual bool onStart ()
 Start capturing audio data. More...
 
virtual bool onProcessSamples (const Int16 *samples, std::size_t sampleCount)=0
 Process a new chunk of recorded samples. More...
 
virtual void onStop ()
 Stop capturing audio data. More...
 
+

Detailed Description

+

Abstract base class for capturing sound data.

+

sf::SoundBuffer provides a simple interface to access the audio recording capabilities of the computer (the microphone).

+

As an abstract base class, it only cares about capturing sound samples, the task of making something useful with them is left to the derived class. Note that SFML provides a built-in specialization for saving the captured data to a sound buffer (see sf::SoundBufferRecorder).

+

A derived class has only one virtual function to override:

    +
  • onProcessSamples provides the new chunks of audio samples while the capture happens
  • +
+

Moreover, two additional virtual functions can be overridden as well if necessary:

    +
  • onStart is called before the capture happens, to perform custom initializations
  • +
  • onStop is called after the capture ends, to perform custom cleanup
  • +
+

A derived class can also control the frequency of the onProcessSamples calls, with the setProcessingInterval protected function. The default interval is chosen so that recording thread doesn't consume too much CPU, but it can be changed to a smaller value if you need to process the recorded data in real time, for example.

+

The audio capture feature may not be supported or activated on every platform, thus it is recommended to check its availability with the isAvailable() function. If it returns false, then any attempt to use an audio recorder will fail.

+

If you have multiple sound input devices connected to your computer (for example: microphone, external soundcard, webcam mic, ...) you can get a list of all available devices through the getAvailableDevices() function. You can then select a device by calling setDevice() with the appropriate device. Otherwise the default capturing device will be used.

+

By default the recording is in 16-bit mono. Using the setChannelCount method you can change the number of channels used by the audio capture device to record. Note that you have to decide whether you want to record in mono or stereo before starting the recording.

+

It is important to note that the audio capture happens in a separate thread, so that it doesn't block the rest of the program. In particular, the onProcessSamples virtual function (but not onStart and not onStop) will be called from this separate thread. It is important to keep this in mind, because you may have to take care of synchronization issues if you share data between threads. Another thing to bear in mind is that you must call stop() in the destructor of your derived class, so that the recording thread finishes before your object is destroyed.

+

Usage example:

class CustomRecorder : public sf::SoundRecorder
{
~CustomRecorder()
{
// Make sure to stop the recording thread
stop();
}
virtual bool onStart() // optional
{
// Initialize whatever has to be done before the capture starts
...
// Return true to start playing
return true;
}
virtual bool onProcessSamples(const Int16* samples, std::size_t sampleCount)
{
// Do something with the new chunk of samples (store them, send them, ...)
...
// Return true to continue playing
return true;
}
virtual void onStop() // optional
{
// Clean up whatever has to be done after the capture ends
...
}
}
// Usage
if (CustomRecorder::isAvailable())
{
CustomRecorder recorder;
if (!recorder.start())
return -1;
...
recorder.stop();
}
See also
sf::SoundBufferRecorder
+ +

Definition at line 45 of file SoundRecorder.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ~SoundRecorder()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::SoundRecorder::~SoundRecorder ()
+
+virtual
+
+ +

destructor

+ +
+
+ +

◆ SoundRecorder()

+ +
+
+ + + + + +
+ + + + + + + +
sf::SoundRecorder::SoundRecorder ()
+
+protected
+
+ +

Default constructor.

+

This constructor is only meant to be called by derived classes.

+ +
+
+

Member Function Documentation

+ +

◆ getAvailableDevices()

+ +
+
+ + + + + +
+ + + + + + + +
static std::vector<std::string> sf::SoundRecorder::getAvailableDevices ()
+
+static
+
+ +

Get a list of the names of all available audio capture devices.

+

This function returns a vector of strings, containing the names of all available audio capture devices.

+
Returns
A vector of strings containing the names
+ +
+
+ +

◆ getChannelCount()

+ +
+
+ + + + + + + +
unsigned int sf::SoundRecorder::getChannelCount () const
+
+ +

Get the number of channels used by this recorder.

+

Currently only mono and stereo are supported, so the value is either 1 (for mono) or 2 (for stereo).

+
Returns
Number of channels
+
See also
setChannelCount
+ +
+
+ +

◆ getDefaultDevice()

+ +
+
+ + + + + +
+ + + + + + + +
static std::string sf::SoundRecorder::getDefaultDevice ()
+
+static
+
+ +

Get the name of the default audio capture device.

+

This function returns the name of the default audio capture device. If none is available, an empty string is returned.

+
Returns
The name of the default audio capture device
+ +
+
+ +

◆ getDevice()

+ +
+
+ + + + + + + +
const std::string& sf::SoundRecorder::getDevice () const
+
+ +

Get the name of the current audio capture device.

+
Returns
The name of the current audio capture device
+ +
+
+ +

◆ getSampleRate()

+ +
+
+ + + + + + + +
unsigned int sf::SoundRecorder::getSampleRate () const
+
+ +

Get the sample rate.

+

The sample rate defines the number of audio samples captured per second. The higher, the better the quality (for example, 44100 samples/sec is CD quality).

+
Returns
Sample rate, in samples per second
+ +
+
+ +

◆ isAvailable()

+ +
+
+ + + + + +
+ + + + + + + +
static bool sf::SoundRecorder::isAvailable ()
+
+static
+
+ +

Check if the system supports audio capture.

+

This function should always be called before using the audio capture features. If it returns false, then any attempt to use sf::SoundRecorder or one of its derived classes will fail.

+
Returns
True if audio capture is supported, false otherwise
+ +
+
+ +

◆ onProcessSamples()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool sf::SoundRecorder::onProcessSamples (const Int16 * samples,
std::size_t sampleCount 
)
+
+protectedpure virtual
+
+ +

Process a new chunk of recorded samples.

+

This virtual function is called every time a new chunk of recorded data is available. The derived class can then do whatever it wants with it (storing it, playing it, sending it over the network, etc.).

+
Parameters
+ + + +
samplesPointer to the new chunk of recorded samples
sampleCountNumber of samples pointed by samples
+
+
+
Returns
True to continue the capture, or false to stop it
+ +

Implemented in sf::SoundBufferRecorder.

+ +
+
+ +

◆ onStart()

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool sf::SoundRecorder::onStart ()
+
+protectedvirtual
+
+ +

Start capturing audio data.

+

This virtual function may be overridden by a derived class if something has to be done every time a new capture starts. If not, this function can be ignored; the default implementation does nothing.

+
Returns
True to start the capture, or false to abort it
+ +

Reimplemented in sf::SoundBufferRecorder.

+ +
+
+ +

◆ onStop()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::SoundRecorder::onStop ()
+
+protectedvirtual
+
+ +

Stop capturing audio data.

+

This virtual function may be overridden by a derived class if something has to be done every time the capture ends. If not, this function can be ignored; the default implementation does nothing.

+ +

Reimplemented in sf::SoundBufferRecorder.

+ +
+
+ +

◆ setChannelCount()

+ +
+
+ + + + + + + + +
void sf::SoundRecorder::setChannelCount (unsigned int channelCount)
+
+ +

Set the channel count of the audio capture device.

+

This method allows you to specify the number of channels used for recording. Currently only 16-bit mono and 16-bit stereo are supported.

+
Parameters
+ + +
channelCountNumber of channels. Currently only mono (1) and stereo (2) are supported.
+
+
+
See also
getChannelCount
+ +
+
+ +

◆ setDevice()

+ +
+
+ + + + + + + + +
bool sf::SoundRecorder::setDevice (const std::string & name)
+
+ +

Set the audio capture device.

+

This function sets the audio capture device to the device with the given name. It can be called on the fly (i.e: while recording). If you do so while recording and opening the device fails, it stops the recording.

+
Parameters
+ + +
nameThe name of the audio capture device
+
+
+
Returns
True, if it was able to set the requested device
+
See also
getAvailableDevices, getDefaultDevice
+ +
+
+ +

◆ setProcessingInterval()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundRecorder::setProcessingInterval (Time interval)
+
+protected
+
+ +

Set the processing interval.

+

The processing interval controls the period between calls to the onProcessSamples function. You may want to use a small interval if you want to process the recorded data in real time, for example.

+

Note: this is only a hint, the actual period may vary. So don't rely on this parameter to implement precise timing.

+

The default processing interval is 100 ms.

+
Parameters
+ + +
intervalProcessing interval
+
+
+ +
+
+ +

◆ start()

+ +
+
+ + + + + + + + +
bool sf::SoundRecorder::start (unsigned int sampleRate = 44100)
+
+ +

Start the capture.

+

The sampleRate parameter defines the number of audio samples captured per second. The higher, the better the quality (for example, 44100 samples/sec is CD quality). This function uses its own thread so that it doesn't block the rest of the program while the capture runs. Please note that only one capture can happen at the same time. You can select which capture device will be used, by passing the name to the setDevice() method. If none was selected before, the default capture device will be used. You can get a list of the names of all available capture devices by calling getAvailableDevices().

+
Parameters
+ + +
sampleRateDesired capture rate, in number of samples per second
+
+
+
Returns
True, if start of capture was successful
+
See also
stop, getAvailableDevices
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + + + +
void sf::SoundRecorder::stop ()
+
+ +

Stop the capture.

+
See also
start
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundRecorder.png b/SFML/doc/html/classsf_1_1SoundRecorder.png new file mode 100644 index 0000000..43a5f7e Binary files /dev/null and b/SFML/doc/html/classsf_1_1SoundRecorder.png differ diff --git a/SFML/doc/html/classsf_1_1SoundSource-members.html b/SFML/doc/html/classsf_1_1SoundSource-members.html new file mode 100644 index 0000000..8fe8daf --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundSource-members.html @@ -0,0 +1,89 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SoundSource Member List
+
+
+ +

This is the complete list of members for sf::SoundSource, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AlResource()sf::AlResourceprivate
getAttenuation() constsf::SoundSource
getMinDistance() constsf::SoundSource
getPitch() constsf::SoundSource
getPosition() constsf::SoundSource
getStatus() constsf::SoundSourcevirtual
getVolume() constsf::SoundSource
isRelativeToListener() constsf::SoundSource
m_sourcesf::SoundSourceprotected
operator=(const SoundSource &right)sf::SoundSource
pause()=0sf::SoundSourcepure virtual
Paused enum valuesf::SoundSource
play()=0sf::SoundSourcepure virtual
Playing enum valuesf::SoundSource
setAttenuation(float attenuation)sf::SoundSource
setMinDistance(float distance)sf::SoundSource
setPitch(float pitch)sf::SoundSource
setPosition(float x, float y, float z)sf::SoundSource
setPosition(const Vector3f &position)sf::SoundSource
setRelativeToListener(bool relative)sf::SoundSource
setVolume(float volume)sf::SoundSource
SoundSource(const SoundSource &copy)sf::SoundSource
SoundSource()sf::SoundSourceprotected
Status enum namesf::SoundSource
stop()=0sf::SoundSourcepure virtual
Stopped enum valuesf::SoundSource
~AlResource()sf::AlResourceprivate
~SoundSource()sf::SoundSourcevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundSource.html b/SFML/doc/html/classsf_1_1SoundSource.html new file mode 100644 index 0000000..1bfa183 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundSource.html @@ -0,0 +1,804 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Base class defining a sound's properties. + More...

+ +

#include <SoundSource.hpp>

+
+Inheritance diagram for sf::SoundSource:
+
+
+ + +sf::AlResource +sf::Sound +sf::SoundStream +sf::Music + +
+ + + + + +

+Public Types

enum  Status { Stopped, +Paused, +Playing + }
 Enumeration of the sound source states. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SoundSource (const SoundSource &copy)
 Copy constructor. More...
 
virtual ~SoundSource ()
 Destructor. More...
 
void setPitch (float pitch)
 Set the pitch of the sound. More...
 
void setVolume (float volume)
 Set the volume of the sound. More...
 
void setPosition (float x, float y, float z)
 Set the 3D position of the sound in the audio scene. More...
 
void setPosition (const Vector3f &position)
 Set the 3D position of the sound in the audio scene. More...
 
void setRelativeToListener (bool relative)
 Make the sound's position relative to the listener or absolute. More...
 
void setMinDistance (float distance)
 Set the minimum distance of the sound. More...
 
void setAttenuation (float attenuation)
 Set the attenuation factor of the sound. More...
 
float getPitch () const
 Get the pitch of the sound. More...
 
float getVolume () const
 Get the volume of the sound. More...
 
Vector3f getPosition () const
 Get the 3D position of the sound in the audio scene. More...
 
bool isRelativeToListener () const
 Tell whether the sound's position is relative to the listener or is absolute. More...
 
float getMinDistance () const
 Get the minimum distance of the sound. More...
 
float getAttenuation () const
 Get the attenuation factor of the sound. More...
 
SoundSourceoperator= (const SoundSource &right)
 Overload of assignment operator. More...
 
virtual void play ()=0
 Start or resume playing the sound source. More...
 
virtual void pause ()=0
 Pause the sound source. More...
 
virtual void stop ()=0
 Stop playing the sound source. More...
 
virtual Status getStatus () const
 Get the current status of the sound (stopped, paused, playing) More...
 
+ + + + +

+Protected Member Functions

 SoundSource ()
 Default constructor. More...
 
+ + + + +

+Protected Attributes

unsigned int m_source
 OpenAL source identifier. More...
 
+

Detailed Description

+

Base class defining a sound's properties.

+

sf::SoundSource is not meant to be used directly, it only serves as a common base for all audio objects that can live in the audio environment.

+

It defines several properties for the sound: pitch, volume, position, attenuation, etc. All of them can be changed at any time with no impact on performances.

+
See also
sf::Sound, sf::SoundStream
+ +

Definition at line 42 of file SoundSource.hpp.

+

Member Enumeration Documentation

+ +

◆ Status

+ +
+
+ + + + +
enum sf::SoundSource::Status
+
+ +

Enumeration of the sound source states.

+ + + + +
Enumerator
Stopped 

Sound is not playing.

+
Paused 

Sound is paused.

+
Playing 

Sound is playing.

+
+ +

Definition at line 50 of file SoundSource.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ SoundSource() [1/2]

+ +
+
+ + + + + + + + +
sf::SoundSource::SoundSource (const SoundSourcecopy)
+
+ +

Copy constructor.

+
Parameters
+ + +
copyInstance to copy
+
+
+ +
+
+ +

◆ ~SoundSource()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::SoundSource::~SoundSource ()
+
+virtual
+
+ +

Destructor.

+ +
+
+ +

◆ SoundSource() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
sf::SoundSource::SoundSource ()
+
+protected
+
+ +

Default constructor.

+

This constructor is meant to be called by derived classes only.

+ +
+
+

Member Function Documentation

+ +

◆ getAttenuation()

+ +
+
+ + + + + + + +
float sf::SoundSource::getAttenuation () const
+
+ +

Get the attenuation factor of the sound.

+
Returns
Attenuation factor of the sound
+
See also
setAttenuation, getMinDistance
+ +
+
+ +

◆ getMinDistance()

+ +
+
+ + + + + + + +
float sf::SoundSource::getMinDistance () const
+
+ +

Get the minimum distance of the sound.

+
Returns
Minimum distance of the sound
+
See also
setMinDistance, getAttenuation
+ +
+
+ +

◆ getPitch()

+ +
+
+ + + + + + + +
float sf::SoundSource::getPitch () const
+
+ +

Get the pitch of the sound.

+
Returns
Pitch of the sound
+
See also
setPitch
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + + + +
Vector3f sf::SoundSource::getPosition () const
+
+ +

Get the 3D position of the sound in the audio scene.

+
Returns
Position of the sound
+
See also
setPosition
+ +
+
+ +

◆ getStatus()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Status sf::SoundSource::getStatus () const
+
+virtual
+
+ +

Get the current status of the sound (stopped, paused, playing)

+
Returns
Current status of the sound
+ +

Reimplemented in sf::Sound, and sf::SoundStream.

+ +
+
+ +

◆ getVolume()

+ +
+
+ + + + + + + +
float sf::SoundSource::getVolume () const
+
+ +

Get the volume of the sound.

+
Returns
Volume of the sound, in the range [0, 100]
+
See also
setVolume
+ +
+
+ +

◆ isRelativeToListener()

+ +
+
+ + + + + + + +
bool sf::SoundSource::isRelativeToListener () const
+
+ +

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
+
See also
setRelativeToListener
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
SoundSource& sf::SoundSource::operator= (const SoundSourceright)
+
+ +

Overload of assignment operator.

+
Parameters
+ + +
rightInstance to assign
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ pause()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::SoundSource::pause ()
+
+pure virtual
+
+ +

Pause the sound source.

+

This function pauses the source if it was playing, otherwise (source already paused or stopped) it has no effect.

+
See also
play, stop
+ +

Implemented in sf::Sound, and sf::SoundStream.

+ +
+
+ +

◆ play()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::SoundSource::play ()
+
+pure virtual
+
+ +

Start or resume playing the sound source.

+

This function starts the source if it was stopped, resumes it if it was paused, and restarts it from the beginning if it was already playing.

+
See also
pause, stop
+ +

Implemented in sf::Sound, and sf::SoundStream.

+ +
+
+ +

◆ setAttenuation()

+ +
+
+ + + + + + + + +
void sf::SoundSource::setAttenuation (float attenuation)
+
+ +

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.

+
Parameters
+ + +
attenuationNew attenuation factor of the sound
+
+
+
See also
getAttenuation, setMinDistance
+ +
+
+ +

◆ setMinDistance()

+ +
+
+ + + + + + + + +
void sf::SoundSource::setMinDistance (float distance)
+
+ +

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.

+
Parameters
+ + +
distanceNew minimum distance of the sound
+
+
+
See also
getMinDistance, setAttenuation
+ +
+
+ +

◆ setPitch()

+ +
+
+ + + + + + + + +
void sf::SoundSource::setPitch (float pitch)
+
+ +

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.

+
Parameters
+ + +
pitchNew pitch to apply to the sound
+
+
+
See also
getPitch
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::SoundSource::setPosition (float x,
float y,
float z 
)
+
+ +

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).

+
Parameters
+ + + + +
xX coordinate of the position of the sound in the scene
yY coordinate of the position of the sound in the scene
zZ coordinate of the position of the sound in the scene
+
+
+
See also
getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + + + + +
void sf::SoundSource::setPosition (const Vector3fposition)
+
+ +

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).

+
Parameters
+ + +
positionPosition of the sound in the scene
+
+
+
See also
getPosition
+ +
+
+ +

◆ setRelativeToListener()

+ +
+
+ + + + + + + + +
void sf::SoundSource::setRelativeToListener (bool relative)
+
+ +

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 of 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).

+
Parameters
+ + +
relativeTrue to set the position relative, false to set it absolute
+
+
+
See also
isRelativeToListener
+ +
+
+ +

◆ setVolume()

+ +
+
+ + + + + + + + +
void sf::SoundSource::setVolume (float volume)
+
+ +

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.

+
Parameters
+ + +
volumeVolume of the sound
+
+
+
See also
getVolume
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::SoundSource::stop ()
+
+pure virtual
+
+ +

Stop playing the sound source.

+

This function stops the source if it was playing or paused, and does nothing if it was already stopped. It also resets the playing position (unlike pause()).

+
See also
play, pause
+ +

Implemented in sf::Sound, and sf::SoundStream.

+ +
+
+

Member Data Documentation

+ +

◆ m_source

+ +
+
+ + + + + +
+ + + + +
unsigned int sf::SoundSource::m_source
+
+protected
+
+ +

OpenAL source identifier.

+ +

Definition at line 309 of file SoundSource.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundSource.png b/SFML/doc/html/classsf_1_1SoundSource.png new file mode 100644 index 0000000..b29de14 Binary files /dev/null and b/SFML/doc/html/classsf_1_1SoundSource.png differ diff --git a/SFML/doc/html/classsf_1_1SoundStream-members.html b/SFML/doc/html/classsf_1_1SoundStream-members.html new file mode 100644 index 0000000..06e69da --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundStream-members.html @@ -0,0 +1,100 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::SoundStream Member List
+
+
+ +

This is the complete list of members for sf::SoundStream, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
getAttenuation() constsf::SoundSource
getChannelCount() constsf::SoundStream
getLoop() constsf::SoundStream
getMinDistance() constsf::SoundSource
getPitch() constsf::SoundSource
getPlayingOffset() constsf::SoundStream
getPosition() constsf::SoundSource
getSampleRate() constsf::SoundStream
getStatus() constsf::SoundStreamvirtual
getVolume() constsf::SoundSource
initialize(unsigned int channelCount, unsigned int sampleRate)sf::SoundStreamprotected
isRelativeToListener() constsf::SoundSource
m_sourcesf::SoundSourceprotected
NoLoop enum valuesf::SoundStreamprotected
onGetData(Chunk &data)=0sf::SoundStreamprotectedpure virtual
onLoop()sf::SoundStreamprotectedvirtual
onSeek(Time timeOffset)=0sf::SoundStreamprotectedpure virtual
operator=(const SoundSource &right)sf::SoundSource
pause()sf::SoundStreamvirtual
Paused enum valuesf::SoundSource
play()sf::SoundStreamvirtual
Playing enum valuesf::SoundSource
setAttenuation(float attenuation)sf::SoundSource
setLoop(bool loop)sf::SoundStream
setMinDistance(float distance)sf::SoundSource
setPitch(float pitch)sf::SoundSource
setPlayingOffset(Time timeOffset)sf::SoundStream
setPosition(float x, float y, float z)sf::SoundSource
setPosition(const Vector3f &position)sf::SoundSource
setRelativeToListener(bool relative)sf::SoundSource
setVolume(float volume)sf::SoundSource
SoundSource(const SoundSource &copy)sf::SoundSource
SoundSource()sf::SoundSourceprotected
SoundStream()sf::SoundStreamprotected
Status enum namesf::SoundSource
stop()sf::SoundStreamvirtual
Stopped enum valuesf::SoundSource
~SoundSource()sf::SoundSourcevirtual
~SoundStream()sf::SoundStreamvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundStream.html b/SFML/doc/html/classsf_1_1SoundStream.html new file mode 100644 index 0000000..6a30687 --- /dev/null +++ b/SFML/doc/html/classsf_1_1SoundStream.html @@ -0,0 +1,1227 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Abstract base class for streamed audio sources. + More...

+ +

#include <SoundStream.hpp>

+
+Inheritance diagram for sf::SoundStream:
+
+
+ + +sf::SoundSource +sf::AlResource +sf::Music + +
+ + + + + +

+Classes

struct  Chunk
 Structure defining a chunk of audio data to stream. More...
 
+ + + + +

+Public Types

enum  Status { Stopped, +Paused, +Playing + }
 Enumeration of the sound source states. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual ~SoundStream ()
 Destructor. More...
 
void play ()
 Start or resume playing the audio stream. More...
 
void pause ()
 Pause the audio stream. More...
 
void stop ()
 Stop playing the audio stream. More...
 
unsigned int getChannelCount () const
 Return the number of channels of the stream. More...
 
unsigned int getSampleRate () const
 Get the stream sample rate of the stream. More...
 
Status getStatus () const
 Get the current status of the stream (stopped, paused, playing) More...
 
void setPlayingOffset (Time timeOffset)
 Change the current playing position of the stream. More...
 
Time getPlayingOffset () const
 Get the current playing position of the stream. More...
 
void setLoop (bool loop)
 Set whether or not the stream should loop after reaching the end. More...
 
bool getLoop () const
 Tell whether or not the stream is in loop mode. More...
 
void setPitch (float pitch)
 Set the pitch of the sound. More...
 
void setVolume (float volume)
 Set the volume of the sound. More...
 
void setPosition (float x, float y, float z)
 Set the 3D position of the sound in the audio scene. More...
 
void setPosition (const Vector3f &position)
 Set the 3D position of the sound in the audio scene. More...
 
void setRelativeToListener (bool relative)
 Make the sound's position relative to the listener or absolute. More...
 
void setMinDistance (float distance)
 Set the minimum distance of the sound. More...
 
void setAttenuation (float attenuation)
 Set the attenuation factor of the sound. More...
 
float getPitch () const
 Get the pitch of the sound. More...
 
float getVolume () const
 Get the volume of the sound. More...
 
Vector3f getPosition () const
 Get the 3D position of the sound in the audio scene. More...
 
bool isRelativeToListener () const
 Tell whether the sound's position is relative to the listener or is absolute. More...
 
float getMinDistance () const
 Get the minimum distance of the sound. More...
 
float getAttenuation () const
 Get the attenuation factor of the sound. More...
 
+ + + +

+Protected Types

enum  { NoLoop = -1 + }
 
+ + + + + + + + + + + + + + + + +

+Protected Member Functions

 SoundStream ()
 Default constructor. More...
 
void initialize (unsigned int channelCount, unsigned int sampleRate)
 Define the audio stream parameters. More...
 
virtual bool onGetData (Chunk &data)=0
 Request a new chunk of audio samples from the stream source. More...
 
virtual void onSeek (Time timeOffset)=0
 Change the current playing position in the stream source. More...
 
virtual Int64 onLoop ()
 Change the current playing position in the stream source to the beginning of the loop. More...
 
+ + + + +

+Protected Attributes

unsigned int m_source
 OpenAL source identifier. More...
 
+

Detailed Description

+

Abstract base class for streamed audio sources.

+

Unlike audio buffers (see sf::SoundBuffer), audio streams are never completely loaded in memory.

+

Instead, the audio data is acquired continuously while the stream is playing. This behavior allows to play a sound with no loading delay, and keeps the memory consumption very low.

+

Sound sources that need to be streamed are usually big files (compressed audio musics that would eat hundreds of MB in memory) or files that would take a lot of time to be received (sounds played over the network).

+

sf::SoundStream is a base class that doesn't care about the stream source, which is left to the derived class. SFML provides a built-in specialization for big files (see sf::Music). No network stream source is provided, but you can write your own by combining this class with the network module.

+

A derived class has to override two virtual functions:

    +
  • onGetData fills a new chunk of audio data to be played
  • +
  • onSeek changes the current playing position in the source
  • +
+

It is important to note that each SoundStream is played in its own separate thread, so that the streaming loop doesn't block the rest of the program. In particular, the OnGetData and OnSeek virtual functions may sometimes be called from this separate thread. It is important to keep this in mind, because you may have to take care of synchronization issues if you share data between threads.

+

Usage example:

class CustomStream : public sf::SoundStream
{
public:
bool open(const std::string& location)
{
// Open the source and get audio settings
...
unsigned int channelCount = ...;
unsigned int sampleRate = ...;
// Initialize the stream -- important!
initialize(channelCount, sampleRate);
}
private:
virtual bool onGetData(Chunk& data)
{
// Fill the chunk with audio data from the stream source
// (note: must not be empty if you want to continue playing)
data.samples = ...;
data.sampleCount = ...;
// Return true to continue playing
return true;
}
virtual void onSeek(Uint32 timeOffset)
{
// Change the current position in the stream source
...
}
}
// Usage
CustomStream stream;
stream.open("path/to/stream");
stream.play();
See also
sf::Music
+ +

Definition at line 45 of file SoundStream.hpp.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + + +
+ + + + +
anonymous enum
+
+protected
+
+ + +
Enumerator
NoLoop 

"Invalid" endSeeks value, telling us to continue uninterrupted

+
+ +

Definition at line 183 of file SoundStream.hpp.

+ +
+
+ +

◆ Status

+ +
+
+ + + + + +
+ + + + +
enum sf::SoundSource::Status
+
+inherited
+
+ +

Enumeration of the sound source states.

+ + + + +
Enumerator
Stopped 

Sound is not playing.

+
Paused 

Sound is paused.

+
Playing 

Sound is playing.

+
+ +

Definition at line 50 of file SoundSource.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ ~SoundStream()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::SoundStream::~SoundStream ()
+
+virtual
+
+ +

Destructor.

+ +
+
+ +

◆ SoundStream()

+ +
+
+ + + + + +
+ + + + + + + +
sf::SoundStream::SoundStream ()
+
+protected
+
+ +

Default constructor.

+

This constructor is only meant to be called by derived classes.

+ +
+
+

Member Function Documentation

+ +

◆ getAttenuation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getAttenuation () const
+
+inherited
+
+ +

Get the attenuation factor of the sound.

+
Returns
Attenuation factor of the sound
+
See also
setAttenuation, getMinDistance
+ +
+
+ +

◆ getChannelCount()

+ +
+
+ + + + + + + +
unsigned int sf::SoundStream::getChannelCount () const
+
+ +

Return the number of channels of the stream.

+

1 channel means a mono sound, 2 means stereo, etc.

+
Returns
Number of channels
+ +
+
+ +

◆ getLoop()

+ +
+
+ + + + + + + +
bool sf::SoundStream::getLoop () const
+
+ +

Tell whether or not the stream is in loop mode.

+
Returns
True if the stream is looping, false otherwise
+
See also
setLoop
+ +
+
+ +

◆ getMinDistance()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getMinDistance () const
+
+inherited
+
+ +

Get the minimum distance of the sound.

+
Returns
Minimum distance of the sound
+
See also
setMinDistance, getAttenuation
+ +
+
+ +

◆ getPitch()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getPitch () const
+
+inherited
+
+ +

Get the pitch of the sound.

+
Returns
Pitch of the sound
+
See also
setPitch
+ +
+
+ +

◆ getPlayingOffset()

+ +
+
+ + + + + + + +
Time sf::SoundStream::getPlayingOffset () const
+
+ +

Get the current playing position of the stream.

+
Returns
Current playing position, from the beginning of the stream
+
See also
setPlayingOffset
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
Vector3f sf::SoundSource::getPosition () const
+
+inherited
+
+ +

Get the 3D position of the sound in the audio scene.

+
Returns
Position of the sound
+
See also
setPosition
+ +
+
+ +

◆ getSampleRate()

+ +
+
+ + + + + + + +
unsigned int sf::SoundStream::getSampleRate () const
+
+ +

Get the stream sample rate of the stream.

+

The sample rate is the number of audio samples played per second. The higher, the better the quality.

+
Returns
Sample rate, in number of samples per second
+ +
+
+ +

◆ getStatus()

+ +
+
+ + + + + +
+ + + + + + + +
Status sf::SoundStream::getStatus () const
+
+virtual
+
+ +

Get the current status of the stream (stopped, paused, playing)

+
Returns
Current status
+ +

Reimplemented from sf::SoundSource.

+ +
+
+ +

◆ getVolume()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::SoundSource::getVolume () const
+
+inherited
+
+ +

Get the volume of the sound.

+
Returns
Volume of the sound, in the range [0, 100]
+
See also
setVolume
+ +
+
+ +

◆ initialize()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::SoundStream::initialize (unsigned int channelCount,
unsigned int sampleRate 
)
+
+protected
+
+ +

Define the audio stream parameters.

+

This function must be called by derived classes as soon as they know the audio settings of the stream to play. Any attempt to manipulate the stream (play(), ...) before calling this function will fail. It can be called multiple times if the settings of the audio stream change, but only when the stream is stopped.

+
Parameters
+ + + +
channelCountNumber of channels of the stream
sampleRateSample rate, in samples per second
+
+
+ +
+
+ +

◆ isRelativeToListener()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::SoundSource::isRelativeToListener () const
+
+inherited
+
+ +

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
+
See also
setRelativeToListener
+ +
+
+ +

◆ onGetData()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool sf::SoundStream::onGetData (Chunkdata)
+
+protectedpure virtual
+
+ +

Request a new chunk of audio samples from the stream source.

+

This function must be overridden by derived classes to provide the audio samples to play. It is called continuously by the streaming loop, in a separate thread. The source can choose to stop the streaming loop at any time, by returning false to the caller. If you return true (i.e. continue streaming) it is important that the returned array of samples is not empty; this would stop the stream due to an internal limitation.

+
Parameters
+ + +
dataChunk of data to fill
+
+
+
Returns
True to continue playback, false to stop
+ +

Implemented in sf::Music.

+ +
+
+ +

◆ onLoop()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Int64 sf::SoundStream::onLoop ()
+
+protectedvirtual
+
+ +

Change the current playing position in the stream source to the beginning of the loop.

+

This function can be overridden by derived classes to allow implementation of custom loop points. Otherwise, it just calls onSeek(Time::Zero) and returns 0.

+
Returns
The seek position after looping (or -1 if there's no loop)
+ +

Reimplemented in sf::Music.

+ +
+
+ +

◆ onSeek()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void sf::SoundStream::onSeek (Time timeOffset)
+
+protectedpure virtual
+
+ +

Change the current playing position in the stream source.

+

This function must be overridden by derived classes to allow random seeking into the stream source.

+
Parameters
+ + +
timeOffsetNew playing position, relative to the beginning of the stream
+
+
+ +

Implemented in sf::Music.

+ +
+
+ +

◆ pause()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::SoundStream::pause ()
+
+virtual
+
+ +

Pause the audio stream.

+

This function pauses the stream if it was playing, otherwise (stream already paused or stopped) it has no effect.

+
See also
play, stop
+ +

Implements sf::SoundSource.

+ +
+
+ +

◆ play()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::SoundStream::play ()
+
+virtual
+
+ +

Start or resume playing the audio stream.

+

This function starts the stream if it was stopped, resumes it if it was paused, and restarts it from the beginning if it was already playing. This function uses its own thread so that it doesn't block the rest of the program while the stream is played.

+
See also
pause, stop
+ +

Implements sf::SoundSource.

+ +
+
+ +

◆ setAttenuation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setAttenuation (float attenuation)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
attenuationNew attenuation factor of the sound
+
+
+
See also
getAttenuation, setMinDistance
+ +
+
+ +

◆ setLoop()

+ +
+
+ + + + + + + + +
void sf::SoundStream::setLoop (bool loop)
+
+ +

Set whether or not the stream should loop after reaching the end.

+

If set, the stream will restart from beginning after reaching the end and so on, until it is stopped or setLoop(false) is called. The default looping state for streams is false.

+
Parameters
+ + +
loopTrue to play in loop, false to play once
+
+
+
See also
getLoop
+ +
+
+ +

◆ setMinDistance()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setMinDistance (float distance)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
distanceNew minimum distance of the sound
+
+
+
See also
getMinDistance, setAttenuation
+ +
+
+ +

◆ setPitch()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setPitch (float pitch)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
pitchNew pitch to apply to the sound
+
+
+
See also
getPitch
+ +
+
+ +

◆ setPlayingOffset()

+ +
+
+ + + + + + + + +
void sf::SoundStream::setPlayingOffset (Time timeOffset)
+
+ +

Change the current playing position of the stream.

+

The playing position can be changed when the stream is either paused or playing. Changing the playing position when the stream is stopped has no effect, since playing the stream would reset its position.

+
Parameters
+ + +
timeOffsetNew playing position, from the beginning of the stream
+
+
+
See also
getPlayingOffset
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::SoundSource::setPosition (float x,
float y,
float z 
)
+
+inherited
+
+ +

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).

+
Parameters
+ + + + +
xX coordinate of the position of the sound in the scene
yY coordinate of the position of the sound in the scene
zZ coordinate of the position of the sound in the scene
+
+
+
See also
getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setPosition (const Vector3fposition)
+
+inherited
+
+ +

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).

+
Parameters
+ + +
positionPosition of the sound in the scene
+
+
+
See also
getPosition
+ +
+
+ +

◆ setRelativeToListener()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setRelativeToListener (bool relative)
+
+inherited
+
+ +

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 of 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).

+
Parameters
+ + +
relativeTrue to set the position relative, false to set it absolute
+
+
+
See also
isRelativeToListener
+ +
+
+ +

◆ setVolume()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::SoundSource::setVolume (float volume)
+
+inherited
+
+ +

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.

+
Parameters
+ + +
volumeVolume of the sound
+
+
+
See also
getVolume
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::SoundStream::stop ()
+
+virtual
+
+ +

Stop playing the audio stream.

+

This function stops the stream if it was playing or paused, and does nothing if it was already stopped. It also resets the playing position (unlike pause()).

+
See also
play, pause
+ +

Implements sf::SoundSource.

+ +
+
+

Member Data Documentation

+ +

◆ m_source

+ +
+
+ + + + + +
+ + + + +
unsigned int sf::SoundSource::m_source
+
+protectedinherited
+
+ +

OpenAL source identifier.

+ +

Definition at line 309 of file SoundSource.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1SoundStream.png b/SFML/doc/html/classsf_1_1SoundStream.png new file mode 100644 index 0000000..ac8bc24 Binary files /dev/null and b/SFML/doc/html/classsf_1_1SoundStream.png differ diff --git a/SFML/doc/html/classsf_1_1Sprite-members.html b/SFML/doc/html/classsf_1_1Sprite-members.html new file mode 100644 index 0000000..650884a --- /dev/null +++ b/SFML/doc/html/classsf_1_1Sprite-members.html @@ -0,0 +1,93 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Sprite Member List
+
+
+ +

This is the complete list of members for sf::Sprite, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
getColor() constsf::Sprite
getGlobalBounds() constsf::Sprite
getInverseTransform() constsf::Transformable
getLocalBounds() constsf::Sprite
getOrigin() constsf::Transformable
getPosition() constsf::Transformable
getRotation() constsf::Transformable
getScale() constsf::Transformable
getTexture() constsf::Sprite
getTextureRect() constsf::Sprite
getTransform() constsf::Transformable
move(float offsetX, float offsetY)sf::Transformable
move(const Vector2f &offset)sf::Transformable
rotate(float angle)sf::Transformable
scale(float factorX, float factorY)sf::Transformable
scale(const Vector2f &factor)sf::Transformable
setColor(const Color &color)sf::Sprite
setOrigin(float x, float y)sf::Transformable
setOrigin(const Vector2f &origin)sf::Transformable
setPosition(float x, float y)sf::Transformable
setPosition(const Vector2f &position)sf::Transformable
setRotation(float angle)sf::Transformable
setScale(float factorX, float factorY)sf::Transformable
setScale(const Vector2f &factors)sf::Transformable
setTexture(const Texture &texture, bool resetRect=false)sf::Sprite
setTextureRect(const IntRect &rectangle)sf::Sprite
Sprite()sf::Sprite
Sprite(const Texture &texture)sf::Spriteexplicit
Sprite(const Texture &texture, const IntRect &rectangle)sf::Sprite
Transformable()sf::Transformable
~Drawable()sf::Drawableinlinevirtual
~Transformable()sf::Transformablevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Sprite.html b/SFML/doc/html/classsf_1_1Sprite.html new file mode 100644 index 0000000..2d36b48 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Sprite.html @@ -0,0 +1,1133 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Sprite Class Reference
+
+
+ +

Drawable representation of a texture, with its own transformations, color, etc. + More...

+ +

#include <Sprite.hpp>

+
+Inheritance diagram for sf::Sprite:
+
+
+ + +sf::Drawable +sf::Transformable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sprite ()
 Default constructor. More...
 
 Sprite (const Texture &texture)
 Construct the sprite from a source texture. More...
 
 Sprite (const Texture &texture, const IntRect &rectangle)
 Construct the sprite from a sub-rectangle of a source texture. More...
 
void setTexture (const Texture &texture, bool resetRect=false)
 Change the source texture of the sprite. More...
 
void setTextureRect (const IntRect &rectangle)
 Set the sub-rectangle of the texture that the sprite will display. More...
 
void setColor (const Color &color)
 Set the global color of the sprite. More...
 
const TexturegetTexture () const
 Get the source texture of the sprite. More...
 
const IntRectgetTextureRect () const
 Get the sub-rectangle of the texture displayed by the sprite. More...
 
const ColorgetColor () const
 Get the global color of the sprite. More...
 
FloatRect getLocalBounds () const
 Get the local bounding rectangle of the entity. More...
 
FloatRect getGlobalBounds () const
 Get the global bounding rectangle of the entity. More...
 
void setPosition (float x, float y)
 set the position of the object More...
 
void setPosition (const Vector2f &position)
 set the position of the object More...
 
void setRotation (float angle)
 set the orientation of the object More...
 
void setScale (float factorX, float factorY)
 set the scale factors of the object More...
 
void setScale (const Vector2f &factors)
 set the scale factors of the object More...
 
void setOrigin (float x, float y)
 set the local origin of the object More...
 
void setOrigin (const Vector2f &origin)
 set the local origin of the object More...
 
const Vector2fgetPosition () const
 get the position of the object More...
 
float getRotation () const
 get the orientation of the object More...
 
const Vector2fgetScale () const
 get the current scale of the object More...
 
const Vector2fgetOrigin () const
 get the local origin of the object More...
 
void move (float offsetX, float offsetY)
 Move the object by a given offset. More...
 
void move (const Vector2f &offset)
 Move the object by a given offset. More...
 
void rotate (float angle)
 Rotate the object. More...
 
void scale (float factorX, float factorY)
 Scale the object. More...
 
void scale (const Vector2f &factor)
 Scale the object. More...
 
const TransformgetTransform () const
 get the combined transform of the object More...
 
const TransformgetInverseTransform () const
 get the inverse of the combined transform of the object More...
 
+

Detailed Description

+

Drawable representation of a texture, with its own transformations, color, etc.

+

sf::Sprite is a drawable class that allows to easily display a texture (or a part of it) on a render target.

+

It inherits all the functions from sf::Transformable: position, rotation, scale, origin. It also adds sprite-specific properties such as the texture to use, the part of it to display, and some convenience functions to change the overall color of the sprite, or to get its bounding rectangle.

+

sf::Sprite works in combination with the sf::Texture class, which loads and provides the pixel data of a given texture.

+

The separation of sf::Sprite and sf::Texture allows more flexibility and better performances: indeed a sf::Texture is a heavy resource, and any operation on it is slow (often too slow for real-time applications). On the other side, a sf::Sprite is a lightweight object which can use the pixel data of a sf::Texture and draw it with its own transformation/color/blending attributes.

+

It is important to note that the sf::Sprite instance doesn't copy the texture that it uses, it only keeps a reference to it. Thus, a sf::Texture must not be destroyed while it is used by a sf::Sprite (i.e. never write a function that uses a local sf::Texture instance for creating a sprite).

+

See also the note on coordinates and undistorted rendering in sf::Transformable.

+

Usage example:

// Declare and load a texture
sf::Texture texture;
texture.loadFromFile("texture.png");
// Create a sprite
sf::Sprite sprite;
sprite.setTexture(texture);
sprite.setTextureRect(sf::IntRect(10, 10, 50, 30));
sprite.setColor(sf::Color(255, 255, 255, 200));
sprite.setPosition(100, 25);
// Draw it
window.draw(sprite);
See also
sf::Texture, sf::Transformable
+ +

Definition at line 47 of file Sprite.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Sprite() [1/3]

+ +
+
+ + + + + + + +
sf::Sprite::Sprite ()
+
+ +

Default constructor.

+

Creates an empty sprite with no source texture.

+ +
+
+ +

◆ Sprite() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
sf::Sprite::Sprite (const Texturetexture)
+
+explicit
+
+ +

Construct the sprite from a source texture.

+
Parameters
+ + +
textureSource texture
+
+
+
See also
setTexture
+ +
+
+ +

◆ Sprite() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::Sprite::Sprite (const Texturetexture,
const IntRectrectangle 
)
+
+ +

Construct the sprite from a sub-rectangle of a source texture.

+
Parameters
+ + + +
textureSource texture
rectangleSub-rectangle of the texture to assign to the sprite
+
+
+
See also
setTexture, setTextureRect
+ +
+
+

Member Function Documentation

+ +

◆ getColor()

+ +
+
+ + + + + + + +
const Color& sf::Sprite::getColor () const
+
+ +

Get the global color of the sprite.

+
Returns
Global color of the sprite
+
See also
setColor
+ +
+
+ +

◆ getGlobalBounds()

+ +
+
+ + + + + + + +
FloatRect sf::Sprite::getGlobalBounds () const
+
+ +

Get the global bounding rectangle of the entity.

+

The returned rectangle is in global coordinates, which means that it takes into account the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the sprite in the global 2D world's coordinate system.

+
Returns
Global bounding rectangle of the entity
+ +
+
+ +

◆ getInverseTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getInverseTransform () const
+
+inherited
+
+ +

get the inverse of the combined transform of the object

+
Returns
Inverse of the combined transformations applied to the object
+
See also
getTransform
+ +
+
+ +

◆ getLocalBounds()

+ +
+
+ + + + + + + +
FloatRect sf::Sprite::getLocalBounds () const
+
+ +

Get the local bounding rectangle of the entity.

+

The returned rectangle is in local coordinates, which means that it ignores the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the entity in the entity's coordinate system.

+
Returns
Local bounding rectangle of the entity
+ +
+
+ +

◆ getOrigin()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getOrigin () const
+
+inherited
+
+ +

get the local origin of the object

+
Returns
Current origin
+
See also
setOrigin
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getPosition () const
+
+inherited
+
+ +

get the position of the object

+
Returns
Current position
+
See also
setPosition
+ +
+
+ +

◆ getRotation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Transformable::getRotation () const
+
+inherited
+
+ +

get the orientation of the object

+

The rotation is always in the range [0, 360].

+
Returns
Current rotation, in degrees
+
See also
setRotation
+ +
+
+ +

◆ getScale()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getScale () const
+
+inherited
+
+ +

get the current scale of the object

+
Returns
Current scale factors
+
See also
setScale
+ +
+
+ +

◆ getTexture()

+ +
+
+ + + + + + + +
const Texture* sf::Sprite::getTexture () const
+
+ +

Get the source texture of the sprite.

+

If the sprite has no source texture, a NULL pointer is returned. The returned pointer is const, which means that you can't modify the texture when you retrieve it with this function.

+
Returns
Pointer to the sprite's texture
+
See also
setTexture
+ +
+
+ +

◆ getTextureRect()

+ +
+
+ + + + + + + +
const IntRect& sf::Sprite::getTextureRect () const
+
+ +

Get the sub-rectangle of the texture displayed by the sprite.

+
Returns
Texture rectangle of the sprite
+
See also
setTextureRect
+ +
+
+ +

◆ getTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getTransform () const
+
+inherited
+
+ +

get the combined transform of the object

+
Returns
Transform combining the position/rotation/scale/origin of the object
+
See also
getInverseTransform
+ +
+
+ +

◆ move() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::move (float offsetX,
float offsetY 
)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f pos = object.getPosition();
object.setPosition(pos.x + offsetX, pos.y + offsetY);
Parameters
+ + + +
offsetXX offset
offsetYY offset
+
+
+
See also
setPosition
+ +
+
+ +

◆ move() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::move (const Vector2foffset)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

object.setPosition(object.getPosition() + offset);
Parameters
+ + +
offsetOffset
+
+
+
See also
setPosition
+ +
+
+ +

◆ rotate()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::rotate (float angle)
+
+inherited
+
+ +

Rotate the object.

+

This function adds to the current rotation of the object, unlike setRotation which overwrites it. Thus, it is equivalent to the following code:

object.setRotation(object.getRotation() + angle);
Parameters
+ + +
angleAngle of rotation, in degrees
+
+
+ +
+
+ +

◆ scale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::scale (float factorX,
float factorY 
)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factorX, scale.y * factorY);
Parameters
+ + + +
factorXHorizontal scale factor
factorYVertical scale factor
+
+
+
See also
setScale
+ +
+
+ +

◆ scale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::scale (const Vector2ffactor)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factor.x, scale.y * factor.y);
Parameters
+ + +
factorScale factors
+
+
+
See also
setScale
+ +
+
+ +

◆ setColor()

+ +
+
+ + + + + + + + +
void sf::Sprite::setColor (const Colorcolor)
+
+ +

Set the global color of the sprite.

+

This color is modulated (multiplied) with the sprite's texture. It can be used to colorize the sprite, or change its global opacity. By default, the sprite's color is opaque white.

+
Parameters
+ + +
colorNew color of the sprite
+
+
+
See also
getColor
+ +
+
+ +

◆ setOrigin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setOrigin (float x,
float y 
)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new origin
yY coordinate of the new origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOrigin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setOrigin (const Vector2forigin)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + +
originNew origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setPosition (float x,
float y 
)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new position
yY coordinate of the new position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setPosition (const Vector2fposition)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + +
positionNew position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setRotation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setRotation (float angle)
+
+inherited
+
+ +

set the orientation of the object

+

This function completely overwrites the previous rotation. See the rotate function to add an angle based on the previous rotation instead. The default rotation of a transformable object is 0.

+
Parameters
+ + +
angleNew rotation, in degrees
+
+
+
See also
rotate, getRotation
+ +
+
+ +

◆ setScale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setScale (float factorX,
float factorY 
)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + + +
factorXNew horizontal scale factor
factorYNew vertical scale factor
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setScale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setScale (const Vector2ffactors)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + +
factorsNew scale factors
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setTexture()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Sprite::setTexture (const Texturetexture,
bool resetRect = false 
)
+
+ +

Change the source texture of the sprite.

+

The texture argument refers to a texture that must exist as long as the sprite uses it. Indeed, the sprite doesn't store its own copy of the texture, but rather keeps a pointer to the one that you passed to this function. If the source texture is destroyed and the sprite tries to use it, the behavior is undefined. If resetRect is true, the TextureRect property of the sprite is automatically adjusted to the size of the new texture. If it is false, the texture rect is left unchanged.

+
Parameters
+ + + +
textureNew texture
resetRectShould the texture rect be reset to the size of the new texture?
+
+
+
See also
getTexture, setTextureRect
+ +
+
+ +

◆ setTextureRect()

+ +
+
+ + + + + + + + +
void sf::Sprite::setTextureRect (const IntRectrectangle)
+
+ +

Set the sub-rectangle of the texture that the sprite will display.

+

The texture rect is useful when you don't want to display the whole texture, but rather a part of it. By default, the texture rect covers the entire texture.

+
Parameters
+ + +
rectangleRectangle defining the region of the texture to display
+
+
+
See also
getTextureRect, setTexture
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Sprite.png b/SFML/doc/html/classsf_1_1Sprite.png new file mode 100644 index 0000000..c4407da Binary files /dev/null and b/SFML/doc/html/classsf_1_1Sprite.png differ diff --git a/SFML/doc/html/classsf_1_1String-members.html b/SFML/doc/html/classsf_1_1String-members.html new file mode 100644 index 0000000..1972de8 --- /dev/null +++ b/SFML/doc/html/classsf_1_1String-members.html @@ -0,0 +1,112 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::String Member List
+
+
+ +

This is the complete list of members for sf::String, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin()sf::String
begin() constsf::String
clear()sf::String
ConstIterator typedefsf::String
end()sf::String
end() constsf::String
erase(std::size_t position, std::size_t count=1)sf::String
find(const String &str, std::size_t start=0) constsf::String
fromUtf16(T begin, T end)sf::Stringstatic
fromUtf32(T begin, T end)sf::Stringstatic
fromUtf8(T begin, T end)sf::Stringstatic
getData() constsf::String
getSize() constsf::String
insert(std::size_t position, const String &str)sf::String
InvalidPossf::Stringstatic
isEmpty() constsf::String
Iterator typedefsf::String
operator std::string() constsf::String
operator std::wstring() constsf::String
operator!=(const String &left, const String &right)sf::Stringrelated
operator+(const String &left, const String &right)sf::Stringrelated
operator+=(const String &right)sf::String
operator< (defined in sf::String)sf::Stringfriend
operator<(const String &left, const String &right)sf::Stringrelated
operator<=(const String &left, const String &right)sf::Stringrelated
operator=(const String &right)sf::String
operator== (defined in sf::String)sf::Stringfriend
operator==(const String &left, const String &right)sf::Stringrelated
operator>(const String &left, const String &right)sf::Stringrelated
operator>=(const String &left, const String &right)sf::Stringrelated
operator[](std::size_t index) constsf::String
operator[](std::size_t index)sf::String
replace(std::size_t position, std::size_t length, const String &replaceWith)sf::String
replace(const String &searchFor, const String &replaceWith)sf::String
String()sf::String
String(char ansiChar, const std::locale &locale=std::locale())sf::String
String(wchar_t wideChar)sf::String
String(Uint32 utf32Char)sf::String
String(const char *ansiString, const std::locale &locale=std::locale())sf::String
String(const std::string &ansiString, const std::locale &locale=std::locale())sf::String
String(const wchar_t *wideString)sf::String
String(const std::wstring &wideString)sf::String
String(const Uint32 *utf32String)sf::String
String(const std::basic_string< Uint32 > &utf32String)sf::String
String(const String &copy)sf::String
substring(std::size_t position, std::size_t length=InvalidPos) constsf::String
toAnsiString(const std::locale &locale=std::locale()) constsf::String
toUtf16() constsf::String
toUtf32() constsf::String
toUtf8() constsf::String
toWideString() constsf::String
+ + + + diff --git a/SFML/doc/html/classsf_1_1String.html b/SFML/doc/html/classsf_1_1String.html new file mode 100644 index 0000000..56ce262 --- /dev/null +++ b/SFML/doc/html/classsf_1_1String.html @@ -0,0 +1,1789 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Utility string class that automatically handles conversions between types and encodings. + More...

+ +

#include <String.hpp>

+ + + + + + + + +

+Public Types

typedef std::basic_string< Uint32 >::iterator Iterator
 Iterator type. More...
 
typedef std::basic_string< Uint32 >::const_iterator ConstIterator
 Read-only iterator type. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 String ()
 Default constructor. More...
 
 String (char ansiChar, const std::locale &locale=std::locale())
 Construct from a single ANSI character and a locale. More...
 
 String (wchar_t wideChar)
 Construct from single wide character. More...
 
 String (Uint32 utf32Char)
 Construct from single UTF-32 character. More...
 
 String (const char *ansiString, const std::locale &locale=std::locale())
 Construct from a null-terminated C-style ANSI string and a locale. More...
 
 String (const std::string &ansiString, const std::locale &locale=std::locale())
 Construct from an ANSI string and a locale. More...
 
 String (const wchar_t *wideString)
 Construct from null-terminated C-style wide string. More...
 
 String (const std::wstring &wideString)
 Construct from a wide string. More...
 
 String (const Uint32 *utf32String)
 Construct from a null-terminated C-style UTF-32 string. More...
 
 String (const std::basic_string< Uint32 > &utf32String)
 Construct from an UTF-32 string. More...
 
 String (const String &copy)
 Copy constructor. More...
 
 operator std::string () const
 Implicit conversion operator to std::string (ANSI string) More...
 
 operator std::wstring () const
 Implicit conversion operator to std::wstring (wide string) More...
 
std::string toAnsiString (const std::locale &locale=std::locale()) const
 Convert the Unicode string to an ANSI string. More...
 
std::wstring toWideString () const
 Convert the Unicode string to a wide string. More...
 
std::basic_string< Uint8 > toUtf8 () const
 Convert the Unicode string to a UTF-8 string. More...
 
std::basic_string< Uint16 > toUtf16 () const
 Convert the Unicode string to a UTF-16 string. More...
 
std::basic_string< Uint32 > toUtf32 () const
 Convert the Unicode string to a UTF-32 string. More...
 
Stringoperator= (const String &right)
 Overload of assignment operator. More...
 
Stringoperator+= (const String &right)
 Overload of += operator to append an UTF-32 string. More...
 
Uint32 operator[] (std::size_t index) const
 Overload of [] operator to access a character by its position. More...
 
Uint32 & operator[] (std::size_t index)
 Overload of [] operator to access a character by its position. More...
 
void clear ()
 Clear the string. More...
 
std::size_t getSize () const
 Get the size of the string. More...
 
bool isEmpty () const
 Check whether the string is empty or not. More...
 
void erase (std::size_t position, std::size_t count=1)
 Erase one or more characters from the string. More...
 
void insert (std::size_t position, const String &str)
 Insert one or more characters into the string. More...
 
std::size_t find (const String &str, std::size_t start=0) const
 Find a sequence of one or more characters in the string. More...
 
void replace (std::size_t position, std::size_t length, const String &replaceWith)
 Replace a substring with another string. More...
 
void replace (const String &searchFor, const String &replaceWith)
 Replace all occurrences of a substring with a replacement string. More...
 
String substring (std::size_t position, std::size_t length=InvalidPos) const
 Return a part of the string. More...
 
const Uint32 * getData () const
 Get a pointer to the C-style array of characters. More...
 
Iterator begin ()
 Return an iterator to the beginning of the string. More...
 
ConstIterator begin () const
 Return an iterator to the beginning of the string. More...
 
Iterator end ()
 Return an iterator to the end of the string. More...
 
ConstIterator end () const
 Return an iterator to the end of the string. More...
 
+ + + + + + + + + + + + + +

+Static Public Member Functions

template<typename T >
static String fromUtf8 (T begin, T end)
 Create a new sf::String from a UTF-8 encoded string. More...
 
template<typename T >
static String fromUtf16 (T begin, T end)
 Create a new sf::String from a UTF-16 encoded string. More...
 
template<typename T >
static String fromUtf32 (T begin, T end)
 Create a new sf::String from a UTF-32 encoded string. More...
 
+ + + + +

+Static Public Attributes

static const std::size_t InvalidPos
 Represents an invalid position in the string. More...
 
+ + + + + +

+Friends

+bool operator== (const String &left, const String &right)
 
+bool operator< (const String &left, const String &right)
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
bool operator== (const String &left, const String &right)
 Overload of == operator to compare two UTF-32 strings. More...
 
bool operator!= (const String &left, const String &right)
 Overload of != operator to compare two UTF-32 strings. More...
 
bool operator< (const String &left, const String &right)
 Overload of < operator to compare two UTF-32 strings. More...
 
bool operator> (const String &left, const String &right)
 Overload of > operator to compare two UTF-32 strings. More...
 
bool operator<= (const String &left, const String &right)
 Overload of <= operator to compare two UTF-32 strings. More...
 
bool operator>= (const String &left, const String &right)
 Overload of >= operator to compare two UTF-32 strings. More...
 
String operator+ (const String &left, const String &right)
 Overload of binary + operator to concatenate two strings. More...
 
+

Detailed Description

+

Utility string class that automatically handles conversions between types and encodings.

+

sf::String is a utility string class defined mainly for convenience.

+

It is a Unicode string (implemented using UTF-32), thus it can store any character in the world (European, Chinese, Arabic, Hebrew, etc.).

+

It automatically handles conversions from/to ANSI and wide strings, so that you can work with standard string classes and still be compatible with functions taking a sf::String.

+
std::string s1 = s; // automatically converted to ANSI string
std::wstring s2 = s; // automatically converted to wide string
s = "hello"; // automatically converted from ANSI string
s = L"hello"; // automatically converted from wide string
s += 'a'; // automatically converted from ANSI string
s += L'a'; // automatically converted from wide string

Conversions involving ANSI strings use the default user locale. However it is possible to use a custom locale if necessary:

std::locale locale;
...
std::string s1 = s.toAnsiString(locale);
s = sf::String("hello", locale);

sf::String defines the most important functions of the standard std::string class: removing, random access, iterating, appending, comparing, etc. However it is a simple class provided for convenience, and you may have to consider using a more optimized class if your program requires complex string handling. The automatic conversion functions will then take care of converting your string to sf::String whenever SFML requires it.

+

Please note that SFML also defines a low-level, generic interface for Unicode handling, see the sf::Utf classes.

+ +

Definition at line 45 of file String.hpp.

+

Member Typedef Documentation

+ +

◆ ConstIterator

+ +
+
+ + + + +
typedef std::basic_string<Uint32>::const_iterator sf::String::ConstIterator
+
+ +

Read-only iterator type.

+ +

Definition at line 53 of file String.hpp.

+ +
+
+ +

◆ Iterator

+ +
+
+ + + + +
typedef std::basic_string<Uint32>::iterator sf::String::Iterator
+
+ +

Iterator type.

+ +

Definition at line 52 of file String.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ String() [1/11]

+ +
+
+ + + + + + + +
sf::String::String ()
+
+ +

Default constructor.

+

This constructor creates an empty string.

+ +
+
+ +

◆ String() [2/11]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::String::String (char ansiChar,
const std::locale & locale = std::locale() 
)
+
+ +

Construct from a single ANSI character and a locale.

+

The source character is converted to UTF-32 according to the given locale.

+
Parameters
+ + + +
ansiCharANSI character to convert
localeLocale to use for conversion
+
+
+ +
+
+ +

◆ String() [3/11]

+ +
+
+ + + + + + + + +
sf::String::String (wchar_t wideChar)
+
+ +

Construct from single wide character.

+
Parameters
+ + +
wideCharWide character to convert
+
+
+ +
+
+ +

◆ String() [4/11]

+ +
+
+ + + + + + + + +
sf::String::String (Uint32 utf32Char)
+
+ +

Construct from single UTF-32 character.

+
Parameters
+ + +
utf32CharUTF-32 character to convert
+
+
+ +
+
+ +

◆ String() [5/11]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::String::String (const char * ansiString,
const std::locale & locale = std::locale() 
)
+
+ +

Construct from a null-terminated C-style ANSI string and a locale.

+

The source string is converted to UTF-32 according to the given locale.

+
Parameters
+ + + +
ansiStringANSI string to convert
localeLocale to use for conversion
+
+
+ +
+
+ +

◆ String() [6/11]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::String::String (const std::string & ansiString,
const std::locale & locale = std::locale() 
)
+
+ +

Construct from an ANSI string and a locale.

+

The source string is converted to UTF-32 according to the given locale.

+
Parameters
+ + + +
ansiStringANSI string to convert
localeLocale to use for conversion
+
+
+ +
+
+ +

◆ String() [7/11]

+ +
+
+ + + + + + + + +
sf::String::String (const wchar_t * wideString)
+
+ +

Construct from null-terminated C-style wide string.

+
Parameters
+ + +
wideStringWide string to convert
+
+
+ +
+
+ +

◆ String() [8/11]

+ +
+
+ + + + + + + + +
sf::String::String (const std::wstring & wideString)
+
+ +

Construct from a wide string.

+
Parameters
+ + +
wideStringWide string to convert
+
+
+ +
+
+ +

◆ String() [9/11]

+ +
+
+ + + + + + + + +
sf::String::String (const Uint32 * utf32String)
+
+ +

Construct from a null-terminated C-style UTF-32 string.

+
Parameters
+ + +
utf32StringUTF-32 string to assign
+
+
+ +
+
+ +

◆ String() [10/11]

+ +
+
+ + + + + + + + +
sf::String::String (const std::basic_string< Uint32 > & utf32String)
+
+ +

Construct from an UTF-32 string.

+
Parameters
+ + +
utf32StringUTF-32 string to assign
+
+
+ +
+
+ +

◆ String() [11/11]

+ +
+
+ + + + + + + + +
sf::String::String (const Stringcopy)
+
+ +

Copy constructor.

+
Parameters
+ + +
copyInstance to copy
+
+
+ +
+
+

Member Function Documentation

+ +

◆ begin() [1/2]

+ +
+
+ + + + + + + +
Iterator sf::String::begin ()
+
+ +

Return an iterator to the beginning of the string.

+
Returns
Read-write iterator to the beginning of the string characters
+
See also
end
+ +
+
+ +

◆ begin() [2/2]

+ +
+
+ + + + + + + +
ConstIterator sf::String::begin () const
+
+ +

Return an iterator to the beginning of the string.

+
Returns
Read-only iterator to the beginning of the string characters
+
See also
end
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + + + +
void sf::String::clear ()
+
+ +

Clear the string.

+

This function removes all the characters from the string.

+
See also
isEmpty, erase
+ +
+
+ +

◆ end() [1/2]

+ +
+
+ + + + + + + +
Iterator sf::String::end ()
+
+ +

Return an iterator to the end of the string.

+

The end iterator refers to 1 position past the last character; thus it represents an invalid character and should never be accessed.

+
Returns
Read-write iterator to the end of the string characters
+
See also
begin
+ +
+
+ +

◆ end() [2/2]

+ +
+
+ + + + + + + +
ConstIterator sf::String::end () const
+
+ +

Return an iterator to the end of the string.

+

The end iterator refers to 1 position past the last character; thus it represents an invalid character and should never be accessed.

+
Returns
Read-only iterator to the end of the string characters
+
See also
begin
+ +
+
+ +

◆ erase()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::String::erase (std::size_t position,
std::size_t count = 1 
)
+
+ +

Erase one or more characters from the string.

+

This function removes a sequence of count characters starting from position.

+
Parameters
+ + + +
positionPosition of the first character to erase
countNumber of characters to erase
+
+
+ +
+
+ +

◆ find()

+ +
+
+ + + + + + + + + + + + + + + + + + +
std::size_t sf::String::find (const Stringstr,
std::size_t start = 0 
) const
+
+ +

Find a sequence of one or more characters in the string.

+

This function searches for the characters of str in the string, starting from start.

+
Parameters
+ + + +
strCharacters to find
startWhere to begin searching
+
+
+
Returns
Position of str in the string, or String::InvalidPos if not found
+ +
+
+ +

◆ fromUtf16()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static String sf::String::fromUtf16 (begin,
end 
)
+
+static
+
+ +

Create a new sf::String from a UTF-16 encoded string.

+
Parameters
+ + + +
beginForward iterator to the beginning of the UTF-16 sequence
endForward iterator to the end of the UTF-16 sequence
+
+
+
Returns
A sf::String containing the source string
+
See also
fromUtf8, fromUtf32
+ +
+
+ +

◆ fromUtf32()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static String sf::String::fromUtf32 (begin,
end 
)
+
+static
+
+ +

Create a new sf::String from a UTF-32 encoded string.

+

This function is provided for consistency, it is equivalent to using the constructors that takes a const sf::Uint32* or a std::basic_string<sf::Uint32>.

+
Parameters
+ + + +
beginForward iterator to the beginning of the UTF-32 sequence
endForward iterator to the end of the UTF-32 sequence
+
+
+
Returns
A sf::String containing the source string
+
See also
fromUtf8, fromUtf16
+ +
+
+ +

◆ fromUtf8()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static String sf::String::fromUtf8 (begin,
end 
)
+
+static
+
+ +

Create a new sf::String from a UTF-8 encoded string.

+
Parameters
+ + + +
beginForward iterator to the beginning of the UTF-8 sequence
endForward iterator to the end of the UTF-8 sequence
+
+
+
Returns
A sf::String containing the source string
+
See also
fromUtf16, fromUtf32
+ +
+
+ +

◆ getData()

+ +
+
+ + + + + + + +
const Uint32* sf::String::getData () const
+
+ +

Get a pointer to the C-style array of characters.

+

This functions provides a read-only access to a null-terminated C-style representation of the string. The returned pointer is temporary and is meant only for immediate use, thus it is not recommended to store it.

+
Returns
Read-only pointer to the array of characters
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + + + +
std::size_t sf::String::getSize () const
+
+ +

Get the size of the string.

+
Returns
Number of characters in the string
+
See also
isEmpty
+ +
+
+ +

◆ insert()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::String::insert (std::size_t position,
const Stringstr 
)
+
+ +

Insert one or more characters into the string.

+

This function inserts the characters of str into the string, starting from position.

+
Parameters
+ + + +
positionPosition of insertion
strCharacters to insert
+
+
+ +
+
+ +

◆ isEmpty()

+ +
+
+ + + + + + + +
bool sf::String::isEmpty () const
+
+ +

Check whether the string is empty or not.

+
Returns
True if the string is empty (i.e. contains no character)
+
See also
clear, getSize
+ +
+
+ +

◆ operator std::string()

+ +
+
+ + + + + + + +
sf::String::operator std::string () const
+
+ +

Implicit conversion operator to std::string (ANSI string)

+

The current global locale is used for conversion. If you want to explicitly specify a locale, see toAnsiString. Characters that do not fit in the target encoding are discarded from the returned string. This operator is defined for convenience, and is equivalent to calling toAnsiString().

+
Returns
Converted ANSI string
+
See also
toAnsiString, operator std::wstring
+ +
+
+ +

◆ operator std::wstring()

+ +
+
+ + + + + + + +
sf::String::operator std::wstring () const
+
+ +

Implicit conversion operator to std::wstring (wide string)

+

Characters that do not fit in the target encoding are discarded from the returned string. This operator is defined for convenience, and is equivalent to calling toWideString().

+
Returns
Converted wide string
+
See also
toWideString, operator std::string
+ +
+
+ +

◆ operator+=()

+ +
+
+ + + + + + + + +
String& sf::String::operator+= (const Stringright)
+
+ +

Overload of += operator to append an UTF-32 string.

+
Parameters
+ + +
rightString to append
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
String& sf::String::operator= (const Stringright)
+
+ +

Overload of assignment operator.

+
Parameters
+ + +
rightInstance to assign
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ operator[]() [1/2]

+ +
+
+ + + + + + + + +
Uint32 sf::String::operator[] (std::size_t index) const
+
+ +

Overload of [] operator to access a character by its position.

+

This function provides read-only access to characters. Note: the behavior is undefined if index is out of range.

+
Parameters
+ + +
indexIndex of the character to get
+
+
+
Returns
Character at position index
+ +
+
+ +

◆ operator[]() [2/2]

+ +
+
+ + + + + + + + +
Uint32& sf::String::operator[] (std::size_t index)
+
+ +

Overload of [] operator to access a character by its position.

+

This function provides read and write access to characters. Note: the behavior is undefined if index is out of range.

+
Parameters
+ + +
indexIndex of the character to get
+
+
+
Returns
Reference to the character at position index
+ +
+
+ +

◆ replace() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::String::replace (std::size_t position,
std::size_t length,
const StringreplaceWith 
)
+
+ +

Replace a substring with another string.

+

This function replaces the substring that starts at index position and spans length characters with the string replaceWith.

+
Parameters
+ + + + +
positionIndex of the first character to be replaced
lengthNumber of characters to replace. You can pass InvalidPos to replace all characters until the end of the string.
replaceWithString that replaces the given substring.
+
+
+ +
+
+ +

◆ replace() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::String::replace (const StringsearchFor,
const StringreplaceWith 
)
+
+ +

Replace all occurrences of a substring with a replacement string.

+

This function replaces all occurrences of searchFor in this string with the string replaceWith.

+
Parameters
+ + + +
searchForThe value being searched for
replaceWithThe value that replaces found searchFor values
+
+
+ +
+
+ +

◆ substring()

+ +
+
+ + + + + + + + + + + + + + + + + + +
String sf::String::substring (std::size_t position,
std::size_t length = InvalidPos 
) const
+
+ +

Return a part of the string.

+

This function returns the substring that starts at index position and spans length characters.

+
Parameters
+ + + +
positionIndex of the first character
lengthNumber of characters to include in the substring (if the string is shorter, as many characters as possible are included). InvalidPos can be used to include all characters until the end of the string.
+
+
+
Returns
String object containing a substring of this object
+ +
+
+ +

◆ toAnsiString()

+ +
+
+ + + + + + + + +
std::string sf::String::toAnsiString (const std::locale & locale = std::locale()) const
+
+ +

Convert the Unicode string to an ANSI string.

+

The UTF-32 string is converted to an ANSI string in the encoding defined by locale. Characters that do not fit in the target encoding are discarded from the returned string.

+
Parameters
+ + +
localeLocale to use for conversion
+
+
+
Returns
Converted ANSI string
+
See also
toWideString, operator std::string
+ +
+
+ +

◆ toUtf16()

+ +
+
+ + + + + + + +
std::basic_string<Uint16> sf::String::toUtf16 () const
+
+ +

Convert the Unicode string to a UTF-16 string.

+
Returns
Converted UTF-16 string
+
See also
toUtf8, toUtf32
+ +
+
+ +

◆ toUtf32()

+ +
+
+ + + + + + + +
std::basic_string<Uint32> sf::String::toUtf32 () const
+
+ +

Convert the Unicode string to a UTF-32 string.

+

This function doesn't perform any conversion, since the string is already stored as UTF-32 internally.

+
Returns
Converted UTF-32 string
+
See also
toUtf8, toUtf16
+ +
+
+ +

◆ toUtf8()

+ +
+
+ + + + + + + +
std::basic_string<Uint8> sf::String::toUtf8 () const
+
+ +

Convert the Unicode string to a UTF-8 string.

+
Returns
Converted UTF-8 string
+
See also
toUtf16, toUtf32
+ +
+
+ +

◆ toWideString()

+ +
+
+ + + + + + + +
std::wstring sf::String::toWideString () const
+
+ +

Convert the Unicode string to a wide string.

+

Characters that do not fit in the target encoding are discarded from the returned string.

+
Returns
Converted wide string
+
See also
toAnsiString, operator std::wstring
+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator!=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const Stringleft,
const Stringright 
)
+
+related
+
+ +

Overload of != operator to compare two UTF-32 strings.

+
Parameters
+ + + +
leftLeft operand (a string)
rightRight operand (a string)
+
+
+
Returns
True if both strings are different
+ +
+
+ +

◆ operator+()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
String operator+ (const Stringleft,
const Stringright 
)
+
+related
+
+ +

Overload of binary + operator to concatenate two strings.

+
Parameters
+ + + +
leftLeft operand (a string)
rightRight operand (a string)
+
+
+
Returns
Concatenated string
+ +
+
+ +

◆ operator<()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator< (const Stringleft,
const Stringright 
)
+
+related
+
+ +

Overload of < operator to compare two UTF-32 strings.

+
Parameters
+ + + +
leftLeft operand (a string)
rightRight operand (a string)
+
+
+
Returns
True if left is lexicographically before right
+ +
+
+ +

◆ operator<=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator<= (const Stringleft,
const Stringright 
)
+
+related
+
+ +

Overload of <= operator to compare two UTF-32 strings.

+
Parameters
+ + + +
leftLeft operand (a string)
rightRight operand (a string)
+
+
+
Returns
True if left is lexicographically before or equivalent to right
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const Stringleft,
const Stringright 
)
+
+related
+
+ +

Overload of == operator to compare two UTF-32 strings.

+
Parameters
+ + + +
leftLeft operand (a string)
rightRight operand (a string)
+
+
+
Returns
True if both strings are equal
+ +
+
+ +

◆ operator>()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator> (const Stringleft,
const Stringright 
)
+
+related
+
+ +

Overload of > operator to compare two UTF-32 strings.

+
Parameters
+ + + +
leftLeft operand (a string)
rightRight operand (a string)
+
+
+
Returns
True if left is lexicographically after right
+ +
+
+ +

◆ operator>=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator>= (const Stringleft,
const Stringright 
)
+
+related
+
+ +

Overload of >= operator to compare two UTF-32 strings.

+
Parameters
+ + + +
leftLeft operand (a string)
rightRight operand (a string)
+
+
+
Returns
True if left is lexicographically after or equivalent to right
+ +
+
+

Member Data Documentation

+ +

◆ InvalidPos

+ +
+
+ + + + + +
+ + + + +
const std::size_t sf::String::InvalidPos
+
+static
+
+ +

Represents an invalid position in the string.

+ +

Definition at line 58 of file String.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1TcpListener-members.html b/SFML/doc/html/classsf_1_1TcpListener-members.html new file mode 100644 index 0000000..4b7fad0 --- /dev/null +++ b/SFML/doc/html/classsf_1_1TcpListener-members.html @@ -0,0 +1,83 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::TcpListener Member List
+
+
+ +

This is the complete list of members for sf::TcpListener, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
accept(TcpSocket &socket)sf::TcpListener
AnyPort enum valuesf::Socket
close()sf::TcpListener
create()sf::Socketprotected
create(SocketHandle handle)sf::Socketprotected
Disconnected enum valuesf::Socket
Done enum valuesf::Socket
Error enum valuesf::Socket
getHandle() constsf::Socketprotected
getLocalPort() constsf::TcpListener
isBlocking() constsf::Socket
listen(unsigned short port, const IpAddress &address=IpAddress::Any)sf::TcpListener
NotReady enum valuesf::Socket
Partial enum valuesf::Socket
setBlocking(bool blocking)sf::Socket
Socket(Type type)sf::Socketprotected
Status enum namesf::Socket
Tcp enum valuesf::Socketprotected
TcpListener()sf::TcpListener
Type enum namesf::Socketprotected
Udp enum valuesf::Socketprotected
~Socket()sf::Socketvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1TcpListener.html b/SFML/doc/html/classsf_1_1TcpListener.html new file mode 100644 index 0000000..8dadc4e --- /dev/null +++ b/SFML/doc/html/classsf_1_1TcpListener.html @@ -0,0 +1,547 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Socket that listens to new TCP connections. + More...

+ +

#include <TcpListener.hpp>

+
+Inheritance diagram for sf::TcpListener:
+
+
+ + +sf::Socket +sf::NonCopyable + +
+ + + + + + + + +

+Public Types

enum  Status {
+  Done, +NotReady, +Partial, +Disconnected, +
+  Error +
+ }
 Status codes that may be returned by socket functions. More...
 
enum  { AnyPort = 0 + }
 Some special values used by sockets. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 TcpListener ()
 Default constructor. More...
 
unsigned short getLocalPort () const
 Get the port to which the socket is bound locally. More...
 
Status listen (unsigned short port, const IpAddress &address=IpAddress::Any)
 Start listening for incoming connection attempts. More...
 
void close ()
 Stop listening and close the socket. More...
 
Status accept (TcpSocket &socket)
 Accept a new connection. More...
 
void setBlocking (bool blocking)
 Set the blocking state of the socket. More...
 
bool isBlocking () const
 Tell whether the socket is in blocking or non-blocking mode. More...
 
+ + + + +

+Protected Types

enum  Type { Tcp, +Udp + }
 Types of protocols that the socket can use. More...
 
+ + + + + + + + + + +

+Protected Member Functions

SocketHandle getHandle () const
 Return the internal handle of the socket. More...
 
void create ()
 Create the internal representation of the socket. More...
 
void create (SocketHandle handle)
 Create the internal representation of the socket from a socket handle. More...
 
+

Detailed Description

+

Socket that listens to new TCP connections.

+

A listener socket is a special type of socket that listens to a given port and waits for connections on that port.

+

This is all it can do.

+

When a new connection is received, you must call accept and the listener returns a new instance of sf::TcpSocket that is properly initialized and can be used to communicate with the new client.

+

Listener sockets are specific to the TCP protocol, UDP sockets are connectionless and can therefore communicate directly. As a consequence, a listener socket will always return the new connections as sf::TcpSocket instances.

+

A listener is automatically closed on destruction, like all other types of socket. However if you want to stop listening before the socket is destroyed, you can call its close() function.

+

Usage example:

// Create a listener socket and make it wait for new
// connections on port 55001
sf::TcpListener listener;
listener.listen(55001);
// Endless loop that waits for new connections
while (running)
{
sf::TcpSocket client;
if (listener.accept(client) == sf::Socket::Done)
{
// A new client just connected!
std::cout << "New connection received from " << client.getRemoteAddress() << std::endl;
doSomethingWith(client);
}
}
See also
sf::TcpSocket, sf::Socket
+ +

Definition at line 44 of file TcpListener.hpp.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + + +
+ + + + +
anonymous enum
+
+inherited
+
+ +

Some special values used by sockets.

+ + +
Enumerator
AnyPort 

Special value that tells the system to pick any available port.

+
+ +

Definition at line 66 of file Socket.hpp.

+ +
+
+ +

◆ Status

+ +
+
+ + + + + +
+ + + + +
enum sf::Socket::Status
+
+inherited
+
+ +

Status codes that may be returned by socket functions.

+ + + + + + +
Enumerator
Done 

The socket has sent / received the data.

+
NotReady 

The socket is not ready to send / receive data yet.

+
Partial 

The socket sent a part of the data.

+
Disconnected 

The TCP socket has been disconnected.

+
Error 

An unexpected error happened.

+
+ +

Definition at line 53 of file Socket.hpp.

+ +
+
+ +

◆ Type

+ +
+
+ + + + + +
+ + + + +
enum sf::Socket::Type
+
+protectedinherited
+
+ +

Types of protocols that the socket can use.

+ + + +
Enumerator
Tcp 

TCP protocol.

+
Udp 

UDP protocol.

+
+ +

Definition at line 114 of file Socket.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ TcpListener()

+ +
+
+ + + + + + + +
sf::TcpListener::TcpListener ()
+
+ +

Default constructor.

+ +
+
+

Member Function Documentation

+ +

◆ accept()

+ +
+
+ + + + + + + + +
Status sf::TcpListener::accept (TcpSocketsocket)
+
+ +

Accept a new connection.

+

If the socket is in blocking mode, this function will not return until a connection is actually received.

+
Parameters
+ + +
socketSocket that will hold the new connection
+
+
+
Returns
Status code
+
See also
listen
+ +
+
+ +

◆ close()

+ +
+
+ + + + + + + +
void sf::TcpListener::close ()
+
+ +

Stop listening and close the socket.

+

This function gracefully stops the listener. If the socket is not listening, this function has no effect.

+
See also
listen
+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Socket::create ()
+
+protectedinherited
+
+ +

Create the internal representation of the socket.

+

This function can only be accessed by derived classes.

+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Socket::create (SocketHandle handle)
+
+protectedinherited
+
+ +

Create the internal representation of the socket from a socket handle.

+

This function can only be accessed by derived classes.

+
Parameters
+ + +
handleOS-specific handle of the socket to wrap
+
+
+ +
+
+ +

◆ getHandle()

+ +
+
+ + + + + +
+ + + + + + + +
SocketHandle sf::Socket::getHandle () const
+
+protectedinherited
+
+ +

Return the internal handle of the socket.

+

The returned handle may be invalid if the socket was not created yet (or already destroyed). This function can only be accessed by derived classes.

+
Returns
The internal (OS-specific) handle of the socket
+ +
+
+ +

◆ getLocalPort()

+ +
+
+ + + + + + + +
unsigned short sf::TcpListener::getLocalPort () const
+
+ +

Get the port to which the socket is bound locally.

+

If the socket is not listening to a port, this function returns 0.

+
Returns
Port to which the socket is bound
+
See also
listen
+ +
+
+ +

◆ isBlocking()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::Socket::isBlocking () const
+
+inherited
+
+ +

Tell whether the socket is in blocking or non-blocking mode.

+
Returns
True if the socket is blocking, false otherwise
+
See also
setBlocking
+ +
+
+ +

◆ listen()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status sf::TcpListener::listen (unsigned short port,
const IpAddressaddress = IpAddress::Any 
)
+
+ +

Start listening for incoming connection attempts.

+

This function makes the socket start listening on the specified port, waiting for incoming connection attempts.

+

If the socket is already listening on a port when this function is called, it will stop listening on the old port before starting to listen on the new port.

+
Parameters
+ + + +
portPort to listen on for incoming connection attempts
addressAddress of the interface to listen on
+
+
+
Returns
Status code
+
See also
accept, close
+ +
+
+ +

◆ setBlocking()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Socket::setBlocking (bool blocking)
+
+inherited
+
+ +

Set the blocking state of the socket.

+

In blocking mode, calls will not return until they have completed their task. For example, a call to Receive in blocking mode won't return until some data was actually received. In non-blocking mode, calls will always return immediately, using the return code to signal whether there was data available or not. By default, all sockets are blocking.

+
Parameters
+ + +
blockingTrue to set the socket as blocking, false for non-blocking
+
+
+
See also
isBlocking
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1TcpListener.png b/SFML/doc/html/classsf_1_1TcpListener.png new file mode 100644 index 0000000..3ae34e9 Binary files /dev/null and b/SFML/doc/html/classsf_1_1TcpListener.png differ diff --git a/SFML/doc/html/classsf_1_1TcpSocket-members.html b/SFML/doc/html/classsf_1_1TcpSocket-members.html new file mode 100644 index 0000000..c819034 --- /dev/null +++ b/SFML/doc/html/classsf_1_1TcpSocket-members.html @@ -0,0 +1,91 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::TcpSocket Member List
+
+
+ +

This is the complete list of members for sf::TcpSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AnyPort enum valuesf::Socket
close()sf::Socketprotected
connect(const IpAddress &remoteAddress, unsigned short remotePort, Time timeout=Time::Zero)sf::TcpSocket
create()sf::Socketprotected
create(SocketHandle handle)sf::Socketprotected
disconnect()sf::TcpSocket
Disconnected enum valuesf::Socket
Done enum valuesf::Socket
Error enum valuesf::Socket
getHandle() constsf::Socketprotected
getLocalPort() constsf::TcpSocket
getRemoteAddress() constsf::TcpSocket
getRemotePort() constsf::TcpSocket
isBlocking() constsf::Socket
NotReady enum valuesf::Socket
Partial enum valuesf::Socket
receive(void *data, std::size_t size, std::size_t &received)sf::TcpSocket
receive(Packet &packet)sf::TcpSocket
send(const void *data, std::size_t size)sf::TcpSocket
send(const void *data, std::size_t size, std::size_t &sent)sf::TcpSocket
send(Packet &packet)sf::TcpSocket
setBlocking(bool blocking)sf::Socket
Socket(Type type)sf::Socketprotected
Status enum namesf::Socket
Tcp enum valuesf::Socketprotected
TcpListener (defined in sf::TcpSocket)sf::TcpSocketfriend
TcpSocket()sf::TcpSocket
Type enum namesf::Socketprotected
Udp enum valuesf::Socketprotected
~Socket()sf::Socketvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1TcpSocket.html b/SFML/doc/html/classsf_1_1TcpSocket.html new file mode 100644 index 0000000..f463ff5 --- /dev/null +++ b/SFML/doc/html/classsf_1_1TcpSocket.html @@ -0,0 +1,819 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Specialized socket using the TCP protocol. + More...

+ +

#include <TcpSocket.hpp>

+
+Inheritance diagram for sf::TcpSocket:
+
+
+ + +sf::Socket +sf::NonCopyable + +
+ + + + + + + + +

+Public Types

enum  Status {
+  Done, +NotReady, +Partial, +Disconnected, +
+  Error +
+ }
 Status codes that may be returned by socket functions. More...
 
enum  { AnyPort = 0 + }
 Some special values used by sockets. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 TcpSocket ()
 Default constructor. More...
 
unsigned short getLocalPort () const
 Get the port to which the socket is bound locally. More...
 
IpAddress getRemoteAddress () const
 Get the address of the connected peer. More...
 
unsigned short getRemotePort () const
 Get the port of the connected peer to which the socket is connected. More...
 
Status connect (const IpAddress &remoteAddress, unsigned short remotePort, Time timeout=Time::Zero)
 Connect the socket to a remote peer. More...
 
void disconnect ()
 Disconnect the socket from its remote peer. More...
 
Status send (const void *data, std::size_t size)
 Send raw data to the remote peer. More...
 
Status send (const void *data, std::size_t size, std::size_t &sent)
 Send raw data to the remote peer. More...
 
Status receive (void *data, std::size_t size, std::size_t &received)
 Receive raw data from the remote peer. More...
 
Status send (Packet &packet)
 Send a formatted packet of data to the remote peer. More...
 
Status receive (Packet &packet)
 Receive a formatted packet of data from the remote peer. More...
 
void setBlocking (bool blocking)
 Set the blocking state of the socket. More...
 
bool isBlocking () const
 Tell whether the socket is in blocking or non-blocking mode. More...
 
+ + + + +

+Protected Types

enum  Type { Tcp, +Udp + }
 Types of protocols that the socket can use. More...
 
+ + + + + + + + + + + + + +

+Protected Member Functions

SocketHandle getHandle () const
 Return the internal handle of the socket. More...
 
void create ()
 Create the internal representation of the socket. More...
 
void create (SocketHandle handle)
 Create the internal representation of the socket from a socket handle. More...
 
void close ()
 Close the socket gracefully. More...
 
+ + + +

+Friends

+class TcpListener
 
+

Detailed Description

+

Specialized socket using the TCP protocol.

+

TCP is a connected protocol, which means that a TCP socket can only communicate with the host it is connected to.

+

It can't send or receive anything if it is not connected.

+

The TCP protocol is reliable but adds a slight overhead. It ensures that your data will always be received in order and without errors (no data corrupted, lost or duplicated).

+

When a socket is connected to a remote host, you can retrieve informations about this host with the getRemoteAddress and getRemotePort functions. You can also get the local port to which the socket is bound (which is automatically chosen when the socket is connected), with the getLocalPort function.

+

Sending and receiving data can use either the low-level or the high-level functions. The low-level functions process a raw sequence of bytes, and cannot ensure that one call to Send will exactly match one call to Receive at the other end of the socket.

+

The high-level interface uses packets (see sf::Packet), which are easier to use and provide more safety regarding the data that is exchanged. You can look at the sf::Packet class to get more details about how they work.

+

The socket is automatically disconnected when it is destroyed, but if you want to explicitly close the connection while the socket instance is still alive, you can call disconnect.

+

Usage example:

// ----- The client -----
// Create a socket and connect it to 192.168.1.50 on port 55001
socket.connect("192.168.1.50", 55001);
// Send a message to the connected host
std::string message = "Hi, I am a client";
socket.send(message.c_str(), message.size() + 1);
// Receive an answer from the server
char buffer[1024];
std::size_t received = 0;
socket.receive(buffer, sizeof(buffer), received);
std::cout << "The server said: " << buffer << std::endl;
// ----- The server -----
// Create a listener to wait for incoming connections on port 55001
sf::TcpListener listener;
listener.listen(55001);
// Wait for a connection
listener.accept(socket);
std::cout << "New client connected: " << socket.getRemoteAddress() << std::endl;
// Receive a message from the client
char buffer[1024];
std::size_t received = 0;
socket.receive(buffer, sizeof(buffer), received);
std::cout << "The client said: " << buffer << std::endl;
// Send an answer
std::string message = "Welcome, client";
socket.send(message.c_str(), message.size() + 1);
See also
sf::Socket, sf::UdpSocket, sf::Packet
+ +

Definition at line 46 of file TcpSocket.hpp.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + + +
+ + + + +
anonymous enum
+
+inherited
+
+ +

Some special values used by sockets.

+ + +
Enumerator
AnyPort 

Special value that tells the system to pick any available port.

+
+ +

Definition at line 66 of file Socket.hpp.

+ +
+
+ +

◆ Status

+ +
+
+ + + + + +
+ + + + +
enum sf::Socket::Status
+
+inherited
+
+ +

Status codes that may be returned by socket functions.

+ + + + + + +
Enumerator
Done 

The socket has sent / received the data.

+
NotReady 

The socket is not ready to send / receive data yet.

+
Partial 

The socket sent a part of the data.

+
Disconnected 

The TCP socket has been disconnected.

+
Error 

An unexpected error happened.

+
+ +

Definition at line 53 of file Socket.hpp.

+ +
+
+ +

◆ Type

+ +
+
+ + + + + +
+ + + + +
enum sf::Socket::Type
+
+protectedinherited
+
+ +

Types of protocols that the socket can use.

+ + + +
Enumerator
Tcp 

TCP protocol.

+
Udp 

UDP protocol.

+
+ +

Definition at line 114 of file Socket.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ TcpSocket()

+ +
+
+ + + + + + + +
sf::TcpSocket::TcpSocket ()
+
+ +

Default constructor.

+ +
+
+

Member Function Documentation

+ +

◆ close()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Socket::close ()
+
+protectedinherited
+
+ +

Close the socket gracefully.

+

This function can only be accessed by derived classes.

+ +
+
+ +

◆ connect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status sf::TcpSocket::connect (const IpAddressremoteAddress,
unsigned short remotePort,
Time timeout = Time::Zero 
)
+
+ +

Connect the socket to a remote peer.

+

In blocking mode, this function may take a while, especially if the remote peer is not reachable. The last parameter allows you to stop trying to connect after a given timeout. If the socket is already connected, the connection is forcibly disconnected before attempting to connect again.

+
Parameters
+ + + + +
remoteAddressAddress of the remote peer
remotePortPort of the remote peer
timeoutOptional maximum time to wait
+
+
+
Returns
Status code
+
See also
disconnect
+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Socket::create ()
+
+protectedinherited
+
+ +

Create the internal representation of the socket.

+

This function can only be accessed by derived classes.

+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Socket::create (SocketHandle handle)
+
+protectedinherited
+
+ +

Create the internal representation of the socket from a socket handle.

+

This function can only be accessed by derived classes.

+
Parameters
+ + +
handleOS-specific handle of the socket to wrap
+
+
+ +
+
+ +

◆ disconnect()

+ +
+
+ + + + + + + +
void sf::TcpSocket::disconnect ()
+
+ +

Disconnect the socket from its remote peer.

+

This function gracefully closes the connection. If the socket is not connected, this function has no effect.

+
See also
connect
+ +
+
+ +

◆ getHandle()

+ +
+
+ + + + + +
+ + + + + + + +
SocketHandle sf::Socket::getHandle () const
+
+protectedinherited
+
+ +

Return the internal handle of the socket.

+

The returned handle may be invalid if the socket was not created yet (or already destroyed). This function can only be accessed by derived classes.

+
Returns
The internal (OS-specific) handle of the socket
+ +
+
+ +

◆ getLocalPort()

+ +
+
+ + + + + + + +
unsigned short sf::TcpSocket::getLocalPort () const
+
+ +

Get the port to which the socket is bound locally.

+

If the socket is not connected, this function returns 0.

+
Returns
Port to which the socket is bound
+
See also
connect, getRemotePort
+ +
+
+ +

◆ getRemoteAddress()

+ +
+
+ + + + + + + +
IpAddress sf::TcpSocket::getRemoteAddress () const
+
+ +

Get the address of the connected peer.

+

It the socket is not connected, this function returns sf::IpAddress::None.

+
Returns
Address of the remote peer
+
See also
getRemotePort
+ +
+
+ +

◆ getRemotePort()

+ +
+
+ + + + + + + +
unsigned short sf::TcpSocket::getRemotePort () const
+
+ +

Get the port of the connected peer to which the socket is connected.

+

If the socket is not connected, this function returns 0.

+
Returns
Remote port to which the socket is connected
+
See also
getRemoteAddress
+ +
+
+ +

◆ isBlocking()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::Socket::isBlocking () const
+
+inherited
+
+ +

Tell whether the socket is in blocking or non-blocking mode.

+
Returns
True if the socket is blocking, false otherwise
+
See also
setBlocking
+ +
+
+ +

◆ receive() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status sf::TcpSocket::receive (void * data,
std::size_t size,
std::size_t & received 
)
+
+ +

Receive raw data from the remote peer.

+

In blocking mode, this function will wait until some bytes are actually received. This function will fail if the socket is not connected.

+
Parameters
+ + + + +
dataPointer to the array to fill with the received bytes
sizeMaximum number of bytes that can be received
receivedThis variable is filled with the actual number of bytes received
+
+
+
Returns
Status code
+
See also
send
+ +
+
+ +

◆ receive() [2/2]

+ +
+
+ + + + + + + + +
Status sf::TcpSocket::receive (Packetpacket)
+
+ +

Receive a formatted packet of data from the remote peer.

+

In blocking mode, this function will wait until the whole packet has been received. This function will fail if the socket is not connected.

+
Parameters
+ + +
packetPacket to fill with the received data
+
+
+
Returns
Status code
+
See also
send
+ +
+
+ +

◆ send() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status sf::TcpSocket::send (const void * data,
std::size_t size 
)
+
+ +

Send raw data to the remote peer.

+

To be able to handle partial sends over non-blocking sockets, use the send(const void*, std::size_t, std::size_t&) overload instead. This function will fail if the socket is not connected.

+
Parameters
+ + + +
dataPointer to the sequence of bytes to send
sizeNumber of bytes to send
+
+
+
Returns
Status code
+
See also
receive
+ +
+
+ +

◆ send() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status sf::TcpSocket::send (const void * data,
std::size_t size,
std::size_t & sent 
)
+
+ +

Send raw data to the remote peer.

+

This function will fail if the socket is not connected.

+
Parameters
+ + + + +
dataPointer to the sequence of bytes to send
sizeNumber of bytes to send
sentThe number of bytes sent will be written here
+
+
+
Returns
Status code
+
See also
receive
+ +
+
+ +

◆ send() [3/3]

+ +
+
+ + + + + + + + +
Status sf::TcpSocket::send (Packetpacket)
+
+ +

Send a formatted packet of data to the remote peer.

+

In non-blocking mode, if this function returns sf::Socket::Partial, you must retry sending the same unmodified packet before sending anything else in order to guarantee the packet arrives at the remote peer uncorrupted. This function will fail if the socket is not connected.

+
Parameters
+ + +
packetPacket to send
+
+
+
Returns
Status code
+
See also
receive
+ +
+
+ +

◆ setBlocking()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Socket::setBlocking (bool blocking)
+
+inherited
+
+ +

Set the blocking state of the socket.

+

In blocking mode, calls will not return until they have completed their task. For example, a call to Receive in blocking mode won't return until some data was actually received. In non-blocking mode, calls will always return immediately, using the return code to signal whether there was data available or not. By default, all sockets are blocking.

+
Parameters
+ + +
blockingTrue to set the socket as blocking, false for non-blocking
+
+
+
See also
isBlocking
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1TcpSocket.png b/SFML/doc/html/classsf_1_1TcpSocket.png new file mode 100644 index 0000000..ed81a9a Binary files /dev/null and b/SFML/doc/html/classsf_1_1TcpSocket.png differ diff --git a/SFML/doc/html/classsf_1_1Text-members.html b/SFML/doc/html/classsf_1_1Text-members.html new file mode 100644 index 0000000..fad5478 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Text-members.html @@ -0,0 +1,113 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Text Member List
+
+
+ +

This is the complete list of members for sf::Text, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Bold enum valuesf::Text
findCharacterPos(std::size_t index) constsf::Text
getCharacterSize() constsf::Text
getColor() constsf::Text
getFillColor() constsf::Text
getFont() constsf::Text
getGlobalBounds() constsf::Text
getInverseTransform() constsf::Transformable
getLetterSpacing() constsf::Text
getLineSpacing() constsf::Text
getLocalBounds() constsf::Text
getOrigin() constsf::Transformable
getOutlineColor() constsf::Text
getOutlineThickness() constsf::Text
getPosition() constsf::Transformable
getRotation() constsf::Transformable
getScale() constsf::Transformable
getString() constsf::Text
getStyle() constsf::Text
getTransform() constsf::Transformable
Italic enum valuesf::Text
move(float offsetX, float offsetY)sf::Transformable
move(const Vector2f &offset)sf::Transformable
Regular enum valuesf::Text
rotate(float angle)sf::Transformable
scale(float factorX, float factorY)sf::Transformable
scale(const Vector2f &factor)sf::Transformable
setCharacterSize(unsigned int size)sf::Text
setColor(const Color &color)sf::Text
setFillColor(const Color &color)sf::Text
setFont(const Font &font)sf::Text
setLetterSpacing(float spacingFactor)sf::Text
setLineSpacing(float spacingFactor)sf::Text
setOrigin(float x, float y)sf::Transformable
setOrigin(const Vector2f &origin)sf::Transformable
setOutlineColor(const Color &color)sf::Text
setOutlineThickness(float thickness)sf::Text
setPosition(float x, float y)sf::Transformable
setPosition(const Vector2f &position)sf::Transformable
setRotation(float angle)sf::Transformable
setScale(float factorX, float factorY)sf::Transformable
setScale(const Vector2f &factors)sf::Transformable
setString(const String &string)sf::Text
setStyle(Uint32 style)sf::Text
StrikeThrough enum valuesf::Text
Style enum namesf::Text
Text()sf::Text
Text(const String &string, const Font &font, unsigned int characterSize=30)sf::Text
Transformable()sf::Transformable
Underlined enum valuesf::Text
~Drawable()sf::Drawableinlinevirtual
~Transformable()sf::Transformablevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Text.html b/SFML/doc/html/classsf_1_1Text.html new file mode 100644 index 0000000..18f766d --- /dev/null +++ b/SFML/doc/html/classsf_1_1Text.html @@ -0,0 +1,1557 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Graphical text that can be drawn to a render target. + More...

+ +

#include <Text.hpp>

+
+Inheritance diagram for sf::Text:
+
+
+ + +sf::Drawable +sf::Transformable + +
+ + + + + +

+Public Types

enum  Style {
+  Regular = 0, +Bold = 1 << 0, +Italic = 1 << 1, +Underlined = 1 << 2, +
+  StrikeThrough = 1 << 3 +
+ }
 Enumeration of the string drawing styles. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Text ()
 Default constructor. More...
 
 Text (const String &string, const Font &font, unsigned int characterSize=30)
 Construct the text from a string, font and size. More...
 
void setString (const String &string)
 Set the text's string. More...
 
void setFont (const Font &font)
 Set the text's font. More...
 
void setCharacterSize (unsigned int size)
 Set the character size. More...
 
void setLineSpacing (float spacingFactor)
 Set the line spacing factor. More...
 
void setLetterSpacing (float spacingFactor)
 Set the letter spacing factor. More...
 
void setStyle (Uint32 style)
 Set the text's style. More...
 
void setColor (const Color &color)
 Set the fill color of the text. More...
 
void setFillColor (const Color &color)
 Set the fill color of the text. More...
 
void setOutlineColor (const Color &color)
 Set the outline color of the text. More...
 
void setOutlineThickness (float thickness)
 Set the thickness of the text's outline. More...
 
const StringgetString () const
 Get the text's string. More...
 
const FontgetFont () const
 Get the text's font. More...
 
unsigned int getCharacterSize () const
 Get the character size. More...
 
float getLetterSpacing () const
 Get the size of the letter spacing factor. More...
 
float getLineSpacing () const
 Get the size of the line spacing factor. More...
 
Uint32 getStyle () const
 Get the text's style. More...
 
const ColorgetColor () const
 Get the fill color of the text. More...
 
const ColorgetFillColor () const
 Get the fill color of the text. More...
 
const ColorgetOutlineColor () const
 Get the outline color of the text. More...
 
float getOutlineThickness () const
 Get the outline thickness of the text. More...
 
Vector2f findCharacterPos (std::size_t index) const
 Return the position of the index-th character. More...
 
FloatRect getLocalBounds () const
 Get the local bounding rectangle of the entity. More...
 
FloatRect getGlobalBounds () const
 Get the global bounding rectangle of the entity. More...
 
void setPosition (float x, float y)
 set the position of the object More...
 
void setPosition (const Vector2f &position)
 set the position of the object More...
 
void setRotation (float angle)
 set the orientation of the object More...
 
void setScale (float factorX, float factorY)
 set the scale factors of the object More...
 
void setScale (const Vector2f &factors)
 set the scale factors of the object More...
 
void setOrigin (float x, float y)
 set the local origin of the object More...
 
void setOrigin (const Vector2f &origin)
 set the local origin of the object More...
 
const Vector2fgetPosition () const
 get the position of the object More...
 
float getRotation () const
 get the orientation of the object More...
 
const Vector2fgetScale () const
 get the current scale of the object More...
 
const Vector2fgetOrigin () const
 get the local origin of the object More...
 
void move (float offsetX, float offsetY)
 Move the object by a given offset. More...
 
void move (const Vector2f &offset)
 Move the object by a given offset. More...
 
void rotate (float angle)
 Rotate the object. More...
 
void scale (float factorX, float factorY)
 Scale the object. More...
 
void scale (const Vector2f &factor)
 Scale the object. More...
 
const TransformgetTransform () const
 get the combined transform of the object More...
 
const TransformgetInverseTransform () const
 get the inverse of the combined transform of the object More...
 
+

Detailed Description

+

Graphical text that can be drawn to a render target.

+

sf::Text is a drawable class that allows to easily display some text with custom style and color on a render target.

+

It inherits all the functions from sf::Transformable: position, rotation, scale, origin. It also adds text-specific properties such as the font to use, the character size, the font style (bold, italic, underlined and strike through), the text color, the outline thickness, the outline color, the character spacing, the line spacing and the text to display of course. It also provides convenience functions to calculate the graphical size of the text, or to get the global position of a given character.

+

sf::Text works in combination with the sf::Font class, which loads and provides the glyphs (visual characters) of a given font.

+

The separation of sf::Font and sf::Text allows more flexibility and better performances: indeed a sf::Font is a heavy resource, and any operation on it is slow (often too slow for real-time applications). On the other side, a sf::Text is a lightweight object which can combine the glyphs data and metrics of a sf::Font to display any text on a render target.

+

It is important to note that the sf::Text instance doesn't copy the font that it uses, it only keeps a reference to it. Thus, a sf::Font must not be destructed while it is used by a sf::Text (i.e. never write a function that uses a local sf::Font instance for creating a text).

+

See also the note on coordinates and undistorted rendering in sf::Transformable.

+

Usage example:

// Declare and load a font
sf::Font font;
font.loadFromFile("arial.ttf");
// Create a text
sf::Text text("hello", font);
// Draw it
window.draw(text);
See also
sf::Font, sf::Transformable
+ +

Definition at line 48 of file Text.hpp.

+

Member Enumeration Documentation

+ +

◆ Style

+ +
+
+ + + + +
enum sf::Text::Style
+
+ +

Enumeration of the string drawing styles.

+ + + + + + +
Enumerator
Regular 

Regular characters, no style.

+
Bold 

Bold characters.

+
Italic 

Italic characters.

+
Underlined 

Underlined characters.

+
StrikeThrough 

Strike through characters.

+
+ +

Definition at line 56 of file Text.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Text() [1/2]

+ +
+
+ + + + + + + +
sf::Text::Text ()
+
+ +

Default constructor.

+

Creates an empty text.

+ +
+
+ +

◆ Text() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
sf::Text::Text (const Stringstring,
const Fontfont,
unsigned int characterSize = 30 
)
+
+ +

Construct the text from a string, font and size.

+

Note that if the used font is a bitmap font, it is not scalable, thus not all requested sizes will be available to use. This needs to be taken into consideration when setting the character size. If you need to display text of a certain size, make sure the corresponding bitmap font that supports that size is used.

+
Parameters
+ + + + +
stringText assigned to the string
fontFont used to draw the string
characterSizeBase size of characters, in pixels
+
+
+ +
+
+

Member Function Documentation

+ +

◆ findCharacterPos()

+ +
+
+ + + + + + + + +
Vector2f sf::Text::findCharacterPos (std::size_t index) const
+
+ +

Return the position of the index-th character.

+

This function computes the visual position of a character from its index in the string. The returned position is in global coordinates (translation, rotation, scale and origin are applied). If index is out of range, the position of the end of the string is returned.

+
Parameters
+ + +
indexIndex of the character
+
+
+
Returns
Position of the character
+ +
+
+ +

◆ getCharacterSize()

+ +
+
+ + + + + + + +
unsigned int sf::Text::getCharacterSize () const
+
+ +

Get the character size.

+
Returns
Size of the characters, in pixels
+
See also
setCharacterSize
+ +
+
+ +

◆ getColor()

+ +
+
+ + + + + + + +
const Color& sf::Text::getColor () const
+
+ +

Get the fill color of the text.

+
Returns
Fill color of the text
+
See also
setFillColor
+
Deprecated:
There is now fill and outline colors instead of a single global color. Use getFillColor() or getOutlineColor() instead.
+ +
+
+ +

◆ getFillColor()

+ +
+
+ + + + + + + +
const Color& sf::Text::getFillColor () const
+
+ +

Get the fill color of the text.

+
Returns
Fill color of the text
+
See also
setFillColor
+ +
+
+ +

◆ getFont()

+ +
+
+ + + + + + + +
const Font* sf::Text::getFont () const
+
+ +

Get the text's font.

+

If the text has no font attached, a NULL pointer is returned. The returned pointer is const, which means that you cannot modify the font when you get it from this function.

+
Returns
Pointer to the text's font
+
See also
setFont
+ +
+
+ +

◆ getGlobalBounds()

+ +
+
+ + + + + + + +
FloatRect sf::Text::getGlobalBounds () const
+
+ +

Get the global bounding rectangle of the entity.

+

The returned rectangle is in global coordinates, which means that it takes into account the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the text in the global 2D world's coordinate system.

+
Returns
Global bounding rectangle of the entity
+ +
+
+ +

◆ getInverseTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getInverseTransform () const
+
+inherited
+
+ +

get the inverse of the combined transform of the object

+
Returns
Inverse of the combined transformations applied to the object
+
See also
getTransform
+ +
+
+ +

◆ getLetterSpacing()

+ +
+
+ + + + + + + +
float sf::Text::getLetterSpacing () const
+
+ +

Get the size of the letter spacing factor.

+
Returns
Size of the letter spacing factor
+
See also
setLetterSpacing
+ +
+
+ +

◆ getLineSpacing()

+ +
+
+ + + + + + + +
float sf::Text::getLineSpacing () const
+
+ +

Get the size of the line spacing factor.

+
Returns
Size of the line spacing factor
+
See also
setLineSpacing
+ +
+
+ +

◆ getLocalBounds()

+ +
+
+ + + + + + + +
FloatRect sf::Text::getLocalBounds () const
+
+ +

Get the local bounding rectangle of the entity.

+

The returned rectangle is in local coordinates, which means that it ignores the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the entity in the entity's coordinate system.

+
Returns
Local bounding rectangle of the entity
+ +
+
+ +

◆ getOrigin()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getOrigin () const
+
+inherited
+
+ +

get the local origin of the object

+
Returns
Current origin
+
See also
setOrigin
+ +
+
+ +

◆ getOutlineColor()

+ +
+
+ + + + + + + +
const Color& sf::Text::getOutlineColor () const
+
+ +

Get the outline color of the text.

+
Returns
Outline color of the text
+
See also
setOutlineColor
+ +
+
+ +

◆ getOutlineThickness()

+ +
+
+ + + + + + + +
float sf::Text::getOutlineThickness () const
+
+ +

Get the outline thickness of the text.

+
Returns
Outline thickness of the text, in pixels
+
See also
setOutlineThickness
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getPosition () const
+
+inherited
+
+ +

get the position of the object

+
Returns
Current position
+
See also
setPosition
+ +
+
+ +

◆ getRotation()

+ +
+
+ + + + + +
+ + + + + + + +
float sf::Transformable::getRotation () const
+
+inherited
+
+ +

get the orientation of the object

+

The rotation is always in the range [0, 360].

+
Returns
Current rotation, in degrees
+
See also
setRotation
+ +
+
+ +

◆ getScale()

+ +
+
+ + + + + +
+ + + + + + + +
const Vector2f& sf::Transformable::getScale () const
+
+inherited
+
+ +

get the current scale of the object

+
Returns
Current scale factors
+
See also
setScale
+ +
+
+ +

◆ getString()

+ +
+
+ + + + + + + +
const String& sf::Text::getString () const
+
+ +

Get the text's string.

+

The returned string is a sf::String, which can automatically be converted to standard string types. So, the following lines of code are all valid:

sf::String s1 = text.getString();
std::string s2 = text.getString();
std::wstring s3 = text.getString();
Returns
Text's string
+
See also
setString
+ +
+
+ +

◆ getStyle()

+ +
+
+ + + + + + + +
Uint32 sf::Text::getStyle () const
+
+ +

Get the text's style.

+
Returns
Text's style
+
See also
setStyle
+ +
+
+ +

◆ getTransform()

+ +
+
+ + + + + +
+ + + + + + + +
const Transform& sf::Transformable::getTransform () const
+
+inherited
+
+ +

get the combined transform of the object

+
Returns
Transform combining the position/rotation/scale/origin of the object
+
See also
getInverseTransform
+ +
+
+ +

◆ move() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::move (float offsetX,
float offsetY 
)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f pos = object.getPosition();
object.setPosition(pos.x + offsetX, pos.y + offsetY);
Parameters
+ + + +
offsetXX offset
offsetYY offset
+
+
+
See also
setPosition
+ +
+
+ +

◆ move() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::move (const Vector2foffset)
+
+inherited
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

object.setPosition(object.getPosition() + offset);
Parameters
+ + +
offsetOffset
+
+
+
See also
setPosition
+ +
+
+ +

◆ rotate()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::rotate (float angle)
+
+inherited
+
+ +

Rotate the object.

+

This function adds to the current rotation of the object, unlike setRotation which overwrites it. Thus, it is equivalent to the following code:

object.setRotation(object.getRotation() + angle);
Parameters
+ + +
angleAngle of rotation, in degrees
+
+
+ +
+
+ +

◆ scale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::scale (float factorX,
float factorY 
)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factorX, scale.y * factorY);
Parameters
+ + + +
factorXHorizontal scale factor
factorYVertical scale factor
+
+
+
See also
setScale
+ +
+
+ +

◆ scale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::scale (const Vector2ffactor)
+
+inherited
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factor.x, scale.y * factor.y);
Parameters
+ + +
factorScale factors
+
+
+
See also
setScale
+ +
+
+ +

◆ setCharacterSize()

+ +
+
+ + + + + + + + +
void sf::Text::setCharacterSize (unsigned int size)
+
+ +

Set the character size.

+

The default size is 30.

+

Note that if the used font is a bitmap font, it is not scalable, thus not all requested sizes will be available to use. This needs to be taken into consideration when setting the character size. If you need to display text of a certain size, make sure the corresponding bitmap font that supports that size is used.

+
Parameters
+ + +
sizeNew character size, in pixels
+
+
+
See also
getCharacterSize
+ +
+
+ +

◆ setColor()

+ +
+
+ + + + + + + + +
void sf::Text::setColor (const Colorcolor)
+
+ +

Set the fill color of the text.

+

By default, the text's fill color is opaque white. Setting the fill color to a transparent color with an outline will cause the outline to be displayed in the fill area of the text.

+
Parameters
+ + +
colorNew fill color of the text
+
+
+
See also
getFillColor
+
Deprecated:
There is now fill and outline colors instead of a single global color. Use setFillColor() or setOutlineColor() instead.
+ +
+
+ +

◆ setFillColor()

+ +
+
+ + + + + + + + +
void sf::Text::setFillColor (const Colorcolor)
+
+ +

Set the fill color of the text.

+

By default, the text's fill color is opaque white. Setting the fill color to a transparent color with an outline will cause the outline to be displayed in the fill area of the text.

+
Parameters
+ + +
colorNew fill color of the text
+
+
+
See also
getFillColor
+ +
+
+ +

◆ setFont()

+ +
+
+ + + + + + + + +
void sf::Text::setFont (const Fontfont)
+
+ +

Set the text's font.

+

The font argument refers to a font that must exist as long as the text uses it. Indeed, the text doesn't store its own copy of the font, but rather keeps a pointer to the one that you passed to this function. If the font is destroyed and the text tries to use it, the behavior is undefined.

+
Parameters
+ + +
fontNew font
+
+
+
See also
getFont
+ +
+
+ +

◆ setLetterSpacing()

+ +
+
+ + + + + + + + +
void sf::Text::setLetterSpacing (float spacingFactor)
+
+ +

Set the letter spacing factor.

+

The default spacing between letters is defined by the font. This factor doesn't directly apply to the existing spacing between each character, it rather adds a fixed space between them which is calculated from the font metrics and the character size. Note that factors below 1 (including negative numbers) bring characters closer to each other. By default the letter spacing factor is 1.

+
Parameters
+ + +
spacingFactorNew letter spacing factor
+
+
+
See also
getLetterSpacing
+ +
+
+ +

◆ setLineSpacing()

+ +
+
+ + + + + + + + +
void sf::Text::setLineSpacing (float spacingFactor)
+
+ +

Set the line spacing factor.

+

The default spacing between lines is defined by the font. This method enables you to set a factor for the spacing between lines. By default the line spacing factor is 1.

+
Parameters
+ + +
spacingFactorNew line spacing factor
+
+
+
See also
getLineSpacing
+ +
+
+ +

◆ setOrigin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setOrigin (float x,
float y 
)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new origin
yY coordinate of the new origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOrigin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setOrigin (const Vector2forigin)
+
+inherited
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + +
originNew origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOutlineColor()

+ +
+
+ + + + + + + + +
void sf::Text::setOutlineColor (const Colorcolor)
+
+ +

Set the outline color of the text.

+

By default, the text's outline color is opaque black.

+
Parameters
+ + +
colorNew outline color of the text
+
+
+
See also
getOutlineColor
+ +
+
+ +

◆ setOutlineThickness()

+ +
+
+ + + + + + + + +
void sf::Text::setOutlineThickness (float thickness)
+
+ +

Set the thickness of the text's outline.

+

By default, the outline thickness is 0.

+

Be aware that using a negative value for the outline thickness will cause distorted rendering.

+
Parameters
+ + +
thicknessNew outline thickness, in pixels
+
+
+
See also
getOutlineThickness
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setPosition (float x,
float y 
)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new position
yY coordinate of the new position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setPosition (const Vector2fposition)
+
+inherited
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + +
positionNew position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setRotation()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setRotation (float angle)
+
+inherited
+
+ +

set the orientation of the object

+

This function completely overwrites the previous rotation. See the rotate function to add an angle based on the previous rotation instead. The default rotation of a transformable object is 0.

+
Parameters
+ + +
angleNew rotation, in degrees
+
+
+
See also
rotate, getRotation
+ +
+
+ +

◆ setScale() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setScale (float factorX,
float factorY 
)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + + +
factorXNew horizontal scale factor
factorYNew vertical scale factor
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setScale() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Transformable::setScale (const Vector2ffactors)
+
+inherited
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + +
factorsNew scale factors
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setString()

+ +
+
+ + + + + + + + +
void sf::Text::setString (const Stringstring)
+
+ +

Set the text's string.

+

The string argument is a sf::String, which can automatically be constructed from standard string types. So, the following calls are all valid:

text.setString("hello");
text.setString(L"hello");
text.setString(std::string("hello"));
text.setString(std::wstring(L"hello"));

A text's string is empty by default.

+
Parameters
+ + +
stringNew string
+
+
+
See also
getString
+ +
+
+ +

◆ setStyle()

+ +
+
+ + + + + + + + +
void sf::Text::setStyle (Uint32 style)
+
+ +

Set the text's style.

+

You can pass a combination of one or more styles, for example sf::Text::Bold | sf::Text::Italic. The default style is sf::Text::Regular.

+
Parameters
+ + +
styleNew style
+
+
+
See also
getStyle
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Text.png b/SFML/doc/html/classsf_1_1Text.png new file mode 100644 index 0000000..582905f Binary files /dev/null and b/SFML/doc/html/classsf_1_1Text.png differ diff --git a/SFML/doc/html/classsf_1_1Texture-members.html b/SFML/doc/html/classsf_1_1Texture-members.html new file mode 100644 index 0000000..c35fed3 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Texture-members.html @@ -0,0 +1,100 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Texture Member List
+
+
+ +

This is the complete list of members for sf::Texture, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bind(const Texture *texture, CoordinateType coordinateType=Normalized)sf::Texturestatic
CoordinateType enum namesf::Texture
copyToImage() constsf::Texture
create(unsigned int width, unsigned int height)sf::Texture
generateMipmap()sf::Texture
getMaximumSize()sf::Texturestatic
getNativeHandle() constsf::Texture
getSize() constsf::Texture
GlResource()sf::GlResourceprivate
isRepeated() constsf::Texture
isSmooth() constsf::Texture
isSrgb() constsf::Texture
loadFromFile(const std::string &filename, const IntRect &area=IntRect())sf::Texture
loadFromImage(const Image &image, const IntRect &area=IntRect())sf::Texture
loadFromMemory(const void *data, std::size_t size, const IntRect &area=IntRect())sf::Texture
loadFromStream(InputStream &stream, const IntRect &area=IntRect())sf::Texture
Normalized enum valuesf::Texture
operator=(const Texture &right)sf::Texture
Pixels enum valuesf::Texture
registerContextDestroyCallback(ContextDestroyCallback callback, void *arg)sf::GlResourceprivatestatic
RenderTarget (defined in sf::Texture)sf::Texturefriend
RenderTexture (defined in sf::Texture)sf::Texturefriend
setRepeated(bool repeated)sf::Texture
setSmooth(bool smooth)sf::Texture
setSrgb(bool sRgb)sf::Texture
swap(Texture &right)sf::Texture
Text (defined in sf::Texture)sf::Texturefriend
Texture()sf::Texture
Texture(const Texture &copy)sf::Texture
update(const Uint8 *pixels)sf::Texture
update(const Uint8 *pixels, unsigned int width, unsigned int height, unsigned int x, unsigned int y)sf::Texture
update(const Texture &texture)sf::Texture
update(const Texture &texture, unsigned int x, unsigned int y)sf::Texture
update(const Image &image)sf::Texture
update(const Image &image, unsigned int x, unsigned int y)sf::Texture
update(const Window &window)sf::Texture
update(const Window &window, unsigned int x, unsigned int y)sf::Texture
~GlResource()sf::GlResourceprivate
~Texture()sf::Texture
+ + + + diff --git a/SFML/doc/html/classsf_1_1Texture.html b/SFML/doc/html/classsf_1_1Texture.html new file mode 100644 index 0000000..a9928c6 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Texture.html @@ -0,0 +1,1201 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Image living on the graphics card that can be used for drawing. + More...

+ +

#include <Texture.hpp>

+
+Inheritance diagram for sf::Texture:
+
+
+ + +sf::GlResource + +
+ + + + + +

+Public Types

enum  CoordinateType { Normalized, +Pixels + }
 Types of texture coordinates that can be used for rendering. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Texture ()
 Default constructor. More...
 
 Texture (const Texture &copy)
 Copy constructor. More...
 
 ~Texture ()
 Destructor. More...
 
bool create (unsigned int width, unsigned int height)
 Create the texture. More...
 
bool loadFromFile (const std::string &filename, const IntRect &area=IntRect())
 Load the texture from a file on disk. More...
 
bool loadFromMemory (const void *data, std::size_t size, const IntRect &area=IntRect())
 Load the texture from a file in memory. More...
 
bool loadFromStream (InputStream &stream, const IntRect &area=IntRect())
 Load the texture from a custom stream. More...
 
bool loadFromImage (const Image &image, const IntRect &area=IntRect())
 Load the texture from an image. More...
 
Vector2u getSize () const
 Return the size of the texture. More...
 
Image copyToImage () const
 Copy the texture pixels to an image. More...
 
void update (const Uint8 *pixels)
 Update the whole texture from an array of pixels. More...
 
void update (const Uint8 *pixels, unsigned int width, unsigned int height, unsigned int x, unsigned int y)
 Update a part of the texture from an array of pixels. More...
 
void update (const Texture &texture)
 Update a part of this texture from another texture. More...
 
void update (const Texture &texture, unsigned int x, unsigned int y)
 Update a part of this texture from another texture. More...
 
void update (const Image &image)
 Update the texture from an image. More...
 
void update (const Image &image, unsigned int x, unsigned int y)
 Update a part of the texture from an image. More...
 
void update (const Window &window)
 Update the texture from the contents of a window. More...
 
void update (const Window &window, unsigned int x, unsigned int y)
 Update a part of the texture from the contents of a window. More...
 
void setSmooth (bool smooth)
 Enable or disable the smooth filter. More...
 
bool isSmooth () const
 Tell whether the smooth filter is enabled or not. More...
 
void setSrgb (bool sRgb)
 Enable or disable conversion from sRGB. More...
 
bool isSrgb () const
 Tell whether the texture source is converted from sRGB or not. More...
 
void setRepeated (bool repeated)
 Enable or disable repeating. More...
 
bool isRepeated () const
 Tell whether the texture is repeated or not. More...
 
bool generateMipmap ()
 Generate a mipmap using the current texture data. More...
 
Textureoperator= (const Texture &right)
 Overload of assignment operator. More...
 
void swap (Texture &right)
 Swap the contents of this texture with those of another. More...
 
unsigned int getNativeHandle () const
 Get the underlying OpenGL handle of the texture. More...
 
+ + + + + + + +

+Static Public Member Functions

static void bind (const Texture *texture, CoordinateType coordinateType=Normalized)
 Bind a texture for rendering. More...
 
static unsigned int getMaximumSize ()
 Get the maximum texture size allowed. More...
 
+ + + + +

+Static Private Member Functions

static void registerContextDestroyCallback (ContextDestroyCallback callback, void *arg)
 Register a function to be called when a context is destroyed. More...
 
+ + + + + + + +

+Friends

+class Text
 
+class RenderTexture
 
+class RenderTarget
 
+

Detailed Description

+

Image living on the graphics card that can be used for drawing.

+

sf::Texture stores pixels that can be drawn, with a sprite for example.

+

A texture lives in the graphics card memory, therefore it is very fast to draw a texture to a render target, or copy a render target to a texture (the graphics card can access both directly).

+

Being stored in the graphics card memory has some drawbacks. A texture cannot be manipulated as freely as a sf::Image, you need to prepare the pixels first and then upload them to the texture in a single operation (see Texture::update).

+

sf::Texture makes it easy to convert from/to sf::Image, but keep in mind that these calls require transfers between the graphics card and the central memory, therefore they are slow operations.

+

A texture can be loaded from an image, but also directly from a file/memory/stream. The necessary shortcuts are defined so that you don't need an image first for the most common cases. However, if you want to perform some modifications on the pixels before creating the final texture, you can load your file to a sf::Image, do whatever you need with the pixels, and then call Texture::loadFromImage.

+

Since they live in the graphics card memory, the pixels of a texture cannot be accessed without a slow copy first. And they cannot be accessed individually. Therefore, if you need to read the texture's pixels (like for pixel-perfect collisions), it is recommended to store the collision information separately, for example in an array of booleans.

+

Like sf::Image, sf::Texture can handle a unique internal representation of pixels, which is RGBA 32 bits. This means that a pixel must be composed of 8 bits red, green, blue and alpha channels – just like a sf::Color.

+

Usage example:

// This example shows the most common use of sf::Texture:
// drawing a sprite
// Load a texture from a file
sf::Texture texture;
if (!texture.loadFromFile("texture.png"))
return -1;
// Assign it to a sprite
sf::Sprite sprite;
sprite.setTexture(texture);
// Draw the textured sprite
window.draw(sprite);
// This example shows another common use of sf::Texture:
// streaming real-time data, like video frames
// Create an empty texture
sf::Texture texture;
if (!texture.create(640, 480))
return -1;
// Create a sprite that will display the texture
sf::Sprite sprite(texture);
while (...) // the main loop
{
...
// update the texture
sf::Uint8* pixels = ...; // get a fresh chunk of pixels (the next frame of a movie, for example)
texture.update(pixels);
// draw it
window.draw(sprite);
...
}

Like sf::Shader that can be used as a raw OpenGL shader, sf::Texture can also be used directly as a raw texture for custom OpenGL geometry.

... render OpenGL geometry ...
sf::Texture::bind(NULL);
See also
sf::Sprite, sf::Image, sf::RenderTexture
+ +

Definition at line 48 of file Texture.hpp.

+

Member Enumeration Documentation

+ +

◆ CoordinateType

+ +
+
+ + + + +
enum sf::Texture::CoordinateType
+
+ +

Types of texture coordinates that can be used for rendering.

+ + + +
Enumerator
Normalized 

Texture coordinates in range [0 .. 1].

+
Pixels 

Texture coordinates in range [0 .. size].

+
+ +

Definition at line 56 of file Texture.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Texture() [1/2]

+ +
+
+ + + + + + + +
sf::Texture::Texture ()
+
+ +

Default constructor.

+

Creates an empty texture.

+ +
+
+ +

◆ Texture() [2/2]

+ +
+
+ + + + + + + + +
sf::Texture::Texture (const Texturecopy)
+
+ +

Copy constructor.

+
Parameters
+ + +
copyinstance to copy
+
+
+ +
+
+ +

◆ ~Texture()

+ +
+
+ + + + + + + +
sf::Texture::~Texture ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ bind()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void sf::Texture::bind (const Texturetexture,
CoordinateType coordinateType = Normalized 
)
+
+static
+
+ +

Bind a texture for rendering.

+

This function is not part of the graphics API, it mustn't be used when drawing SFML entities. It must be used only if you mix sf::Texture with OpenGL code.

+
sf::Texture t1, t2;
...
sf::Texture::bind(&t1);
// draw OpenGL stuff that use t1...
// draw OpenGL stuff that use t2...
// draw OpenGL stuff that use no texture...

The coordinateType argument controls how texture coordinates will be interpreted. If Normalized (the default), they must be in range [0 .. 1], which is the default way of handling texture coordinates with OpenGL. If Pixels, they must be given in pixels (range [0 .. size]). This mode is used internally by the graphics classes of SFML, it makes the definition of texture coordinates more intuitive for the high-level API, users don't need to compute normalized values.

+
Parameters
+ + + +
texturePointer to the texture to bind, can be null to use no texture
coordinateTypeType of texture coordinates to use
+
+
+ +
+
+ +

◆ copyToImage()

+ +
+
+ + + + + + + +
Image sf::Texture::copyToImage () const
+
+ +

Copy the texture pixels to an image.

+

This function performs a slow operation that downloads the texture's pixels from the graphics card and copies them to a new image, potentially applying transformations to pixels if necessary (texture may be padded or flipped).

+
Returns
Image containing the texture's pixels
+
See also
loadFromImage
+ +
+
+ +

◆ create()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Texture::create (unsigned int width,
unsigned int height 
)
+
+ +

Create the texture.

+

If this function fails, the texture is left unchanged.

+
Parameters
+ + + +
widthWidth of the texture
heightHeight of the texture
+
+
+
Returns
True if creation was successful
+ +
+
+ +

◆ generateMipmap()

+ +
+
+ + + + + + + +
bool sf::Texture::generateMipmap ()
+
+ +

Generate a mipmap using the current texture data.

+

Mipmaps are pre-computed chains of optimized textures. Each level of texture in a mipmap is generated by halving each of the previous level's dimensions. This is done until the final level has the size of 1x1. The textures generated in this process may make use of more advanced filters which might improve the visual quality of textures when they are applied to objects much smaller than they are. This is known as minification. Because fewer texels (texture elements) have to be sampled from when heavily minified, usage of mipmaps can also improve rendering performance in certain scenarios.

+

Mipmap generation relies on the necessary OpenGL extension being available. If it is unavailable or generation fails due to another reason, this function will return false. Mipmap data is only valid from the time it is generated until the next time the base level image is modified, at which point this function will have to be called again to regenerate it.

+
Returns
True if mipmap generation was successful, false if unsuccessful
+ +
+
+ +

◆ getMaximumSize()

+ +
+
+ + + + + +
+ + + + + + + +
static unsigned int sf::Texture::getMaximumSize ()
+
+static
+
+ +

Get the maximum texture size allowed.

+

This maximum size is defined by the graphics driver. You can expect a value of 512 pixels for low-end graphics card, and up to 8192 pixels or more for newer hardware.

+
Returns
Maximum size allowed for textures, in pixels
+ +
+
+ +

◆ getNativeHandle()

+ +
+
+ + + + + + + +
unsigned int sf::Texture::getNativeHandle () const
+
+ +

Get the underlying OpenGL handle of the texture.

+

You shouldn't need to use this function, unless you have very specific stuff to implement that SFML doesn't support, or implement a temporary workaround until a bug is fixed.

+
Returns
OpenGL handle of the texture or 0 if not yet created
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + + + +
Vector2u sf::Texture::getSize () const
+
+ +

Return the size of the texture.

+
Returns
Size in pixels
+ +
+
+ +

◆ isRepeated()

+ +
+
+ + + + + + + +
bool sf::Texture::isRepeated () const
+
+ +

Tell whether the texture is repeated or not.

+
Returns
True if repeat mode is enabled, false if it is disabled
+
See also
setRepeated
+ +
+
+ +

◆ isSmooth()

+ +
+
+ + + + + + + +
bool sf::Texture::isSmooth () const
+
+ +

Tell whether the smooth filter is enabled or not.

+
Returns
True if smoothing is enabled, false if it is disabled
+
See also
setSmooth
+ +
+
+ +

◆ isSrgb()

+ +
+
+ + + + + + + +
bool sf::Texture::isSrgb () const
+
+ +

Tell whether the texture source is converted from sRGB or not.

+
Returns
True if the texture source is converted from sRGB, false if not
+
See also
setSrgb
+ +
+
+ +

◆ loadFromFile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Texture::loadFromFile (const std::string & filename,
const IntRectarea = IntRect() 
)
+
+ +

Load the texture from a file on disk.

+

This function is a shortcut for the following code:

sf::Image image;
image.loadFromFile(filename);
texture.loadFromImage(image, area);

The area argument can be used to load only a sub-rectangle of the whole image. If you want the entire image then leave the default value (which is an empty IntRect). If the area rectangle crosses the bounds of the image, it is adjusted to fit the image size.

+

The maximum size for a texture depends on the graphics driver and can be retrieved with the getMaximumSize function.

+

If this function fails, the texture is left unchanged.

+
Parameters
+ + + +
filenamePath of the image file to load
areaArea of the image to load
+
+
+
Returns
True if loading was successful
+
See also
loadFromMemory, loadFromStream, loadFromImage
+ +
+
+ +

◆ loadFromImage()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Texture::loadFromImage (const Imageimage,
const IntRectarea = IntRect() 
)
+
+ +

Load the texture from an image.

+

The area argument can be used to load only a sub-rectangle of the whole image. If you want the entire image then leave the default value (which is an empty IntRect). If the area rectangle crosses the bounds of the image, it is adjusted to fit the image size.

+

The maximum size for a texture depends on the graphics driver and can be retrieved with the getMaximumSize function.

+

If this function fails, the texture is left unchanged.

+
Parameters
+ + + +
imageImage to load into the texture
areaArea of the image to load
+
+
+
Returns
True if loading was successful
+
See also
loadFromFile, loadFromMemory
+ +
+
+ +

◆ loadFromMemory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::Texture::loadFromMemory (const void * data,
std::size_t size,
const IntRectarea = IntRect() 
)
+
+ +

Load the texture from a file in memory.

+

This function is a shortcut for the following code:

sf::Image image;
image.loadFromMemory(data, size);
texture.loadFromImage(image, area);

The area argument can be used to load only a sub-rectangle of the whole image. If you want the entire image then leave the default value (which is an empty IntRect). If the area rectangle crosses the bounds of the image, it is adjusted to fit the image size.

+

The maximum size for a texture depends on the graphics driver and can be retrieved with the getMaximumSize function.

+

If this function fails, the texture is left unchanged.

+
Parameters
+ + + + +
dataPointer to the file data in memory
sizeSize of the data to load, in bytes
areaArea of the image to load
+
+
+
Returns
True if loading was successful
+
See also
loadFromFile, loadFromStream, loadFromImage
+ +
+
+ +

◆ loadFromStream()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool sf::Texture::loadFromStream (InputStreamstream,
const IntRectarea = IntRect() 
)
+
+ +

Load the texture from a custom stream.

+

This function is a shortcut for the following code:

sf::Image image;
image.loadFromStream(stream);
texture.loadFromImage(image, area);

The area argument can be used to load only a sub-rectangle of the whole image. If you want the entire image then leave the default value (which is an empty IntRect). If the area rectangle crosses the bounds of the image, it is adjusted to fit the image size.

+

The maximum size for a texture depends on the graphics driver and can be retrieved with the getMaximumSize function.

+

If this function fails, the texture is left unchanged.

+
Parameters
+ + + +
streamSource stream to read from
areaArea of the image to load
+
+
+
Returns
True if loading was successful
+
See also
loadFromFile, loadFromMemory, loadFromImage
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
Texture& sf::Texture::operator= (const Textureright)
+
+ +

Overload of assignment operator.

+
Parameters
+ + +
rightInstance to assign
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ setRepeated()

+ +
+
+ + + + + + + + +
void sf::Texture::setRepeated (bool repeated)
+
+ +

Enable or disable repeating.

+

Repeating is involved when using texture coordinates outside the texture rectangle [0, 0, width, height]. In this case, if repeat mode is enabled, the whole texture will be repeated as many times as needed to reach the coordinate (for example, if the X texture coordinate is 3 * width, the texture will be repeated 3 times). If repeat mode is disabled, the "extra space" will instead be filled with border pixels. Warning: on very old graphics cards, white pixels may appear when the texture is repeated. With such cards, repeat mode can be used reliably only if the texture has power-of-two dimensions (such as 256x128). Repeating is disabled by default.

+
Parameters
+ + +
repeatedTrue to repeat the texture, false to disable repeating
+
+
+
See also
isRepeated
+ +
+
+ +

◆ setSmooth()

+ +
+
+ + + + + + + + +
void sf::Texture::setSmooth (bool smooth)
+
+ +

Enable or disable the smooth filter.

+

When the filter is activated, the texture appears smoother so that pixels are less noticeable. However if you want the texture to look exactly the same as its source file, you should leave it disabled. The smooth filter is disabled by default.

+
Parameters
+ + +
smoothTrue to enable smoothing, false to disable it
+
+
+
See also
isSmooth
+ +
+
+ +

◆ setSrgb()

+ +
+
+ + + + + + + + +
void sf::Texture::setSrgb (bool sRgb)
+
+ +

Enable or disable conversion from sRGB.

+

When providing texture data from an image file or memory, it can either be stored in a linear color space or an sRGB color space. Most digital images account for gamma correction already, so they would need to be "uncorrected" back to linear color space before being processed by the hardware. The hardware can automatically convert it from the sRGB color space to a linear color space when it gets sampled. When the rendered image gets output to the final framebuffer, it gets converted back to sRGB.

+

After enabling or disabling sRGB conversion, make sure to reload the texture data in order for the setting to take effect.

+

This option is only useful in conjunction with an sRGB capable framebuffer. This can be requested during window creation.

+
Parameters
+ + +
sRgbTrue to enable sRGB conversion, false to disable it
+
+
+
See also
isSrgb
+ +
+
+ +

◆ swap()

+ +
+
+ + + + + + + + +
void sf::Texture::swap (Textureright)
+
+ +

Swap the contents of this texture with those of another.

+
Parameters
+ + +
rightInstance to swap with
+
+
+ +
+
+ +

◆ update() [1/8]

+ +
+
+ + + + + + + + +
void sf::Texture::update (const Uint8 * pixels)
+
+ +

Update the whole texture from an array of pixels.

+

The pixel array is assumed to have the same size as the area rectangle, and to contain 32-bits RGBA pixels.

+

No additional check is performed on the size of the pixel array, passing invalid arguments will lead to an undefined behavior.

+

This function does nothing if pixels is null or if the texture was not previously created.

+
Parameters
+ + +
pixelsArray of pixels to copy to the texture
+
+
+ +
+
+ +

◆ update() [2/8]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Texture::update (const Uint8 * pixels,
unsigned int width,
unsigned int height,
unsigned int x,
unsigned int y 
)
+
+ +

Update a part of the texture from an array of pixels.

+

The size of the pixel array must match the width and height arguments, and it must contain 32-bits RGBA pixels.

+

No additional check is performed on the size of the pixel array or the bounds of the area to update, passing invalid arguments will lead to an undefined behavior.

+

This function does nothing if pixels is null or if the texture was not previously created.

+
Parameters
+ + + + + + +
pixelsArray of pixels to copy to the texture
widthWidth of the pixel region contained in pixels
heightHeight of the pixel region contained in pixels
xX offset in the texture where to copy the source pixels
yY offset in the texture where to copy the source pixels
+
+
+ +
+
+ +

◆ update() [3/8]

+ +
+
+ + + + + + + + +
void sf::Texture::update (const Texturetexture)
+
+ +

Update a part of this texture from another texture.

+

Although the source texture can be smaller than this texture, this function is usually used for updating the whole texture. The other overload, which has (x, y) additional arguments, is more convenient for updating a sub-area of this texture.

+

No additional check is performed on the size of the passed texture, passing a texture bigger than this texture will lead to an undefined behavior.

+

This function does nothing if either texture was not previously created.

+
Parameters
+ + +
textureSource texture to copy to this texture
+
+
+ +
+
+ +

◆ update() [4/8]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Texture::update (const Texturetexture,
unsigned int x,
unsigned int y 
)
+
+ +

Update a part of this texture from another texture.

+

No additional check is performed on the size of the texture, passing an invalid combination of texture size and offset will lead to an undefined behavior.

+

This function does nothing if either texture was not previously created.

+
Parameters
+ + + + +
textureSource texture to copy to this texture
xX offset in this texture where to copy the source texture
yY offset in this texture where to copy the source texture
+
+
+ +
+
+ +

◆ update() [5/8]

+ +
+
+ + + + + + + + +
void sf::Texture::update (const Imageimage)
+
+ +

Update the texture from an image.

+

Although the source image can be smaller than the texture, this function is usually used for updating the whole texture. The other overload, which has (x, y) additional arguments, is more convenient for updating a sub-area of the texture.

+

No additional check is performed on the size of the image, passing an image bigger than the texture will lead to an undefined behavior.

+

This function does nothing if the texture was not previously created.

+
Parameters
+ + +
imageImage to copy to the texture
+
+
+ +
+
+ +

◆ update() [6/8]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Texture::update (const Imageimage,
unsigned int x,
unsigned int y 
)
+
+ +

Update a part of the texture from an image.

+

No additional check is performed on the size of the image, passing an invalid combination of image size and offset will lead to an undefined behavior.

+

This function does nothing if the texture was not previously created.

+
Parameters
+ + + + +
imageImage to copy to the texture
xX offset in the texture where to copy the source image
yY offset in the texture where to copy the source image
+
+
+ +
+
+ +

◆ update() [7/8]

+ +
+
+ + + + + + + + +
void sf::Texture::update (const Windowwindow)
+
+ +

Update the texture from the contents of a window.

+

Although the source window can be smaller than the texture, this function is usually used for updating the whole texture. The other overload, which has (x, y) additional arguments, is more convenient for updating a sub-area of the texture.

+

No additional check is performed on the size of the window, passing a window bigger than the texture will lead to an undefined behavior.

+

This function does nothing if either the texture or the window was not previously created.

+
Parameters
+ + +
windowWindow to copy to the texture
+
+
+ +
+
+ +

◆ update() [8/8]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Texture::update (const Windowwindow,
unsigned int x,
unsigned int y 
)
+
+ +

Update a part of the texture from the contents of a window.

+

No additional check is performed on the size of the window, passing an invalid combination of window size and offset will lead to an undefined behavior.

+

This function does nothing if either the texture or the window was not previously created.

+
Parameters
+ + + + +
windowWindow to copy to the texture
xX offset in the texture where to copy the source window
yY offset in the texture where to copy the source window
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Texture.png b/SFML/doc/html/classsf_1_1Texture.png new file mode 100644 index 0000000..91a912f Binary files /dev/null and b/SFML/doc/html/classsf_1_1Texture.png differ diff --git a/SFML/doc/html/classsf_1_1Thread-members.html b/SFML/doc/html/classsf_1_1Thread-members.html new file mode 100644 index 0000000..3537f32 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Thread-members.html @@ -0,0 +1,70 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Thread Member List
+
+
+ +

This is the complete list of members for sf::Thread, including all inherited members.

+ + + + + + + + + + +
launch()sf::Thread
NonCopyable()sf::NonCopyableinlineprivate
terminate()sf::Thread
Thread(F function)sf::Thread
Thread(F function, A argument)sf::Thread
Thread(void(C::*function)(), C *object)sf::Thread
wait()sf::Thread
~NonCopyable()sf::NonCopyableinlineprivate
~Thread()sf::Thread
+ + + + diff --git a/SFML/doc/html/classsf_1_1Thread.html b/SFML/doc/html/classsf_1_1Thread.html new file mode 100644 index 0000000..a6146dd --- /dev/null +++ b/SFML/doc/html/classsf_1_1Thread.html @@ -0,0 +1,316 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Thread Class Reference
+
+
+ +

Utility class to manipulate threads. + More...

+ +

#include <Thread.hpp>

+
+Inheritance diagram for sf::Thread:
+
+
+ + +sf::NonCopyable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

template<typename F >
 Thread (F function)
 Construct the thread from a functor with no argument. More...
 
template<typename F , typename A >
 Thread (F function, A argument)
 Construct the thread from a functor with an argument. More...
 
template<typename C >
 Thread (void(C::*function)(), C *object)
 Construct the thread from a member function and an object. More...
 
 ~Thread ()
 Destructor. More...
 
void launch ()
 Run the thread. More...
 
void wait ()
 Wait until the thread finishes. More...
 
void terminate ()
 Terminate the thread. More...
 
+

Detailed Description

+

Utility class to manipulate threads.

+

Threads provide a way to run multiple parts of the code in parallel.

+

When you launch a new thread, the execution is split and both the new thread and the caller run in parallel.

+

To use a sf::Thread, you construct it directly with the function to execute as the entry point of the thread. sf::Thread has multiple template constructors, which means that you can use several types of entry points:

    +
  • non-member functions with no argument
  • +
  • non-member functions with one argument of any type
  • +
  • functors with no argument (this one is particularly useful for compatibility with boost/std::bind)
  • +
  • functors with one argument of any type
  • +
  • member functions from any class with no argument
  • +
+

The function argument, if any, is copied in the sf::Thread instance, as well as the functor (if the corresponding constructor is used). Class instances, however, are passed by pointer so you must make sure that the object won't be destroyed while the thread is still using it.

+

The thread ends when its function is terminated. If the owner sf::Thread instance is destroyed before the thread is finished, the destructor will wait (see wait())

+

Usage examples:

// example 1: non member function with one argument
void threadFunc(int argument)
{
...
}
sf::Thread thread(&threadFunc, 5);
thread.launch(); // start the thread (internally calls threadFunc(5))
// example 2: member function
class Task
{
public:
void run()
{
...
}
};
Task task;
sf::Thread thread(&Task::run, &task);
thread.launch(); // start the thread (internally calls task.run())
// example 3: functor
struct Task
{
void operator()()
{
...
}
};
sf::Thread thread(Task());
thread.launch(); // start the thread (internally calls operator() on the Task instance)

Creating parallel threads of execution can be dangerous: all threads inside the same process share the same memory space, which means that you may end up accessing the same variable from multiple threads at the same time. To prevent this kind of situations, you can use mutexes (see sf::Mutex).

+
See also
sf::Mutex
+ +

Definition at line 48 of file Thread.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Thread() [1/3]

+ +
+
+
+template<typename F >
+ + + + + + + + +
sf::Thread::Thread (function)
+
+ +

Construct the thread from a functor with no argument.

+

This constructor works for function objects, as well as free functions.

+

Use this constructor for this kind of function:

void function();
// --- or ----
struct Functor
{
void operator()();
};

Note: this does not run the thread, use launch().

+
Parameters
+ + +
functionFunctor or free function to use as the entry point of the thread
+
+
+ +
+
+ +

◆ Thread() [2/3]

+ +
+
+
+template<typename F , typename A >
+ + + + + + + + + + + + + + + + + + +
sf::Thread::Thread (function,
argument 
)
+
+ +

Construct the thread from a functor with an argument.

+

This constructor works for function objects, as well as free functions. It is a template, which means that the argument can have any type (int, std::string, void*, Toto, ...).

+

Use this constructor for this kind of function:

void function(int arg);
// --- or ----
struct Functor
{
void operator()(std::string arg);
};

Note: this does not run the thread, use launch().

+
Parameters
+ + + +
functionFunctor or free function to use as the entry point of the thread
argumentargument to forward to the function
+
+
+ +
+
+ +

◆ Thread() [3/3]

+ +
+
+
+template<typename C >
+ + + + + + + + + + + + + + + + + + +
sf::Thread::Thread (void(C::*)() function,
C * object 
)
+
+ +

Construct the thread from a member function and an object.

+

This constructor is a template, which means that you can use it with any class. Use this constructor for this kind of function:

class MyClass
{
public:
void function();
};

Note: this does not run the thread, use launch().

+
Parameters
+ + + +
functionEntry point of the thread
objectPointer to the object to use
+
+
+ +
+
+ +

◆ ~Thread()

+ +
+
+ + + + + + + +
sf::Thread::~Thread ()
+
+ +

Destructor.

+

This destructor calls wait(), so that the internal thread cannot survive after its sf::Thread instance is destroyed.

+ +
+
+

Member Function Documentation

+ +

◆ launch()

+ +
+
+ + + + + + + +
void sf::Thread::launch ()
+
+ +

Run the thread.

+

This function starts the entry point passed to the thread's constructor, and returns immediately. After this function returns, the thread's function is running in parallel to the calling code.

+ +
+
+ +

◆ terminate()

+ +
+
+ + + + + + + +
void sf::Thread::terminate ()
+
+ +

Terminate the thread.

+

This function immediately stops the thread, without waiting for its function to finish. Terminating a thread with this function is not safe, and can lead to local variables not being destroyed on some operating systems. You should rather try to make the thread function terminate by itself.

+ +
+
+ +

◆ wait()

+ +
+
+ + + + + + + +
void sf::Thread::wait ()
+
+ +

Wait until the thread finishes.

+

This function will block the execution until the thread's function ends. Warning: if the thread function never ends, the calling thread will block forever. If this function is called from its owner thread, it returns without doing anything.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Thread.png b/SFML/doc/html/classsf_1_1Thread.png new file mode 100644 index 0000000..598a561 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Thread.png differ diff --git a/SFML/doc/html/classsf_1_1ThreadLocal-members.html b/SFML/doc/html/classsf_1_1ThreadLocal-members.html new file mode 100644 index 0000000..f8e3dcb --- /dev/null +++ b/SFML/doc/html/classsf_1_1ThreadLocal-members.html @@ -0,0 +1,67 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::ThreadLocal Member List
+
+
+ +

This is the complete list of members for sf::ThreadLocal, including all inherited members.

+ + + + + + + +
getValue() constsf::ThreadLocal
NonCopyable()sf::NonCopyableinlineprivate
setValue(void *value)sf::ThreadLocal
ThreadLocal(void *value=NULL)sf::ThreadLocal
~NonCopyable()sf::NonCopyableinlineprivate
~ThreadLocal()sf::ThreadLocal
+ + + + diff --git a/SFML/doc/html/classsf_1_1ThreadLocal.html b/SFML/doc/html/classsf_1_1ThreadLocal.html new file mode 100644 index 0000000..7fbd76e --- /dev/null +++ b/SFML/doc/html/classsf_1_1ThreadLocal.html @@ -0,0 +1,194 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::ThreadLocal Class Reference
+
+
+ +

Defines variables with thread-local storage. + More...

+ +

#include <ThreadLocal.hpp>

+
+Inheritance diagram for sf::ThreadLocal:
+
+
+ + +sf::NonCopyable +sf::ThreadLocalPtr< T > + +
+ + + + + + + + + + + + + + +

+Public Member Functions

 ThreadLocal (void *value=NULL)
 Default constructor. More...
 
 ~ThreadLocal ()
 Destructor. More...
 
void setValue (void *value)
 Set the thread-specific value of the variable. More...
 
void * getValue () const
 Retrieve the thread-specific value of the variable. More...
 
+

Detailed Description

+

Defines variables with thread-local storage.

+

This class manipulates void* parameters and thus is not appropriate for strongly-typed variables.

+

You should rather use the sf::ThreadLocalPtr template class.

+ +

Definition at line 47 of file ThreadLocal.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ThreadLocal()

+ +
+
+ + + + + + + + +
sf::ThreadLocal::ThreadLocal (void * value = NULL)
+
+ +

Default constructor.

+
Parameters
+ + +
valueOptional value to initialize the variable
+
+
+ +
+
+ +

◆ ~ThreadLocal()

+ +
+
+ + + + + + + +
sf::ThreadLocal::~ThreadLocal ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ getValue()

+ +
+
+ + + + + + + +
void* sf::ThreadLocal::getValue () const
+
+ +

Retrieve the thread-specific value of the variable.

+
Returns
Value of the variable for the current thread
+ +
+
+ +

◆ setValue()

+ +
+
+ + + + + + + + +
void sf::ThreadLocal::setValue (void * value)
+
+ +

Set the thread-specific value of the variable.

+
Parameters
+ + +
valueValue of the variable for the current thread
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1ThreadLocal.png b/SFML/doc/html/classsf_1_1ThreadLocal.png new file mode 100644 index 0000000..02924d2 Binary files /dev/null and b/SFML/doc/html/classsf_1_1ThreadLocal.png differ diff --git a/SFML/doc/html/classsf_1_1ThreadLocalPtr-members.html b/SFML/doc/html/classsf_1_1ThreadLocalPtr-members.html new file mode 100644 index 0000000..579d1b6 --- /dev/null +++ b/SFML/doc/html/classsf_1_1ThreadLocalPtr-members.html @@ -0,0 +1,71 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::ThreadLocalPtr< T > Member List
+
+
+ +

This is the complete list of members for sf::ThreadLocalPtr< T >, including all inherited members.

+ + + + + + + + + + + +
getValue() constsf::ThreadLocalprivate
operator T*() constsf::ThreadLocalPtr< T >
operator*() constsf::ThreadLocalPtr< T >
operator->() constsf::ThreadLocalPtr< T >
operator=(T *value)sf::ThreadLocalPtr< T >
operator=(const ThreadLocalPtr< T > &right)sf::ThreadLocalPtr< T >
setValue(void *value)sf::ThreadLocalprivate
ThreadLocal(void *value=NULL)sf::ThreadLocalprivate
ThreadLocalPtr(T *value=NULL)sf::ThreadLocalPtr< T >
~ThreadLocal()sf::ThreadLocalprivate
+ + + + diff --git a/SFML/doc/html/classsf_1_1ThreadLocalPtr.html b/SFML/doc/html/classsf_1_1ThreadLocalPtr.html new file mode 100644 index 0000000..cd8d998 --- /dev/null +++ b/SFML/doc/html/classsf_1_1ThreadLocalPtr.html @@ -0,0 +1,277 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::ThreadLocalPtr< T > Class Template Reference
+
+
+ +

Pointer to a thread-local variable. + More...

+ +

#include <ThreadLocalPtr.hpp>

+
+Inheritance diagram for sf::ThreadLocalPtr< T >:
+
+
+ + +sf::ThreadLocal + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ThreadLocalPtr (T *value=NULL)
 Default constructor. More...
 
T & operator* () const
 Overload of unary operator *. More...
 
T * operator-> () const
 Overload of operator -> More...
 
 operator T* () const
 Conversion operator to implicitly convert the pointer to its raw pointer type (T*) More...
 
ThreadLocalPtr< T > & operator= (T *value)
 Assignment operator for a raw pointer parameter. More...
 
ThreadLocalPtr< T > & operator= (const ThreadLocalPtr< T > &right)
 Assignment operator for a ThreadLocalPtr parameter. More...
 
+ + + + + + + +

+Private Member Functions

void setValue (void *value)
 Set the thread-specific value of the variable. More...
 
void * getValue () const
 Retrieve the thread-specific value of the variable. More...
 
+

Detailed Description

+

template<typename T>
+class sf::ThreadLocalPtr< T >

+ +

Pointer to a thread-local variable.

+

sf::ThreadLocalPtr is a type-safe wrapper for storing pointers to thread-local variables.

+

A thread-local variable holds a different value for each different thread, unlike normal variables that are shared.

+

Its usage is completely transparent, so that it is similar to manipulating the raw pointer directly (like any smart pointer).

+

Usage example:

MyClass object1;
MyClass object2;
void thread1()
{
objectPtr = &object1; // doesn't impact thread2
...
}
void thread2()
{
objectPtr = &object2; // doesn't impact thread1
...
}
int main()
{
// Create and launch the two threads
sf::Thread t1(&thread1);
sf::Thread t2(&thread2);
t1.launch();
t2.launch();
return 0;
}

ThreadLocalPtr is designed for internal use; however you can use it if you feel like it fits well your implementation.

+ +

Definition at line 41 of file ThreadLocalPtr.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ThreadLocalPtr()

+ +
+
+
+template<typename T>
+ + + + + + + + +
sf::ThreadLocalPtr< T >::ThreadLocalPtr (T * value = NULL)
+
+ +

Default constructor.

+
Parameters
+ + +
valueOptional value to initialize the variable
+
+
+ +
+
+

Member Function Documentation

+ +

◆ operator T*()

+ +
+
+
+template<typename T>
+ + + + + + + +
sf::ThreadLocalPtr< T >::operator T* () const
+
+ +

Conversion operator to implicitly convert the pointer to its raw pointer type (T*)

+
Returns
Pointer to the actual object
+ +
+
+ +

◆ operator*()

+ +
+
+
+template<typename T>
+ + + + + + + +
T& sf::ThreadLocalPtr< T >::operator* () const
+
+ +

Overload of unary operator *.

+

Like raw pointers, applying the * operator returns a reference to the pointed-to object.

+
Returns
Reference to the thread-local variable
+ +
+
+ +

◆ operator->()

+ +
+
+
+template<typename T>
+ + + + + + + +
T* sf::ThreadLocalPtr< T >::operator-> () const
+
+ +

Overload of operator ->

+

Similarly to raw pointers, applying the -> operator returns the pointed-to object.

+
Returns
Pointer to the thread-local variable
+ +
+
+ +

◆ operator=() [1/2]

+ +
+
+
+template<typename T>
+ + + + + + + + +
ThreadLocalPtr<T>& sf::ThreadLocalPtr< T >::operator= (T * value)
+
+ +

Assignment operator for a raw pointer parameter.

+
Parameters
+ + +
valuePointer to assign
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ operator=() [2/2]

+ +
+
+
+template<typename T>
+ + + + + + + + +
ThreadLocalPtr<T>& sf::ThreadLocalPtr< T >::operator= (const ThreadLocalPtr< T > & right)
+
+ +

Assignment operator for a ThreadLocalPtr parameter.

+
Parameters
+ + +
rightThreadLocalPtr to assign
+
+
+
Returns
Reference to self
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1ThreadLocalPtr.png b/SFML/doc/html/classsf_1_1ThreadLocalPtr.png new file mode 100644 index 0000000..1796db7 Binary files /dev/null and b/SFML/doc/html/classsf_1_1ThreadLocalPtr.png differ diff --git a/SFML/doc/html/classsf_1_1Time-members.html b/SFML/doc/html/classsf_1_1Time-members.html new file mode 100644 index 0000000..b76fae1 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Time-members.html @@ -0,0 +1,96 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Time Member List
+
+
+ +

This is the complete list of members for sf::Time, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
asMicroseconds() constsf::Time
asMilliseconds() constsf::Time
asSeconds() constsf::Time
microseconds (defined in sf::Time)sf::Timefriend
microseconds(Int64 amount)sf::Timerelated
milliseconds (defined in sf::Time)sf::Timefriend
milliseconds(Int32 amount)sf::Timerelated
operator!=(Time left, Time right)sf::Timerelated
operator%(Time left, Time right)sf::Timerelated
operator%=(Time &left, Time right)sf::Timerelated
operator*(Time left, float right)sf::Timerelated
operator*(Time left, Int64 right)sf::Timerelated
operator*(float left, Time right)sf::Timerelated
operator*(Int64 left, Time right)sf::Timerelated
operator*=(Time &left, float right)sf::Timerelated
operator*=(Time &left, Int64 right)sf::Timerelated
operator+(Time left, Time right)sf::Timerelated
operator+=(Time &left, Time right)sf::Timerelated
operator-(Time right)sf::Timerelated
operator-(Time left, Time right)sf::Timerelated
operator-=(Time &left, Time right)sf::Timerelated
operator/(Time left, float right)sf::Timerelated
operator/(Time left, Int64 right)sf::Timerelated
operator/(Time left, Time right)sf::Timerelated
operator/=(Time &left, float right)sf::Timerelated
operator/=(Time &left, Int64 right)sf::Timerelated
operator<(Time left, Time right)sf::Timerelated
operator<=(Time left, Time right)sf::Timerelated
operator==(Time left, Time right)sf::Timerelated
operator>(Time left, Time right)sf::Timerelated
operator>=(Time left, Time right)sf::Timerelated
seconds (defined in sf::Time)sf::Timefriend
seconds(float amount)sf::Timerelated
Time()sf::Time
Zerosf::Timestatic
+ + + + diff --git a/SFML/doc/html/classsf_1_1Time.html b/SFML/doc/html/classsf_1_1Time.html new file mode 100644 index 0000000..3485dcd --- /dev/null +++ b/SFML/doc/html/classsf_1_1Time.html @@ -0,0 +1,1516 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Represents a time value. + More...

+ +

#include <Time.hpp>

+ + + + + + + + + + + + + + +

+Public Member Functions

 Time ()
 Default constructor. More...
 
float asSeconds () const
 Return the time value as a number of seconds. More...
 
Int32 asMilliseconds () const
 Return the time value as a number of milliseconds. More...
 
Int64 asMicroseconds () const
 Return the time value as a number of microseconds. More...
 
+ + + + +

+Static Public Attributes

static const Time Zero
 Predefined "zero" time value. More...
 
+ + + + + + + +

+Friends

+Time seconds (float)
 
+Time milliseconds (Int32)
 
+Time microseconds (Int64)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
Time seconds (float amount)
 Construct a time value from a number of seconds. More...
 
Time milliseconds (Int32 amount)
 Construct a time value from a number of milliseconds. More...
 
Time microseconds (Int64 amount)
 Construct a time value from a number of microseconds. More...
 
bool operator== (Time left, Time right)
 Overload of == operator to compare two time values. More...
 
bool operator!= (Time left, Time right)
 Overload of != operator to compare two time values. More...
 
bool operator< (Time left, Time right)
 Overload of < operator to compare two time values. More...
 
bool operator> (Time left, Time right)
 Overload of > operator to compare two time values. More...
 
bool operator<= (Time left, Time right)
 Overload of <= operator to compare two time values. More...
 
bool operator>= (Time left, Time right)
 Overload of >= operator to compare two time values. More...
 
Time operator- (Time right)
 Overload of unary - operator to negate a time value. More...
 
Time operator+ (Time left, Time right)
 Overload of binary + operator to add two time values. More...
 
Timeoperator+= (Time &left, Time right)
 Overload of binary += operator to add/assign two time values. More...
 
Time operator- (Time left, Time right)
 Overload of binary - operator to subtract two time values. More...
 
Timeoperator-= (Time &left, Time right)
 Overload of binary -= operator to subtract/assign two time values. More...
 
Time operator* (Time left, float right)
 Overload of binary * operator to scale a time value. More...
 
Time operator* (Time left, Int64 right)
 Overload of binary * operator to scale a time value. More...
 
Time operator* (float left, Time right)
 Overload of binary * operator to scale a time value. More...
 
Time operator* (Int64 left, Time right)
 Overload of binary * operator to scale a time value. More...
 
Timeoperator*= (Time &left, float right)
 Overload of binary *= operator to scale/assign a time value. More...
 
Timeoperator*= (Time &left, Int64 right)
 Overload of binary *= operator to scale/assign a time value. More...
 
Time operator/ (Time left, float right)
 Overload of binary / operator to scale a time value. More...
 
Time operator/ (Time left, Int64 right)
 Overload of binary / operator to scale a time value. More...
 
Timeoperator/= (Time &left, float right)
 Overload of binary /= operator to scale/assign a time value. More...
 
Timeoperator/= (Time &left, Int64 right)
 Overload of binary /= operator to scale/assign a time value. More...
 
float operator/ (Time left, Time right)
 Overload of binary / operator to compute the ratio of two time values. More...
 
Time operator% (Time left, Time right)
 Overload of binary % operator to compute remainder of a time value. More...
 
Timeoperator%= (Time &left, Time right)
 Overload of binary %= operator to compute/assign remainder of a time value. More...
 
+

Detailed Description

+

Represents a time value.

+

sf::Time encapsulates a time value in a flexible way.

+

It allows to define a time value either as a number of seconds, milliseconds or microseconds. It also works the other way round: you can read a time value as either a number of seconds, milliseconds or microseconds.

+

By using such a flexible interface, the API doesn't impose any fixed type or resolution for time values, and let the user choose its own favorite representation.

+

Time values support the usual mathematical operations: you can add or subtract two times, multiply or divide a time by a number, compare two times, etc.

+

Since they represent a time span and not an absolute time value, times can also be negative.

+

Usage example:

sf::Time t1 = sf::seconds(0.1f);
Int32 milli = t1.asMilliseconds(); // 100
sf::Time t2 = sf::milliseconds(30);
Int64 micro = t2.asMicroseconds(); // 30000
sf::Time t3 = sf::microseconds(-800000);
float sec = t3.asSeconds(); // -0.8
void update(sf::Time elapsed)
{
position += speed * elapsed.asSeconds();
}
update(sf::milliseconds(100));
See also
sf::Clock
+ +

Definition at line 40 of file Time.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Time()

+ +
+
+ + + + + + + +
sf::Time::Time ()
+
+ +

Default constructor.

+

Sets the time value to zero.

+ +
+
+

Member Function Documentation

+ +

◆ asMicroseconds()

+ +
+
+ + + + + + + +
Int64 sf::Time::asMicroseconds () const
+
+ +

Return the time value as a number of microseconds.

+
Returns
Time in microseconds
+
See also
asSeconds, asMilliseconds
+ +
+
+ +

◆ asMilliseconds()

+ +
+
+ + + + + + + +
Int32 sf::Time::asMilliseconds () const
+
+ +

Return the time value as a number of milliseconds.

+
Returns
Time in milliseconds
+
See also
asSeconds, asMicroseconds
+ +
+
+ +

◆ asSeconds()

+ +
+
+ + + + + + + +
float sf::Time::asSeconds () const
+
+ +

Return the time value as a number of seconds.

+
Returns
Time in seconds
+
See also
asMilliseconds, asMicroseconds
+ +
+
+

Friends And Related Function Documentation

+ +

◆ microseconds()

+ +
+
+ + + + + +
+ + + + + + + + +
Time microseconds (Int64 amount)
+
+related
+
+ +

Construct a time value from a number of microseconds.

+
Parameters
+ + +
amountNumber of microseconds
+
+
+
Returns
Time value constructed from the amount of microseconds
+
See also
seconds, milliseconds
+ +
+
+ +

◆ milliseconds()

+ +
+
+ + + + + +
+ + + + + + + + +
Time milliseconds (Int32 amount)
+
+related
+
+ +

Construct a time value from a number of milliseconds.

+
Parameters
+ + +
amountNumber of milliseconds
+
+
+
Returns
Time value constructed from the amount of milliseconds
+
See also
seconds, microseconds
+ +
+
+ +

◆ operator!=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (Time left,
Time right 
)
+
+related
+
+ +

Overload of != operator to compare two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
True if both time values are different
+ +
+
+ +

◆ operator%()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator% (Time left,
Time right 
)
+
+related
+
+ +

Overload of binary % operator to compute remainder of a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
left modulo right
+ +
+
+ +

◆ operator%=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time & operator%= (Timeleft,
Time right 
)
+
+related
+
+ +

Overload of binary %= operator to compute/assign remainder of a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
left modulo right
+ +
+
+ +

◆ operator*() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator* (Time left,
float right 
)
+
+related
+
+ +

Overload of binary * operator to scale a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a number)
+
+
+
Returns
left multiplied by right
+ +
+
+ +

◆ operator*() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator* (Time left,
Int64 right 
)
+
+related
+
+ +

Overload of binary * operator to scale a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a number)
+
+
+
Returns
left multiplied by right
+ +
+
+ +

◆ operator*() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator* (float left,
Time right 
)
+
+related
+
+ +

Overload of binary * operator to scale a time value.

+
Parameters
+ + + +
leftLeft operand (a number)
rightRight operand (a time)
+
+
+
Returns
left multiplied by right
+ +
+
+ +

◆ operator*() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator* (Int64 left,
Time right 
)
+
+related
+
+ +

Overload of binary * operator to scale a time value.

+
Parameters
+ + + +
leftLeft operand (a number)
rightRight operand (a time)
+
+
+
Returns
left multiplied by right
+ +
+
+ +

◆ operator*=() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time & operator*= (Timeleft,
float right 
)
+
+related
+
+ +

Overload of binary *= operator to scale/assign a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a number)
+
+
+
Returns
left multiplied by right
+ +
+
+ +

◆ operator*=() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time & operator*= (Timeleft,
Int64 right 
)
+
+related
+
+ +

Overload of binary *= operator to scale/assign a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a number)
+
+
+
Returns
left multiplied by right
+ +
+
+ +

◆ operator+()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator+ (Time left,
Time right 
)
+
+related
+
+ +

Overload of binary + operator to add two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
Sum of the two times values
+ +
+
+ +

◆ operator+=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time & operator+= (Timeleft,
Time right 
)
+
+related
+
+ +

Overload of binary += operator to add/assign two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
Sum of the two times values
+ +
+
+ +

◆ operator-() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
Time operator- (Time right)
+
+related
+
+ +

Overload of unary - operator to negate a time value.

+
Parameters
+ + +
rightRight operand (a time)
+
+
+
Returns
Opposite of the time value
+ +
+
+ +

◆ operator-() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator- (Time left,
Time right 
)
+
+related
+
+ +

Overload of binary - operator to subtract two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
Difference of the two times values
+ +
+
+ +

◆ operator-=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time & operator-= (Timeleft,
Time right 
)
+
+related
+
+ +

Overload of binary -= operator to subtract/assign two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
Difference of the two times values
+ +
+
+ +

◆ operator/() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator/ (Time left,
float right 
)
+
+related
+
+ +

Overload of binary / operator to scale a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a number)
+
+
+
Returns
left divided by right
+ +
+
+ +

◆ operator/() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time operator/ (Time left,
Int64 right 
)
+
+related
+
+ +

Overload of binary / operator to scale a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a number)
+
+
+
Returns
left divided by right
+ +
+
+ +

◆ operator/() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float operator/ (Time left,
Time right 
)
+
+related
+
+ +

Overload of binary / operator to compute the ratio of two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
left divided by right
+ +
+
+ +

◆ operator/=() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time & operator/= (Timeleft,
float right 
)
+
+related
+
+ +

Overload of binary /= operator to scale/assign a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a number)
+
+
+
Returns
left divided by right
+ +
+
+ +

◆ operator/=() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Time & operator/= (Timeleft,
Int64 right 
)
+
+related
+
+ +

Overload of binary /= operator to scale/assign a time value.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a number)
+
+
+
Returns
left divided by right
+ +
+
+ +

◆ operator<()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator< (Time left,
Time right 
)
+
+related
+
+ +

Overload of < operator to compare two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
True if left is lesser than right
+ +
+
+ +

◆ operator<=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator<= (Time left,
Time right 
)
+
+related
+
+ +

Overload of <= operator to compare two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
True if left is lesser or equal than right
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (Time left,
Time right 
)
+
+related
+
+ +

Overload of == operator to compare two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
True if both time values are equal
+ +
+
+ +

◆ operator>()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator> (Time left,
Time right 
)
+
+related
+
+ +

Overload of > operator to compare two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
True if left is greater than right
+ +
+
+ +

◆ operator>=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator>= (Time left,
Time right 
)
+
+related
+
+ +

Overload of >= operator to compare two time values.

+
Parameters
+ + + +
leftLeft operand (a time)
rightRight operand (a time)
+
+
+
Returns
True if left is greater or equal than right
+ +
+
+ +

◆ seconds()

+ +
+
+ + + + + +
+ + + + + + + + +
Time seconds (float amount)
+
+related
+
+ +

Construct a time value from a number of seconds.

+
Parameters
+ + +
amountNumber of seconds
+
+
+
Returns
Time value constructed from the amount of seconds
+
See also
milliseconds, microseconds
+ +
+
+

Member Data Documentation

+ +

◆ Zero

+ +
+
+ + + + + +
+ + + + +
const Time sf::Time::Zero
+
+static
+
+ +

Predefined "zero" time value.

+ +

Definition at line 85 of file Time.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Touch-members.html b/SFML/doc/html/classsf_1_1Touch-members.html new file mode 100644 index 0000000..c42353d --- /dev/null +++ b/SFML/doc/html/classsf_1_1Touch-members.html @@ -0,0 +1,64 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Touch Member List
+
+
+ +

This is the complete list of members for sf::Touch, including all inherited members.

+ + + + +
getPosition(unsigned int finger)sf::Touchstatic
getPosition(unsigned int finger, const Window &relativeTo)sf::Touchstatic
isDown(unsigned int finger)sf::Touchstatic
+ + + + diff --git a/SFML/doc/html/classsf_1_1Touch.html b/SFML/doc/html/classsf_1_1Touch.html new file mode 100644 index 0000000..a359018 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Touch.html @@ -0,0 +1,211 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Give access to the real-time state of the touches. + More...

+ +

#include <Touch.hpp>

+ + + + + + + + + + + +

+Static Public Member Functions

static bool isDown (unsigned int finger)
 Check if a touch event is currently down. More...
 
static Vector2i getPosition (unsigned int finger)
 Get the current position of a touch in desktop coordinates. More...
 
static Vector2i getPosition (unsigned int finger, const Window &relativeTo)
 Get the current position of a touch in window coordinates. More...
 
+

Detailed Description

+

Give access to the real-time state of the touches.

+

sf::Touch provides an interface to the state of the touches.

+

It only contains static functions, so it's not meant to be instantiated.

+

This class allows users to query the touches state at any time and directly, without having to deal with a window and its events. Compared to the TouchBegan, TouchMoved and TouchEnded events, sf::Touch can retrieve the state of the touches at any time (you don't need to store and update a boolean on your side in order to know if a touch is down), and you always get the real state of the touches, even if they happen when your window is out of focus and no event is triggered.

+

The getPosition function can be used to retrieve the current position of a touch. There are two versions: one that operates in global coordinates (relative to the desktop) and one that operates in window coordinates (relative to a specific window).

+

Touches are identified by an index (the "finger"), so that in multi-touch events, individual touches can be tracked correctly. As long as a finger touches the screen, it will keep the same index even if other fingers start or stop touching the screen in the meantime. As a consequence, active touch indices may not always be sequential (i.e. touch number 0 may be released while touch number 1 is still down).

+

Usage example:

{
// touch 0 is down
}
// get global position of touch 1
// get position of touch 1 relative to a window
sf::Vector2i relativePos = sf::Touch::getPosition(1, window);
See also
sf::Joystick, sf::Keyboard, sf::Mouse
+ +

Definition at line 43 of file Touch.hpp.

+

Member Function Documentation

+ +

◆ getPosition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static Vector2i sf::Touch::getPosition (unsigned int finger)
+
+static
+
+ +

Get the current position of a touch in desktop coordinates.

+

This function returns the current touch position in global (desktop) coordinates.

+
Parameters
+ + +
fingerFinger index
+
+
+
Returns
Current position of finger, or undefined if it's not down
+ +
+
+ +

◆ getPosition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Vector2i sf::Touch::getPosition (unsigned int finger,
const WindowrelativeTo 
)
+
+static
+
+ +

Get the current position of a touch in window coordinates.

+

This function returns the current touch position relative to the given window.

+
Parameters
+ + + +
fingerFinger index
relativeToReference window
+
+
+
Returns
Current position of finger, or undefined if it's not down
+ +
+
+ +

◆ isDown()

+ +
+
+ + + + + +
+ + + + + + + + +
static bool sf::Touch::isDown (unsigned int finger)
+
+static
+
+ +

Check if a touch event is currently down.

+
Parameters
+ + +
fingerFinger index
+
+
+
Returns
True if finger is currently touching the screen, false otherwise
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Transform-members.html b/SFML/doc/html/classsf_1_1Transform-members.html new file mode 100644 index 0000000..97d5714 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Transform-members.html @@ -0,0 +1,84 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Transform Member List
+
+
+ +

This is the complete list of members for sf::Transform, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
combine(const Transform &transform)sf::Transform
getInverse() constsf::Transform
getMatrix() constsf::Transform
Identitysf::Transformstatic
operator!=(const Transform &left, const Transform &right)sf::Transformrelated
operator*(const Transform &left, const Transform &right)sf::Transformrelated
operator*(const Transform &left, const Vector2f &right)sf::Transformrelated
operator*=(Transform &left, const Transform &right)sf::Transformrelated
operator==(const Transform &left, const Transform &right)sf::Transformrelated
rotate(float angle)sf::Transform
rotate(float angle, float centerX, float centerY)sf::Transform
rotate(float angle, const Vector2f &center)sf::Transform
scale(float scaleX, float scaleY)sf::Transform
scale(float scaleX, float scaleY, float centerX, float centerY)sf::Transform
scale(const Vector2f &factors)sf::Transform
scale(const Vector2f &factors, const Vector2f &center)sf::Transform
Transform()sf::Transform
Transform(float a00, float a01, float a02, float a10, float a11, float a12, float a20, float a21, float a22)sf::Transform
transformPoint(float x, float y) constsf::Transform
transformPoint(const Vector2f &point) constsf::Transform
transformRect(const FloatRect &rectangle) constsf::Transform
translate(float x, float y)sf::Transform
translate(const Vector2f &offset)sf::Transform
+ + + + diff --git a/SFML/doc/html/classsf_1_1Transform.html b/SFML/doc/html/classsf_1_1Transform.html new file mode 100644 index 0000000..543f64d --- /dev/null +++ b/SFML/doc/html/classsf_1_1Transform.html @@ -0,0 +1,1038 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Define a 3x3 transform matrix. + More...

+ +

#include <Transform.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Transform ()
 Default constructor. More...
 
 Transform (float a00, float a01, float a02, float a10, float a11, float a12, float a20, float a21, float a22)
 Construct a transform from a 3x3 matrix. More...
 
const float * getMatrix () const
 Return the transform as a 4x4 matrix. More...
 
Transform getInverse () const
 Return the inverse of the transform. More...
 
Vector2f transformPoint (float x, float y) const
 Transform a 2D point. More...
 
Vector2f transformPoint (const Vector2f &point) const
 Transform a 2D point. More...
 
FloatRect transformRect (const FloatRect &rectangle) const
 Transform a rectangle. More...
 
Transformcombine (const Transform &transform)
 Combine the current transform with another one. More...
 
Transformtranslate (float x, float y)
 Combine the current transform with a translation. More...
 
Transformtranslate (const Vector2f &offset)
 Combine the current transform with a translation. More...
 
Transformrotate (float angle)
 Combine the current transform with a rotation. More...
 
Transformrotate (float angle, float centerX, float centerY)
 Combine the current transform with a rotation. More...
 
Transformrotate (float angle, const Vector2f &center)
 Combine the current transform with a rotation. More...
 
Transformscale (float scaleX, float scaleY)
 Combine the current transform with a scaling. More...
 
Transformscale (float scaleX, float scaleY, float centerX, float centerY)
 Combine the current transform with a scaling. More...
 
Transformscale (const Vector2f &factors)
 Combine the current transform with a scaling. More...
 
Transformscale (const Vector2f &factors, const Vector2f &center)
 Combine the current transform with a scaling. More...
 
+ + + + +

+Static Public Attributes

static const Transform Identity
 The identity transform (does nothing) More...
 
+ + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
Transform operator* (const Transform &left, const Transform &right)
 Overload of binary operator * to combine two transforms. More...
 
Transformoperator*= (Transform &left, const Transform &right)
 Overload of binary operator *= to combine two transforms. More...
 
Vector2f operator* (const Transform &left, const Vector2f &right)
 Overload of binary operator * to transform a point. More...
 
bool operator== (const Transform &left, const Transform &right)
 Overload of binary operator == to compare two transforms. More...
 
bool operator!= (const Transform &left, const Transform &right)
 Overload of binary operator != to compare two transforms. More...
 
+

Detailed Description

+

Define a 3x3 transform matrix.

+

A sf::Transform specifies how to translate, rotate, scale, shear, project, whatever things.

+

In mathematical terms, it defines how to transform a coordinate system into another.

+

For example, if you apply a rotation transform to a sprite, the result will be a rotated sprite. And anything that is transformed by this rotation transform will be rotated the same way, according to its initial position.

+

Transforms are typically used for drawing. But they can also be used for any computation that requires to transform points between the local and global coordinate systems of an entity (like collision detection).

+

Example:

// define a translation transform
sf::Transform translation;
translation.translate(20, 50);
// define a rotation transform
sf::Transform rotation;
rotation.rotate(45);
// combine them
sf::Transform transform = translation * rotation;
// use the result to transform stuff...
sf::Vector2f point = transform.transformPoint(10, 20);
sf::FloatRect rect = transform.transformRect(sf::FloatRect(0, 0, 10, 100));
See also
sf::Transformable, sf::RenderStates
+ +

Definition at line 42 of file Transform.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Transform() [1/2]

+ +
+
+ + + + + + + +
sf::Transform::Transform ()
+
+ +

Default constructor.

+

Creates an identity transform (a transform that does nothing).

+ +
+
+ +

◆ Transform() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sf::Transform::Transform (float a00,
float a01,
float a02,
float a10,
float a11,
float a12,
float a20,
float a21,
float a22 
)
+
+ +

Construct a transform from a 3x3 matrix.

+
Parameters
+ + + + + + + + + + +
a00Element (0, 0) of the matrix
a01Element (0, 1) of the matrix
a02Element (0, 2) of the matrix
a10Element (1, 0) of the matrix
a11Element (1, 1) of the matrix
a12Element (1, 2) of the matrix
a20Element (2, 0) of the matrix
a21Element (2, 1) of the matrix
a22Element (2, 2) of the matrix
+
+
+ +
+
+

Member Function Documentation

+ +

◆ combine()

+ +
+
+ + + + + + + + +
Transform& sf::Transform::combine (const Transformtransform)
+
+ +

Combine the current transform with another one.

+

The result is a transform that is equivalent to applying *this followed by transform. Mathematically, it is equivalent to a matrix multiplication.

+
Parameters
+ + +
transformTransform to combine with this transform
+
+
+
Returns
Reference to *this
+ +
+
+ +

◆ getInverse()

+ +
+
+ + + + + + + +
Transform sf::Transform::getInverse () const
+
+ +

Return the inverse of the transform.

+

If the inverse cannot be computed, an identity transform is returned.

+
Returns
A new transform which is the inverse of self
+ +
+
+ +

◆ getMatrix()

+ +
+
+ + + + + + + +
const float* sf::Transform::getMatrix () const
+
+ +

Return the transform as a 4x4 matrix.

+

This function returns a pointer to an array of 16 floats containing the transform elements as a 4x4 matrix, which is directly compatible with OpenGL functions.

+
sf::Transform transform = ...;
glLoadMatrixf(transform.getMatrix());
Returns
Pointer to a 4x4 matrix
+ +
+
+ +

◆ rotate() [1/3]

+ +
+
+ + + + + + + + +
Transform& sf::Transform::rotate (float angle)
+
+ +

Combine the current transform with a rotation.

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.rotate(90).translate(50, 20);
Parameters
+ + +
angleRotation angle, in degrees
+
+
+
Returns
Reference to *this
+
See also
translate, scale
+ +
+
+ +

◆ rotate() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Transform& sf::Transform::rotate (float angle,
float centerX,
float centerY 
)
+
+ +

Combine the current transform with a rotation.

+

The center of rotation is provided for convenience as a second argument, so that you can build rotations around arbitrary points more easily (and efficiently) than the usual translate(-center).rotate(angle).translate(center).

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.rotate(90, 8, 3).translate(50, 20);
Parameters
+ + + + +
angleRotation angle, in degrees
centerXX coordinate of the center of rotation
centerYY coordinate of the center of rotation
+
+
+
Returns
Reference to *this
+
See also
translate, scale
+ +
+
+ +

◆ rotate() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Transform& sf::Transform::rotate (float angle,
const Vector2fcenter 
)
+
+ +

Combine the current transform with a rotation.

+

The center of rotation is provided for convenience as a second argument, so that you can build rotations around arbitrary points more easily (and efficiently) than the usual translate(-center).rotate(angle).translate(center).

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.rotate(90, sf::Vector2f(8, 3)).translate(sf::Vector2f(50, 20));
Parameters
+ + + +
angleRotation angle, in degrees
centerCenter of rotation
+
+
+
Returns
Reference to *this
+
See also
translate, scale
+ +
+
+ +

◆ scale() [1/4]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Transform& sf::Transform::scale (float scaleX,
float scaleY 
)
+
+ +

Combine the current transform with a scaling.

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.scale(2, 1).rotate(45);
Parameters
+ + + +
scaleXScaling factor on the X axis
scaleYScaling factor on the Y axis
+
+
+
Returns
Reference to *this
+
See also
translate, rotate
+ +
+
+ +

◆ scale() [2/4]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Transform& sf::Transform::scale (float scaleX,
float scaleY,
float centerX,
float centerY 
)
+
+ +

Combine the current transform with a scaling.

+

The center of scaling is provided for convenience as a second argument, so that you can build scaling around arbitrary points more easily (and efficiently) than the usual translate(-center).scale(factors).translate(center).

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.scale(2, 1, 8, 3).rotate(45);
Parameters
+ + + + + +
scaleXScaling factor on X axis
scaleYScaling factor on Y axis
centerXX coordinate of the center of scaling
centerYY coordinate of the center of scaling
+
+
+
Returns
Reference to *this
+
See also
translate, rotate
+ +
+
+ +

◆ scale() [3/4]

+ +
+
+ + + + + + + + +
Transform& sf::Transform::scale (const Vector2ffactors)
+
+ +

Combine the current transform with a scaling.

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.scale(sf::Vector2f(2, 1)).rotate(45);
Parameters
+ + +
factorsScaling factors
+
+
+
Returns
Reference to *this
+
See also
translate, rotate
+ +
+
+ +

◆ scale() [4/4]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Transform& sf::Transform::scale (const Vector2ffactors,
const Vector2fcenter 
)
+
+ +

Combine the current transform with a scaling.

+

The center of scaling is provided for convenience as a second argument, so that you can build scaling around arbitrary points more easily (and efficiently) than the usual translate(-center).scale(factors).translate(center).

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.scale(sf::Vector2f(2, 1), sf::Vector2f(8, 3)).rotate(45);
Parameters
+ + + +
factorsScaling factors
centerCenter of scaling
+
+
+
Returns
Reference to *this
+
See also
translate, rotate
+ +
+
+ +

◆ transformPoint() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Vector2f sf::Transform::transformPoint (float x,
float y 
) const
+
+ +

Transform a 2D point.

+
Parameters
+ + + +
xX coordinate of the point to transform
yY coordinate of the point to transform
+
+
+
Returns
Transformed point
+ +
+
+ +

◆ transformPoint() [2/2]

+ +
+
+ + + + + + + + +
Vector2f sf::Transform::transformPoint (const Vector2fpoint) const
+
+ +

Transform a 2D point.

+
Parameters
+ + +
pointPoint to transform
+
+
+
Returns
Transformed point
+ +
+
+ +

◆ transformRect()

+ +
+
+ + + + + + + + +
FloatRect sf::Transform::transformRect (const FloatRectrectangle) const
+
+ +

Transform a rectangle.

+

Since SFML doesn't provide support for oriented rectangles, the result of this function is always an axis-aligned rectangle. Which means that if the transform contains a rotation, the bounding rectangle of the transformed rectangle is returned.

+
Parameters
+ + +
rectangleRectangle to transform
+
+
+
Returns
Transformed rectangle
+ +
+
+ +

◆ translate() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
Transform& sf::Transform::translate (float x,
float y 
)
+
+ +

Combine the current transform with a translation.

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.translate(100, 200).rotate(45);
Parameters
+ + + +
xOffset to apply on X axis
yOffset to apply on Y axis
+
+
+
Returns
Reference to *this
+
See also
rotate, scale
+ +
+
+ +

◆ translate() [2/2]

+ +
+
+ + + + + + + + +
Transform& sf::Transform::translate (const Vector2foffset)
+
+ +

Combine the current transform with a translation.

+

This function returns a reference to *this, so that calls can be chained.

sf::Transform transform;
transform.translate(sf::Vector2f(100, 200)).rotate(45);
Parameters
+ + +
offsetTranslation offset to apply
+
+
+
Returns
Reference to *this
+
See also
rotate, scale
+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator!=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const Transformleft,
const Transformright 
)
+
+related
+
+ +

Overload of binary operator != to compare two transforms.

+

This call is equivalent to !(left == right).

+
Parameters
+ + + +
leftLeft operand (the first transform)
rightRight operand (the second transform)
+
+
+
Returns
true if the transforms are not equal, false otherwise
+ +
+
+ +

◆ operator*() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Transform operator* (const Transformleft,
const Transformright 
)
+
+related
+
+ +

Overload of binary operator * to combine two transforms.

+

This call is equivalent to calling Transform(left).combine(right).

+
Parameters
+ + + +
leftLeft operand (the first transform)
rightRight operand (the second transform)
+
+
+
Returns
New combined transform
+ +
+
+ +

◆ operator*() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2f operator* (const Transformleft,
const Vector2fright 
)
+
+related
+
+ +

Overload of binary operator * to transform a point.

+

This call is equivalent to calling left.transformPoint(right).

+
Parameters
+ + + +
leftLeft operand (the transform)
rightRight operand (the point to transform)
+
+
+
Returns
New transformed point
+ +
+
+ +

◆ operator*=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Transform & operator*= (Transformleft,
const Transformright 
)
+
+related
+
+ +

Overload of binary operator *= to combine two transforms.

+

This call is equivalent to calling left.combine(right).

+
Parameters
+ + + +
leftLeft operand (the first transform)
rightRight operand (the second transform)
+
+
+
Returns
The combined transform
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const Transformleft,
const Transformright 
)
+
+related
+
+ +

Overload of binary operator == to compare two transforms.

+

Performs an element-wise comparison of the elements of the left transform with the elements of the right transform.

+
Parameters
+ + + +
leftLeft operand (the first transform)
rightRight operand (the second transform)
+
+
+
Returns
true if the transforms are equal, false otherwise
+ +
+
+

Member Data Documentation

+ +

◆ Identity

+ +
+
+ + + + + +
+ + + + +
const Transform sf::Transform::Identity
+
+static
+
+ +

The identity transform (does nothing)

+ +

Definition at line 354 of file Transform.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Transformable-members.html b/SFML/doc/html/classsf_1_1Transformable-members.html new file mode 100644 index 0000000..95b1988 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Transformable-members.html @@ -0,0 +1,81 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Transformable Member List
+
+
+ +

This is the complete list of members for sf::Transformable, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
getInverseTransform() constsf::Transformable
getOrigin() constsf::Transformable
getPosition() constsf::Transformable
getRotation() constsf::Transformable
getScale() constsf::Transformable
getTransform() constsf::Transformable
move(float offsetX, float offsetY)sf::Transformable
move(const Vector2f &offset)sf::Transformable
rotate(float angle)sf::Transformable
scale(float factorX, float factorY)sf::Transformable
scale(const Vector2f &factor)sf::Transformable
setOrigin(float x, float y)sf::Transformable
setOrigin(const Vector2f &origin)sf::Transformable
setPosition(float x, float y)sf::Transformable
setPosition(const Vector2f &position)sf::Transformable
setRotation(float angle)sf::Transformable
setScale(float factorX, float factorY)sf::Transformable
setScale(const Vector2f &factors)sf::Transformable
Transformable()sf::Transformable
~Transformable()sf::Transformablevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Transformable.html b/SFML/doc/html/classsf_1_1Transformable.html new file mode 100644 index 0000000..8aa8492 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Transformable.html @@ -0,0 +1,723 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Transformable Class Reference
+
+
+ +

Decomposed transform defined by a position, a rotation and a scale. + More...

+ +

#include <Transformable.hpp>

+
+Inheritance diagram for sf::Transformable:
+
+
+ + +sf::Shape +sf::Sprite +sf::Text +sf::CircleShape +sf::ConvexShape +sf::RectangleShape + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Transformable ()
 Default constructor. More...
 
virtual ~Transformable ()
 Virtual destructor. More...
 
void setPosition (float x, float y)
 set the position of the object More...
 
void setPosition (const Vector2f &position)
 set the position of the object More...
 
void setRotation (float angle)
 set the orientation of the object More...
 
void setScale (float factorX, float factorY)
 set the scale factors of the object More...
 
void setScale (const Vector2f &factors)
 set the scale factors of the object More...
 
void setOrigin (float x, float y)
 set the local origin of the object More...
 
void setOrigin (const Vector2f &origin)
 set the local origin of the object More...
 
const Vector2fgetPosition () const
 get the position of the object More...
 
float getRotation () const
 get the orientation of the object More...
 
const Vector2fgetScale () const
 get the current scale of the object More...
 
const Vector2fgetOrigin () const
 get the local origin of the object More...
 
void move (float offsetX, float offsetY)
 Move the object by a given offset. More...
 
void move (const Vector2f &offset)
 Move the object by a given offset. More...
 
void rotate (float angle)
 Rotate the object. More...
 
void scale (float factorX, float factorY)
 Scale the object. More...
 
void scale (const Vector2f &factor)
 Scale the object. More...
 
const TransformgetTransform () const
 get the combined transform of the object More...
 
const TransformgetInverseTransform () const
 get the inverse of the combined transform of the object More...
 
+

Detailed Description

+

Decomposed transform defined by a position, a rotation and a scale.

+

This class is provided for convenience, on top of sf::Transform.

+

sf::Transform, as a low-level class, offers a great level of flexibility but it is not always convenient to manage. Indeed, one can easily combine any kind of operation, such as a translation followed by a rotation followed by a scaling, but once the result transform is built, there's no way to go backward and, let's say, change only the rotation without modifying the translation and scaling. The entire transform must be recomputed, which means that you need to retrieve the initial translation and scale factors as well, and combine them the same way you did before updating the rotation. This is a tedious operation, and it requires to store all the individual components of the final transform.

+

That's exactly what sf::Transformable was written for: it hides these variables and the composed transform behind an easy to use interface. You can set or get any of the individual components without worrying about the others. It also provides the composed transform (as a sf::Transform), and keeps it up-to-date.

+

In addition to the position, rotation and scale, sf::Transformable provides an "origin" component, which represents the local origin of the three other components. Let's take an example with a 10x10 pixels sprite. By default, the sprite is positioned/rotated/scaled relatively to its top-left corner, because it is the local point (0, 0). But if we change the origin to be (5, 5), the sprite will be positioned/rotated/scaled around its center instead. And if we set the origin to (10, 10), it will be transformed around its bottom-right corner.

+

To keep the sf::Transformable class simple, there's only one origin for all the components. You cannot position the sprite relatively to its top-left corner while rotating it around its center, for example. To do such things, use sf::Transform directly.

+

sf::Transformable can be used as a base class. It is often combined with sf::Drawable – that's what SFML's sprites, texts and shapes do.

class MyEntity : public sf::Transformable, public sf::Drawable
{
virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const
{
states.transform *= getTransform();
target.draw(..., states);
}
};
MyEntity entity;
entity.setPosition(10, 20);
entity.setRotation(45);
window.draw(entity);

It can also be used as a member, if you don't want to use its API directly (because you don't need all its functions, or you have different naming conventions for example).

class MyEntity
{
public:
void SetPosition(const MyVector& v)
{
myTransform.setPosition(v.x(), v.y());
}
void Draw(sf::RenderTarget& target) const
{
target.draw(..., myTransform.getTransform());
}
private:
sf::Transformable myTransform;
};

A note on coordinates and undistorted rendering:
+By default, SFML (or more exactly, OpenGL) may interpolate drawable objects such as sprites or texts when rendering. While this allows transitions like slow movements or rotations to appear smoothly, it can lead to unwanted results in some cases, for example blurred or distorted objects. In order to render a sf::Drawable object pixel-perfectly, make sure the involved coordinates allow a 1:1 mapping of pixels in the window to texels (pixels in the texture). More specifically, this means:

    +
  • The object's position, origin and scale have no fractional part
  • +
  • The object's and the view's rotation are a multiple of 90 degrees
  • +
  • The view's center and size have no fractional part
  • +
+
See also
sf::Transform
+ +

Definition at line 41 of file Transformable.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Transformable()

+ +
+
+ + + + + + + +
sf::Transformable::Transformable ()
+
+ +

Default constructor.

+ +
+
+ +

◆ ~Transformable()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::Transformable::~Transformable ()
+
+virtual
+
+ +

Virtual destructor.

+ +
+
+

Member Function Documentation

+ +

◆ getInverseTransform()

+ +
+
+ + + + + + + +
const Transform& sf::Transformable::getInverseTransform () const
+
+ +

get the inverse of the combined transform of the object

+
Returns
Inverse of the combined transformations applied to the object
+
See also
getTransform
+ +
+
+ +

◆ getOrigin()

+ +
+
+ + + + + + + +
const Vector2f& sf::Transformable::getOrigin () const
+
+ +

get the local origin of the object

+
Returns
Current origin
+
See also
setOrigin
+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + + + +
const Vector2f& sf::Transformable::getPosition () const
+
+ +

get the position of the object

+
Returns
Current position
+
See also
setPosition
+ +
+
+ +

◆ getRotation()

+ +
+
+ + + + + + + +
float sf::Transformable::getRotation () const
+
+ +

get the orientation of the object

+

The rotation is always in the range [0, 360].

+
Returns
Current rotation, in degrees
+
See also
setRotation
+ +
+
+ +

◆ getScale()

+ +
+
+ + + + + + + +
const Vector2f& sf::Transformable::getScale () const
+
+ +

get the current scale of the object

+
Returns
Current scale factors
+
See also
setScale
+ +
+
+ +

◆ getTransform()

+ +
+
+ + + + + + + +
const Transform& sf::Transformable::getTransform () const
+
+ +

get the combined transform of the object

+
Returns
Transform combining the position/rotation/scale/origin of the object
+
See also
getInverseTransform
+ +
+
+ +

◆ move() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::move (float offsetX,
float offsetY 
)
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f pos = object.getPosition();
object.setPosition(pos.x + offsetX, pos.y + offsetY);
Parameters
+ + + +
offsetXX offset
offsetYY offset
+
+
+
See also
setPosition
+ +
+
+ +

◆ move() [2/2]

+ +
+
+ + + + + + + + +
void sf::Transformable::move (const Vector2foffset)
+
+ +

Move the object by a given offset.

+

This function adds to the current position of the object, unlike setPosition which overwrites it. Thus, it is equivalent to the following code:

object.setPosition(object.getPosition() + offset);
Parameters
+ + +
offsetOffset
+
+
+
See also
setPosition
+ +
+
+ +

◆ rotate()

+ +
+
+ + + + + + + + +
void sf::Transformable::rotate (float angle)
+
+ +

Rotate the object.

+

This function adds to the current rotation of the object, unlike setRotation which overwrites it. Thus, it is equivalent to the following code:

object.setRotation(object.getRotation() + angle);
Parameters
+ + +
angleAngle of rotation, in degrees
+
+
+ +
+
+ +

◆ scale() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::scale (float factorX,
float factorY 
)
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factorX, scale.y * factorY);
Parameters
+ + + +
factorXHorizontal scale factor
factorYVertical scale factor
+
+
+
See also
setScale
+ +
+
+ +

◆ scale() [2/2]

+ +
+
+ + + + + + + + +
void sf::Transformable::scale (const Vector2ffactor)
+
+ +

Scale the object.

+

This function multiplies the current scale of the object, unlike setScale which overwrites it. Thus, it is equivalent to the following code:

sf::Vector2f scale = object.getScale();
object.setScale(scale.x * factor.x, scale.y * factor.y);
Parameters
+ + +
factorScale factors
+
+
+
See also
setScale
+ +
+
+ +

◆ setOrigin() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setOrigin (float x,
float y 
)
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new origin
yY coordinate of the new origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setOrigin() [2/2]

+ +
+
+ + + + + + + + +
void sf::Transformable::setOrigin (const Vector2forigin)
+
+ +

set the local origin of the object

+

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a transformable object is (0, 0).

+
Parameters
+ + +
originNew origin
+
+
+
See also
getOrigin
+ +
+
+ +

◆ setPosition() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setPosition (float x,
float y 
)
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + + +
xX coordinate of the new position
yY coordinate of the new position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setPosition() [2/2]

+ +
+
+ + + + + + + + +
void sf::Transformable::setPosition (const Vector2fposition)
+
+ +

set the position of the object

+

This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable object is (0, 0).

+
Parameters
+ + +
positionNew position
+
+
+
See also
move, getPosition
+ +
+
+ +

◆ setRotation()

+ +
+
+ + + + + + + + +
void sf::Transformable::setRotation (float angle)
+
+ +

set the orientation of the object

+

This function completely overwrites the previous rotation. See the rotate function to add an angle based on the previous rotation instead. The default rotation of a transformable object is 0.

+
Parameters
+ + +
angleNew rotation, in degrees
+
+
+
See also
rotate, getRotation
+ +
+
+ +

◆ setScale() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Transformable::setScale (float factorX,
float factorY 
)
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + + +
factorXNew horizontal scale factor
factorYNew vertical scale factor
+
+
+
See also
scale, getScale
+ +
+
+ +

◆ setScale() [2/2]

+ +
+
+ + + + + + + + +
void sf::Transformable::setScale (const Vector2ffactors)
+
+ +

set the scale factors of the object

+

This function completely overwrites the previous scale. See the scale function to add a factor based on the previous scale instead. The default scale of a transformable object is (1, 1).

+
Parameters
+ + +
factorsNew scale factors
+
+
+
See also
scale, getScale
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Transformable.png b/SFML/doc/html/classsf_1_1Transformable.png new file mode 100644 index 0000000..6865caa Binary files /dev/null and b/SFML/doc/html/classsf_1_1Transformable.png differ diff --git a/SFML/doc/html/classsf_1_1UdpSocket-members.html b/SFML/doc/html/classsf_1_1UdpSocket-members.html new file mode 100644 index 0000000..81a967b --- /dev/null +++ b/SFML/doc/html/classsf_1_1UdpSocket-members.html @@ -0,0 +1,88 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::UdpSocket Member List
+
+
+ +

This is the complete list of members for sf::UdpSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AnyPort enum valuesf::Socket
bind(unsigned short port, const IpAddress &address=IpAddress::Any)sf::UdpSocket
close()sf::Socketprotected
create()sf::Socketprotected
create(SocketHandle handle)sf::Socketprotected
Disconnected enum valuesf::Socket
Done enum valuesf::Socket
Error enum valuesf::Socket
getHandle() constsf::Socketprotected
getLocalPort() constsf::UdpSocket
isBlocking() constsf::Socket
MaxDatagramSize enum valuesf::UdpSocket
NotReady enum valuesf::Socket
Partial enum valuesf::Socket
receive(void *data, std::size_t size, std::size_t &received, IpAddress &remoteAddress, unsigned short &remotePort)sf::UdpSocket
receive(Packet &packet, IpAddress &remoteAddress, unsigned short &remotePort)sf::UdpSocket
send(const void *data, std::size_t size, const IpAddress &remoteAddress, unsigned short remotePort)sf::UdpSocket
send(Packet &packet, const IpAddress &remoteAddress, unsigned short remotePort)sf::UdpSocket
setBlocking(bool blocking)sf::Socket
Socket(Type type)sf::Socketprotected
Status enum namesf::Socket
Tcp enum valuesf::Socketprotected
Type enum namesf::Socketprotected
Udp enum valuesf::Socketprotected
UdpSocket()sf::UdpSocket
unbind()sf::UdpSocket
~Socket()sf::Socketvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1UdpSocket.html b/SFML/doc/html/classsf_1_1UdpSocket.html new file mode 100644 index 0000000..aa24847 --- /dev/null +++ b/SFML/doc/html/classsf_1_1UdpSocket.html @@ -0,0 +1,793 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Specialized socket using the UDP protocol. + More...

+ +

#include <UdpSocket.hpp>

+
+Inheritance diagram for sf::UdpSocket:
+
+
+ + +sf::Socket +sf::NonCopyable + +
+ + + + + + + + + + +

+Public Types

enum  { MaxDatagramSize = 65507 + }
 
enum  Status {
+  Done, +NotReady, +Partial, +Disconnected, +
+  Error +
+ }
 Status codes that may be returned by socket functions. More...
 
enum  { AnyPort = 0 + }
 Some special values used by sockets. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 UdpSocket ()
 Default constructor. More...
 
unsigned short getLocalPort () const
 Get the port to which the socket is bound locally. More...
 
Status bind (unsigned short port, const IpAddress &address=IpAddress::Any)
 Bind the socket to a specific port. More...
 
void unbind ()
 Unbind the socket from the local port to which it is bound. More...
 
Status send (const void *data, std::size_t size, const IpAddress &remoteAddress, unsigned short remotePort)
 Send raw data to a remote peer. More...
 
Status receive (void *data, std::size_t size, std::size_t &received, IpAddress &remoteAddress, unsigned short &remotePort)
 Receive raw data from a remote peer. More...
 
Status send (Packet &packet, const IpAddress &remoteAddress, unsigned short remotePort)
 Send a formatted packet of data to a remote peer. More...
 
Status receive (Packet &packet, IpAddress &remoteAddress, unsigned short &remotePort)
 Receive a formatted packet of data from a remote peer. More...
 
void setBlocking (bool blocking)
 Set the blocking state of the socket. More...
 
bool isBlocking () const
 Tell whether the socket is in blocking or non-blocking mode. More...
 
+ + + + +

+Protected Types

enum  Type { Tcp, +Udp + }
 Types of protocols that the socket can use. More...
 
+ + + + + + + + + + + + + +

+Protected Member Functions

SocketHandle getHandle () const
 Return the internal handle of the socket. More...
 
void create ()
 Create the internal representation of the socket. More...
 
void create (SocketHandle handle)
 Create the internal representation of the socket from a socket handle. More...
 
void close ()
 Close the socket gracefully. More...
 
+

Detailed Description

+

Specialized socket using the UDP protocol.

+

A UDP socket is a connectionless socket.

+

Instead of connecting once to a remote host, like TCP sockets, it can send to and receive from any host at any time.

+

It is a datagram protocol: bounded blocks of data (datagrams) are transfered over the network rather than a continuous stream of data (TCP). Therefore, one call to send will always match one call to receive (if the datagram is not lost), with the same data that was sent.

+

The UDP protocol is lightweight but unreliable. Unreliable means that datagrams may be duplicated, be lost or arrive reordered. However, if a datagram arrives, its data is guaranteed to be valid.

+

UDP is generally used for real-time communication (audio or video streaming, real-time games, etc.) where speed is crucial and lost data doesn't matter much.

+

Sending and receiving data can use either the low-level or the high-level functions. The low-level functions process a raw sequence of bytes, whereas the high-level interface uses packets (see sf::Packet), which are easier to use and provide more safety regarding the data that is exchanged. You can look at the sf::Packet class to get more details about how they work.

+

It is important to note that UdpSocket is unable to send datagrams bigger than MaxDatagramSize. In this case, it returns an error and doesn't send anything. This applies to both raw data and packets. Indeed, even packets are unable to split and recompose data, due to the unreliability of the protocol (dropped, mixed or duplicated datagrams may lead to a big mess when trying to recompose a packet).

+

If the socket is bound to a port, it is automatically unbound from it when the socket is destroyed. However, you can unbind the socket explicitly with the Unbind function if necessary, to stop receiving messages or make the port available for other sockets.

+

Usage example:

// ----- The client -----
// Create a socket and bind it to the port 55001
socket.bind(55001);
// Send a message to 192.168.1.50 on port 55002
std::string message = "Hi, I am " + sf::IpAddress::getLocalAddress().toString();
socket.send(message.c_str(), message.size() + 1, "192.168.1.50", 55002);
// Receive an answer (most likely from 192.168.1.50, but could be anyone else)
char buffer[1024];
std::size_t received = 0;
unsigned short port;
socket.receive(buffer, sizeof(buffer), received, sender, port);
std::cout << sender.ToString() << " said: " << buffer << std::endl;
// ----- The server -----
// Create a socket and bind it to the port 55002
socket.bind(55002);
// Receive a message from anyone
char buffer[1024];
std::size_t received = 0;
unsigned short port;
socket.receive(buffer, sizeof(buffer), received, sender, port);
std::cout << sender.ToString() << " said: " << buffer << std::endl;
// Send an answer
std::string message = "Welcome " + sender.toString();
socket.send(message.c_str(), message.size() + 1, sender, port);
See also
sf::Socket, sf::TcpSocket, sf::Packet
+ +

Definition at line 45 of file UdpSocket.hpp.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + + +
+ + + + +
anonymous enum
+
+inherited
+
+ +

Some special values used by sockets.

+ + +
Enumerator
AnyPort 

Special value that tells the system to pick any available port.

+
+ +

Definition at line 66 of file Socket.hpp.

+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ + +
Enumerator
MaxDatagramSize 

The maximum number of bytes that can be sent in a single UDP datagram.

+
+ +

Definition at line 52 of file UdpSocket.hpp.

+ +
+
+ +

◆ Status

+ +
+
+ + + + + +
+ + + + +
enum sf::Socket::Status
+
+inherited
+
+ +

Status codes that may be returned by socket functions.

+ + + + + + +
Enumerator
Done 

The socket has sent / received the data.

+
NotReady 

The socket is not ready to send / receive data yet.

+
Partial 

The socket sent a part of the data.

+
Disconnected 

The TCP socket has been disconnected.

+
Error 

An unexpected error happened.

+
+ +

Definition at line 53 of file Socket.hpp.

+ +
+
+ +

◆ Type

+ +
+
+ + + + + +
+ + + + +
enum sf::Socket::Type
+
+protectedinherited
+
+ +

Types of protocols that the socket can use.

+ + + +
Enumerator
Tcp 

TCP protocol.

+
Udp 

UDP protocol.

+
+ +

Definition at line 114 of file Socket.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ UdpSocket()

+ +
+
+ + + + + + + +
sf::UdpSocket::UdpSocket ()
+
+ +

Default constructor.

+ +
+
+

Member Function Documentation

+ +

◆ bind()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Status sf::UdpSocket::bind (unsigned short port,
const IpAddressaddress = IpAddress::Any 
)
+
+ +

Bind the socket to a specific port.

+

Binding the socket to a port is necessary for being able to receive data on that port. You can use the special value Socket::AnyPort to tell the system to automatically pick an available port, and then call getLocalPort to retrieve the chosen port.

+

Since the socket can only be bound to a single port at any given moment, if it is already bound when this function is called, it will be unbound from the previous port before being bound to the new one.

+
Parameters
+ + + +
portPort to bind the socket to
addressAddress of the interface to bind to
+
+
+
Returns
Status code
+
See also
unbind, getLocalPort
+ +
+
+ +

◆ close()

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Socket::close ()
+
+protectedinherited
+
+ +

Close the socket gracefully.

+

This function can only be accessed by derived classes.

+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
void sf::Socket::create ()
+
+protectedinherited
+
+ +

Create the internal representation of the socket.

+

This function can only be accessed by derived classes.

+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Socket::create (SocketHandle handle)
+
+protectedinherited
+
+ +

Create the internal representation of the socket from a socket handle.

+

This function can only be accessed by derived classes.

+
Parameters
+ + +
handleOS-specific handle of the socket to wrap
+
+
+ +
+
+ +

◆ getHandle()

+ +
+
+ + + + + +
+ + + + + + + +
SocketHandle sf::Socket::getHandle () const
+
+protectedinherited
+
+ +

Return the internal handle of the socket.

+

The returned handle may be invalid if the socket was not created yet (or already destroyed). This function can only be accessed by derived classes.

+
Returns
The internal (OS-specific) handle of the socket
+ +
+
+ +

◆ getLocalPort()

+ +
+
+ + + + + + + +
unsigned short sf::UdpSocket::getLocalPort () const
+
+ +

Get the port to which the socket is bound locally.

+

If the socket is not bound to a port, this function returns 0.

+
Returns
Port to which the socket is bound
+
See also
bind
+ +
+
+ +

◆ isBlocking()

+ +
+
+ + + + + +
+ + + + + + + +
bool sf::Socket::isBlocking () const
+
+inherited
+
+ +

Tell whether the socket is in blocking or non-blocking mode.

+
Returns
True if the socket is blocking, false otherwise
+
See also
setBlocking
+ +
+
+ +

◆ receive() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status sf::UdpSocket::receive (void * data,
std::size_t size,
std::size_t & received,
IpAddressremoteAddress,
unsigned short & remotePort 
)
+
+ +

Receive raw data from a remote peer.

+

In blocking mode, this function will wait until some bytes are actually received. Be careful to use a buffer which is large enough for the data that you intend to receive, if it is too small then an error will be returned and all the data will be lost.

+
Parameters
+ + + + + + +
dataPointer to the array to fill with the received bytes
sizeMaximum number of bytes that can be received
receivedThis variable is filled with the actual number of bytes received
remoteAddressAddress of the peer that sent the data
remotePortPort of the peer that sent the data
+
+
+
Returns
Status code
+
See also
send
+ +
+
+ +

◆ receive() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status sf::UdpSocket::receive (Packetpacket,
IpAddressremoteAddress,
unsigned short & remotePort 
)
+
+ +

Receive a formatted packet of data from a remote peer.

+

In blocking mode, this function will wait until the whole packet has been received.

+
Parameters
+ + + + +
packetPacket to fill with the received data
remoteAddressAddress of the peer that sent the data
remotePortPort of the peer that sent the data
+
+
+
Returns
Status code
+
See also
send
+ +
+
+ +

◆ send() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status sf::UdpSocket::send (const void * data,
std::size_t size,
const IpAddressremoteAddress,
unsigned short remotePort 
)
+
+ +

Send raw data to a remote peer.

+

Make sure that size is not greater than UdpSocket::MaxDatagramSize, otherwise this function will fail and no data will be sent.

+
Parameters
+ + + + + +
dataPointer to the sequence of bytes to send
sizeNumber of bytes to send
remoteAddressAddress of the receiver
remotePortPort of the receiver to send the data to
+
+
+
Returns
Status code
+
See also
receive
+ +
+
+ +

◆ send() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status sf::UdpSocket::send (Packetpacket,
const IpAddressremoteAddress,
unsigned short remotePort 
)
+
+ +

Send a formatted packet of data to a remote peer.

+

Make sure that the packet size is not greater than UdpSocket::MaxDatagramSize, otherwise this function will fail and no data will be sent.

+
Parameters
+ + + + +
packetPacket to send
remoteAddressAddress of the receiver
remotePortPort of the receiver to send the data to
+
+
+
Returns
Status code
+
See also
receive
+ +
+
+ +

◆ setBlocking()

+ +
+
+ + + + + +
+ + + + + + + + +
void sf::Socket::setBlocking (bool blocking)
+
+inherited
+
+ +

Set the blocking state of the socket.

+

In blocking mode, calls will not return until they have completed their task. For example, a call to Receive in blocking mode won't return until some data was actually received. In non-blocking mode, calls will always return immediately, using the return code to signal whether there was data available or not. By default, all sockets are blocking.

+
Parameters
+ + +
blockingTrue to set the socket as blocking, false for non-blocking
+
+
+
See also
isBlocking
+ +
+
+ +

◆ unbind()

+ +
+
+ + + + + + + +
void sf::UdpSocket::unbind ()
+
+ +

Unbind the socket from the local port to which it is bound.

+

The port that the socket was previously bound to is immediately made available to the operating system after this function is called. This means that a subsequent call to bind() will be able to re-bind the port if no other process has done so in the mean time. If the socket is not bound to a port, this function has no effect.

+
See also
bind
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1UdpSocket.png b/SFML/doc/html/classsf_1_1UdpSocket.png new file mode 100644 index 0000000..1d089ed Binary files /dev/null and b/SFML/doc/html/classsf_1_1UdpSocket.png differ diff --git a/SFML/doc/html/classsf_1_1Utf.html b/SFML/doc/html/classsf_1_1Utf.html new file mode 100644 index 0000000..8726321 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Utf.html @@ -0,0 +1,80 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Utf< N > Class Template Reference
+
+
+ +

Utility class providing generic functions for UTF conversions. + More...

+ +

#include <Utf.hpp>

+

Detailed Description

+

template<unsigned int N>
+class sf::Utf< N >

+ +

Utility class providing generic functions for UTF conversions.

+

sf::Utf is a low-level, generic interface for counting, iterating, encoding and decoding Unicode characters and strings. It is able to handle ANSI, wide, latin-1, UTF-8, UTF-16 and UTF-32 encodings.

+

sf::Utf<X> functions are all static, these classes are not meant to be instantiated. All the functions are template, so that you can use any character / string type for a given encoding.

+

It has 3 specializations:

+ +

Definition at line 41 of file Utf.hpp.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Utf_3_0116_01_4-members.html b/SFML/doc/html/classsf_1_1Utf_3_0116_01_4-members.html new file mode 100644 index 0000000..fcbd952 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Utf_3_0116_01_4-members.html @@ -0,0 +1,74 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Utf< 16 > Member List
+
+
+ +

This is the complete list of members for sf::Utf< 16 >, including all inherited members.

+ + + + + + + + + + + + + + +
count(In begin, In end)sf::Utf< 16 >static
decode(In begin, In end, Uint32 &output, Uint32 replacement=0)sf::Utf< 16 >static
encode(Uint32 input, Out output, Uint16 replacement=0)sf::Utf< 16 >static
fromAnsi(In begin, In end, Out output, const std::locale &locale=std::locale())sf::Utf< 16 >static
fromLatin1(In begin, In end, Out output)sf::Utf< 16 >static
fromWide(In begin, In end, Out output)sf::Utf< 16 >static
next(In begin, In end)sf::Utf< 16 >static
toAnsi(In begin, In end, Out output, char replacement=0, const std::locale &locale=std::locale())sf::Utf< 16 >static
toLatin1(In begin, In end, Out output, char replacement=0)sf::Utf< 16 >static
toUtf16(In begin, In end, Out output)sf::Utf< 16 >static
toUtf32(In begin, In end, Out output)sf::Utf< 16 >static
toUtf8(In begin, In end, Out output)sf::Utf< 16 >static
toWide(In begin, In end, Out output, wchar_t replacement=0)sf::Utf< 16 >static
+ + + + diff --git a/SFML/doc/html/classsf_1_1Utf_3_0116_01_4.html b/SFML/doc/html/classsf_1_1Utf_3_0116_01_4.html new file mode 100644 index 0000000..07bffa8 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Utf_3_0116_01_4.html @@ -0,0 +1,883 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Utf< 16 > Class Template Reference
+
+
+ +

Specialization of the Utf template for UTF-16. + More...

+ +

#include <Utf.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

template<typename In >
static In decode (In begin, In end, Uint32 &output, Uint32 replacement=0)
 Decode a single UTF-16 character. More...
 
template<typename Out >
static Out encode (Uint32 input, Out output, Uint16 replacement=0)
 Encode a single UTF-16 character. More...
 
template<typename In >
static In next (In begin, In end)
 Advance to the next UTF-16 character. More...
 
template<typename In >
static std::size_t count (In begin, In end)
 Count the number of characters of a UTF-16 sequence. More...
 
template<typename In , typename Out >
static Out fromAnsi (In begin, In end, Out output, const std::locale &locale=std::locale())
 Convert an ANSI characters range to UTF-16. More...
 
template<typename In , typename Out >
static Out fromWide (In begin, In end, Out output)
 Convert a wide characters range to UTF-16. More...
 
template<typename In , typename Out >
static Out fromLatin1 (In begin, In end, Out output)
 Convert a latin-1 (ISO-5589-1) characters range to UTF-16. More...
 
template<typename In , typename Out >
static Out toAnsi (In begin, In end, Out output, char replacement=0, const std::locale &locale=std::locale())
 Convert an UTF-16 characters range to ANSI characters. More...
 
template<typename In , typename Out >
static Out toWide (In begin, In end, Out output, wchar_t replacement=0)
 Convert an UTF-16 characters range to wide characters. More...
 
template<typename In , typename Out >
static Out toLatin1 (In begin, In end, Out output, char replacement=0)
 Convert an UTF-16 characters range to latin-1 (ISO-5589-1) characters. More...
 
template<typename In , typename Out >
static Out toUtf8 (In begin, In end, Out output)
 Convert a UTF-16 characters range to UTF-8. More...
 
template<typename In , typename Out >
static Out toUtf16 (In begin, In end, Out output)
 Convert a UTF-16 characters range to UTF-16. More...
 
template<typename In , typename Out >
static Out toUtf32 (In begin, In end, Out output)
 Convert a UTF-16 characters range to UTF-32. More...
 
+

Detailed Description

+

template<>
+class sf::Utf< 16 >

+ +

Specialization of the Utf template for UTF-16.

+ +

Definition at line 255 of file Utf.hpp.

+

Member Function Documentation

+ +

◆ count()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static std::size_t sf::Utf< 16 >::count (In begin,
In end 
)
+
+static
+
+ +

Count the number of characters of a UTF-16 sequence.

+

This function is necessary for multi-elements encodings, as a single character may use more than 1 storage element, thus the total size can be different from (begin - end).

+
Parameters
+ + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ decode()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static In sf::Utf< 16 >::decode (In begin,
In end,
Uint32 & output,
Uint32 replacement = 0 
)
+
+static
+
+ +

Decode a single UTF-16 character.

+

Decoding a character means finding its unique 32-bits code (called the codepoint) in the Unicode standard.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputCodepoint of the decoded UTF-16 character
replacementReplacement character to use in case the UTF-8 sequence is invalid
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ encode()

+ +
+
+
+template<typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::encode (Uint32 input,
Out output,
Uint16 replacement = 0 
)
+
+static
+
+ +

Encode a single UTF-16 character.

+

Encoding a character means converting a unique 32-bits code (called the codepoint) in the target encoding, UTF-16.

+
Parameters
+ + + + +
inputCodepoint to encode as UTF-16
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to UTF-16 (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromAnsi()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::fromAnsi (In begin,
In end,
Out output,
const std::locale & locale = std::locale() 
)
+
+static
+
+ +

Convert an ANSI characters range to UTF-16.

+

The current global locale will be used by default, unless you pass a custom one in the locale parameter.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
localeLocale to use for conversion
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromLatin1()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::fromLatin1 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a latin-1 (ISO-5589-1) characters range to UTF-16.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromWide()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::fromWide (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a wide characters range to UTF-16.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ next()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static In sf::Utf< 16 >::next (In begin,
In end 
)
+
+static
+
+ +

Advance to the next UTF-16 character.

+

This function is necessary for multi-elements encodings, as a single character may use more than 1 storage element.

+
Parameters
+ + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ toAnsi()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::toAnsi (In begin,
In end,
Out output,
char replacement = 0,
const std::locale & locale = std::locale() 
)
+
+static
+
+ +

Convert an UTF-16 characters range to ANSI characters.

+

The current global locale will be used by default, unless you pass a custom one in the locale parameter.

+
Parameters
+ + + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to ANSI (use 0 to skip them)
localeLocale to use for conversion
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toLatin1()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::toLatin1 (In begin,
In end,
Out output,
char replacement = 0 
)
+
+static
+
+ +

Convert an UTF-16 characters range to latin-1 (ISO-5589-1) characters.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to wide (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf16()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::toUtf16 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-16 characters range to UTF-16.

+

This functions does nothing more than a direct copy; it is defined only to provide the same interface as other specializations of the sf::Utf<> template, and allow generic code to be written on top of it.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf32()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::toUtf32 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-16 characters range to UTF-32.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf8()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::toUtf8 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-16 characters range to UTF-8.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toWide()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 16 >::toWide (In begin,
In end,
Out output,
wchar_t replacement = 0 
)
+
+static
+
+ +

Convert an UTF-16 characters range to wide characters.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to wide (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Utf_3_0132_01_4-members.html b/SFML/doc/html/classsf_1_1Utf_3_0132_01_4-members.html new file mode 100644 index 0000000..fd8e1b8 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Utf_3_0132_01_4-members.html @@ -0,0 +1,78 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Utf< 32 > Member List
+
+
+ +

This is the complete list of members for sf::Utf< 32 >, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
count(In begin, In end)sf::Utf< 32 >static
decode(In begin, In end, Uint32 &output, Uint32 replacement=0)sf::Utf< 32 >static
decodeAnsi(In input, const std::locale &locale=std::locale())sf::Utf< 32 >static
decodeWide(In input)sf::Utf< 32 >static
encode(Uint32 input, Out output, Uint32 replacement=0)sf::Utf< 32 >static
encodeAnsi(Uint32 codepoint, Out output, char replacement=0, const std::locale &locale=std::locale())sf::Utf< 32 >static
encodeWide(Uint32 codepoint, Out output, wchar_t replacement=0)sf::Utf< 32 >static
fromAnsi(In begin, In end, Out output, const std::locale &locale=std::locale())sf::Utf< 32 >static
fromLatin1(In begin, In end, Out output)sf::Utf< 32 >static
fromWide(In begin, In end, Out output)sf::Utf< 32 >static
next(In begin, In end)sf::Utf< 32 >static
toAnsi(In begin, In end, Out output, char replacement=0, const std::locale &locale=std::locale())sf::Utf< 32 >static
toLatin1(In begin, In end, Out output, char replacement=0)sf::Utf< 32 >static
toUtf16(In begin, In end, Out output)sf::Utf< 32 >static
toUtf32(In begin, In end, Out output)sf::Utf< 32 >static
toUtf8(In begin, In end, Out output)sf::Utf< 32 >static
toWide(In begin, In end, Out output, wchar_t replacement=0)sf::Utf< 32 >static
+ + + + diff --git a/SFML/doc/html/classsf_1_1Utf_3_0132_01_4.html b/SFML/doc/html/classsf_1_1Utf_3_0132_01_4.html new file mode 100644 index 0000000..22a9df1 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Utf_3_0132_01_4.html @@ -0,0 +1,1105 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Utf< 32 > Class Template Reference
+
+
+ +

Specialization of the Utf template for UTF-32. + More...

+ +

#include <Utf.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

template<typename In >
static In decode (In begin, In end, Uint32 &output, Uint32 replacement=0)
 Decode a single UTF-32 character. More...
 
template<typename Out >
static Out encode (Uint32 input, Out output, Uint32 replacement=0)
 Encode a single UTF-32 character. More...
 
template<typename In >
static In next (In begin, In end)
 Advance to the next UTF-32 character. More...
 
template<typename In >
static std::size_t count (In begin, In end)
 Count the number of characters of a UTF-32 sequence. More...
 
template<typename In , typename Out >
static Out fromAnsi (In begin, In end, Out output, const std::locale &locale=std::locale())
 Convert an ANSI characters range to UTF-32. More...
 
template<typename In , typename Out >
static Out fromWide (In begin, In end, Out output)
 Convert a wide characters range to UTF-32. More...
 
template<typename In , typename Out >
static Out fromLatin1 (In begin, In end, Out output)
 Convert a latin-1 (ISO-5589-1) characters range to UTF-32. More...
 
template<typename In , typename Out >
static Out toAnsi (In begin, In end, Out output, char replacement=0, const std::locale &locale=std::locale())
 Convert an UTF-32 characters range to ANSI characters. More...
 
template<typename In , typename Out >
static Out toWide (In begin, In end, Out output, wchar_t replacement=0)
 Convert an UTF-32 characters range to wide characters. More...
 
template<typename In , typename Out >
static Out toLatin1 (In begin, In end, Out output, char replacement=0)
 Convert an UTF-16 characters range to latin-1 (ISO-5589-1) characters. More...
 
template<typename In , typename Out >
static Out toUtf8 (In begin, In end, Out output)
 Convert a UTF-32 characters range to UTF-8. More...
 
template<typename In , typename Out >
static Out toUtf16 (In begin, In end, Out output)
 Convert a UTF-32 characters range to UTF-16. More...
 
template<typename In , typename Out >
static Out toUtf32 (In begin, In end, Out output)
 Convert a UTF-32 characters range to UTF-32. More...
 
template<typename In >
static Uint32 decodeAnsi (In input, const std::locale &locale=std::locale())
 Decode a single ANSI character to UTF-32. More...
 
template<typename In >
static Uint32 decodeWide (In input)
 Decode a single wide character to UTF-32. More...
 
template<typename Out >
static Out encodeAnsi (Uint32 codepoint, Out output, char replacement=0, const std::locale &locale=std::locale())
 Encode a single UTF-32 character to ANSI. More...
 
template<typename Out >
static Out encodeWide (Uint32 codepoint, Out output, wchar_t replacement=0)
 Encode a single UTF-32 character to wide. More...
 
+

Detailed Description

+

template<>
+class sf::Utf< 32 >

+ +

Specialization of the Utf template for UTF-32.

+ +

Definition at line 462 of file Utf.hpp.

+

Member Function Documentation

+ +

◆ count()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static std::size_t sf::Utf< 32 >::count (In begin,
In end 
)
+
+static
+
+ +

Count the number of characters of a UTF-32 sequence.

+

This function is trivial for UTF-32, which can store every character in a single storage element.

+
Parameters
+ + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ decode()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static In sf::Utf< 32 >::decode (In begin,
In end,
Uint32 & output,
Uint32 replacement = 0 
)
+
+static
+
+ +

Decode a single UTF-32 character.

+

Decoding a character means finding its unique 32-bits code (called the codepoint) in the Unicode standard. For UTF-32, the character value is the same as the codepoint.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputCodepoint of the decoded UTF-32 character
replacementReplacement character to use in case the UTF-8 sequence is invalid
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ decodeAnsi()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Uint32 sf::Utf< 32 >::decodeAnsi (In input,
const std::locale & locale = std::locale() 
)
+
+static
+
+ +

Decode a single ANSI character to UTF-32.

+

This function does not exist in other specializations of sf::Utf<>, it is defined for convenience (it is used by several other conversion functions).

+
Parameters
+ + + +
inputInput ANSI character
localeLocale to use for conversion
+
+
+
Returns
Converted character
+ +
+
+ +

◆ decodeWide()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + +
static Uint32 sf::Utf< 32 >::decodeWide (In input)
+
+static
+
+ +

Decode a single wide character to UTF-32.

+

This function does not exist in other specializations of sf::Utf<>, it is defined for convenience (it is used by several other conversion functions).

+
Parameters
+ + +
inputInput wide character
+
+
+
Returns
Converted character
+ +
+
+ +

◆ encode()

+ +
+
+
+template<typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::encode (Uint32 input,
Out output,
Uint32 replacement = 0 
)
+
+static
+
+ +

Encode a single UTF-32 character.

+

Encoding a character means converting a unique 32-bits code (called the codepoint) in the target encoding, UTF-32. For UTF-32, the codepoint is the same as the character value.

+
Parameters
+ + + + +
inputCodepoint to encode as UTF-32
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to UTF-32 (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ encodeAnsi()

+ +
+
+
+template<typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::encodeAnsi (Uint32 codepoint,
Out output,
char replacement = 0,
const std::locale & locale = std::locale() 
)
+
+static
+
+ +

Encode a single UTF-32 character to ANSI.

+

This function does not exist in other specializations of sf::Utf<>, it is defined for convenience (it is used by several other conversion functions).

+
Parameters
+ + + + + +
codepointIterator pointing to the beginning of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement if the input character is not convertible to ANSI (use 0 to skip it)
localeLocale to use for conversion
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ encodeWide()

+ +
+
+
+template<typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::encodeWide (Uint32 codepoint,
Out output,
wchar_t replacement = 0 
)
+
+static
+
+ +

Encode a single UTF-32 character to wide.

+

This function does not exist in other specializations of sf::Utf<>, it is defined for convenience (it is used by several other conversion functions).

+
Parameters
+ + + + +
codepointIterator pointing to the beginning of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement if the input character is not convertible to wide (use 0 to skip it)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromAnsi()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::fromAnsi (In begin,
In end,
Out output,
const std::locale & locale = std::locale() 
)
+
+static
+
+ +

Convert an ANSI characters range to UTF-32.

+

The current global locale will be used by default, unless you pass a custom one in the locale parameter.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
localeLocale to use for conversion
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromLatin1()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::fromLatin1 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a latin-1 (ISO-5589-1) characters range to UTF-32.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromWide()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::fromWide (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a wide characters range to UTF-32.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ next()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static In sf::Utf< 32 >::next (In begin,
In end 
)
+
+static
+
+ +

Advance to the next UTF-32 character.

+

This function is trivial for UTF-32, which can store every character in a single storage element.

+
Parameters
+ + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ toAnsi()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::toAnsi (In begin,
In end,
Out output,
char replacement = 0,
const std::locale & locale = std::locale() 
)
+
+static
+
+ +

Convert an UTF-32 characters range to ANSI characters.

+

The current global locale will be used by default, unless you pass a custom one in the locale parameter.

+
Parameters
+ + + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to ANSI (use 0 to skip them)
localeLocale to use for conversion
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toLatin1()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::toLatin1 (In begin,
In end,
Out output,
char replacement = 0 
)
+
+static
+
+ +

Convert an UTF-16 characters range to latin-1 (ISO-5589-1) characters.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to wide (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf16()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::toUtf16 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-32 characters range to UTF-16.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf32()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::toUtf32 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-32 characters range to UTF-32.

+

This functions does nothing more than a direct copy; it is defined only to provide the same interface as other specializations of the sf::Utf<> template, and allow generic code to be written on top of it.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf8()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::toUtf8 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-32 characters range to UTF-8.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toWide()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 32 >::toWide (In begin,
In end,
Out output,
wchar_t replacement = 0 
)
+
+static
+
+ +

Convert an UTF-32 characters range to wide characters.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to wide (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Utf_3_018_01_4-members.html b/SFML/doc/html/classsf_1_1Utf_3_018_01_4-members.html new file mode 100644 index 0000000..c974de7 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Utf_3_018_01_4-members.html @@ -0,0 +1,74 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Utf< 8 > Member List
+
+
+ +

This is the complete list of members for sf::Utf< 8 >, including all inherited members.

+ + + + + + + + + + + + + + +
count(In begin, In end)sf::Utf< 8 >static
decode(In begin, In end, Uint32 &output, Uint32 replacement=0)sf::Utf< 8 >static
encode(Uint32 input, Out output, Uint8 replacement=0)sf::Utf< 8 >static
fromAnsi(In begin, In end, Out output, const std::locale &locale=std::locale())sf::Utf< 8 >static
fromLatin1(In begin, In end, Out output)sf::Utf< 8 >static
fromWide(In begin, In end, Out output)sf::Utf< 8 >static
next(In begin, In end)sf::Utf< 8 >static
toAnsi(In begin, In end, Out output, char replacement=0, const std::locale &locale=std::locale())sf::Utf< 8 >static
toLatin1(In begin, In end, Out output, char replacement=0)sf::Utf< 8 >static
toUtf16(In begin, In end, Out output)sf::Utf< 8 >static
toUtf32(In begin, In end, Out output)sf::Utf< 8 >static
toUtf8(In begin, In end, Out output)sf::Utf< 8 >static
toWide(In begin, In end, Out output, wchar_t replacement=0)sf::Utf< 8 >static
+ + + + diff --git a/SFML/doc/html/classsf_1_1Utf_3_018_01_4.html b/SFML/doc/html/classsf_1_1Utf_3_018_01_4.html new file mode 100644 index 0000000..1e751d4 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Utf_3_018_01_4.html @@ -0,0 +1,883 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Utf< 8 > Class Template Reference
+
+
+ +

Specialization of the Utf template for UTF-8. + More...

+ +

#include <Utf.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

template<typename In >
static In decode (In begin, In end, Uint32 &output, Uint32 replacement=0)
 Decode a single UTF-8 character. More...
 
template<typename Out >
static Out encode (Uint32 input, Out output, Uint8 replacement=0)
 Encode a single UTF-8 character. More...
 
template<typename In >
static In next (In begin, In end)
 Advance to the next UTF-8 character. More...
 
template<typename In >
static std::size_t count (In begin, In end)
 Count the number of characters of a UTF-8 sequence. More...
 
template<typename In , typename Out >
static Out fromAnsi (In begin, In end, Out output, const std::locale &locale=std::locale())
 Convert an ANSI characters range to UTF-8. More...
 
template<typename In , typename Out >
static Out fromWide (In begin, In end, Out output)
 Convert a wide characters range to UTF-8. More...
 
template<typename In , typename Out >
static Out fromLatin1 (In begin, In end, Out output)
 Convert a latin-1 (ISO-5589-1) characters range to UTF-8. More...
 
template<typename In , typename Out >
static Out toAnsi (In begin, In end, Out output, char replacement=0, const std::locale &locale=std::locale())
 Convert an UTF-8 characters range to ANSI characters. More...
 
template<typename In , typename Out >
static Out toWide (In begin, In end, Out output, wchar_t replacement=0)
 Convert an UTF-8 characters range to wide characters. More...
 
template<typename In , typename Out >
static Out toLatin1 (In begin, In end, Out output, char replacement=0)
 Convert an UTF-8 characters range to latin-1 (ISO-5589-1) characters. More...
 
template<typename In , typename Out >
static Out toUtf8 (In begin, In end, Out output)
 Convert a UTF-8 characters range to UTF-8. More...
 
template<typename In , typename Out >
static Out toUtf16 (In begin, In end, Out output)
 Convert a UTF-8 characters range to UTF-16. More...
 
template<typename In , typename Out >
static Out toUtf32 (In begin, In end, Out output)
 Convert a UTF-8 characters range to UTF-32. More...
 
+

Detailed Description

+

template<>
+class sf::Utf< 8 >

+ +

Specialization of the Utf template for UTF-8.

+ +

Definition at line 48 of file Utf.hpp.

+

Member Function Documentation

+ +

◆ count()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static std::size_t sf::Utf< 8 >::count (In begin,
In end 
)
+
+static
+
+ +

Count the number of characters of a UTF-8 sequence.

+

This function is necessary for multi-elements encodings, as a single character may use more than 1 storage element, thus the total size can be different from (begin - end).

+
Parameters
+ + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ decode()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static In sf::Utf< 8 >::decode (In begin,
In end,
Uint32 & output,
Uint32 replacement = 0 
)
+
+static
+
+ +

Decode a single UTF-8 character.

+

Decoding a character means finding its unique 32-bits code (called the codepoint) in the Unicode standard.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputCodepoint of the decoded UTF-8 character
replacementReplacement character to use in case the UTF-8 sequence is invalid
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ encode()

+ +
+
+
+template<typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::encode (Uint32 input,
Out output,
Uint8 replacement = 0 
)
+
+static
+
+ +

Encode a single UTF-8 character.

+

Encoding a character means converting a unique 32-bits code (called the codepoint) in the target encoding, UTF-8.

+
Parameters
+ + + + +
inputCodepoint to encode as UTF-8
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to UTF-8 (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromAnsi()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::fromAnsi (In begin,
In end,
Out output,
const std::locale & locale = std::locale() 
)
+
+static
+
+ +

Convert an ANSI characters range to UTF-8.

+

The current global locale will be used by default, unless you pass a custom one in the locale parameter.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
localeLocale to use for conversion
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromLatin1()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::fromLatin1 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a latin-1 (ISO-5589-1) characters range to UTF-8.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ fromWide()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::fromWide (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a wide characters range to UTF-8.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ next()

+ +
+
+
+template<typename In >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static In sf::Utf< 8 >::next (In begin,
In end 
)
+
+static
+
+ +

Advance to the next UTF-8 character.

+

This function is necessary for multi-elements encodings, as a single character may use more than 1 storage element.

+
Parameters
+ + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
+
+
+
Returns
Iterator pointing to one past the last read element of the input sequence
+ +
+
+ +

◆ toAnsi()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::toAnsi (In begin,
In end,
Out output,
char replacement = 0,
const std::locale & locale = std::locale() 
)
+
+static
+
+ +

Convert an UTF-8 characters range to ANSI characters.

+

The current global locale will be used by default, unless you pass a custom one in the locale parameter.

+
Parameters
+ + + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to ANSI (use 0 to skip them)
localeLocale to use for conversion
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toLatin1()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::toLatin1 (In begin,
In end,
Out output,
char replacement = 0 
)
+
+static
+
+ +

Convert an UTF-8 characters range to latin-1 (ISO-5589-1) characters.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to wide (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf16()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::toUtf16 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-8 characters range to UTF-16.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf32()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::toUtf32 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-8 characters range to UTF-32.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toUtf8()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::toUtf8 (In begin,
In end,
Out output 
)
+
+static
+
+ +

Convert a UTF-8 characters range to UTF-8.

+

This functions does nothing more than a direct copy; it is defined only to provide the same interface as other specializations of the sf::Utf<> template, and allow generic code to be written on top of it.

+
Parameters
+ + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+ +

◆ toWide()

+ +
+
+
+template<typename In , typename Out >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static Out sf::Utf< 8 >::toWide (In begin,
In end,
Out output,
wchar_t replacement = 0 
)
+
+static
+
+ +

Convert an UTF-8 characters range to wide characters.

+
Parameters
+ + + + + +
beginIterator pointing to the beginning of the input sequence
endIterator pointing to the end of the input sequence
outputIterator pointing to the beginning of the output sequence
replacementReplacement for characters not convertible to wide (use 0 to skip them)
+
+
+
Returns
Iterator to the end of the output sequence which has been written
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Vector2-members.html b/SFML/doc/html/classsf_1_1Vector2-members.html new file mode 100644 index 0000000..d2b9a73 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Vector2-members.html @@ -0,0 +1,78 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Vector2< T > Member List
+
+
+ +

This is the complete list of members for sf::Vector2< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
operator!=(const Vector2< T > &left, const Vector2< T > &right)sf::Vector2< T >related
operator*(const Vector2< T > &left, T right)sf::Vector2< T >related
operator*(T left, const Vector2< T > &right)sf::Vector2< T >related
operator*=(Vector2< T > &left, T right)sf::Vector2< T >related
operator+(const Vector2< T > &left, const Vector2< T > &right)sf::Vector2< T >related
operator+=(Vector2< T > &left, const Vector2< T > &right)sf::Vector2< T >related
operator-(const Vector2< T > &right)sf::Vector2< T >related
operator-(const Vector2< T > &left, const Vector2< T > &right)sf::Vector2< T >related
operator-=(Vector2< T > &left, const Vector2< T > &right)sf::Vector2< T >related
operator/(const Vector2< T > &left, T right)sf::Vector2< T >related
operator/=(Vector2< T > &left, T right)sf::Vector2< T >related
operator==(const Vector2< T > &left, const Vector2< T > &right)sf::Vector2< T >related
Vector2()sf::Vector2< T >
Vector2(T X, T Y)sf::Vector2< T >
Vector2(const Vector2< U > &vector)sf::Vector2< T >explicit
xsf::Vector2< T >
ysf::Vector2< T >
+ + + + diff --git a/SFML/doc/html/classsf_1_1Vector2.html b/SFML/doc/html/classsf_1_1Vector2.html new file mode 100644 index 0000000..c866b31 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Vector2.html @@ -0,0 +1,878 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Vector2< T > Class Template Reference
+
+
+ +

Utility template class for manipulating 2-dimensional vectors. + More...

+ +

#include <Vector2.hpp>

+ + + + + + + + + + + + +

+Public Member Functions

 Vector2 ()
 Default constructor. More...
 
 Vector2 (T X, T Y)
 Construct the vector from its coordinates. More...
 
template<typename U >
 Vector2 (const Vector2< U > &vector)
 Construct the vector from another type of vector. More...
 
+ + + + + + + +

+Public Attributes

x
 X coordinate of the vector. More...
 
y
 Y coordinate of the vector. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
template<typename T >
Vector2< T > operator- (const Vector2< T > &right)
 Overload of unary operator -. More...
 
template<typename T >
Vector2< T > & operator+= (Vector2< T > &left, const Vector2< T > &right)
 Overload of binary operator +=. More...
 
template<typename T >
Vector2< T > & operator-= (Vector2< T > &left, const Vector2< T > &right)
 Overload of binary operator -=. More...
 
template<typename T >
Vector2< T > operator+ (const Vector2< T > &left, const Vector2< T > &right)
 Overload of binary operator +. More...
 
template<typename T >
Vector2< T > operator- (const Vector2< T > &left, const Vector2< T > &right)
 Overload of binary operator -. More...
 
template<typename T >
Vector2< T > operator* (const Vector2< T > &left, T right)
 Overload of binary operator *. More...
 
template<typename T >
Vector2< T > operator* (T left, const Vector2< T > &right)
 Overload of binary operator *. More...
 
template<typename T >
Vector2< T > & operator*= (Vector2< T > &left, T right)
 Overload of binary operator *=. More...
 
template<typename T >
Vector2< T > operator/ (const Vector2< T > &left, T right)
 Overload of binary operator /. More...
 
template<typename T >
Vector2< T > & operator/= (Vector2< T > &left, T right)
 Overload of binary operator /=. More...
 
template<typename T >
bool operator== (const Vector2< T > &left, const Vector2< T > &right)
 Overload of binary operator ==. More...
 
template<typename T >
bool operator!= (const Vector2< T > &left, const Vector2< T > &right)
 Overload of binary operator !=. More...
 
+

Detailed Description

+

template<typename T>
+class sf::Vector2< T >

+ +

Utility template class for manipulating 2-dimensional vectors.

+

sf::Vector2 is a simple class that defines a mathematical vector with two coordinates (x and y).

+

It can be used to represent anything that has two dimensions: a size, a point, a velocity, etc.

+

The template parameter T is the type of the coordinates. It can be any type that supports arithmetic operations (+, -, /, *) and comparisons (==, !=), for example int or float.

+

You generally don't have to care about the templated form (sf::Vector2<T>), the most common specializations have special typedefs:

    +
  • sf::Vector2<float> is sf::Vector2f
  • +
  • sf::Vector2<int> is sf::Vector2i
  • +
  • sf::Vector2<unsigned int> is sf::Vector2u
  • +
+

The sf::Vector2 class has a small and simple interface, its x and y members can be accessed directly (there are no accessors like setX(), getX()) and it contains no mathematical function like dot product, cross product, length, etc.

+

Usage example:

sf::Vector2f v1(16.5f, 24.f);
v1.x = 18.2f;
float y = v1.y;
sf::Vector2f v2 = v1 * 5.f;
v3 = v1 + v2;
bool different = (v2 != v3);

Note: for 3-dimensional vectors, see sf::Vector3.

+ +

Definition at line 37 of file Vector2.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Vector2() [1/3]

+ +
+
+
+template<typename T>
+ + + + + + + +
sf::Vector2< T >::Vector2 ()
+
+ +

Default constructor.

+

Creates a Vector2(0, 0).

+ +
+
+ +

◆ Vector2() [2/3]

+ +
+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + +
sf::Vector2< T >::Vector2 (X,
Y 
)
+
+ +

Construct the vector from its coordinates.

+
Parameters
+ + + +
XX coordinate
YY coordinate
+
+
+ +
+
+ +

◆ Vector2() [3/3]

+ +
+
+
+template<typename T>
+
+template<typename U >
+ + + + + +
+ + + + + + + + +
sf::Vector2< T >::Vector2 (const Vector2< U > & vector)
+
+explicit
+
+ +

Construct the vector from another type of vector.

+

This constructor doesn't replace the copy constructor, it's called only when U != T. A call to this constructor will fail to compile if U is not convertible to T.

+
Parameters
+ + +
vectorVector to convert
+
+
+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator!=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const Vector2< T > & left,
const Vector2< T > & right 
)
+
+related
+
+ +

Overload of binary operator !=.

+

This operator compares strict difference between two vectors.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
True if left is not equal to right
+ +
+
+ +

◆ operator*() [1/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > operator* (const Vector2< T > & left,
right 
)
+
+related
+
+ +

Overload of binary operator *.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a scalar value)
+
+
+
Returns
Memberwise multiplication by right
+ +
+
+ +

◆ operator*() [2/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > operator* (left,
const Vector2< T > & right 
)
+
+related
+
+ +

Overload of binary operator *.

+
Parameters
+ + + +
leftLeft operand (a scalar value)
rightRight operand (a vector)
+
+
+
Returns
Memberwise multiplication by left
+ +
+
+ +

◆ operator*=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > & operator*= (Vector2< T > & left,
right 
)
+
+related
+
+ +

Overload of binary operator *=.

+

This operator performs a memberwise multiplication by right, and assigns the result to left.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a scalar value)
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator+()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > operator+ (const Vector2< T > & left,
const Vector2< T > & right 
)
+
+related
+
+ +

Overload of binary operator +.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
Memberwise addition of both vectors
+ +
+
+ +

◆ operator+=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > & operator+= (Vector2< T > & left,
const Vector2< T > & right 
)
+
+related
+
+ +

Overload of binary operator +=.

+

This operator performs a memberwise addition of both vectors, and assigns the result to left.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator-() [1/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
Vector2< T > operator- (const Vector2< T > & right)
+
+related
+
+ +

Overload of unary operator -.

+
Parameters
+ + +
rightVector to negate
+
+
+
Returns
Memberwise opposite of the vector
+ +
+
+ +

◆ operator-() [2/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > operator- (const Vector2< T > & left,
const Vector2< T > & right 
)
+
+related
+
+ +

Overload of binary operator -.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
Memberwise subtraction of both vectors
+ +
+
+ +

◆ operator-=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > & operator-= (Vector2< T > & left,
const Vector2< T > & right 
)
+
+related
+
+ +

Overload of binary operator -=.

+

This operator performs a memberwise subtraction of both vectors, and assigns the result to left.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator/()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > operator/ (const Vector2< T > & left,
right 
)
+
+related
+
+ +

Overload of binary operator /.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a scalar value)
+
+
+
Returns
Memberwise division by right
+ +
+
+ +

◆ operator/=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector2< T > & operator/= (Vector2< T > & left,
right 
)
+
+related
+
+ +

Overload of binary operator /=.

+

This operator performs a memberwise division by right, and assigns the result to left.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a scalar value)
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator==()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const Vector2< T > & left,
const Vector2< T > & right 
)
+
+related
+
+ +

Overload of binary operator ==.

+

This operator compares strict equality between two vectors.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
True if left is equal to right
+ +
+
+

Member Data Documentation

+ +

◆ x

+ +
+
+
+template<typename T>
+ + + + +
T sf::Vector2< T >::x
+
+ +

X coordinate of the vector.

+ +

Definition at line 75 of file Vector2.hpp.

+ +
+
+ +

◆ y

+ +
+
+
+template<typename T>
+ + + + +
T sf::Vector2< T >::y
+
+ +

Y coordinate of the vector.

+ +

Definition at line 76 of file Vector2.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Vector3-members.html b/SFML/doc/html/classsf_1_1Vector3-members.html new file mode 100644 index 0000000..3b25ece --- /dev/null +++ b/SFML/doc/html/classsf_1_1Vector3-members.html @@ -0,0 +1,79 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Vector3< T > Member List
+
+
+ +

This is the complete list of members for sf::Vector3< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
operator!=(const Vector3< T > &left, const Vector3< T > &right)sf::Vector3< T >related
operator*(const Vector3< T > &left, T right)sf::Vector3< T >related
operator*(T left, const Vector3< T > &right)sf::Vector3< T >related
operator*=(Vector3< T > &left, T right)sf::Vector3< T >related
operator+(const Vector3< T > &left, const Vector3< T > &right)sf::Vector3< T >related
operator+=(Vector3< T > &left, const Vector3< T > &right)sf::Vector3< T >related
operator-(const Vector3< T > &left)sf::Vector3< T >related
operator-(const Vector3< T > &left, const Vector3< T > &right)sf::Vector3< T >related
operator-=(Vector3< T > &left, const Vector3< T > &right)sf::Vector3< T >related
operator/(const Vector3< T > &left, T right)sf::Vector3< T >related
operator/=(Vector3< T > &left, T right)sf::Vector3< T >related
operator==(const Vector3< T > &left, const Vector3< T > &right)sf::Vector3< T >related
Vector3()sf::Vector3< T >
Vector3(T X, T Y, T Z)sf::Vector3< T >
Vector3(const Vector3< U > &vector)sf::Vector3< T >explicit
xsf::Vector3< T >
ysf::Vector3< T >
zsf::Vector3< T >
+ + + + diff --git a/SFML/doc/html/classsf_1_1Vector3.html b/SFML/doc/html/classsf_1_1Vector3.html new file mode 100644 index 0000000..151ebee --- /dev/null +++ b/SFML/doc/html/classsf_1_1Vector3.html @@ -0,0 +1,907 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::Vector3< T > Class Template Reference
+
+
+ +

Utility template class for manipulating 3-dimensional vectors. + More...

+ +

#include <Vector3.hpp>

+ + + + + + + + + + + + +

+Public Member Functions

 Vector3 ()
 Default constructor. More...
 
 Vector3 (T X, T Y, T Z)
 Construct the vector from its coordinates. More...
 
template<typename U >
 Vector3 (const Vector3< U > &vector)
 Construct the vector from another type of vector. More...
 
+ + + + + + + + + + +

+Public Attributes

x
 X coordinate of the vector. More...
 
y
 Y coordinate of the vector. More...
 
z
 Z coordinate of the vector. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
template<typename T >
Vector3< T > operator- (const Vector3< T > &left)
 Overload of unary operator -. More...
 
template<typename T >
Vector3< T > & operator+= (Vector3< T > &left, const Vector3< T > &right)
 Overload of binary operator +=. More...
 
template<typename T >
Vector3< T > & operator-= (Vector3< T > &left, const Vector3< T > &right)
 Overload of binary operator -=. More...
 
template<typename T >
Vector3< T > operator+ (const Vector3< T > &left, const Vector3< T > &right)
 Overload of binary operator +. More...
 
template<typename T >
Vector3< T > operator- (const Vector3< T > &left, const Vector3< T > &right)
 Overload of binary operator -. More...
 
template<typename T >
Vector3< T > operator* (const Vector3< T > &left, T right)
 Overload of binary operator *. More...
 
template<typename T >
Vector3< T > operator* (T left, const Vector3< T > &right)
 Overload of binary operator *. More...
 
template<typename T >
Vector3< T > & operator*= (Vector3< T > &left, T right)
 Overload of binary operator *=. More...
 
template<typename T >
Vector3< T > operator/ (const Vector3< T > &left, T right)
 Overload of binary operator /. More...
 
template<typename T >
Vector3< T > & operator/= (Vector3< T > &left, T right)
 Overload of binary operator /=. More...
 
template<typename T >
bool operator== (const Vector3< T > &left, const Vector3< T > &right)
 Overload of binary operator ==. More...
 
template<typename T >
bool operator!= (const Vector3< T > &left, const Vector3< T > &right)
 Overload of binary operator !=. More...
 
+

Detailed Description

+

template<typename T>
+class sf::Vector3< T >

+ +

Utility template class for manipulating 3-dimensional vectors.

+

sf::Vector3 is a simple class that defines a mathematical vector with three coordinates (x, y and z).

+

It can be used to represent anything that has three dimensions: a size, a point, a velocity, etc.

+

The template parameter T is the type of the coordinates. It can be any type that supports arithmetic operations (+, -, /, *) and comparisons (==, !=), for example int or float.

+

You generally don't have to care about the templated form (sf::Vector3<T>), the most common specializations have special typedefs:

    +
  • sf::Vector3<float> is sf::Vector3f
  • +
  • sf::Vector3<int> is sf::Vector3i
  • +
+

The sf::Vector3 class has a small and simple interface, its x and y members can be accessed directly (there are no accessors like setX(), getX()) and it contains no mathematical function like dot product, cross product, length, etc.

+

Usage example:

sf::Vector3f v1(16.5f, 24.f, -8.2f);
v1.x = 18.2f;
float y = v1.y;
float z = v1.z;
sf::Vector3f v2 = v1 * 5.f;
v3 = v1 + v2;
bool different = (v2 != v3);

Note: for 2-dimensional vectors, see sf::Vector2.

+ +

Definition at line 37 of file Vector3.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Vector3() [1/3]

+ +
+
+
+template<typename T>
+ + + + + + + +
sf::Vector3< T >::Vector3 ()
+
+ +

Default constructor.

+

Creates a Vector3(0, 0, 0).

+ +
+
+ +

◆ Vector3() [2/3]

+ +
+
+
+template<typename T>
+ + + + + + + + + + + + + + + + + + + + + + + + +
sf::Vector3< T >::Vector3 (X,
Y,
Z 
)
+
+ +

Construct the vector from its coordinates.

+
Parameters
+ + + + +
XX coordinate
YY coordinate
ZZ coordinate
+
+
+ +
+
+ +

◆ Vector3() [3/3]

+ +
+
+
+template<typename T>
+
+template<typename U >
+ + + + + +
+ + + + + + + + +
sf::Vector3< T >::Vector3 (const Vector3< U > & vector)
+
+explicit
+
+ +

Construct the vector from another type of vector.

+

This constructor doesn't replace the copy constructor, it's called only when U != T. A call to this constructor will fail to compile if U is not convertible to T.

+
Parameters
+ + +
vectorVector to convert
+
+
+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator!=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const Vector3< T > & left,
const Vector3< T > & right 
)
+
+related
+
+ +

Overload of binary operator !=.

+

This operator compares strict difference between two vectors.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
True if left is not equal to right
+ +
+
+ +

◆ operator*() [1/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > operator* (const Vector3< T > & left,
right 
)
+
+related
+
+ +

Overload of binary operator *.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a scalar value)
+
+
+
Returns
Memberwise multiplication by right
+ +
+
+ +

◆ operator*() [2/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > operator* (left,
const Vector3< T > & right 
)
+
+related
+
+ +

Overload of binary operator *.

+
Parameters
+ + + +
leftLeft operand (a scalar value)
rightRight operand (a vector)
+
+
+
Returns
Memberwise multiplication by left
+ +
+
+ +

◆ operator*=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > & operator*= (Vector3< T > & left,
right 
)
+
+related
+
+ +

Overload of binary operator *=.

+

This operator performs a memberwise multiplication by right, and assigns the result to left.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a scalar value)
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator+()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > operator+ (const Vector3< T > & left,
const Vector3< T > & right 
)
+
+related
+
+ +

Overload of binary operator +.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
Memberwise addition of both vectors
+ +
+
+ +

◆ operator+=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > & operator+= (Vector3< T > & left,
const Vector3< T > & right 
)
+
+related
+
+ +

Overload of binary operator +=.

+

This operator performs a memberwise addition of both vectors, and assigns the result to left.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator-() [1/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
Vector3< T > operator- (const Vector3< T > & left)
+
+related
+
+ +

Overload of unary operator -.

+
Parameters
+ + +
leftVector to negate
+
+
+
Returns
Memberwise opposite of the vector
+ +
+
+ +

◆ operator-() [2/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > operator- (const Vector3< T > & left,
const Vector3< T > & right 
)
+
+related
+
+ +

Overload of binary operator -.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
Memberwise subtraction of both vectors
+ +
+
+ +

◆ operator-=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > & operator-= (Vector3< T > & left,
const Vector3< T > & right 
)
+
+related
+
+ +

Overload of binary operator -=.

+

This operator performs a memberwise subtraction of both vectors, and assigns the result to left.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator/()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > operator/ (const Vector3< T > & left,
right 
)
+
+related
+
+ +

Overload of binary operator /.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a scalar value)
+
+
+
Returns
Memberwise division by right
+ +
+
+ +

◆ operator/=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Vector3< T > & operator/= (Vector3< T > & left,
right 
)
+
+related
+
+ +

Overload of binary operator /=.

+

This operator performs a memberwise division by right, and assigns the result to left.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a scalar value)
+
+
+
Returns
Reference to left
+ +
+
+ +

◆ operator==()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const Vector3< T > & left,
const Vector3< T > & right 
)
+
+related
+
+ +

Overload of binary operator ==.

+

This operator compares strict equality between two vectors.

+
Parameters
+ + + +
leftLeft operand (a vector)
rightRight operand (a vector)
+
+
+
Returns
True if left is equal to right
+ +
+
+

Member Data Documentation

+ +

◆ x

+ +
+
+
+template<typename T>
+ + + + +
T sf::Vector3< T >::x
+
+ +

X coordinate of the vector.

+ +

Definition at line 76 of file Vector3.hpp.

+ +
+
+ +

◆ y

+ +
+
+
+template<typename T>
+ + + + +
T sf::Vector3< T >::y
+
+ +

Y coordinate of the vector.

+ +

Definition at line 77 of file Vector3.hpp.

+ +
+
+ +

◆ z

+ +
+
+
+template<typename T>
+ + + + +
T sf::Vector3< T >::z
+
+ +

Z coordinate of the vector.

+ +

Definition at line 78 of file Vector3.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Vertex-members.html b/SFML/doc/html/classsf_1_1Vertex-members.html new file mode 100644 index 0000000..1ad4a05 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Vertex-members.html @@ -0,0 +1,69 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Vertex Member List
+
+
+ +

This is the complete list of members for sf::Vertex, including all inherited members.

+ + + + + + + + + +
colorsf::Vertex
positionsf::Vertex
texCoordssf::Vertex
Vertex()sf::Vertex
Vertex(const Vector2f &thePosition)sf::Vertex
Vertex(const Vector2f &thePosition, const Color &theColor)sf::Vertex
Vertex(const Vector2f &thePosition, const Vector2f &theTexCoords)sf::Vertex
Vertex(const Vector2f &thePosition, const Color &theColor, const Vector2f &theTexCoords)sf::Vertex
+ + + + diff --git a/SFML/doc/html/classsf_1_1Vertex.html b/SFML/doc/html/classsf_1_1Vertex.html new file mode 100644 index 0000000..86dd767 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Vertex.html @@ -0,0 +1,333 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Define a point with color and texture coordinates. + More...

+ +

#include <Vertex.hpp>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 Vertex ()
 Default constructor. More...
 
 Vertex (const Vector2f &thePosition)
 Construct the vertex from its position. More...
 
 Vertex (const Vector2f &thePosition, const Color &theColor)
 Construct the vertex from its position and color. More...
 
 Vertex (const Vector2f &thePosition, const Vector2f &theTexCoords)
 Construct the vertex from its position and texture coordinates. More...
 
 Vertex (const Vector2f &thePosition, const Color &theColor, const Vector2f &theTexCoords)
 Construct the vertex from its position, color and texture coordinates. More...
 
+ + + + + + + + + + +

+Public Attributes

Vector2f position
 2D position of the vertex More...
 
Color color
 Color of the vertex. More...
 
Vector2f texCoords
 Coordinates of the texture's pixel to map to the vertex. More...
 
+

Detailed Description

+

Define a point with color and texture coordinates.

+

A vertex is an improved point.

+

It has a position and other extra attributes that will be used for drawing: in SFML, vertices also have a color and a pair of texture coordinates.

+

The vertex is the building block of drawing. Everything which is visible on screen is made of vertices. They are grouped as 2D primitives (triangles, quads, ...), and these primitives are grouped to create even more complex 2D entities such as sprites, texts, etc.

+

If you use the graphical entities of SFML (sprite, text, shape) you won't have to deal with vertices directly. But if you want to define your own 2D entities, such as tiled maps or particle systems, using vertices will allow you to get maximum performances.

+

Example:

// define a 100x100 square, red, with a 10x10 texture mapped on it
sf::Vertex vertices[] =
{
};
// draw it
window.draw(vertices, 4, sf::Quads);

Note: although texture coordinates are supposed to be an integer amount of pixels, their type is float because of some buggy graphics drivers that are not able to process integer coordinates correctly.

+
See also
sf::VertexArray
+ +

Definition at line 42 of file Vertex.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Vertex() [1/5]

+ +
+
+ + + + + + + +
sf::Vertex::Vertex ()
+
+ +

Default constructor.

+ +
+
+ +

◆ Vertex() [2/5]

+ +
+
+ + + + + + + + +
sf::Vertex::Vertex (const Vector2fthePosition)
+
+ +

Construct the vertex from its position.

+

The vertex color is white and texture coordinates are (0, 0).

+
Parameters
+ + +
thePositionVertex position
+
+
+ +
+
+ +

◆ Vertex() [3/5]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::Vertex::Vertex (const Vector2fthePosition,
const ColortheColor 
)
+
+ +

Construct the vertex from its position and color.

+

The texture coordinates are (0, 0).

+
Parameters
+ + + +
thePositionVertex position
theColorVertex color
+
+
+ +
+
+ +

◆ Vertex() [4/5]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::Vertex::Vertex (const Vector2fthePosition,
const Vector2ftheTexCoords 
)
+
+ +

Construct the vertex from its position and texture coordinates.

+

The vertex color is white.

+
Parameters
+ + + +
thePositionVertex position
theTexCoordsVertex texture coordinates
+
+
+ +
+
+ +

◆ Vertex() [5/5]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
sf::Vertex::Vertex (const Vector2fthePosition,
const ColortheColor,
const Vector2ftheTexCoords 
)
+
+ +

Construct the vertex from its position, color and texture coordinates.

+
Parameters
+ + + + +
thePositionVertex position
theColorVertex color
theTexCoordsVertex texture coordinates
+
+
+ +
+
+

Member Data Documentation

+ +

◆ color

+ +
+
+ + + + +
Color sf::Vertex::color
+
+ +

Color of the vertex.

+ +

Definition at line 98 of file Vertex.hpp.

+ +
+
+ +

◆ position

+ +
+
+ + + + +
Vector2f sf::Vertex::position
+
+ +

2D position of the vertex

+ +

Definition at line 97 of file Vertex.hpp.

+ +
+
+ +

◆ texCoords

+ +
+
+ + + + +
Vector2f sf::Vertex::texCoords
+
+ +

Coordinates of the texture's pixel to map to the vertex.

+ +

Definition at line 99 of file Vertex.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1VertexArray-members.html b/SFML/doc/html/classsf_1_1VertexArray-members.html new file mode 100644 index 0000000..312898c --- /dev/null +++ b/SFML/doc/html/classsf_1_1VertexArray-members.html @@ -0,0 +1,73 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::VertexArray Member List
+
+
+ +

This is the complete list of members for sf::VertexArray, including all inherited members.

+ + + + + + + + + + + + + +
append(const Vertex &vertex)sf::VertexArray
clear()sf::VertexArray
getBounds() constsf::VertexArray
getPrimitiveType() constsf::VertexArray
getVertexCount() constsf::VertexArray
operator[](std::size_t index)sf::VertexArray
operator[](std::size_t index) constsf::VertexArray
resize(std::size_t vertexCount)sf::VertexArray
setPrimitiveType(PrimitiveType type)sf::VertexArray
VertexArray()sf::VertexArray
VertexArray(PrimitiveType type, std::size_t vertexCount=0)sf::VertexArrayexplicit
~Drawable()sf::Drawableinlinevirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1VertexArray.html b/SFML/doc/html/classsf_1_1VertexArray.html new file mode 100644 index 0000000..03111a2 --- /dev/null +++ b/SFML/doc/html/classsf_1_1VertexArray.html @@ -0,0 +1,413 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::VertexArray Class Reference
+
+
+ +

Define a set of one or more 2D primitives. + More...

+ +

#include <VertexArray.hpp>

+
+Inheritance diagram for sf::VertexArray:
+
+
+ + +sf::Drawable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 VertexArray ()
 Default constructor. More...
 
 VertexArray (PrimitiveType type, std::size_t vertexCount=0)
 Construct the vertex array with a type and an initial number of vertices. More...
 
std::size_t getVertexCount () const
 Return the vertex count. More...
 
Vertexoperator[] (std::size_t index)
 Get a read-write access to a vertex by its index. More...
 
const Vertexoperator[] (std::size_t index) const
 Get a read-only access to a vertex by its index. More...
 
void clear ()
 Clear the vertex array. More...
 
void resize (std::size_t vertexCount)
 Resize the vertex array. More...
 
void append (const Vertex &vertex)
 Add a vertex to the array. More...
 
void setPrimitiveType (PrimitiveType type)
 Set the type of primitives to draw. More...
 
PrimitiveType getPrimitiveType () const
 Get the type of primitives drawn by the vertex array. More...
 
FloatRect getBounds () const
 Compute the bounding rectangle of the vertex array. More...
 
+

Detailed Description

+

Define a set of one or more 2D primitives.

+

sf::VertexArray is a very simple wrapper around a dynamic array of vertices and a primitives type.

+

It inherits sf::Drawable, but unlike other drawables it is not transformable.

+

Example:

lines[0].position = sf::Vector2f(10, 0);
lines[1].position = sf::Vector2f(20, 0);
lines[2].position = sf::Vector2f(30, 5);
lines[3].position = sf::Vector2f(40, 2);
window.draw(lines);
See also
sf::Vertex
+ +

Definition at line 45 of file VertexArray.hpp.

+

Constructor & Destructor Documentation

+ +

◆ VertexArray() [1/2]

+ +
+
+ + + + + + + +
sf::VertexArray::VertexArray ()
+
+ +

Default constructor.

+

Creates an empty vertex array.

+ +
+
+ +

◆ VertexArray() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
sf::VertexArray::VertexArray (PrimitiveType type,
std::size_t vertexCount = 0 
)
+
+explicit
+
+ +

Construct the vertex array with a type and an initial number of vertices.

+
Parameters
+ + + +
typeType of primitives
vertexCountInitial number of vertices in the array
+
+
+ +
+
+

Member Function Documentation

+ +

◆ append()

+ +
+
+ + + + + + + + +
void sf::VertexArray::append (const Vertexvertex)
+
+ +

Add a vertex to the array.

+
Parameters
+ + +
vertexVertex to add
+
+
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + + + +
void sf::VertexArray::clear ()
+
+ +

Clear the vertex array.

+

This function removes all the vertices from the array. It doesn't deallocate the corresponding memory, so that adding new vertices after clearing doesn't involve reallocating all the memory.

+ +
+
+ +

◆ getBounds()

+ +
+
+ + + + + + + +
FloatRect sf::VertexArray::getBounds () const
+
+ +

Compute the bounding rectangle of the vertex array.

+

This function returns the minimal axis-aligned rectangle that contains all the vertices of the array.

+
Returns
Bounding rectangle of the vertex array
+ +
+
+ +

◆ getPrimitiveType()

+ +
+
+ + + + + + + +
PrimitiveType sf::VertexArray::getPrimitiveType () const
+
+ +

Get the type of primitives drawn by the vertex array.

+
Returns
Primitive type
+ +
+
+ +

◆ getVertexCount()

+ +
+
+ + + + + + + +
std::size_t sf::VertexArray::getVertexCount () const
+
+ +

Return the vertex count.

+
Returns
Number of vertices in the array
+ +
+
+ +

◆ operator[]() [1/2]

+ +
+
+ + + + + + + + +
Vertex& sf::VertexArray::operator[] (std::size_t index)
+
+ +

Get a read-write access to a vertex by its index.

+

This function doesn't check index, it must be in range [0, getVertexCount() - 1]. The behavior is undefined otherwise.

+
Parameters
+ + +
indexIndex of the vertex to get
+
+
+
Returns
Reference to the index-th vertex
+
See also
getVertexCount
+ +
+
+ +

◆ operator[]() [2/2]

+ +
+
+ + + + + + + + +
const Vertex& sf::VertexArray::operator[] (std::size_t index) const
+
+ +

Get a read-only access to a vertex by its index.

+

This function doesn't check index, it must be in range [0, getVertexCount() - 1]. The behavior is undefined otherwise.

+
Parameters
+ + +
indexIndex of the vertex to get
+
+
+
Returns
Const reference to the index-th vertex
+
See also
getVertexCount
+ +
+
+ +

◆ resize()

+ +
+
+ + + + + + + + +
void sf::VertexArray::resize (std::size_t vertexCount)
+
+ +

Resize the vertex array.

+

If vertexCount is greater than the current size, the previous vertices are kept and new (default-constructed) vertices are added. If vertexCount is less than the current size, existing vertices are removed from the array.

+
Parameters
+ + +
vertexCountNew size of the array (number of vertices)
+
+
+ +
+
+ +

◆ setPrimitiveType()

+ +
+
+ + + + + + + + +
void sf::VertexArray::setPrimitiveType (PrimitiveType type)
+
+ +

Set the type of primitives to draw.

+

This function defines how the vertices must be interpreted when it's time to draw them:

    +
  • As points
  • +
  • As lines
  • +
  • As triangles
  • +
  • As quads The default primitive type is sf::Points.
  • +
+
Parameters
+ + +
typeType of primitive
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1VertexArray.png b/SFML/doc/html/classsf_1_1VertexArray.png new file mode 100644 index 0000000..4fa8145 Binary files /dev/null and b/SFML/doc/html/classsf_1_1VertexArray.png differ diff --git a/SFML/doc/html/classsf_1_1VertexBuffer-members.html b/SFML/doc/html/classsf_1_1VertexBuffer-members.html new file mode 100644 index 0000000..72b8d91 --- /dev/null +++ b/SFML/doc/html/classsf_1_1VertexBuffer-members.html @@ -0,0 +1,89 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::VertexBuffer Member List
+
+
+ +

This is the complete list of members for sf::VertexBuffer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bind(const VertexBuffer *vertexBuffer)sf::VertexBufferstatic
create(std::size_t vertexCount)sf::VertexBuffer
Dynamic enum valuesf::VertexBuffer
getNativeHandle() constsf::VertexBuffer
getPrimitiveType() constsf::VertexBuffer
getUsage() constsf::VertexBuffer
getVertexCount() constsf::VertexBuffer
GlResource()sf::GlResourceprivate
isAvailable()sf::VertexBufferstatic
operator=(const VertexBuffer &right)sf::VertexBuffer
registerContextDestroyCallback(ContextDestroyCallback callback, void *arg)sf::GlResourceprivatestatic
setPrimitiveType(PrimitiveType type)sf::VertexBuffer
setUsage(Usage usage)sf::VertexBuffer
Static enum valuesf::VertexBuffer
Stream enum valuesf::VertexBuffer
swap(VertexBuffer &right)sf::VertexBuffer
update(const Vertex *vertices)sf::VertexBuffer
update(const Vertex *vertices, std::size_t vertexCount, unsigned int offset)sf::VertexBuffer
update(const VertexBuffer &vertexBuffer)sf::VertexBuffer
Usage enum namesf::VertexBuffer
VertexBuffer()sf::VertexBuffer
VertexBuffer(PrimitiveType type)sf::VertexBufferexplicit
VertexBuffer(Usage usage)sf::VertexBufferexplicit
VertexBuffer(PrimitiveType type, Usage usage)sf::VertexBuffer
VertexBuffer(const VertexBuffer &copy)sf::VertexBuffer
~Drawable()sf::Drawableinlinevirtual
~GlResource()sf::GlResourceprivate
~VertexBuffer()sf::VertexBuffer
+ + + + diff --git a/SFML/doc/html/classsf_1_1VertexBuffer.html b/SFML/doc/html/classsf_1_1VertexBuffer.html new file mode 100644 index 0000000..fc4cdc1 --- /dev/null +++ b/SFML/doc/html/classsf_1_1VertexBuffer.html @@ -0,0 +1,772 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Vertex buffer storage for one or more 2D primitives. + More...

+ +

#include <VertexBuffer.hpp>

+
+Inheritance diagram for sf::VertexBuffer:
+
+
+ + +sf::Drawable +sf::GlResource + +
+ + + + + +

+Public Types

enum  Usage { Stream, +Dynamic, +Static + }
 Usage specifiers. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 VertexBuffer ()
 Default constructor. More...
 
 VertexBuffer (PrimitiveType type)
 Construct a VertexBuffer with a specific PrimitiveType. More...
 
 VertexBuffer (Usage usage)
 Construct a VertexBuffer with a specific usage specifier. More...
 
 VertexBuffer (PrimitiveType type, Usage usage)
 Construct a VertexBuffer with a specific PrimitiveType and usage specifier. More...
 
 VertexBuffer (const VertexBuffer &copy)
 Copy constructor. More...
 
 ~VertexBuffer ()
 Destructor. More...
 
bool create (std::size_t vertexCount)
 Create the vertex buffer. More...
 
std::size_t getVertexCount () const
 Return the vertex count. More...
 
bool update (const Vertex *vertices)
 Update the whole buffer from an array of vertices. More...
 
bool update (const Vertex *vertices, std::size_t vertexCount, unsigned int offset)
 Update a part of the buffer from an array of vertices. More...
 
bool update (const VertexBuffer &vertexBuffer)
 Copy the contents of another buffer into this buffer. More...
 
VertexBufferoperator= (const VertexBuffer &right)
 Overload of assignment operator. More...
 
void swap (VertexBuffer &right)
 Swap the contents of this vertex buffer with those of another. More...
 
unsigned int getNativeHandle () const
 Get the underlying OpenGL handle of the vertex buffer. More...
 
void setPrimitiveType (PrimitiveType type)
 Set the type of primitives to draw. More...
 
PrimitiveType getPrimitiveType () const
 Get the type of primitives drawn by the vertex buffer. More...
 
void setUsage (Usage usage)
 Set the usage specifier of this vertex buffer. More...
 
Usage getUsage () const
 Get the usage specifier of this vertex buffer. More...
 
+ + + + + + + +

+Static Public Member Functions

static void bind (const VertexBuffer *vertexBuffer)
 Bind a vertex buffer for rendering. More...
 
static bool isAvailable ()
 Tell whether or not the system supports vertex buffers. More...
 
+ + + + +

+Static Private Member Functions

static void registerContextDestroyCallback (ContextDestroyCallback callback, void *arg)
 Register a function to be called when a context is destroyed. More...
 
+

Detailed Description

+

Vertex buffer storage for one or more 2D primitives.

+

sf::VertexBuffer is a simple wrapper around a dynamic buffer of vertices and a primitives type.

+

Unlike sf::VertexArray, the vertex data is stored in graphics memory.

+

In situations where a large amount of vertex data would have to be transferred from system memory to graphics memory every frame, using sf::VertexBuffer can help. By using a sf::VertexBuffer, data that has not been changed between frames does not have to be re-transferred from system to graphics memory as would be the case with sf::VertexArray. If data transfer is a bottleneck, this can lead to performance gains.

+

Using sf::VertexBuffer, the user also has the ability to only modify a portion of the buffer in graphics memory. This way, a large buffer can be allocated at the start of the application and only the applicable portions of it need to be updated during the course of the application. This allows the user to take full control of data transfers between system and graphics memory if they need to.

+

In special cases, the user can make use of multiple threads to update vertex data in multiple distinct regions of the buffer simultaneously. This might make sense when e.g. the position of multiple objects has to be recalculated very frequently. The computation load can be spread across multiple threads as long as there are no other data dependencies.

+

Simultaneous updates to the vertex buffer are not guaranteed to be carried out by the driver in any specific order. Updating the same region of the buffer from multiple threads will not cause undefined behaviour, however the final state of the buffer will be unpredictable.

+

Simultaneous updates of distinct non-overlapping regions of the buffer are also not guaranteed to complete in a specific order. However, in this case the user can make sure to synchronize the writer threads at well-defined points in their code. The driver will make sure that all pending data transfers complete before the vertex buffer is sourced by the rendering pipeline.

+

It inherits sf::Drawable, but unlike other drawables it is not transformable.

+

Example:

sf::Vertex vertices[15];
...
sf::VertexBuffer triangles(sf::Triangles);
triangles.create(15);
triangles.update(vertices);
...
window.draw(triangles);
See also
sf::Vertex, sf::VertexArray
+ +

Definition at line 46 of file VertexBuffer.hpp.

+

Member Enumeration Documentation

+ +

◆ Usage

+ +
+
+ + + + +
enum sf::VertexBuffer::Usage
+
+ +

Usage specifiers.

+

If data is going to be updated once or more every frame, set the usage to Stream. If data is going to be set once and used for a long time without being modified, set the usage to Static. For everything else Dynamic should be a good compromise.

+ + + + +
Enumerator
Stream 

Constantly changing data.

+
Dynamic 

Occasionally changing data.

+
Static 

Rarely changing data.

+
+ +

Definition at line 60 of file VertexBuffer.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ VertexBuffer() [1/5]

+ +
+
+ + + + + + + +
sf::VertexBuffer::VertexBuffer ()
+
+ +

Default constructor.

+

Creates an empty vertex buffer.

+ +
+
+ +

◆ VertexBuffer() [2/5]

+ +
+
+ + + + + +
+ + + + + + + + +
sf::VertexBuffer::VertexBuffer (PrimitiveType type)
+
+explicit
+
+ +

Construct a VertexBuffer with a specific PrimitiveType.

+

Creates an empty vertex buffer and sets its primitive type to type.

+
Parameters
+ + +
typeType of primitive
+
+
+ +
+
+ +

◆ VertexBuffer() [3/5]

+ +
+
+ + + + + +
+ + + + + + + + +
sf::VertexBuffer::VertexBuffer (Usage usage)
+
+explicit
+
+ +

Construct a VertexBuffer with a specific usage specifier.

+

Creates an empty vertex buffer and sets its usage to usage.

+
Parameters
+ + +
usageUsage specifier
+
+
+ +
+
+ +

◆ VertexBuffer() [4/5]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::VertexBuffer::VertexBuffer (PrimitiveType type,
Usage usage 
)
+
+ +

Construct a VertexBuffer with a specific PrimitiveType and usage specifier.

+

Creates an empty vertex buffer and sets its primitive type to type and usage to usage.

+
Parameters
+ + + +
typeType of primitive
usageUsage specifier
+
+
+ +
+
+ +

◆ VertexBuffer() [5/5]

+ +
+
+ + + + + + + + +
sf::VertexBuffer::VertexBuffer (const VertexBuffercopy)
+
+ +

Copy constructor.

+
Parameters
+ + +
copyinstance to copy
+
+
+ +
+
+ +

◆ ~VertexBuffer()

+ +
+
+ + + + + + + +
sf::VertexBuffer::~VertexBuffer ()
+
+ +

Destructor.

+ +
+
+

Member Function Documentation

+ +

◆ bind()

+ +
+
+ + + + + +
+ + + + + + + + +
static void sf::VertexBuffer::bind (const VertexBuffervertexBuffer)
+
+static
+
+ +

Bind a vertex buffer for rendering.

+

This function is not part of the graphics API, it mustn't be used when drawing SFML entities. It must be used only if you mix sf::VertexBuffer with OpenGL code.

+
...
sf::VertexBuffer::bind(&vb1);
// draw OpenGL stuff that use vb1...
// draw OpenGL stuff that use vb2...
// draw OpenGL stuff that use no vertex buffer...
Parameters
+ + +
vertexBufferPointer to the vertex buffer to bind, can be null to use no vertex buffer
+
+
+ +
+
+ +

◆ create()

+ +
+
+ + + + + + + + +
bool sf::VertexBuffer::create (std::size_t vertexCount)
+
+ +

Create the vertex buffer.

+

Creates the vertex buffer and allocates enough graphics memory to hold vertexCount vertices. Any previously allocated memory is freed in the process.

+

In order to deallocate previously allocated memory pass 0 as vertexCount. Don't forget to recreate with a non-zero value when graphics memory should be allocated again.

+
Parameters
+ + +
vertexCountNumber of vertices worth of memory to allocate
+
+
+
Returns
True if creation was successful
+ +
+
+ +

◆ getNativeHandle()

+ +
+
+ + + + + + + +
unsigned int sf::VertexBuffer::getNativeHandle () const
+
+ +

Get the underlying OpenGL handle of the vertex buffer.

+

You shouldn't need to use this function, unless you have very specific stuff to implement that SFML doesn't support, or implement a temporary workaround until a bug is fixed.

+
Returns
OpenGL handle of the vertex buffer or 0 if not yet created
+ +
+
+ +

◆ getPrimitiveType()

+ +
+
+ + + + + + + +
PrimitiveType sf::VertexBuffer::getPrimitiveType () const
+
+ +

Get the type of primitives drawn by the vertex buffer.

+
Returns
Primitive type
+ +
+
+ +

◆ getUsage()

+ +
+
+ + + + + + + +
Usage sf::VertexBuffer::getUsage () const
+
+ +

Get the usage specifier of this vertex buffer.

+
Returns
Usage specifier
+ +
+
+ +

◆ getVertexCount()

+ +
+
+ + + + + + + +
std::size_t sf::VertexBuffer::getVertexCount () const
+
+ +

Return the vertex count.

+
Returns
Number of vertices in the vertex buffer
+ +
+
+ +

◆ isAvailable()

+ +
+
+ + + + + +
+ + + + + + + +
static bool sf::VertexBuffer::isAvailable ()
+
+static
+
+ +

Tell whether or not the system supports vertex buffers.

+

This function should always be called before using the vertex buffer features. If it returns false, then any attempt to use sf::VertexBuffer will fail.

+
Returns
True if vertex buffers are supported, false otherwise
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
VertexBuffer& sf::VertexBuffer::operator= (const VertexBufferright)
+
+ +

Overload of assignment operator.

+
Parameters
+ + +
rightInstance to assign
+
+
+
Returns
Reference to self
+ +
+
+ +

◆ setPrimitiveType()

+ +
+
+ + + + + + + + +
void sf::VertexBuffer::setPrimitiveType (PrimitiveType type)
+
+ +

Set the type of primitives to draw.

+

This function defines how the vertices must be interpreted when it's time to draw them.

+

The default primitive type is sf::Points.

+
Parameters
+ + +
typeType of primitive
+
+
+ +
+
+ +

◆ setUsage()

+ +
+
+ + + + + + + + +
void sf::VertexBuffer::setUsage (Usage usage)
+
+ +

Set the usage specifier of this vertex buffer.

+

This function provides a hint about how this vertex buffer is going to be used in terms of data update frequency.

+

After changing the usage specifier, the vertex buffer has to be updated with new data for the usage specifier to take effect.

+

The default primitive type is sf::VertexBuffer::Stream.

+
Parameters
+ + +
usageUsage specifier
+
+
+ +
+
+ +

◆ swap()

+ +
+
+ + + + + + + + +
void sf::VertexBuffer::swap (VertexBufferright)
+
+ +

Swap the contents of this vertex buffer with those of another.

+
Parameters
+ + +
rightInstance to swap with
+
+
+ +
+
+ +

◆ update() [1/3]

+ +
+
+ + + + + + + + +
bool sf::VertexBuffer::update (const Vertexvertices)
+
+ +

Update the whole buffer from an array of vertices.

+

The vertex array is assumed to have the same size as the created buffer.

+

No additional check is performed on the size of the vertex array, passing invalid arguments will lead to undefined behavior.

+

This function does nothing if vertices is null or if the buffer was not previously created.

+
Parameters
+ + +
verticesArray of vertices to copy to the buffer
+
+
+
Returns
True if the update was successful
+ +
+
+ +

◆ update() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool sf::VertexBuffer::update (const Vertexvertices,
std::size_t vertexCount,
unsigned int offset 
)
+
+ +

Update a part of the buffer from an array of vertices.

+

offset is specified as the number of vertices to skip from the beginning of the buffer.

+

If offset is 0 and vertexCount is equal to the size of the currently created buffer, its whole contents are replaced.

+

If offset is 0 and vertexCount is greater than the size of the currently created buffer, a new buffer is created containing the vertex data.

+

If offset is 0 and vertexCount is less than the size of the currently created buffer, only the corresponding region is updated.

+

If offset is not 0 and offset + vertexCount is greater than the size of the currently created buffer, the update fails.

+

No additional check is performed on the size of the vertex array, passing invalid arguments will lead to undefined behavior.

+
Parameters
+ + + + +
verticesArray of vertices to copy to the buffer
vertexCountNumber of vertices to copy
offsetOffset in the buffer to copy to
+
+
+
Returns
True if the update was successful
+ +
+
+ +

◆ update() [3/3]

+ +
+
+ + + + + + + + +
bool sf::VertexBuffer::update (const VertexBuffervertexBuffer)
+
+ +

Copy the contents of another buffer into this buffer.

+
Parameters
+ + +
vertexBufferVertex buffer whose contents to copy into this vertex buffer
+
+
+
Returns
True if the copy was successful
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1VertexBuffer.png b/SFML/doc/html/classsf_1_1VertexBuffer.png new file mode 100644 index 0000000..aa60eb6 Binary files /dev/null and b/SFML/doc/html/classsf_1_1VertexBuffer.png differ diff --git a/SFML/doc/html/classsf_1_1VideoMode-members.html b/SFML/doc/html/classsf_1_1VideoMode-members.html new file mode 100644 index 0000000..f8b993e --- /dev/null +++ b/SFML/doc/html/classsf_1_1VideoMode-members.html @@ -0,0 +1,75 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::VideoMode Member List
+
+
+ +

This is the complete list of members for sf::VideoMode, including all inherited members.

+ + + + + + + + + + + + + + + +
bitsPerPixelsf::VideoMode
getDesktopMode()sf::VideoModestatic
getFullscreenModes()sf::VideoModestatic
heightsf::VideoMode
isValid() constsf::VideoMode
operator!=(const VideoMode &left, const VideoMode &right)sf::VideoModerelated
operator<(const VideoMode &left, const VideoMode &right)sf::VideoModerelated
operator<=(const VideoMode &left, const VideoMode &right)sf::VideoModerelated
operator==(const VideoMode &left, const VideoMode &right)sf::VideoModerelated
operator>(const VideoMode &left, const VideoMode &right)sf::VideoModerelated
operator>=(const VideoMode &left, const VideoMode &right)sf::VideoModerelated
VideoMode()sf::VideoMode
VideoMode(unsigned int modeWidth, unsigned int modeHeight, unsigned int modeBitsPerPixel=32)sf::VideoMode
widthsf::VideoMode
+ + + + diff --git a/SFML/doc/html/classsf_1_1VideoMode.html b/SFML/doc/html/classsf_1_1VideoMode.html new file mode 100644 index 0000000..0ccfdd8 --- /dev/null +++ b/SFML/doc/html/classsf_1_1VideoMode.html @@ -0,0 +1,615 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

VideoMode defines a video mode (width, height, bpp) + More...

+ +

#include <VideoMode.hpp>

+ + + + + + + + + + + +

+Public Member Functions

 VideoMode ()
 Default constructor. More...
 
 VideoMode (unsigned int modeWidth, unsigned int modeHeight, unsigned int modeBitsPerPixel=32)
 Construct the video mode with its attributes. More...
 
bool isValid () const
 Tell whether or not the video mode is valid. More...
 
+ + + + + + + +

+Static Public Member Functions

static VideoMode getDesktopMode ()
 Get the current desktop video mode. More...
 
static const std::vector< VideoMode > & getFullscreenModes ()
 Retrieve all the video modes supported in fullscreen mode. More...
 
+ + + + + + + + + + +

+Public Attributes

unsigned int width
 Video mode width, in pixels. More...
 
unsigned int height
 Video mode height, in pixels. More...
 
unsigned int bitsPerPixel
 Video mode pixel depth, in bits per pixels. More...
 
+ + + + + + + + + + + + + + + + + + + + +

+Related Functions

(Note that these are not member functions.)

+
bool operator== (const VideoMode &left, const VideoMode &right)
 Overload of == operator to compare two video modes. More...
 
bool operator!= (const VideoMode &left, const VideoMode &right)
 Overload of != operator to compare two video modes. More...
 
bool operator< (const VideoMode &left, const VideoMode &right)
 Overload of < operator to compare video modes. More...
 
bool operator> (const VideoMode &left, const VideoMode &right)
 Overload of > operator to compare video modes. More...
 
bool operator<= (const VideoMode &left, const VideoMode &right)
 Overload of <= operator to compare video modes. More...
 
bool operator>= (const VideoMode &left, const VideoMode &right)
 Overload of >= operator to compare video modes. More...
 
+

Detailed Description

+

VideoMode defines a video mode (width, height, bpp)

+

A video mode is defined by a width and a height (in pixels) and a depth (in bits per pixel).

+

Video modes are used to setup windows (sf::Window) at creation time.

+

The main usage of video modes is for fullscreen mode: indeed you must use one of the valid video modes allowed by the OS (which are defined by what the monitor and the graphics card support), otherwise your window creation will just fail.

+

sf::VideoMode provides a static function for retrieving the list of all the video modes supported by the system: getFullscreenModes().

+

A custom video mode can also be checked directly for fullscreen compatibility with its isValid() function.

+

Additionally, sf::VideoMode provides a static function to get the mode currently used by the desktop: getDesktopMode(). This allows to build windows with the same size or pixel depth as the current resolution.

+

Usage example:

// Display the list of all the video modes available for fullscreen
std::vector<sf::VideoMode> modes = sf::VideoMode::getFullscreenModes();
for (std::size_t i = 0; i < modes.size(); ++i)
{
sf::VideoMode mode = modes[i];
std::cout << "Mode #" << i << ": "
<< mode.width << "x" << mode.height << " - "
<< mode.bitsPerPixel << " bpp" << std::endl;
}
// Create a window with the same pixel depth as the desktop
window.create(sf::VideoMode(1024, 768, desktop.bitsPerPixel), "SFML window");
+

Definition at line 41 of file VideoMode.hpp.

+

Constructor & Destructor Documentation

+ +

◆ VideoMode() [1/2]

+ +
+
+ + + + + + + +
sf::VideoMode::VideoMode ()
+
+ +

Default constructor.

+

This constructors initializes all members to 0.

+ +
+
+ +

◆ VideoMode() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
sf::VideoMode::VideoMode (unsigned int modeWidth,
unsigned int modeHeight,
unsigned int modeBitsPerPixel = 32 
)
+
+ +

Construct the video mode with its attributes.

+
Parameters
+ + + + +
modeWidthWidth in pixels
modeHeightHeight in pixels
modeBitsPerPixelPixel depths in bits per pixel
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getDesktopMode()

+ +
+
+ + + + + +
+ + + + + + + +
static VideoMode sf::VideoMode::getDesktopMode ()
+
+static
+
+ +

Get the current desktop video mode.

+
Returns
Current desktop video mode
+ +
+
+ +

◆ getFullscreenModes()

+ +
+
+ + + + + +
+ + + + + + + +
static const std::vector<VideoMode>& sf::VideoMode::getFullscreenModes ()
+
+static
+
+ +

Retrieve all the video modes supported in fullscreen mode.

+

When creating a fullscreen window, the video mode is restricted to be compatible with what the graphics driver and monitor support. This function returns the complete list of all video modes that can be used in fullscreen mode. The returned array is sorted from best to worst, so that the first element will always give the best mode (higher width, height and bits-per-pixel).

+
Returns
Array containing all the supported fullscreen modes
+ +
+
+ +

◆ isValid()

+ +
+
+ + + + + + + +
bool sf::VideoMode::isValid () const
+
+ +

Tell whether or not the video mode is valid.

+

The validity of video modes is only relevant when using fullscreen windows; otherwise any video mode can be used with no restriction.

+
Returns
True if the video mode is valid for fullscreen mode
+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator!=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const VideoModeleft,
const VideoModeright 
)
+
+related
+
+ +

Overload of != operator to compare two video modes.

+
Parameters
+ + + +
leftLeft operand (a video mode)
rightRight operand (a video mode)
+
+
+
Returns
True if modes are different
+ +
+
+ +

◆ operator<()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator< (const VideoModeleft,
const VideoModeright 
)
+
+related
+
+ +

Overload of < operator to compare video modes.

+
Parameters
+ + + +
leftLeft operand (a video mode)
rightRight operand (a video mode)
+
+
+
Returns
True if left is lesser than right
+ +
+
+ +

◆ operator<=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator<= (const VideoModeleft,
const VideoModeright 
)
+
+related
+
+ +

Overload of <= operator to compare video modes.

+
Parameters
+ + + +
leftLeft operand (a video mode)
rightRight operand (a video mode)
+
+
+
Returns
True if left is lesser or equal than right
+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const VideoModeleft,
const VideoModeright 
)
+
+related
+
+ +

Overload of == operator to compare two video modes.

+
Parameters
+ + + +
leftLeft operand (a video mode)
rightRight operand (a video mode)
+
+
+
Returns
True if modes are equal
+ +
+
+ +

◆ operator>()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator> (const VideoModeleft,
const VideoModeright 
)
+
+related
+
+ +

Overload of > operator to compare video modes.

+
Parameters
+ + + +
leftLeft operand (a video mode)
rightRight operand (a video mode)
+
+
+
Returns
True if left is greater than right
+ +
+
+ +

◆ operator>=()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator>= (const VideoModeleft,
const VideoModeright 
)
+
+related
+
+ +

Overload of >= operator to compare video modes.

+
Parameters
+ + + +
leftLeft operand (a video mode)
rightRight operand (a video mode)
+
+
+
Returns
True if left is greater or equal than right
+ +
+
+

Member Data Documentation

+ +

◆ bitsPerPixel

+ +
+
+ + + + +
unsigned int sf::VideoMode::bitsPerPixel
+
+ +

Video mode pixel depth, in bits per pixels.

+ +

Definition at line 104 of file VideoMode.hpp.

+ +
+
+ +

◆ height

+ +
+
+ + + + +
unsigned int sf::VideoMode::height
+
+ +

Video mode height, in pixels.

+ +

Definition at line 103 of file VideoMode.hpp.

+ +
+
+ +

◆ width

+ +
+
+ + + + +
unsigned int sf::VideoMode::width
+
+ +

Video mode width, in pixels.

+ +

Definition at line 102 of file VideoMode.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1View-members.html b/SFML/doc/html/classsf_1_1View-members.html new file mode 100644 index 0000000..e74af51 --- /dev/null +++ b/SFML/doc/html/classsf_1_1View-members.html @@ -0,0 +1,81 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::View Member List
+
+
+ +

This is the complete list of members for sf::View, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
getCenter() constsf::View
getInverseTransform() constsf::View
getRotation() constsf::View
getSize() constsf::View
getTransform() constsf::View
getViewport() constsf::View
move(float offsetX, float offsetY)sf::View
move(const Vector2f &offset)sf::View
reset(const FloatRect &rectangle)sf::View
rotate(float angle)sf::View
setCenter(float x, float y)sf::View
setCenter(const Vector2f &center)sf::View
setRotation(float angle)sf::View
setSize(float width, float height)sf::View
setSize(const Vector2f &size)sf::View
setViewport(const FloatRect &viewport)sf::View
View()sf::View
View(const FloatRect &rectangle)sf::Viewexplicit
View(const Vector2f &center, const Vector2f &size)sf::View
zoom(float factor)sf::View
+ + + + diff --git a/SFML/doc/html/classsf_1_1View.html b/SFML/doc/html/classsf_1_1View.html new file mode 100644 index 0000000..0f7ea9b --- /dev/null +++ b/SFML/doc/html/classsf_1_1View.html @@ -0,0 +1,703 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
sf::View Class Reference
+
+
+ +

2D camera that defines what region is shown on screen + More...

+ +

#include <View.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 View ()
 Default constructor. More...
 
 View (const FloatRect &rectangle)
 Construct the view from a rectangle. More...
 
 View (const Vector2f &center, const Vector2f &size)
 Construct the view from its center and size. More...
 
void setCenter (float x, float y)
 Set the center of the view. More...
 
void setCenter (const Vector2f &center)
 Set the center of the view. More...
 
void setSize (float width, float height)
 Set the size of the view. More...
 
void setSize (const Vector2f &size)
 Set the size of the view. More...
 
void setRotation (float angle)
 Set the orientation of the view. More...
 
void setViewport (const FloatRect &viewport)
 Set the target viewport. More...
 
void reset (const FloatRect &rectangle)
 Reset the view to the given rectangle. More...
 
const Vector2fgetCenter () const
 Get the center of the view. More...
 
const Vector2fgetSize () const
 Get the size of the view. More...
 
float getRotation () const
 Get the current orientation of the view. More...
 
const FloatRectgetViewport () const
 Get the target viewport rectangle of the view. More...
 
void move (float offsetX, float offsetY)
 Move the view relatively to its current position. More...
 
void move (const Vector2f &offset)
 Move the view relatively to its current position. More...
 
void rotate (float angle)
 Rotate the view relatively to its current orientation. More...
 
void zoom (float factor)
 Resize the view rectangle relatively to its current size. More...
 
const TransformgetTransform () const
 Get the projection transform of the view. More...
 
const TransformgetInverseTransform () const
 Get the inverse projection transform of the view. More...
 
+

Detailed Description

+

2D camera that defines what region is shown on screen

+

sf::View defines a camera in the 2D scene.

+

This is a very powerful concept: you can scroll, rotate or zoom the entire scene without altering the way that your drawable objects are drawn.

+

A view is composed of a source rectangle, which defines what part of the 2D scene is shown, and a target viewport, which defines where the contents of the source rectangle will be displayed on the render target (window or texture).

+

The viewport allows to map the scene to a custom part of the render target, and can be used for split-screen or for displaying a minimap, for example. If the source rectangle doesn't have the same size as the viewport, its contents will be stretched to fit in.

+

To apply a view, you have to assign it to the render target. Then, objects drawn in this render target will be affected by the view until you use another view.

+

Usage example:

sf::View view;
// Initialize the view to a rectangle located at (100, 100) and with a size of 400x200
view.reset(sf::FloatRect(100, 100, 400, 200));
// Rotate it by 45 degrees
view.rotate(45);
// Set its target viewport to be half of the window
view.setViewport(sf::FloatRect(0.f, 0.f, 0.5f, 1.f));
// Apply it
window.setView(view);
// Render stuff
window.draw(someSprite);
// Set the default view back
window.setView(window.getDefaultView());
// Render stuff not affected by the view
window.draw(someText);

See also the note on coordinates and undistorted rendering in sf::Transformable.

+
See also
sf::RenderWindow, sf::RenderTexture
+ +

Definition at line 43 of file View.hpp.

+

Constructor & Destructor Documentation

+ +

◆ View() [1/3]

+ +
+
+ + + + + + + +
sf::View::View ()
+
+ +

Default constructor.

+

This constructor creates a default view of (0, 0, 1000, 1000)

+ +
+
+ +

◆ View() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
sf::View::View (const FloatRectrectangle)
+
+explicit
+
+ +

Construct the view from a rectangle.

+
Parameters
+ + +
rectangleRectangle defining the zone to display
+
+
+ +
+
+ +

◆ View() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
sf::View::View (const Vector2fcenter,
const Vector2fsize 
)
+
+ +

Construct the view from its center and size.

+
Parameters
+ + + +
centerCenter of the zone to display
sizeSize of zone to display
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getCenter()

+ +
+
+ + + + + + + +
const Vector2f& sf::View::getCenter () const
+
+ +

Get the center of the view.

+
Returns
Center of the view
+
See also
getSize, setCenter
+ +
+
+ +

◆ getInverseTransform()

+ +
+
+ + + + + + + +
const Transform& sf::View::getInverseTransform () const
+
+ +

Get the inverse projection transform of the view.

+

This function is meant for internal use only.

+
Returns
Inverse of the projection transform defining the view
+
See also
getTransform
+ +
+
+ +

◆ getRotation()

+ +
+
+ + + + + + + +
float sf::View::getRotation () const
+
+ +

Get the current orientation of the view.

+
Returns
Rotation angle of the view, in degrees
+
See also
setRotation
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + + + +
const Vector2f& sf::View::getSize () const
+
+ +

Get the size of the view.

+
Returns
Size of the view
+
See also
getCenter, setSize
+ +
+
+ +

◆ getTransform()

+ +
+
+ + + + + + + +
const Transform& sf::View::getTransform () const
+
+ +

Get the projection transform of the view.

+

This function is meant for internal use only.

+
Returns
Projection transform defining the view
+
See also
getInverseTransform
+ +
+
+ +

◆ getViewport()

+ +
+
+ + + + + + + +
const FloatRect& sf::View::getViewport () const
+
+ +

Get the target viewport rectangle of the view.

+
Returns
Viewport rectangle, expressed as a factor of the target size
+
See also
setViewport
+ +
+
+ +

◆ move() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::View::move (float offsetX,
float offsetY 
)
+
+ +

Move the view relatively to its current position.

+
Parameters
+ + + +
offsetXX coordinate of the move offset
offsetYY coordinate of the move offset
+
+
+
See also
setCenter, rotate, zoom
+ +
+
+ +

◆ move() [2/2]

+ +
+
+ + + + + + + + +
void sf::View::move (const Vector2foffset)
+
+ +

Move the view relatively to its current position.

+
Parameters
+ + +
offsetMove offset
+
+
+
See also
setCenter, rotate, zoom
+ +
+
+ +

◆ reset()

+ +
+
+ + + + + + + + +
void sf::View::reset (const FloatRectrectangle)
+
+ +

Reset the view to the given rectangle.

+

Note that this function resets the rotation angle to 0.

+
Parameters
+ + +
rectangleRectangle defining the zone to display
+
+
+
See also
setCenter, setSize, setRotation
+ +
+
+ +

◆ rotate()

+ +
+
+ + + + + + + + +
void sf::View::rotate (float angle)
+
+ +

Rotate the view relatively to its current orientation.

+
Parameters
+ + +
angleAngle to rotate, in degrees
+
+
+
See also
setRotation, move, zoom
+ +
+
+ +

◆ setCenter() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::View::setCenter (float x,
float y 
)
+
+ +

Set the center of the view.

+
Parameters
+ + + +
xX coordinate of the new center
yY coordinate of the new center
+
+
+
See also
setSize, getCenter
+ +
+
+ +

◆ setCenter() [2/2]

+ +
+
+ + + + + + + + +
void sf::View::setCenter (const Vector2fcenter)
+
+ +

Set the center of the view.

+
Parameters
+ + +
centerNew center
+
+
+
See also
setSize, getCenter
+ +
+
+ +

◆ setRotation()

+ +
+
+ + + + + + + + +
void sf::View::setRotation (float angle)
+
+ +

Set the orientation of the view.

+

The default rotation of a view is 0 degree.

+
Parameters
+ + +
angleNew angle, in degrees
+
+
+
See also
getRotation
+ +
+
+ +

◆ setSize() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::View::setSize (float width,
float height 
)
+
+ +

Set the size of the view.

+
Parameters
+ + + +
widthNew width of the view
heightNew height of the view
+
+
+
See also
setCenter, getCenter
+ +
+
+ +

◆ setSize() [2/2]

+ +
+
+ + + + + + + + +
void sf::View::setSize (const Vector2fsize)
+
+ +

Set the size of the view.

+
Parameters
+ + +
sizeNew size
+
+
+
See also
setCenter, getCenter
+ +
+
+ +

◆ setViewport()

+ +
+
+ + + + + + + + +
void sf::View::setViewport (const FloatRectviewport)
+
+ +

Set the target viewport.

+

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. For example, a view which takes the left side of the target would be defined with View.setViewport(sf::FloatRect(0, 0, 0.5, 1)). By default, a view has a viewport which covers the entire target.

+
Parameters
+ + +
viewportNew viewport rectangle
+
+
+
See also
getViewport
+ +
+
+ +

◆ zoom()

+ +
+
+ + + + + + + + +
void sf::View::zoom (float factor)
+
+ +

Resize the view rectangle relatively to its current size.

+

Resizing the view simulates a zoom, as the zone displayed on screen grows or shrinks. factor is a multiplier:

    +
  • 1 keeps the size unchanged
  • +
  • > 1 makes the view bigger (objects appear smaller)
  • +
  • < 1 makes the view smaller (objects appear bigger)
  • +
+
Parameters
+ + +
factorZoom factor to apply
+
+
+
See also
setSize, move, rotate
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Window-members.html b/SFML/doc/html/classsf_1_1Window-members.html new file mode 100644 index 0000000..07401b2 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Window-members.html @@ -0,0 +1,98 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
sf::Window Member List
+
+
+ +

This is the complete list of members for sf::Window, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
close()sf::Window
create(VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())sf::Window
create(WindowHandle handle, const ContextSettings &settings=ContextSettings())sf::Window
display()sf::Window
getPosition() constsf::Window
getSettings() constsf::Window
getSize() constsf::Window
getSystemHandle() constsf::Window
GlResource()sf::GlResourceprivate
hasFocus() constsf::Window
isOpen() constsf::Window
NonCopyable()sf::NonCopyableinlineprivate
onCreate()sf::Windowprotectedvirtual
onResize()sf::Windowprotectedvirtual
pollEvent(Event &event)sf::Window
registerContextDestroyCallback(ContextDestroyCallback callback, void *arg)sf::GlResourceprivatestatic
requestFocus()sf::Window
setActive(bool active=true) constsf::Window
setFramerateLimit(unsigned int limit)sf::Window
setIcon(unsigned int width, unsigned int height, const Uint8 *pixels)sf::Window
setJoystickThreshold(float threshold)sf::Window
setKeyRepeatEnabled(bool enabled)sf::Window
setMouseCursor(const Cursor &cursor)sf::Window
setMouseCursorGrabbed(bool grabbed)sf::Window
setMouseCursorVisible(bool visible)sf::Window
setPosition(const Vector2i &position)sf::Window
setSize(const Vector2u &size)sf::Window
setTitle(const String &title)sf::Window
setVerticalSyncEnabled(bool enabled)sf::Window
setVisible(bool visible)sf::Window
waitEvent(Event &event)sf::Window
Window()sf::Window
Window(VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())sf::Window
Window(WindowHandle handle, const ContextSettings &settings=ContextSettings())sf::Windowexplicit
~GlResource()sf::GlResourceprivate
~NonCopyable()sf::NonCopyableinlineprivate
~Window()sf::Windowvirtual
+ + + + diff --git a/SFML/doc/html/classsf_1_1Window.html b/SFML/doc/html/classsf_1_1Window.html new file mode 100644 index 0000000..7e03d80 --- /dev/null +++ b/SFML/doc/html/classsf_1_1Window.html @@ -0,0 +1,1130 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + + +
+ +

Window that serves as a target for OpenGL rendering. + More...

+ +

#include <Window.hpp>

+
+Inheritance diagram for sf::Window:
+
+
+ + +sf::GlResource +sf::NonCopyable +sf::RenderWindow + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Window ()
 Default constructor. More...
 
 Window (VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())
 Construct a new window. More...
 
 Window (WindowHandle handle, const ContextSettings &settings=ContextSettings())
 Construct the window from an existing control. More...
 
virtual ~Window ()
 Destructor. More...
 
void create (VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())
 Create (or recreate) the window. More...
 
void create (WindowHandle handle, const ContextSettings &settings=ContextSettings())
 Create (or recreate) the window from an existing control. More...
 
void close ()
 Close the window and destroy all the attached resources. More...
 
bool isOpen () const
 Tell whether or not the window is open. More...
 
const ContextSettingsgetSettings () const
 Get the settings of the OpenGL context of the window. More...
 
bool pollEvent (Event &event)
 Pop the event on top of the event queue, if any, and return it. More...
 
bool waitEvent (Event &event)
 Wait for an event and return it. More...
 
Vector2i getPosition () const
 Get the position of the window. More...
 
void setPosition (const Vector2i &position)
 Change the position of the window on screen. More...
 
Vector2u getSize () const
 Get the size of the rendering region of the window. More...
 
void setSize (const Vector2u &size)
 Change the size of the rendering region of the window. More...
 
void setTitle (const String &title)
 Change the title of the window. More...
 
void setIcon (unsigned int width, unsigned int height, const Uint8 *pixels)
 Change the window's icon. More...
 
void setVisible (bool visible)
 Show or hide the window. More...
 
void setVerticalSyncEnabled (bool enabled)
 Enable or disable vertical synchronization. More...
 
void setMouseCursorVisible (bool visible)
 Show or hide the mouse cursor. More...
 
void setMouseCursorGrabbed (bool grabbed)
 Grab or release the mouse cursor. More...
 
void setMouseCursor (const Cursor &cursor)
 Set the displayed cursor to a native system cursor. More...
 
void setKeyRepeatEnabled (bool enabled)
 Enable or disable automatic key-repeat. More...
 
void setFramerateLimit (unsigned int limit)
 Limit the framerate to a maximum fixed frequency. More...
 
void setJoystickThreshold (float threshold)
 Change the joystick threshold. More...
 
bool setActive (bool active=true) const
 Activate or deactivate the window as the current target for OpenGL rendering. More...
 
void requestFocus ()
 Request the current window to be made the active foreground window. More...
 
bool hasFocus () const
 Check whether the window has the input focus. More...
 
void display ()
 Display on screen what has been rendered to the window so far. More...
 
WindowHandle getSystemHandle () const
 Get the OS-specific handle of the window. More...
 
+ + + + + + + +

+Protected Member Functions

virtual void onCreate ()
 Function called after the window has been created. More...
 
virtual void onResize ()
 Function called after the window has been resized. More...
 
+ + + + +

+Static Private Member Functions

static void registerContextDestroyCallback (ContextDestroyCallback callback, void *arg)
 Register a function to be called when a context is destroyed. More...
 
+

Detailed Description

+

Window that serves as a target for OpenGL rendering.

+

sf::Window is the main class of the Window module.

+

It defines an OS window that is able to receive an OpenGL rendering.

+

A sf::Window can create its own new window, or be embedded into an already existing control using the create(handle) function. This can be useful for embedding an OpenGL rendering area into a view which is part of a bigger GUI with existing windows, controls, etc. It can also serve as embedding an OpenGL rendering area into a window created by another (probably richer) GUI library like Qt or wxWidgets.

+

The sf::Window class provides a simple interface for manipulating the window: move, resize, show/hide, control mouse cursor, etc. It also provides event handling through its pollEvent() and waitEvent() functions.

+

Note that OpenGL experts can pass their own parameters (antialiasing level, bits for the depth and stencil buffers, etc.) to the OpenGL context attached to the window, with the sf::ContextSettings structure which is passed as an optional argument when creating the window.

+

On dual-graphics systems consisting of a low-power integrated GPU and a powerful discrete GPU, the driver picks which GPU will run an SFML application. In order to inform the driver that an SFML application can benefit from being run on the more powerful discrete GPU, SFML_DEFINE_DISCRETE_GPU_PREFERENCE can be placed in a source file that is compiled and linked into the final application. The macro should be placed outside of any scopes in the global namespace.

+

Usage example:

// Declare and create a new window
sf::Window window(sf::VideoMode(800, 600), "SFML window");
// Limit the framerate to 60 frames per second (this step is optional)
window.setFramerateLimit(60);
// The main loop - ends as soon as the window is closed
while (window.isOpen())
{
// Event processing
sf::Event event;
while (window.pollEvent(event))
{
// Request for closing the window
if (event.type == sf::Event::Closed)
window.close();
}
// Activate the window for OpenGL rendering
window.setActive();
// OpenGL drawing commands go here...
// End the current frame and display its contents on screen
window.display();
}
+

Definition at line 58 of file Window/Window.hpp.

+

Constructor & Destructor Documentation

+ +

◆ Window() [1/3]

+ +
+
+ + + + + + + +
sf::Window::Window ()
+
+ +

Default constructor.

+

This constructor doesn't actually create the window, use the other constructors or call create() to do so.

+ +
+
+ +

◆ Window() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sf::Window::Window (VideoMode mode,
const Stringtitle,
Uint32 style = Style::Default,
const ContextSettingssettings = ContextSettings() 
)
+
+ +

Construct a new window.

+

This constructor creates the window with the size and pixel depth defined in mode. An optional style can be passed to customize the look and behavior of the window (borders, title bar, resizable, closable, ...). If style contains Style::Fullscreen, then mode must be a valid video mode.

+

The fourth parameter is an optional structure specifying advanced OpenGL context settings such as antialiasing, depth-buffer bits, etc.

+
Parameters
+ + + + + +
modeVideo mode to use (defines the width, height and depth of the rendering area of the window)
titleTitle of the window
styleWindow style, a bitwise OR combination of sf::Style enumerators
settingsAdditional settings for the underlying OpenGL context
+
+
+ +
+
+ +

◆ Window() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
sf::Window::Window (WindowHandle handle,
const ContextSettingssettings = ContextSettings() 
)
+
+explicit
+
+ +

Construct the window from an existing control.

+

Use this constructor if you want to create an OpenGL rendering area into an already existing control.

+

The second parameter is an optional structure specifying advanced OpenGL context settings such as antialiasing, depth-buffer bits, etc.

+
Parameters
+ + + +
handlePlatform-specific handle of the control
settingsAdditional settings for the underlying OpenGL context
+
+
+ +
+
+ +

◆ ~Window()

+ +
+
+ + + + + +
+ + + + + + + +
virtual sf::Window::~Window ()
+
+virtual
+
+ +

Destructor.

+

Closes the window and frees all the resources attached to it.

+ +
+
+

Member Function Documentation

+ +

◆ close()

+ +
+
+ + + + + + + +
void sf::Window::close ()
+
+ +

Close the window and destroy all the attached resources.

+

After calling this function, the sf::Window instance remains valid and you can call create() to recreate the window. All other functions such as pollEvent() or display() will still work (i.e. you don't have to test isOpen() every time), and will have no effect on closed windows.

+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Window::create (VideoMode mode,
const Stringtitle,
Uint32 style = Style::Default,
const ContextSettingssettings = ContextSettings() 
)
+
+ +

Create (or recreate) the window.

+

If the window was already created, it closes it first. If style contains Style::Fullscreen, then mode must be a valid video mode.

+

The fourth parameter is an optional structure specifying advanced OpenGL context settings such as antialiasing, depth-buffer bits, etc.

+
Parameters
+ + + + + +
modeVideo mode to use (defines the width, height and depth of the rendering area of the window)
titleTitle of the window
styleWindow style, a bitwise OR combination of sf::Style enumerators
settingsAdditional settings for the underlying OpenGL context
+
+
+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sf::Window::create (WindowHandle handle,
const ContextSettingssettings = ContextSettings() 
)
+
+ +

Create (or recreate) the window from an existing control.

+

Use this function if you want to create an OpenGL rendering area into an already existing control. If the window was already created, it closes it first.

+

The second parameter is an optional structure specifying advanced OpenGL context settings such as antialiasing, depth-buffer bits, etc.

+
Parameters
+ + + +
handlePlatform-specific handle of the control
settingsAdditional settings for the underlying OpenGL context
+
+
+ +
+
+ +

◆ display()

+ +
+
+ + + + + + + +
void sf::Window::display ()
+
+ +

Display on screen what has been rendered to the window so far.

+

This function is typically called after all OpenGL rendering has been done for the current frame, in order to show it on screen.

+ +
+
+ +

◆ getPosition()

+ +
+
+ + + + + + + +
Vector2i sf::Window::getPosition () const
+
+ +

Get the position of the window.

+
Returns
Position of the window, in pixels
+
See also
setPosition
+ +
+
+ +

◆ getSettings()

+ +
+
+ + + + + + + +
const ContextSettings& sf::Window::getSettings () const
+
+ +

Get the settings of the OpenGL context of the window.

+

Note that these settings may be different from what was passed to the constructor or the create() function, if one or more settings were not supported. In this case, SFML chose the closest match.

+
Returns
Structure containing the OpenGL context settings
+ +
+
+ +

◆ getSize()

+ +
+
+ + + + + + + +
Vector2u sf::Window::getSize () const
+
+ +

Get the size of the rendering region of the window.

+

The size doesn't include the titlebar and borders of the window.

+
Returns
Size in pixels
+
See also
setSize
+ +
+
+ +

◆ getSystemHandle()

+ +
+
+ + + + + + + +
WindowHandle sf::Window::getSystemHandle () const
+
+ +

Get the OS-specific handle of the window.

+

The type of the returned handle is sf::WindowHandle, which is a typedef to the handle type defined by the OS. You shouldn't need to use this function, unless you have very specific stuff to implement that SFML doesn't support, or implement a temporary workaround until a bug is fixed.

+
Returns
System handle of the window
+ +
+
+ +

◆ hasFocus()

+ +
+
+ + + + + + + +
bool sf::Window::hasFocus () const
+
+ +

Check whether the window has the input focus.

+

At any given time, only one window may have the input focus to receive input events such as keystrokes or most mouse events.

+
Returns
True if window has focus, false otherwise
+
See also
requestFocus
+ +
+
+ +

◆ isOpen()

+ +
+
+ + + + + + + +
bool sf::Window::isOpen () const
+
+ +

Tell whether or not the window is open.

+

This function returns whether or not the window exists. Note that a hidden window (setVisible(false)) is open (therefore this function would return true).

+
Returns
True if the window is open, false if it has been closed
+ +
+
+ +

◆ onCreate()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::Window::onCreate ()
+
+protectedvirtual
+
+ +

Function called after the window has been created.

+

This function is called so that derived classes can perform their own specific initialization as soon as the window is created.

+ +

Reimplemented in sf::RenderWindow.

+ +
+
+ +

◆ onResize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void sf::Window::onResize ()
+
+protectedvirtual
+
+ +

Function called after the window has been resized.

+

This function is called so that derived classes can perform custom actions when the size of the window changes.

+ +

Reimplemented in sf::RenderWindow.

+ +
+
+ +

◆ pollEvent()

+ +
+
+ + + + + + + + +
bool sf::Window::pollEvent (Eventevent)
+
+ +

Pop the event on top of the event queue, if any, and return it.

+

This function is not blocking: if there's no pending event then it will return false and leave event unmodified. Note that more than one event may be present in the event queue, thus you should always call this function in a loop to make sure that you process every pending event.

sf::Event event;
while (window.pollEvent(event))
{
// process event...
}
Parameters
+ + +
eventEvent to be returned
+
+
+
Returns
True if an event was returned, or false if the event queue was empty
+
See also
waitEvent
+ +
+
+ +

◆ requestFocus()

+ +
+
+ + + + + + + +
void sf::Window::requestFocus ()
+
+ +

Request the current window to be made the active foreground window.

+

At any given time, only one window may have the input focus to receive input events such as keystrokes or mouse events. If a window requests focus, it only hints to the operating system, that it would like to be focused. The operating system is free to deny the request. This is not to be confused with setActive().

+
See also
hasFocus
+ +
+
+ +

◆ setActive()

+ +
+
+ + + + + + + + +
bool sf::Window::setActive (bool active = true) const
+
+ +

Activate or deactivate the window as the current target for OpenGL rendering.

+

A window is active only on the current thread, if you want to make it active on another thread you have to deactivate it on the previous thread first if it was active. Only one window can be active on a thread at a time, thus the window previously active (if any) automatically gets deactivated. This is not to be confused with requestFocus().

+
Parameters
+ + +
activeTrue to activate, false to deactivate
+
+
+
Returns
True if operation was successful, false otherwise
+ +
+
+ +

◆ setFramerateLimit()

+ +
+
+ + + + + + + + +
void sf::Window::setFramerateLimit (unsigned int limit)
+
+ +

Limit the framerate to a maximum fixed frequency.

+

If a limit is set, the window will use a small delay after each call to display() to ensure that the current frame lasted long enough to match the framerate limit. SFML will try to match the given limit as much as it can, but since it internally uses sf::sleep, whose precision depends on the underlying OS, the results may be a little unprecise as well (for example, you can get 65 FPS when requesting 60).

+
Parameters
+ + +
limitFramerate limit, in frames per seconds (use 0 to disable limit)
+
+
+ +
+
+ +

◆ setIcon()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sf::Window::setIcon (unsigned int width,
unsigned int height,
const Uint8 * pixels 
)
+
+ +

Change the window's icon.

+

pixels must be an array of width x height pixels in 32-bits RGBA format.

+

The OS default icon is used by default.

+
Parameters
+ + + + +
widthIcon's width, in pixels
heightIcon's height, in pixels
pixelsPointer to the array of pixels in memory. The pixels are copied, so you need not keep the source alive after calling this function.
+
+
+
See also
setTitle
+ +
+
+ +

◆ setJoystickThreshold()

+ +
+
+ + + + + + + + +
void sf::Window::setJoystickThreshold (float threshold)
+
+ +

Change the joystick threshold.

+

The joystick threshold is the value below which no JoystickMoved event will be generated.

+

The threshold value is 0.1 by default.

+
Parameters
+ + +
thresholdNew threshold, in the range [0, 100]
+
+
+ +
+
+ +

◆ setKeyRepeatEnabled()

+ +
+
+ + + + + + + + +
void sf::Window::setKeyRepeatEnabled (bool enabled)
+
+ +

Enable or disable automatic key-repeat.

+

If key repeat is enabled, you will receive repeated KeyPressed events while keeping a key pressed. If it is disabled, you will only get a single event when the key is pressed.

+

Key repeat is enabled by default.

+
Parameters
+ + +
enabledTrue to enable, false to disable
+
+
+ +
+
+ +

◆ setMouseCursor()

+ +
+
+ + + + + + + + +
void sf::Window::setMouseCursor (const Cursorcursor)
+
+ +

Set the displayed cursor to a native system cursor.

+

Upon window creation, the arrow cursor is used by default.

+
Warning
The cursor must not be destroyed while in use by the window.
+
+Features related to Cursor are not supported on iOS and Android.
+
Parameters
+ + +
cursorNative system cursor type to display
+
+
+
See also
sf::Cursor::loadFromSystem
+
+sf::Cursor::loadFromPixels
+ +
+
+ +

◆ setMouseCursorGrabbed()

+ +
+
+ + + + + + + + +
void sf::Window::setMouseCursorGrabbed (bool grabbed)
+
+ +

Grab or release the mouse cursor.

+

If set, grabs the mouse cursor inside this window's client area so it may no longer be moved outside its bounds. Note that grabbing is only active while the window has focus.

+
Parameters
+ + +
grabbedTrue to enable, false to disable
+
+
+ +
+
+ +

◆ setMouseCursorVisible()

+ +
+
+ + + + + + + + +
void sf::Window::setMouseCursorVisible (bool visible)
+
+ +

Show or hide the mouse cursor.

+

The mouse cursor is visible by default.

+
Parameters
+ + +
visibleTrue to show the mouse cursor, false to hide it
+
+
+ +
+
+ +

◆ setPosition()

+ +
+
+ + + + + + + + +
void sf::Window::setPosition (const Vector2iposition)
+
+ +

Change the position of the window on screen.

+

This function only works for top-level windows (i.e. it will be ignored for windows created from the handle of a child window/control).

+
Parameters
+ + +
positionNew position, in pixels
+
+
+
See also
getPosition
+ +
+
+ +

◆ setSize()

+ +
+
+ + + + + + + + +
void sf::Window::setSize (const Vector2usize)
+
+ +

Change the size of the rendering region of the window.

+
Parameters
+ + +
sizeNew size, in pixels
+
+
+
See also
getSize
+ +
+
+ +

◆ setTitle()

+ +
+
+ + + + + + + + +
void sf::Window::setTitle (const Stringtitle)
+
+ +

Change the title of the window.

+
Parameters
+ + +
titleNew title
+
+
+
See also
setIcon
+ +
+
+ +

◆ setVerticalSyncEnabled()

+ +
+
+ + + + + + + + +
void sf::Window::setVerticalSyncEnabled (bool enabled)
+
+ +

Enable or disable vertical synchronization.

+

Activating vertical synchronization will limit the number of frames displayed to the refresh rate of the monitor. This can avoid some visual artifacts, and limit the framerate to a good value (but not constant across different computers).

+

Vertical synchronization is disabled by default.

+
Parameters
+ + +
enabledTrue to enable v-sync, false to deactivate it
+
+
+ +
+
+ +

◆ setVisible()

+ +
+
+ + + + + + + + +
void sf::Window::setVisible (bool visible)
+
+ +

Show or hide the window.

+

The window is shown by default.

+
Parameters
+ + +
visibleTrue to show the window, false to hide it
+
+
+ +
+
+ +

◆ waitEvent()

+ +
+
+ + + + + + + + +
bool sf::Window::waitEvent (Eventevent)
+
+ +

Wait for an event and return it.

+

This function is blocking: if there's no pending event then it will wait until an event is received. After this function returns (and no error occurred), the 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.

sf::Event event;
if (window.waitEvent(event))
{
// process event...
}
Parameters
+ + +
eventEvent to be returned
+
+
+
Returns
False if any error occurred
+
See also
pollEvent
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/SFML/doc/html/classsf_1_1Window.png b/SFML/doc/html/classsf_1_1Window.png new file mode 100644 index 0000000..75c9ab3 Binary files /dev/null and b/SFML/doc/html/classsf_1_1Window.png differ diff --git a/SFML/doc/html/closed.png b/SFML/doc/html/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/SFML/doc/html/closed.png differ diff --git a/SFML/doc/html/deprecated.html b/SFML/doc/html/deprecated.html new file mode 100644 index 0000000..1868eae --- /dev/null +++ b/SFML/doc/html/deprecated.html @@ -0,0 +1,94 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Deprecated List
+
+
+
+
Class sf::Event::MouseWheelEvent
+
This event is deprecated and potentially inaccurate. Use MouseWheelScrollEvent instead.
+
Member sf::Keyboard::BackSlash
+
Use Backslash instead
+
Member sf::Keyboard::BackSpace
+
Use Backspace instead
+
Member sf::Keyboard::Dash
+
Use Hyphen instead
+
Member sf::Keyboard::Return
+
Use Enter instead
+
Member sf::Keyboard::SemiColon
+
Use Semicolon instead
+
Member sf::LinesStrip
+
Use LineStrip instead
+
Member sf::RenderTexture::create (unsigned int width, unsigned int height, bool depthBuffer)
+
Use create(unsigned int, unsigned int, const ContextSettings&) instead.
+
Member sf::RenderWindow::capture () const
+
Use a sf::Texture and its sf::Texture::update(const Window&) function and copy its contents into an sf::Image instead.
+
Member sf::Shader::setParameter (const std::string &name, const Color &color)
+
Use setUniform(const std::string&, const Glsl::Vec4&) instead.
+
Member sf::Shader::setParameter (const std::string &name, CurrentTextureType)
+
Use setUniform(const std::string&, CurrentTextureType) instead.
+
Member sf::Shader::setParameter (const std::string &name, const Vector2f &vector)
+
Use setUniform(const std::string&, const Glsl::Vec2&) instead.
+
Member sf::Shader::setParameter (const std::string &name, const Transform &transform)
+
Use setUniform(const std::string&, const Glsl::Mat4&) instead.
+
Member sf::Shader::setParameter (const std::string &name, float x, float y, float z)
+
Use setUniform(const std::string&, const Glsl::Vec3&) instead.
+
Member sf::Shader::setParameter (const std::string &name, float x)
+
Use setUniform(const std::string&, float) instead.
+
Member sf::Shader::setParameter (const std::string &name, float x, float y)
+
Use setUniform(const std::string&, const Glsl::Vec2&) instead.
+
Member sf::Shader::setParameter (const std::string &name, const Texture &texture)
+
Use setUniform(const std::string&, const Texture&) instead.
+
Member sf::Shader::setParameter (const std::string &name, const Vector3f &vector)
+
Use setUniform(const std::string&, const Glsl::Vec3&) instead.
+
Member sf::Shader::setParameter (const std::string &name, float x, float y, float z, float w)
+
Use setUniform(const std::string&, const Glsl::Vec4&) instead.
+
Member sf::Text::getColor () const
+
There is now fill and outline colors instead of a single global color. Use getFillColor() or getOutlineColor() instead.
+
Member sf::Text::setColor (const Color &color)
+
There is now fill and outline colors instead of a single global color. Use setFillColor() or setOutlineColor() instead.
+
Member sf::TrianglesFan
+
Use TriangleFan instead
+
Member sf::TrianglesStrip
+
Use TriangleStrip instead
+
+
+ + + + diff --git a/SFML/doc/html/dir_5cf786e58cbf7297a26339ae6e44357c.html b/SFML/doc/html/dir_5cf786e58cbf7297a26339ae6e44357c.html new file mode 100644 index 0000000..50ac228 --- /dev/null +++ b/SFML/doc/html/dir_5cf786e58cbf7297a26339ae6e44357c.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Window Directory Reference
+
+
+
+ + + + diff --git a/SFML/doc/html/dir_83d50c0b1f1eceb6f182949162e90861.html b/SFML/doc/html/dir_83d50c0b1f1eceb6f182949162e90861.html new file mode 100644 index 0000000..6c34f0e --- /dev/null +++ b/SFML/doc/html/dir_83d50c0b1f1eceb6f182949162e90861.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
System Directory Reference
+
+
+
+ + + + diff --git a/SFML/doc/html/dir_89e9fb32471ae291b179a889144513db.html b/SFML/doc/html/dir_89e9fb32471ae291b179a889144513db.html new file mode 100644 index 0000000..1cfadfe --- /dev/null +++ b/SFML/doc/html/dir_89e9fb32471ae291b179a889144513db.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Network Directory Reference
+
+
+
+ + + + diff --git a/SFML/doc/html/dir_c0a853e81d6f1c1f0a3eb7a27dc24256.html b/SFML/doc/html/dir_c0a853e81d6f1c1f0a3eb7a27dc24256.html new file mode 100644 index 0000000..60f4465 --- /dev/null +++ b/SFML/doc/html/dir_c0a853e81d6f1c1f0a3eb7a27dc24256.html @@ -0,0 +1,66 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SFML Directory Reference
+
+
+ + +

+Directories

+ + + + +

+Files

file  GpuPreference.hpp [code]
 Headers.
 
+
+ + + + diff --git a/SFML/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html b/SFML/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000..3eed7dd --- /dev/null +++ b/SFML/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,60 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
include Directory Reference
+
+
+ + +

+Directories

+
+ + + + diff --git a/SFML/doc/html/dir_dd49ddb3ba8035e4a328f8c5f31cda7e.html b/SFML/doc/html/dir_dd49ddb3ba8035e4a328f8c5f31cda7e.html new file mode 100644 index 0000000..172140c --- /dev/null +++ b/SFML/doc/html/dir_dd49ddb3ba8035e4a328f8c5f31cda7e.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Audio Directory Reference
+
+
+
+ + + + diff --git a/SFML/doc/html/dir_e68e8157741866f444e17edd764ebbae.html b/SFML/doc/html/dir_e68e8157741866f444e17edd764ebbae.html new file mode 100644 index 0000000..66ad8e9 --- /dev/null +++ b/SFML/doc/html/dir_e68e8157741866f444e17edd764ebbae.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
doc Directory Reference
+
+
+
+ + + + diff --git a/SFML/doc/html/dir_e71ec51a9abd604c65f6abb639f6ea75.html b/SFML/doc/html/dir_e71ec51a9abd604c65f6abb639f6ea75.html new file mode 100644 index 0000000..96ea9a1 --- /dev/null +++ b/SFML/doc/html/dir_e71ec51a9abd604c65f6abb639f6ea75.html @@ -0,0 +1,56 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Graphics Directory Reference
+
+
+
+ + + + diff --git a/SFML/doc/html/doc.png b/SFML/doc/html/doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/SFML/doc/html/doc.png differ diff --git a/SFML/doc/html/doxygen.css b/SFML/doc/html/doxygen.css new file mode 100644 index 0000000..9c2fc6a --- /dev/null +++ b/SFML/doc/html/doxygen.css @@ -0,0 +1,1450 @@ +/* The standard CSS for doxygen */ + +/* @group Heading Levels */ + +div.contents .textblock h1 { + text-align: left; + font-size: 20pt; + font-weight: normal; + margin-top: 1.5em; + padding: 0 0 0.4em 0; + border-bottom: 1px solid #999; + border-top-width: 0; + border-left-width: 0; + border-right-width: 0; + background-color: transparent; +} + +h1.groupheader { + font-size: 150%; +} + +.title { + font-size: 20pt; + font-weight: normal; + margin: 10px 2px; +} + +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 { + margin-bottom: 1em; +} + +div.qindex, div.navtab{ + background-color: #eee; + border: 1px solid #999; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +a.el { + padding: 1px; + text-decoration: none; + color: #577E25; +} + +a.el:hover { + text-decoration: underline; +} + +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%; + font-family: monospace, fixed; + font-size: 105%;*/ + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-size: 10pt; + padding: 0.5em 1em; + background-color: #f5f5f5; + border: 1px solid #bbb; + border-radius(5px); +} + +div.fragment { + /*margin: 0 0 0 5px; + padding: 0.5em 1em; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-size: 10pt; + background-color: #eef7e3; + border-left: 3px solid #8DC841; + border-right: 0; + border-bottom: 0;*/ + + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-size: 10pt; + padding: 0.5em 1em; + background-color: #f5f5f5; + border: 1px solid #bbb; + border-radius(5px); +} + +div.line { + min-height: 13px; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + line-height: normal; +} + +span.lineno { + padding-right: 4px; + text-align: right; + background-color: #E8E8E8; + white-space: pre; +} + +div.ah { + width: 100%; + background-color: #eee; + font-weight: bold; + color: #000; + margin-bottom: 1px; + margin-top: 1px; + border: solid 1px #999; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + width: 950px; + margin: 0 auto; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +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 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + display: none; + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + /*box-shadow: 0 0 15px cyan;*/ +} + +.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; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memtitle { + display: none; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + /*margin-bottom: 10px;*/ + margin-right: 5px; + display: table !important; + width: 100%; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #000; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #eee; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + background-color: #FFFFFF; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #bbb; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding: 5px 5px 5px 0; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + /*border-left: 1px solid rgba(0,0,0,0.05);*/ +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table table { + width: 90%; +} + +.memitem table table { + width: auto; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +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; +} + +table.fieldtable { + width: 100%; + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath { + display: none; +} + +.navpath ul { + font-size: 11px; + 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; + color:#364D7C; +} + +.navpath li.navelem a { + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover { + color:#6884BD; +} + +.navpath li.footer { + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary { + font-size: 8pt; + padding-right: 5px; +} + +div.summary a { + white-space: nowrap; + padding: 1px; + text-decoration: none; + color: #577E25; +} + +div.summary a:hover { + text-decoration: underline; +} + +div.ingroups { + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a { + white-space: nowrap; +} + +div.header { + width: 950px; + margin: 2em auto; + border-bottom: 1px solid #999; +} + +dl { + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.note { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo { + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img { + border: 0px none; +} + +#projectname { + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief { + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber { + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea { + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image { + text-align: center; +} + +.dotgraph { + text-align: center; +} + +.mscgraph { + text-align: center; +} + +.caption { + font-weight: bold; +} + +div.zoom { + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +@media print { + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + + #doc-content { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* tabs.css */ +.tabs, .tabs2, .tabs3 { + width: 100%; + z-index: 101; + font-size: 11pt; + background-color: #EAF5DB; + border-left: 1px solid #999; + border-right: 1px solid #999; + border-bottom: 1px solid #999; + padding: 0; + margin: 0; +} + +.tabs2 { + font-size: 10pt; +} +.tabs3 { + font-size: 9pt; +} + +#navrow1 .tablist, #navrow2 .tablist, #navrow3 .tablist, #navrow4 .tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + list-style: none; +} + +#navrow1 { + border-top: 1px solid #999; + margin-top: 2em; +} + +#navrow1 .tablist a, #navrow2 .tablist a, #navrow3 .tablist a, #navrow4 .tablist a { + display: block; + margin: 8px 0; + padding: 0 8px; + border-right: 1px solid #bbb; +} + +.tablist li { + margin-bottom: 0 !important; +} + +.tablist li.current a { + font-weight: bold; +} + + + + + +/* SFML css */ +body { + font-family: 'Ubuntu', 'Arial', sans-serif; + line-height: 140%; + margin: 0 0 2em 0; + padding: 0; +} + +#banner-container { + width: 100%; + margin-top: 25px; + border-top: 2px solid #999; + border-bottom: 2px solid #999; + background-color: rgb(140, 200, 65); +} + +#banner { + width: 950px; + height: 60px; + line-height: 54px; + margin: 0 auto; + text-align: center; +} + +#banner #sfml { + display: inline; + vertical-align: top; + margin-left: 15px; + color: #fff; + font-size: 50pt; + text-shadow: rgba(0, 0, 0, 0.5) 1px 1px 5px; +} + +#footer-container { + clear: both; + width: 100%; + margin-top: 50px; + border-top: 1px solid #999; +} + +#footer { + width: 950px; + margin: 10px auto; + text-align: center; + font-size: 10pt; + color: #555; +} + +#footer a { + padding: 1px; + text-decoration: none; + color: rgb(70, 100, 30); +} + +#footer a:hover { + text-decoration: underline; +} + +div.contents, #content { + width: 950px; + margin: 0 auto; + padding: 0; +} + +div.contents h1 { + color: #333; + padding: 0.5em 0; + margin-top: 30px; + margin-bottom: 0; + text-align: center; + font-size: 26pt; + font-weight: normal; +} + +div.contents h2 { + font-size: 20pt; + font-weight: normal; + margin-top: 1.5em; + padding-bottom: 0.4em; + border-bottom: 1px solid #999; +} + +div.contents h3 { + font-size: 16pt; + font-weight: normal; +} + +div.contents p { + color: #333; + text-align: justify; +} + +div.contents a, #content a { + padding: 1px; + text-decoration: none; + color: rgb(70, 100, 30); +} + +div.contents a:hover, #content a:hover { + text-decoration: underline; +} + +div.contents code { + font-size: 11pt; + font-family: Consolas, "Liberation Mono", Courier, monospace; +} + +div.contents pre code { + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-size: 10pt; + padding: 0.5em 1em; + background-color: #f5f5f5; + border: 1px solid #bbb; +} + +div.contents ul { + list-style-type: square; + list-style-position: outside; + margin: 0 0 0 1.5em; + padding: 0; +} + +div.contents ul li { + color: #333; + margin: 0 0 0.3em 0; +} + + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #8cc445; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; + line-height: normal; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('ftv2doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} +.arrow { + cursor: pointer; +} diff --git a/SFML/doc/html/doxygen.png b/SFML/doc/html/doxygen.png new file mode 100644 index 0000000..3ff17d8 Binary files /dev/null and b/SFML/doc/html/doxygen.png differ diff --git a/SFML/doc/html/dynsections.js b/SFML/doc/html/dynsections.js new file mode 100644 index 0000000..537e3e4 --- /dev/null +++ b/SFML/doc/html/dynsections.js @@ -0,0 +1,127 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 AlResource.hpp
 Audio.hpp
 BlendMode.hpp
 CircleShape.hpp
 Clipboard.hpp
 Clock.hpp
 Color.hpp
 Config.hpp
 Context.hpp
 ContextSettings.hpp
 ConvexShape.hpp
 Cursor.hpp
 Drawable.hpp
 Err.hpp
 Event.hpp
 Audio/Export.hpp
 Graphics/Export.hpp
 Network/Export.hpp
 System/Export.hpp
 Window/Export.hpp
 FileInputStream.hpp
 Font.hpp
 Ftp.hpp
 GlResource.hpp
 Glsl.hpp
 Glyph.hpp
 GpuPreference.hppHeaders
 Graphics.hpp
 Http.hpp
 Image.hpp
 InputSoundFile.hpp
 InputStream.hpp
 IpAddress.hpp
 Joystick.hpp
 Keyboard.hpp
 Listener.hpp
 Lock.hpp
 Main.hpp
 mainpage.hpp
 MemoryInputStream.hpp
 Mouse.hpp
 Music.hpp
 Mutex.hpp
 NativeActivity.hpp
 Network.hpp
 NonCopyable.hpp
 OpenGL.hpp
 OutputSoundFile.hpp
 Packet.hpp
 PrimitiveType.hpp
 Rect.hpp
 RectangleShape.hpp
 RenderStates.hpp
 RenderTarget.hpp
 RenderTexture.hpp
 RenderWindow.hpp
 Sensor.hpp
 Shader.hpp
 Shape.hpp
 Sleep.hpp
 Socket.hpp
 SocketHandle.hpp
 SocketSelector.hpp
 Sound.hpp
 SoundBuffer.hpp
 SoundBufferRecorder.hpp
 SoundFileFactory.hpp
 SoundFileReader.hpp
 SoundFileWriter.hpp
 SoundRecorder.hpp
 SoundSource.hpp
 SoundStream.hpp
 Sprite.hpp
 String.hpp
 System.hpp
 TcpListener.hpp
 TcpSocket.hpp
 Text.hpp
 Texture.hpp
 Thread.hpp
 ThreadLocal.hpp
 ThreadLocalPtr.hpp
 Time.hpp
 Touch.hpp
 Transform.hpp
 Transformable.hpp
 UdpSocket.hpp
 Utf.hpp
 Vector2.hpp
 Vector3.hpp
 Vertex.hpp
 VertexArray.hpp
 VertexBuffer.hpp
 VideoMode.hpp
 View.hpp
 Window/Window.hpp
 Window.hpp
 WindowHandle.hpp
 WindowStyle.hpp
+
+
+ + + + diff --git a/SFML/doc/html/folderclosed.png b/SFML/doc/html/folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/SFML/doc/html/folderclosed.png differ diff --git a/SFML/doc/html/folderopen.png b/SFML/doc/html/folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/SFML/doc/html/folderopen.png differ diff --git a/SFML/doc/html/functions.html b/SFML/doc/html/functions.html new file mode 100644 index 0000000..67e806f --- /dev/null +++ b/SFML/doc/html/functions.html @@ -0,0 +1,182 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+
+ + + + diff --git a/SFML/doc/html/functions_0x7e.html b/SFML/doc/html/functions_0x7e.html new file mode 100644 index 0000000..21e55da --- /dev/null +++ b/SFML/doc/html/functions_0x7e.html @@ -0,0 +1,213 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- ~ -

+
+ + + + diff --git a/SFML/doc/html/functions_b.html b/SFML/doc/html/functions_b.html new file mode 100644 index 0000000..4c73db3 --- /dev/null +++ b/SFML/doc/html/functions_b.html @@ -0,0 +1,170 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- b -

+
+ + + + diff --git a/SFML/doc/html/functions_c.html b/SFML/doc/html/functions_c.html new file mode 100644 index 0000000..647306b --- /dev/null +++ b/SFML/doc/html/functions_c.html @@ -0,0 +1,257 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- c -

+
+ + + + diff --git a/SFML/doc/html/functions_d.html b/SFML/doc/html/functions_d.html new file mode 100644 index 0000000..dd3d631 --- /dev/null +++ b/SFML/doc/html/functions_d.html @@ -0,0 +1,191 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- d -

+
+ + + + diff --git a/SFML/doc/html/functions_e.html b/SFML/doc/html/functions_e.html new file mode 100644 index 0000000..d7a71ba --- /dev/null +++ b/SFML/doc/html/functions_e.html @@ -0,0 +1,146 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- e -

+
+ + + + diff --git a/SFML/doc/html/functions_enum.html b/SFML/doc/html/functions_enum.html new file mode 100644 index 0000000..22edf4b --- /dev/null +++ b/SFML/doc/html/functions_enum.html @@ -0,0 +1,114 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+ + + + diff --git a/SFML/doc/html/functions_eval.html b/SFML/doc/html/functions_eval.html new file mode 100644 index 0000000..a815e0d --- /dev/null +++ b/SFML/doc/html/functions_eval.html @@ -0,0 +1,123 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- a -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_b.html b/SFML/doc/html/functions_eval_b.html new file mode 100644 index 0000000..fef9168 --- /dev/null +++ b/SFML/doc/html/functions_eval_b.html @@ -0,0 +1,129 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- b -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_c.html b/SFML/doc/html/functions_eval_c.html new file mode 100644 index 0000000..dc6e999 --- /dev/null +++ b/SFML/doc/html/functions_eval_c.html @@ -0,0 +1,137 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- c -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_d.html b/SFML/doc/html/functions_eval_d.html new file mode 100644 index 0000000..94f7fce --- /dev/null +++ b/SFML/doc/html/functions_eval_d.html @@ -0,0 +1,147 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- d -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_e.html b/SFML/doc/html/functions_eval_e.html new file mode 100644 index 0000000..c44f684 --- /dev/null +++ b/SFML/doc/html/functions_eval_e.html @@ -0,0 +1,119 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- e -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_f.html b/SFML/doc/html/functions_eval_f.html new file mode 100644 index 0000000..507a279 --- /dev/null +++ b/SFML/doc/html/functions_eval_f.html @@ -0,0 +1,164 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- f -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_g.html b/SFML/doc/html/functions_eval_g.html new file mode 100644 index 0000000..1b6380f --- /dev/null +++ b/SFML/doc/html/functions_eval_g.html @@ -0,0 +1,116 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- g -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_h.html b/SFML/doc/html/functions_eval_h.html new file mode 100644 index 0000000..eae17b4 --- /dev/null +++ b/SFML/doc/html/functions_eval_h.html @@ -0,0 +1,119 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- h -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_i.html b/SFML/doc/html/functions_eval_i.html new file mode 100644 index 0000000..cc86bf1 --- /dev/null +++ b/SFML/doc/html/functions_eval_i.html @@ -0,0 +1,117 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- i -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_j.html b/SFML/doc/html/functions_eval_j.html new file mode 100644 index 0000000..9fa37e1 --- /dev/null +++ b/SFML/doc/html/functions_eval_j.html @@ -0,0 +1,113 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- j -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_k.html b/SFML/doc/html/functions_eval_k.html new file mode 100644 index 0000000..b9eb212 --- /dev/null +++ b/SFML/doc/html/functions_eval_k.html @@ -0,0 +1,107 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- k -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_l.html b/SFML/doc/html/functions_eval_l.html new file mode 100644 index 0000000..55ae08a --- /dev/null +++ b/SFML/doc/html/functions_eval_l.html @@ -0,0 +1,126 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- l -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_m.html b/SFML/doc/html/functions_eval_m.html new file mode 100644 index 0000000..d787774 --- /dev/null +++ b/SFML/doc/html/functions_eval_m.html @@ -0,0 +1,143 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- m -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_n.html b/SFML/doc/html/functions_eval_n.html new file mode 100644 index 0000000..87f5dbf --- /dev/null +++ b/SFML/doc/html/functions_eval_n.html @@ -0,0 +1,200 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- n -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_o.html b/SFML/doc/html/functions_eval_o.html new file mode 100644 index 0000000..8d6beaa --- /dev/null +++ b/SFML/doc/html/functions_eval_o.html @@ -0,0 +1,123 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- o -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_p.html b/SFML/doc/html/functions_eval_p.html new file mode 100644 index 0000000..99cd250 --- /dev/null +++ b/SFML/doc/html/functions_eval_p.html @@ -0,0 +1,149 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- p -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_q.html b/SFML/doc/html/functions_eval_q.html new file mode 100644 index 0000000..4bd990c --- /dev/null +++ b/SFML/doc/html/functions_eval_q.html @@ -0,0 +1,101 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- q -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_r.html b/SFML/doc/html/functions_eval_r.html new file mode 100644 index 0000000..27a19bd --- /dev/null +++ b/SFML/doc/html/functions_eval_r.html @@ -0,0 +1,139 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- r -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_s.html b/SFML/doc/html/functions_eval_s.html new file mode 100644 index 0000000..579fe64 --- /dev/null +++ b/SFML/doc/html/functions_eval_s.html @@ -0,0 +1,168 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- s -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_t.html b/SFML/doc/html/functions_eval_t.html new file mode 100644 index 0000000..64ec020 --- /dev/null +++ b/SFML/doc/html/functions_eval_t.html @@ -0,0 +1,125 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- t -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_u.html b/SFML/doc/html/functions_eval_u.html new file mode 100644 index 0000000..59bcddc --- /dev/null +++ b/SFML/doc/html/functions_eval_u.html @@ -0,0 +1,117 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- u -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_v.html b/SFML/doc/html/functions_eval_v.html new file mode 100644 index 0000000..77ab118 --- /dev/null +++ b/SFML/doc/html/functions_eval_v.html @@ -0,0 +1,108 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- v -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_w.html b/SFML/doc/html/functions_eval_w.html new file mode 100644 index 0000000..44a3f60 --- /dev/null +++ b/SFML/doc/html/functions_eval_w.html @@ -0,0 +1,101 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- w -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_x.html b/SFML/doc/html/functions_eval_x.html new file mode 100644 index 0000000..02f29e2 --- /dev/null +++ b/SFML/doc/html/functions_eval_x.html @@ -0,0 +1,105 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- x -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_y.html b/SFML/doc/html/functions_eval_y.html new file mode 100644 index 0000000..2abcc58 --- /dev/null +++ b/SFML/doc/html/functions_eval_y.html @@ -0,0 +1,99 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- y -

+
+ + + + diff --git a/SFML/doc/html/functions_eval_z.html b/SFML/doc/html/functions_eval_z.html new file mode 100644 index 0000000..7ba4b00 --- /dev/null +++ b/SFML/doc/html/functions_eval_z.html @@ -0,0 +1,102 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- z -

+
+ + + + diff --git a/SFML/doc/html/functions_f.html b/SFML/doc/html/functions_f.html new file mode 100644 index 0000000..41be73d --- /dev/null +++ b/SFML/doc/html/functions_f.html @@ -0,0 +1,216 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- f -

+
+ + + + diff --git a/SFML/doc/html/functions_func.html b/SFML/doc/html/functions_func.html new file mode 100644 index 0000000..34aaa8b --- /dev/null +++ b/SFML/doc/html/functions_func.html @@ -0,0 +1,114 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- a -

+
+ + + + diff --git a/SFML/doc/html/functions_func_0x7e.html b/SFML/doc/html/functions_func_0x7e.html new file mode 100644 index 0000000..3b77cf4 --- /dev/null +++ b/SFML/doc/html/functions_func_0x7e.html @@ -0,0 +1,209 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- ~ -

+
+ + + + diff --git a/SFML/doc/html/functions_func_b.html b/SFML/doc/html/functions_func_b.html new file mode 100644 index 0000000..8ec5dd3 --- /dev/null +++ b/SFML/doc/html/functions_func_b.html @@ -0,0 +1,104 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- b -

+
+ + + + diff --git a/SFML/doc/html/functions_func_c.html b/SFML/doc/html/functions_func_c.html new file mode 100644 index 0000000..74d503b --- /dev/null +++ b/SFML/doc/html/functions_func_c.html @@ -0,0 +1,178 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- c -

+
+ + + + diff --git a/SFML/doc/html/functions_func_d.html b/SFML/doc/html/functions_func_d.html new file mode 100644 index 0000000..1aade81 --- /dev/null +++ b/SFML/doc/html/functions_func_d.html @@ -0,0 +1,127 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- d -

+
+ + + + diff --git a/SFML/doc/html/functions_func_e.html b/SFML/doc/html/functions_func_e.html new file mode 100644 index 0000000..b08d9a4 --- /dev/null +++ b/SFML/doc/html/functions_func_e.html @@ -0,0 +1,112 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- e -

+
+ + + + diff --git a/SFML/doc/html/functions_func_f.html b/SFML/doc/html/functions_func_f.html new file mode 100644 index 0000000..abaf7b3 --- /dev/null +++ b/SFML/doc/html/functions_func_f.html @@ -0,0 +1,134 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- f -

+
+ + + + diff --git a/SFML/doc/html/functions_func_g.html b/SFML/doc/html/functions_func_g.html new file mode 100644 index 0000000..7cf2909 --- /dev/null +++ b/SFML/doc/html/functions_func_g.html @@ -0,0 +1,452 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- g -

+
+ + + + diff --git a/SFML/doc/html/functions_func_h.html b/SFML/doc/html/functions_func_h.html new file mode 100644 index 0000000..6f3b1b7 --- /dev/null +++ b/SFML/doc/html/functions_func_h.html @@ -0,0 +1,101 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- h -

+
+ + + + diff --git a/SFML/doc/html/functions_func_i.html b/SFML/doc/html/functions_func_i.html new file mode 100644 index 0000000..bb4de4e --- /dev/null +++ b/SFML/doc/html/functions_func_i.html @@ -0,0 +1,168 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- i -

+
+ + + + diff --git a/SFML/doc/html/functions_func_k.html b/SFML/doc/html/functions_func_k.html new file mode 100644 index 0000000..3113bdc --- /dev/null +++ b/SFML/doc/html/functions_func_k.html @@ -0,0 +1,95 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- k -

+
+ + + + diff --git a/SFML/doc/html/functions_func_l.html b/SFML/doc/html/functions_func_l.html new file mode 100644 index 0000000..7aacf68 --- /dev/null +++ b/SFML/doc/html/functions_func_l.html @@ -0,0 +1,143 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- l -

+
+ + + + diff --git a/SFML/doc/html/functions_func_m.html b/SFML/doc/html/functions_func_m.html new file mode 100644 index 0000000..8a60ce5 --- /dev/null +++ b/SFML/doc/html/functions_func_m.html @@ -0,0 +1,117 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- m -

+
+ + + + diff --git a/SFML/doc/html/functions_func_n.html b/SFML/doc/html/functions_func_n.html new file mode 100644 index 0000000..bc737b8 --- /dev/null +++ b/SFML/doc/html/functions_func_n.html @@ -0,0 +1,100 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- n -

+
+ + + + diff --git a/SFML/doc/html/functions_func_o.html b/SFML/doc/html/functions_func_o.html new file mode 100644 index 0000000..903c8a3 --- /dev/null +++ b/SFML/doc/html/functions_func_o.html @@ -0,0 +1,287 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- o -

+
+ + + + diff --git a/SFML/doc/html/functions_func_p.html b/SFML/doc/html/functions_func_p.html new file mode 100644 index 0000000..59a1566 --- /dev/null +++ b/SFML/doc/html/functions_func_p.html @@ -0,0 +1,117 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- p -

+
+ + + + diff --git a/SFML/doc/html/functions_func_r.html b/SFML/doc/html/functions_func_r.html new file mode 100644 index 0000000..f10e87f --- /dev/null +++ b/SFML/doc/html/functions_func_r.html @@ -0,0 +1,169 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- r -

+
+ + + + diff --git a/SFML/doc/html/functions_func_s.html b/SFML/doc/html/functions_func_s.html new file mode 100644 index 0000000..89822b2 --- /dev/null +++ b/SFML/doc/html/functions_func_s.html @@ -0,0 +1,400 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- s -

+
+ + + + diff --git a/SFML/doc/html/functions_func_t.html b/SFML/doc/html/functions_func_t.html new file mode 100644 index 0000000..f682936 --- /dev/null +++ b/SFML/doc/html/functions_func_t.html @@ -0,0 +1,188 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- t -

+
+ + + + diff --git a/SFML/doc/html/functions_func_u.html b/SFML/doc/html/functions_func_u.html new file mode 100644 index 0000000..1fdfdb8 --- /dev/null +++ b/SFML/doc/html/functions_func_u.html @@ -0,0 +1,116 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- u -

+
+ + + + diff --git a/SFML/doc/html/functions_func_v.html b/SFML/doc/html/functions_func_v.html new file mode 100644 index 0000000..41f05aa --- /dev/null +++ b/SFML/doc/html/functions_func_v.html @@ -0,0 +1,113 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- v -

+
+ + + + diff --git a/SFML/doc/html/functions_func_w.html b/SFML/doc/html/functions_func_w.html new file mode 100644 index 0000000..8812921 --- /dev/null +++ b/SFML/doc/html/functions_func_w.html @@ -0,0 +1,106 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- w -

+
+ + + + diff --git a/SFML/doc/html/functions_func_z.html b/SFML/doc/html/functions_func_z.html new file mode 100644 index 0000000..b0632ba --- /dev/null +++ b/SFML/doc/html/functions_func_z.html @@ -0,0 +1,95 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- z -

+
+ + + + diff --git a/SFML/doc/html/functions_g.html b/SFML/doc/html/functions_g.html new file mode 100644 index 0000000..98a7783 --- /dev/null +++ b/SFML/doc/html/functions_g.html @@ -0,0 +1,483 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- g -

+
+ + + + diff --git a/SFML/doc/html/functions_h.html b/SFML/doc/html/functions_h.html new file mode 100644 index 0000000..edde965 --- /dev/null +++ b/SFML/doc/html/functions_h.html @@ -0,0 +1,134 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- h -

+
+ + + + diff --git a/SFML/doc/html/functions_i.html b/SFML/doc/html/functions_i.html new file mode 100644 index 0000000..f568b72 --- /dev/null +++ b/SFML/doc/html/functions_i.html @@ -0,0 +1,203 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- i -

+
+ + + + diff --git a/SFML/doc/html/functions_j.html b/SFML/doc/html/functions_j.html new file mode 100644 index 0000000..2e425b4 --- /dev/null +++ b/SFML/doc/html/functions_j.html @@ -0,0 +1,128 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- j -

+
+ + + + diff --git a/SFML/doc/html/functions_k.html b/SFML/doc/html/functions_k.html new file mode 100644 index 0000000..9bfcb2e --- /dev/null +++ b/SFML/doc/html/functions_k.html @@ -0,0 +1,117 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- k -

+
+ + + + diff --git a/SFML/doc/html/functions_l.html b/SFML/doc/html/functions_l.html new file mode 100644 index 0000000..77c7028 --- /dev/null +++ b/SFML/doc/html/functions_l.html @@ -0,0 +1,187 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- l -

+
+ + + + diff --git a/SFML/doc/html/functions_m.html b/SFML/doc/html/functions_m.html new file mode 100644 index 0000000..425b9be --- /dev/null +++ b/SFML/doc/html/functions_m.html @@ -0,0 +1,196 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- m -

+
+ + + + diff --git a/SFML/doc/html/functions_n.html b/SFML/doc/html/functions_n.html new file mode 100644 index 0000000..6ba2d65 --- /dev/null +++ b/SFML/doc/html/functions_n.html @@ -0,0 +1,215 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- n -

+
+ + + + diff --git a/SFML/doc/html/functions_o.html b/SFML/doc/html/functions_o.html new file mode 100644 index 0000000..24e30e6 --- /dev/null +++ b/SFML/doc/html/functions_o.html @@ -0,0 +1,323 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- o -

+
+ + + + diff --git a/SFML/doc/html/functions_p.html b/SFML/doc/html/functions_p.html new file mode 100644 index 0000000..3bcd329 --- /dev/null +++ b/SFML/doc/html/functions_p.html @@ -0,0 +1,182 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- p -

+
+ + + + diff --git a/SFML/doc/html/functions_q.html b/SFML/doc/html/functions_q.html new file mode 100644 index 0000000..421e3d7 --- /dev/null +++ b/SFML/doc/html/functions_q.html @@ -0,0 +1,102 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- q -

+
+ + + + diff --git a/SFML/doc/html/functions_r.html b/SFML/doc/html/functions_r.html new file mode 100644 index 0000000..cca972a --- /dev/null +++ b/SFML/doc/html/functions_r.html @@ -0,0 +1,223 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- r -

+
+ + + + diff --git a/SFML/doc/html/functions_rela.html b/SFML/doc/html/functions_rela.html new file mode 100644 index 0000000..3009017 --- /dev/null +++ b/SFML/doc/html/functions_rela.html @@ -0,0 +1,66 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+ + + + diff --git a/SFML/doc/html/functions_s.html b/SFML/doc/html/functions_s.html new file mode 100644 index 0000000..497428a --- /dev/null +++ b/SFML/doc/html/functions_s.html @@ -0,0 +1,517 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- s -

+
+ + + + diff --git a/SFML/doc/html/functions_t.html b/SFML/doc/html/functions_t.html new file mode 100644 index 0000000..7822258 --- /dev/null +++ b/SFML/doc/html/functions_t.html @@ -0,0 +1,261 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- t -

+
+ + + + diff --git a/SFML/doc/html/functions_type.html b/SFML/doc/html/functions_type.html new file mode 100644 index 0000000..f333fca --- /dev/null +++ b/SFML/doc/html/functions_type.html @@ -0,0 +1,69 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+ + + + diff --git a/SFML/doc/html/functions_u.html b/SFML/doc/html/functions_u.html new file mode 100644 index 0000000..7c1f19a --- /dev/null +++ b/SFML/doc/html/functions_u.html @@ -0,0 +1,148 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- u -

+
+ + + + diff --git a/SFML/doc/html/functions_v.html b/SFML/doc/html/functions_v.html new file mode 100644 index 0000000..0c5502c --- /dev/null +++ b/SFML/doc/html/functions_v.html @@ -0,0 +1,131 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- v -

+
+ + + + diff --git a/SFML/doc/html/functions_vars.html b/SFML/doc/html/functions_vars.html new file mode 100644 index 0000000..2ced6b9 --- /dev/null +++ b/SFML/doc/html/functions_vars.html @@ -0,0 +1,478 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- g -

+ + +

- h -

+ + +

- i -

+ + +

- j -

+ + +

- k -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- v -

+ + +

- w -

+ + +

- x -

+ + +

- y -

+ + +

- z -

+
+ + + + diff --git a/SFML/doc/html/functions_w.html b/SFML/doc/html/functions_w.html new file mode 100644 index 0000000..2a4baba --- /dev/null +++ b/SFML/doc/html/functions_w.html @@ -0,0 +1,130 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- w -

+
+ + + + diff --git a/SFML/doc/html/functions_x.html b/SFML/doc/html/functions_x.html new file mode 100644 index 0000000..3d553a6 --- /dev/null +++ b/SFML/doc/html/functions_x.html @@ -0,0 +1,118 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- x -

+
+ + + + diff --git a/SFML/doc/html/functions_y.html b/SFML/doc/html/functions_y.html new file mode 100644 index 0000000..f0fa768 --- /dev/null +++ b/SFML/doc/html/functions_y.html @@ -0,0 +1,115 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- y -

+
+ + + + diff --git a/SFML/doc/html/functions_z.html b/SFML/doc/html/functions_z.html new file mode 100644 index 0000000..1876d3e --- /dev/null +++ b/SFML/doc/html/functions_z.html @@ -0,0 +1,113 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- z -

+
+ + + + diff --git a/SFML/doc/html/globals.html b/SFML/doc/html/globals.html new file mode 100644 index 0000000..72fd44a --- /dev/null +++ b/SFML/doc/html/globals.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + +
+
+
Here is a list of all documented file members with links to the documentation:
+
+ + + + diff --git a/SFML/doc/html/globals_defs.html b/SFML/doc/html/globals_defs.html new file mode 100644 index 0000000..4ba7280 --- /dev/null +++ b/SFML/doc/html/globals_defs.html @@ -0,0 +1,59 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + +
+ + + + +
+
+
+ + + + diff --git a/SFML/doc/html/group__audio.html b/SFML/doc/html/group__audio.html new file mode 100644 index 0000000..c624894 --- /dev/null +++ b/SFML/doc/html/group__audio.html @@ -0,0 +1,99 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
Audio module
+
+
+ +

Sounds, streaming (musics or custom sources), recording, spatialization. +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  sf::AlResource
 Base class for classes that require an OpenAL context. More...
 
class  sf::InputSoundFile
 Provide read access to sound files. More...
 
class  sf::Listener
 The audio listener is the point in the scene from where all the sounds are heard. More...
 
class  sf::Music
 Streamed music played from an audio file. More...
 
class  sf::OutputSoundFile
 Provide write access to sound files. More...
 
class  sf::Sound
 Regular sound that can be played in the audio environment. More...
 
class  sf::SoundBuffer
 Storage for audio samples defining a sound. More...
 
class  sf::SoundBufferRecorder
 Specialized SoundRecorder which stores the captured audio data into a sound buffer. More...
 
class  sf::SoundFileFactory
 Manages and instantiates sound file readers and writers. More...
 
class  sf::SoundFileReader
 Abstract base class for sound file decoding. More...
 
class  sf::SoundFileWriter
 Abstract base class for sound file encoding. More...
 
class  sf::SoundRecorder
 Abstract base class for capturing sound data. More...
 
class  sf::SoundSource
 Base class defining a sound's properties. More...
 
class  sf::SoundStream
 Abstract base class for streamed audio sources. More...
 
+

Detailed Description

+

Sounds, streaming (musics or custom sources), recording, spatialization.

+
+ + + + diff --git a/SFML/doc/html/group__graphics.html b/SFML/doc/html/group__graphics.html new file mode 100644 index 0000000..2b0fdb5 --- /dev/null +++ b/SFML/doc/html/group__graphics.html @@ -0,0 +1,202 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
Graphics module
+
+
+ +

2D graphics module: sprites, text, shapes, ... +More...

+ + + + + +

+Namespaces

 sf::Glsl
 Namespace with GLSL types.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  sf::BlendMode
 Blending modes for drawing. More...
 
class  sf::CircleShape
 Specialized shape representing a circle. More...
 
class  sf::Color
 Utility class for manipulating RGBA colors. More...
 
class  sf::ConvexShape
 Specialized shape representing a convex polygon. More...
 
class  sf::Drawable
 Abstract base class for objects that can be drawn to a render target. More...
 
class  sf::Font
 Class for loading and manipulating character fonts. More...
 
class  sf::Glyph
 Structure describing a glyph. More...
 
class  sf::Image
 Class for loading, manipulating and saving images. More...
 
class  sf::Rect< T >
 Utility class for manipulating 2D axis aligned rectangles. More...
 
class  sf::RectangleShape
 Specialized shape representing a rectangle. More...
 
class  sf::RenderStates
 Define the states used for drawing to a RenderTarget. More...
 
class  sf::RenderTarget
 Base class for all render targets (window, texture, ...) More...
 
class  sf::RenderTexture
 Target for off-screen 2D rendering into a texture. More...
 
class  sf::RenderWindow
 Window that can serve as a target for 2D drawing. More...
 
class  sf::Shader
 Shader class (vertex, geometry and fragment) More...
 
class  sf::Shape
 Base class for textured shapes with outline. More...
 
class  sf::Sprite
 Drawable representation of a texture, with its own transformations, color, etc. More...
 
class  sf::Text
 Graphical text that can be drawn to a render target. More...
 
class  sf::Texture
 Image living on the graphics card that can be used for drawing. More...
 
class  sf::Transform
 Define a 3x3 transform matrix. More...
 
class  sf::Transformable
 Decomposed transform defined by a position, a rotation and a scale. More...
 
class  sf::Vertex
 Define a point with color and texture coordinates. More...
 
class  sf::VertexArray
 Define a set of one or more 2D primitives. More...
 
class  sf::VertexBuffer
 Vertex buffer storage for one or more 2D primitives. More...
 
class  sf::View
 2D camera that defines what region is shown on screen More...
 
+ + + + +

+Enumerations

enum  sf::PrimitiveType {
+  sf::Points, +sf::Lines, +sf::LineStrip, +sf::Triangles, +
+  sf::TriangleStrip, +sf::TriangleFan, +sf::Quads, +sf::LinesStrip = LineStrip, +
+  sf::TrianglesStrip = TriangleStrip, +sf::TrianglesFan = TriangleFan +
+ }
 Types of primitives that a sf::VertexArray can render. More...
 
+

Detailed Description

+

2D graphics module: sprites, text, shapes, ...

+

Enumeration Type Documentation

+ +

◆ PrimitiveType

+ +
+
+ + + + +
enum sf::PrimitiveType
+
+ +

Types of primitives that a sf::VertexArray can render.

+

Points and lines have no area, therefore their thickness will always be 1 pixel, regardless the current transform and view.

+ + + + + + + + + + + +
Enumerator
Points 

List of individual points.

+
Lines 

List of individual lines.

+
LineStrip 

List of connected lines, a point uses the previous point to form a line.

+
Triangles 

List of individual triangles.

+
TriangleStrip 

List of connected triangles, a point uses the two previous points to form a triangle.

+
TriangleFan 

List of connected triangles, a point uses the common center and the previous point to form a triangle.

+
Quads 

List of individual quads (deprecated, don't work with OpenGL ES)

+
LinesStrip 
Deprecated:
Use LineStrip instead
+
TrianglesStrip 
Deprecated:
Use TriangleStrip instead
+
TrianglesFan 
Deprecated:
Use TriangleFan instead
+
+ +

Definition at line 39 of file PrimitiveType.hpp.

+ +
+
+
+ + + + diff --git a/SFML/doc/html/group__network.html b/SFML/doc/html/group__network.html new file mode 100644 index 0000000..4e48001 --- /dev/null +++ b/SFML/doc/html/group__network.html @@ -0,0 +1,84 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
Network module
+
+
+ +

Socket-based communication, utilities and higher-level network protocols (HTTP, FTP). +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  sf::Ftp
 A FTP client. More...
 
class  sf::Http
 A HTTP client. More...
 
class  sf::IpAddress
 Encapsulate an IPv4 network address. More...
 
class  sf::Packet
 Utility class to build blocks of data to transfer over the network. More...
 
class  sf::Socket
 Base class for all the socket types. More...
 
class  sf::SocketSelector
 Multiplexer that allows to read from multiple sockets. More...
 
class  sf::TcpListener
 Socket that listens to new TCP connections. More...
 
class  sf::TcpSocket
 Specialized socket using the TCP protocol. More...
 
class  sf::UdpSocket
 Specialized socket using the UDP protocol. More...
 
+

Detailed Description

+

Socket-based communication, utilities and higher-level network protocols (HTTP, FTP).

+
+ + + + diff --git a/SFML/doc/html/group__system.html b/SFML/doc/html/group__system.html new file mode 100644 index 0000000..1d3a9bd --- /dev/null +++ b/SFML/doc/html/group__system.html @@ -0,0 +1,192 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
System module
+
+
+ +

Base module of SFML, defining various utilities. +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  sf::Clock
 Utility class that measures the elapsed time. More...
 
class  sf::FileInputStream
 Implementation of input stream based on a file. More...
 
class  sf::InputStream
 Abstract class for custom file input streams. More...
 
class  sf::Lock
 Automatic wrapper for locking and unlocking mutexes. More...
 
class  sf::MemoryInputStream
 Implementation of input stream based on a memory chunk. More...
 
class  sf::Mutex
 Blocks concurrent access to shared resources from multiple threads. More...
 
class  sf::NonCopyable
 Utility class that makes any derived class non-copyable. More...
 
class  sf::String
 Utility string class that automatically handles conversions between types and encodings. More...
 
class  sf::Thread
 Utility class to manipulate threads. More...
 
class  sf::ThreadLocal
 Defines variables with thread-local storage. More...
 
class  sf::ThreadLocalPtr< T >
 Pointer to a thread-local variable. More...
 
class  sf::Time
 Represents a time value. More...
 
class  sf::Utf< N >
 Utility class providing generic functions for UTF conversions. More...
 
class  sf::Vector2< T >
 Utility template class for manipulating 2-dimensional vectors. More...
 
class  sf::Vector3< T >
 Utility template class for manipulating 3-dimensional vectors. More...
 
+ + + + + + + + + + +

+Functions

ANativeActivity * sf::getNativeActivity ()
 Return a pointer to the Android native activity. More...
 
void sf::sleep (Time duration)
 Make the current thread sleep for a given duration. More...
 
std::ostream & sf::err ()
 Standard stream used by SFML to output warnings and errors. More...
 
+

Detailed Description

+

Base module of SFML, defining various utilities.

+

It provides vector classes, Unicode strings and conversion functions, threads and mutexes, timing classes.

+

Function Documentation

+ +

◆ err()

+ +
+
+ + + + + + + +
sf::err ()
+
+ +

Standard stream used by SFML to output warnings and errors.

+

By default, sf::err() outputs to the same location as std::cerr, (-> the stderr descriptor) which is the console if there's one available.

+

It is a standard std::ostream instance, so it supports all the insertion operations defined by the STL (operator <<, manipulators, etc.).

+

sf::err() can be redirected to write to another output, independently of std::cerr, by using the rdbuf() function provided by the std::ostream class.

+

Example:

// Redirect to a file
std::ofstream file("sfml-log.txt");
std::streambuf* previous = sf::err().rdbuf(file.rdbuf());
// Redirect to nothing
sf::err().rdbuf(NULL);
// Restore the original output
sf::err().rdbuf(previous);
Returns
Reference to std::ostream representing the SFML error stream
+ +
+
+ +

◆ getNativeActivity()

+ +
+
+ + + + + + + +
ANativeActivity* sf::getNativeActivity ()
+
+ +

Return a pointer to the Android native activity.

+

You shouldn't have to use this function, unless you want to implement very specific details, that SFML doesn't support, or to use a workaround for a known issue.

+
Returns
Pointer to Android native activity structure
+
+
Platform Limitation
+
This is only available on Android and to use it, you'll have to specifically include SFML/System/NativeActivity.hpp in your code.
+
+ +
+
+ +

◆ sleep()

+ +
+
+ + + + + + + + +
void sf::sleep (Time duration)
+
+ +

Make the current thread sleep for a given duration.

+

sf::sleep is the best way to block a program or one of its threads, as it doesn't consume any CPU power.

+
Parameters
+ + +
durationTime to sleep
+
+
+ +
+
+
+ + + + diff --git a/SFML/doc/html/group__window.html b/SFML/doc/html/group__window.html new file mode 100644 index 0000000..bf60387 --- /dev/null +++ b/SFML/doc/html/group__window.html @@ -0,0 +1,187 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+ +
+
Window module
+
+
+ +

Provides OpenGL-based windows, and abstractions for events and input handling. +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  sf::Clipboard
 Give access to the system clipboard. More...
 
class  sf::Context
 Class holding a valid drawing context. More...
 
class  sf::ContextSettings
 Structure defining the settings of the OpenGL context attached to a window. More...
 
class  sf::Cursor
 Cursor defines the appearance of a system cursor. More...
 
class  sf::Event
 Defines a system event and its parameters. More...
 
class  sf::GlResource
 Base class for classes that require an OpenGL context. More...
 
class  sf::Joystick
 Give access to the real-time state of the joysticks. More...
 
class  sf::Keyboard
 Give access to the real-time state of the keyboard. More...
 
class  sf::Mouse
 Give access to the real-time state of the mouse. More...
 
class  sf::Sensor
 Give access to the real-time state of the sensors. More...
 
class  sf::Touch
 Give access to the real-time state of the touches. More...
 
class  sf::VideoMode
 VideoMode defines a video mode (width, height, bpp) More...
 
class  sf::Window
 Window that serves as a target for OpenGL rendering. More...
 
+ + + + +

+Typedefs

typedef platform specific sf::WindowHandle
 Define a low-level window handle type, specific to each platform. More...
 
+ + + + +

+Enumerations

enum  {
+  sf::Style::None = 0, +sf::Style::Titlebar = 1 << 0, +sf::Style::Resize = 1 << 1, +sf::Style::Close = 1 << 2, +
+  sf::Style::Fullscreen = 1 << 3, +sf::Style::Default = Titlebar | Resize | Close +
+ }
 Enumeration of the window styles. More...
 
+

Detailed Description

+

Provides OpenGL-based windows, and abstractions for events and input handling.

+

Typedef Documentation

+ +

◆ WindowHandle

+ +
+
+ + + + +
sf::WindowHandle
+
+ +

Define a low-level window handle type, specific to each platform.

+ + + + + + + + + + + + + +
Platform Type -------------—
Windows HWND
Linux/FreeBSD Window
Mac OS X either NSWindow* or NSView*, disguised as void*
iOS UIWindow*
Android ANativeWindow*
+
Mac OS X Specification
+

On Mac OS X, a sf::Window can be created either from an existing NSWindow* or an NSView*. When the window is created from a window, SFML will use its content view as the OpenGL area. sf::Window::getSystemHandle() will return the handle that was used to create the window, which is a NSWindow* by default.

+ +

Definition at line 68 of file WindowHandle.hpp.

+ +
+
+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Enumeration of the window styles.

+ + + + + + + +
Enumerator
None 

No border / title bar (this flag and all others are mutually exclusive)

+
Titlebar 

Title bar + fixed border.

+
Resize 

Title bar + resizable border + maximize button.

+
Close 

Title bar + close button.

+
Fullscreen 

Fullscreen mode (this flag and all others are mutually exclusive)

+
Default 

Default window style.

+
+ +

Definition at line 38 of file WindowStyle.hpp.

+ +
+
+
+ + + + diff --git a/SFML/doc/html/hierarchy.html b/SFML/doc/html/hierarchy.html new file mode 100644 index 0000000..f1b8133 --- /dev/null +++ b/SFML/doc/html/hierarchy.html @@ -0,0 +1,175 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Csf::AlResourceBase class for classes that require an OpenAL context
 Csf::BlendModeBlending modes for drawing
 Csf::SoundStream::ChunkStructure defining a chunk of audio data to stream
 Csf::ClipboardGive access to the system clipboard
 Csf::ClockUtility class that measures the elapsed time
 Csf::ColorUtility class for manipulating RGBA colors
 Csf::ContextSettingsStructure defining the settings of the OpenGL context attached to a window
 Csf::Shader::CurrentTextureTypeSpecial type that can be passed to setUniform(), and that represents the texture of the object being drawn
 Csf::DrawableAbstract base class for objects that can be drawn to a render target
 Csf::EventDefines a system event and its parameters
 Csf::FontClass for loading and manipulating character fonts
 Csf::GlResourceBase class for classes that require an OpenGL context
 Csf::GlyphStructure describing a glyph
 Csf::Joystick::IdentificationStructure holding a joystick's identification
 Csf::ImageClass for loading, manipulating and saving images
 Csf::SoundFileReader::InfoStructure holding the audio properties of a sound file
 Csf::Font::InfoHolds various information about a font
 Csf::InputStreamAbstract class for custom file input streams
 Csf::IpAddressEncapsulate an IPv4 network address
 Csf::JoystickGive access to the real-time state of the joysticks
 Csf::Event::JoystickButtonEventJoystick buttons events parameters (JoystickButtonPressed, JoystickButtonReleased)
 Csf::Event::JoystickConnectEventJoystick connection events parameters (JoystickConnected, JoystickDisconnected)
 Csf::Event::JoystickMoveEventJoystick axis move event parameters (JoystickMoved)
 Csf::KeyboardGive access to the real-time state of the keyboard
 Csf::Event::KeyEventKeyboard event parameters (KeyPressed, KeyReleased)
 Csf::ListenerThe audio listener is the point in the scene from where all the sounds are heard
 Csf::MouseGive access to the real-time state of the mouse
 Csf::Event::MouseButtonEventMouse buttons events parameters (MouseButtonPressed, MouseButtonReleased)
 Csf::Event::MouseMoveEventMouse move event parameters (MouseMoved)
 Csf::Event::MouseWheelEventMouse wheel events parameters (MouseWheelMoved)
 Csf::Event::MouseWheelScrollEventMouse wheel events parameters (MouseWheelScrolled)
 Csf::NonCopyableUtility class that makes any derived class non-copyable
 Csf::PacketUtility class to build blocks of data to transfer over the network
 Csf::Rect< T >Utility class for manipulating 2D axis aligned rectangles
 Csf::Rect< float >
 Csf::Rect< int >
 Csf::RenderStatesDefine the states used for drawing to a RenderTarget
 Csf::Http::RequestDefine a HTTP request
 Csf::Ftp::ResponseDefine a FTP response
 Csf::Http::ResponseDefine a HTTP response
 Csf::SensorGive access to the real-time state of the sensors
 Csf::Event::SensorEventSensor event parameters (SensorChanged)
 Csf::Event::SizeEventSize events parameters (Resized)
 Csf::SocketSelectorMultiplexer that allows to read from multiple sockets
 Csf::SoundFileFactoryManages and instantiates sound file readers and writers
 Csf::SoundFileReaderAbstract base class for sound file decoding
 Csf::SoundFileWriterAbstract base class for sound file encoding
 Csf::Music::Span< T >Structure defining a time range using the template type
 Csf::Music::Span< Uint64 >
 Csf::StringUtility string class that automatically handles conversions between types and encodings
 Csf::Event::TextEventText event parameters (TextEntered)
 Csf::TimeRepresents a time value
 Csf::TouchGive access to the real-time state of the touches
 Csf::Event::TouchEventTouch events parameters (TouchBegan, TouchMoved, TouchEnded)
 Csf::TransformDefine a 3x3 transform matrix
 Csf::TransformableDecomposed transform defined by a position, a rotation and a scale
 Csf::Utf< N >Utility class providing generic functions for UTF conversions
 Csf::Utf< 16 >Specialization of the Utf template for UTF-16
 Csf::Utf< 32 >Specialization of the Utf template for UTF-32
 Csf::Utf< 8 >Specialization of the Utf template for UTF-8
 Csf::Vector2< T >Utility template class for manipulating 2-dimensional vectors
 Csf::Vector2< float >
 Csf::Vector2< unsigned int >
 Csf::Vector3< T >Utility template class for manipulating 3-dimensional vectors
 Csf::VertexDefine a point with color and texture coordinates
 Csf::VideoModeVideoMode defines a video mode (width, height, bpp)
 Csf::View2D camera that defines what region is shown on screen
+
+
+ + + + diff --git a/SFML/doc/html/index.html b/SFML/doc/html/index.html new file mode 100644 index 0000000..d331308 --- /dev/null +++ b/SFML/doc/html/index.html @@ -0,0 +1,53 @@ + + + + SFML - Simple and Fast Multimedia Library + + + + + + + + + + +
+
+
SFML Documentation
+
+
+

+Welcome

+

Welcome to the official SFML documentation. Here you will find a detailed view of all the SFML classes and functions.
+ If you are looking for tutorials, you can visit the official website at www.sfml-dev.org.

+

+Short example

+

Here is a short example, to show you how simple it is to use SFML:

+
#include <SFML/Audio.hpp>
#include <SFML/Graphics.hpp>
int main()
{
// Create the main window
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
// Load a sprite to display
sf::Texture texture;
if (!texture.loadFromFile("cute_image.jpg"))
return EXIT_FAILURE;
sf::Sprite sprite(texture);
// Create a graphical text to display
sf::Font font;
if (!font.loadFromFile("arial.ttf"))
return EXIT_FAILURE;
sf::Text text("Hello SFML", font, 50);
// Load a music to play
sf::Music music;
if (!music.openFromFile("nice_music.ogg"))
return EXIT_FAILURE;
// Play the music
music.play();
// Start the game loop
while (window.isOpen())
{
// Process events
sf::Event event;
while (window.pollEvent(event))
{
// Close window: exit
if (event.type == sf::Event::Closed)
window.close();
}
// Clear screen
window.clear();
// Draw the sprite
window.draw(sprite);
// Draw the string
window.draw(text);
// Update the window
window.display();
}
return EXIT_SUCCESS;
}
+ + + + diff --git a/SFML/doc/html/jquery.js b/SFML/doc/html/jquery.js new file mode 100644 index 0000000..2771c74 --- /dev/null +++ b/SFML/doc/html/jquery.js @@ -0,0 +1,115 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('