void TupLuminancePicker::paintEvent(QPaintEvent *) { int w = width() - 5; QRect r(0, foff, w, height() - 2*foff); int wi = r.width() - 2; int hi = r.height() - 2; if (!k->pix || k->pix->height() != hi || k->pix->width() != wi) { delete k->pix; QImage img(wi, hi, QImage::Format_RGB32); int y; for (y = 0; y < hi; y++) { QColor c; c.setHsv(k->hue, k->sat, y2val(y+coff)); QRgb r = c.rgb(); int x; for (x = 0; x < wi; x++) img.setPixel(x, y, r); } k->pix = new QPixmap(QPixmap::fromImage(img)); } QPainter p(this); p.drawPixmap(1, coff, *k->pix); const QPalette &g = palette(); qDrawShadePanel(&p, r, g, true); p.setPen(g.foreground().color()); p.setBrush(g.foreground()); QPolygon a; int y = val2y(k->value); a.setPoints(3, w, y, w+5, y+5, w+5, y-5); p.eraseRect(w, 0, 5, height()); p.drawPolygon(a); }
// **************************************************************************** // Method: QvisScribbleOpacityBar::setValues // // Purpose: // // // Programmer: Jeremy Meredith // Creation: January 31, 2001 // // **************************************************************************** void QvisScribbleOpacityBar::setValues(int x1, int y1, int x2, int y2) { if (x1==x2) { setValue(x2val(x2), y2val(y2)); return; } int xdiff = abs(x2 - x1) + 1; int step = (x1 < x2) ? 1 : -1; float slope = float(y2 - y1) / float (x2 - x1); for (int i=0; i<xdiff; i++) setValue(x2val(x1 + i*step), y2val(y1 + int(float(i)*slope*step))); }
// **************************************************************************** // Method: QvisScribbleOpacityBar::mousePressEvent // // Purpose: // // // Programmer: Jeremy Meredith // Creation: January 31, 2001 // // **************************************************************************** void QvisScribbleOpacityBar::mousePressEvent(QMouseEvent *e) { int _x = e->x(); int _y = e->y(); setValue(x2val(_x), y2val(_y)); lastx = _x; lasty = _y; mousedown = true; this->repaint(); }
void ColorLuminancePicker::paintEvent(QPaintEvent* /*event*/) { int w = width() - 5; QRect r(0, foff, w, height() - 2*foff); int wi = r.width() - 2; int hi = r.height() - 2; if (wi <= 1 || hi <= 1) return; if ((pix_ == 0) || (pix_->height() != hi) || (pix_->width() != wi)) { if (!pix_) delete pix_; QImage img(wi, hi, QImage::Format_RGB32); for (int y = 0 ; y < hi ; ++y) { QColor c; c.setHsv(hue_, sat_, y2val(y+coff)); QRgb r = c.rgb(); for (int x = 0 ; x < wi ; ++x) img.setPixel(x, y, r); } pix_ = new QPixmap(QPixmap::fromImage(img)); } // color bar QPainter p(this); p.drawPixmap(1, coff, *pix_); const QPalette &g = palette(); qDrawShadePanel(&p, r, g, true); p.setPen(g.foreground().color()); p.setBrush(g.foreground()); // arrow QPolygon a; int y = val2y(val_); a.setPoints(3, w, y, w+5, y+5, w+5, y-5); p.eraseRect(w, 0, 5, height()); p.drawPolygon(a); }
void YviColorLuminancePicker::paintEvent(QPaintEvent *) { int w = width() - 5; QRect r(0, foff, w, height() - 2*foff); int wi = r.width() - 2; int hi = r.height() - 2; if (!pix || pix->height() != hi || pix->width() != wi) { delete pix; QImage img(wi, hi, QImage::Format_RGB32); int y; uint *pixel = (uint *) img.scanLine(0); for (y = 0; y < hi; y++) { const uint *end = pixel + wi; while (pixel < end) { QColor c; c.setHsv(hue, sat, y2val(y+coff)); *pixel = c.rgb(); ++pixel; } } pix = new QPixmap(QPixmap::fromImage(img)); } QPainter p(this); p.drawPixmap(1, coff, *pix); const QPalette &g = palette(); qDrawShadePanel(&p, r, g, true); p.setPen(g.foreground().color()); p.setBrush(g.foreground()); QPolygon a; int y = val2y(val); a.setPoints(3, w, y, w+5, y+5, w+5, y-5); p.eraseRect(w, 0, 5, height()); p.drawPolygon(a); }
void TupLuminancePicker::mousePressEvent(QMouseEvent *event) { setValue(y2val(event->y())); }
void ColorLuminancePicker::mousePressEvent(QMouseEvent* event) { emit toggleInteractionMode(true); setVal(y2val(event->y())); }
void ColorLuminancePicker::mouseMoveEvent(QMouseEvent* event) { setVal(y2val(event->y())); }
void YviColorLuminancePicker::mousePressEvent(QMouseEvent *m) { setVal(y2val(m->y())); }