Verovio
Source code documentation
liquescent.h
1 // Name: liquescent.h
3 // Author: Gabby Halpin
4 // Created: 2021
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_LIQUESCENT_H__
9 #define __VRV_LIQUESCENT_H__
10 
11 #include "atts_analytical.h"
12 #include "atts_shared.h"
13 #include "layerelement.h"
14 #include "offsetinterface.h"
15 #include "pitchinterface.h"
16 #include "positioninterface.h"
17 
18 namespace vrv {
19 
20 //----------------------------------------------------------------------------
21 // Liquescent
22 //----------------------------------------------------------------------------
23 
24 class Liquescent : public LayerElement,
25  public OffsetInterface,
26  public PitchInterface,
27  public PositionInterface,
28  public AttColor {
29 public:
35  Liquescent();
36  virtual ~Liquescent();
37  Object *Clone() const override { return new Liquescent(*this); }
38  void Reset() override;
39  std::string GetClassName() const override { return "liquescent"; }
41 
46  bool HasNoTails() const { return (m_noTails); }
47  void SetNoTails(bool noTails) { m_noTails = noTails; }
49 
54  OffsetInterface *GetOffsetInterface() override { return vrv_cast<OffsetInterface *>(this); }
55  const OffsetInterface *GetOffsetInterface() const override { return vrv_cast<const OffsetInterface *>(this); }
56  PitchInterface *GetPitchInterface() override { return vrv_cast<PitchInterface *>(this); }
57  const PitchInterface *GetPitchInterface() const override { return vrv_cast<const PitchInterface *>(this); }
58  PositionInterface *GetPositionInterface() override { return vrv_cast<PositionInterface *>(this); }
59  const PositionInterface *GetPositionInterface() const override { return vrv_cast<const PositionInterface *>(this); }
61 
63  bool HasToBeAligned() const override { return true; }
64 
65 private:
66  // Used for enabling the command-line option: --liquescent-no-tails
67  bool m_noTails = false;
68 };
69 
70 } // namespace vrv
71 
72 #endif
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:51
Definition: liquescent.h:28
Object * Clone() const override
Method call for copying child classes.
Definition: liquescent.h:37
void Reset() override
Virtual reset method.
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: liquescent.h:63
This class represents a basic object.
Definition: object.h:64
This class is an interface for elements having a single visual offset, such as arpeg,...
Definition: offsetinterface.h:28
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