8 #ifndef __VRV_PEDAL_H__
9 #define __VRV_PEDAL_H__
12 #include "atts_externalsymbols.h"
13 #include "atts_visual.h"
14 #include "controlelement.h"
15 #include "timeinterface.h"
30 public AttExtSymNames,
33 public AttPlacementRelStaff,
34 public AttVerticalGroup {
45 std::string GetClassName()
const override {
return "pedal"; }
52 TimePointInterface *GetTimePointInterface()
override {
return vrv_cast<TimePointInterface *>(
this); }
53 const TimePointInterface *GetTimePointInterface()
const override
55 return vrv_cast<const TimePointInterface *>(
this);
57 TimeSpanningInterface *GetTimeSpanningInterface()
override {
return vrv_cast<TimeSpanningInterface *>(
this); }
58 const TimeSpanningInterface *GetTimeSpanningInterface()
const override
60 return vrv_cast<const TimeSpanningInterface *>(
this);
68 bool EndsWithBounce()
const {
return m_endsWithBounce; }
69 void EndsWithBounce(
bool endsWithBounce) { m_endsWithBounce = endsWithBounce; }
92 FunctorCode AcceptEnd(
Functor &functor)
override;
93 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
100 bool m_endsWithBounce;
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 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 basic object.
Definition: object.h:61
This class models the MEI <pedal> element.
Definition: pedal.h:34
char32_t GetPedalGlyph() const
Get the SMuFL glyph for the pedal based on function or glyph.num.
data_PEDALSTYLE GetPedalForm(const Doc *doc, const System *system) const
Get the pedal form based on the options and corresponding attributes from <pedal> and <scoreDef>
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
void Reset() override
Virtual reset method.
Object * Clone() const override
Method call for copying child classes.
Definition: pedal.h:43
This class represents a system in a laid-out score (Doc).
Definition: system.h:36
This class is an interface for elements having a single time point, such as tempo,...
Definition: timeinterface.h:39
This class is an interface for spanning elements, such as slur, hairpin, etc.
Definition: timeinterface.h:145