From f067dc8b3215163ff7b5c7e3f4aa04df069d0f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Sumi=C5=84ski?= Date: Sun, 7 Jul 2013 19:30:44 +0200 Subject: [PATCH] Added possibility to change zoom using toolbar in GAL. --- common/drawframe.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/common/drawframe.cpp b/common/drawframe.cpp index a07399ab97..eb17f432ac 100644 --- a/common/drawframe.cpp +++ b/common/drawframe.cpp @@ -426,7 +426,21 @@ void EDA_DRAW_FRAME::OnSelectZoom( wxCommandEvent& event ) return; GetScreen()->SetZoom( selectedZoom ); - RedrawScreen( GetScreen()->GetScrollCenterPosition(), false ); + + if( m_galCanvasActive ) + { + // Apply computed view settings to GAL + KiGfx::VIEW* view = m_galCanvas->GetView(); + KiGfx::GAL* gal = m_galCanvas->GetGAL(); + + double zoomFactor = gal->GetWorldScale() / gal->GetZoomFactor(); + double zoom = 1.0 / ( zoomFactor * GetZoom() ); + + view->SetScale( zoom ); + m_galCanvas->Refresh(); + } + else + RedrawScreen( GetScreen()->GetScrollCenterPosition(), false ); } }