Verovio
Source code documentation
dot.h
1 // Name: dot.h
3 // Author: Laurent Pugin
4 // Created: 2014
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_DOT_H__
9 #define __VRV_DOT_H__
10 
11 #include "layerelement.h"
12 #include "offsetinterface.h"
13 #include "positioninterface.h"
14 
15 namespace vrv {
16 
17 class Note;
18 
19 //----------------------------------------------------------------------------
20 // Dot
21 //----------------------------------------------------------------------------
22 
23 class Dot : public LayerElement, public OffsetInterface, public PositionInterface, public AttColor, public AttDotLog {
24 public:
30  Dot();
31  virtual ~Dot();
32  Object *Clone() const override { return new Dot(*this); }
33  void Reset() override;
34  std::string GetClassName() const override { return "dot"; }
36 
41  OffsetInterface *GetOffsetInterface() override { return vrv_cast<OffsetInterface *>(this); }
42  const OffsetInterface *GetOffsetInterface() const override { return vrv_cast<const OffsetInterface *>(this); }
43  PositionInterface *GetPositionInterface() override { return vrv_cast<PositionInterface *>(this); }
44  const PositionInterface *GetPositionInterface() const override { return vrv_cast<const PositionInterface *>(this); }
46 
48  bool HasToBeAligned() const override { return true; }
49 
50  //----------//
51  // Functors //
52  //----------//
53 
58  FunctorCode Accept(Functor &functor) override;
59  FunctorCode Accept(ConstFunctor &functor) const override;
60  FunctorCode AcceptEnd(Functor &functor) override;
61  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
63 
64 private:
65  //
66 public:
71 
76 
77 private:
78 };
79 
80 } // namespace vrv
81 
82 #endif
This abstract class is the base class for all const functors.
Definition: functor.h:126
Definition: dot.h:23
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
LayerElement * m_drawingPreviousElement
A pointer to the previous LayerElement it relates to.
Definition: dot.h:70
LayerElement * m_drawingNextElement
A pointer to the next LayerElement (note, barLine, etc.)
Definition: dot.h:75
void Reset() override
Virtual reset method.
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: dot.h:48
Object * Clone() const override
Method call for copying child classes.
Definition: dot.h:32
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
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 a position on the staff, such as rests.
Definition: positioninterface.h:30