1234567891011121314151617181920212223242526272829303132333435363738 |
- #pragma once
- #include "types.h"
- #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.
- real projectX(real x) const;
- /// Converts the Y-coordinate from shape to pixel coordinate space.
- real projectY(real y) const;
- /// Converts the X-coordinate from pixel to shape coordinate space.
- real unprojectX(real x) const;
- /// Converts the Y-coordinate from pixel to shape coordinate space.
- real unprojectY(real y) const;
- private:
- Vector2 scale;
- Vector2 translate;
- };
- }
|