aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Texture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api/Texture.cpp')
-rw-r--r--src/crepe/api/Texture.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/crepe/api/Texture.cpp b/src/crepe/api/Texture.cpp
index 8fc5c13..5ebd23d 100644
--- a/src/crepe/api/Texture.cpp
+++ b/src/crepe/api/Texture.cpp
@@ -21,12 +21,19 @@ Texture::Texture(const char * src) {
Texture::~Texture() {
dbg_trace();
- if (this->texture != nullptr) {
- SDL_DestroyTexture(this->texture);
- }
+ this->texture.reset();
}
void Texture::load(unique_ptr<Asset> res) {
SDLContext & ctx = SDLContext::get_instance();
- this->texture = ctx.texture_from_path(res->canonical());
+ this->texture = std::move(ctx.texture_from_path(res->canonical()));
+}
+
+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_width(*this);
}