Commit Graph

853 Commits

Author SHA1 Message Date
Chris Thrasher
79c2aadbcc Remove redundant 4-param sf::Rect<T> constructor 2022-01-06 20:04:03 +01:00
Vittorio Romeo
3dc8fc0923 Add 'NetworkUtil' for network module tests 2022-01-03 01:00:55 +01:00
Vittorio Romeo
5ba6580568 Make 'Time' a 'constexpr' class 2021-12-28 16:52:52 +01:00
Chris Thrasher
14fff20eb8 Remove redundant API taking x,y pair instead of sf::Vector 2021-12-26 17:13:18 +01:00
kimci86
53594dfbe7 Fix null pointer dereference in Font 2021-12-23 17:03:16 +01:00
kimci86
d0c63f46fc Use a smart pointer to manage std::FILE pointer in FileInputStream 2021-12-22 02:35:45 +01:00
Vittorio Romeo
f6de7eca40 Use smart pointers to manage memory 2021-12-21 19:54:25 +01:00
Lukas Dürrenberger
3cd45a283b Merge branch '2.6.x' into feature/backmerge 2021-12-20 13:44:56 +01:00
Pawel Paruzel
c824d3d57a Fix all macOS clang warnings
Co-authored-by: binary1248 <binary1248@hotmail.com>
2021-12-20 00:10:55 +01:00
Vittorio Romeo
18bb892625 Improve compilation times by removing some includes and avoiding heavy dependencies 2021-12-19 18:13:07 +01:00
Vittorio Romeo
a20d73aafa Make 'Vertex' a 'constexpr' class 2021-12-19 15:35:47 +01:00
Vittorio Romeo
ed201ce87a Make 'Color' a 'constexpr' class 2021-12-18 21:34:05 +01:00
Vittorio Romeo
cfeb7651b5 Make 'Rect' a 'constexpr' class 2021-12-18 17:29:41 +01:00
Vittorio Romeo
f6bd12c300 Replace 'sf::NonCopyable' with '= delete' 2021-12-16 22:39:38 +01:00
Vittorio Romeo
3c7fba0f96 Reduce compile-time impact of 'windows.h' 2021-12-16 22:39:07 +01:00
Vittorio Romeo
6cb10856c6 Make 'Vector2' and 'Vector3' 'constexpr' classes 2021-12-15 17:28:50 +01:00
Pawel Paruzel
96a4262fb9 Update Android example build to C++17 2021-12-15 12:52:27 +01:00
Pawel Paruzel
dfff93fe04 Update SFML Time classes to C++17
Ensure Clock uses a monotonic clock

Statically assert against low precision clocks

Allow suspend-aware clock for Android

