X-Git-Url: http://git.localhorst.tv/?p=space.git;a=blobdiff_plain;f=src%2Fgraphics%2FCamera.cpp;fp=src%2Fgraphics%2FCamera.cpp;h=553b74f77f0f9afbd36e1f6373d1b7b41bda50b5;hp=a72157a9ccc15c2e02d54929812b876a257fa249;hb=a1fd5c4181db1da990b6280892eb1b9f31b73871;hpb=2d0a41dc0a53915153ceccda914d59affd388864 diff --git a/src/graphics/Camera.cpp b/src/graphics/Camera.cpp index a72157a..553b74f 100644 --- a/src/graphics/Camera.cpp +++ b/src/graphics/Camera.cpp @@ -6,7 +6,7 @@ namespace space { Camera::Camera(int w, int h, const Vector &t) : target(&t) , offset(w/2, h/2) -, zoom(0) { +, zoom(1) { } @@ -16,15 +16,24 @@ void Camera::Resize(int w, int h) { } void Camera::Update(float delta) { + zoom += zoom * zoomAcc * delta; + if (zoom < 0.0001) zoom = 0.0001; +} + +void Camera::StartZoom() { + zoomAcc += 1; +} +void Camera::StopZoom() { + zoomAcc -= 1; } -void Camera::DoubleZoom() { - zoom += 1; +void Camera::StartShrink() { + zoomAcc -= 1; } -void Camera::HalfZoom() { - zoom -= 1; +void Camera::StopShrink() { + zoomAcc += 1; } }