18 #ifndef QGSCOMPOSERARROW_H
19 #define QGSCOMPOSERARROW_H
57 void paint( QPainter* painter,
const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget )
override;
67 void setArrowHeadWidth(
double width );
78 Q_DECL_DEPRECATED
void setOutlineWidth(
double width );
90 void setStartMarker(
const QString& svgPath );
104 void setEndMarker(
const QString& svgPath );
116 Q_DECL_DEPRECATED QColor arrowColor()
const;
121 Q_DECL_DEPRECATED
void setArrowColor(
const QColor& c );
137 void setArrowHeadOutlineColor(
const QColor& color );
153 void setArrowHeadFillColor(
const QColor& color );
161 void setArrowHeadOutlineWidth(
const double width );
195 void setMarkerMode( MarkerMode mode );
201 bool writeXML( QDomElement& elem, QDomDocument & doc )
const override;
207 bool readXML(
const QDomElement& itemElem,
const QDomDocument& doc )
override;
230 double mArrowHeadWidth;
232 double mStartArrowHeadHeight;
233 double mStopArrowHeadHeight;
236 QString mStartMarkerFile;
238 QString mEndMarkerFile;
240 MarkerMode mMarkerMode;
242 double mArrowHeadOutlineWidth;
243 QColor mArrowHeadOutlineColor;
244 QColor mArrowHeadFillColor;
248 int mBoundsBehaviour;
254 void adaptItemSceneRect();
256 double computeMarkerMargin()
const;
258 void drawHardcodedMarker( QPainter* p, MarkerType type );
260 void drawSVGMarker( QPainter* p, MarkerType type,
const QString& markerPath );
266 void createDefaultLineSymbol();
270 void drawLine( QPainter *painter );
273 #endif // QGSCOMPOSERARROW_H