8 #ifndef __VRV_FERMATA_H__
9 #define __VRV_FERMATA_H__
12 #include "atts_externalsymbols.h"
13 #include "atts_visual.h"
14 #include "controlelement.h"
15 #include "timeinterface.h"
28 public AttEnclosingChars,
30 public AttExtSymNames,
32 public AttPlacementRelStaff {
43 std::string GetClassName()
const override {
return "fermata"; }
50 TimePointInterface *GetTimePointInterface()
override {
return vrv_cast<TimePointInterface *>(
this); }
51 const TimePointInterface *GetTimePointInterface()
const override
53 return vrv_cast<const TimePointInterface *>(
this);
86 FunctorCode AcceptEnd(
Functor &functor)
override;
87 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
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 models the MEI <fermata> element.
Definition: fermata.h:32
std::pair< char32_t, char32_t > GetEnclosingGlyphs() const
Retrieve parentheses / brackets from the enclose attribute.
char32_t GetFermataGlyph() const
Get the SMuFL glyph for the fermata based on type, shape or glyph.num.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
static data_VERTICALALIGNMENT GetVerticalAlignment(char32_t code)
Retrieves the vertical alignment for the fermata SMuFL code.
Object * Clone() const override
Method call for copying child classes.
Definition: fermata.h:41
void Reset() override
Virtual reset method.
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 is an interface for elements having a single time point, such as tempo,...
Definition: timeinterface.h:39