QGIS API Documentation 3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
QgsMapCanvasItem Class Referenceabstract

An abstract class for items that can be placed on the map canvas. More...

#include <qgsmapcanvasitem.h>

Inheritance diagram for QgsMapCanvasItem:

Public Member Functions

QRectF boundingRect () const override
QgsRectangle rect () const
 returns canvas item rectangle in map units
void setRect (const QgsRectangle &r, bool resetRotation=true)
 sets canvas item rectangle in map units
QPointF toCanvasCoordinates (const QgsPointXY &point) const
 transformation from map coordinates to screen coordinates
QgsPointXY toMapCoordinates (QPoint point) const
 transformation from screen coordinates to map coordinates
virtual void updatePosition ()
 called on changed extent or resize event to update position of the item

Protected Member Functions

 QgsMapCanvasItem (QgsMapCanvas *mapCanvas)
 protected constructor: cannot be constructed directly
 ~QgsMapCanvasItem () override
virtual void paint (QPainter *painter)=0
 function to be implemented by derived classes
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr) override
bool setRenderContextVariables (QPainter *p, QgsRenderContext &context) const
 Sets render context parameters.
void updateCanvas ()
 schedules map canvas for repaint

Protected Attributes

QSizeF mItemSize
 cached size of the item (to return in boundingRect())
QgsMapCanvasmMapCanvas = nullptr
 pointer to map canvas
QgsRectangle mRect
 cached canvas item rectangle in map coordinates encodes position (xmin,ymax) and size (width/height) used to re-position and re-size the item on zoom/pan while waiting for the renderer to complete.
double mRectRotation = 0.0

Detailed Description

An abstract class for items that can be placed on the map canvas.

Definition at line 34 of file qgsmapcanvasitem.h.

Constructor & Destructor Documentation

◆ QgsMapCanvasItem()

QgsMapCanvasItem::QgsMapCanvasItem ( QgsMapCanvas * mapCanvas)
protected

protected constructor: cannot be constructed directly

Definition at line 30 of file qgsmapcanvasitem.cpp.

◆ ~QgsMapCanvasItem()

QgsMapCanvasItem::~QgsMapCanvasItem ( )
overrideprotected

Definition at line 38 of file qgsmapcanvasitem.cpp.

Member Function Documentation

◆ boundingRect()

QRectF QgsMapCanvasItem::boundingRect ( ) const
override

Definition at line 105 of file qgsmapcanvasitem.cpp.

◆ paint() [1/2]

virtual void QgsMapCanvasItem::paint ( QPainter * painter)
protectedpure virtual

◆ paint() [2/2]

void QgsMapCanvasItem::paint ( QPainter * painter,
const QStyleOptionGraphicsItem * option,
QWidget * widget = nullptr )
overrideprotected

Definition at line 43 of file qgsmapcanvasitem.cpp.

◆ rect()

QgsRectangle QgsMapCanvasItem::rect ( ) const

returns canvas item rectangle in map units

Definition at line 67 of file qgsmapcanvasitem.cpp.

◆ setRect()

void QgsMapCanvasItem::setRect ( const QgsRectangle & r,
bool resetRotation = true )

sets canvas item rectangle in map units

Definition at line 73 of file qgsmapcanvasitem.cpp.

◆ setRenderContextVariables()

bool QgsMapCanvasItem::setRenderContextVariables ( QPainter * p,
QgsRenderContext & context ) const
protected

Sets render context parameters.

Parameters
ppainter for rendering
contextout: configured context
Returns
true in case of success

Definition at line 118 of file qgsmapcanvasitem.cpp.

◆ toCanvasCoordinates()

QPointF QgsMapCanvasItem::toCanvasCoordinates ( const QgsPointXY & point) const

transformation from map coordinates to screen coordinates

Definition at line 60 of file qgsmapcanvasitem.cpp.

◆ toMapCoordinates()

QgsPointXY QgsMapCanvasItem::toMapCoordinates ( QPoint point) const

transformation from screen coordinates to map coordinates

Definition at line 54 of file qgsmapcanvasitem.cpp.

◆ updateCanvas()

void QgsMapCanvasItem::updateCanvas ( )
protected

schedules map canvas for repaint

Definition at line 111 of file qgsmapcanvasitem.cpp.

◆ updatePosition()

void QgsMapCanvasItem::updatePosition ( )
virtual

called on changed extent or resize event to update position of the item

Reimplemented in QgsAdvancedDigitizingCanvasItem, QgsGeometryRubberBand, QgsHighlight, QgsMapCanvasAnnotationItem, QgsRubberBand, and QgsVertexMarker.

Definition at line 134 of file qgsmapcanvasitem.cpp.

Member Data Documentation

◆ mItemSize

QSizeF QgsMapCanvasItem::mItemSize
protected

cached size of the item (to return in boundingRect())

Definition at line 95 of file qgsmapcanvasitem.h.

◆ mMapCanvas

QgsMapCanvas* QgsMapCanvasItem::mMapCanvas = nullptr
protected

pointer to map canvas

Definition at line 78 of file qgsmapcanvasitem.h.

◆ mRect

QgsRectangle QgsMapCanvasItem::mRect
protected

cached canvas item rectangle in map coordinates encodes position (xmin,ymax) and size (width/height) used to re-position and re-size the item on zoom/pan while waiting for the renderer to complete.

NOTE: does not include rotation information, so cannot be used to correctly present pre-rendered map on rotation change

Definition at line 90 of file qgsmapcanvasitem.h.

◆ mRectRotation

double QgsMapCanvasItem::mRectRotation = 0.0
protected

Definition at line 92 of file qgsmapcanvasitem.h.


The documentation for this class was generated from the following files: