ported #6826 : fix #312608: stems too short on chords outside staff

This commit is contained in:
Igor Korsukov 2021-02-05 15:21:55 +02:00 committed by pereverzev+v
parent 04a6fef669
commit cf926fca3b

View file

@ -1379,8 +1379,10 @@ qreal Chord::defaultStemLength() const
sel = staffHlfHgt; // stretch it to mid position
}
stemLen = sel - dy; // actual stem length
if (-stemLen < shortest) { // is stem too short,
stemLen = -shortest; // lengthen it to shortest possible length
qreal exposedLen = sel - ul * .5; // portion extending above top note of chord
if (-exposedLen < shortest) { // if stem too short,
qreal diff = shortest + exposedLen;
stemLen -= diff; // lengthen it to shortest possible length
}
} else { // stem down
qreal uy = ul * .5; // note-side vert. pos.
@ -1394,8 +1396,10 @@ qreal Chord::defaultStemLength() const
sel = staffHlfHgt; // stretch it to mid position
}
stemLen = sel - uy; // actual stem length
if (stemLen < shortest) { // if stem too short,
stemLen = shortest; // lengthen it to shortest possible position
qreal exposedLen = sel - dl * .5; // portion extending below bottom note of chord
if (exposedLen < shortest) { // if stem too short,
qreal diff = shortest - exposedLen;
stemLen += diff; // lengthen it to shortest possible length
}
}
}