From 35224c07549448e919a18a463e5dec81bbabf7c6 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 25 Sep 2024 13:07:13 +0200 Subject: spritesheet and image changed --- resource-manager/spritesheet.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'resource-manager/spritesheet.cpp') diff --git a/resource-manager/spritesheet.cpp b/resource-manager/spritesheet.cpp index c8e1b70..c0e4d06 100644 --- a/resource-manager/spritesheet.cpp +++ b/resource-manager/spritesheet.cpp @@ -1,6 +1,7 @@ #include "spritesheet.h" +#include "Image_asset.h" #include #include @@ -10,17 +11,17 @@ #include -SpriteSheet::SpriteSheet(const std::string& path, SDL_Renderer& renderer, const int row, const int column){ - m_spritesheet_image = IMG_Load(path.c_str()); - texture = SDL_CreateTextureFromSurface(&renderer, m_spritesheet_image); - m_clip.w = m_spritesheet_image->w / column; - m_clip.h = m_spritesheet_image->h / row; +SpriteSheet::SpriteSheet(const std::string& path){ + m_spritesheet = new Texture(path); +} +void SpriteSheet::set_spritesheet_data(SDL_Renderer& renderer, const int row, const int column){ + m_clip.w = m_spritesheet->getSurface()->w / column; + m_clip.h = m_spritesheet->getSurface()->h / row; } SpriteSheet::~SpriteSheet(){ - SDL_DestroyTexture(texture); - SDL_FreeSurface(m_spritesheet_image); + delete m_spritesheet; } void SpriteSheet::select_sprite(const int x, const int y){ @@ -29,10 +30,10 @@ void SpriteSheet::select_sprite(const int x, const int y){ } void SpriteSheet::draw_selected_sprite(SDL_Renderer* window_surface, SDL_Rect* position){ - SDL_RenderCopy(window_surface, texture, &m_clip, position); + SDL_RenderCopy(window_surface, m_spritesheet->getTexture(), &m_clip, position); } SDL_Surface* SpriteSheet::getSurface() const { - return m_spritesheet_image; + return m_spritesheet->getSurface(); } -- cgit v1.2.3