Add descriptive documentation to sf::Clock
2021-12-15 12:52:27 +01:00
Vittorio Romeo
e9e353a7b2 Remove redundant APIs taking '(x, y)' in favour of ones taking 'sf::Vector' 2021-12-15 11:22:46 +01:00
Vittorio Romeo
bb854fa739 Strategic use of '[[nodiscard]]' in 'Audio' module 2021-12-14 15:19:37 +01:00
Vittorio Romeo
ab0378805d Strategic use of '[[nodiscard]]' in 'System' module 2021-12-14 14:02:05 +01:00
Vittorio Romeo
b33f4bb205 Replace SFML multithreading primitives with standard C++ ones 2021-12-14 01:07:29 +01:00
Vittorio Romeo
363e964acc Strategic use of '[[nodiscard]]' in 'Graphics' module 2021-12-10 01:27:05 +00:00
Vittorio Romeo
7343b112fc Strategic use of '[[nodiscard]]' in 'Network' module 2021-12-09 22:34:57 +00:00
Vittorio Romeo
3579ecbdb0 Strategic use of '[[nodiscard]]' in 'Window' module 2021-12-09 19:53:54 +00:00
Vittorio Romeo
bc5b41657c Remove deprecated 'PrimitiveType::Quads' 2021-12-09 16:33:02 +00:00
Lukas Dürrenberger
cd517ba267 Merge branch '2.6.x' into feature/backmerge 2021-12-09 14:36:55 +01:00
Vittorio Romeo
7f2243d826 Remove most deprecated 'PrimitiveType' enumators 2021-12-09 13:12:03 +00:00
Vittorio Romeo
6678fdd291 Remove deprecated 'Shader::setParameter' API 2021-12-09 13:12:03 +00:00
Vittorio Romeo
0e28212584 Remove deprecated overload of 'RenderWindow::capture' 2021-12-09 13:12:03 +00:00
Vittorio Romeo
e7a5039cd9 Remove deprecated overload of 'RenderTexture::create' 2021-12-09 13:12:03 +00:00
Vittorio Romeo
f6186d880d Remove deprecated 'Text::[set|get]Color' 2021-12-09 13:12:03 +00:00
Vittorio Romeo
756a399909 Remove deprecated 'Keyboard::Key' enumerators and adjust usages 2021-12-09 13:12:03 +00:00
Vittorio Romeo
21d594a765 Remove 'MouseWheelEvent' and adjust usages 2021-12-09 13:12:03 +00:00
Vittorio Romeo
d12a2cd319 Use 'override' whenever possible instead of 'virtual' 2021-12-09 09:07:03 +01:00
Vittorio Romeo
a23076d7bb Replace 'BoolType' with 'explicit operator bool' 2021-12-09 09:03:55 +01:00
Vittorio Romeo
87e84bc9e5 Minor modernization changes: 'nullptr', range-based 'for' loops, ... 2021-12-08 21:41:20 +00:00
Vittorio Romeo
2839f6b4d2 Use 'auto' where no information is lost 2021-12-08 19:14:31 +00:00
Vittorio Romeo
9a0cc4b7dc Use alias declarations instead of 'typedef' 2021-12-08 17:58:13 +00:00
Vittorio Romeo
8be8a76cba Use 'auto', range-'for', and structured bindings to improve some loops 2021-12-08 13:05:52 +01:00
lieff
e458f4651e Add MP3 decoding support using 'minimp3'
Co-authored-by: Lukas Dürrenberger <eXpl0it3r@my-gate.net>
Co-authored-by: Vittorio Romeo <vittorio.romeo@outlook.com>
2021-12-08 08:19:08 +01:00
Vittorio Romeo
51ebeaf383 Change most associative containers to their respective 'unordered' version 2021-12-06 14:01:56 +00:00
Vittorio Romeo
dd14d7c57f Use '[[fallthrough]]' attribute and enable relevant warning 2021-12-04 12:42:09 +01:00
Vittorio Romeo
4e1fcb3775 Remove 'SFML_DEPRECATED' and replace internal usages with '[[deprecated]]' 2021-12-03 19:36:47 +01:00
Vittorio Romeo
c9f7cb3d52 Use 'nullptr' instead of 'NULL' 2021-12-03 15:48:32 +00:00
Lukas Dürrenberger
1aa2b7cd0d Update SFML version to 3.0.0
Unlike with SFML 2.x and earlier the version numbers are updated as soon
as work on the new release starts. This especially helps with version
checks, which until now caused issues with in-development version
matching the previous release.
2021-12-02 20:02:15 +01:00
Lukas Dürrenberger
c74694c3b2 Fix conversion warnings for the Audio module 2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
e0f2356102 Fix conversion warnings for Unix
- Fix conversion & shadowing warnings
- For the System & Window module
2021-11-30 11:25:58 +01:00
Jan Haller
5bed29dd19 Fix conversion and other warnings, mainly on Windows 2021-11-30 11:25:58 +01:00
Vittorio Romeo
dc88cbd81e Remove include directives for unused headers 2021-11-22 00:47:11 +01:00
Ant
089f0fd8b4 Fixed typo in TcpSocket header comment. 2021-07-14 10:47:06 +02:00
Guillaume Bertholon
1f21e5497b Control GL_FRAMEBUFFER_SRGB flag in RenderTarget
This fixes wrong rendering for RenderTexture that need sRGB encoding along a
non-sRGB window.
We cannot simply always enable GL_FRAMEBUFFER_SRGB because some drivers
enable sRGB encoding on non-sRGB window surfaces.
Also add a isSrgb() method to tell if a RenderTarget is encoding into
sRGB color space.
2021-05-11 16:52:55 +02:00
Vittorio Romeo
c0b19109a9 Fix incorrect standard includes in 'InputSoundFile' and 'Music' 2021-04-13 10:21:11 +02:00
Lukas Dürrenberger
a7e5d3c386 Add missing semicolon in doc example 2021-04-08 17:35:05 +02:00
Vittorio Romeo
748ba1bc82 Fix '-Wimplicit-fallthrough' warnings by adding a fallthrough comment 2021-03-25 11:39:50 +01:00
Guillaume Bertholon
05c83617de Add Min and Max blend modes 2021-03-23 21:09:53 +01:00
Radek Dutkiewicz
88451a0740 Fixed naming convention mistakes 2021-02-11 00:40:30 +01:00
Radek Dutkiewicz
84e0a25e04 Fixed unnecessary loadGlyph() calls
getKerning() now passes the bold flag to getGlyph() function, so already cached glyph can be used.
2021-02-11 00:40:30 +01:00
Radek Dutkiewicz
7a0c35c334 Added glyph position compensation after autohinting
This improves glyph spacing by subtracting glyph position deltas from glyph advance generated by forced autohinting
2021-02-11 00:40:30 +01:00
swordfatih
498d7ee79c Update the copyright year to 2021
Just updating all the 2020 references to 2021. 😄
2021-01-06 20:21:36 +01:00
David Carlier
4cbb34ddb4 NetBSD support proposal. 2020-12-07 16:08:00 +01:00
Arthur Caputo
129774877b Implemented saveToMemory and saveImageToMemory. 2020-12-03 20:12:27 +01:00
Bruno Van de Velde
7b84e46fac Added support for directional arrow resize cursors on Linux 2020-11-29 21:22:45 +01:00
Jonny Paton
59df9d0d88 Implement smoothing for fonts 2020-09-20 19:17:11 +02:00
Corentin Schreiber
aaf8ef1c89 Updated Cursor documentation for colored cursors on Unix 2020-09-13 20:35:48 +02:00
Lukas Dürrenberger
9b596cc8d9 Update the copyright year to 2020 2020-09-12 19:34:34 +02:00
mcz
5eea8032db replace dead link in Config.hpp file
replace dead link with working link containing information about predefined macros
2020-09-03 21:07:17 +02:00
scotth
95c98093e9 Adjustable processing interval in SoundStream #1517
Resurrection of previous PR with updated documentation. Added setter to
adjust processing interval in SoundStream for low-latency streams.
2020-06-18 17:36:59 +02:00
43187455e4 Added Font::hasGlyph() 2020-05-20 16:12:41 +02:00
Quentin Bazin
f93372f98a Added missing documentation about TcpListener::listen and Socket::AnyPort. 2020-05-16 20:15:17 +02:00
Jonny
50e173e403 Update documentation 2020-02-06 22:29:19 +01:00
Michal Marszalek
632a015663 Added readCurrentReadPosition in sf::Packet 2020-02-06 22:29:19 +01:00
Jan Haller
519e1f9572 Improve sf::Transform documentation
Clarifies order of combine() and equivalence of operations.
Closes #1608.
2020-01-02 15:27:47 +01:00
Mario Liebisch
a1d4bc80c2 Changed Doxygen single-line comment format
Single line comments starting with `///` are interpreted by
Microsoft Visual Studio as documentation containing XML code.

Therefore single line comments starting with `///<` unfortunately
cause a parsing error, as IntelliSense will assume the `<` is the
start of an XML tag. This is not the case, but unfortunately,
IntelliSense will still complain about the following space
character rather than displaying the raw string. This commit alters
all such comments to start with `//!<` instead, which prevents the
issue.

