Zoom refractor
This commit is contained in:
+15
-17
@@ -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()
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user