Skip to content

Commit ad974e4

Browse files
committed
Allow framed text to not demand width greater than height
At least not for multiline text
1 parent 681491c commit ad974e4

File tree

10 files changed

+24
-24
lines changed

10 files changed

+24
-24
lines changed

src/engraving/api/v1/apitypes.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -585,9 +585,9 @@ enum class HDuration {
585585
Q_ENUM_NS(HDuration);
586586

587587
enum class FrameType {
588-
NO_FRAME = int(mu::engraving::FrameType::NO_FRAME),
589-
SQUARE = int(mu::engraving::FrameType::SQUARE),
590-
CIRCLE = int(mu::engraving::FrameType::CIRCLE),
588+
NO_FRAME = int(mu::engraving::FrameType::NO_FRAME),
589+
RECTANGLE = int(mu::engraving::FrameType::RECTANGLE),
590+
CIRCLE = int(mu::engraving::FrameType::CIRCLE),
591591
};
592592
Q_ENUM_NS(FrameType);
593593

src/engraving/dom/textbase.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2067,9 +2067,9 @@ void TextBase::layoutFrame(LayoutData* ldata) const
20672067
ldata->frame = ldata->bbox();
20682068
}
20692069

2070-
if (square()) {
2071-
// make sure width >= height
2072-
if (ldata->frame.height() > ldata->frame.width()) {
2070+
if (rectangle()) {
2071+
// make sure width >= height, if only one row (basically: make square for single characters)
2072+
if (ldata->frame.height() > ldata->frame.width() && ldata->rows() == 1) {
20732073
double w = ldata->frame.height() - ldata->frame.width();
20742074
ldata->frame.adjust(-w * .5, 0.0, w * .5, 0.0);
20752075
}

src/engraving/dom/textbase.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class TextBlock;
4242
//---------------------------------------------------------
4343

4444
enum class FrameType : char {
45-
NO_FRAME, SQUARE, CIRCLE
45+
NO_FRAME, RECTANGLE, CIRCLE
4646
};
4747

4848
//---------------------------------------------------------
@@ -414,7 +414,7 @@ class TextBase : public EngravingItem
414414
// helper functions
415415
bool hasFrame() const { return m_frameType != FrameType::NO_FRAME; }
416416
bool circle() const { return m_frameType == FrameType::CIRCLE; }
417-
bool square() const { return m_frameType == FrameType::SQUARE; }
417+
bool rectangle() const { return m_frameType == FrameType::RECTANGLE; }
418418

419419
TextStyleType textStyleType() const { return m_textStyleType; }
420420
void setTextStyleType(TextStyleType id) { m_textStyleType = id; }

src/engraving/rw/read114/read114.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ static bool readTextProperties(XmlReader& e, ReadContext& ctx, TextBase* t, Engr
276276
} else if (tag == "foregroundColor") { // same as "color" ?
277277
e.skipCurrentElement();
278278
} else if (tag == "frame") {
279-
t->setFrameType(e.readBool() ? FrameType::SQUARE : FrameType::NO_FRAME);
279+
t->setFrameType(e.readBool() ? FrameType::RECTANGLE : FrameType::NO_FRAME);
280280
t->setPropertyFlags(Pid::FRAME_TYPE, PropertyFlags::UNSTYLED);
281281
} else if (tag == "halign") {
282282
Align align = t->align();
@@ -507,10 +507,10 @@ static void readFingering114(XmlReader& e, Fingering* fing)
507507
} else if (tag == "frame") {
508508
auto frame = e.readInt();
509509
if (frame) {
510-
if (isStringNumber) { //default value is circle for stringnumber, square is set in tag circle
510+
if (isStringNumber) { //default value is circle for stringnumber, rectangle is set in tag circle
511511
fing->setFrameType(FrameType::CIRCLE);
512512
} else { //default value is square for stringnumber, circle is set in tag circle
513-
fing->setFrameType(FrameType::SQUARE);
513+
fing->setFrameType(FrameType::RECTANGLE);
514514
}
515515
} else {
516516
fing->setFrameType(FrameType::NO_FRAME);
@@ -520,7 +520,7 @@ static void readFingering114(XmlReader& e, Fingering* fing)
520520
if (circle) {
521521
fing->setFrameType(FrameType::CIRCLE);
522522
} else {
523-
fing->setFrameType(FrameType::SQUARE);
523+
fing->setFrameType(FrameType::RECTANGLE);
524524
}
525525
} else {
526526
e.skipCurrentElement();

src/engraving/rw/read206/read206.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -221,13 +221,13 @@ void Read206::readTextStyle206(MStyle* style, XmlReader& e, ReadContext& ctx, st
221221
} else if (tag == "sizeIsSpatiumDependent" || tag == "spatiumSizeDependent") {
222222
sizeIsSpatiumDependent = e.readInt();
223223
} else if (tag == "frameWidth") { // obsolete
224-
frameType = FrameType::SQUARE;
224+
frameType = FrameType::RECTANGLE;
225225
/*frameWidthMM =*/ e.readDouble();
226226
} else if (tag == "frameWidthS") {
227-
frameType = FrameType::SQUARE;
227+
frameType = FrameType::RECTANGLE;
228228
frameWidth = Spatium(e.readDouble());
229229
} else if (tag == "frame") {
230-
frameType = e.readInt() ? FrameType::SQUARE : FrameType::NO_FRAME;
230+
frameType = e.readInt() ? FrameType::RECTANGLE : FrameType::NO_FRAME;
231231
} else if (tag == "paddingWidth") { // obsolete
232232
/*paddingWidthMM =*/
233233
e.readDouble();
@@ -1334,7 +1334,7 @@ static bool readTextProperties206(XmlReader& e, ReadContext& ctx, TextBase* t)
13341334
} else if (tag == "foregroundColor") { // same as "color" ?
13351335
e.skipCurrentElement();
13361336
} else if (tag == "frame") {
1337-
t->setFrameType(e.readBool() ? FrameType::SQUARE : FrameType::NO_FRAME);
1337+
t->setFrameType(e.readBool() ? FrameType::RECTANGLE : FrameType::NO_FRAME);
13381338
t->setPropertyFlags(Pid::FRAME_TYPE, PropertyFlags::UNSTYLED);
13391339
} else if (tag == "frameRound") {
13401340
read400::TRead::readProperty(t, e, ctx, Pid::FRAME_ROUND);
@@ -1343,7 +1343,7 @@ static bool readTextProperties206(XmlReader& e, ReadContext& ctx, TextBase* t)
13431343
t->setFrameType(FrameType::CIRCLE);
13441344
} else {
13451345
if (t->circle()) {
1346-
t->setFrameType(FrameType::SQUARE);
1346+
t->setFrameType(FrameType::RECTANGLE);
13471347
}
13481348
}
13491349
t->setPropertyFlags(Pid::FRAME_TYPE, PropertyFlags::UNSTYLED);

src/engraving/style/styledef.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1231,7 +1231,7 @@ const std::array<StyleDef::StyleValue, size_t(Sid::STYLES)> StyleDef::styleValue
12311231
styleDef(measureNumberAlternateAlign, Align(AlignH::LEFT, AlignV::BASELINE)),
12321232
styleDef(measureNumberAlternatePosAbove, PointF(0.0, -4.0)),
12331233
styleDef(measureNumberAlternatePosBelow, PointF(0.0, 4.0)),
1234-
styleDef(measureNumberAlternateFrameType, int(FrameType::SQUARE)),
1234+
styleDef(measureNumberAlternateFrameType, int(FrameType::RECTANGLE)),
12351235
styleDef(measureNumberAlternateFramePadding, 0.3),
12361236
styleDef(measureNumberAlternateFrameWidth, 0.1),
12371237
styleDef(measureNumberAlternateFrameRound, 0),
@@ -1358,7 +1358,7 @@ const std::array<StyleDef::StyleValue, size_t(Sid::STYLES)> StyleDef::styleValue
13581358
styleDef(rehearsalMarkFontStyle, int(FontStyle::Bold)),
13591359
styleDef(rehearsalMarkColor, PropertyValue::fromValue(Color::BLACK)),
13601360
styleDef(rehearsalMarkAlign, Align(AlignH::HCENTER, AlignV::BASELINE)),
1361-
styleDef(rehearsalMarkFrameType, int(FrameType::SQUARE)),
1361+
styleDef(rehearsalMarkFrameType, int(FrameType::RECTANGLE)),
13621362
styleDef(rehearsalMarkFramePadding, 0.5),
13631363
styleDef(rehearsalMarkFrameWidth, 0.16),
13641364
styleDef(rehearsalMarkFrameRound, 0),

src/importexport/guitarpro/internal/importptb.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ void PowerTab::addToScore(ptSection& sec)
844844
lastPart = sec.partMarker;
845845
auto seg = measure->getSegment(SegmentType::ChordRest, measure->tick());
846846
RehearsalMark* t = new RehearsalMark(seg);
847-
t->setFrameType(FrameType::SQUARE);
847+
t->setFrameType(FrameType::RECTANGLE);
848848
t->setPlainText(String(Char::fromAscii(sec.partMarker)));
849849
t->setTrack(0);
850850
seg->add(t);

src/importexport/musicxml/internal/musicxml/export/exportmusicxml.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,7 @@ static String frame2xml(const TextBase* el)
742742
switch (el->frameType()) {
743743
case FrameType::CIRCLE:
744744
return u" enclosure=\"circle\"";
745-
case FrameType::SQUARE:
745+
case FrameType::RECTANGLE:
746746
return u" enclosure=\"rectangle\"";
747747
default:
748748
return String();

src/importexport/musicxml/internal/musicxml/import/importmusicxmlpass2.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3593,7 +3593,7 @@ void MusicXmlParserDirection::direction(const String& partId,
35933593
} else if (m_enclosure == "none") {
35943594
t->setFrameType(FrameType::NO_FRAME);
35953595
} else if (m_enclosure == "rectangle") {
3596-
t->setFrameType(FrameType::SQUARE);
3596+
t->setFrameType(FrameType::RECTANGLE);
35973597
t->setFrameRound(0);
35983598
}
35993599

@@ -3691,7 +3691,7 @@ void MusicXmlParserDirection::direction(const String& partId,
36913691
} else if (m_enclosure == "none") {
36923692
dynamic->setFrameType(FrameType::NO_FRAME);
36933693
} else if (m_enclosure == "rectangle") {
3694-
dynamic->setFrameType(FrameType::SQUARE);
3694+
dynamic->setFrameType(FrameType::RECTANGLE);
36953695
dynamic->setFrameRound(0);
36963696
}
36973697

src/notation/view/widgets/editstyle.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1057,7 +1057,7 @@ EditStyle::EditStyle(QWidget* parent)
10571057

10581058
textStyleFrameType->clear();
10591059
textStyleFrameType->addItem(muse::qtrc("notation/editstyle", "None", "no frame for text"), int(FrameType::NO_FRAME));
1060-
textStyleFrameType->addItem(muse::qtrc("notation/editstyle", "Rectangle"), int(FrameType::SQUARE));
1060+
textStyleFrameType->addItem(muse::qtrc("notation/editstyle", "Rectangle"), int(FrameType::RECTANGLE));
10611061
textStyleFrameType->addItem(muse::qtrc("notation/editstyle", "Circle"), int(FrameType::CIRCLE));
10621062

10631063
connect(dynamicsAndHairpinPos, &QComboBox::currentIndexChanged, dynamicsAndHairpinPosDescription, [=]() {

0 commit comments

Comments
 (0)