cpp_drawing/shapes/circle.hpp
2025-09-26 15:42:44 +02:00

38 lines
700 B
C++

#pragma once
#include "shape.hpp"
namespace shapes
{
class Circle : public Shape
{
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(Renderer& renderer) override;
~Circle() override = default;
private:
math::Vector m_center;
float m_radius;
};
} // namespace shapes