8 #ifndef __VRV_ADJUSTXPOSFUNCTOR_H__
9 #define __VRV_ADJUSTXPOSFUNCTOR_H__
30 m_overlappingBB = NULL;
67 void SetIncluded(
const std::vector<ClassId> &classIDs) { m_includes = classIDs; }
68 void ClearIncluded() { m_includes.clear(); }
69 void SetExcluded(
const std::vector<ClassId> &classIDs) { m_excludes = classIDs; }
70 void ClearExcluded() { m_excludes.clear(); }
76 void SetRightBarLinesOnly(
bool rightBarLinesOnly) { m_rightBarLinesOnly = rightBarLinesOnly; }
82 FunctorCode VisitAlignment(Alignment *alignment)
override;
83 FunctorCode VisitAlignmentEnd(Alignment *alignment)
override;
84 FunctorCode VisitLayerElement(LayerElement *layerElement)
override;
85 FunctorCode VisitMeasure(Measure *measure)
override;
86 FunctorCode VisitScore(Score *score)
override;
95 std::pair<int, int> CalculateXPosOffset(LayerElement *layerElement);
103 int m_upcomingMinPos;
105 int m_cumulatedXShift;
113 std::vector<int> m_staffNs;
115 std::vector<BoundingBox *> m_boundingBoxes;
117 std::vector<BoundingBox *> m_upcomingBoundingBoxes;
119 std::vector<ClassId> m_includes;
121 std::vector<ClassId> m_excludes;
123 bool m_rightBarLinesOnly;
125 MeasureTieEndpoints m_measureTieEndpoints;
127 AdjustXPosAlignmentOffset m_currentAlignment;
129 AdjustXPosAlignmentOffset m_previousAlignment;
136 #endif // __VRV_ADJUSTXPOSFUNCTOR_H__