00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #ifndef QVIMAGECANVAS_H
00026 #define QVIMAGECANVAS_H
00027
00028 #include <QPointF>
00029 #include <QVWorker>
00030 #include <QVPolyline>
00031 #include <qvgui/qvcanvas.h>
00032
00105 class QVImageCanvas: public QVCanvas, public QVPropertyContainer
00106 {
00107 Q_OBJECT
00108 public:
00109 QVImageCanvas(const QString name = QString (), QWidget *parent=0);
00110 bool linkProperty(QVWorker &worker, const QString propertyName, QColor color = Qt::red, bool printTags = false);
00111 bool linkROI(QVWorker *worker, const QString propertyName);
00112 bool linkPolyline(QVWorker *worker, const QString propertyName);
00113 bool unlink(QVWorker *worker, const QString propertyName);
00114 void setLowHigh(float low,float high);
00115 #ifndef DOXYGEN_IGNORE_THIS
00116 void viewer();
00117 #endif
00118 virtual void custom_viewer() { };
00119
00120 public slots:
00121 void rectSelectedSlot(QRect rect);
00122 void polySelectedSlot(QPoint point, bool reset, TPolyMode mode);
00123 void circleSelectedSlot(QPoint center, float radius);
00124
00125 private:
00126 float _low,_high;
00127 QPoint circleCenter;
00128 void draw(const QList<QPoint> &pointList, QColor color = Qt::red, bool printTags = false);
00129 void draw(const QList<QPointF> &pointList, QColor color = Qt::red, bool printTags = false);
00130 void draw(const QList< QList< QPointF > > &pointList, QColor color = Qt::red, bool printTags = false);
00131 void draw(const QVPolyline &contours, QColor color = Qt::red, bool printTags = false, TPolyMode mode = LINE);
00132 void draw(const QPoint ¢er, float radius, QColor color = Qt::red, bool printTags = false);
00133 void draw(const QList<QVPolyline> &contours, QColor color = Qt::red, bool printTags = false);
00134 };
00135
00136 Q_DECLARE_METATYPE(QList<QPoint>);
00137 Q_DECLARE_METATYPE(QList<QPointF>);
00138 Q_DECLARE_METATYPE(QList< QList< QPointF > >);
00139 Q_DECLARE_METATYPE(QVPolyline);
00140 Q_DECLARE_METATYPE(TPolyMode);
00141
00142 #endif