QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
qgsvertexmarker.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsvertexmarker.h - canvas item which shows a simple vertex marker
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 QGSVERTEXMARKER_H
17#define QGSVERTEXMARKER_H
18
19#include "qgsmapcanvasitem.h"
20#include "qgspointxy.h"
21#include "qgis_gui.h"
22
23class QPainter;
24
25#ifdef SIP_RUN
26% ModuleHeaderCode
27// For ConvertToSubClassCode.
28#include <qgsvertexmarker.h>
29% End
30#endif
31
36class GUI_EXPORT QgsVertexMarker : public QgsMapCanvasItem
37{
38
39#ifdef SIP_RUN
41 if ( dynamic_cast<QgsVertexMarker *>( sipCpp ) )
42 sipType = sipType_QgsVertexMarker;
43 else
44 sipType = nullptr;
46#endif
47 public:
48
51 {
61 };
62
64
70 void setCenter( const QgsPointXY &point );
71
78 QgsPointXY center() const { return mCenter; }
79
80 void setIconType( int iconType );
81
82 void setIconSize( int iconSize );
83
89 void setColor( const QColor &color );
90
97 QColor color() const { return mColor; }
98
106 void setFillColor( const QColor &color );
107
115 QColor fillColor() const { return mFillColor; }
116
117 void setPenWidth( int width );
118
119 void paint( QPainter *p ) override;
120
121 QRectF boundingRect() const override;
122
123 void updatePosition() override;
124
125 private:
126
127 void updatePath();
128
130 int mIconType = ICON_X;
131
132 QPainterPath mPath;
133
135 int mIconSize = 10;
136
138 QgsPointXY mCenter;
139
141 QColor mColor = QColor( 255, 0, 0 );
142
144 int mPenWidth = 1;
145
147 QColor mFillColor = QColor( 0, 0, 0, 0 );
148
149};
150
151#endif
An abstract class for items that can be placed on the map canvas.
QRectF boundingRect() const override
virtual void paint(QPainter *painter)=0
function to be implemented by derived classes
virtual void updatePosition()
called on changed extent or resize event to update position of the item
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:90
A class to represent a 2D point.
Definition: qgspointxy.h:59
A class for marking vertices of features using e.g.
QColor color() const
Returns the stroke color for the marker.
@ ICON_TRIANGLE
Added in QGIS 3.12.
@ ICON_DOUBLE_TRIANGLE
Added in QGIS 3.0.
@ ICON_INVERTED_TRIANGLE
Added in QGIS 3.20.
@ ICON_RHOMBUS
Added in QGIS 3.12.
QgsPointXY center() const
Returns the center point of the marker, in map coordinates.
QColor fillColor() const
Returns the fill color for the marker.
QSize iconSize(bool dockableToolbar)
Returns the user-preferred size of a window's toolbar icons.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:186
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
#define SIP_END
Definition: qgis_sip.h:203