#pragma once #include #include namespace LinearAlgebra { class Transform2D { protected: Matrix3x3 transformation; public: Transform2D Translate(const Vector2& offset) const; Transform2D Translate(float x, float y) const; Transform2D Scale(float scale); // Perform Uniform Scale Transform2D Scale(float x, float y); // Perform Nonunform Scale Transform2D Scale(const Vector2& scales); // Perform Nonuniform Scale Transform2D Rotate(); }; }