QGIS API Documentation 3.41.0-Master (af5edcb665c)
Loading...
Searching...
No Matches
qgsmapoverviewcanvas.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsmapoverviewcanvas.h
3 Map canvas subclassed for overview
4 -------------------
5 begin : 09/14/2005
6 copyright : (C) 2005 by Martin Dobias
7 email : won.der at centrum.sk
8 ***************************************************************************/
9
10/***************************************************************************
11 * *
12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. *
16 * *
17 ***************************************************************************/
18
19#ifndef QGSMAPOVERVIEWCANVAS_H
20#define QGSMAPOVERVIEWCANVAS_H
21
22#include <QWidget>
23#include <QPixmap>
24
25class QMouseEvent;
26class QgsMapCanvas;
27class QgsPanningWidget; // defined in .cpp
28class QgsRectangle;
29
31#include "qgsmapsettings.h"
32#include "qgis_gui.h"
33
38class GUI_EXPORT QgsMapOverviewCanvas : public QWidget
39{
40 Q_OBJECT
41
42 public:
43 QgsMapOverviewCanvas( QWidget *parent SIP_TRANSFERTHIS = nullptr, QgsMapCanvas *mapCanvas = nullptr );
44
46 void refresh();
47
49 void setBackgroundColor( const QColor &color );
50
52 void setLayers( const QList<QgsMapLayer *> &layers );
53
55 QList<QgsMapLayer *> layers() const;
56
57 void enableAntiAliasing( bool flag )
58 {
59 mSettings.setFlag( Qgis::MapSettingsFlag::Antialiasing, flag );
61 }
62
63 void updateFullExtent();
64
65 protected slots:
66 void mapRenderingFinished();
67
71 void layerRepaintRequested( bool deferred = false );
72
73 protected:
75 void drawExtentRect();
76
78 void destinationCrsChanged();
79
81 void transformContextChanged();
82
84 void paintEvent( QPaintEvent *pe ) override;
85
87 void showEvent( QShowEvent *e ) override;
88
90 void resizeEvent( QResizeEvent *e ) override;
91
93 void mouseMoveEvent( QMouseEvent *e ) override;
94
96 void mousePressEvent( QMouseEvent *e ) override;
97
99 void mouseReleaseEvent( QMouseEvent *e ) override;
100
102 void wheelEvent( QWheelEvent *e ) override;
103
105 void updatePanningWidget( QPoint pos );
106
108 QgsPanningWidget *mPanningWidget = nullptr;
109
112
114 QgsMapCanvas *mMapCanvas = nullptr;
115
117 QPixmap mPixmap;
118
121
123 QgsMapRendererQImageJob *mJob = nullptr;
124};
125
126
127#ifndef SIP_RUN
128
130// Widget that serves as rectangle showing current extent in overview
131class QgsPanningWidget : public QWidget
132{
133 Q_OBJECT
134
135 QPolygon mPoly;
136
137 public:
138 explicit QgsPanningWidget( QWidget *parent );
139
140 void setPolygon( const QPolygon &p );
141
142 void paintEvent( QPaintEvent *pe ) override;
143};
145
146#endif
147
148#endif
@ Antialiasing
Enable anti-aliasing for map rendering.
@ HighQualityImageTransforms
Enable high quality image transformations, which results in better appearance of scaled or rotated ra...
Map canvas is a class for displaying all GIS data types on a canvas.
A widget that displays an overview map.
QPoint mPanningCursorOffset
position of cursor inside panning widget
QPixmap mPixmap
pixmap where the map is stored
void enableAntiAliasing(bool flag)
QgsMapSettings mSettings
map settings used for rendering of the overview map
Intermediate base class adding functionality that allows client to query the rendered image.
The QgsMapSettings class contains configuration for rendering of the map.
A rectangle specified with double values.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53