Verovio
Source code documentation
systemelement.h
1 // Name: systemelement.h
3 // Author: Laurent Pugin
4 // Created: 2016
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_SYSTEM_ELEMENT_H__
9 #define __VRV_SYSTEM_ELEMENT_H__
10 
11 #include "atts_shared.h"
12 #include "devicecontextbase.h"
13 #include "drawinginterface.h"
14 #include "floatingobject.h"
15 
16 namespace vrv {
17 
18 //----------------------------------------------------------------------------
19 // SystemElement
20 //----------------------------------------------------------------------------
21 
26 class SystemElement : public FloatingObject, public VisibilityDrawingInterface, public AttTyped {
27 public:
33  SystemElement();
34  SystemElement(ClassId classId);
35  virtual ~SystemElement();
36  void Reset() override;
38 
43  VisibilityDrawingInterface *GetVisibilityDrawingInterface() override
44  {
45  return vrv_cast<VisibilityDrawingInterface *>(this);
46  }
47  const VisibilityDrawingInterface *GetVisibilityDrawingInterface() const override
48  {
49  return vrv_cast<const VisibilityDrawingInterface *>(this);
50  }
52 
53  //----------//
54  // Functors //
55  //----------//
56 
61  FunctorCode Accept(Functor &functor) override;
62  FunctorCode Accept(ConstFunctor &functor) const override;
63  FunctorCode AcceptEnd(Functor &functor) override;
64  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
66 
67 private:
68  //
69 public:
70  //
71 private:
72  //
73 };
74 
75 } // namespace vrv
76 
77 #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: floatingobject.h:28
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class represents elements appearing within a measure.
Definition: systemelement.h:26
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
This class is an interface for MEI element that can be hidden during drawing.
Definition: drawinginterface.h:422