00001 #ifndef TRANSFORMWIDGET_HPP_
00002 #define TRANSFORMWIDGET_HPP_
00003
00004 #include <QGraphicsView>
00005 #include <QGraphicsScene>
00006 #include <QPainterPath>
00007 #include <QList>
00008
00009 #include "TransferPoint.hpp"
00010
00016 class TransferWidget : public QGraphicsView
00017 {
00018 Q_OBJECT
00019
00020 public:
00021
00027 TransferWidget(QWidget *parent);
00028
00033 void redrawScene();
00034
00040 float *getTransferValues();
00041
00046 float *getTransferControlValues();
00047
00052 int getNumPoints();
00053
00057 void clear();
00058
00067 void setNewRGBXY(float _red, float _green, float _blue, float _x, float _y);
00068
00074 void resizeEvent(QResizeEvent *event);
00075
00076 static TransferWidget getTransferWidget();
00077
00083 void removePoint(TransferPoint *_pnt);
00084
00085 signals:
00086 void transferChanged();
00087
00088 private:
00089 QGraphicsScene *scene;
00090 QGraphicsPathItem *background;
00091 QList<QGraphicsLineItem *> lines;
00092 QList<TransferPoint *> points;
00093
00097 void fillBackground();
00098
00104 void mousePressEvent(QMouseEvent *event);
00105
00111 void mouseMoveEvent(QMouseEvent *event);
00112 };
00113
00114 #endif