fix android gestures pinch and pan, supports only two fingers
This commit is contained in:
@@ -1893,12 +1893,13 @@ public:
|
||||
glm::vec2 sz = { m_canvas->m_width, m_canvas->m_height };
|
||||
m_canvas->m_mvp = glm::ortho(0.f, box.z, 0.f, box.w, -1.f, 1.f) *
|
||||
glm::translate(glm::vec3(m_pan + m_size * 0.5f * zoom, 0)) * // pan
|
||||
glm::scale(glm::vec3(zoom * m_zoom_canvas, zoom * m_zoom_canvas, 1)) *
|
||||
glm::scale(glm::vec3(zoom * m_zoom_canvas, zoom * m_zoom_canvas, 1)) *
|
||||
glm::translate(glm::vec3(-sz/2.f, 0));
|
||||
|
||||
|
||||
auto plane_mvp = glm::ortho(0.f, box.z, 0.f, box.w, -1.f, 1.f) *
|
||||
glm::translate(glm::vec3(m_pan + m_size * 0.5f * zoom, 0)) * // pan
|
||||
glm::scale(glm::vec3(sz * zoom * m_zoom_canvas, 1));
|
||||
glm::scale(glm::vec3(zoom * m_zoom_canvas, zoom * m_zoom_canvas, 1)) *
|
||||
glm::scale(glm::vec3(sz, 1));
|
||||
|
||||
m_sampler.bind(0);
|
||||
ui::ShaderManager::use(kShader::TextureAlpha);
|
||||
@@ -2006,7 +2007,7 @@ public:
|
||||
break;
|
||||
case kEventType::GestureMove:
|
||||
m_pan = m_pan_start + ge->m_pos_delta * glm::vec2(1, -1);
|
||||
//m_zoom_canvas = m_zoom_start + ge->m_distance;
|
||||
m_zoom_canvas = m_zoom_start + ge->m_distance_delta * .001f;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user