Zoom refractor

This commit is contained in:
2020-05-16 22:46:57 +02:00
parent 3fb3b2a760
commit 03a3b71790
2 changed files with 16 additions and 17 deletions
+15 -17
View File
@@ -302,31 +302,29 @@ void ImageScrollAreaGL::mousePressEvent(QMouseEvent *event)
void ImageScrollAreaGL::wheelEvent(QWheelEvent *event) void ImageScrollAreaGL::wheelEvent(QWheelEvent *event)
{ {
if(event->angleDelta().y() > 0) if(event->angleDelta().y() != 0)
zoomIn(); zoom(event->angleDelta().y() / 1200.0f);
else }
zoomOut();
void ImageScrollAreaGL::zoom(float delta)
{
if((m_scale >= 8.0f && delta > 0) || (m_scale <= 0.1f && delta < 0))return;
m_scale += delta;
m_imageWidget->blockRepaint(true);
m_imageWidget->setScale(m_scale);
updateScrollbars(true);
m_imageWidget->blockRepaint(false);
} }
void ImageScrollAreaGL::zoomIn() void ImageScrollAreaGL::zoomIn()
{ {
if(m_scale >= 8.0f)return; zoom(0.1f);
m_scale += 0.1f;
m_imageWidget->blockRepaint(true);
m_imageWidget->setScale(m_scale);
updateScrollbars(true);
m_imageWidget->blockRepaint(false);
} }
void ImageScrollAreaGL::zoomOut() void ImageScrollAreaGL::zoomOut()
{ {
if(m_scale <= 0.1f)return; zoom(-0.1f);
m_scale -= 0.1f;
m_imageWidget->blockRepaint(true);
m_imageWidget->setScale(m_scale);
updateScrollbars(true);
m_imageWidget->blockRepaint(false);
//m_imageWidget->repaint();
} }
void ImageScrollAreaGL::bestFit() void ImageScrollAreaGL::bestFit()
+1
View File
@@ -79,6 +79,7 @@ protected:
void mouseMoveEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event);
void mousePressEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent *event);
void wheelEvent(QWheelEvent *event); void wheelEvent(QWheelEvent *event);
void zoom(float delta);
public slots: public slots:
void zoomIn(); void zoomIn();
void zoomOut(); void zoomOut();