12345678910111213141516171819202122232425262728293031323334353637 |
- #pragma once
- #include "Vector2.hpp"
- namespace msdfgen {
- /// A transformation from shape coordinates to pixel coordinates.
- class Projection {
- public:
- Projection();
- Projection(const Vector2 &scale, const Vector2 &translate);
- /// Converts the shape coordinate to pixel coordinate.
- Point2 project(const Point2 &coord) const;
- /// Converts the pixel coordinate to shape coordinate.
- Point2 unproject(const Point2 &coord) const;
- /// Converts the vector to pixel coordinate space.
- Vector2 projectVector(const Vector2 &vector) const;
- /// Converts the vector from pixel coordinate space.
- Vector2 unprojectVector(const Vector2 &vector) const;
- /// Converts the X-coordinate from shape to pixel coordinate space.
- double projectX(double x) const;
- /// Converts the Y-coordinate from shape to pixel coordinate space.
- double projectY(double y) const;
- /// Converts the X-coordinate from pixel to shape coordinate space.
- double unprojectX(double x) const;
- /// Converts the Y-coordinate from pixel to shape coordinate space.
- double unprojectY(double y) const;
- private:
- Vector2 scale;
- Vector2 translate;
- };
- }
|