Verovio
Source code documentation
All Classes Namespaces Functions Variables Typedefs Enumerations Modules
calcledgerlinesfunctor.h
1 // Name: calcledgerlinesfunctor.h
3 // Author: David Bauer
4 // Created: 2022
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_CALCLEDGERLINESFUNCTOR_H__
9 #define __VRV_CALCLEDGERLINESFUNCTOR_H__
10 
11 #include "functor.h"
12 
13 namespace vrv {
14 
15 //----------------------------------------------------------------------------
16 // CalcLedgerLinesFunctor
17 //----------------------------------------------------------------------------
18 
23 public:
29  virtual ~CalcLedgerLinesFunctor() = default;
31 
32  /*
33  * Abstract base implementation
34  */
35  bool ImplementsEndInterface() const override { return true; }
36 
37  /*
38  * Functor interface
39  */
41  FunctorCode VisitAccid(Accid *accid) override;
42  FunctorCode VisitNote(Note *note) override;
43  FunctorCode VisitStaffEnd(Staff *staff) override;
45 
46 protected:
47  //
48 private:
52  void CalcForLayerElement(LayerElement *layerElement, int width, data_HORIZONTALALIGNMENT alignment);
56  void AdjustLedgerLines(
57  ArrayOfLedgerLines &lines, ArrayOfLedgerLines &cueLines, double cueScaling, int extension, int minExtension);
58 
59 public:
60  //
61 private:
62  //
63 };
64 
65 } // namespace vrv
66 
67 #endif // __VRV_CALCLEDGERLINESFUNCTOR_H__
vrv::Staff
This class represents a staff in a laid-out score (Doc).
Definition: staff.h:102
vrv::Doc
This class is a hold the data and corresponds to the model of a MVC design pattern.
Definition: doc.h:41
vrv::Accid
This class models the MEI <accid> element.
Definition: accid.h:27
vrv::CalcLedgerLinesFunctor::ImplementsEndInterface
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: calcledgerlinesfunctor.h:35
vrv::Note
This class models the MEI <note> element.
Definition: note.h:47
vrv::LayerElement
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:46
vrv::DocFunctor
This abstract class is the base class for all mutable functors that need access to the document.
Definition: functor.h:151
vrv::CalcLedgerLinesFunctor
This class calculates the ledger lines.
Definition: calcledgerlinesfunctor.h:22