Verovio
Source code documentation
mdiv.h
1 // Name: mdiv.h
3 // Author: Laurent Pugin
4 // Created: 2018/02/15
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_MDIV_H__
9 #define __VRV_MDIV_H__
10 
11 #include "atts_shared.h"
12 #include "drawinginterface.h"
13 #include "pageelement.h"
14 #include "pagemilestone.h"
15 
16 namespace vrv {
17 
18 //----------------------------------------------------------------------------
19 // Mdiv
20 //----------------------------------------------------------------------------
21 
25 class Mdiv : public PageElement,
28  public AttLabelled,
29  public AttNNumberLike {
30 
31 public:
37  Mdiv();
38  virtual ~Mdiv();
39  Object *Clone() const override { return new Mdiv(*this); }
40  void Reset() override;
41  std::string GetClassName() const override { return "mdiv"; }
43 
48  bool IsSupportedChild(ClassId classId) override;
50 
55  VisibilityDrawingInterface *GetVisibilityDrawingInterface() override
56  {
57  return vrv_cast<VisibilityDrawingInterface *>(this);
58  }
59  const VisibilityDrawingInterface *GetVisibilityDrawingInterface() const override
60  {
61  return vrv_cast<const VisibilityDrawingInterface *>(this);
62  }
64 
68  void MakeVisible();
69 
70  //----------//
71  // Functors //
72  //----------//
73 
78  FunctorCode Accept(Functor &functor) override;
79  FunctorCode Accept(ConstFunctor &functor) const override;
80  FunctorCode AcceptEnd(Functor &functor) override;
81  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
83 
84 private:
85  //
86 public:
87  //
88 private:
89  //
90 };
91 
92 } // namespace vrv
93 
94 #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 represent a <mdiv> in page-based MEI.
Definition: mdiv.h:29
bool IsSupportedChild(ClassId classId) override
Base method for checking if a child can be added.
void MakeVisible()
Make the mdiv and its parent (recursively) visible.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
Object * Clone() const override
Method call for copying child classes.
Definition: mdiv.h:39
This class represents a basic object.
Definition: object.h:61
This class represents elements appearing within a page.
Definition: pageelement.h:25
This class is an interface for container elements that have to be turned to milestones in a page-base...
Definition: pagemilestone.h:83
This class is an interface for MEI element that can be hidden during drawing.
Definition: drawinginterface.h:422