8 #ifndef __VRV_SETSCOREDEFFUNCTOR_H__
9 #define __VRV_SETSCOREDEFFUNCTOR_H__
42 FunctorCode VisitStaffDef(
StaffDef *staffDef)
override;
94 FunctorCode VisitPageEnd(
Page *page)
override;
95 FunctorCode VisitScore(
Score *score)
override;
106 std::list<Score *> m_scores;
136 bool HasOssia()
const {
return m_hasOssia; }
142 FunctorCode VisitClef(Clef *clef)
override;
143 FunctorCode VisitKeySig(KeySig *keySig)
override;
144 FunctorCode VisitLayer(Layer *layer)
override;
145 FunctorCode VisitMeasure(Measure *measure)
override;
146 FunctorCode VisitMensur(Mensur *mensur)
override;
147 FunctorCode VisitOssia(Ossia *ossia)
override;
148 FunctorCode VisitPage(Page *page)
override;
149 FunctorCode VisitProport(Proport *proport)
override;
150 FunctorCode VisitScore(Score *score)
override;
151 FunctorCode VisitScoreDef(ScoreDef *scoreDef)
override;
152 FunctorCode VisitStaff(Staff *staff)
override;
153 FunctorCode VisitStaffDef(StaffDef *staffDef)
override;
154 FunctorCode VisitStaffGrp(StaffGrp *staffGrp)
override;
155 FunctorCode VisitSystem(System *system)
override;
156 FunctorCode VisitSystemEnd(System *system)
override;
167 Score *m_currentScore;
169 ScoreDef *m_currentScoreDef;
171 StaffDef *m_currentStaffDef;
173 ScoreDef m_upcomingScoreDef;
175 Measure *m_previousMeasure;
177 System *m_currentSystem;
185 MapOfOssiaStaffNs m_ossiasAbove;
187 MapOfOssiaStaffNs m_ossiasBelow;
219 FunctorCode VisitMeasure(
Measure *measure)
override;
220 FunctorCode VisitScore(
Score *score)
override;
221 FunctorCode VisitStaff(
Staff *staff)
override;
222 FunctorCode VisitStaffGrpEnd(
StaffGrp *staffGrp)
override;
223 FunctorCode VisitSystem(
System *system)
override;
224 FunctorCode VisitSystemEnd(
System *system)
override;
239 bool m_firstScoreDef;
272 FunctorCode VisitLayer(
Layer *layer)
override;
273 FunctorCode VisitStaff(
Staff *staff)
override;
315 FunctorCode VisitGrpSym(
GrpSym *grpSym)
override;
316 FunctorCode VisitSystem(
System *system)
override;
355 FunctorCode VisitClef(
Clef *clef)
override;
356 FunctorCode VisitLayer(
Layer *layer)
override;
357 FunctorCode VisitMeasure(
Measure *measure)
override;
358 FunctorCode VisitMeasureEnd(
Measure *measure)
override;
359 FunctorCode VisitOssia(
Ossia *ossia)
override;
360 FunctorCode VisitStaff(
Staff *staff)
override;
361 FunctorCode VisitStaffEnd(
Staff *staff)
override;
362 FunctorCode VisitSystem(
System *system)
override;
371 const StaffDef *GetPreviousStaffDef(
Ossia *ossia,
int staffN);
379 Ossia *m_ossia = NULL;
380 std::map<int, StaffDef> m_staffDefs;
387 std::list<CurrentOssia> m_currentOssias;
389 std::list<CurrentOssia> m_previousOssias;
391 StaffDef m_upcomingStaffDef;
393 ScoreDef *m_currentScoreDef;
395 StaffDef *m_currentStaffDef;
397 bool m_layerOssiaStaffDef;
399 bool m_isFirstMeasure;
429 FunctorCode VisitKeySig(
KeySig *keySig)
override;
430 FunctorCode VisitLayer(
Layer *layer)
override;
431 FunctorCode VisitMeasure(
Measure *measure)
override;
432 FunctorCode VisitOssia(
Ossia *ossia)
override;
433 FunctorCode VisitPage(
Page *page)
override;
434 FunctorCode VisitStaff(
Staff *staff)
override;
435 FunctorCode VisitSystem(
System *system)
override;
452 enum StaffDefRedrawFlags {
456 REDRAW_METERSIG = 0x8,
457 REDRAW_METERSIGGRP = 0x10,
459 REDRAW_ALL = REDRAW_CLEF | REDRAW_KEYSIG | REDRAW_MENSUR | REDRAW_METERSIG | REDRAW_METERSIGGRP,
487 FunctorCode VisitStaffDef(
StaffDef *staffDef)
override;
This class stores a references of LayerElements for a staff.
Definition: horizontalaligner.h:292
This class models the MEI <clef> element.
Definition: clef.h:41
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 abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class represents a MEI grpSym.
Definition: grpsym.h:30
This class models the MEI <keySig> element.
Definition: keysig.h:51
This class represents a layer in a laid-out score (Doc).
Definition: layer.h:39
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 sets the current drawing clef, key signature, etc.
Definition: setscoredeffunctor.h:22
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:36
This class represents a MEI scoreDef.
Definition: scoredef.h:136
This class optimizes the scoreDef for each system.
Definition: setscoredeffunctor.h:200
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:213
This class sets the current scoreDef wherever needed.
Definition: setscoredeffunctor.h:118
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:131
This class sets the Page::m_score and Page::m_scoreEnd pointers.
Definition: setscoredeffunctor.h:75
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:88
This class prepares the group symbol starting and ending staffDefs for drawing.
Definition: setscoredeffunctor.h:296
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:309
This class prepares the ossia staffDefs for drawing.
Definition: setscoredeffunctor.h:336
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:349
This class unsets the initial scoreDef for each system and measure.
Definition: setscoredeffunctor.h:409
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:422
This class represent a <score> in MEI.
Definition: score.h:30
This class sets the cautionary scoreDef wherever needed.
Definition: setscoredeffunctor.h:253
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:266
This class sets drawing flags for the StaffDef for indicating whether clefs, keysigs,...
Definition: setscoredeffunctor.h:468
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: setscoredeffunctor.h:481
This class represents a MEI staffDef.
Definition: staffdef.h:37
This class represents a MEI staffGrp.
Definition: staffgrp.h:39
This class represents a staff in a laid-out score (Doc).
Definition: staff.h:110
This class represents a system in a laid-out score (Doc).
Definition: system.h:36