cpp_drawing/shapes/shape.hpp
2025-09-26 18:39:24 +02:00

25 lines
444 B
C++

#pragma once
#include "math/vector.hpp"
class Renderer;
namespace shapes
{
class Shape
{
public:
Shape() = default;
virtual void Translate(const math::Vector& offset) = 0;
virtual void Rotate(const math::Vector& center, float angle) = 0;
virtual void Scale(const math::Vector& center, float factor) = 0;
virtual void Draw(Renderer& renderer) const = 0;
virtual ~Shape() = default;
};
} // namespace shapes