8 #ifndef __VRV_ARPEG_H__
9 #define __VRV_ARPEG_H__
12 #include "atts_visual.h"
13 #include "controlelement.h"
14 #include "plistinterface.h"
15 #include "timeinterface.h"
31 public AttEnclosingChars {
42 std::string GetClassName()
const override {
return "arpeg"; }
49 int GetDrawingX()
const override;
57 std::set<const Note *>
GetNotes()
const;
78 PlistInterface *GetPlistInterface()
override {
return vrv_cast<PlistInterface *>(
this); }
79 const PlistInterface *GetPlistInterface()
const override {
return vrv_cast<const PlistInterface *>(
this); }
80 TimePointInterface *GetTimePointInterface()
override {
return vrv_cast<TimePointInterface *>(
this); }
81 const TimePointInterface *GetTimePointInterface()
const override
83 return vrv_cast<const TimePointInterface *>(
this);
91 int GetDrawingXRel()
const {
return m_drawingXRel; }
92 virtual void SetDrawingXRel(
int drawingXRel);
93 void CacheXRel(
bool restore =
false);
111 FunctorCode AcceptEnd(
Functor &functor)
override;
112 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
This class models the MEI <arpeg> element.
Definition: arpeg.h:31
std::set< Note * > GetNotes()
Get all notes of the arpeggio.
void GetDrawingTopBottomNotes(Note *&top, Note *&bottom)
Set the top and bottom note of the arpeg.
void Reset() override
Virtual reset method.
Staff * GetCrossStaff()
Get cross staff of the front element if all elements of arpeggio are cross-staff.
bool IsValidRef(const Object *ref) const override
Custom method for @plist validation.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
Object * Clone() const override
Method call for copying child classes.
Definition: arpeg.h:40
This abstract class is the base class for all const functors.
Definition: functor.h:126
This class represents elements appearing within a measure.
Definition: controlelement.h:33
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class models the MEI <note> element.
Definition: note.h:67
This class represents a basic object.
Definition: object.h:61
This class is an interface for elements having a single time point, such as tempo,...
Definition: plistinterface.h:29
This class represents a staff in a laid-out score (Doc).
Definition: staff.h:107
This class is an interface for elements having a single time point, such as tempo,...
Definition: timeinterface.h:39