Beispiel #1
0
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);
}
Beispiel #2
0
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);

}