31 lines
939 B
C++
31 lines
939 B
C++
#pragma once
|
|
|
|
#include <SDL3/SDL.h>
|
|
#include <SDL3_image/SDL_image.h>
|
|
#include <string>
|
|
#include <utils.hpp>
|
|
|
|
namespace Game::Renderer {
|
|
class Texture {
|
|
public:
|
|
Texture(std::string id = "noname");
|
|
Texture(const std::string& path, SDL_Renderer* renderer, std::string id = "noname");
|
|
Texture(const Texture&);
|
|
Texture& operator=(const Texture&);
|
|
DISABLE_MOVE(Texture);
|
|
virtual ~Texture();
|
|
|
|
SDL_Texture* getSDLTexture();
|
|
std::string getId();
|
|
float getWidth();
|
|
float getHeight();
|
|
bool isTiled() { return mIsTiled; }
|
|
void setTiled(bool tiled) { mIsTiled = tiled; }
|
|
|
|
protected:
|
|
SDL_Texture* mTex;
|
|
std::string mId;
|
|
private:
|
|
bool mIsTiled = false; // Whether the texture is a tileset that should be rendered as a single tile or not
|
|
};
|
|
} |