]> git.localhorst.tv Git - space.git/blobdiff - src/graphics/Camera.h
dynamic zoom
[space.git] / src / graphics / Camera.h
index e40b051bc64d78c18479fdbcac6f276049a0e830..ad1a997ef6383cad9283ff884321b46133822e33 100644 (file)
@@ -18,8 +18,10 @@ public:
        void Resize(int w, int h);
        void Update(float deltaT);
 
-       void DoubleZoom();
-       void HalfZoom();
+       void StartZoom();
+       void StopZoom();
+       void StartShrink();
+       void StopShrink();
 
        Vector<int> ToScreen(Vector<float> v) const {
                return Vector<int>(OffsetOf(v));
@@ -28,20 +30,15 @@ public:
                return ToScale(v - *target) + offset;
        }
        Vector<float> ToScale(Vector<float> v) const {
-               if (zoom == 0) {
-                       return v;
-               } else if (zoom > 0) {
-                       return v * float(1 << zoom);
-               } else {
-                       return v / float(1 << -zoom);
-               }
+               return v * zoom;
        }
 
 private:
        const Vector<float> *target;
        Vector<float> offset;
 
-       int zoom;
+       float zoom;
+       int zoomAcc;
 
 };