From 96401a1e5d761071bafe34f261950de4190b93ec Mon Sep 17 00:00:00 2001 From: omigamedev Date: Fri, 28 Apr 2017 10:00:18 +0100 Subject: [PATCH] pinch zoom linked to camera fov --- engine/layout.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/engine/layout.h b/engine/layout.h index e55483d..ecc37fd 100644 --- a/engine/layout.h +++ b/engine/layout.h @@ -1860,6 +1860,7 @@ class NodeCanvas : public Node glm::vec2 m_pan_start; glm::vec2 m_pan; glm::vec2 m_cur; + float m_camera_fov; float m_zoom_canvas = 1.f; float m_zoom_start; bool method = true; @@ -1877,7 +1878,7 @@ public: m_canvas->layer_add("asd"); m_canvas->clear(); m_sampler.create(); - m_face_plane.create<1>(1.99, 1.99); + m_face_plane.create<1>(2, 2); } virtual void draw() override { @@ -1997,6 +1998,7 @@ public: break; case kEventType::MouseScroll: m_zoom_canvas += me->m_scroll_delta * 0.1f; + m_canvas->m_cam_fov -= me->m_scroll_delta * 20.1f; break; case kEventType::MouseCancel: m_dragging = false; @@ -2020,11 +2022,12 @@ public: case kEventType::GestureStart: m_pan_start = m_pan; m_zoom_start = m_zoom_canvas; + m_camera_fov = m_canvas->m_cam_fov; break; case kEventType::GestureMove: m_pan = m_pan_start + ge->m_pos_delta * glm::vec2(-1, -1); - //m_canvas->m_cam_fov = m_zoom_start + ge->m_distance_delta * .001f; - m_zoom_canvas = m_zoom_start + ge->m_distance_delta * .001f; + m_canvas->m_cam_fov = m_camera_fov - ge->m_distance_delta * .1f; + //m_zoom_canvas = m_zoom_start + ge->m_distance_delta * .001f; break; default: break;