Line data Source code
1 : /*
2 : * SPDX-License-Identifier: GPL-3.0-only
3 : * MuseScore-Studio-CLA-applies
4 : *
5 : * MuseScore Studio
6 : * Music Composition & Notation
7 : *
8 : * Copyright (C) 2021 MuseScore Limited and others
9 : *
10 : * This program is free software: you can redistribute it and/or modify
11 : * it under the terms of the GNU General Public License version 3 as
12 : * published by the Free Software Foundation.
13 : *
14 : * This program is distributed in the hope that it will be useful,
15 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 : * GNU General Public License for more details.
18 : *
19 : * You should have received a copy of the GNU General Public License
20 : * along with this program. If not, see <https://www.gnu.org/licenses/>.
21 : */
22 :
23 : #include "measurenumber.h"
24 :
25 : #include "measure.h"
26 : #include "score.h"
27 :
28 : using namespace mu;
29 :
30 : namespace mu::engraving {
31 : //---------------------------------------------------------
32 : // measureNumberStyle
33 : //---------------------------------------------------------
34 :
35 : static const ElementStyle measureNumberStyle {
36 : { Sid::measureNumberVPlacement, Pid::PLACEMENT },
37 : { Sid::measureNumberMinDistance, Pid::MIN_DISTANCE },
38 : { Sid::measureNumberTextStyle, Pid::TEXT_STYLE }
39 : };
40 :
41 : //---------------------------------------------------------
42 : // MeasureNumber
43 : //---------------------------------------------------------
44 :
45 2336 : MeasureNumber::MeasureNumber(DummyParentOr<Measure> parent, TextStyleType tid)
46 2336 : : MeasureNumberBase(ElementType::MEASURE_NUMBER, parent, tid)
47 : {
48 2336 : initElementStyle(&measureNumberStyle);
49 2336 : }
50 :
51 : //---------------------------------------------------------
52 : // MeasureNumber
53 : // Copy constructor
54 : //---------------------------------------------------------
55 :
56 0 : MeasureNumber::MeasureNumber(const MeasureNumber& other)
57 0 : : MeasureNumberBase(other)
58 : {
59 0 : initElementStyle(&measureNumberStyle);
60 0 : }
61 :
62 31336 : bool MeasureNumber::isSystemObjectBelowBottomStaff() const
63 : {
64 31336 : return style().styleV(Sid::measureNumberPlacementMode).value<MeasureNumberPlacement>() == MeasureNumberPlacement::BELOW_SYSTEM
65 31336 : || EngravingItem::isSystemObjectBelowBottomStaff();
66 : }
67 : } // namespace MS
|