document patch and mark as forwarded
[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/6742
8
9 --- a/libmscore/accidental.cpp
10 +++ b/libmscore/accidental.cpp
11 @@ -284,23 +284,24 @@ void Accidental::layout()
12        setMag(m);
13  
14        m = magS();
15 +      qreal x = 0;
16  
17        if (_bracket != AccidentalBracket::NONE) {
18              SymId id = _bracket == AccidentalBracket::PARENTHESIS ? SymId::accidentalParensLeft : SymId::accidentalBracketLeft;
19              SymElement e(id, 0.0);
20              el.append(e);
21              r |= symBbox(id);
22 +            x += symAdvance(id);
23              }
24  
25        SymId s = symbol();
26 -      qreal x = r.x()+r.width();
27        SymElement e(s, x);
28        el.append(e);
29        r |= symBbox(s).translated(x, 0.0);
30  
31        if (_bracket != AccidentalBracket::NONE) {
32 +            x += symAdvance(s);
33              SymId id = _bracket == AccidentalBracket::PARENTHESIS ? SymId::accidentalParensRight : SymId::accidentalBracketRight;
34 -            x = r.x()+r.width();
35              SymElement e1(id, x);
36              el.append(e1);
37              r |= symBbox(id).translated(x, 0.0);