1 #ifndef XGUI_RubberBand_H
2 #define XGUI_RubberBand_H
6 class XGUI_AbstractRubberBand: public QWidget
10 XGUI_AbstractRubberBand(QWidget*);
13 virtual ~XGUI_AbstractRubberBand();
15 virtual void clearGeometry();
20 virtual void paintEvent(QPaintEvent*);
21 virtual void showEvent(QShowEvent*);
22 virtual void moveEvent(QMoveEvent*);
23 virtual void resizeEvent(QResizeEvent*);
25 virtual bool eventFilter(QObject*, QEvent*);
27 virtual void updateMask();
35 class XGUI_RectRubberBand: public XGUI_AbstractRubberBand
40 XGUI_RectRubberBand(QWidget*);
41 virtual ~XGUI_RectRubberBand();
43 void initGeometry(const QRect&);
44 void setStartPoint(const QPoint&);
45 void setEndPoint(const QPoint&);
47 virtual void clearGeometry();
50 class XGUI_PolyRubberBand: public XGUI_AbstractRubberBand
55 XGUI_PolyRubberBand(QWidget*);
56 virtual ~XGUI_PolyRubberBand();
58 void initGeometry(const QPolygon&);
59 void initGeometry(const QPoint&);
61 void addNode(const QPoint&);
62 void replaceLastNode(const QPoint&);
63 void removeLastNode();