8 #ifndef __VRV_CUSTOS_H__
9 #define __VRV_CUSTOS_H__
12 #include "atts_analytical.h"
13 #include "atts_shared.h"
14 #include "layerelement.h"
15 #include "pitchinterface.h"
16 #include "positioninterface.h"
29 public AttExtSymNames {
40 std::string GetClassName()
const override {
return "custos"; }
47 PitchInterface *GetPitchInterface()
override {
return vrv_cast<PitchInterface *>(
this); }
48 const PitchInterface *GetPitchInterface()
const override {
return vrv_cast<const PitchInterface *>(
this); }
74 FunctorCode AcceptEnd(
Functor &functor)
override;
75 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
This abstract class is the base class for all const functors.
Definition: functor.h:126
char32_t GetCustosGlyph(const data_NOTATIONTYPE notationType) const
Return a SMuFL code for the custos.
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: custos.h:52
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
bool IsSupportedChild(ClassId classId) override
Add an accid to a custos.
void Reset() override
Virtual reset method.
Object * Clone() const override
Method call for copying child classes.
Definition: custos.h:38
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
This class is an interface for elements with pitch, such as notes and neumes.
Definition: pitchinterface.h:28
This class is an interface for elements with a position on the staff, such as rests.
Definition: positioninterface.h:30