Subversion Repositories Scribus

Rev

Rev 1767 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/* $Id: colorwheelwidget.h 1803 2005-03-30 13:15:05Z subik $ */
#ifndef COLORWHEELWIDGET_H
#define COLORWHEELWIDGET_H

#include <qlabel.h>
#include <qvaluevector.h>
#include <cmykcolor.h>
#include <scribusstructs.h>


class ColorWheel : public QLabel
{
        Q_OBJECT

        public:
                ColorWheel(QWidget * parent, const char * name = 0);
                ~ColorWheel();

                enum MethodType {
                        Monochromatic,
                        Analogous,
                        Complementary,
                        Split,
                        Triadic,
                        Tetradic
                };

                uint xsize;
                uint ysize;
                int angle;

                QPoint actualPoint;
                QRgb actualRgb;
                ColorList colorList;

                void paintWheel(QValueVector<QPoint>);
                QString getTypeDescription(MethodType aType);
                QPixmap sample(QColor);

                void makeMonochromatic();
                void makeAnalogous();
                void makeComplementary();
                void makeSplit();
                void makeTriadic();
                void makeTetradic();

        signals:
                void clicked(int, const QPoint &);

        protected:
                void mouseReleaseEvent(QMouseEvent *);
                QRgb getPointColor(QPoint);
                void sampleByAngle(double, QString);
                double pointAngle(QPoint);
                void baseColor();
                CMYKColor cmykColor(QRgb rgb);

};

#endif