aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Texture.cpp
diff options
context:
space:
mode:
authorjaroWMR <jarorutjes07@gmail.com>2024-10-23 19:57:44 +0200
committerjaroWMR <jarorutjes07@gmail.com>2024-10-23 19:57:44 +0200
commitedbb6c892299e3b7f93638abcc9e55b2cfce2358 (patch)
treed9c306af19636f5c757397ec1c1a157a93c12f0c /src/crepe/api/Texture.cpp
parent1b96c6e3c57b9d1dc5fb02cbd24b625d7f7f5b05 (diff)
parenteaa05e7a981b0f581f5393882e4753d9294a3dba (diff)
merge with niels/rendering
Diffstat (limited to 'src/crepe/api/Texture.cpp')
-rw-r--r--src/crepe/api/Texture.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/crepe/api/Texture.cpp b/src/crepe/api/Texture.cpp
new file mode 100644
index 0000000..ba06c6d
--- /dev/null
+++ b/src/crepe/api/Texture.cpp
@@ -0,0 +1,32 @@
+
+
+#include "Asset.h"
+#include "SdlContext.h"
+#include "util/log.h"
+
+#include "Texture.h"
+#include <SDL2/SDL_render.h>
+
+using namespace crepe::api;
+
+Texture::Texture(std::unique_ptr<Asset> res) {
+ dbg_trace();
+ this->load(std::move(res));
+}
+
+Texture::Texture(const char * src) {
+ dbg_trace();
+ this->load(std::make_unique<Asset>(src));
+}
+
+Texture::~Texture() {
+ dbg_trace();
+ if (this->m_texture != nullptr) {
+ SDL_DestroyTexture(m_texture);
+ }
+}
+void Texture::load(std::unique_ptr<Asset> res) {
+ SdlContext & ctx = SdlContext::get_instance();
+ m_texture = ctx.texture_from_path(res->canonical());
+
+}