19#ifndef KIVIO_ARROWHEAD_H
20#define KIVIO_ARROWHEAD_H
28#include <koffice_export.h>
29#define KIVIO_CUT_LENGTH -1.0f
30#define KIVIO_CUT_HALF_LENGTH -2.0f
38 kahtArrowTriangleSolid,
39 kahtArrowTriangleHollow,
40 kahtDoubleTriangleSolid,
41 kahtDoubleTriangleHollow,
75typedef struct KivioArrowHeadData KivioArrowHeadData;
76struct KivioArrowHeadData
80 KoZoomHandler* zoomHandler;
82 KivioPainter* painter;
86class KIVIO_EXPORT KivioArrowHead
105 void paintArrowLine( KivioArrowHeadData * );
106 void paintArrowTriangle( KivioArrowHeadData *, bool );
107 void paintDoubleTriangle( KivioArrowHeadData *, bool );
108 void paintForwardSlash( KivioArrowHeadData * );
109 void paintBackSlash( KivioArrowHeadData * );
110 void paintPipe( KivioArrowHeadData * );
111 void paintDiamond( KivioArrowHeadData *, bool );
112 void paintCircle( KivioArrowHeadData *, bool );
113 void paintCrowFoot( KivioArrowHeadData * );
114 void paintFork( KivioArrowHeadData * );
115 void paintCrowFootPipe( KivioArrowHeadData * );
116 void paintMidForwardSlash( KivioArrowHeadData * );
117 void paintMidBackSlash( KivioArrowHeadData * );
118 void paintMidPipe( KivioArrowHeadData * );
122 virtual ~KivioArrowHead();
125 inline int type() { return m_type; }
129 void setWidth( float f ) { m_w = f; }
130 void setLength( float f ) { m_l = f; }
132 void setSize( float f1, float f2 ) { m_w=f1; m_l=f2; }
134 inline float width() { return m_w; }
135 inline float length() { return m_l; }
137 void paint( KivioPainter *, float, float, float, float, KoZoomHandler* zoomHandler );
139 bool loadXML( const TQDomElement & );
140 TQDomElement saveXML( TQDomDocument & );
|