This fixes issue #1622.
2020-01-02 15:25:57 +01:00
binary1248
6272f853c1 Add support for creating Vulkan window surfaces. 2019-10-16 21:48:24 +02:00
Stefan Schindler
ca21695521 Added getPosition() and getSize() to sf::Rect<T>. 2019-09-03 09:45:24 +02:00
binary1248
81a1da6a59 Revert "Added a VertexBuffer implementation to all Drawables that were rendered via VertexArrays."
This reverts commit 4dfad062e4.
2019-09-01 18:20:13 +02:00
SGauvin
9c8cc19f96 Removed useless cast
Removed useless cast in SFML/System/Utf.inl at line 296.
This useless cast creates a warning when using -Wuseless-cast as an option in g++ and clang++.
Operations can't be made on types smaller than 4 bytes (32 bits), so types smaller than 4 bytes are converted to at least 4 bytes types, thus rendering the static_cast<Uint32> useless in this particular case.
2019-02-19 10:08:58 +01:00
binary1248
4dfad062e4 Added a VertexBuffer implementation to all Drawables that were rendered via VertexArrays. 2019-02-19 10:05:59 +01:00
EpicCoder
489482a630 Updated the copyright year to 2019 2019-01-08 08:53:33 +01:00
binary1248
ae337952a9
Allow creation of a window without an OpenGL context in order to support use cases where the user wants to render using other graphics APIs. 2019-01-05 23:22:08 +01:00
cosiek
077af21f37 allow for closing sound files 2018-12-03 19:27:53 +01:00
Lukas Dürrenberger
2be4e54d4a
Fixed example documentation to match the code 2018-11-25 17:23:25 +01:00
Lukas Dürrenberger
3f4bc3683b Updated the changelog and version number for 2.5.1 2018-10-15 21:52:40 +02:00
binary1248
8554d210df Ensure the proper default framebuffer is bound when activating a RenderWindow. Fixes #1471. 2018-10-01 20:33:59 +02:00
Marco Antognini
aeca3dce41 Improved macOS implementation for Cursor
- remove Wait and SizeAll cursors as they don't look nice
   (Wait is not spining and produces a broken rendering,
    SizeAll is a simple white cursor.)
 - fix memory management for NSCursor.
 - ignore selector warnings.
2018-08-27 21:42:59 +02:00
Jonny Paton
0bcb2992a7 Implemented extra cursors on macOS 2018-08-27 21:42:59 +02:00
Lionel Aimerie (Pixium Digital)
2853b6b629 ANDROID flag fix to SFML_SYSTEM_ANDROID 2018-07-28 18:10:04 +02:00
binary1248
235abae134 Fixed the Unix clipboard implementation causing an abort due to internal data races in Xlib. 2018-07-02 22:39:54 +02:00
Lukas Dürrenberger
192eb968a4 Updated version number to SFML 2.5.0 2018-05-06 08:53:30 +02:00
Marco Antognini
de2d49e3af Added doxygen documentation for Packet >> & << operators 2018-05-06 08:42:42 +02:00
Marco Antognini
b21039452e Fixed a reference in the documentation of Shader 2018-05-06 08:42:42 +02:00
Marco Antognini
f2ccc64536 Fixed doxygen rendering of markdown table 2018-05-06 08:42:42 +02:00
binary1248
cd1387479e Moved NvOptimusEnablement and AmdPowerXpressRequestHighPerformance out of sfml-main and into a macro the user can place in their own translation unit when they need it. Fixes #1192 2018-04-28 13:22:05 +02:00
binary1248
9bdd6d46dd Fixed TcpListener and TcpSocket not behaving as documented when calling listen or connect while the underlying socket object already exists, also adjusted UdpSocket to be consistent with connect and listen behaviour when calling bind while the underlying socket object already exists. Fixes #1346 2018-04-14 10:16:17 +02:00
David Carlier
9da895da8b further changes 2018-04-14 10:14:34 +02:00
David Carlier
4d0d331272 pushing upstream openbsd support from package. 2018-04-14 10:14:34 +02:00
Mario Liebisch
1e800d9551 Android: No longer keep an active input stream longer than needed. 2018-04-14 09:59:01 +02:00
binary1248
0adde249ec Optimized RenderTexture performance when using the FBO implementation by removing unnecessary context switches and flushing. 2018-04-14 09:54:59 +02:00
irrmich
15d0f789c7 Add append/overwrite parameter to Ftp::upload. 2018-04-05 11:21:20 +02:00
binary1248
421e8bb812 Added support for creation of a stencil attachment and multisampling to sf::RenderTexture. 2018-03-26 23:48:05 +02:00
Marco Antognini
b0f3611ab9 Renamed a few key codes
Deprecated BackSlash, BackSpace, SemiColon, Dash and
introduced Backslash, Backspace, Semicolon, Hyphen in a
retrocompatible way.
2018-03-26 23:39:39 +02:00
Radek Dutkiewicz
deeb3a95f3 Fixed letter spacing being letter width dependent 2018-02-15 21:27:19 +01:00
Mario Liebisch
806813e937 Android: Removed custom toolchain file
This commit drops the previous custom CMake toolchain file for Android
in favor of CMake's new built-in toolchain for this (CMake >3.7.2).

This makes building SFML for Android a lot simpler and more straight
forward, working almost as smooth as other platforms.

To configure your build directory, all you have to do is defining just a
few variables the first time you invoke CMake.

**Required Variables**

* `CMAKE_SYSTEM_NAME` must be `Android`, so CMake knows we actually want
  to cross-compile.
* `CMAKE_ANDROID_NDK` must point to the NDK's installation directory,
  e.g. `/usr/android/ndk` or `c:/android/ndk`.

**Recommended Variables**
* `CMAKE_ANDROID_STL_TYPE` defines the STL implementation to be used.
  You should use `c++_shared`, although others might work.

**Optional Variables**
* `CMAKE_SYSTEM_VERSION` can be set to pick a specific SDK version other
  than the latest.
* `CMAKE_ANDROID_ARCH_ABI` defines the target architecture and ABI, for
  example `armeabi` or `armeabi-v7a`.

