00001 #ifndef SHADEWIDGET_H 00002 #define SHADEWIDGET_H 00003 00004 #include <QtGui> 00005 00006 class HoverPoints; 00007 00012 class ShadeWidget : public QWidget 00013 { 00014 Q_OBJECT 00015 public: 00019 enum ShadeType { 00020 RedShade, 00021 GreenShade, 00022 BlueShade, 00023 ARGBShade 00024 }; 00025 00026 ShadeWidget(ShadeType type, QWidget *parent); 00027 00028 void setGradientStops(const QGradientStops &stops); 00029 00030 void paintEvent(QPaintEvent *e); 00031 00035 QSize minimumSizeHint() const; 00036 00040 QSize sizeHint() const; 00044 QPolygonF points() const; 00048 HoverPoints *hoverPoints() const { return m_hoverPoints; } 00049 00050 QRgb colorAt(int x); 00051 00052 signals: 00056 void colorsChanged(); 00057 00058 private: 00059 void generateShade(); 00060 00061 ShadeType m_shade_type; 00062 QImage m_shade; 00063 HoverPoints *m_hoverPoints; 00064 QLinearGradient m_alpha_gradient; 00065 }; 00066 00067 #endif // SHADEWIDGET_H