8 #ifndef __VRV_ELEMENT_PART_H__
9 #define __VRV_ELEMENT_PART_H__
12 #include "atts_shared.h"
13 #include "atts_visual.h"
14 #include "layerelement.h"
37 std::string GetClassName()
const override {
return "dots"; }
44 std::set<int> GetDotLocsForStaff(
const Staff *staff)
const;
45 std::set<int> &ModifyDotLocsForStaff(
const Staff *staff);
47 const MapOfDotLocs &GetMapOfDotLocs()
const {
return m_dotLocsByStaff; }
48 void SetMapOfDotLocs(
const MapOfDotLocs &dotLocs) { m_dotLocsByStaff = dotLocs; };
49 void ResetMapOfDotLocs() { m_dotLocsByStaff.clear(); }
51 void IsAdjusted(
bool isAdjusted) { m_isAdjusted = isAdjusted; }
52 bool IsAdjusted()
const {
return m_isAdjusted; }
64 FunctorCode AcceptEnd(
Functor &functor)
override;
65 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
73 void SetFlagShift(
int shiftVal) { m_flagShift = shiftVal; }
84 MapOfDotLocs m_dotLocsByStaff;
107 std::string GetClassName()
const override {
return "flag"; }
114 char32_t GetFlagGlyph(data_STEMDIRECTION stemDir)
const;
116 Point GetStemUpSE(
const Doc *doc,
int staffSize,
bool graceSize)
const;
117 Point GetStemDownNW(
const Doc *doc,
int staffSize,
bool graceSize)
const;
129 FunctorCode AcceptEnd(
Functor &functor)
override;
130 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
160 std::string GetClassName()
const override {
return "tupletBracket"; }
167 int GetDrawingXRelLeft()
const {
return m_drawingXRelLeft; }
168 void SetDrawingXRelLeft(
int drawingXRelLeft) { m_drawingXRelLeft = drawingXRelLeft; }
169 int GetDrawingXRelRight()
const {
return m_drawingXRelRight; }
170 void SetDrawingXRelRight(
int drawingXRelRight) { m_drawingXRelRight = drawingXRelRight; }
172 int GetDrawingYRelLeft()
const {
return m_drawingYRelLeft; }
173 void SetDrawingYRelLeft(
int drawingYRelLeft) { m_drawingYRelLeft = drawingYRelLeft; }
174 int GetDrawingYRelRight()
const {
return m_drawingYRelRight; }
175 void SetDrawingYRelRight(
int drawingYRelRight) { m_drawingYRelRight = drawingYRelRight; }
185 int GetDrawingXLeft()
const;
186 int GetDrawingXRight()
const;
187 int GetDrawingYLeft()
const;
188 int GetDrawingYRight()
const;
195 TupletNum *GetAlignedNum() {
return m_alignedNum; }
196 const TupletNum *GetAlignedNum()
const {
return m_alignedNum; }
197 void SetAlignedNum(TupletNum *alignedNum) { m_alignedNum = alignedNum; }
210 FunctorCode AcceptEnd(
Functor &functor)
override;
211 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
223 int m_drawingXRelLeft;
228 int m_drawingXRelRight;
232 int m_drawingYRelLeft = 0;
236 int m_drawingYRelRight = 0;
259 std::string GetClassName()
const override {
return "tupletNum"; }
270 int GetDrawingYMid()
const;
271 int GetDrawingXMid(
const Doc *doc = NULL)
const;
278 TupletBracket *GetAlignedBracket() {
return m_alignedBracket; }
279 const TupletBracket *GetAlignedBracket()
const {
return m_alignedBracket; }
280 void SetAlignedBracket(TupletBracket *alignedBracket);
293 FunctorCode AcceptEnd(
Functor &functor)
override;
294 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
This abstract class is the base class for all const functors.
Definition: functor.h:126
This class is a hold the data and corresponds to the model of a MVC design pattern.
Definition: doc.h:41
This class models a group of dots as a layer element part and has no direct MEI equivalent.
Definition: elementpart.h:27
Object * Clone() const override
Method call for copying child classes.
Definition: elementpart.h:38
int GetFlagShift() const
Set/get methods for the flagShift.
Definition: elementpart.h:72
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: elementpart.h:42
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
This class models a stem as a layer element part and has no direct MEI equivalent.
Definition: elementpart.h:97
Object * Clone() const override
Method call for copying child classes.
Definition: elementpart.h:108
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
int m_drawingNbFlags
The number of flags to be drawn.
Definition: elementpart.h:137
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: elementpart.h:112
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:51
This class represents a basic object.
Definition: object.h:61
Simple class for representing points.
Definition: devicecontextbase.h:203
This class represents a staff in a laid-out score (Doc).
Definition: staff.h:107
This class models a bracket as a layer element part and has no direct MEI equivalent.
Definition: elementpart.h:150
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
This class models a tuplet num as a layer element part and has no direct MEI equivalent.
Definition: elementpart.h:249
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.