这篇教程C++ spannerSegments函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中spannerSegments函数的典型用法代码示例。如果您正苦于以下问题:C++ spannerSegments函数的具体用法?C++ spannerSegments怎么用?C++ spannerSegments使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了spannerSegments函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: qDeleteAllvoid Volta::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); e.addSpanner(e.intAttribute("id", -1), this); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "text") // obsolete setText(e.readElementText()); else if (tag == "endings") { QString s = e.readElementText(); QStringList sl = s.split(",", QString::SkipEmptyParts); _endings.clear(); for (const QString& l : sl) { int i = l.simplified().toInt(); _endings.append(i); } } else if (tag == "lineWidth") { setLineWidth(Spatium(e.readDouble())); lineWidthStyle = PropertyStyle::UNSTYLED; } else if (tag == "subtype") { // obsolete int st = e.readInt(); if (st == 1) setEndHook(true); } else if (!TextLineBase::readProperties(e)) e.unknown(); } }
开发者ID:AntonioBL,项目名称:MuseScore,代码行数:32,
示例2: foreachvoid Hairpin::read(XmlReader& e) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); setId(e.intAttribute("id", -1)); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "subtype") _hairpinType = HairpinType(e.readInt()); else if (tag == "lineWidth") { setLineWidth(Spatium(e.readDouble())); lineWidthStyle = PropertyStyle::UNSTYLED; } else if (tag == "hairpinHeight") { setHairpinHeight(Spatium(e.readDouble())); hairpinHeightStyle = PropertyStyle::UNSTYLED; } else if (tag == "hairpinContHeight") { setHairpinContHeight(Spatium(e.readDouble())); hairpinContHeightStyle = PropertyStyle::UNSTYLED; } else if (tag == "veloChange") _veloChange = e.readInt(); else if (tag == "dynType") _dynRange = DynamicRange(e.readInt()); else if (!SLine::readProperties(e)) e.unknown(); } }
开发者ID:BlueMockingbird,项目名称:MuseScore,代码行数:31,
示例3: qDeleteAllvoid Ottava::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); e.addSpanner(e.intAttribute("id", -1), this); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "subtype") { QString s = e.readElementText(); bool ok; int idx = s.toInt(&ok); if (!ok) { idx = int(Type::OTTAVA_8VA); for (unsigned i = 0; i < sizeof(ottavaDefault)/sizeof(*ottavaDefault); ++i) { if (s == ottavaDefault[i].name) { idx = i; break; } } } else if (score()->mscVersion() <= 114) { //subtype are now in a different order... if (idx == 1) idx = 2; else if (idx == 2) idx = 1; } setOttavaType(Type(idx)); } else if (tag == "numbersOnly") { _numbersOnly = e.readInt(); numbersOnlyStyle = PropertyStyle::UNSTYLED; } else if (tag == "lineWidth") { setLineWidth(Spatium(e.readDouble())); lineWidthStyle = PropertyStyle::UNSTYLED; } else if (tag == "lineStyle") { setLineStyle(Qt::PenStyle(e.readInt())); lineStyleStyle = PropertyStyle::UNSTYLED; } else if (tag == "beginSymbol") { // obsolete beginTextStyle = PropertyStyle::UNSTYLED; QString text(e.readElementText()); setBeginText(QString("<sym>%1</sym>").arg(text[0].isNumber() ? Sym::id2name(SymId(text.toInt())) : text)); } else if (tag == "continueSymbol") { // obsolete continueTextStyle = PropertyStyle::UNSTYLED; QString text(e.readElementText()); setContinueText(QString("<sym>%1</sym>").arg(text[0].isNumber() ? Sym::id2name(SymId(text.toInt())) : text)); } else if (!TextLine::readProperties(e)) e.unknown(); } if (beginText() != propertyDefault(P_ID::BEGIN_TEXT)) beginTextStyle = PropertyStyle::UNSTYLED; if (continueText() != propertyDefault(P_ID::CONTINUE_TEXT)) continueTextStyle = PropertyStyle::UNSTYLED; }
开发者ID:FryderykChopin,项目名称:MuseScore,代码行数:59,
示例4: qDeleteAllvoid Ottava::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); e.addSpanner(e.intAttribute("id", -1), this); while (e.readNextStartElement()) readProperties(e); updateStyledProperties(); }
开发者ID:CombatCube,项目名称:MuseScore,代码行数:9,
示例5: qDeleteAllvoid TextLine::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); setId(e.intAttribute("id", -1)); while (e.readNextStartElement()) { if (!readProperties(e)) e.unknown(); } }
开发者ID:UIKit0,项目名称:mscoreserver,代码行数:11,
示例6: foreachvoid TextLine::read(const QDomElement& de) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); setId(de.attribute("id", "-1").toInt()); for (QDomElement e = de.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) { if (!readProperties(e)) domError(e); } }
开发者ID:alexkonradi,项目名称:MuseScore,代码行数:11,
示例7: foreachvoid SLine::read(XmlReader& e) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); setId(e.intAttribute("id", -1)); while (e.readNextStartElement()) { if (!SLine::readProperties(e)) e.unknown(); } }
开发者ID:Isenbarth,项目名称:MuseScore,代码行数:12,
示例8: toTrillSegmentvoid Trill::layout() { SLine::layout(); if (score() == gscore) return; if (spannerSegments().empty()) return; TrillSegment* ls = toTrillSegment(frontSegment()); if (spannerSegments().empty()) qDebug("Trill: no segments"); if (_accidental) _accidental->setParent(ls); }
开发者ID:musescore,项目名称:MuseScore,代码行数:13,
示例9: setEndHookvoid Ottava::setOttavaType(OttavaType val){ setEndHook(true); _ottavaType = val; const OttavaDefault* def = &ottavaDefault[int(val)]; Spatium hook(score()->styleS(ST_ottavaHook)); SymId id = _numbersOnly ? def->numbersOnlyId : def->id; if (symIsValid(id)) { if (beginSymbolStyle == PropertyStyle::STYLED) setBeginSymbol(id); if (continueSymbolStyle == PropertyStyle::STYLED) setContinueSymbol(id); setBeginSymbolOffset(def->offset); setContinueSymbolOffset(def->offset); foreach(SpannerSegment* s, spannerSegments()) { OttavaSegment* os = static_cast<OttavaSegment*>(s); os->clearText(); } delete _beginText; _beginText = 0; delete _continueText; _continueText = 0; }
开发者ID:pumaprod,项目名称:MuseScore,代码行数:27,
示例10: bboxQRectF SLine::bbox() const { if (spannerSegments().isEmpty()) return QRectF(); else return segmentAt(0)->bbox(); }
开发者ID:guifre2,项目名称:MuseScore,代码行数:7,
示例11: setEndHookvoid Ottava::setOttavaType(OttavaType val) { setEndHook(true); _ottavaType = val; Spatium hook(score()->styleS(ST_ottavaHook)); SymId id; if (_numbersOnly) id = ottavaDefault[int(val)].numbersOnlyId; else id = ottavaDefault[int(val)].id; if (beginSymbolStyle == PropertyStyle::STYLED) setBeginSymbol(id); if (continueSymbolStyle == PropertyStyle::STYLED) setContinueSymbol(id); setBeginSymbolOffset(ottavaDefault[int(val)].offset); setContinueSymbolOffset(ottavaDefault[int(val)].offset); setEndHookHeight(hook * ottavaDefault[int(val)].hookDirection); setPlacement(ottavaDefault[int(val)].place); _pitchShift = ottavaDefault[int(val)].shift; foreach(SpannerSegment* s, spannerSegments()) { OttavaSegment* os = static_cast<OttavaSegment*>(s); os->clearText(); }
开发者ID:Jon0,项目名称:MuseScore,代码行数:27,
示例12: spatiumvoid 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,
示例13: anchorvoid SLine::writeProperties(Xml& xml, const SLine* proto) const { Element::writeProperties(xml); if (_diagonal && (proto == 0 || proto->diagonal() != _diagonal)) xml.tag("diagonal", _diagonal); if (anchor() != ANCHOR_SEGMENT && (proto == 0 || proto->anchor() != anchor())) xml.tag("anchor", anchor()); if (score() == gscore) { // when used as icon if (!spannerSegments().isEmpty()) { LineSegment* s = frontSegment(); xml.tag("length", s->pos2().x()); } else xml.tag("length", spatium() * 4); return; } // // check if user has modified the default layout // bool modified = false; int n = spannerSegments().size(); for (int i = 0; i < n; ++i) { const LineSegment* seg = segmentAt(i); if (!seg->userOff().isNull() || !seg->userOff2().isNull() || !seg->visible()) { modified = true; break; } } if (!modified) return; // // write user modified layout // qreal _spatium = spatium(); for (int i = 0; i < n; ++i) { const LineSegment* seg = segmentAt(i); xml.stag("Segment"); xml.tag("subtype", seg->subtype()); xml.tag("off2", seg->userOff2() / _spatium); seg->Element::writeProperties(xml); xml.etag(); } }
开发者ID:guifre2,项目名称:MuseScore,代码行数:47,
示例14: foreachvoid Hairpin::read(XmlReader& e) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); int id = e.intAttribute("id", -1); e.addSpanner(id, this); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "subtype") _hairpinType = Type(e.readInt()); else if (tag == "lineWidth") { setLineWidth(Spatium(e.readDouble())); lineWidthStyle = PropertyStyle::UNSTYLED; } else if (tag == "hairpinHeight") { setHairpinHeight(Spatium(e.readDouble())); hairpinHeightStyle = PropertyStyle::UNSTYLED; } else if (tag == "hairpinContHeight") { setHairpinContHeight(Spatium(e.readDouble())); hairpinContHeightStyle = PropertyStyle::UNSTYLED; } else if (tag == "hairpinCircledTip") _hairpinCircledTip = e.readInt(); else if (tag == "veloChange") _veloChange = e.readInt(); else if (tag == "dynType") _dynRange = Dynamic::Range(e.readInt()); else if (tag == "useTextLine") _useTextLine = e.readInt(); else if (!TextLine::readProperties(e)) e.unknown(); } // add default text to legacy hairpins if (score()->mscVersion() <= 206 && !_useTextLine) { bool cresc = _hairpinType == Hairpin::Type::CRESCENDO; if (!_beginText) setBeginText(cresc ? "cresc." : "dim."); if (!_continueText) setContinueText(cresc ? "(cresc.)" : "(dim.)"); } }
开发者ID:HerbertYu,项目名称:MuseScore,代码行数:47,
示例15: setLenvoid SLine::setLen(qreal l) { if (spannerSegments().isEmpty()) add(createLineSegment()); LineSegment* s = frontSegment(); s->setPos(QPointF()); s->setPos2(QPointF(l, 0)); }
开发者ID:guifre2,项目名称:MuseScore,代码行数:8,
示例16: bboxconst QRectF& SLine::bbox() const { if (spannerSegments().isEmpty()) setbbox(QRectF()); else setbbox(segmentAt(0)->bbox()); return Element::bbox(); }
开发者ID:madwort,项目名称:MuseScore,代码行数:8,
示例17: foreachvoid Trill::read(QDomElement e) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); setId(e.attribute("id", "-1").toInt()); for (e = e.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) { QString tag(e.tagName()); QString val(e.text()); if (tag == "Accidental") { _accidental = new Accidental(score()); _accidental->read(e); } else if (!SLine::readProperties(e)) domError(e); } }
开发者ID:SSMN,项目名称:MuseScore,代码行数:17,
示例18: removeUnmanagedvoid Spanner::removeUnmanaged() { for (SpannerSegment* ss : spannerSegments()) if (ss->system()) {// ss->system()->remove(ss); ss->setSystem(nullptr); } score()->removeUnmanagedSpanner(this); }
开发者ID:FryderykChopin,项目名称:MuseScore,代码行数:9,
示例19: qDeleteAllvoid Trill::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); e.addSpanner(e.intAttribute("id", -1), this); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "subtype") setTrillType(e.readElementText()); else if (tag == "Accidental") { _accidental = new Accidental(score()); _accidental->read(e); _accidental->setParent(this); } else if (!SLine::readProperties(e)) e.unknown(); } }
开发者ID:BartlomiejLewandowski,项目名称:MuseScore,代码行数:19,
示例20: foreachvoid Hairpin::read(XmlReader& e) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); setId(e.intAttribute("id", -1)); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "subtype") _hairpinType = HairpinType(e.readInt()); else if (tag == "veloChange") _veloChange = e.readInt(); else if (tag == "dynType") _dynRange = DynamicRange(e.readInt()); else if (!SLine::readProperties(e)) e.unknown(); } }
开发者ID:kcuzner,项目名称:MuseScore,代码行数:19,
示例21: foreachvoid Spanner::startEdit(MuseScoreView*, const QPointF&) { editTick = _tick; editTick2 = _tick2; userOffsets.clear(); userOffsets2.clear(); foreach (SpannerSegment* ss, spannerSegments()) { userOffsets.push_back(ss->userOff()); userOffsets2.push_back(ss->userOff2()); }
开发者ID:Skibol,项目名称:MuseScore,代码行数:10,
示例22: layoutvoid Vibrato::layout() { SLine::layout(); if (score() == gscore) return; if (spannerSegments().empty()) { qDebug("Vibrato: no segments"); return; } }
开发者ID:Jojo-Schmitz,项目名称:MuseScore,代码行数:10,
示例23: qDeleteAllvoid Glissando::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); e.addSpanner(e.intAttribute("id", -1), this); _showText = false; while (e.readNextStartElement()) { const QStringRef& tag = e.name(); if (tag == "text") { _showText = true; _text = e.readElementText(); } else if (tag == "subtype") _glissandoType = Type(e.readInt()); else if (!SLine::readProperties(e)) e.unknown(); } }
开发者ID:jpirie,项目名称:MuseScore,代码行数:19,
示例24: qDeleteAllvoid Volta::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); e.addSpanner(e.intAttribute("id", -1), this); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "text") // obsolete setText(e.readElementText()); else if (tag == "endings") { QString s = e.readElementText(); QStringList sl = s.split(",", QString::SkipEmptyParts); _endings.clear(); foreach(const QString& l, sl) { int i = l.simplified().toInt(); _endings.append(i); } }
开发者ID:AdrianShe,项目名称:MuseScore,代码行数:19,
示例25: foreachvoid Hairpin::read(XmlReader& e) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); int id = e.intAttribute("id", -1); e.addSpanner(id, this); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "subtype") setHairpinType(Type(e.readInt())); else if (tag == "lineWidth") { setLineWidth(Spatium(e.readDouble())); lineWidthStyle = PropertyStyle::UNSTYLED; } else if (tag == "hairpinHeight") { setHairpinHeight(Spatium(e.readDouble())); hairpinHeightStyle = PropertyStyle::UNSTYLED; } else if (tag == "hairpinContHeight") { setHairpinContHeight(Spatium(e.readDouble())); hairpinContHeightStyle = PropertyStyle::UNSTYLED; } else if (tag == "hairpinCircledTip") _hairpinCircledTip = e.readInt(); else if (tag == "veloChange") _veloChange = e.readInt(); else if (tag == "dynType") _dynRange = Dynamic::Range(e.readInt()); else if (tag == "useTextLine") { // obsolete e.readInt(); if (hairpinType() == Type::CRESC_HAIRPIN) setHairpinType(Type::CRESC_LINE); else if (hairpinType() == Type::DECRESC_HAIRPIN) setHairpinType(Type::DECRESC_LINE); } else if (!TextLine::readProperties(e)) e.unknown(); } }
开发者ID:shredpub,项目名称:MuseScore,代码行数:42,
示例26: foreachvoid Volta::read(const QDomElement& de) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); setId(de.attribute("id", "-1").toInt()); for (QDomElement e = de.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) { const QString& tag(e.tagName()); if (tag == "subtype") setSubtype(VoltaType(e.text().toInt())); else if (tag == "text") // obsolete setText(e.text()); else if (tag == "endings") { QString s = e.text(); QStringList sl = s.split(",", QString::SkipEmptyParts); _endings.clear(); foreach(const QString& l, sl) { int i = l.simplified().toInt(); _endings.append(i); } }
开发者ID:musescore,项目名称:musescore-old,代码行数:21,
示例27: qDeleteAllvoid Volta::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); e.addSpanner(e.intAttribute("id", -1), this); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "endings") { QString s = e.readElementText(); QStringList sl = s.split(",", QString::SkipEmptyParts); _endings.clear(); for (const QString& l : sl) { int i = l.simplified().toInt(); _endings.append(i); } } else if (!TextLineBase::readProperties(e)) e.unknown(); } }
开发者ID:akdor1154,项目名称:MuseScore,代码行数:21,
示例28: toTrillSegmentvoid 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,
示例29: foreachvoid Volta::read(XmlReader* r) { foreach(SpannerSegment* seg, spannerSegments()) delete seg; spannerSegments().clear(); int i= -1; while (r->readAttribute()) { if (r->tag() == "id") i = r->intValue(); } setId(i); while (r->readElement()) { MString8 tag(r->tag()); if (tag == "endings") { QString s = r->stringValue(); QStringList sl = s.split(",", QString::SkipEmptyParts); _endings.clear(); foreach(const QString& l, sl) { int i = l.simplified().toInt(); _endings.append(i); } }
开发者ID:SSMN,项目名称:MuseScore,代码行数:23,
示例30: tick2void Spanner::startEdit(MuseScoreView*, const QPointF&) { editTick = _tick; editTick2 = tick2(); editTrack2 = _track2; if (_anchor == Spanner::Anchor::NOTE) { editEndNote = static_cast<Note*>(_endElement); editStartNote = static_cast<Note*>(_startElement); } userOffsets.clear(); userOffsets2.clear(); foreach (SpannerSegment* ss, spannerSegments()) { userOffsets.push_back(ss->userOff()); userOffsets2.push_back(ss->userOff2()); }
开发者ID:FryderykChopin,项目名称:MuseScore,代码行数:16,
注:本文中的spannerSegments函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ spatium函数代码示例 C++ span_log函数代码示例 |