Verovio
Source code documentation
trill.h
1 // Name: trill.h
3 // Author: Klaus Rettinghaus
4 // Created: 2017
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_TRILL_H__
9 #define __VRV_TRILL_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 // Trill
21 //----------------------------------------------------------------------------
22 
26 class Trill : public ControlElement,
27  public TimeSpanningInterface,
28  public AttExtender,
29  public AttExtSymAuth,
30  public AttExtSymNames,
31  public AttLineRend,
32  public AttNNumberLike,
33  public AttOrnamentAccid,
34  public AttPlacementRelStaff {
35 public:
41  Trill();
42  virtual ~Trill();
43  Object *Clone() const override { return new Trill(*this); }
44  void Reset() override;
45  std::string GetClassName() const override { return "trill"; }
47 
52  TimePointInterface *GetTimePointInterface() override { return vrv_cast<TimePointInterface *>(this); }
53  const TimePointInterface *GetTimePointInterface() const override
54  {
55  return vrv_cast<const TimePointInterface *>(this);
56  }
57  TimeSpanningInterface *GetTimeSpanningInterface() override { return vrv_cast<TimeSpanningInterface *>(this); }
58  const TimeSpanningInterface *GetTimeSpanningInterface() const override
59  {
60  return vrv_cast<const TimeSpanningInterface *>(this);
61  }
63 
67  char32_t GetTrillGlyph() const;
68 
69  //----------//
70  // Functors //
71  //----------//
72 
77  FunctorCode Accept(Functor &functor) override;
78  FunctorCode Accept(ConstFunctor &functor) const override;
79  FunctorCode AcceptEnd(Functor &functor) override;
80  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
82 
83 protected:
84  //
85 private:
86  //
87 public:
88  //
89 private:
90  //
91 };
92 
93 } // namespace vrv
94 
95 #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:33
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
This class is an interface for spanning elements, such as slur, hairpin, etc.
Definition: timeinterface.h:145
This class models the MEI <trill> element.
Definition: trill.h:34
char32_t GetTrillGlyph() const
Get the SMuFL glyph for the trill based on glyph.num.
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: trill.h:43