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

38 lines
717 B
C++

#pragma once
#include "primitive.hpp"
namespace primitives
{
class Circle : public Primitive
{
public:
Circle(const math::Vector& center, float radius) : m_center(center), m_radius(radius)
{
}
const math::Vector& GetCenter() const
{
return m_center;
}
float GetRadius() const
{
return m_radius;
}
void Translate(const math::Vector& offset) override;
void Rotate(const math::Vector& center, float angle) override;
void Scale(const math::Vector& center, float factor) override;
void Draw(DrawingContext& ctx) override;
~Circle() override = default;
private:
math::Vector m_center;
float m_radius;
};
} // namespace primitives