Based on your system, you might want to enforce a specific generator to
prevent issues, e.g. using `MinGW Makefiles`.
2018-02-11 20:15:54 +01:00
Alexander Weinrauch
0da25a0b87 Added support for the newest NDK version 2018-02-11 20:15:54 +01:00
Maximilian Wagenbach
989367e345 Turned the header image in readme.md into a link.
Updated all links to use https (tested).
2018-02-10 17:12:54 +01:00
Maximilian Wagenbach
5d7843c58a Updated the copyright year to 2018. 2018-02-10 14:51:46 +01:00
Sérgio Agostinho
6d4e870e32 Correct docstring for seek 2018-01-29 17:51:46 +01:00
Maximilian Wagenbach
65d26be74d Changed the implementation from offsets to factors. 2018-01-25 01:52:19 +01:00
Maximilian Wagenbach
73892dfa12 Updated sf::Text documentation and OpenGL example. 2018-01-25 01:47:55 +01:00
Maximilian Wagenbach
812dea70d0 Implemented line spacing in sf::Text. 2018-01-25 01:47:54 +01:00
Maximilian Wagenbach
9e2f2eb27f Implemented letter spacing in sf::Text. 2018-01-25 01:47:54 +01:00
jonathan.r.paton@googlemail.com
e31b925234 Added functionality to allow polymorphism with sf::SoundSource 2018-01-25 00:31:20 +01:00
binary1248
61cdcd47ca Added sf::VertexBuffer class. 2018-01-25 00:26:38 +01:00
Maximilian Wagenbach
c24de5fcaf Fix for broken text when the font is reloaded. 2018-01-17 00:48:38 +01:00
Marco Antognini
c352f5228b Fixed typo in sf::Music documentation 2017-12-06 16:59:43 +01:00
marukrap
8a02dc0ad5 Change a character
from en-dash(u2013) to hypen-minus(u002d)
2017-12-06 16:58:20 +01:00
binary1248
898c2350f7 Add equality comparison to sf::Transform and avoid uploading 64 bytes of data every time we want to reset the OpenGL matrix back to identity. 2017-10-12 20:41:05 +02:00
Cobaltergeist
93a2e9502d Added Loop Point support to sf::Music 2017-09-03 12:57:09 -07:00
Lukas Dürrenberger
ffd9c94381 Remove unused/leftover openForWriting function in InputSoundFile. 2017-08-06 00:29:59 +02:00
Ricardo Antonio Tejada
4bc3c6f8bf Added Clipboard API 2017-08-02 15:21:11 +02:00
Jure Slak
745b446440 Fixed typo in Event description. 2017-07-28 00:28:12 +02:00
Marco Antognini
34ea68bd1d Added X11 implementation 2017-07-10 17:13:17 +02:00
Marco Antognini
b0b1f13269 Added Win32 implementation 2017-07-10 17:13:17 +02:00
Marco Antognini
f65459d0e1 Rewrote Cursor with new API and OS X implementation 2017-07-10 17:13:17 +02:00
binary1248
6f5a7d1b1b Implemented methods to set the displayed cursor to a system cursor type or custom bitmap image. 2017-07-10 17:13:17 +02:00
hobby8
973ac8ddcd Skip glTexCoordPointer() call if not needed 2017-04-04 13:19:28 +02:00
binary1248
6b71456a55 Add methods to make use of GPU local texture data copying bypassing a roundtrip to the CPU and back, add sf::Texture::swap to enable swapping texture contents, fixed sf::Font::cleanup not shrinking its allocated pixel buffer storage when the user loads a new font using the same sf::Font object. 2017-03-02 14:36:21 +01:00
Fytch
4cde8bb69c Corrected documentation 2017-02-28 12:30:24 +01:00
Lukas Dürrenberger
e4ae4f9cc3 Increased SFML's version number and updated the changelogs. 2017-02-10 15:18:20 +01:00
Lukas Dürrenberger
113152673a Updated year in copyright notices to 2017. 2017-02-10 15:18:03 +01:00
binary1248
af5244d85d Replaced TransientContextLock implementation with a more elaborate one which relies on locking a single mutex and thus avoids lock order inversion. Fixes #1165. 2017-01-27 20:50:16 +01:00
Cobaltergeist
746bb9c8ca Changed fillAndPushBuffer to use a retry loop. 2016-11-08 08:28:05 +01:00
Lukas Dürrenberger
77d19859bc Added protected d-tor to sf::NonCopyable to prevent possible resource leaks. 2016-11-04 15:36:51 +01:00
Lukas Dürrenberger
67ef694443 Incremented SFML version number and added changes to the changelog. 2016-11-04 10:43:50 +01:00
Cobaltergeist
2207af41e4 Fixed inconsistent seek behavior in SoundStream 2016-10-13 19:50:21 +02:00
binary1248
2df9abf341 Added missing setActive virtual method to sf::RenderTarget, added setActive calls to OpenGL example to demonstrate proper explicit context management. 2016-10-13 17:01:41 +02:00
binary1248
39208efb55 Removed internal OpenGL contexts, reduced the number of temporary contexts that get created during runtime. 2016-10-06 08:28:51 +02:00
Mischa Aster Alff
3d41e28e6a Clarify documentation on Rect::contains function bounds 2016-10-01 13:21:38 +02:00
Hapaxia
68850d331f update Window documentation
removed part of the sentence that stated that cursor grabbing is different for fullscreen windows as this is not the case.
2016-09-13 18:41:35 +02:00
Dka8
b16d29b4ae UdpSocket.hpp typo in comment for void unbind()
Function  void unbind();
The suggested text by @binary1248
Added "If the socket is not bound to a port, this function has no effect."
2016-08-24 14:05:24 +02:00
Marco Antognini
8df8493515 Fixed PrimitiveType documentation 2016-08-07 18:37:18 +02:00
Marco Antognini
a43be42999 Bump version to 2.4.0 2016-08-06 19:00:02 +02:00
Marco Antognini
ac50bf8648 Update copyright dates
For futur references:

List and inspect © to be updated
$ egrep '2007-[0-9]{4}' -r examples/ tools/ src/ include/ license.txt

