本文整理汇总了C++中TrillSegment::pos2方法的典型用法代码示例。如果您正苦于以下问题:C++ TrillSegment::pos2方法的具体用法?C++ TrillSegment::pos2怎么用?C++ TrillSegment::pos2使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TrillSegment
的用法示例。
在下文中一共展示了TrillSegment::pos2方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: layout
void Trill::layout()
{
qreal _spatium = spatium();
setPos(0.0, yoff() * _spatium);
SLine::layout();
//
// special case:
// if end segment is first chord/rest segment in measure,
// shorten trill line so it ends at end of previous measure
//
Segment* seg1 = static_cast<Segment*>(startElement());
Segment* seg2 = static_cast<Segment*>(endElement());
if (seg2
&& (seg1->system() == seg2->system())
&& (spannerSegments().size() == 1)
&& (seg2->tick() == seg2->measure()->tick())
) {
qreal x1 = seg2->pagePos().x();
Measure* m = seg2->measure()->prevMeasure();
if (m) {
Segment* s2 = m->last();
qreal x2 = s2->pagePos().x();
qreal dx = x1 - x2 + _spatium * .3;
TrillSegment* ls = static_cast<TrillSegment*>(frontSegment());
ls->setPos2(ls->pos2() + QPointF(-dx, 0.0));
ls->layout();
}
}
if (_accidental) {
_accidental->setMag(.6);
_accidental->layout();
_accidental->setPos(_spatium*1.3, -2.2*_spatium);
}
}