Verovio
Source code documentation
strophicus.h
1 // Name: strophicus.h
3 // Author: David Rizo
4 // Created: 2025
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_STROPHICUS_H__
9 #define __VRV_STROPHICUS_H__
10 
11 #include "atts_shared.h"
12 #include "layerelement.h"
13 #include "offsetinterface.h"
14 #include "pitchinterface.h"
15 #include "positioninterface.h"
16 
17 namespace vrv {
18 
19 //----------------------------------------------------------------------------
20 // Strophicus
21 //----------------------------------------------------------------------------
22 
23 class Strophicus : public LayerElement,
24  public OffsetInterface,
25  public PitchInterface,
26  public PositionInterface,
27  public AttColor {
28 public:
34  Strophicus();
35  virtual ~Strophicus();
36  Object *Clone() const override { return new Strophicus(*this); }
37  void Reset() override;
38  std::string GetClassName() const override { return "strophicus"; }
40 
45  OffsetInterface *GetOffsetInterface() override { return vrv_cast<OffsetInterface *>(this); }
46  const OffsetInterface *GetOffsetInterface() const override { return vrv_cast<const OffsetInterface *>(this); }
47  PitchInterface *GetPitchInterface() override { return vrv_cast<PitchInterface *>(this); }
48  const PitchInterface *GetPitchInterface() const override { return vrv_cast<const PitchInterface *>(this); }
49  PositionInterface *GetPositionInterface() override { return vrv_cast<PositionInterface *>(this); }
50  const PositionInterface *GetPositionInterface() const override { return vrv_cast<const PositionInterface *>(this); }
52 
54  bool HasToBeAligned() const override { return true; }
55 
56 private:
57  //
58 public:
59  //
60 private:
61 };
62 
63 } // namespace vrv
64 
65 #endif
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:51
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
Definition: strophicus.h:27
void Reset() override
Virtual reset method.
Object * Clone() const override
Method call for copying child classes.
Definition: strophicus.h:36
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: strophicus.h:54