void Bouncer::updateItem() { const Vector& center = m_rect->position(); const Vector dir = m_rect->position2() - m_rect->position1(); const float a = m_rect->width(); const float b = dir.length() / 2.0f; m_item->setPos(center.x, center.y); m_item->setRect(-b, -a, 2.0f * b, 2.0f * a); m_item->setTransform(QTransform()); m_item->rotate(dir.angle() / M_PI * 180.0f); m_item2->setPos(center.x, center.y); m_item2->setRect(-b, -a, 2.0f * b, 2.0f * a); m_item2->setTransform(QTransform()); m_item2->rotate(dir.angle() / M_PI * 180.0f); m_itemCap1->setPos(m_rect->position1().x, m_rect->position1().y); m_itemCap1->setRect(-a, -a, 2.0f * a, 2.0f * a); m_itemCap2->setPos(m_rect->position2().x, m_rect->position2().y); m_itemCap2->setRect(-a, -a, 2.0f * a, 2.0f * a); QLinearGradient grad(-b, -a, -b, a); grad.setColorAt(0.0f, QColor(255, 116, 0, 0)); grad.setColorAt(0.4f, QColor(255, 116, 0, 255)); grad.setColorAt(0.6f, QColor(255, 116, 0, 255)); grad.setColorAt(1.0f, QColor(255, 116, 0, 0)); m_item->setBrush(grad); QLinearGradient gradRect2(-b, -a, -b, a); gradRect2.setColorAt(0.0f, QColor(255, 116, 0, 0)); gradRect2.setColorAt(0.4f, QColor(255, 116, 0, 0)); gradRect2.setColorAt(0.5f, QColor(255, 255, 255, 255)); gradRect2.setColorAt(0.6f, QColor(255, 116, 0, 0)); gradRect2.setColorAt(1.0f, QColor(255, 116, 0, 0)); m_item2->setBrush(gradRect2); QRadialGradient grad1(0,0,a,0,0); grad1.setColorAt(0.0f, QColor(255, 255, 255, 255)); grad1.setColorAt(0.8f, QColor(255, 116, 0, 255)); grad1.setColorAt(1.0f, QColor(255, 116, 0, 0)); m_itemCap1->setBrush(grad1); m_itemCap2->setBrush(grad1); }
void Colorsel::paintBar() { QPainter painter(this); painter.setWindow(0, 0, 200, 200); painter.setRenderHint(QPainter::Antialiasing); painter.setPen(QPen(Qt::black, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); painter.setBrush(Qt::black); QLinearGradient linGrad1(30, 90, 35, 90); linGrad1.setColorAt(0, Qt::gray); linGrad1.setColorAt(1, Qt::black); linGrad1.setSpread(QGradient::PadSpread); painter.setBrush(linGrad1); QRectF gradRect1(30, 30, 20, 127.5); painter.drawRect(gradRect1); QLinearGradient redGrad(40, 142.5, 40, 30); redGrad.setColorAt(0, Qt::red); redGrad.setColorAt(1, Qt::black); redGrad.setSpread(QGradient::PadSpread); painter.setOpacity(0.75); painter.setBrush(redGrad); QRectF red(30, 30, 20, redyp); painter.drawRect(red); QLinearGradient linGrad2(60, 90, 65, 90); linGrad2.setColorAt(0, Qt::gray); linGrad2.setColorAt(1, Qt::black); linGrad2.setSpread(QGradient::PadSpread); painter.setBrush(linGrad2); QRectF gradRect2(60, 30, 20, 127.5); painter.drawRect(gradRect2); QLinearGradient greenGrad(70, 142.5, 70, 30); greenGrad.setColorAt(0, Qt::green); greenGrad.setColorAt(1, Qt::black); greenGrad.setSpread(QGradient::PadSpread); painter.setOpacity(0.75); painter.setBrush(greenGrad); QRectF green(60, 30, 20, greenyp); painter.drawRect(green); QLinearGradient linGrad3(90, 90, 95, 90); linGrad3.setColorAt(0, Qt::gray); linGrad3.setColorAt(1, Qt::black); linGrad3.setSpread(QGradient::PadSpread); painter.setBrush(linGrad3); QRectF gradRect3(90, 30, 20, 127.5); painter.drawRect(gradRect3); QLinearGradient blueGrad(100, 142.5, 100, 30); blueGrad.setColorAt(0, Qt::blue); blueGrad.setColorAt(1, Qt::black); blueGrad.setSpread(QGradient::PadSpread); painter.setOpacity(0.75); painter.setBrush(blueGrad); QRectF blue(90, 30, 20, blueyp); painter.drawRect(blue); QLinearGradient linGrad4(120, 90, 125, 90); linGrad4.setColorAt(0, Qt::gray); linGrad4.setColorAt(1, Qt::black); linGrad4.setSpread(QGradient::PadSpread); painter.setBrush(linGrad4); QRectF gradRect4(120, 30, 20, 127.5); painter.drawRect(gradRect4); QLinearGradient opGrad(130, 142.5, 130, 30); opGrad.setColorAt(0, Qt::white); opGrad.setColorAt(1, Qt::black); opGrad.setSpread(QGradient::PadSpread); painter.setOpacity(0.75); painter.setBrush(opGrad); QRectF op(120, 30, 20, opyp); painter.drawRect(op); painter.setOpacity(1); QColor color(redY, greenY, blueY, opY); painter.setBrush(color); QRectF tot(150, 30, 30, 150.5); painter.drawRect(tot); }