本文整理汇总了C++中TrillSegment类的典型用法代码示例。如果您正苦于以下问题:C++ TrillSegment类的具体用法?C++ TrillSegment怎么用?C++ TrillSegment使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TrillSegment类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: TrillSegment
LineSegment* Trill::createLineSegment()
{
TrillSegment* seg = new TrillSegment(score());
seg->setTrack(track());
seg->setColor(color());
return seg;
}
开发者ID:BartlomiejLewandowski,项目名称:MuseScore,代码行数:7,代码来源:trill.cpp
示例2: spatium
void Trill::layout()
{
qreal _spatium = spatium();
SLine::layout();
if (score() == gscore)
return;
TrillSegment* ls = static_cast<TrillSegment*>(frontSegment());
//
// 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 = startSegment();
Segment* seg2 = endSegment();
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;
ls->setPos2(ls->ipos2() + QPointF(-dx, 0.0));
ls->layout();
}
}
if (_accidental)
_accidental->setParent(ls);
}
开发者ID:33akash,项目名称:MuseScore,代码行数:33,代码来源:trill.cpp
示例3: TrillSegment
LineSegment* Trill::createLineSegment()
{
TrillSegment* seg = new TrillSegment(this, score());
seg->setTrack(track());
seg->setColor(color());
seg->initElementStyle(&trillSegmentStyle);
return seg;
}
开发者ID:musescore,项目名称:MuseScore,代码行数:8,代码来源:trill.cpp
示例4: toTrillSegment
void Trill::layout()
{
SLine::layout();
if (score() == gscore)
return;
if (spannerSegments().empty())
return;
TrillSegment* ls = toTrillSegment(frontSegment());
#if 0
// this is now handled differently, in SLine::linePos
//
// special case:
// if end segment is first chord/rest segment in measure,
// shorten trill line so it ends at end of previous measure
//
qreal _spatium = spatium();
Segment* seg1 = startSegment();
Segment* seg2 = endSegment();
if (seg1
&& 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;
ls->setPos2(ls->ipos2() + QPointF(-dx, 0.0));
ls->layout();
}
}
#endif
if (spannerSegments().empty())
qDebug("Trill: no segments");
if (_accidental)
_accidental->setParent(ls);
}
开发者ID:emeraldimp,项目名称:MuseScore,代码行数:40,代码来源:trill.cpp
示例5: spatium
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->ipos2() + QPointF(-dx, 0.0));
ls->layout();
}
}
if (_accidental) {
_accidental->setMag(.6);
_accidental->layout();
_accidental->setPos(_spatium*1.3, -2.2*_spatium);
_accidental->adjustReadPos();
}
}
开发者ID:Mistobaan,项目名称:MuseScore,代码行数:38,代码来源:trill.cpp
注:本文中的TrillSegment类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论