Files
Sourcetrail/src/lib_gui/qt/graphics/QtAngledLineItem.h
T
Andreas Stallinger 43409cd6b7 build: trial version target
builds now app and trail target, lib_gui added, istrail function
2015-12-08 17:55:12 +01:00

45 lines
951 B
C++

#ifndef QT_ANGLED_LINE_ITEM_H
#define QT_ANGLED_LINE_ITEM_H
#include <QGraphicsItem>
#include "utility/math/Vector4.h"
#include "component/view/GraphViewStyle.h"
class QtAngledLineItem
: public QGraphicsLineItem
{
public:
QtAngledLineItem(QGraphicsItem* parent);
virtual ~QtAngledLineItem();
void updateLine(
Vec4i ownerRect, Vec4i targetRect,
Vec4i ownerParentRect, Vec4i targetParentRect,
GraphViewStyle::EdgeStyle style);
void setOnBack(bool back);
void setHorizontalIn(bool horizontal);
virtual QPainterPath shape() const;
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem* options, QWidget* widget);
private:
QPolygon getPath() const;
int getDirection(const QPointF& a, const QPointF& b) const;
Vec4i m_ownerRect;
Vec4i m_targetRect;
Vec4i m_ownerParentRect;
Vec4i m_targetParentRect;
GraphViewStyle::EdgeStyle m_style;
bool m_onBack;
bool m_horizontalIn;
};
#endif // QT_ANGLED_LINE_ITEM_H