diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-04-04 12:19:41 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-04-04 12:19:41 +0100 |
commit | 55a1e0ad7c9d2661c266b2e767bfcb2f944e859f (patch) | |
tree | fe3ac90ab853e2f87bd33294976a3fc56e144988 /include/YAGE/camera2d.hpp | |
parent | aa67c8bb56cb750ac83ecbd361439f5ecb5e12d9 (diff) | |
download | YAGE-55a1e0ad7c9d2661c266b2e767bfcb2f944e859f.tar.gz YAGE-55a1e0ad7c9d2661c266b2e767bfcb2f944e859f.zip |
Adding spritebatch class
Diffstat (limited to 'include/YAGE/camera2d.hpp')
-rw-r--r-- | include/YAGE/camera2d.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/include/YAGE/camera2d.hpp b/include/YAGE/camera2d.hpp new file mode 100644 index 00000000..030b0a37 --- /dev/null +++ b/include/YAGE/camera2d.hpp @@ -0,0 +1,36 @@ +#ifndef CAMERA_2D_HPP +#define CAMERA_2D_HPP + +#include <glm/glm.hpp> +#include <glm/gtc/matrix_transform.hpp> + +namespace yage +{ + +class Camera2D +{ +private: + bool matrix_needs_update_=true; + float scale_=1.f; + glm::vec2 position_; + glm::mat4 camera_matrix_; + glm::mat4 ortho_matrix_; +public: + Camera2D(int screen_width=1280, int screen_height=720); + virtual ~Camera2D(); + + void update(); + + // setters + void setPosition(const glm::vec2 &new_position) { position_=new_position; matrix_needs_update_=true; } + void setScale(float new_scale) {scale_=new_scale; matrix_needs_update_=true; } + + // getters + float getScale() { return scale_; } + glm::vec2 getPosition() { return position_; } + glm::mat4 getCameraMatrix() { return camera_matrix_; } +}; + +} // yage + +#endif |