Chris Thrasher
c8cf84511d
Fix clang-tidy-19 errors
2024-09-24 18:42:31 -06:00
kimci86
267bbe35b8
Simplify island example using vectors and extracting repetitive code
2024-09-17 22:38:51 +02:00
binary1248
e185f6d53e
Replace factory functions with throwing constructors
2024-08-08 09:19:32 -06:00
binary1248
698f265277
(Re-)Introduce default constructors and load/open member functions for resource objects that can be reused.
2024-08-08 09:19:32 -06:00
kimci86
fca4fa1aa2
Rename Font::loadFromFile into Font::openFromFile
...
Similar renaming for Font::loadFromMemory and Font::loadFromStream.
The goal is to better express the need to keep the source available,
similar to Music::openFromFile for example.
2024-06-25 22:53:28 +02:00
vittorioromeo
86c1a71a93
Remove default empty state of sf::Event
2024-06-23 19:11:10 +02:00
kimci86
58e83056bb
Some simplifications taking advantage of Rect position and size members
2024-06-16 02:48:53 +02:00
kimci86
7e5ed78219
Replace Rect members left, top, width, height by position and size
2024-06-16 02:48:53 +02:00
Chris Thrasher
5484824948
Remove unnecessary static casts
2024-06-05 11:54:36 -06:00
binary1248
59414d5bfd
Restore Shader and Island examples back to equivalent pre-API-change functionality.
2024-05-30 12:53:11 -06:00
Chris Thrasher
7234fc149b
Remove default empty state of sf::Shader
2024-05-19 20:58:58 -06:00
Chris Thrasher
504b850f03
Remove default empty state of sf::Font
2024-05-19 14:01:54 -06:00
trustytrojan
ca0a231b35
Add operator bool()
to sf::Event
for checking if the event type is not Empty
2024-05-03 22:50:59 +00:00
Chris Thrasher
59447dd8e5
Rewrite sf::Event
API to improve type safety
...
This new API is built on top of std::variant. This allows us to
store many different event types in a space-efficient way and access
the active event type in a type-safe manner that eliminates the
categories of UB that are possible with unions.
Co-authored-by: kimci86 <kimci86@hotmail.fr>
2024-05-01 18:00:58 +00:00
Chris Thrasher
ebf916edf8
Refactor ternary into early-returning conditionals
...
Continuing precedent set in ef5ee38
2024-04-23 10:57:44 -06:00
Chris Thrasher
d6e1961112
Ensure struct data members are given an initial value
...
While I don't suspect there are any uninitialize variable bugs
present, it's still good to err on the side of safety and provide
an initial value nonetheless.
2024-04-16 19:14:38 -06:00
vittorioromeo
b552148e26
Header cleanup guided by IWYU
2024-02-09 12:52:23 +01:00
kimci86
0d3c7f1c32
Make VertexBuffer::Usage a scoped enumeration
2024-01-27 15:31:30 -07:00
Chris Thrasher
ef5ee38576
Refactor ternary into early-returning conditionals
...
A complex ternary expression here doesn't buy us anything. This
refactor more clearly expresses what is going on in this function.
2024-01-17 19:14:27 -07:00
kimci86
39da2b829c
Make Keyboard::Key a scoped enumeration
2023-12-22 10:47:30 -06:00
Chris Thrasher
2bc4e15043
Fix typos
2023-12-17 15:48:19 -07:00
Chris Thrasher
c3f69e5d64
Remove leading newlines
2023-11-29 15:54:38 -07:00
Chris Thrasher
d6c18af926
Use cross-platform threading library target
2023-09-24 20:57:33 -06:00
Chris Thrasher
9dc2e541e8
Add clang-tidy modernize-return-braced-init-list
check
2023-09-17 15:47:33 -06:00
Chris Thrasher
ddfb7f6cb0
Use modern name for macOS
...
In a few places I left references to the old name where appropriate.
There are also many CMake references to "OSX" that we have to keep
using since CMake does not offer alternative names for those variables
and target properties.
2023-07-24 21:25:26 -06:00
Chris Thrasher
fb1cfdc48d
Add misc-const-correctness
clang-tidy check
2023-05-04 16:22:03 -06:00
vittorioromeo
cbfa9cbb65
Reorder includes hierarchically
2023-04-25 17:25:33 +02:00
Chris Thrasher
2c99b3343a
Remove default sf::Text
constructor
2023-04-05 09:54:56 -06:00
Shiv
ca5ca65004
Removed return EXIT_SUCCESS and cstdlib
2023-01-23 10:00:48 +01:00
Jim-Marsden
b2009e2fca
Changed from std::scoped_lock to std::lock_guard
2023-01-11 15:07:29 -07:00
Shiv
9bdf207818
Use std::clamp
2022-12-27 17:58:49 -06: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
Chris Thrasher
e2528de20a
Replace sf::Uint8
with std::uint8_t
2022-09-09 10:28:53 +02:00
Chris Thrasher
4f52793f7d
Run clang-format
2022-07-11 20:04:56 +02:00
Chris Thrasher
65fef85b30
Simplify how examples are built
...
CMake doesn't require absolute paths so we can safely remove
SRCROOT and let implicit relative pathing achieve the same result
with less work on our part.
2022-06-16 23:56:39 +02:00
Chris Thrasher
539483d329
Use std::array
2022-06-16 23:56:39 +02:00
Chris Thrasher
dbac180db5
Limit the scope of event object
2022-06-08 13:16:40 +02:00
Chris Thrasher
0785093ebc
Use sf::Vector2<T>
for numeric parameter pairs
2022-05-17 08:33:11 +02:00
Vittorio Romeo
a3b27b4a6d
Use pre-increment when post-increment is not necessary
2022-02-17 00:39:35 +00:00
Vittorio Romeo
b069f88127
Avoid overuse of 'std::endl'
2022-02-16 16:28:39 +00:00
Chris Thrasher
4586db91a9
Add SFML:: namespace to targets
...
This removes the sfml- prefixed targets from the export set. The sfml-
prefixed targets are still available within the build tree but not to
downstream users thus making this an API breaking change when compared
to the 2.x releases. To keep things consistent, usage of the sfml-
targets were replaced with their namespaced counterparts.
This has a number of benefits:
1. It's more idiomatic. Modern CMake libraries are expected to
have namespaced targets.
2. Namespaced targets are less likely to collide with user-defined
targets. No one will accidentally define a SFML:: target.
3. If a namespaced target is not found by CMake, configuration
will immediately stop.
2022-01-11 22:27:39 +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
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
756a399909
Remove deprecated 'Keyboard::Key' enumerators and adjust usages
2021-12-09 13:12:03 +00:00
Vittorio Romeo
87e84bc9e5
Minor modernization changes: 'nullptr', range-based 'for' loops, ...
2021-12-08 21:41:20 +00:00
Anton Vasiliev
f03a415121
Use std::vector.data() where appropriate
2021-12-08 16:26:03 +00:00
Vittorio Romeo
6cf124db66
Fix remaining warnings
...
- Fixes in examples
- Fixes across all the modules
2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
bc628c6b28
Fix warnings in examples
...
- Convert where necessary
- Adjust type where reasonable
- Use SYSTEM headers for gl.h, stb* and vulkan
2021-11-30 11:25:58 +01:00
MrZeusTheCoder
20238e758e
Switch example resources to public domain ones.
2021-04-02 22:16:22 +02:00