Verovio
Source code documentation
halfmrpt.h
1 // Name: halfmrpt.h
3 // Author: Laurent Pugin
4 // Created: 2018
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_HALFMRPT_H__
9 #define __VRV_HALFMRPT_H__
10 
11 #include "atts_cmn.h"
12 #include "atts_shared.h"
13 #include "atts_visual.h"
14 #include "beam.h"
15 #include "layerelement.h"
16 #include "offsetinterface.h"
17 
18 namespace vrv {
19 
20 //----------------------------------------------------------------------------
21 // HalfmRpt (half-measure repeat)
22 //----------------------------------------------------------------------------
23 
27 class HalfmRpt : public LayerElement, public OffsetInterface, public AttColor {
28 public:
34  HalfmRpt();
35  virtual ~HalfmRpt();
36  Object *Clone() const override { return new HalfmRpt(*this); }
37  void Reset() override;
38  std::string GetClassName() const override { return "halfmRpt"; }
40 
45  OffsetInterface *GetOffsetInterface() override { return vrv_cast<OffsetInterface *>(this); }
46  const OffsetInterface *GetOffsetInterface() const override { return vrv_cast<const OffsetInterface *>(this); }
48 
50  bool HasToBeAligned() const override { return true; }
51 
52  //----------//
53  // Functors //
54  //----------//
55 
60  FunctorCode Accept(Functor &functor) override;
61  FunctorCode Accept(ConstFunctor &functor) const override;
62  FunctorCode AcceptEnd(Functor &functor) override;
63  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
65 
66 private:
67  //
68 public:
69  //
70 private:
71 };
72 
73 } // namespace vrv
74 
75 #endif
This abstract class is the base class for all const functors.
Definition: functor.h:126
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class models the MEI <halfmRpt> element.
Definition: halfmrpt.h:27
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: halfmrpt.h:50
Object * Clone() const override
Method call for copying child classes.
Definition: halfmrpt.h:36
void Reset() override
Virtual reset method.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
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