| 308 | } |
| 309 | |
| 310 | void TransformedView::SetZoom(const float fZoom, const olc::vf2d& vPos) |
| 311 | { |
| 312 | olc::vf2d vOffsetBeforeZoom = ScreenToWorld(vPos); |
| 313 | m_vWorldScale = { fZoom, fZoom }; |
| 314 | if (m_bZoomClamp) m_vWorldScale = m_vWorldScale.clamp(m_vMinScale, m_vMaxScale); |
| 315 | olc::vf2d vOffsetAfterZoom = ScreenToWorld(vPos); |
| 316 | m_vWorldOffset += vOffsetBeforeZoom - vOffsetAfterZoom; |
| 317 | } |
| 318 | |
| 319 | void TransformedView::StartPan(const olc::vi2d& vPos) |
| 320 | { |