25 lines
579 B
C++
25 lines
579 B
C++
#include "circle.hpp"
|
|
#include "math/transforms.hpp"
|
|
#include "contexts/drawing_context.hpp"
|
|
|
|
void primitives::Circle::Translate(const math::Vector& offset)
|
|
{
|
|
m_center += offset;
|
|
}
|
|
|
|
void primitives::Circle::Rotate(const math::Vector& center, float angle)
|
|
{
|
|
m_center = math::RotatePoint(center, angle, m_center);
|
|
}
|
|
|
|
void primitives::Circle::Scale(const math::Vector& center, float factor)
|
|
{
|
|
m_center = math::ScalePoint(center, factor, m_center);
|
|
m_radius *= factor;
|
|
}
|
|
|
|
void primitives::Circle::Draw(DrawingContext& ctx)
|
|
{
|
|
ctx.DrawCircle(m_center, m_radius);
|
|
}
|