fromColor.setAlpha(220);
}
- QLinearGradient gradient(QPointF(0.0, 0.0), QPointF(width(), height()));
+ QLinearGradient gradient(QPointF(0.0, 0.0), QPointF(0.0, height()));
gradient.setColorAt(0.0, fromColor);
gradient.setColorAt(1.0, toColor);
painter.setPen(Qt::NoPen);
painter.setBrush(gradient);
const QRect rect(0, 0, width(), height());
- const qreal radius = 5;
-
- QPainterPath path;
- path.moveTo(rect.left(), rect.top() + radius);
- arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90);
- arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90);
- arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90);
- arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90);
- path.closeSubpath();
-
- painter.drawPath(path);
+ if (haveAlphaChannel) {
+ const qreal radius = 5.0;
+
+ QPainterPath path;
+ path.moveTo(rect.left(), rect.top() + radius);
+ arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90);
+ arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90);
+ arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90);
+ arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90);
+ path.closeSubpath();
+
+ painter.drawPath(path);
+ } else {
+ painter.drawRect(rect);
+ }
}
void KToolTipWindow::arc(QPainterPath& path, qreal cx, qreal cy, qreal radius, qreal angle, qreal sweeplength)