1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
#pragma once
#include "PortType.hpp"
#include <QtCore/QPointF>
#include <QtCore/QRectF>
#include <iostream>
namespace QtNodes
{
class ConnectionGeometry
{
public:
ConnectionGeometry();
public:
QPointF const &getEndPoint(PortType portType) const;
void setEndPoint(PortType portType, QPointF const &point);
void moveEndPoint(PortType portType, QPointF const &offset);
QRectF boundingRect() const;
std::pair<QPointF, QPointF> pointsC1C2() const;
QPointF source() const
{
return _out;
}
QPointF sink() const
{
return _in;
}
double lineWidth() const
{
return _lineWidth;
}
bool hovered() const
{
return _hovered;
}
void setHovered(bool hovered)
{
_hovered = hovered;
}
private:
// local object coordinates
QPointF _in;
QPointF _out;
// int _animationPhase;
double _lineWidth;
bool _hovered;
};
} // namespace QtNodes
|