本文整理汇总了C++中Xml::spannerId方法的典型用法代码示例。如果您正苦于以下问题:C++ Xml::spannerId方法的具体用法?C++ Xml::spannerId怎么用?C++ Xml::spannerId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Xml
的用法示例。
在下文中一共展示了Xml::spannerId方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: write
void Ottava::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(xml.spannerId(this)));
writeProperty(xml, P_ID::NUMBERS_ONLY);
xml.tag("subtype", ottavaDefault[int(ottavaType())].name);
TextLine::writeProperties(xml);
xml.etag();
}
示例2: write
void Glissando::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(xml.spannerId(this)));
if (_showText && !_text.isEmpty())
xml.tag("text", _text);
xml.tag("subtype", int(_glissandoType));
SLine::writeProperties(xml);
xml.etag();
}
示例3: write
void Trill::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(xml.spannerId(this)));
xml.tag("subtype", trillTypeName());
SLine::writeProperties(xml);
if (_accidental)
_accidental->write(xml);
xml.etag();
}
示例4: write
void Hairpin::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
int id = xml.spannerId(this);
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(id));
xml.tag("subtype", int(_hairpinType));
writeProperty(xml, P_ID::VELO_CHANGE);
writeProperty(xml, P_ID::HAIRPIN_CIRCLEDTIP);
writeProperty(xml, P_ID::DYNAMIC_RANGE);
writeProperty(xml, P_ID::PLACEMENT);
writeProperty(xml, P_ID::HAIRPIN_HEIGHT);
writeProperty(xml, P_ID::HAIRPIN_CONT_HEIGHT);
TextLine::writeProperties(xml);
xml.etag();
}
示例5: writeProperties
void ChordRest::writeProperties(Xml& xml) const
{
DurationElement::writeProperties(xml);
//
// Beam::Mode default:
// REST - Beam::Mode::NONE
// CHORD - Beam::Mode::AUTO
//
if ((type() == Element::Type::REST && _beamMode != Beam::Mode::NONE)
|| (type() == Element::Type::CHORD && _beamMode != Beam::Mode::AUTO)) {
QString s;
switch(_beamMode) {
case Beam::Mode::AUTO: s = "auto"; break;
case Beam::Mode::BEGIN: s = "begin"; break;
case Beam::Mode::MID: s = "mid"; break;
case Beam::Mode::END: s = "end"; break;
case Beam::Mode::NONE: s = "no"; break;
case Beam::Mode::BEGIN32: s = "begin32"; break;
case Beam::Mode::BEGIN64: s = "begin64"; break;
case Beam::Mode::INVALID: s = "?"; break;
}
xml.tag("BeamMode", s);
}
writeProperty(xml, P_ID::SMALL);
if (actualDurationType().dots())
xml.tag("dots", actualDurationType().dots());
writeProperty(xml, P_ID::STAFF_MOVE);
if (actualDurationType().isValid())
xml.tag("durationType", actualDurationType().name());
if (!duration().isZero() && (!actualDurationType().fraction().isValid()
|| (actualDurationType().fraction() != duration())))
xml.fTag("duration", duration());
foreach(const Articulation* a, _articulations)
a->write(xml);
#ifndef NDEBUG
if (_beam && (MScore::testMode || !_beam->generated()))
xml.tag("Beam", _beam->id());
#else
if (_beam && !_beam->generated())
xml.tag("Beam", _beam->id());
#endif
foreach(Lyrics* lyrics, _lyricsList) {
if (lyrics)
lyrics->write(xml);
}
if (!isGrace()) {
Fraction t(globalDuration());
if (staff())
t *= staff()->timeStretch(xml.curTick);
xml.curTick += t.ticks();
}
for (auto i : score()->spanner()) { // TODO: dont search whole list
Spanner* s = i.second;
if (s->generated() || s->type() != Element::Type::SLUR || !xml.canWrite(s))
continue;
if (s->startElement() == this) {
int id = xml.spannerId(s);
xml.tagE(QString("Slur type=\"start\" id=\"%1\"").arg(id));
}
else if (s->endElement() == this) {
int id = xml.spannerId(s);
xml.tagE(QString("Slur type=\"stop\" id=\"%1\"").arg(id));
}
}
}
示例6: write
void Tie::write(Xml& xml) const
{
xml.stag(QString("Tie id=\"%1\"").arg(xml.spannerId(this)));
SlurTie::writeProperties(xml);
xml.etag();
}