2 #ifndef XGUI_RubberBand_H
3 #define XGUI_RubberBand_H
8 class XGUI_AbstractRubberBand : public QWidget
12 XGUI_AbstractRubberBand( QWidget* );
15 virtual ~XGUI_AbstractRubberBand();
17 virtual void clearGeometry();
22 virtual void paintEvent( QPaintEvent* );
23 virtual void showEvent( QShowEvent* );
24 virtual void moveEvent( QMoveEvent* );
25 virtual void resizeEvent( QResizeEvent* );
27 virtual bool eventFilter( QObject*, QEvent* );
29 virtual void updateMask();
38 class XGUI_RectRubberBand: public XGUI_AbstractRubberBand
43 XGUI_RectRubberBand( QWidget* );
44 virtual ~XGUI_RectRubberBand();
46 void initGeometry( const QRect& );
47 void setStartPoint( const QPoint& );
48 void setEndPoint( const QPoint& );
50 virtual void clearGeometry();
53 class XGUI_PolyRubberBand: public XGUI_AbstractRubberBand
58 XGUI_PolyRubberBand( QWidget* );
59 virtual ~XGUI_PolyRubberBand();
61 void initGeometry( const QPolygon& );
62 void initGeometry( const QPoint& );
64 void addNode( const QPoint& );
65 void replaceLastNode( const QPoint& );
66 void removeLastNode();
68 void setClosed( bool );