]> git.localhorst.tv Git - space.git/blob - src/graphics/Camera.cpp
dynamic zoom
[space.git] / src / graphics / Camera.cpp
1 #include "Camera.h"
2
3
4 namespace space {
5
6 Camera::Camera(int w, int h, const Vector<float> &t)
7 : target(&t)
8 , offset(w/2, h/2)
9 , zoom(1) {
10
11 }
12
13
14 void Camera::Resize(int w, int h) {
15         offset = Vector<float>(w/2, h/2);
16 }
17
18 void Camera::Update(float delta) {
19         zoom += zoom * zoomAcc * delta;
20         if (zoom < 0.0001) zoom = 0.0001;
21 }
22
23 void Camera::StartZoom() {
24         zoomAcc += 1;
25 }
26
27 void Camera::StopZoom() {
28         zoomAcc -= 1;
29 }
30
31 void Camera::StartShrink() {
32         zoomAcc -= 1;
33 }
34
35 void Camera::StopShrink() {
36         zoomAcc += 1;
37 }
38
39 }