QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
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  {
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
QgsVertexMarker::ICON_INVERTED_TRIANGLE
@ ICON_INVERTED_TRIANGLE
Added in QGIS 3.20.
Definition: qgsvertexmarker.h:60
QgsVertexMarker::ICON_TRIANGLE
@ ICON_TRIANGLE
Added in QGIS 3.12.
Definition: qgsvertexmarker.h:58
QgsMapCanvas
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:89
QgsVertexMarker::ICON_CIRCLE
@ ICON_CIRCLE
Definition: qgsvertexmarker.h:56
QgsVertexMarker::ICON_NONE
@ ICON_NONE
Definition: qgsvertexmarker.h:52
QgsVertexMarker::ICON_CROSS
@ ICON_CROSS
Definition: qgsvertexmarker.h:53
QgsVertexMarker::ICON_DOUBLE_TRIANGLE
@ ICON_DOUBLE_TRIANGLE
Added in QGIS 3.0.
Definition: qgsvertexmarker.h:57
QgsVertexMarker::IconType
IconType
Icons.
Definition: qgsvertexmarker.h:50
QgsVertexMarker::center
QgsPointXY center() const
Returns the center point of the marker, in map coordinates.
Definition: qgsvertexmarker.h:78
QgsGuiUtils::iconSize
QSize iconSize(bool dockableToolbar)
Returns the user-preferred size of a window's toolbar icons.
Definition: qgsguiutils.cpp:264
QgsVertexMarker::color
QColor color() const
Returns the stroke color for the marker.
Definition: qgsvertexmarker.h:97
QgsMapCanvasItem::updatePosition
virtual void updatePosition()
called on changed extent or resize event to update position of the item
Definition: qgsmapcanvasitem.cpp:135
QgsVertexMarker
A class for marking vertices of features using e.g. circles or 'x'.
Definition: qgsvertexmarker.h:36
SIP_CONVERT_TO_SUBCLASS_CODE
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:186
QgsVertexMarker::ICON_RHOMBUS
@ ICON_RHOMBUS
Added in QGIS 3.12.
Definition: qgsvertexmarker.h:59
QgsMapCanvasItem::paint
virtual void paint(QPainter *painter)=0
function to be implemented by derived classes
qgsmapcanvasitem.h
QgsMapCanvasItem
An abstract class for items that can be placed on the map canvas.
Definition: qgsmapcanvasitem.h:33
QgsVertexMarker::ICON_BOX
@ ICON_BOX
Definition: qgsvertexmarker.h:55
qgsvertexmarker.h
QgsPointXY
A class to represent a 2D point.
Definition: qgspointxy.h:58
QgsMapCanvasItem::boundingRect
QRectF boundingRect() const override
Definition: qgsmapcanvasitem.cpp:106
QgsVertexMarker::ICON_X
@ ICON_X
Definition: qgsvertexmarker.h:54
SIP_END
#define SIP_END
Definition: qgis_sip.h:203
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
qgspointxy.h
QgsVertexMarker::fillColor
QColor fillColor() const
Returns the fill color for the marker.
Definition: qgsvertexmarker.h:115