mirror of
https://github.com/SFML/SFML.git
synced 2024-11-28 22:31:09 +08:00
Prevent using a temporary sf::Texture
with sf::Sprite
This commit is contained in:
parent
0bb6303cf8
commit
0c2f7da9f9
@ -65,6 +65,12 @@ public:
|
||||
////////////////////////////////////////////////////////////
|
||||
explicit Sprite(const Texture& texture);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Disallow construction from a temporary texture
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
explicit Sprite(Texture&& texture) = delete;
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Construct the sprite from a sub-rectangle of a source texture
|
||||
///
|
||||
@ -76,6 +82,12 @@ public:
|
||||
////////////////////////////////////////////////////////////
|
||||
Sprite(const Texture& texture, const IntRect& rectangle);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Disallow construction from a temporary texture
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
Sprite(Texture&& texture, const IntRect& rectangle) = delete;
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Change the source texture of the sprite
|
||||
///
|
||||
@ -97,6 +109,12 @@ public:
|
||||
////////////////////////////////////////////////////////////
|
||||
void setTexture(const Texture& texture, bool resetRect = false);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Disallow setting from a temporary texture
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
void setTexture(Texture&& texture, bool resetRect = false) = delete;
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Set the sub-rectangle of the texture that the sprite will display
|
||||
///
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
#include <type_traits>
|
||||
|
||||
static_assert(!std::is_constructible_v<sf::Sprite, sf::Texture&&>);
|
||||
static_assert(std::is_copy_constructible_v<sf::Sprite>);
|
||||
static_assert(std::is_copy_assignable_v<sf::Sprite>);
|
||||
static_assert(std::is_nothrow_move_constructible_v<sf::Sprite>);
|
||||
|
Loading…
Reference in New Issue
Block a user