本文整理汇总了C++中InputState::rest方法的典型用法代码示例。如果您正苦于以下问题:C++ InputState::rest方法的具体用法?C++ InputState::rest怎么用?C++ InputState::rest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InputState
的用法示例。
在下文中一共展示了InputState::rest方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
void ShadowNote::draw(QPainter* painter) const
{
if (!visible() || sym == SymId::noSym)
return;
QPointF ap(pagePos());
#if 0 // yet(?) unused
QRect r(abbox().toRect());
#endif
painter->translate(ap);
qreal lw = point(score()->styleS(StyleIdx::ledgerLineWidth));
InputState ps = score()->inputState();
int voice;
if (ps.drumNote() != -1 && ps.drumset() && ps.drumset()->isValid(ps.drumNote()))
voice = ps.drumset()->voice(ps.drumNote());
else
voice = ps.voice();
QPen pen(MScore::selectColor[voice].lighter(140), lw);
painter->setPen(pen);
drawSymbol(sym, painter);
qreal ms = spatium();
qreal x1 = symWidth(sym) * .5 - (ms * mag());
qreal x2 = x1 + 2 * ms * mag();
ms *= .5;
if (_line < 100 && _line > -100 && !ps.rest()) {
for (int i = -2; i >= _line; i -= 2) {
qreal y = ms * mag() * (i - _line);
painter->drawLine(QLineF(x1, y, x2, y));
}
for (int i = 10; i <= _line; i += 2) {
qreal y = ms * mag() * (i - _line);
painter->drawLine(QLineF(x1, y, x2, y));
}
}
painter->translate(-ap);
}
示例2: layout
void ShadowNote::layout()
{
if (sym == SymId::noSym) {
setbbox(QRectF());
return;
}
QRectF b(symBbox(sym));
qreal _spatium = spatium();
qreal lw = point(score()->styleS(StyleIdx::ledgerLineWidth));
qreal x1 = symWidth(sym) * .5 - (_spatium * mag()) - lw * .5;
qreal x2 = x1 + 2 * _spatium * mag() + lw * .5;
InputState ps = score()->inputState();
QRectF r(x1, -lw * .5, x2 - x1, lw);
if (_line < 100 && _line > -100 && !ps.rest()) {
for (int i = -2; i >= _line; i -= 2)
b |= r.translated(QPointF(0, _spatium * .5 * (i - _line)));
for (int i = 10; i <= _line; i += 2)
b |= r.translated(QPointF(0, _spatium * .5 * (i - _line)));
}
setbbox(b);
}