QGIS API Documentation  master-3f58142
QgsMapCanvasItem Class Reference

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

#include <qgsmapcanvasitem.h>

+ Inheritance diagram for QgsMapCanvasItem:
+ Collaboration diagram for QgsMapCanvasItem:

List of all members.

Public Member Functions

virtual QRectF boundingRect () const
 default implementation for canvas items
QgsRectangle rect () const
 returns canvas item rectangle
void setPanningOffset (const QPoint &point)
 sets current offset, to be called from QgsMapCanvas
void setRect (const QgsRectangle &r)
 sets canvas item rectangle
QPointF toCanvasCoordinates (const QgsPoint &point)
 transformation from map coordinates to screen coordinates
QgsPoint toMapCoordinates (const QPoint &point)
 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
virtual ~QgsMapCanvasItem ()
virtual void paint (QPainter *painter)=0
 function to be implemented by derived classes
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
 paint function called by map canvas
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
 pointer to map canvas
QPoint mPanningOffset
 offset from normal position due current panning operation, used when converting map coordinates to move map canvas items
QgsRectangle mRect
 canvas item rectangle (in map coordinates)

Detailed Description

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

Definition at line 30 of file qgsmapcanvasitem.h.


Constructor & Destructor Documentation

QgsMapCanvasItem::QgsMapCanvasItem ( QgsMapCanvas mapCanvas) [protected]

protected constructor: cannot be constructed directly

Definition at line 29 of file qgsmapcanvasitem.cpp.

QgsMapCanvasItem::~QgsMapCanvasItem ( ) [protected, virtual]

Definition at line 35 of file qgsmapcanvasitem.cpp.


Member Function Documentation

QRectF QgsMapCanvasItem::boundingRect ( ) const [virtual]

default implementation for canvas items

Reimplemented in QgsAnnotationItem, and QgsVertexMarker.

Definition at line 96 of file qgsmapcanvasitem.cpp.

References mItemSize.

virtual void QgsMapCanvasItem::paint ( QPainter *  painter) [protected, pure virtual]

function to be implemented by derived classes

Implemented in QgsRubberBand, QgsVertexMarker, QgsHighlight, QgsTextAnnotationItem, QgsHtmlAnnotationItem, QgsFormAnnotationItem, and QgsSvgAnnotationItem.

Referenced by paint().

void QgsMapCanvasItem::paint ( QPainter *  painter,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget = 0 
) [protected, virtual]

paint function called by map canvas

Reimplemented in QgsHtmlAnnotationItem, and QgsFormAnnotationItem.

Definition at line 40 of file qgsmapcanvasitem.cpp.

References QgsMapCanvas::antiAliasingEnabled(), mMapCanvas, and paint().

returns canvas item rectangle

Definition at line 67 of file qgsmapcanvasitem.cpp.

References mRect.

Referenced by setRect(), and QgsRubberBand::updateRect().

void QgsMapCanvasItem::setPanningOffset ( const QPoint &  point)

sets current offset, to be called from QgsMapCanvas

Definition at line 154 of file qgsmapcanvasitem.cpp.

References mPanningOffset.

Referenced by QgsMapCanvas::moveCanvasContents().

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
Note:
added in version 1.5

Definition at line 109 of file qgsmapcanvasitem.cpp.

References QgsMapCanvas::mapRenderer(), QgsMapRenderer::Millimeters, mMapCanvas, QgsMapRenderer::outputDpi(), QgsMapRenderer::outputUnits(), rasterScaleFactor, QgsMapCanvas::scale(), QgsRenderContext::setPainter(), QgsRenderContext::setRasterScaleFactor(), QgsRenderContext::setRendererScale(), and QgsRenderContext::setScaleFactor().

Referenced by QgsAnnotationItem::drawMarkerSymbol().

QgsPoint QgsMapCanvasItem::toMapCoordinates ( const QPoint &  point)

transformation from screen coordinates to map coordinates

Definition at line 53 of file qgsmapcanvasitem.cpp.

References QgsMapCanvas::getCoordinateTransform(), mMapCanvas, mPanningOffset, and QgsMapToPixel::toMapCoordinates().

Referenced by QgsAnnotationItem::setMapPositionFixed(), and QgsAnnotationItem::updatePosition().

void QgsMapCanvasItem::updateCanvas ( ) [protected]

schedules map canvas for repaint

Definition at line 102 of file qgsmapcanvasitem.cpp.

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

Reimplemented in QgsVertexMarker, and QgsAnnotationItem.

Definition at line 147 of file qgsmapcanvasitem.cpp.

References mRect, and setRect().

Referenced by QgsMapCanvas::updateCanvasItemPositions().


Member Data Documentation

QSizeF QgsMapCanvasItem::mItemSize [protected]

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

Definition at line 93 of file qgsmapcanvasitem.h.

Referenced by boundingRect(), and setRect().

offset from normal position due current panning operation, used when converting map coordinates to move map canvas items

Definition at line 90 of file qgsmapcanvasitem.h.

Referenced by setPanningOffset(), toCanvasCoordinates(), and toMapCoordinates().

canvas item rectangle (in map coordinates)

Definition at line 86 of file qgsmapcanvasitem.h.

Referenced by rect(), setRect(), and updatePosition().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines