blob: 56419129265662627eb2fe8f914a7d15bf7429c3 (
plain)
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
|
/**
* A QGraphicsItem that handles drawing a single edge.
*/
#ifndef EDGEITEM_H
#define EDGEITEM_H
#include "edge.h"
#include <QObject>
#include <QGraphicsPathItem>
#include <QPainter>
#include <QStyleOptionGraphicsItem>
#include <QWidget>
#include <QGraphicsEllipseItem>
class EdgeItem : public QGraphicsItem
{
public:
EdgeItem(Edge *edge);
void readPos();
void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *);
QRectF boundingRect() const;
QPainterPath shape() const;
Edge *edge() const;
QGraphicsEllipseItem *cp1Item() const;
QGraphicsEllipseItem *cp2Item() const;
QPainterPath path() const;
void setPath(const QPainterPath &path);
private:
Edge *_edge;
QPainterPath _path;
QPainterPath _expPath;
QRectF _boundingRect;
QGraphicsEllipseItem *_cp1Item;
QGraphicsEllipseItem *_cp2Item;
};
#endif // EDGEITEM_H
|