Chris Thrasher
056f66a2b8
Replace sf::Int32
with std::int32_t
2022-09-12 15:36:55 -06:00
Chris Thrasher
ff9c9131b3
Replace sf::Uint16
with std::uint16_t
2022-09-12 21:36:13 +03:00
Chris Thrasher
e21ae3204e
Replace sf::Int16
with std::int16_t
2022-09-12 21:36:13 +03:00
Chris Thrasher
e2528de20a
Replace sf::Uint8
with std::uint8_t
2022-09-09 10:28:53 +02:00
Chris Thrasher
af34794123
Replace sf::Int8
with std::int8_t
2022-09-09 10:28:53 +02:00
Chris Thrasher
8561101b11
Add conversions between sf::Time
and std::chrono::duration
s
2022-09-05 23:35:25 +02:00
Chris Thrasher
ebb2d9d186
Implement sf::Time
with <chrono>
2022-09-05 23:35:25 +02:00
Chris Thrasher
4f52793f7d
Run clang-format
2022-07-11 20:04:56 +02:00
metaquarx
88e9f82bee
Add '.clang-format' file, CI integration, and formatting exceptions
...
Co-authored-by: Vittorio Romeo <vittorio.romeo@outlook.com>
Co-authored-by: Chris Thrasher <chrisjthrasher@gmail.com>
Co-authored-by: kimci86 <kimci86@hotmail.fr>
2022-07-11 20:04:56 +02:00
Vittorio Romeo
8c8d97c6c9
IpAddress is always valid
2022-06-28 00:31:12 +02:00
Vittorio Romeo
8a2aa6397f
Explicitly instantiate float vector members in cpp
2022-06-24 18:47:28 +02:00
Vittorio Romeo
a3dd3e02aa
Remove unused <string>
include from Texture.hpp
2022-06-24 12:59:30 +02:00
Chris Thrasher
d7f09c1167
Manually inline sf::IpAddress::resolve
...
This code is better expressed as a constructor since that's the
only place where it's used.
2022-06-23 20:22:13 +02:00
Chris Thrasher
76223b07a1
Implement sf::IpAddress
with std::optional
2022-06-23 20:22:13 +02:00
Vittorio Romeo
e4c5af63b7
Replace 'TcpSocket::send' local buffer with data member
2022-06-23 18:37:01 +02:00
kimci86
95201a3950
Update Image code example with Vector2u parameters
2022-06-23 18:03:54 +02:00
kimci86
c4790bcb14
Clarify Image::copy implementation
2022-06-23 18:03:54 +02:00
Vittorio Romeo
6cd07a043f
'sf::Image::copy' returns a 'bool' to signal success/failure
2022-06-21 16:40:22 +02:00
Chris Thrasher
9e23fb0899
Clarify sf::ConvexShape
docs
...
Co-authored-by: Jan Haller <bromeon@gmail.com>
2022-06-09 10:05:29 +02:00
Chris Thrasher
dbac180db5
Limit the scope of event object
2022-06-08 13:16:40 +02:00
Chris Thrasher
745bcb82ef
Remove implicitly defined special member functions
2022-06-07 23:19:30 +02:00
Chris Thrasher
e0c4d14541
Use [[maybe_unused]]
for parameters that are sometimes not used
...
Depending on preprocessor settings, certain parameters may or may
not be used. Instead of casing to (void) when not used, it's easier
to use C++17's [[maybe_unused]] attribute to express this.
2022-06-01 08:19:40 +02:00
Chris Thrasher
88515b2fca
Add polar coordinates constructor for sf::Vector2<T>
2022-05-17 20:30:02 +02:00
Chris Thrasher
0785093ebc
Use sf::Vector2<T>
for numeric parameter pairs
2022-05-17 08:33:11 +02:00
Bambo-Borris
b2ab6d6ab3
Add extension methods to Vector3<T>
...
Includes relevant tests and updates TestUtilities to feature ApproxVec2 & ApproxVec3
2022-05-16 08:59:42 +02:00
Lukas Dürrenberger
65e357e901
Merge pull request #2099 from SFML/2.6.x
...
Backmerge 2.6.x to master
2022-05-10 23:39:34 +02:00
Coder-Rahul-Y
33cb8f4391
Corrected/clarified the setLoopPoints() documentation
...
The previous documentation talks about 'end points' but the current code does not take end point as an argument and hence does not allow specifying the end point of the loop. (Instead the functions allows specifying the beginning offset and the length of the loop.)
2022-04-28 20:12:29 +02:00
Lukas Dürrenberger
af209510d9
Merge branch '2.6.x' into master
2022-04-21 08:31:37 +02:00
kimci86
f7c88ee7ef
Fix font pages not being created with the desired smoothness
2022-04-21 08:24:40 +02:00
Peter Chapman
470822cfe4
Fixed incorrect value for fully transparent pixels
2022-04-21 08:23:10 +02:00
Chris Thrasher
c7705a8d9a
Remove remaining use of this->
2022-04-20 08:29:45 +02:00
Chris Thrasher
4b93727413
Enable MSVC standards conformance
2022-04-19 08:33:27 +02:00
Jan Haller
70eeba5067
Add Vector2 extension methods (inspired from Thor)
...
Adds vector algebra functionality as member functions for Vector2<T>, with some methods limited to floating-point T.
Also adds UnitX and UnitY constants for the two axis unit vectors.
2022-02-28 16:18:00 +00:00
Vittorio Romeo
d55b5ec5b9
Minor include cleanup ('Window', 'RenderWindow')
2022-02-17 01:42:31 +00:00
Chris Thrasher
5f2c7bb898
Use std::filesystem::path
2022-02-17 00:40:29 +00:00
Vittorio Romeo
a3b27b4a6d
Use pre-increment when post-increment is not necessary
2022-02-17 00:39:35 +00:00
Vittorio Romeo
218154cf00
Add move semantics to 'Font', 'Text,' and 'Image'
2022-02-16 16:29:45 +00:00
Vittorio Romeo
b069f88127
Avoid overuse of 'std::endl'
2022-02-16 16:28:39 +00:00
Vittorio Romeo
5fee1aad7d
Add '[[nodiscard]]' in more useful/ambiguous places, fix usages
2022-02-16 16:27:32 +00:00
Jan Haller
eb321b3040
Update year to 2022 (master branch)
2022-02-16 13:52:31 +00:00
Vittorio Romeo
83259a4a31
Add move semantics to 'sf::Packet'
2022-02-16 13:50:07 +00:00
Vittorio Romeo
32ad019304
Cleanup sf::err
includes
2022-02-16 08:45:39 +01:00
binary1248
359fe9088c
Fixed warnings reported by LGTM and Coverity Scan.
2022-02-16 08:26:17 +01:00
Vittorio Romeo
5b500ad2c2
Turn more compile-time constants into 'constexpr' variables
2022-02-15 13:27:10 +00:00
Jan Haller
9d28bf7eb2
Update year to 2022 (amended)
2022-02-12 19:29:09 +01:00
Vittorio Romeo
dbeef66693
Turn 'sf::Transform' into a 'constexpr' class
2022-02-10 23:51:47 +00:00
Vittorio Romeo
63ce7e4e92
Remove unnecessary includes from public-facing headers
2022-02-10 21:05:49 +00:00
Vittorio Romeo
0e419543f2
Make 'Color' constants 'constexpr' and add tests
2022-02-08 23:32:12 +00:00
Chris Thrasher
28f273b9c9
Add sf::Angle
...
Similar to sf::Time, sf::Angle provides a typesafe API for working
with angles and provides named functions for converting to and from
degrees and radians.
2022-02-08 22:52:37 +00:00
Chris Thrasher
0c8c35fa0c
Fix findIntersection documentation
2022-02-04 09:35:34 +01:00
Chris Thrasher
7c80f302e4
Use std::optional to remove extra sf::Rect::intersects overload
2022-01-27 02:55:11 +00:00
Chris Thrasher
052e624ddf
Remove GCC 4 workaround
2022-01-21 21:19:05 +01:00
Vittorio Romeo
a880122836
Reintroduce 'SleepImpl' sleep implementation
2022-01-12 00:01:35 +00:00
Lukas Dürrenberger
3a402f241a
Merge branch '2.6.x' into feature/back_merge
2022-01-08 12:28:34 +01:00
Chris Thrasher
cd84b19669
Define fixed-width integer type aliases in terms of standard fixed-width types
2022-01-06 21:02:14 +01:00
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