27 #include "../../../geometry/Envelope.h"
28 #include "../canvas/MapDisplay.h"
32 #include <QtGui/QMouseEvent>
33 #include <QtGui/QPainter>
34 #include <QtGui/QPixmap>
39 m_actionCursor(actionCursor)
50 if(e->button() != Qt::LeftButton)
58 if(m_actionCursor.shape() != Qt::BlankCursor)
59 m_display->setCursor(m_actionCursor);
70 m_delta = e->pos() - m_origin;
73 QPixmap* draft = m_display->getDraftPixmap();
77 QPixmap* result = m_display->getDisplayPixmap();
80 QPainter painter(draft);
81 painter.drawPixmap(0, 0, *result);
83 painter.setOpacity(0.3);
84 painter.drawPixmap(m_delta, *result);
97 m_display->setCursor(m_cursor);
99 if(e->button() != Qt::LeftButton || m_delta.isNull())
103 QPixmap* draft = m_display->getDraftPixmap();
104 draft->fill(Qt::transparent);
107 QRect rec(0, 0, m_display->width(), m_display->height());
108 QPoint center = rec.center();
110 rec.moveCenter(center);
113 QPointF ll(rec.left(), rec.bottom());
114 QPointF ur(rec.right(), rec.top());
115 ll = m_display->transform(ll);
116 ur = m_display->transform(ur);
120 m_display->setExtent(envelope);
This class defines an interface for objects that can receive application events and respond to them...
bool mouseMoveEvent(QMouseEvent *e)
Pan(MapDisplay *display, const QCursor &cursor, const QCursor &actionCursor=Qt::BlankCursor, QObject *parent=0)
It constructs a pan tool associated with the given map display and with the specified cursors...
virtual void setCursor(const QCursor &cursor)
bool mousePressEvent(QMouseEvent *e)
This class implements a concrete tool to geographic pan operation.
A widget to control the display of a set of layers.
bool mouseReleaseEvent(QMouseEvent *e)
An Envelope defines a 2D rectangular region.