From 4d380e69304bb404d6643c6f4e4e36ad2f4c6d5d Mon Sep 17 00:00:00 2001 From: Luis Lucas Date: Sat, 29 Mar 2014 21:25:30 +0000 Subject: [PATCH] Fix bug in ZoomtoFit. --- source/app/SubWindowHandle.cpp | 8 +++++++- source/app/SubWindowHandle.h | 4 +++- source/app/plaYUVerApp.cpp | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/source/app/SubWindowHandle.cpp b/source/app/SubWindowHandle.cpp index 6c0a1d2..8052aca 100644 --- a/source/app/SubWindowHandle.cpp +++ b/source/app/SubWindowHandle.cpp @@ -250,12 +250,18 @@ Void SubWindowHandle::zoomToFit() scaleView( niceFit ); } -Void SubWindowHandle::scaleView( Double factor ) +Void SubWindowHandle::scaleViewFactor( Double factor ) { Q_ASSERT( m_cViewArea->image() ); m_cViewArea->zoomChangeEvent( factor ); } +Void SubWindowHandle::scaleView( Double scale ) +{ + Q_ASSERT( m_cViewArea->image() ); + m_cViewArea->setZoomFactor( scale ); +} + Void SubWindowHandle::scaleView( Int width, Int height ) { scaleView( QSize( width, height ) ); diff --git a/source/app/SubWindowHandle.h b/source/app/SubWindowHandle.h index 48fb532..0d58adf 100644 --- a/source/app/SubWindowHandle.h +++ b/source/app/SubWindowHandle.h @@ -106,7 +106,7 @@ public: * @param factor factor of scale. Ex: 1.2 scale the image up by 20% and * 0.8 scale the image down by 25% */ - Void scaleView( Double factor ); + Void scaleView( Double scale ); /** * The current image size is scaled to a rectangle as large as possible @@ -121,6 +121,8 @@ public: */ Void scaleView( const QSize & size ); + Void scaleViewFactor( Double factor ); + Double getScaleFactor() { return m_cViewArea->getZoomFactor(); diff --git a/source/app/plaYUVerApp.cpp b/source/app/plaYUVerApp.cpp index 501548b..4285a68 100644 --- a/source/app/plaYUVerApp.cpp +++ b/source/app/plaYUVerApp.cpp @@ -282,7 +282,7 @@ void plaYUVerApp::scaleFrame( int ratio ) { if( activeSubWindow() ) { - activeSubWindow()->scaleView( ( Double )( ratio ) / 100.0 ); + activeSubWindow()->scaleViewFactor( ( Double )( ratio ) / 100.0 ); // actionZoomIn->setEnabled( activeSubWindow()->getScaleFactor() < 3.0 ); // actionZoomOut->setEnabled( activeSubWindow()->getScaleFactor() > 0.333 );