Update all ©
$ egrep --null -l '2007-[0-9]{4}' -r examples/ tools/ src/ include/ license.txt | xargs -0 -P4 sed -i '' -E 's/^(.*)2007-[0-9]{4}(.*)$/\12007-2016\2/'
2016-08-05 16:20:39 +02:00
Mario Liebisch
757094a25b Fixed current Android compilation issues
* Updated the Android toolchain file to support NDKs up to the latest release (r12b; based on https://github.com/gongminmin/android-cmake).
* Fixed missing sRGB extension defines - also SFML once again compiles for older target API levels not having the sRGB extensions (fixes #1079, supersedes #1085).
* Changed SFML's default STL runtime to `stlport_shared`, since `c++_shared` is no longer supported.
2016-07-21 10:42:45 +02:00
Mario Liebisch
f7dcc10a70 Added ability to grab the cursor (w/ Windows impl.)
* When grabbed, the mouse cursor may not be moved outside a window's client frame.
 * Fullscreen windows always grab the mouse cursor.
 * The effect is only active while the SFML window is the active
foreground window.
 * Right now this is only implemented for Windows.

Signed-off-by: Marco Antognini <antognini.marco@gmail.com>
2016-07-18 01:18:42 +02:00
Marco Antognini
193e54773d Fixed some typos 2016-06-14 23:12:43 +02:00
verrazano
afb8254b6d Changed primitive types to be grammatically correct. 2016-06-05 22:58:27 +02:00
binary1248
c15172e3fd Fixed FTP directory listing blocking forever if both expected responses are read from the command socket in a single call. (#1025) 2016-06-04 22:55:57 +02:00
Maximilian Wagenbach
f49c156a31 Implemented stereo audio recording. 2016-05-08 23:29:25 +02:00
binary1248
259811d59c Implemented support for explicit mipmap generation in sf::Texture and sf::RenderTexture. (#123) 2016-05-04 20:01:22 +02:00
Mario Liebisch
9f6f02f988 Android: Added sf::getNativeActivity() to retrieve a handle to the current activity
This is only implemented for Android builds and requires the user to include the sub-header specifically. Other platforms will trigger a compiler error, if they try to include this header file.
2016-04-22 15:53:14 +02:00
Marco Antognini
9d70da3aaa Fixed and silenced a few warnings 2016-04-14 12:26:40 +02:00
Maximilian Wagenbach
1ee6d1dbc6 Make sure the recording thread in sf::SoundRecorder is stopped before sf::SoundBufferRecorder is destroyed.
Fixes a "pure virtual method called" crash.
Also updated the documentation and the VoIP example.
2016-04-10 22:51:37 +02:00
binary1248
e00d160224 Add support for sRGB capable framebuffers. (#175) 2016-03-10 10:08:17 +01:00
Marco Antognini
c4956857fa Added missing <iterator> include in String.hpp
This include is required for std::back_inserter.
2016-03-09 08:24:22 +01:00
Stefan Schindler
b61502b69a Exporting some Glsl utility functions due to linking issues. (#1044) 2016-03-01 08:16:57 +01:00
Maximilian Wagenbach
c78c8106da Fixed seeking in multi channel FLAC files.
Updated seek() documentation.
2016-02-22 23:43:34 +01:00
binary1248
043fb83cd8 Rewrite RenderWindow::capture to make use of a single texture transfer instead of transferring each row of the framebuffer individually. 2016-02-19 17:30:22 +01:00
Mrowqa
1763861b26 Added support for geometry shaders 2016-02-18 20:20:43 +01:00
Zachariah Brown
957cabb816 Added support for outlined text 2015-12-31 10:41:59 +01:00
Krozark
7ff9478061 add a new BlendMode::Equation : ReverseSubtract 2015-12-03 00:28:32 +01:00
Marco Antognini
0df97b4813 Updated platform-specific handle documentation 2015-11-06 18:24:42 +01:00
Marco Antognini
127bc77497 Fixed encoding of UTF-16
As per http://en.sfml-dev.org/forums/index.php?topic=19223.0
2015-11-02 00:21:01 +01:00
Jan Haller
9c5c750e60 Added new methods to set uniforms in sf::Shader
Implements a new design for the shader uniform API.
* Added Shader::setUniform() and Shader::setUniformArray() overloads for the following types:
  -> scalars: float, int, bool
  -> vectors: 2D, 3D, 4D
  -> matrices: 3x3, 4x4
  -> arrays of basic types
  -> samplers (sf::Texture)
  -> conversions for SFML types (sf::Transform, sf::Color)
* Added sf::Glsl namespace with GLSL-equivalent types
* Deprecated Shader::setParameter() overloads

Other related changes:
* Refactored sf::Shader internals to avoid code duplication
* Improved documentation
* Added SFML_DEPRECATED macro to Doxyfile
* Defined _SCL_SECURE_NO_WARNINGS to disable std::copy() warnings on MSVC
2015-10-21 10:29:07 +02:00
Jan Haller
fcb05fb975 Added SFML_DEPRECATED macro for cross-platform class/function deprecation 2015-10-19 17:39:38 +02:00
bumbar1
3a12fc6505 Added optional argument on which address to bind (socket). 2015-10-10 16:46:33 +02:00
Alec Iverson
ecede1119a Fixed small typo in setActive \brief 2015-09-30 08:17:18 +02:00
Renaud Durlin
aa4f0681db Fix typo in comment 2015-09-30 08:15:26 +02:00
Marco Antognini
2d1fab374f Added SoundSource::operator= and called it from Sound::operator=
Signed-off-by: Jan Haller <bromeon@gmail.com>
2015-09-27 18:54:42 +02:00
binary1248
2752bbcfb0 Added methods to get the currently active context, query whether an OpenGL extension is available and query the actual OpenGL version of a context, made context switches during initialization of texture and shader static values unnecessary, fixed code style in loaders. 2015-09-21 20:29:55 +02:00
Maximilian Wagenbach
b7d7ac44f3 Added support for 24-bit .wav files. 2015-09-20 23:10:14 +02:00
Marco Antognini
1b2c50a0d8 Fixed documentation for MemoryInputStream and FileInputStream 2015-09-13 11:57:04 +02:00
Lukas Dürrenberger
01d72438de Increased version to 2.3.2 and add changes to changelog. 2015-08-24 18:01:06 +02:00
Lukas Dürrenberger
506ec95fde Fixed a typo of the example in the font header. 2015-08-24 13:10:18 +02:00
Matthew Szekely
f6020c5f8e Fixed RenderTexture::clear() not always working on certain hardware 2015-08-04 10:08:18 +02:00
Lukas Dürrenberger
b735777c4a Increased version to 2.3.1. 2015-06-27 13:40:35 +02:00
Jan Haller
6de027f198 Clarified lifetime requirements of underlying resources for Music and Font 2015-06-04 21:06:54 +02:00
Jan Haller
6cec972338 Removed unnecessary sf:: prefixes 2015-05-20 17:30:23 +02:00
Juhani Numminen
1b1d92d6bb Fix function name in short example snippet in RenderStates.hpp 2015-05-20 16:37:32 +02:00
Lukas Dürrenberger
80214d1cb9 Increased version to 2.3, updated the changelog and license and added Mario to the readme.txt. 2015-05-03 21:53:53 +02:00
Jan Haller
947427cb8d Clarified semantics of Shape::getGlobalBounds(), improved related documentation 2015-05-03 14:51:44 +02:00
Jan Haller
e0174545e6 Fixed Color::toInteger() not being const-qualified 2015-04-28 21:44:31 +02:00
binary1248
17570c324e Bumped back the sfml-graphics OpenGL version requirement to 1.1. Everything beyond 1.1 functionality is optional, with warnings emitted when necessary. 2015-04-15 02:56:31 +02:00
binary1248
e80bf0ba92 Fix whitespace: Convert tabs to spaces and remove trailing whitespace. 2015-04-15 01:53:43 +02:00
Marco Antognini
075d7b3b50 Made FileInputStream non copyable 2015-04-15 01:32:26 +02:00
Jan Haller
22c9674389 Combined separate horizontal/vertical mouse wheel event types
Instead of separate Event::MouseWheel{Vertical,Horizontal}Moved events, a single Event::MouseWheelScrolled event is used for all wheel-related events.
The new Mouse::Wheel enum is used to differentiate between mouse wheels.
2015-04-07 00:24:52 +02:00
Lukas Dürrenberger
3d0ab05e7b Added missing includes in the general headers. 2015-04-02 18:52:27 +02:00
Lukas Dürrenberger
0b221921ed Switched to the stdio FILE* API for handling streams to provide the expected behavior to Vorbis. 2015-04-01 13:19:47 +02:00
binary1248
c17486857f Implemented methods to retrieve the OpenGL handles from sf::Texture and sf::Shader. 2015-03-23 16:16:07 +01:00
binary1248
e2420dfe76 Removed support for GLU. 2015-03-23 16:16:06 +01:00
binary1248
c30a3da8d5 Moved platform OpenGL loading code into their respective context implementations. 2015-03-23 16:10:30 +01:00
binary1248
3e397bff4b Replaced GLEW with (a highly customized) loader generated by glLoadGen, restructured GLExtensions.hpp for easier extension bookkeeping, make use of GLEXT definitions in Shader.cpp and Texture.cpp as well, replaced GL_MAX_TEXTURE_COORDS with GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, implemented flags for requesting a debug or core/compatibility profile context, changed the default context version from 2.0 to 2.1. 2015-03-23 16:10:28 +01:00
binary1248
e17cc520d6 Implemented support for horizontal mouse wheel scrolling as well as high-precision scrolling on Windows and OS X. 2015-03-16 10:35:34 +01:00
Oleh Prypin
01d5d1b463 Replaced non-ASCII symbols with equivalents 2015-03-10 02:04:02 +02:00
Marco Antognini
aa9a6dec89 Fixed a few typos/style issues 2015-03-09 10:47:20 +01:00
Marco Antognini
0c2f306c17 Updated copyright year and Laurent's email address 2015-03-04 09:36:25 +01:00
Mario Liebisch
3424467896 Android: Restored old file reading behavior for audio stuff 2015-03-04 09:36:21 +01:00
Marco Antognini
1d24b52220 Silenced some warnings 2015-03-04 09:33:09 +01:00
Jonathan De Wachter
3fbfde39a5 Adjusted the new audio backends to compile on Linux 2015-03-04 09:33:06 +01:00
Laurent Gomila
f0608eaed8 Redesigned the audio encoding/decoding classes to get rid of libsndfile 2015-03-04 09:33:03 +01:00
Zachariah Brown
1de7644277 Updated copyright year and Laurent's email address 2015-03-02 13:41:54 -05:00
binary1248
d790114df8 Added a way for partial sends over non-blocking TcpSockets to be handled properly. 2015-03-02 11:26:31 +01:00
Marco Antognini
67c7663c80 Added export to Joystick::Identification 2015-02-28 12:27:29 +01:00
Lukas Dürrenberger
1f2bc148fe Implemented sf::Color::toInteger() to complement the new sf::Color constructor. 2015-02-23 11:38:49 +01:00
FRex
88ec48cb85 Added a new constructor that takes single Uint32 to Color 2015-02-23 11:38:48 +01:00
Laurent Gomila
758735092e Improved the documentation of SFML-specific statuses in sf::Ftp 2015-01-03 23:47:15 +01:00
Lukas Dürrenberger
d4e6b84afc Merge branch 'bugfix/al_context' 2014-12-30 10:44:08 +01:00
Jan Haller
1cfa5c6f1d Replaced unsigned int with std::size_t for array indices/sizes 2014-12-28 18:21:59 +01:00
binary1248
0ad401cc97 Made OpenAL context management more intelligent, in analogy to OpenGL context management. OpenAL contexts now only exist as long as AlResources require them and are destroyed when they are no longer required. Fixes #30. 2014-12-21 16:57:58 +01:00
Lukas Dürrenberger
1c46ec7c37 Updated the version to 2.2, added support for patch versions and added the changelog.txt 2014-12-04 16:09:54 +01:00
Jan Haller
0a64f50605 Further corrections of typos and dash inconsistences 2014-11-18 11:14:18 +01:00
Lukas Dürrenberger
45810a1345 Fixed additional comments and documention spelling mistakes. 2014-11-18 01:02:07 +01:00
Marco Antognini
aef8f826f1 Fixed a few typos and improve some sentences in the documentation 2014-11-17 17:29:55 +01:00
Jan Haller
53e3409cbf Minor documentation fixes in sf::String 2014-10-26 11:07:46 +01:00
Jan Haller
4155b2e449 Changed Window::requestFocus() return type from bool to void
Reasons:
* Consistent with other sf::Window methods
* User can test whether focus succeeded by subsequent hasFocus() call
* Implementation would have to call hasFocus() anyway on some systems

Also: minor code style change in Window::hasFocus()
2014-10-06 22:21:44 +02:00
Jan Haller
6a24eb5eec Slightly adapted window focus documentation 2014-10-06 22:21:43 +02:00
Foaly
b965ad198b Added window methods to request and to check focus
Signed-off-by: Stefan Schindler <stefan@boxbox.org>
Signed-off-by: Jan Haller <bromeon@gmail.com>
2014-10-06 22:21:42 +02:00
Laurent Gomila
f99035bea1 Added support for 64-bit integers in sf::Packet 2014-10-06 13:26:28 +02:00
Stefan Schindler
f24ca9a840 Source code changes.
* Changed newlines to \n.
* Removed whitespace before colons.
* Fixed several alignments.
2014-10-06 01:18:47 +02:00
binary1248
b27cbd5036 Fixed font glyphs always being 2 pixels larger than they are supposed to be in each dimension, fixed wrong underline offset with some fonts, offset underline and strike through by half of their thickness so their center is positioned correctly, changed glyph and font metrics to use floats instead of ints to support scaling better. 2014-10-02 23:30:58 +02:00
Lukas Dürrenberger
ef1b9d6b20 Merge branch 'feature/strikethrough' 2014-08-19 23:02:21 +02:00
binary1248
6959c1a826 Added notes to documentation and adjusted OpenGL example as a workaround for the side effects of making static functions that require a context work. If the user wants to make use of both sfml-graphics and OpenGL, they should make sure sf::Texture::getMaximumSize() and/or sf::Shader::isAvailable() are called at least once before setting their final context active as those functions will cause a context switch the first time they are called. 2014-08-15 13:39:06 +02:00
Foaly
5f3b6cb57a Added a strikethrough text style to sf::Text. Fixes issue #243. 2014-07-18 13:57:57 +02:00
Laurent Gomila
337df1ea5f Merge branch 'master' of github.com:LaurentGomila/SFML 2014-07-11 17:43:50 +02:00
Laurent Gomila
8db958042e Improved documentation of SoundStream::onGetData (#650) 2014-07-11 17:43:18 +02:00
Lukas Dürrenberger
e625d79a04 Merge branch 'bugfix/soundstream' 2014-07-07 09:44:45 +02:00
binary1248
74e425a9ed Made sure SoundStream adhered to its documented behavior, added a hint to SoundStream and Sound documentation regarding setting the offset while stopped. 2014-07-04 22:24:48 +02:00
Foaly
09aae0240d Fixed calling SoundStream::setPlayingOffset() unpausing a paused SoundStream (#203), guard m_isStreaming by a mutex, fixed calling SoundStream::pause() before the stream thread starts not properly pausing the stream (http://en.sfml-dev.org/forums/index.php?topic=15197.0), minor documentation fix in SoundStream. Signed-off-by: binary1248 <binary1248@hotmail.com> 2014-07-04 20:48:23 +02:00
binary1248
362a590454 Fixed FTP download and upload file sizes being limited by available RAM (#565). 2014-07-04 20:40:18 +02:00
Jan Haller
1851dcb109 Clarified Window::setIcon() ownership semantics 2014-07-03 14:08:13 +02:00
Patrick
86983acaa4 Fixed a typo in the comments of Context.hpp 2014-06-20 22:17:06 +02:00
binary1248
bdcdfffe11 Replaced Text underline offset/thickness with nicer font dependent values. 2014-06-12 00:49:23 +02:00
binary1248
da79517b36 Fix bitmap font resize failing silently when resizing to an unsupported pixel size (#448), fixed getKerning returning scaled values even for bitmap fonts. 2014-06-12 00:49:23 +02:00
Stefan Schindler
9690a7edee Fixed minor documentation issue. 2014-06-06 13:09:25 +02:00
firefly2442
749cbb2ff8 add HTTP support for PUT and DELETE
Signed-off-by: binary1248 <binary1248@hotmail.com>
2014-05-22 10:45:19 +02:00
Jan Haller
cdf32a7881 Merge branch 'blendmodes'
Introduces the sf::BlendMode class that supports separate blend functions and equations.
Replaces the old sf::BlendMode enum.

Further changes:
* Fixed merge conflicts resulting from GLExtensions in mobile branch
* GLExtensions: Added GLEXT_blend_equation_separate
* Added file BlendMode.cpp
* Replaced occurrences of sf::BlendMode value parameters with const-references
* Adapted rendering code in sf::RenderTarget
2014-04-26 19:43:36 +02:00
James Cowgill
b188814937 Fix Config.hpp so SFML compiles on Debian FreeBSD 2014-04-25 15:41:47 +01:00
Jan Haller
3a7b425fb7 Improved sf::Http documentation concerning HTTPS 2014-04-23 19:31:31 +02:00
Laurent Gomila
f99bbfc534 Reviewed the sf::BlendMode class (added a constructor, made minor modifications in comments) 2014-04-22 21:37:39 +02:00
Laurent Gomila
80431deef4 Reviewed the sensor API 2014-04-20 12:58:50 +02:00
Laurent Gomila
ffd4b71722 Fixed erroneous comments in the sf::Touch class documentation 2014-04-20 12:58:47 +02:00
Jonathan De Wachter
7daaaa649e Implemented sensor API 2014-04-20 12:58:13 +02:00
Jonathan De Wachter
45f23cdbbb Made the OpenGL ES implementation available on ARM-based Linux OSes 2014-04-20 12:58:00 +02:00
Jonathan De Wachter
634c3dc2a7 [Android] Fixed memory leak when loading asset files 2014-04-20 12:57:38 +02:00
Jonathan De Wachter
4626e95491 [Android] Fixed WindowHandle and getSystemHandle() 2014-04-20 12:57:23 +02:00
Laurent Gomila
2c409e5145 Added touch events and the sf::Touch class (and iOS implementation) 2014-04-20 12:56:53 +02:00
Jonathan De Wachter
60894d1c1a [Android] Rewrote CMake scripts to compile SFML with our new toolchain 2014-04-20 12:56:40 +02:00
Laurent Gomila
3872b27569 Reworked the sfml-main module, added Main.hpp, moved the main() internal entry point for iOS from sfml-window to sfml-main 2014-04-20 12:53:17 +02:00
Jonathan De Wachter
63bbe2c91e Added the Android port 2014-04-20 12:52:04 +02:00
Laurent Gomila
d50f94ca97 Fixed render buffers not correctly resized on orientation changes 2014-04-20 12:48:02 +02:00
Laurent
e5ee38fc26 Added the iOS port 2014-04-20 12:48:00 +02:00
Jan Haller
e9243b7ef6 Improved documentation for sf::Shape and derived classes 2014-04-19 11:21:35 +02:00
Marco Antognini
49f2a76d93 Fixed a few glitches in the documentation 2014-04-15 20:18:19 +02:00
Jan Haller
666da801a1 Cached sf::Text attributes
Two optimizations:
- If a value remains the same, nothing happens
- Recompute geometry only before drawing and bound access, not after each set

Closes #413
2014-03-29 18:34:49 +01:00
Jan Haller
59e920cf10 Fixed several Doxygen warnings, limited input to *.hpp files 2014-03-29 12:42:13 +01:00
Jan Haller
1319a0a096 Improved Ftp::sendCommand() documentation 2014-03-29 11:54:20 +01:00
Jan Haller
2c5cab5454 Made Ftp::sendCommand() public 2014-03-28 13:38:19 +01:00
Jan Haller
50e3052773 Exposed up vector in sf::Listener API
Closes #545
2014-03-23 20:16:42 +01:00
Jan Haller
1fd6fae073 Minor improvements in sf::Ftp documentation 2014-03-22 14:41:46 +01:00
Jan Haller
9d5eb14dde Minor improvements in sf::Window and sf::RenderWindow documentation 2014-03-22 14:12:59 +01:00
Jan Haller
ec494babbe Passed BlendMode objects by const-reference 2014-03-16 11:58:45 +01:00
Jan Haller
330db58bc1 Improved documentation 2014-03-16 11:54:32 +01:00
Jan Haller
fab46cdfd7 Improved formatting 2014-03-16 10:50:27 +01:00
Jan Haller
75784dbb9a Omitted "Blend" prefix for nested BlendMode enums
BlendMode::Factor instead of BlendMode::BlendFactor
BlendMode::Equation instead of BlendMode::BlendEquation
2014-03-12 12:22:47 +01:00
Jan Haller
05d196d86d Fixed compile error (trailing enum comma) and other minor things 2014-03-12 12:19:38 +01:00
Jan Haller
fe7d6f513d Created branch for experimental blending mode API
See issue #298.
Based on branch 'new_blending_api' of github.com:tomgalvin594/SFML.
2014-03-09 13:38:39 +01:00
Thomas Galvin
951b774c70 Implemented a more flexible blending system (fixes #298) 2014-03-05 17:19:14 -05:00
NoobsArePeople2
29c0f14911 Adds name, vendor ID and product ID for joysticks.
- Implemented on Windows, Mac OS and Linux.
- Adds sf::Joystick::Identification structure to hold
  name, vendor ID and product ID.
2014-03-04 09:01:46 -08:00
Jan Haller
09860f7a02 Added String::substring() method
Based on pull request #355 from abodelot
2014-02-09 22:23:06 +01:00
Jan Haller
12d81304e6 Updated copyright year to 2014 2014-02-06 20:08:26 +01:00
Jan Haller
48db71fb69 Added String::replace() methods
Based on pull request #355 from abodelot
2014-02-06 12:39:59 +01:00
Jan Haller
e074b6775e Added documentation note on coordinates and undistorted rendering 2014-02-05 22:28:06 +01:00
Laurent Gomila
4a300547f3 Added String::toUtf8/16/32 functions (#501) 2013-12-04 22:54:38 +01:00
Strahinja Val Markovic
c3813f71ee Fix 'instanciate' typo; correct is 'instantiate' 2013-11-26 12:57:54 -08:00
Laurent Gomila
f69a35e63d Whitespace fix 2013-11-01 15:14:18 +01:00
Mario Liebisch
306b77bfc5 Added support for chunked http transfers
sf::Http now understands transfers that are sent using Chunked Transfer
Encoding (RFC 2616; section 3.6.1).
2013-10-24 11:49:00 +02:00
Laurent Gomila
db77b76d91 Merge pull request #470 from Foaly/MultiSoundInput
Added support for selecting the audio capture device (fixes #220)
2013-10-11 07:39:07 -07:00
Foaly
b1ad9dceac Added support for selecting audio capture device (fixes #220) 2013-10-09 09:24:02 +02:00
Laurent Gomila
fe12270d62 Fixed window size not correctly updated when changed through Window::setSize (#474) 2013-10-08 22:59:53 +02:00
Laurent Gomila
4dcd1f9c75 Fixed compiler warnings in sf::Rect (#458) 2013-10-02 22:39:57 +02:00
Marco Antognini
6f68192272 Update © dates 2013-09-20 18:52:57 +02:00
Laurent Gomila
5ffe258320 Forgot to include <Utf.hpp> in <String.hpp> 2013-08-24 23:43:33 +02:00
Laurent Gomila
c6651bfd30 Fixed stupid compile error in previous commit 2013-08-24 23:40:48 +02:00
Laurent Gomila
a89874f733 Added String::fromUtf8/16/32 functions (#196) 2013-08-24 14:45:59 +02:00
Jan Haller
6cf30e1751 Added operator for division of two sf::Time objects 2013-08-21 12:20:47 +02:00
Laurent Gomila
5173f51d52 Minor corrections in comments and syntax 2013-08-15 09:28:43 +02:00
Laurent Gomila
424c424376 Minor indentation and namespace fix 2013-08-12 19:02:12 +02:00
Laurent Gomila
a7f7c57a72 Merge pull request #430 from Foaly/timeOperators
Added modulo operators for sf::Time (#429)
2013-08-11 22:46:21 -07:00
Laurent Gomila
b9d0295c89 Added SoundRecorder::setProcessingInterval (#333) 2013-08-11 19:39:52 +02:00
Laurent Gomila
7caf2e64b6 Added Font::getInfo to retrieve various information about the font (for now, only the family name) (#164) 2013-08-09 16:02:53 +02:00
Laurent Gomila
6d4c844959 Added operator - for sf::Color (#114) 2013-08-09 14:57:32 +02:00
Laurent Gomila
6c1899d0f7 Updated version number 2013-07-21 09:30:08 +02:00
Foaly
0c0b3c2a3a Modulo operators for sf::Time (fixes #429) 2013-07-17 12:24:24 +02:00
Christian Neumüller
891e9de0fe Don't reimplement std::copy().
Using std::copy() potentially makes available helpful checks in debug mode and
can also lead to faster code by calling memcpy() in release mode.
The <algorithm> header was already included.
2013-06-24 00:51:31 +02:00
Laurent Gomila
7554c86f7d Optimized Shader::setParameter functions, by using a cache internally (#316, #358) 2013-06-18 11:55:21 +02:00
Laurent Gomila
da96ec5811 Improved the performances of Window::getSize() (the size is now cached) 2013-06-12 20:27:18 +02:00
Laurent Gomila
11837e9fc8 sf::Rect::contains and sf::Rect::intersects now handle rectangles with negative dimensions correctly (#219) 2013-05-11 22:56:17 +02:00
Laurent Gomila
d9629cfca7 Fixed typo in sf::Transformable documentation 2013-05-11 08:51:20 +02:00
Laurent Gomila
b92dc572e3 Fixed documentation of sf::Image 2013-05-10 09:48:55 +02:00