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); }
void writePlayers() { beginSegment(ASEG_PLAYER_HEADER); playerheader_t plrHdr; plrHdr.write(writer); beginSegment(ASEG_PLAYERS); { #if __JHEXEN__ for (int i = 0; i < MAXPLAYERS; ++i) { Writer_WriteByte(writer, players[i].plr->inGame); } #endif for (int i = 0; i < MAXPLAYERS; ++i) { player_t *plr = players + i; if (!plr->plr->inGame) continue; Writer_WriteInt32(writer, Net_GetPlayerID(i)); plr->write(writer, plrHdr); } } endSegment(); }
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); }
void Trill::layout() { qreal _spatium = spatium(); // setPos(0.0, yoff() * _spatium); SLine::layout(); if (score() == gscore) return; // // 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; TrillSegment* ls = static_cast<TrillSegment*>(frontSegment()); ls->setPos2(ls->ipos2() + QPointF(-dx, 0.0)); ls->layout(); } } foreach(Element* e, _el) { e->setMag(.6); e->layout(); e->setPos(_spatium*1.3, -2.2*_spatium); e->adjustReadPos(); }