Commit Graph

907 Commits

Author SHA1 Message Date
ZXShady
8c895fd7e1 Pass sf::IpAddress by value
`sf::IpAddress` is a wrapper around `std::uint32_t` and should be passed by value
2024-07-27 15:53:03 -06:00
ZXShady
a256c5cdcd
Remove useless attributes from implementation files (#3175) 2024-07-21 22:50:00 -06:00
Chris Thrasher
b0b4c7ff3d Fix documentation regarding bit widths 2024-07-21 17:52:58 -06:00
Chris Thrasher
0831f055ce Require that sf::WindowBase::handleEvents receives at least one argument 2024-07-21 11:59:05 -06:00
Chris Thrasher
c8c8673259 Pass sf::Vector2<T>s by value
As a rule of thumb, if the type is less than or equal to the CPU
register width times two then you ought to pass it by value. This
will lead to more efficient code generation.
2024-07-19 10:33:00 -06:00
ZXShady
6c415471d2 Apply changes
Putting the `= default` in the header file like other files do and not in the `.inl` implementation files for consistency
2024-07-18 14:16:27 -06:00
Chris Thrasher
7083b6562e Fix typos 2024-07-15 14:16:36 -06:00
kimci86
72eb115551 Remove inheritance in sf::Event subtypes
This avoids confusing auto-completion hints when looking for an event
subtype to use as `sf::Event::is` or `sf::Event::getIf` type parameter.

This also avoids the inconsistency between what is possible with
`sf::Event::is` and `sf::Event::getIf` functions (they do not accept
event subtypes parents) and what would be possible with
`sf::Event::visit` (it could take a handler for a parent type).
2024-07-15 12:20:35 -06:00
vittorioromeo
7ba672139c Simplify sf::WindowBase::handleEvents and add basic tests 2024-07-09 17:51:41 +02:00
binary1248
41c48a84bc Added visitation support to Event and WindowBase via handleEvents. 2024-07-08 15:16:20 -06:00
Chris Thrasher
5873a7a157 Fix null pointer dereference when creating fullscreen window
Regression introduced in 7556d1b
2024-07-08 13:12:17 -06:00
Lukas Dürrenberger
121fa9cf74 Revert "Simplify/optimize sf::AudioResource implementation"
This reverts commit cede2def8b as it's
still possible to force a wrong destruction order.
2024-07-04 22:05:28 +02:00
Chris Thrasher
fbd8407a5f Enable moving windows 2024-06-30 16:50:32 -06:00
Chris Thrasher
7556d1be78 Move fullscreen window bookkeeping to a lower level 2024-06-30 16:50:32 -06:00
Chris Thrasher
51b8b44e14 Use more [[nodiscard]] 2024-06-27 19:02:46 -06:00
Chris Thrasher
e1469aa8f2 Use [[nodiscard]] in more places 2024-06-27 15:12:15 -06:00
Chris Thrasher
d7eeaea240 Add clang-tidy readability-else-after-return check 2024-06-27 12:17:03 -06:00
binary1248
be63ffa8d4 Fixed SoundEffects example allocating effect processor resources based on source channel count instead of engine channel count. 2024-06-27 08:17:23 +02:00
vittorioromeo
6ab03cc3ee Improve sf::Event documentation and parameter naming 2024-06-25 14:54:41 -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
Chris Thrasher
7034e40ccc Document missing parameter 2024-06-24 14:14:08 -06:00
Vittorio Romeo
cede2def8b Simplify/optimize sf::AudioResource implementation 2024-06-24 15:27:34 +02:00
Chris Thrasher
14cff7406f Disallow construction from const T&& 2024-06-23 16:55:37 -06:00
vittorioromeo
86c1a71a93 Remove default empty state of sf::Event 2024-06-23 19:11:10 +02:00
kimci86
eb762db342 Fix sf::VideoMode usage example 2024-06-18 06:13:15 -06:00
Chris Thrasher
5580720ae0 Fix inconsistent factory function name 2024-06-17 10:10:00 -06:00
kimci86
f96bf1f300 Rename Rect comparison operands to avoid confusion 2024-06-16 02:48:53 +02:00
kimci86
58e83056bb Some simplifications taking advantage of Rect position and size members 2024-06-16 02:48:53 +02:00
kimci86
1fd510c4bf Update Rect documentation 2024-06-16 02:48:53 +02:00
kimci86
c371bc6816 Remove Rect getPosition and getSize methods 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
vittorioromeo
e7b23ffcd1 Add timeout parameter to waitEvent 2024-06-14 15:00:46 +02:00
vittorioromeo
51efe50ec4 Simplify sf::Sprite implementation and reduce branches 2024-06-13 00:31:49 +02:00
Chris Thrasher
2f54312481 Fix documentation bugs 2024-06-12 14:38:04 -05:00
Chris Thrasher
304a7c1d69 Remove default empty state of sf::FileInputStream 2024-06-11 07:31:09 -05:00
copyrat90
37ac80dbe5 Update documentation of creating Music and Cursor 2024-06-11 12:29:31 +02:00
vittorioromeo
a303cee386 Consistently print errors in factory functions 2024-06-10 20:00:53 +02:00
Chris Thrasher
366b119963 Remove default empty state of sf::MemoryInputStream 2024-06-10 08:11:28 -05:00
Chris Thrasher
de8430bb29 Use std::optional rather than sentinel values 2024-06-09 20:48:55 -05:00
vittorioromeo
52ce862a00 Remove default empty state of sf::Music 2024-06-08 20:54:10 +02:00
Paul Meffle
92bba1ed6f Add support for raw mouse input 2024-06-04 13:24:10 -06:00
Chris Thrasher
bfd65989e9 Remove default empty state of sf::Texture 2024-06-04 13:19:58 -06:00
Chris Thrasher
46a71e4fe8 Add clang-tidy readability-redundant-member-init check
This has to be silenced for `sf::Vertex` because in some places within
SFML we initialize only a subset of this aggregate type. If we remove
the `{}` from `texCoords` then we get a compiler warning from Clang. It
feels like these two clang-based tools are somewhat contradictory.

error: missing field 'texCoords' initializer [-Werror,-Wmissing-field-initializers]
            m_points.append({{x, y}, {r, g, b}});
2024-06-04 00:56:24 -06:00
binary1248
123270f7ad Added support for retrieving a list of audio playback devices, getting the default audio playback device and changing the audio playback device during runtime. 2024-05-28 10:54:01 -06:00
Chris Thrasher
55f0918c62 Remove sf::View::reset in favor of assignment operations
It's rare that a type truly needs a .reset function. Copy/move
assignment typically accomplishes the same thing with less code
and is easier to maintain since it doesn't require updating your
.reset() function as new data members are added.

To reset a type is conceptually the same thing as simply assigning
from a newly constructed instance of the same type.
2024-05-26 10:23:52 -06:00
vittorioromeo
e53f4d62af Turn 'ContextSettings' into an aggregate and update usages 2024-05-25 00:56:37 +02:00
Chris Thrasher
b583eaf160 Replace const char* with std::string_view 2024-05-24 12:01:27 +02:00
Chris Thrasher
cc87ef7a3c Use std::string_view to construct sf::Shaders without allocations 2024-05-23 19:26:13 -06:00
Chris Thrasher
fdcd899d2b Remove default empty state of sf::RenderTexture 2024-05-22 23:37:42 -06:00
Chris Thrasher
e6d4ee7ad1 Fix sound file docs 2024-05-22 18:32:55 -06:00