QGIS API Documentation  3.18.1-Zürich (202f1bf7e5)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
23 class QPainter;
24 
25 #ifdef SIP_RUN
26 % ModuleHeaderCode
27 // For ConvertToSubClassCode.
28 #include <qgsvertexmarker.h>
29 % End
30 #endif
31 
36 class 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;
45  SIP_END
46 #endif
47  public:
48 
50  enum IconType
51  {
60  };
61 
63 
69  void setCenter( const QgsPointXY &point );
70 
77  QgsPointXY center() const { return mCenter; }
78 
79  void setIconType( int iconType );
80 
81  void setIconSize( int iconSize );
82 
88  void setColor( const QColor &color );
89 
96  QColor color() const { return mColor; }
97 
105  void setFillColor( const QColor &color );
106 
114  QColor fillColor() const { return mFillColor; }
115 
116  void setPenWidth( int width );
117 
118  void paint( QPainter *p ) override;
119 
120  QRectF boundingRect() const override;
121 
122  void updatePosition() override;
123 
124  private:
125 
127  int mIconType = ICON_X;
128 
130  int mIconSize = 10;
131 
133  QgsPointXY mCenter;
134 
136  QColor mColor = QColor( 255, 0, 0 );
137 
139  int mPenWidth = 1;
140 
142  QColor mFillColor = QColor( 0, 0, 0, 0 );
143 
144 };
145 
146 #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:86
A class to represent a 2D point.
Definition: qgspointxy.h:44
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_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:177
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
#define SIP_END
Definition: qgis_sip.h:194