]> git.siccegge.de Git - frida/frida.git/blob - src/gui/widgets/BasicBlockWidget.hxx
Move stuff for BasicBlockWidget out of the header file
[frida/frida.git] / src / gui / widgets / BasicBlockWidget.hxx
1 #include "gui/qt.hxx"
2 #include "disassembler/BasicBlock.hxx"
3
4 class BasicBlockWidget : public QGraphicsItem
5 {
6 public:
7 BasicBlockWidget(const QString& name);
8
9 void addItem(uint8_t* bytes, size_t num_bytes, const QString& line);
10
11 QRectF boundingRect() const {
12 qreal penWidth = 1;
13 return QRectF(x - penWidth / 2, y - penWidth / 2,
14 dx + penWidth, dy + penWidth);
15 }
16
17 QPointF getEntry() const {
18 return QPointF(x + dx/2, y);
19 }
20
21 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
22 QWidget *widget) {
23 painter->fillRect(x, y, dx, dy, QColor(0xcc, 0xcc, 0xff, 0xff));
24 painter->setPen(QColor(0x00, 0x00, 0xff, 0xff));
25 painter->drawRect(x, y, dx, dy);
26 painter->drawText(0, -5, name);
27 _widget.render(painter);
28 }
29 private:
30 int x, y, dx, dy;
31 QTableWidget _widget;
32 QString name;
33 BasicBlock * block;
34 };