diff options
author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-03 11:33:48 +0100 |
---|---|---|
committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-03 11:33:48 +0100 |
commit | d1a31a3cafc9aadb047509f5cd8b2befa212add8 (patch) | |
tree | af43d7e3bd55818565fb253064d3f35a44786a68 /src/crepe/api/Texture.cpp | |
parent | c396ae5f78222a7c3547ae5e2ce719ae143acb66 (diff) | |
parent | cc821016c8ddce45a1e3f192415f58be237b8a1e (diff) |
Merge branch 'jaro/collision-system' into wouter/exampleGame
Diffstat (limited to 'src/crepe/api/Texture.cpp')
-rw-r--r-- | src/crepe/api/Texture.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/crepe/api/Texture.cpp b/src/crepe/api/Texture.cpp index 264d7b1..2b56271 100644 --- a/src/crepe/api/Texture.cpp +++ b/src/crepe/api/Texture.cpp @@ -1,10 +1,9 @@ -#include <SDL2/SDL_render.h> - #include "../facade/SDLContext.h" #include "../util/Log.h" #include "Asset.h" #include "Texture.h" +#include "types.h" using namespace crepe; using namespace std; @@ -19,16 +18,21 @@ Texture::~Texture() { this->texture.reset(); } +Texture::Texture(Texture && other) noexcept : texture(std::move(other.texture)) {} + +Texture & Texture::operator=(Texture && other) noexcept { + if (this != &other) { + texture = std::move(other.texture); + } + return *this; +} + void Texture::load(const Asset & res) { SDLContext & ctx = SDLContext::get_instance(); this->texture = ctx.texture_from_path(res.get_path()); } -int Texture::get_width() const { - if (this->texture == nullptr) return 0; - return SDLContext::get_instance().get_width(*this); -} -int Texture::get_height() const { - if (this->texture == nullptr) return 0; - return SDLContext::get_instance().get_height(*this); +ivec2 Texture::get_size() const { + if (this->texture == nullptr) return {}; + return SDLContext::get_instance().get_size(*this); } |