Merge branch 'master' of git+ssh://evolvis.org/scmrepos/git/alioth/musescore into...
[alioth/musescore.git] / debian / patches / experiments / fix-accidental-paren-pos.diff
1 Description: honour symbol advance width from font when drawing accidentals
2  more specifically, accidentals in parenthesēs (or other enclosing
3  symbols) now have the advance width of the enclosing glyph and the
4  glyph from the accidental itself honoured fixing asymmetric render
5  of a parenthesised ♭
6 Author: mirabilos <m@mirbsd.org>
7 Forwarded: https://github.com/musescore/MuseScore/pull/6759
8 Applied-Upstream: v4.0, commit:64e861321a900059d3affe1d1c5ba63a2c432e03
9
10 --- a/libmscore/accidental.cpp
11 +++ b/libmscore/accidental.cpp
12 @@ -284,23 +284,24 @@ void Accidental::layout()
13        setMag(m);
14  
15        m = magS();
16 +      qreal x = 0;
17  
18        if (_bracket != AccidentalBracket::NONE) {
19              SymId id = _bracket == AccidentalBracket::PARENTHESIS ? SymId::accidentalParensLeft : SymId::accidentalBracketLeft;
20              SymElement e(id, 0.0);
21              el.append(e);
22              r |= symBbox(id);
23 +            x += symAdvance(id);
24              }
25  
26        SymId s = symbol();
27 -      qreal x = r.x()+r.width();
28        SymElement e(s, x);
29        el.append(e);
30        r |= symBbox(s).translated(x, 0.0);
31  
32        if (_bracket != AccidentalBracket::NONE) {
33 +            x += symAdvance(s);
34              SymId id = _bracket == AccidentalBracket::PARENTHESIS ? SymId::accidentalParensRight : SymId::accidentalBracketRight;
35 -            x = r.x()+r.width();
36              SymElement e1(id, x);
37              el.append(e1);
38              r |= symBbox(id).translated(x, 0.0);