BubbleBobbleRemake / DuvelEngine / Texture2D.h
Texture2D.h
Raw
#pragma once
#include <glm/vec2.hpp>

struct SDL_Texture;
namespace dae
{
	/**
	 * Simple RAII wrapper for an SDL_Texture
	 */
	class Texture2D final
	{
	public:
		SDL_Texture* GetSDLTexture() const;
		explicit Texture2D(SDL_Texture* pTexture);
		~Texture2D();

		glm::ivec2 GetSize() const;

		int GetWidth() const;
		int GetHeight() const;

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

	private:
		SDL_Texture* m_pTexture;
	};
}