|
MUSX Document Model
|
An unordered map of default font settings for the document. More...
#include <Options.h>
Inheritance diagram for musx::dom::options::FontOptions:Public Types | |
| enum class | FontType { Music , Key , Clef , Time , Chord , ChordAcci , Ending , Tuplet , TextBlock , LyricVerse , LyricChorus , LyricSection , MultiMeasRest , Tablature , ChordSuffix , Expression , Repeat , Fretboard , Flags , Accis , AltNotSlash , AltNotNum , Rests , ReptDots , Noteheads , AugDots , TimePlus , Articulation , Percussion , SmartShape8va , MeasNumb , StaffNames , AbbrvStaffNames , GroupNames , SmartShape8vb , SmartShape15ma , SmartShape15mb , SmartShapeTrill , SmartShapeWiggle , AbbrvGroupNames , BendCurveFull , BendCurveWhole , BendCurveFrac , TimeParts , TimePlusParts } |
| Types of fonts available for the document. More... | |
Public Types inherited from musx::dom::EnigmaBase | |
| enum class | ShareMode { All , Partial , None } |
| Describes how this instance is shared between part and score. More... | |
| using | SharedNodes = std::set< std::string > |
| The container type for shared nodes. | |
Public Member Functions | |
| FontOptions (const DocumentWeakPtr &document, Cmper partId=0, ShareMode shareMode=ShareMode::All) | |
| Constructor. | |
| MusxInstance< FontInfo > | getFontInfo (FontType type) const |
get the FontInfo for a particular type | |
Public Member Functions inherited from musx::dom::EnigmaBase | |
| Cmper | getSourcePartId () const |
| Gets the source partId for this instance. If an instance is fully shared with the score, the source is SCORE_PARTID. If an instance is partially shared or non shared, the source is the ID of the part that sourced it. | |
| ShareMode | getShareMode () const |
| Gets the sharing mode for this instance. | |
| const SharedNodes & | getUnlinkedNodes () const |
Gets the unlinked nodes for this instance. (Only populated for ShareMode::Partial) | |
| void | addUnlinkedNode (const std::string &nodeName) |
| Adds a shared node for this instance. | |
| virtual void | integrityCheck (const std::shared_ptr< EnigmaBase > &ptrToThis) |
| Performs a final consistency check after population. | |
| virtual bool | requireAllFields () const |
| Returns true if all fields are required for valid input. | |
Public Member Functions inherited from musx::dom::DocumentElement | |
| virtual | ~DocumentElement () noexcept(false)=default |
| Virtual destructor for polymorphic behavior. | |
| DocumentPtr | getDocument () const |
| Gets a reference to the Document. | |
| Cmper | getPartId () const |
| Gets the part id associated with this instance. | |
Static Public Member Functions | |
| static MusxInstance< FontInfo > | getFontInfo (const DocumentPtr &document, FontType type) |
get the FontInfo for a particular type from the document pool | |
| static const xml::XmlElementArray< FontOptions > & | xmlMappingArray () |
| Required for musx::factory::FieldPopulator. | |
Public Attributes | |
| std::unordered_map< FontType, MusxInstance< FontInfo > > | fontOptions |
| Stores the default fonts for different elements. | |
Static Public Attributes | |
| static constexpr std::string_view | XmlNodeName = "fontOptions" |
| The XML node name for this type. | |
Additional Inherited Members | |
Protected Member Functions inherited from musx::dom::OptionsBase | |
| OptionsBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the OptionsBase and validates XmlNodeName in the derived class. | |
Protected Member Functions inherited from musx::dom::EnigmaBase | |
| EnigmaBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the base class. | |
| EnigmaBase (const EnigmaBase &)=default | |
| explicit default copy constructor | |
| EnigmaBase (EnigmaBase &&) noexcept=default | |
| explicit default move constructor | |
| EnigmaBase & | operator= (const EnigmaBase &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| EnigmaBase & | operator= (EnigmaBase &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Protected Member Functions inherited from musx::dom::DocumentElement | |
| DocumentElement (const DocumentWeakPtr &document, Cmper partId) | |
| Constructs the document element. | |
| DocumentElement (const DocumentElement &)=default | |
| explicit default copy constructor | |
| DocumentElement (DocumentElement &&) noexcept=default | |
| explicit default move constructor | |
| DocumentElement & | operator= (const DocumentElement &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| DocumentElement & | operator= (DocumentElement &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
An unordered map of default font settings for the document.
The FontOptions class stores default font settings used throughout the document. It provides functionality to manage various font attributes, such as size, style (bold, italic), and whether the font is hidden or fixed size.
|
strong |
Types of fonts available for the document.
The FontType enum represents different types of fonts used for musical and textual elements within the document.
|
inlineexplicit |
Constructor.
| document | A weak pointer to the document object. |
| partId | Usually 0. This parameter is needed for the generic factory routine. |
| shareMode | Usually ShareMode::All. This parameter is needed for the generic factory routine. |
Constructs a FontOptions object that is associated with the provided document.
|
static |
| MusxInstance< FontInfo > musx::dom::options::FontOptions::getFontInfo | ( | FontOptions::FontType | type | ) | const |
get the FontInfo for a particular type
| type | the FontType to retrieve |
| std::invalid_paremter | if the type is not found in the document |
| std::unordered_map<FontType, MusxInstance<FontInfo> > musx::dom::options::FontOptions::fontOptions |
Stores the default fonts for different elements.
An unordered map that associates each FontType with its corresponding FontInfo settings.