Skip to content

Commit 61ae46d

Browse files
committed
add simple system bracket
1 parent e965f09 commit 61ae46d

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

libmscore/bracket.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,14 @@ void Bracket::layout()
112112
qreal h = (-y + h2) * 2;
113113
bbox().setRect(x, y, w, h);
114114
}
115+
else if (bracketType() == BRACKET_SIMPLE) {
116+
qreal _spatium = spatium();
117+
qreal w = score()->styleS(ST_bracketWidth).val() * _spatium * .5;
118+
qreal x = -w;
119+
w += 1 * spatium();
120+
qreal h = h2 * 2;
121+
bbox().setRect(x, 0.0, w, h);
122+
}
115123
}
116124

117125
//---------------------------------------------------------
@@ -143,6 +151,16 @@ void Bracket::draw(QPainter* painter) const
143151
symbols[idx][brackettipsRightUp].draw(painter, mags, QPointF(x, y1));
144152
symbols[idx][brackettipsRightDown].draw(painter, mags, QPointF(x, y2));
145153
}
154+
else if (bracketType() == BRACKET_SIMPLE) {
155+
qreal h = 2 * h2;
156+
qreal _spatium = spatium();
157+
qreal w = score()->styleS(ST_staffLineWidth).val() * _spatium;
158+
QPen pen(curColor(), w, Qt::SolidLine, Qt::SquareCap);
159+
painter->setPen(pen);
160+
painter->drawLine(QLineF(0.0, 0.0, 0.0, h));
161+
painter->drawLine(QLineF(0.0, 0.0, w + spatium() , 0.0));
162+
painter->drawLine(QLineF(0.0, h , w + spatium(), h));
163+
}
146164
}
147165

148166
//---------------------------------------------------------
@@ -158,6 +176,9 @@ void Bracket::write(Xml& xml) const
158176
case BRACKET_NORMAL:
159177
xml.stag("Bracket");
160178
break;
179+
case BRACKET_SIMPLE:
180+
xml.stag("Bracket type=\"Simple\"");
181+
break;
161182
case NO_BRACKET:
162183
break;
163184
}
@@ -179,6 +200,8 @@ void Bracket::read(XmlReader& e)
179200
setBracketType(BRACKET_NORMAL);
180201
else if (t == "Akkolade")
181202
setBracketType(BRACKET_AKKOLADE);
203+
else if (t == "Simple")
204+
setBracketType(BRACKET_SIMPLE);
182205
else
183206
qDebug("unknown brace type <%s>", qPrintable(t));
184207

libmscore/mscore.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ enum ArticulationType {
122122
//---------------------------------------------------------
123123

124124
enum BracketType {
125-
BRACKET_NORMAL, BRACKET_AKKOLADE, NO_BRACKET = -1
125+
BRACKET_NORMAL, BRACKET_AKKOLADE, BRACKET_SIMPLE, NO_BRACKET = -1
126126
};
127127

128128
//---------------------------------------------------------

mscore/menus.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,9 +521,12 @@ Palette* MuseScore::newBracketsPalette()
521521
b1->setBracketType(BRACKET_NORMAL);
522522
Bracket* b2 = new Bracket(gscore);
523523
b2->setBracketType(BRACKET_AKKOLADE);
524+
Bracket* b3 = new Bracket(gscore);
525+
b3->setBracketType(BRACKET_SIMPLE);
524526

525527
sp->append(b1, tr("Square bracket"));
526528
sp->append(b2, tr("Curly bracket"));
529+
sp->append(b3, tr("Simple bracket"));
527530

528531
return sp;
529532
}

0 commit comments

Comments
 (0)