#pragma once

#include <SDL_rect.h>
#include <SDL_render.h>
#include <string>

class TextureMap final {
public:
	TextureMap();
	~TextureMap();

	TextureMap(const TextureMap &) = delete;
	TextureMap(TextureMap &&) = delete;

	TextureMap & operator=(const TextureMap &) = delete;
	TextureMap & operator=(TextureMap &&) = delete;

	bool loadFromFile(const std::string &, SDL_Renderer *);
	SDL_Point getSize() const { return m_size; }

	operator SDL_Texture *() { return m_texture; }

private:
	SDL_Texture * m_texture;
	SDL_Point m_size;
};