30 lines
595 B
C++
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 |