8 #ifndef __VRV_ALIGNFUNCTOR_H__
9 #define __VRV_ALIGNFUNCTOR_H__
23 const Mensur *mensur = NULL;
28 data_DURATION equivalence = DURATION_brevis;
61 FunctorCode VisitLayer(
Layer *layer)
override;
62 FunctorCode VisitLayerEnd(
Layer *layer)
override;
63 FunctorCode VisitLayerElement(
LayerElement *layerElement)
override;
64 FunctorCode VisitMeasure(
Measure *measure)
override;
65 FunctorCode VisitMeasureEnd(
Measure *measure)
override;
66 FunctorCode VisitMeterSigGrp(
MeterSigGrp *meterSigGrp)
override;
67 FunctorCode VisitOssia(
Ossia *ossia)
override;
68 FunctorCode VisitSection(
Section *section)
override;
69 FunctorCode VisitStaff(
Staff *staff)
override;
70 FunctorCode VisitSystem(
System *system)
override;
87 data_NOTATIONTYPE m_notationType;
89 ElementScoreDefRole m_scoreDefRole;
91 bool m_isFirstMeasure;
93 bool m_hasMultipleLayer;
95 bool m_sectionRestart;
124 void StoreCastOffSystemWidths(
bool storeWidths) { m_storeCastOffSystemWidths = storeWidths; }
130 FunctorCode VisitDiv(Div *div)
override;
131 FunctorCode VisitMeasure(Measure *measure)
override;
132 FunctorCode VisitScoreDef(ScoreDef *scoreDef)
override;
133 FunctorCode VisitSection(Section *section)
override;
134 FunctorCode VisitSystem(System *system)
override;
135 FunctorCode VisitSystemEnd(System *system)
override;
148 int m_justifiableWidth;
150 bool m_applySectionRestartShift;
152 bool m_storeCastOffSystemWidths;
182 FunctorCode VisitDiv(
Div *div)
override;
183 FunctorCode VisitFig(
Fig *fig)
override;
184 FunctorCode VisitMeasure(
Measure *measure)
override;
185 FunctorCode VisitPageEnd(
Page *page)
override;
186 FunctorCode VisitRend(
Rend *rend)
override;
187 FunctorCode VisitRunningElement(
RunningElement *runningElement)
override;
188 FunctorCode VisitStaff(
Staff *staff)
override;
189 FunctorCode VisitStaffAlignmentEnd(
StaffAlignment *staffAlignment)
override;
190 FunctorCode VisitSyllable(
Syllable *syllable)
override;
191 FunctorCode VisitSystem(
System *system)
override;
192 FunctorCode VisitSystemEnd(
System *system)
override;
193 FunctorCode VisitRefrain(
Refrain *refrain)
override;
194 FunctorCode VisitVerse(
Verse *verse)
override;
211 int m_cumulatedShift;
213 int m_justificationSum;
244 void SetShift(
int shift) { m_shift = shift; }
245 void SetSystemSpacing(
int spacing) { m_systemSpacing = spacing; }
252 FunctorCode VisitPage(Page *page)
override;
253 FunctorCode VisitPageEnd(Page *page)
override;
254 FunctorCode VisitSystem(System *system)
override;
269 int m_prevBottomOverflow;
270 int m_prevBottomClefOverflow;
272 double m_justificationSum;
This class aligns horizontally the content of a page.
Definition: alignfunctor.h:42
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: alignfunctor.h:55
This class aligns the measures by adjusting the m_drawingXRel position looking at the MeasureAligner.
Definition: alignfunctor.h:106
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: alignfunctor.h:119
This class aligns the system by adjusting the m_drawingYRel position looking at the SystemAligner.
Definition: alignfunctor.h:225
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: alignfunctor.h:238
This class vertically aligns the content of a page.
Definition: alignfunctor.h:163
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: alignfunctor.h:176
This class represents an MEI Div.
Definition: div.h:24
This abstract class is the base class for all mutable functors that need access to the document.
Definition: functor.h:151
This class is a hold the data and corresponds to the model of a MVC design pattern.
Definition: doc.h:41
This class models the MEI <fig> element.
Definition: fig.h:23
Definition: fraction.h:19
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:51
This class represents a layer in a laid-out score (Doc).
Definition: layer.h:40
This class aligns the content of a measure It contains a vector of Alignment.
Definition: horizontalaligner.h:433
This class represents a measure in a page-based score (Doc).
Definition: measure.h:46
This class models the MEI <mensur> element.
Definition: mensur.h:34
This class represents a MEI meterSigGrp.
Definition: metersiggrp.h:32
This class models the MEI <meterSig> element.
Definition: metersig.h:34
This class represents an ossia.
Definition: ossia.h:28
This class represents a page in a laid-out score (Doc).
Definition: page.h:31
This class models the MEI <proport> element.
Definition: proport.h:23
Recurring note-attached lyrics, such as a chorus.
Definition: refrain.h:19
This class models the MEI <rend> element.
Definition: rend.h:33
This class represents running elements (headers and footers).
Definition: runningelement.h:28
This class represents a MEI section.
Definition: section.h:28
This class stores an alignement position staves will point to.
Definition: verticalaligner.h:180
This class represents a staff in a laid-out score (Doc).
Definition: staff.h:110
This class models the MEI <mensur> element.
Definition: syllable.h:25
This class aligns the content of a system It contains a vector of StaffAlignment.
Definition: verticalaligner.h:33
This class represents a system in a laid-out score (Doc).
Definition: system.h:36
Regroup pointers to meterSig, mensur and proport objects.
Definition: alignfunctor.h:21