QGIS API Documentation 3.39.0-Master (47f7b3a4989)
Loading...
Searching...
No Matches
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
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
96 QColor color() const { return mColor; }
97
104 void setFillColor( const QColor &color );
105
112 QColor fillColor() const { return mFillColor; }
113
114 void setPenWidth( int width );
115
116 void paint( QPainter *p ) override;
117
118 QRectF boundingRect() const override;
119
120 void updatePosition() override;
121
122 private:
123
124 void updatePath();
125
127 int mIconType = ICON_X;
128
129 QPainterPath mPath;
130
132 int mIconSize = 10;
133
135 QgsPointXY mCenter;
136
138 QColor mColor = QColor( 255, 0, 0 );
139
141 int mPenWidth = 1;
142
144 QColor mFillColor = QColor( 0, 0, 0, 0 );
145
146};
147
148#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.
A class to represent a 2D point.
Definition qgspointxy.h:60
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.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition qgis_sip.h:191
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53
#define SIP_END
Definition qgis_sip.h:208