aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Texture.cpp
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-09 15:35:36 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-09 15:35:36 +0100
commit33cd5566909ac089cdf56db38a3d1daf0cb7dd10 (patch)
tree1d684595d5e8ef88c6c874ced36e616786231dd0 /src/crepe/api/Texture.cpp
parent519cc5d16e65ff501d330c03eeb35d2d095ead29 (diff)
fixed the aspect ratio and removed the ratio from sprite and give it to texture. however the problem still lies with if animator is given the aspect ratio is then off
Diffstat (limited to 'src/crepe/api/Texture.cpp')
-rw-r--r--src/crepe/api/Texture.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/crepe/api/Texture.cpp b/src/crepe/api/Texture.cpp
index 2ac8606..b0863cb 100644
--- a/src/crepe/api/Texture.cpp
+++ b/src/crepe/api/Texture.cpp
@@ -1,23 +1,35 @@
#include "../util/Log.h"
+#include "manager/Mediator.h"
+#include "facade/SDLContext.h"
#include "Asset.h"
#include "Resource.h"
#include "Texture.h"
-#include "facade/SDLContext.h"
-#include "manager/Mediator.h"
#include "types.h"
using namespace crepe;
using namespace std;
-Texture::Texture(const Asset & src, Mediator & mediator) : Resource(src, mediator) {
+Texture::Texture(const Asset & src, Mediator & mediator) : Resource(src, mediator){
dbg_trace();
SDLContext & ctx = mediator.sdl_context;
this->texture = ctx.texture_from_path(src.get_path());
this->size = ctx.get_size(*this);
+ this->aspect_ratio = static_cast<float>(this->size.x) / this->size.y;
}
Texture::~Texture() {
dbg_trace();
this->texture.reset();
}
+
+const ivec2 & Texture::get_size() const noexcept{
+ return this->size;
+}
+const float & Texture::get_ratio() const noexcept{
+ return this->aspect_ratio;
+}
+
+SDL_Texture * Texture::get_img() const noexcept{
+ return this->texture.get();
+}