15 #ifndef QGSRUBBERBAND_H 16 #define QGSRUBBERBAND_H 27 #include <QSvgRenderer> 54 if ( dynamic_cast<QgsRubberBand *>( sipCpp ) )
55 sipType = sipType_QgsRubberBand;
62 Q_PROPERTY( QColor fillColor READ fillColor WRITE setFillColor )
63 Q_PROPERTY( QColor strokeColor READ strokeColor WRITE setStrokeColor )
65 Q_PROPERTY( QColor secondaryStrokeColor READ secondaryStrokeColor WRITE setSecondaryStrokeColor )
66 Q_PROPERTY(
int width READ width WRITE setWidth )
136 void setColor(
const QColor &color );
143 void setFillColor(
const QColor &color );
155 void setStrokeColor(
const QColor &color );
168 void setSecondaryStrokeColor(
const QColor &color );
179 void setWidth(
int width );
184 int width()
const {
return mPen.width(); }
199 void setSvgIcon(
const QString &path, QPoint drawOffset );
220 void setLineStyle( Qt::PenStyle penStyle );
225 void setBrushStyle( Qt::BrushStyle brushStyle );
242 void addPoint(
const QgsPointXY &p,
bool doUpdate =
true,
int geometryIndex = 0 );
251 void closePoints(
bool doUpdate =
true,
int geometryIndex = 0 );
259 void removePoint(
int index = 0,
bool doUpdate =
true,
int geometryIndex = 0 );
264 void removeLastPoint(
int geometryIndex = 0,
bool doUpdate =
true );
270 void movePoint(
const QgsPointXY &p,
int geometryIndex = 0 );
276 void movePoint(
int index,
const QgsPointXY &p,
int geometryIndex = 0 );
283 int partSize(
int geometryIndex )
const;
310 void setToCanvasRectangle( QRect rect );
340 void setTranslationOffset(
double dx,
double dy );
352 int numberOfVertices()
const;
359 const QgsPointXY *getPoint(
int i,
int j = 0 )
const;
375 void paint( QPainter *p )
override;
382 void drawShape( QPainter *p,
const QVector<QPointF> &pts );
397 std::unique_ptr<QSvgRenderer> mSvgRenderer;
403 QList< QList <QgsPointXY> > mPoints;
405 double mTranslationOffsetX = 0.0;
406 double mTranslationOffsetY = 0.0;
410 static QgsPolylineXY getPolyline(
const QList<QgsPointXY> &points );
A cross is used to highlight points (x)
IconType icon() const
Returns the current icon type to highlight point geometries.
A class to represent a 2D point.
An abstract class for items that can be placed on the map canvas.
A geometry is the spatial representation of a feature.
A diamond is used to highlight points (◇)
const QgsCoordinateReferenceSystem & crs
A cross is used to highlight points (+)
Map canvas is a class for displaying all GIS data types on a canvas.
int width() const
Returns the current width of the line or stroke width for polygon.
A circle is used to highlight points (○)
A class for drawing transient features (e.g.
QColor fillColor() const
Returns the current fill color.
QSize iconSize(bool dockableToolbar)
Returns the user-preferred size of a window's toolbar icons.
virtual void paint(QPainter *painter)=0
function to be implemented by derived classes
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.
QColor secondaryStrokeColor() const
Returns the current secondary stroke color.
A box is used to highlight points (□)
QVector< QgsPointXY > QgsPolylineXY
Polyline as represented as a vector of two-dimensional points.
int iconSize() const
Returns the current icon size of the point icons.
This class represents a coordinate reference system (CRS).
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
A diamond is used to highlight points (◆)
QColor strokeColor() const
Returns the current stroke color.
Represents a vector layer which manages a vector based data sets.
virtual void updatePosition()
called on changed extent or resize event to update position of the item
A full box is used to highlight points (■)