本文整理汇总了C++中KstPainter::drawRoundRect方法的典型用法代码示例。如果您正苦于以下问题:C++ KstPainter::drawRoundRect方法的具体用法?C++ KstPainter::drawRoundRect怎么用?C++ KstPainter::drawRoundRect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KstPainter
的用法示例。
在下文中一共展示了KstPainter::drawRoundRect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: paintSelf
void KstViewBox::paintSelf(KstPainter& p, const QRegion& bounds) {
p.save();
if (p.type() != KstPainter::P_PRINT && p.type() != KstPainter::P_EXPORT) {
if (p.makingMask()) {
p.setRasterOp(Qt::SetROP);
} else {
const QRegion clip(clipRegion());
KstViewObject::paintSelf(p, bounds - clip);
p.setClipRegion(bounds & clip);
}
}
// restrict the border width so we do not draw outside of the rectangle itself
int bw(borderWidth() * p.lineWidthAdjustmentFactor());
if (bw > _geom.width() / 2) {
bw = _geom.width() / 2;
}
if (bw > _geom.height()) {
bw = _geom.height() / 2;
}
QPen pen(borderColor(), bw);
pen.setJoinStyle(_cornerStyle);
if (bw == 0) {
pen.setStyle(Qt::NoPen);
}
p.setPen(pen);
if (_transparentFill) {
p.setBrush(Qt::NoBrush);
} else {
p.setBrush(_foregroundColor);
}
QRect r;
r.setX(_geom.left() + bw / 2);
r.setY(_geom.top() + bw / 2);
r.setWidth(_geom.width() - bw);
r.setHeight(_geom.height() - bw);
p.drawRoundRect(r, _xRound, _yRound);
p.restore();
}