本文整理汇总了C++中KeySigEvent::key方法的典型用法代码示例。如果您正苦于以下问题:C++ KeySigEvent::key方法的具体用法?C++ KeySigEvent::key怎么用?C++ KeySigEvent::key使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KeySigEvent
的用法示例。
在下文中一共展示了KeySigEvent::key方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: drop
Element* KeySig::drop(const DropData& data)
{
KeySig* ks = static_cast<KeySig*>(data.element);
if (ks->type() != Element::Type::KEYSIG) {
delete ks;
return 0;
}
KeySigEvent k = ks->keySigEvent();
if (k.custom() && (score()->customKeySigIdx(ks) == -1))
score()->addCustomKeySig(ks);
else
delete ks;
if (data.modifiers & Qt::ControlModifier) {
// apply only to this stave
if (k != keySigEvent())
score()->undoChangeKeySig(staff(), tick(), k.key());
}
else {
// apply to all staves:
foreach(Staff* s, score()->rootScore()->staves())
score()->undoChangeKeySig(s, tick(), k.key());
}
return this;
}
示例2: init
void AccidentalState::init(const KeySigEvent& keySig, ClefType clef)
{
if (keySig.custom()) {
memset(state, 2, MAX_ACC_STATE);
for (const KeySym& s : keySig.keySymbols()) {
AccidentalVal a = sym2accidentalVal(s.sym);
int line = int(s.spos.y() * 2);
int idx = relStep(line, clef) % 7;
for (int octave = 0; octave < (11 * 7); octave += 7) {
int i = idx + octave ;
if (i >= MAX_ACC_STATE)
break;
state[i] = int(a) + 2;
}
}
}
else {
init(keySig.key());
}
}