summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/lib
Unidiff
Diffstat (limited to 'noncore/graphics/opie-eye/lib') (more/less context) (show whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/lib/oimagezoomer.cpp18
-rw-r--r--noncore/graphics/opie-eye/lib/oimagezoomer.h13
2 files changed, 26 insertions, 5 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,4 +1,6 @@
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>
@@ -87,4 +89,5 @@ OImageZoomer::~OImageZoomer() {
87 89
88void OImageZoomer::init() { 90void OImageZoomer::init() {
91 m_mevent = false;
89 setFrameStyle( Panel | Sunken ); 92 setFrameStyle( Panel | Sunken );
90} 93}
@@ -196,6 +199,17 @@ void OImageZoomer::drawContents( QPainter* p ) {
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
@@ -206,8 +220,8 @@ void OImageZoomer::mouseMoveEvent( QMouseEvent* ev ) {
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;
diff --git a/noncore/graphics/opie-eye/lib/oimagezoomer.h b/noncore/graphics/opie-eye/lib/oimagezoomer.h
index 2516c61..0b356c9 100644
--- a/noncore/graphics/opie-eye/lib/oimagezoomer.h
+++ b/noncore/graphics/opie-eye/lib/oimagezoomer.h
@@ -72,5 +72,6 @@ signals:
72 /** 72 /**
73 * Here you get absolute coordinates. 73 * Here you get absolute coordinates.
74 * This slot will be emitted from within the mouseMoveEvent of this widget. 74 * This slot will be emitted from within the mouseReleaseEvent of this widget.
75 * if no mouse move where done.
75 * So you may not delete this widget 76 * So you may not delete this widget
76 * 77 *
@@ -99,10 +100,15 @@ protected:
99 * @internal 100 * @internal
100 */ 101 */
101 void mousePressEvent( QMouseEvent* ev ); 102 virtual void mousePressEvent( QMouseEvent* ev );
102 /** 103 /**
103 * make sure to call these if you reimplement 104 * make sure to call these if you reimplement
104 * @internal 105 * @internal
105 */ 106 */
106 void mouseMoveEvent( QMouseEvent* ev ); 107 virtual void mouseMoveEvent( QMouseEvent* ev );
108 /**
109 * make sure to call these if you reimplement
110 * @internal
111 */
112 virtual void mouseReleaseEvent( QMouseEvent* ev );
107 113
108private: 114private:
@@ -115,4 +121,5 @@ private:
115 QPoint m_visPt; 121 QPoint m_visPt;
116 int m_mouseX, m_mouseY; 122 int m_mouseX, m_mouseY;
123 bool m_mevent;
117}; 124};
118 125