QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsmaptoolzoom.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsmaptoolzoom.h - map tool for zooming
3 ----------------------
4 begin : January 2006
5 copyright : (C) 2006 by Martin Dobias
6 email : wonder.sk at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSMAPTOOLZOOM_H
17#define QGSMAPTOOLZOOM_H
18
19#include "qgsmaptool.h"
20#include <QRect>
21#include "qgis_gui.h"
22
23class QgsRubberBand;
24
30class GUI_EXPORT QgsMapToolZoom : public QgsMapTool
31{
32 Q_OBJECT
33
34 public:
36 QgsMapToolZoom( QgsMapCanvas *canvas, bool zoomOut );
37 ~QgsMapToolZoom() override;
38
39 Flags flags() const override;
40 void canvasMoveEvent( QgsMapMouseEvent *e ) override;
41 void canvasPressEvent( QgsMapMouseEvent *e ) override;
42 void canvasReleaseEvent( QgsMapMouseEvent *e ) override;
43 void keyPressEvent( QKeyEvent *e ) override;
44 void keyReleaseEvent( QKeyEvent *e ) override;
45 void deactivate() override;
46
47 protected:
49 QRect mZoomRect;
50 // minimum pixel size of diagonal of the zoom rectangle
51 int mMinPixelZoom = 20;
52
57
60
62 bool mCanceled = false;
63
64 QgsRubberBand *mRubberBand = nullptr;
65
68
69 private:
70 void setZoomMode( bool zoomOut, bool force = false );
71};
72
73#endif
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:93
A QgsMapMouseEvent is the result of a user interaction with the mouse on a QgsMapCanvas.
A map tool for zooming into the map.
bool mDragging
Flag to indicate a map canvas drag operation is taking place.
bool mNativeZoomOut
native tool
QRect mZoomRect
stores actual zoom rect
QCursor mZoomOutCursor
QCursor mZoomInCursor
bool mZoomOut
indicates whether we're zooming in or out
Abstract base class for all map tools.
Definition: qgsmaptool.h:71
QFlags< Flag > Flags
Definition: qgsmaptool.h:116
virtual void canvasPressEvent(QgsMapMouseEvent *e)
Mouse press event for overriding. Default implementation does nothing.
Definition: qgsmaptool.cpp:184
virtual void canvasMoveEvent(QgsMapMouseEvent *e)
Mouse move event for overriding. Default implementation does nothing.
Definition: qgsmaptool.cpp:174
virtual void keyPressEvent(QKeyEvent *e)
Key event for overriding. Default implementation does nothing.
Definition: qgsmaptool.cpp:199
virtual void keyReleaseEvent(QKeyEvent *e)
Key event for overriding. Default implementation does nothing.
Definition: qgsmaptool.cpp:204
virtual Flags flags() const
Returns the flags for the map tool.
Definition: qgsmaptool.h:121
virtual void canvasReleaseEvent(QgsMapMouseEvent *e)
Mouse release event for overriding. Default implementation does nothing.
Definition: qgsmaptool.cpp:189
virtual void deactivate()
called when map tool is being deactivated
Definition: qgsmaptool.cpp:110
A class for drawing transient features (e.g.
Definition: qgsrubberband.h:54