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.cpp | 18 |
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 @@ -2,2 +2,4 @@ +#include <opie2/odebug.h> + #include <qimage.h> @@ -88,2 +90,3 @@ OImageZoomer::~OImageZoomer() { void OImageZoomer::init() { + m_mevent = false; setFrameStyle( Panel | Sunken ); @@ -197,4 +200,15 @@ void OImageZoomer::drawContents( QPainter* p ) { -void OImageZoomer::mousePressEvent( QMouseEvent* ) { +void OImageZoomer::mousePressEvent( QMouseEvent*ev) { m_mouseX = m_mouseY = -1; + m_mevent = true; +} + +void OImageZoomer::mouseReleaseEvent( QMouseEvent*ev) { + if (!m_mevent) return; + int mx, my; + mx = ev->x(); + my = ev->y(); + int diffx = (mx) * m_imgSize.width() / width(); + int diffy = (my) * m_imgSize.height() / height(); + emit zoomArea(diffx,diffy); } @@ -207,2 +221,3 @@ void OImageZoomer::mouseMoveEvent( QMouseEvent* ev ) { if ( m_mouseX != -1 && m_mouseY != -1 ) { + m_mevent = false; int diffx = ( mx - m_mouseX ) * m_imgSize.width() / width(); @@ -210,3 +225,2 @@ void OImageZoomer::mouseMoveEvent( QMouseEvent* ev ) { emit zoomAreaRel( diffx, diffy ); - emit zoomArea(m_visPt.x()+diffx, m_visPt.y()+diffy ); } |