]> git.localhorst.tv Git - space.git/blobdiff - src/app/Application.cpp
dynamic zoom
[space.git] / src / app / Application.cpp
index 9ebc2613d7d24a93be4fca69ddc66c200d16a13d..d18c757eca9141e62b18ea112844bc49eb049cc4 100644 (file)
@@ -88,10 +88,10 @@ void Application::OnKeyDown(const SDL_KeyboardEvent &e) {
                        control.x += 1;
                        break;
                case SDLK_z:
-                       cam.DoubleZoom();
+                       cam.StartZoom();
                        break;
                case SDLK_x:
-                       cam.HalfZoom();
+                       cam.StartShrink();
                        break;
                default:
                        break;
@@ -124,6 +124,12 @@ void Application::OnKeyUp(const SDL_KeyboardEvent &e) {
                case SDLK_d:
                        control.x -= 1;
                        break;
+               case SDLK_z:
+                       cam.StopZoom();
+                       break;
+               case SDLK_x:
+                       cam.StopShrink();
+                       break;
                default:
                        break;
        }
@@ -149,11 +155,11 @@ void Application::Render() {
        SDL_Surface *dst = screen.Screen();
        const Vector<int> begin = cam.ToScreen(Vector<float>(0, 0));
        const Vector<int> end =
-               cam.ToScreen((univ.size * univ.secSize * univ.areaSize)) + Vector<int>(1, 1);;
+               cam.ToScreen((univ.size * univ.secSize * univ.areaSize))
+                       + Vector<int>(1, 1);
 
        Fill(dst, background);
-       Grid(dst, begin, end, cam.ToScale(univ.areaSize), secGrid);
-       Grid(dst, begin, end, cam.ToScale(univ.secSize * univ.areaSize), univGrid);
+       Grid2(dst, begin, end, cam.ToScale(univ.areaSize), univ.secSize, secGrid, univGrid);
        Cross(dst, cam.ToScreen(focus.Pos()), 15, focusColor);
 
        for (const Entity &e : univ.Entities()) {