#include "rectangle.hpp" #include "math/transforms.hpp" #include "renderers/renderer.hpp" void shapes::Rectangle::Translate(const math::Vector& offset) { m_pos += offset; } void shapes::Rectangle::Rotate(const math::Vector& center, float angle) { m_pos = math::RotatePoint(center, angle, m_pos); m_angle = math::RotateAngle(m_angle, angle); } void shapes::Rectangle::Scale(const math::Vector& center, float factor) { m_pos = math::ScalePoint(center, factor, m_pos); m_size *= factor; } void shapes::Rectangle::Draw(Renderer& renderer) const { renderer.DrawRectangle(m_pos, m_size, m_angle); }