summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/lib/oimagezoomer.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/opie-eye/lib/oimagezoomer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/lib/oimagezoomer.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/lib/oimagezoomer.cpp b/noncore/graphics/opie-eye/lib/oimagezoomer.cpp
index 00b93e2..d1eec67 100644
--- a/noncore/graphics/opie-eye/lib/oimagezoomer.cpp
+++ b/noncore/graphics/opie-eye/lib/oimagezoomer.cpp
@@ -1,8 +1,10 @@
1#include "oimagezoomer.h" 1#include "oimagezoomer.h"
2 2
3#include <opie2/odebug.h>
4
3#include <qimage.h> 5#include <qimage.h>
4#include <qpixmap.h> 6#include <qpixmap.h>
5#include <qpainter.h> 7#include <qpainter.h>
6#include <qrect.h> 8#include <qrect.h>
7#include <qpoint.h> 9#include <qpoint.h>
8#include <qsize.h> 10#include <qsize.h>
@@ -83,12 +85,13 @@ OImageZoomer::OImageZoomer( const QSize& pSize, const QSize& vSize, QWidget* par
83 */ 85 */
84OImageZoomer::~OImageZoomer() { 86OImageZoomer::~OImageZoomer() {
85 87
86} 88}
87 89
88void OImageZoomer::init() { 90void OImageZoomer::init() {
91 m_mevent = false;
89 setFrameStyle( Panel | Sunken ); 92 setFrameStyle( Panel | Sunken );
90} 93}
91 94
92 95
93/** 96/**
94 * \brief set the page/image size 97 * \brief set the page/image size
@@ -192,26 +195,37 @@ void OImageZoomer::drawContents( QPainter* p ) {
192 int h = (c.height()*m_visSize.height() )/len + c.y(); 195 int h = (c.height()*m_visSize.height() )/len + c.y();
193 if ( h > c.height() ) h = c.height(); 196 if ( h > c.height() ) h = c.height();
194 197
195 p->drawRect( x, y, w, h ); 198 p->drawRect( x, y, w, h );
196} 199}
197 200
198void OImageZoomer::mousePressEvent( QMouseEvent* ) { 201void OImageZoomer::mousePressEvent( QMouseEvent*ev) {
199 m_mouseX = m_mouseY = -1; 202 m_mouseX = m_mouseY = -1;
203 m_mevent = true;
204}
205
206void OImageZoomer::mouseReleaseEvent( QMouseEvent*ev) {
207 if (!m_mevent) return;
208 int mx, my;
209 mx = ev->x();
210 my = ev->y();
211 int diffx = (mx) * m_imgSize.width() / width();
212 int diffy = (my) * m_imgSize.height() / height();
213 emit zoomArea(diffx,diffy);
200} 214}
201 215
202void OImageZoomer::mouseMoveEvent( QMouseEvent* ev ) { 216void OImageZoomer::mouseMoveEvent( QMouseEvent* ev ) {
203 int mx, my; 217 int mx, my;
204 mx = ev->x(); 218 mx = ev->x();
205 my = ev->y(); 219 my = ev->y();
206 220
207 if ( m_mouseX != -1 && m_mouseY != -1 ) { 221 if ( m_mouseX != -1 && m_mouseY != -1 ) {
222 m_mevent = false;
208 int diffx = ( mx - m_mouseX ) * m_imgSize.width() / width(); 223 int diffx = ( mx - m_mouseX ) * m_imgSize.width() / width();
209 int diffy = ( my - m_mouseY ) * m_imgSize.height() / height(); 224 int diffy = ( my - m_mouseY ) * m_imgSize.height() / height();
210 emit zoomAreaRel( diffx, diffy ); 225 emit zoomAreaRel( diffx, diffy );
211 emit zoomArea(m_visPt.x()+diffx, m_visPt.y()+diffy );
212 } 226 }
213 m_mouseX = mx; 227 m_mouseX = mx;
214 m_mouseY = my; 228 m_mouseY = my;
215} 229}
216 230
217 231