MuseScore/libmscore/style.h
anatoly-os db7c5560ce
Merge pull request #5612 from Howard-C/minim-tremolo
Support "all lines attached to stem" beam style of tremolo (partially fix #18897)
2020-04-14 12:45:06 +03:00

1368 lines
32 KiB
C++

//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2002-2011 Werner Schweer
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENCE.GPL
//=============================================================================
#ifndef __STYLE_H__
#define __STYLE_H__
#include "chordlist.h"
#include "types.h"
namespace Ms {
enum class Pid : int;
class XmlWriter;
struct ChordDescription;
class Element;
class Score;
//---------------------------------------------------------
// Sid
//
// Keep in sync with styleTypes[] in style.cpp
//---------------------------------------------------------
enum class Sid {
NOSTYLE = -1,
pageWidth,
pageHeight,
pagePrintableWidth,
pageEvenLeftMargin,
pageOddLeftMargin,
pageEvenTopMargin,
pageEvenBottomMargin,
pageOddTopMargin,
pageOddBottomMargin,
pageTwosided,
staffUpperBorder,
staffLowerBorder,
staffDistance,
akkoladeDistance,
minSystemDistance,
maxSystemDistance,
lyricsPlacement,
lyricsPosAbove,
lyricsPosBelow,
lyricsMinTopDistance,
lyricsMinBottomDistance,
lyricsMinDistance,
lyricsLineHeight,
lyricsDashMinLength,
lyricsDashMaxLength,
lyricsDashMaxDistance,
lyricsDashForce,
lyricsAlignVerseNumber,
lyricsLineThickness,
lyricsMelismaAlign,
lyricsMelismaPad,
lyricsDashPad,
lyricsDashLineThickness,
lyricsDashYposRatio,
lyricsOddFontFace,
lyricsOddFontSize,
lyricsOddFontSpatiumDependent,
lyricsOddFontStyle,
lyricsOddColor,
lyricsOddAlign,
lyricsOddFrameType,
lyricsOddFramePadding,
lyricsOddFrameWidth,
lyricsOddFrameRound,
lyricsOddFrameFgColor,
lyricsOddFrameBgColor,
lyricsEvenFontFace,
lyricsEvenFontSize,
lyricsEvenFontSpatiumDependent,
lyricsEvenFontStyle,
lyricsEvenColor,
lyricsEvenAlign,
lyricsEvenFrameType,
lyricsEvenFramePadding,
lyricsEvenFrameWidth,
lyricsEvenFrameRound,
lyricsEvenFrameFgColor,
lyricsEvenFrameBgColor,
figuredBassFontFamily,
// figuredBassFontSize,
figuredBassYOffset,
figuredBassLineHeight,
figuredBassAlignment,
figuredBassStyle,
systemFrameDistance,
frameSystemDistance,
minMeasureWidth,
barWidth,
doubleBarWidth,
endBarWidth,
doubleBarDistance,
endBarDistance,
repeatBarlineDotSeparation,
repeatBarTips,
startBarlineSingle,
startBarlineMultiple,
bracketWidth,
bracketDistance,
akkoladeWidth,
akkoladeBarDistance,
dividerLeft,
dividerLeftSym,
dividerLeftX,
dividerLeftY,
dividerRight,
dividerRightSym,
dividerRightX,
dividerRightY,
clefLeftMargin,
keysigLeftMargin,
ambitusMargin,
timesigLeftMargin,
timesigScale,
midClefKeyRightMargin,
clefKeyRightMargin,
clefKeyDistance,
clefTimesigDistance,
keyTimesigDistance,
keyBarlineDistance,
systemHeaderDistance,
systemHeaderTimeSigDistance,
clefBarlineDistance,
timesigBarlineDistance,
stemWidth,
shortenStem,
shortStemProgression,
shortestStem,
beginRepeatLeftMargin,
minNoteDistance,
barNoteDistance,
barAccidentalDistance,
multiMeasureRestMargin,
noteBarDistance,
measureSpacing,
staffLineWidth,
ledgerLineWidth,
ledgerLineLength,
accidentalDistance,
accidentalNoteDistance,
beamWidth,
beamDistance,
beamMinLen,
beamNoSlope,
dotMag,
dotNoteDistance,
dotRestDistance,
dotDotDistance,
propertyDistanceHead,
propertyDistanceStem,
propertyDistance,
articulationMag,
articulationPosAbove,
articulationAnchorDefault,
articulationAnchorLuteFingering,
articulationAnchorOther,
lastSystemFillLimit,
hairpinPlacement,
hairpinPosAbove,
hairpinPosBelow,
hairpinLinePosAbove,
hairpinLinePosBelow,
hairpinHeight,
hairpinContHeight,
hairpinLineWidth,
hairpinFontFace,
hairpinFontSize,
hairpinFontSpatiumDependent,
hairpinFontStyle,
hairpinColor,
hairpinTextAlign,
hairpinFrameType,
hairpinFramePadding,
hairpinFrameWidth,
hairpinFrameRound,
hairpinFrameFgColor,
hairpinFrameBgColor,
hairpinText,
hairpinCrescText,
hairpinDecrescText,
hairpinCrescContText,
hairpinDecrescContText,
hairpinLineStyle,
hairpinLineLineStyle,
pedalPlacement,
pedalPosAbove,
pedalPosBelow,
pedalLineWidth,
pedalLineStyle,
pedalBeginTextOffset,
pedalHookHeight,
pedalFontFace,
pedalFontSize,
pedalFontSpatiumDependent,
pedalFontStyle,
pedalColor,
pedalTextAlign,
pedalFrameType,
pedalFramePadding,
pedalFrameWidth,
pedalFrameRound,
pedalFrameFgColor,
pedalFrameBgColor,
trillPlacement,
trillPosAbove,
trillPosBelow,
vibratoPlacement,
vibratoPosAbove,
vibratoPosBelow,
harmonyFretDist,
minHarmonyDistance,
maxHarmonyBarDistance,
harmonyPlacement,
romanNumeralPlacement,
nashvilleNumberPlacement,
harmonyPlay,
harmonyVoiceLiteral,
harmonyVoicing,
harmonyDuration,
chordSymbolAPosAbove,
chordSymbolAPosBelow,
chordSymbolBPosAbove,
chordSymbolBPosBelow,
romanNumeralPosAbove,
romanNumeralPosBelow,
nashvilleNumberPosAbove,
nashvilleNumberPosBelow,
chordSymbolAFontFace,
chordSymbolAFontSize,
chordSymbolAFontSpatiumDependent,
chordSymbolAFontStyle,
chordSymbolAColor,
chordSymbolAAlign,
chordSymbolAFrameType,
chordSymbolAFramePadding,
chordSymbolAFrameWidth,
chordSymbolAFrameRound,
chordSymbolAFrameFgColor,
chordSymbolAFrameBgColor,
chordSymbolBFontFace,
chordSymbolBFontSize,
chordSymbolBFontSpatiumDependent,
chordSymbolBFontStyle,
chordSymbolBColor,
chordSymbolBAlign,
chordSymbolBFrameType,
chordSymbolBFramePadding,
chordSymbolBFrameWidth,
chordSymbolBFrameRound,
chordSymbolBFrameFgColor,
chordSymbolBFrameBgColor,
romanNumeralFontFace,
romanNumeralFontSize,
romanNumeralFontSpatiumDependent,
romanNumeralFontStyle,
romanNumeralColor,
romanNumeralAlign,
romanNumeralFrameType,
romanNumeralFramePadding,
romanNumeralFrameWidth,
romanNumeralFrameRound,
romanNumeralFrameFgColor,
romanNumeralFrameBgColor,
nashvilleNumberFontFace,
nashvilleNumberFontSize,
nashvilleNumberFontSpatiumDependent,
nashvilleNumberFontStyle,
nashvilleNumberColor,
nashvilleNumberAlign,
nashvilleNumberFrameType,
nashvilleNumberFramePadding,
nashvilleNumberFrameWidth,
nashvilleNumberFrameRound,
nashvilleNumberFrameFgColor,
nashvilleNumberFrameBgColor,
capoPosition,
fretNumMag,
fretNumPos,
fretY,
fretMinDistance,
fretMag,
fretPlacement,
fretStrings,
fretFrets,
fretNut,
fretDotSize,
fretStringSpacing,
fretFretSpacing,
showPageNumber,
showPageNumberOne,
pageNumberOddEven,
showMeasureNumber,
showMeasureNumberOne,
measureNumberInterval,
measureNumberSystem,
measureNumberAllStaffs,
smallNoteMag,
graceNoteMag,
smallStaffMag,
smallClefMag,
genClef,
genKeysig,
genCourtesyTimesig,
genCourtesyKeysig,
genCourtesyClef,
swingRatio,
swingUnit,
useStandardNoteNames,
useGermanNoteNames,
useFullGermanNoteNames,
useSolfeggioNoteNames,
useFrenchNoteNames,
automaticCapitalization,
lowerCaseMinorChords,
lowerCaseBassNotes,
allCapsNoteNames,
chordStyle,
chordsXmlFile,
chordDescriptionFile,
chordExtensionMag,
chordExtensionAdjust,
chordModifierMag,
chordModifierAdjust,
concertPitch,
createMultiMeasureRests,
minEmptyMeasures,
minMMRestWidth,
hideEmptyStaves,
dontHideStavesInFirstSystem,
hideInstrumentNameIfOneInstrument,
gateTime,
tenutoGateTime,
staccatoGateTime,
slurGateTime,
ArpeggioNoteDistance,
ArpeggioLineWidth,
ArpeggioHookLen,
ArpeggioHiddenInStdIfTab,
SlurEndWidth,
SlurMidWidth,
SlurDottedWidth,
MinTieLength,
SlurMinDistance,
SectionPause,
MusicalSymbolFont,
MusicalTextFont,
showHeader,
headerFirstPage,
headerOddEven,
evenHeaderL,
evenHeaderC,
evenHeaderR,
oddHeaderL,
oddHeaderC,
oddHeaderR,
showFooter,
footerFirstPage,
footerOddEven,
evenFooterL,
evenFooterC,
evenFooterR,
oddFooterL,
oddFooterC,
oddFooterR,
voltaPosAbove,
voltaHook,
voltaLineWidth,
voltaLineStyle,
voltaFontFace,
voltaFontSize,
voltaFontSpatiumDependent,
voltaFontStyle,
voltaColor,
voltaAlign,
voltaOffset,
voltaFrameType,
voltaFramePadding,
voltaFrameWidth,
voltaFrameRound,
voltaFrameFgColor,
voltaFrameBgColor,
ottava8VAPlacement,
ottava8VBPlacement,
ottava15MAPlacement,
ottava15MBPlacement,
ottava22MAPlacement,
ottava22MBPlacement,
ottava8VAText,
ottava8VAContinueText,
ottava8VBText,
ottava8VBContinueText,
ottava15MAText,
ottava15MAContinueText,
ottava15MBText,
ottava15MBContinueText,
ottava22MAText,
ottava22MAContinueText,
ottava22MBText,
ottava22MBContinueText,
ottava8VAnoText,
ottava8VAnoContinueText,
ottava8VBnoText,
ottava8VBnoContinueText,
ottava15MAnoText,
ottava15MAnoContinueText,
ottava15MBnoText,
ottava15MBnoContinueText,
ottava22MAnoText,
ottava22MAnoContinueText,
ottava22MBnoText,
ottava22MBnoContinueText,
ottavaPosAbove,
ottavaPosBelow,
ottavaHookAbove,
ottavaHookBelow,
ottavaLineWidth,
ottavaLineStyle,
ottavaNumbersOnly,
ottavaFontFace,
ottavaFontSize,
ottavaFontSpatiumDependent,
ottavaFontStyle,
ottavaColor,
ottavaTextAlign,
ottavaFrameType,
ottavaFramePadding,
ottavaFrameWidth,
ottavaFrameRound,
ottavaFrameFgColor,
ottavaFrameBgColor,
tabClef,
tremoloWidth,
tremoloBoxHeight,
tremoloStrokeWidth,
tremoloDistance,
tremoloPlacement,
tremoloBeamStyle,
// TODO tremoloBeamLengthMultiplier,
// TODO tremoloMaxBeamLength,
linearStretch,
crossMeasureValues,
keySigNaturals,
tupletMaxSlope,
tupletOufOfStaff,
tupletVHeadDistance,
tupletVStemDistance,
tupletStemLeftDistance,
tupletStemRightDistance,
tupletNoteLeftDistance,
tupletNoteRightDistance,
tupletBracketWidth,
tupletDirection,
tupletNumberType,
tupletBracketType,
tupletFontFace,
tupletFontSize,
tupletFontSpatiumDependent,
tupletFontStyle,
tupletColor,
tupletAlign,
tupletBracketHookHeight,
tupletOffset,
tupletFrameType,
tupletFramePadding,
tupletFrameWidth,
tupletFrameRound,
tupletFrameFgColor,
tupletFrameBgColor,
barreLineWidth,
scaleBarlines,
barGraceDistance,
minVerticalDistance,
ornamentStyle,
spatium,
autoplaceHairpinDynamicsDistance,
dynamicsPlacement,
dynamicsPosAbove,
dynamicsPosBelow,
dynamicsMinDistance,
autoplaceVerticalAlignRange,
textLinePlacement,
textLinePosAbove,
textLinePosBelow,
textLineFrameType,
textLineFramePadding,
textLineFrameWidth,
textLineFrameRound,
textLineFrameFgColor,
textLineFrameBgColor,
tremoloBarLineWidth,
jumpPosAbove,
markerPosAbove,
defaultFontFace,
defaultFontSize,
defaultFontSpatiumDependent,
defaultFontStyle,
defaultColor,
defaultAlign,
defaultFrameType,
defaultFramePadding,
defaultFrameWidth,
defaultFrameRound,
defaultFrameFgColor,
defaultFrameBgColor,
defaultOffset,
defaultOffsetType,
defaultSystemFlag,
defaultText,
titleFontFace,
titleFontSize,
titleFontSpatiumDependent,
titleFontStyle,
titleColor,
titleAlign,
titleOffset,
titleOffsetType,
titleFrameType,
titleFramePadding,
titleFrameWidth,
titleFrameRound,
titleFrameFgColor,
titleFrameBgColor,
subTitleFontFace,
subTitleFontSize,
subTitleFontSpatiumDependent,
subTitleFontStyle,
subTitleColor,
subTitleAlign,
subTitleOffset,
subTitleOffsetType,
subTitleFrameType,
subTitleFramePadding,
subTitleFrameWidth,
subTitleFrameRound,
subTitleFrameFgColor,
subTitleFrameBgColor,
composerFontFace,
composerFontSize,
composerFontSpatiumDependent,
composerFontStyle,
composerColor,
composerAlign,
composerOffset,
composerOffsetType,
composerFrameType,
composerFramePadding,
composerFrameWidth,
composerFrameRound,
composerFrameFgColor,
composerFrameBgColor,
lyricistFontFace,
lyricistFontSize,
lyricistFontSpatiumDependent,
lyricistFontStyle,
lyricistColor,
lyricistAlign,
lyricistOffset,
lyricistOffsetType,
lyricistFrameType,
lyricistFramePadding,
lyricistFrameWidth,
lyricistFrameRound,
lyricistFrameFgColor,
lyricistFrameBgColor,
fingeringFontFace,
fingeringFontSize,
fingeringFontSpatiumDependent,
fingeringFontStyle,
fingeringColor,
fingeringAlign,
fingeringFrameType,
fingeringFramePadding,
fingeringFrameWidth,
fingeringFrameRound,
fingeringFrameFgColor,
fingeringFrameBgColor,
fingeringOffset,
lhGuitarFingeringFontFace,
lhGuitarFingeringFontSize,
lhGuitarFingeringFontSpatiumDependent,
lhGuitarFingeringFontStyle,
lhGuitarFingeringColor,
lhGuitarFingeringAlign,
lhGuitarFingeringFrameType,
lhGuitarFingeringFramePadding,
lhGuitarFingeringFrameWidth,
lhGuitarFingeringFrameRound,
lhGuitarFingeringFrameFgColor,
lhGuitarFingeringFrameBgColor,
lhGuitarFingeringOffset,
rhGuitarFingeringFontFace,
rhGuitarFingeringFontSize,
rhGuitarFingeringFontSpatiumDependent,
rhGuitarFingeringFontStyle,
rhGuitarFingeringColor,
rhGuitarFingeringAlign,
rhGuitarFingeringFrameType,
rhGuitarFingeringFramePadding,
rhGuitarFingeringFrameWidth,
rhGuitarFingeringFrameRound,
rhGuitarFingeringFrameFgColor,
rhGuitarFingeringFrameBgColor,
rhGuitarFingeringOffset,
stringNumberFontFace,
stringNumberFontSize,
stringNumberFontSpatiumDependent,
stringNumberFontStyle,
stringNumberColor,
stringNumberAlign,
stringNumberFrameType,
stringNumberFramePadding,
stringNumberFrameWidth,
stringNumberFrameRound,
stringNumberFrameFgColor,
stringNumberFrameBgColor,
stringNumberOffset,
longInstrumentFontFace,
longInstrumentFontSize,
longInstrumentFontSpatiumDependent,
longInstrumentFontStyle,
longInstrumentColor,
longInstrumentAlign,
longInstrumentOffset,
longInstrumentFrameType,
longInstrumentFramePadding,
longInstrumentFrameWidth,
longInstrumentFrameRound,
longInstrumentFrameFgColor,
longInstrumentFrameBgColor,
shortInstrumentFontFace,
shortInstrumentFontSize,
shortInstrumentFontSpatiumDependent,
shortInstrumentFontStyle,
shortInstrumentColor,
shortInstrumentAlign,
shortInstrumentOffset,
shortInstrumentFrameType,
shortInstrumentFramePadding,
shortInstrumentFrameWidth,
shortInstrumentFrameRound,
shortInstrumentFrameFgColor,
shortInstrumentFrameBgColor,
partInstrumentFontFace,
partInstrumentFontSize,
partInstrumentFontSpatiumDependent,
partInstrumentFontStyle,
partInstrumentColor,
partInstrumentAlign,
partInstrumentOffset,
partInstrumentFrameType,
partInstrumentFramePadding,
partInstrumentFrameWidth,
partInstrumentFrameRound,
partInstrumentFrameFgColor,
partInstrumentFrameBgColor,
dynamicsFontFace,
dynamicsFontSize,
dynamicsFontSpatiumDependent,
dynamicsFontStyle,
dynamicsColor,
dynamicsAlign,
dynamicsFrameType,
dynamicsFramePadding,
dynamicsFrameWidth,
dynamicsFrameRound,
dynamicsFrameFgColor,
dynamicsFrameBgColor,
expressionFontFace,
expressionFontSize,
expressionFontSpatiumDependent,
expressionFontStyle,
expressionColor,
expressionAlign,
expressionPlacement,
expressionOffset,
expressionFrameType,
expressionFramePadding,
expressionFrameWidth,
expressionFrameRound,
expressionFrameFgColor,
expressionFrameBgColor,
tempoFontFace,
tempoFontSize,
tempoFontSpatiumDependent,
tempoFontStyle,
tempoColor,
tempoAlign,
tempoSystemFlag,
tempoPlacement,
tempoPosAbove,
tempoPosBelow,
tempoMinDistance,
tempoFrameType,
tempoFramePadding,
tempoFrameWidth,
tempoFrameRound,
tempoFrameFgColor,
tempoFrameBgColor,
metronomeFontFace,
metronomeFontSize,
metronomeFontSpatiumDependent,
metronomeFontStyle,
metronomeColor,
metronomePlacement,
metronomeAlign,
metronomeOffset,
metronomeFrameType,
metronomeFramePadding,
metronomeFrameWidth,
metronomeFrameRound,
metronomeFrameFgColor,
metronomeFrameBgColor,
measureNumberFontFace,
measureNumberFontSize,
measureNumberFontSpatiumDependent,
measureNumberFontStyle,
measureNumberColor,
measureNumberOffset,
measureNumberOffsetType,
measureNumberAlign,
measureNumberFrameType,
measureNumberFramePadding,
measureNumberFrameWidth,
measureNumberFrameRound,
measureNumberFrameFgColor,
measureNumberFrameBgColor,
translatorFontFace,
translatorFontSize,
translatorFontSpatiumDependent,
translatorFontStyle,
translatorColor,
translatorAlign,
translatorOffset,
translatorFrameType,
translatorFramePadding,
translatorFrameWidth,
translatorFrameRound,
translatorFrameFgColor,
translatorFrameBgColor,
systemTextFontFace,
systemTextFontSize,
systemTextFontSpatiumDependent,
systemTextFontStyle,
systemTextColor,
systemTextAlign,
systemTextOffsetType,
systemTextPlacement,
systemTextPosAbove,
systemTextPosBelow,
systemTextMinDistance,
systemTextFrameType,
systemTextFramePadding,
systemTextFrameWidth,
systemTextFrameRound,
systemTextFrameFgColor,
systemTextFrameBgColor,
staffTextFontFace,
staffTextFontSize,
staffTextFontSpatiumDependent,
staffTextFontStyle,
staffTextColor,
staffTextAlign,
staffTextOffsetType,
staffTextPlacement,
staffTextPosAbove,
staffTextPosBelow,
staffTextMinDistance,
staffTextFrameType,
staffTextFramePadding,
staffTextFrameWidth,
staffTextFrameRound,
staffTextFrameFgColor,
staffTextFrameBgColor,
rehearsalMarkFontFace,
rehearsalMarkFontSize,
rehearsalMarkFontSpatiumDependent,
rehearsalMarkFontStyle,
rehearsalMarkColor,
rehearsalMarkAlign,
rehearsalMarkFrameType,
rehearsalMarkFramePadding,
rehearsalMarkFrameWidth,
rehearsalMarkFrameRound,
rehearsalMarkFrameFgColor,
rehearsalMarkFrameBgColor,
rehearsalMarkPlacement,
rehearsalMarkPosAbove,
rehearsalMarkPosBelow,
rehearsalMarkMinDistance,
repeatLeftFontFace,
repeatLeftFontSize,
repeatLeftFontSpatiumDependent,
repeatLeftFontStyle,
repeatLeftColor,
repeatLeftAlign,
repeatLeftPlacement,
repeatLeftFrameType,
repeatLeftFramePadding,
repeatLeftFrameWidth,
repeatLeftFrameRound,
repeatLeftFrameFgColor,
repeatLeftFrameBgColor,
repeatRightFontFace,
repeatRightFontSize,
repeatRightFontSpatiumDependent,
repeatRightFontStyle,
repeatRightColor,
repeatRightAlign,
repeatRightPlacement,
repeatRightFrameType,
repeatRightFramePadding,
repeatRightFrameWidth,
repeatRightFrameRound,
repeatRightFrameFgColor,
repeatRightFrameBgColor,
frameFontFace,
frameFontSize,
frameFontSpatiumDependent,
frameFontStyle,
frameColor,
frameAlign,
frameOffset,
frameFrameType,
frameFramePadding,
frameFrameWidth,
frameFrameRound,
frameFrameFgColor,
frameFrameBgColor,
textLineFontFace,
textLineFontSize,
textLineFontSpatiumDependent,
textLineFontStyle,
textLineColor,
textLineTextAlign,
glissandoFontFace,
glissandoFontSize,
glissandoFontSpatiumDependent,
glissandoFontStyle,
glissandoColor,
glissandoAlign,
glissandoOffset,
glissandoFrameType,
glissandoFramePadding,
glissandoFrameWidth,
glissandoFrameRound,
glissandoFrameFgColor,
glissandoFrameBgColor,
glissandoLineWidth,
glissandoText,
bendFontFace,
bendFontSize,
bendFontSpatiumDependent,
bendFontStyle,
bendColor,
bendAlign,
bendOffset,
bendFrameType,
bendFramePadding,
bendFrameWidth,
bendFrameRound,
bendFrameFgColor,
bendFrameBgColor,
bendLineWidth,
bendArrowWidth,
headerFontFace,
headerFontSize,
headerFontSpatiumDependent,
headerFontStyle,
headerColor,
headerAlign,
headerOffset,
headerFrameType,
headerFramePadding,
headerFrameWidth,
headerFrameRound,
headerFrameFgColor,
headerFrameBgColor,
footerFontFace,
footerFontSize,
footerFontSpatiumDependent,
footerFontStyle,
footerColor,
footerAlign,
footerOffset,
footerFrameType,
footerFramePadding,
footerFrameWidth,
footerFrameRound,
footerFrameFgColor,
footerFrameBgColor,
instrumentChangeFontFace,
instrumentChangeFontSize,
instrumentChangeFontSpatiumDependent,
instrumentChangeFontStyle,
instrumentChangeColor,
instrumentChangeAlign,
instrumentChangeOffset,
instrumentChangePlacement,
instrumentChangePosAbove,
instrumentChangePosBelow,
instrumentChangeMinDistance,
instrumentChangeFrameType,
instrumentChangeFramePadding,
instrumentChangeFrameWidth,
instrumentChangeFrameRound,
instrumentChangeFrameFgColor,
instrumentChangeFrameBgColor,
stickingFontFace,
stickingFontSize,
stickingFontSpatiumDependent,
stickingFontStyle,
stickingColor,
stickingAlign,
stickingOffset,
stickingPlacement,
stickingPosAbove,
stickingPosBelow,
stickingMinDistance,
stickingFrameType,
stickingFramePadding,
stickingFrameWidth,
stickingFrameRound,
stickingFrameFgColor,
stickingFrameBgColor,
figuredBassFontFace,
figuredBassFontSize,
figuredBassFontSpatiumDependent,
figuredBassFontStyle,
figuredBassColor,
user1Name,
user1FontFace,
user1FontSize,
user1FontSpatiumDependent,
user1FontStyle,
user1Color,
user1Align,
user1Offset,
user1OffsetType,
user1FrameType,
user1FramePadding,
user1FrameWidth,
user1FrameRound,
user1FrameFgColor,
user1FrameBgColor,
user2Name,
user2FontFace,
user2FontSize,
user2FontSpatiumDependent,
user2FontStyle,
user2Color,
user2Align,
user2Offset,
user2OffsetType,
user2FrameType,
user2FramePadding,
user2FrameWidth,
user2FrameRound,
user2FrameFgColor,
user2FrameBgColor,
user3Name,
user3FontFace,
user3FontSize,
user3FontSpatiumDependent,
user3FontStyle,
user3Color,
user3Align,
user3Offset,
user3OffsetType,
user3FrameType,
user3FramePadding,
user3FrameWidth,
user3FrameRound,
user3FrameFgColor,
user3FrameBgColor,
user4Name,
user4FontFace,
user4FontSize,
user4FontSpatiumDependent,
user4FontStyle,
user4Color,
user4Align,
user4Offset,
user4OffsetType,
user4FrameType,
user4FramePadding,
user4FrameWidth,
user4FrameRound,
user4FrameFgColor,
user4FrameBgColor,
user5Name,
user5FontFace,
user5FontSize,
user5FontSpatiumDependent,
user5FontStyle,
user5Color,
user5Align,
user5Offset,
user5OffsetType,
user5FrameType,
user5FramePadding,
user5FrameWidth,
user5FrameRound,
user5FrameFgColor,
user5FrameBgColor,
user6Name,
user6FontFace,
user6FontSize,
user6FontSpatiumDependent,
user6FontStyle,
user6Color,
user6Align,
user6Offset,
user6OffsetType,
user6FrameType,
user6FramePadding,
user6FrameWidth,
user6FrameRound,
user6FrameFgColor,
user6FrameBgColor,
user7Name,
user7FontFace,
user7FontSize,
user7FontSpatiumDependent,
user7FontStyle,
user7Color,
user7Align,
user7Offset,
user7OffsetType,
user7FrameType,
user7FramePadding,
user7FrameWidth,
user7FrameRound,
user7FrameFgColor,
user7FrameBgColor,
user8Name,
user8FontFace,
user8FontSize,
user8FontSpatiumDependent,
user8FontStyle,
user8Color,
user8Align,
user8Offset,
user8OffsetType,
user8FrameType,
user8FramePadding,
user8FrameWidth,
user8FrameRound,
user8FrameFgColor,
user8FrameBgColor,
user9Name,
user9FontFace,
user9FontSize,
user9FontSpatiumDependent,
user9FontStyle,
user9Color,
user9Align,
user9Offset,
user9OffsetType,
user9FrameType,
user9FramePadding,
user9FrameWidth,
user9FrameRound,
user9FrameFgColor,
user9FrameBgColor,
user10Name,
user10FontFace,
user10FontSize,
user10FontSpatiumDependent,
user10FontStyle,
user10Color,
user10Align,
user10Offset,
user10OffsetType,
user10FrameType,
user10FramePadding,
user10FrameWidth,
user10FrameRound,
user10FrameFgColor,
user10FrameBgColor,
user11Name,
user11FontFace,
user11FontSize,
user11FontSpatiumDependent,
user11FontStyle,
user11Color,
user11Align,
user11Offset,
user11OffsetType,
user11FrameType,
user11FramePadding,
user11FrameWidth,
user11FrameRound,
user11FrameFgColor,
user11FrameBgColor,
user12Name,
user12FontFace,
user12FontSize,
user12FontSpatiumDependent,
user12FontStyle,
user12Color,
user12Align,
user12Offset,
user12OffsetType,
user12FrameType,
user12FramePadding,
user12FrameWidth,
user12FrameRound,
user12FrameFgColor,
user12FrameBgColor,
letRingFontFace,
letRingFontSize,
letRingFontSpatiumDependent,
letRingFontStyle,
letRingColor,
letRingTextAlign,
letRingHookHeight,
letRingPlacement,
letRingPosAbove,
letRingPosBelow,
letRingLineWidth,
letRingLineStyle,
letRingBeginTextOffset,
letRingText,
letRingFrameType,
letRingFramePadding,
letRingFrameWidth,
letRingFrameRound,
letRingFrameFgColor,
letRingFrameBgColor,
letRingEndHookType,
palmMuteFontFace,
palmMuteFontSize,
palmMuteFontSpatiumDependent,
palmMuteFontStyle,
palmMuteColor,
palmMuteTextAlign,
palmMuteHookHeight,
palmMutePlacement,
palmMutePosAbove,
palmMutePosBelow,
palmMuteLineWidth,
palmMuteLineStyle,
palmMuteBeginTextOffset,
palmMuteText,
palmMuteFrameType,
palmMuteFramePadding,
palmMuteFrameWidth,
palmMuteFrameRound,
palmMuteFrameFgColor,
palmMuteFrameBgColor,
palmMuteEndHookType,
fermataPosAbove,
fermataPosBelow,
fermataMinDistance,
fingeringPlacement,
articulationMinDistance,
fingeringMinDistance,
hairpinMinDistance,
letRingMinDistance,
ottavaMinDistance,
palmMuteMinDistance,
pedalMinDistance,
repeatMinDistance,
textLineMinDistance,
trillMinDistance,
vibratoMinDistance,
voltaMinDistance,
figuredBassMinDistance,
tupletMinDistance,
autoplaceEnabled,
STYLES
};
//---------------------------------------------------------
// MStyle
// the name "Style" gives problems with some microsoft
// header files...
//---------------------------------------------------------
class MStyle {
std::array<QVariant, int(Sid::STYLES)> _values;
std::array<qreal, int(Sid::STYLES)> _precomputedValues;
ChordList _chordList;
bool _customChordList; // if true, chordlist will be saved as part of score
public:
MStyle();
void precomputeValues();
const QVariant& value(Sid idx) const;
qreal pvalue(Sid idx) const { return _precomputedValues[int(idx)]; }
void set(Sid idx, const QVariant& v);
bool isDefault(Sid idx) const;
const ChordDescription* chordDescription(int id) const;
ChordList* chordList() { return &_chordList; }
void setChordList(ChordList*, bool custom = true); // Style gets ownership of ChordList
void setCustomChordList(bool t) { _customChordList = t; }
void checkChordList();
bool load(QFile* qf, bool ign = false);
void load(XmlReader& e);
void save(XmlWriter& xml, bool optimize);
bool readProperties(XmlReader&);
bool readStyleValCompat(XmlReader&);
bool readTextStyleValCompat(XmlReader&);
void reset(Score*);
static const char* valueType(const Sid);
static const char* valueName(const Sid);
static Sid styleIdx(const QString& name);
};
//---------------------------------------------------------
// StyledProperty
//---------------------------------------------------------
struct StyledProperty {
Sid sid;
Pid pid;
};
typedef std::vector<StyledProperty> ElementStyle;
#define TEXT_STYLE_SIZE 13
typedef std::array<StyledProperty, TEXT_STYLE_SIZE> TextStyle;
const TextStyle* textStyle(Tid);
const TextStyle* textStyle(const char*);
const char* textStyleName(Tid);
QString textStyleUserName(Tid);
Tid textStyleFromName(const QString&);
const std::vector<Tid>& allTextStyles();
const std::vector<Tid>& primaryTextStyles();
#ifndef NDEBUG
extern void checkStyles();
#endif
} // namespace Ms
#endif