Verovio
Source code documentation
mordent.h
1 // Name: mordent.h
3 // Author: Klaus Rettinghaus
4 // Created: 2017
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_MORDENT_H__
9 #define __VRV_MORDENT_H__
10 
11 #include "atts_cmn.h"
12 #include "atts_cmnornaments.h"
13 #include "atts_externalsymbols.h"
14 #include "controlelement.h"
15 #include "timeinterface.h"
16 
17 namespace vrv {
18 
19 //----------------------------------------------------------------------------
20 // Mordent
21 //----------------------------------------------------------------------------
22 
26 class Mordent : public ControlElement,
27  public TimePointInterface,
28  public AttEnclosingChars,
29  public AttExtSymAuth,
30  public AttExtSymNames,
31  public AttOrnamentAccid,
32  public AttPlacementRelStaff,
33  public AttMordentLog {
34 public:
40  Mordent();
41  virtual ~Mordent();
42  Object *Clone() const override { return new Mordent(*this); }
43  void Reset() override;
44  std::string GetClassName() const override { return "mordent"; }
46 
51  TimePointInterface *GetTimePointInterface() override { return vrv_cast<TimePointInterface *>(this); }
52  const TimePointInterface *GetTimePointInterface() const override
53  {
54  return vrv_cast<const TimePointInterface *>(this);
55  }
57 
61  char32_t GetMordentGlyph() const;
62  std::pair<char32_t, char32_t> GetEnclosingGlyphs() const;
63 
64  //----------//
65  // Functors //
66  //----------//
67 
72  FunctorCode Accept(Functor &functor) override;
73  FunctorCode Accept(ConstFunctor &functor) const override;
74  FunctorCode AcceptEnd(Functor &functor) override;
75  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
77 
78 protected:
79  //
80 private:
81  //
82 public:
83  //
84 private:
85  //
86 };
87 
88 } // namespace vrv
89 
90 #endif
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:35
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class models the MEI <mordent> element.
Definition: mordent.h:33
void Reset() override
Virtual reset method.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
Object * Clone() const override
Method call for copying child classes.
Definition: mordent.h:42
char32_t GetMordentGlyph() const
Get the SMuFL glyph for the mordent based on type, long attribute or glyph.num.
This class represents a basic object.
Definition: object.h:64
This class is an interface for elements having a single time point, such as tempo,...
Definition: timeinterface.h:39