QGIS API Documentation  2.99.0-Master (d55fa22)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsMapCanvasItem Class Referenceabstract

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

#include <qgsmapcanvasitem.h>

Inheritance diagram for QgsMapCanvasItem:
Inheritance graph
[legend]

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

QSizeF mItemSize
 cached size of the item (to return in boundingRect()) More...
 
QgsMapCanvasmMapCanvas = nullptr
 pointer to map canvas More...
 
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. More...
 
double mRectRotation
 

Detailed Description

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

Definition at line 32 of file qgsmapcanvasitem.h.

Constructor & Destructor Documentation

◆ QgsMapCanvasItem()

QgsMapCanvasItem::QgsMapCanvasItem ( QgsMapCanvas mapCanvas)
protected

protected constructor: cannot be constructed directly

Definition at line 28 of file qgsmapcanvasitem.cpp.

◆ ~QgsMapCanvasItem()

QgsMapCanvasItem::~QgsMapCanvasItem ( )
protectedvirtual

Definition at line 38 of file qgsmapcanvasitem.cpp.

Member Function Documentation

◆ boundingRect()

QRectF QgsMapCanvasItem::boundingRect ( ) const
overridevirtual

Reimplemented in QgsVertexMarker, and QgsMapCanvasAnnotationItem.

Definition at line 107 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 
)
overrideprotectedvirtual

Definition at line 43 of file qgsmapcanvasitem.cpp.

◆ rect()

QgsRectangle QgsMapCanvasItem::rect ( ) const

returns canvas item rectangle in map units

Definition at line 69 of file qgsmapcanvasitem.cpp.

◆ setRect()

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

sets canvas item rectangle in map units

Definition at line 75 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 120 of file qgsmapcanvasitem.cpp.

◆ toCanvasCoordinates()

QPointF QgsMapCanvasItem::toCanvasCoordinates ( const QgsPoint point) const

transformation from map coordinates to screen coordinates

Definition at line 62 of file qgsmapcanvasitem.cpp.

◆ toMapCoordinates()

QgsPoint QgsMapCanvasItem::toMapCoordinates ( QPoint  point) const

transformation from screen coordinates to map coordinates

Definition at line 56 of file qgsmapcanvasitem.cpp.

◆ updateCanvas()

void QgsMapCanvasItem::updateCanvas ( )
protected

schedules map canvas for repaint

Definition at line 113 of file qgsmapcanvasitem.cpp.

◆ updatePosition()

void QgsMapCanvasItem::updatePosition ( )
virtual

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

Reimplemented in QgsRubberBand, QgsVertexMarker, QgsHighlight, and QgsMapCanvasAnnotationItem.

Definition at line 136 of file qgsmapcanvasitem.cpp.

Member Data Documentation

◆ mItemSize

QSizeF QgsMapCanvasItem::mItemSize
protected

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

Definition at line 94 of file qgsmapcanvasitem.h.

◆ mMapCanvas

QgsMapCanvas* QgsMapCanvasItem::mMapCanvas = nullptr
protected

pointer to map canvas

Definition at line 79 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 89 of file qgsmapcanvasitem.h.

◆ mRectRotation

double QgsMapCanvasItem::mRectRotation
protected

Definition at line 91 of file qgsmapcanvasitem.h.


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