8 #ifndef __VRV_ALIGNFUNCTOR_H__
9 #define __VRV_ALIGNFUNCTOR_H__
23 const Mensur *mensur = NULL;
26 data_DURATION equivalence = DURATION_brevis;
59 FunctorCode VisitLayer(
Layer *layer)
override;
60 FunctorCode VisitLayerEnd(
Layer *layer)
override;
61 FunctorCode VisitLayerElement(
LayerElement *layerElement)
override;
62 FunctorCode VisitMeasure(
Measure *measure)
override;
63 FunctorCode VisitMeasureEnd(
Measure *measure)
override;
64 FunctorCode VisitMeterSigGrp(
MeterSigGrp *meterSigGrp)
override;
65 FunctorCode VisitOssia(
Ossia *ossia)
override;
66 FunctorCode VisitSection(
Section *section)
override;
67 FunctorCode VisitStaff(
Staff *staff)
override;
68 FunctorCode VisitSystem(
System *system)
override;
85 data_NOTATIONTYPE m_notationType;
87 ElementScoreDefRole m_scoreDefRole;
89 bool m_isFirstMeasure;
91 bool m_hasMultipleLayer;
93 bool m_sectionRestart;
122 void StoreCastOffSystemWidths(
bool storeWidths) { m_storeCastOffSystemWidths = storeWidths; }
128 FunctorCode VisitDiv(Div *div)
override;
129 FunctorCode VisitMeasure(Measure *measure)
override;
130 FunctorCode VisitScoreDef(ScoreDef *scoreDef)
override;
131 FunctorCode VisitSection(Section *section)
override;
132 FunctorCode VisitSystem(System *system)
override;
133 FunctorCode VisitSystemEnd(System *system)
override;
146 int m_justifiableWidth;
148 bool m_applySectionRestartShift;
150 bool m_storeCastOffSystemWidths;
180 FunctorCode VisitDiv(
Div *div)
override;
181 FunctorCode VisitFig(
Fig *fig)
override;
182 FunctorCode VisitMeasure(
Measure *measure)
override;
183 FunctorCode VisitPageEnd(
Page *page)
override;
184 FunctorCode VisitRend(
Rend *rend)
override;
185 FunctorCode VisitRunningElement(
RunningElement *runningElement)
override;
186 FunctorCode VisitStaff(
Staff *staff)
override;
187 FunctorCode VisitStaffAlignmentEnd(
StaffAlignment *staffAlignment)
override;
188 FunctorCode VisitSyllable(
Syllable *syllable)
override;
189 FunctorCode VisitSystem(
System *system)
override;
190 FunctorCode VisitSystemEnd(
System *system)
override;
191 FunctorCode VisitVerse(
Verse *verse)
override;
208 int m_cumulatedShift;
210 int m_justificationSum;
241 void SetShift(
int shift) { m_shift = shift; }
242 void SetSystemSpacing(
int spacing) { m_systemSpacing = spacing; }
249 FunctorCode VisitPage(Page *page)
override;
250 FunctorCode VisitPageEnd(Page *page)
override;
251 FunctorCode VisitSystem(System *system)
override;
266 int m_prevBottomOverflow;
267 int m_prevBottomClefOverflow;
269 double m_justificationSum;
This class aligns horizontally the content of a page.
Definition: alignfunctor.h:40
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: alignfunctor.h:53
This class aligns the measures by adjusting the m_drawingXRel position looking at the MeasureAligner.
Definition: alignfunctor.h:104
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: alignfunctor.h:117
This class aligns the system by adjusting the m_drawingYRel position looking at the SystemAligner.
Definition: alignfunctor.h:222
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: alignfunctor.h:235
This class vertically aligns the content of a page.
Definition: alignfunctor.h:161
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: alignfunctor.h:174
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:39
This class aligns the content of a measure It contains a vector of Alignment.
Definition: horizontalaligner.h:427
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
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:172
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:31
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