QGIS API Documentation
3.18.1-Zürich (202f1bf7e5)
src
gui
qgsmapcanvasitem.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmapcanvasitem.h - base class for map canvas items
3
----------------------
4
begin : February 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 QGSMAPCANVASITEM_H
17
#define QGSMAPCANVASITEM_H
18
19
#include <QGraphicsItem>
20
#include "
qgis_sip.h
"
21
#include "
qgsrectangle.h
"
22
#include "qgis_gui.h"
23
24
class
QgsMapCanvas
;
25
class
QgsRenderContext
;
26
class
QPainter;
27
33
class
GUI_EXPORT
QgsMapCanvasItem
:
public
QGraphicsItem
34
{
35
protected
:
36
38
QgsMapCanvasItem
(
QgsMapCanvas
*mapCanvas
SIP_TRANSFERTHIS
);
39
40
~
QgsMapCanvasItem
()
override
;
41
43
virtual
void
paint
( QPainter *painter ) = 0;
44
45
void
paint( QPainter *painter,
46
const
QStyleOptionGraphicsItem *option,
47
QWidget *widget =
nullptr
)
override
;
48
50
void
updateCanvas();
51
58
bool
setRenderContextVariables( QPainter *p,
QgsRenderContext
&context )
const
;
59
60
public
:
61
63
virtual
void
updatePosition();
64
65
QRectF boundingRect()
const override
;
66
68
QgsRectangle
rect()
const
;
69
71
void
setRect(
const
QgsRectangle
&r,
bool
resetRotation =
true
);
72
74
QgsPointXY
toMapCoordinates( QPoint point )
const
;
75
77
QPointF toCanvasCoordinates(
const
QgsPointXY
&point )
const
;
78
79
protected
:
80
82
QgsMapCanvas
*mMapCanvas =
nullptr
;
83
94
QgsRectangle
mRect
;
95
96
double
mRectRotation
;
97
99
QSizeF
mItemSize
;
100
101
};
102
103
104
#endif
QgsMapCanvasItem
An abstract class for items that can be placed on the map canvas.
Definition:
qgsmapcanvasitem.h:34
QgsMapCanvasItem::paint
virtual void paint(QPainter *painter)=0
function to be implemented by derived classes
QgsMapCanvasItem::mItemSize
QSizeF mItemSize
cached size of the item (to return in boundingRect())
Definition:
qgsmapcanvasitem.h:99
QgsMapCanvasItem::mRect
QgsRectangle mRect
cached canvas item rectangle in map coordinates encodes position (xmin,ymax) and size (width/height) ...
Definition:
qgsmapcanvasitem.h:94
QgsMapCanvasItem::mRectRotation
double mRectRotation
Definition:
qgsmapcanvasitem.h:96
QgsMapCanvas
Map canvas is a class for displaying all GIS data types on a canvas.
Definition:
qgsmapcanvas.h:86
QgsPointXY
A class to represent a 2D point.
Definition:
qgspointxy.h:44
QgsRectangle
A rectangle specified with double values.
Definition:
qgsrectangle.h:42
QgsRenderContext
Contains information about the context of a rendering operation.
Definition:
qgsrendercontext.h:59
qgis_sip.h
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition:
qgis_sip.h:53
qgsrectangle.h
Generated on Sun Mar 21 2021 09:16:51 for QGIS API Documentation by
1.9.1