Chris Thrasher
2d0c923a53
Prevent using a temporary sf::Texture
with sf::Shader
2023-01-06 15:46:22 -07:00
Chris Thrasher
0c2f7da9f9
Prevent using a temporary sf::Texture
with sf::Sprite
2023-01-06 15:46:22 -07:00
Chris Thrasher
3f4bb1ae12
Prevent constructing sf::Text
with a temporary sf::Font
...
By deleting this constructor overload, it fails to compile if
you pass a temporary font to this parameter slot. That includes
code like
sf::Text text("", sf::Font());
but more importantly it prohibits code like this
sf::Font getFont()
{
sf::Font font;
// load a font...
return font;
}
sf::Text text("", getFont());
The same idea can be applied to setFont() to prevent setting fonts
from a temporary.
Credit to Jonny for the idea
Co-authored-by: JonnyPtn <jonathan.r.paton@googlemail.com>
2023-01-06 10:21:00 -07:00
Chris Thrasher
718195bf25
Mark move operators as noexcept
2023-01-04 09:49:20 -07:00
Chris Thrasher
9a4426fb35
Simplify in-class initializer expressions
2023-01-03 14:51:44 -07:00
Chris Thrasher
259b57d9b9
Use in-class member initializers
2023-01-02 16:26:51 -07:00
Jim-Marsden
34b6323929
Changed to namespace
2023-01-01 14:31:26 -07:00
Chris Thrasher
15cdb40fc2
Merge branch '2.6.x' into feature/backmerge
2022-12-29 22:48:49 -07:00
kimci86
f0b44937ce
Update Image documentation regarding supported input formats
2022-12-29 00:08:52 +01:00
Jim-Marsden
7884efc49e
Replaced Header Guards with Pragma Once
2022-12-27 20:08:11 +01:00
Benjamin Li
9c7b7d68c0
Use = default to define empty destructors #2311
2022-12-27 11:08:11 +01:00
Chris Thrasher
50d86e4755
Use in-class member initializers
2022-12-22 09:36:54 -07:00
Jim-Marsden
77dcd712fb
Changed inline const to constexpr
2022-12-19 16:06:40 -07:00
Chris Thrasher
b7198b08d6
Use in-class member initializers
2022-12-18 09:11:22 -07:00
Jim-Marsden
487c97afaf
Added non-trivial move operations.
...
Removed the default move constructor and operator.
2022-12-15 10:03:54 -07:00
Chris Thrasher
c0acaef204
Use in-class member initializers
2022-12-15 00:41:19 -07:00
Chris Thrasher
dc9d794722
Merge remote-tracking branch 'origin/2.6.x' into feature/backmerge
2022-12-13 23:06:49 -07:00
Chris Thrasher
3b6db4d18c
Enforce variable case
2022-12-12 16:10:03 -07:00
fuzzdistor
7faa5507a4
Rearanged members of Transformable for a smaller object size
2022-11-29 01:28:05 -07:00
Jonny
510068d501
Use enum class instead of plain enum for PrimitiveType ( #2286 )
...
Co-authored-by: Jean Tampon <jean.tampon@gmail.com>
2022-11-27 12:17:27 -07:00
Christian Ivicevic
a9f33999dc
Fix outdated use of the sf::VideoMode constructor
2022-11-22 14:55:52 +01:00
jim
1d4db22d62
Added move constructor/operator
2022-11-19 19:52:45 -07:00
Chris Thrasher
0bdefd25d7
Use in-class member initializers
...
See C++ Core Guidelines item C.45 for more information.
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c45-dont-define-a-default-constructor-that-only-initializes-data-members-use-in-class-member-initializers-instead
2022-11-17 18:44:36 -07:00
kimci86
0310b03aef
Document that checking XButton1 and XButton2 state on X11 is not supported
2022-11-15 22:36:37 +01:00
Chris Thrasher
6451a29f49
Disable certain GCC pragmas when using other compilers
...
Fixes MSVC warning C4068 in public headers while keeping that warning
disabled for uses of GCC pragmas in SFML source files.
2022-11-05 12:52:40 -06:00
Chris Thrasher
cd985e37d2
Enforce parameter case
2022-10-24 12:53:29 +02:00
Chris Thrasher
a5dbe59f07
Merge branch '2.6.x'
2022-10-13 14:33:11 -06:00
Radek Dutkiewicz
2503b00299
Fix compile on linux with gcc 12.2.0
...
Undefined NUL
2022-10-11 15:30:23 +02:00
Vittorio Romeo
58b4346895
Add '[[nodiscard]]' to 'IpAddress::resolve'
2022-10-07 14:37:53 +02:00
kimci86
3acd9620eb
Fix SoundRecorder example code
2022-10-01 11:15:02 -06:00
Chris Thrasher
34ee40c835
Use scoped enumerations in Network module
2022-09-27 17:30:13 +02:00
Pierce Brooks
c565daccae
fix visual studio 2019 complaints regarding the int64_t type not being a member of the std namespace
2022-09-22 12:26:06 +02:00
Chris Thrasher
3a3935d005
Replace sf::Uint64
with std::uint64_t
2022-09-13 11:15:03 -06:00
Chris Thrasher
05690b963d
Replace sf::Int64
with std::int64_t
2022-09-13 11:15:03 -06:00
Chris Thrasher
e294090c8e
Replace sf::Uint32
with std::uint32_t
2022-09-12 15:36:55 -06:00
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