QGIS API Documentation 3.37.0-Master (684a802617f)
Loading...
Searching...
No Matches
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.
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.
virtual void canvasMoveEvent(QgsMapMouseEvent *e)
Mouse move event for overriding. Default implementation does nothing.
virtual void keyPressEvent(QKeyEvent *e)
Key event for overriding. Default implementation does nothing.
virtual void keyReleaseEvent(QKeyEvent *e)
Key event for overriding. Default implementation does nothing.
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.
virtual void deactivate()
called when map tool is being deactivated
A class for drawing transient features (e.g.