20 lines
404 B
C++
20 lines
404 B
C++
#pragma once
|
|
|
|
#include "libmath.hpp"
|
|
|
|
class Camera final {
|
|
public:
|
|
const Mat44& GetView() const { return viewMat_; }
|
|
void Move(const Point& offset);
|
|
void MoveTo(const Point& pos);
|
|
/* scale screen in [1.0, 2.0] */
|
|
void Scale(const Point& scale);
|
|
bool TryCalcView();
|
|
|
|
private:
|
|
Mat44 viewMat_;
|
|
Point position_ = {0, 0};
|
|
Point scale_ = {1, 1};
|
|
bool dirty_ = false;
|
|
};
|