Source Code (Use browser search to find items of interest.)
Class Index
qt'QColorPicker (./qt-2.1.0/src/dialogs/qcolordialog.cpp:221)
class QColorPicker : public QFrame
{
Q_OBJECT
public:
QColorPicker(QWidget* parent=0, const char* name=0);
~QColorPicker();
public slots:
void setCol( int h, int s );
signals:
void newCol( int h, int s );
protected:
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
void drawContents(QPainter* p);
void mouseMoveEvent( QMouseEvent * );
void mousePressEvent( QMouseEvent * );
private:
int hue;
int sat;
QPoint colPt();
int huePt( const QPoint &pt );
int satPt( const QPoint &pt );
void setCol( const QPoint &pt );
QPixmap *pix;
};
qt'QColorPicker::colPt() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:386)
QPoint QColorPicker::colPt()
{ return QPoint( (360-hue)*(pWidth-1)/360, (255-sat)*(pHeight-1)/255 ); }
qt'QColorPicker::huePt() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:388)
int QColorPicker::huePt( const QPoint &pt )
{ return 360 - pt.x()*360/(pHeight-1); }
qt'QColorPicker::satPt() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:390)
int QColorPicker::satPt( const QPoint &pt )
{ return 255 - pt.y()*255/(pWidth-1) ; }
qt'QColorPicker::setCol() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:392)
void QColorPicker::setCol( const QPoint &pt )
{ setCol( huePt(pt), satPt(pt) ); }
qt'QColorPicker::QColorPicker() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:395)
QColorPicker::QColorPicker(QWidget* parent, const char* name )
: QFrame( parent, name )
{
setCol( 150, 255 );
QImage img( pHeight, pWidth, 32 );
int x,y;
for ( y = 0; y < pHeight; y++ )
for ( x = 0; x < pWidth; x++ ) {
QPoint p( x, y );
img.setPixel( x, y, QColor(huePt(p), satPt(p),
200, QColor::Hsv).rgb() );
}
pix = new QPixmap;
pix->convertFromImage(img);
setBackgroundMode( NoBackground );
}
qt'QColorPicker::~QColorPicker() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:413)
QColorPicker::~QColorPicker()
{
delete pix;
}
qt'QColorPicker::sizeHint() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:418)
QSize QColorPicker::sizeHint() const
{
return QSize( pHeight + 2*frameWidth(), pWidth + 2*frameWidth() );
}
qt'QColorPicker::sizePolicy() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:423)
QSizePolicy QColorPicker::sizePolicy() const
{
return QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
}
qt'QColorPicker::setCol() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:428)
void QColorPicker::setCol( int h, int s )
{
int nhue = QMIN( QMAX(0,h), 360 );
int nsat = QMIN( QMAX(0,s), 255);
if ( nhue == hue && nsat == sat )
return;
QRect r( colPt(), QSize(20,20) );
hue = nhue; sat = nsat;
r = r.unite( QRect( colPt(), QSize(20,20) ) );
r.moveBy( contentsRect().x()-9, contentsRect().y()-9 );
// update( r );
repaint( r, FALSE );
}
qt'QColorPicker::mouseMoveEvent() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:442)
void QColorPicker::mouseMoveEvent( QMouseEvent *m )
{
QPoint p = m->pos() - contentsRect().topLeft();
setCol( p );
emit newCol( hue, sat );
}
qt'QColorPicker::mousePressEvent() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:449)
void QColorPicker::mousePressEvent( QMouseEvent *m )
{
QPoint p = m->pos() - contentsRect().topLeft();
setCol( p );
emit newCol( hue, sat );
}
qt'QColorPicker::drawContents() (./qt-2.1.0/src/dialogs/qcolordialog.cpp:456)
void QColorPicker::drawContents(QPainter* p)
{
QRect r = contentsRect();
p->drawPixmap( r.topLeft(), *pix );
QPoint pt = colPt() + r.topLeft();
p->setPen( QPen(black) );
p->fillRect( pt.x()-9, pt.y(), 20, 2, black );
p->fillRect( pt.x(), pt.y()-9, 2, 20, black );
}