cpp_drawing/primitives/primitive.hpp
2025-09-26 11:00:11 +02:00

25 lines
459 B
C++

#pragma once
#include "math/vector.hpp"
class DrawingContext;
namespace primitives
{
class Primitive
{
public:
Primitive() = 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(DrawingContext& ctx) = 0;
virtual ~Primitive() = 0;
};
} // namespace primitives