SDLU/include/graphics/drawable/Drawable.hpp
2021-04-23 15:08:51 +02:00

30 lines
595 B
C++

/**
* @file Drawable.hpp
* @brief The base class of everything renderable by RenderTarget
* @author Lauchmelder23
* @date 20.05.2020
*/
#pragma once
#include "Util.hpp"
struct SDL_Renderer;
SDLU_BEGIN
/**
* @brief Everything that can be rendered derives from this class.
*/
class Drawable
{
public:
Drawable(const Drawable& other) = delete;
Drawable(Drawable&& other) = delete;
Drawable& operator=(const Drawable& other) = delete;
friend class RenderTarget;
protected:
Drawable() { }
virtual void Draw(SDL_Renderer* const target) const = 0;
};
SDLU_END