8 #ifndef __VRV_HAIRPIN_H__
9 #define __VRV_HAIRPIN_H__
12 #include "atts_visual.h"
13 #include "controlelement.h"
14 #include "timeinterface.h"
29 public AttLineRendBase,
30 public AttPlacementRelStaff,
31 public AttVerticalGroup {
42 std::string GetClassName()
const override {
return "hairpin"; }
49 TimePointInterface *GetTimePointInterface()
override {
return vrv_cast<TimePointInterface *>(
this); }
50 const TimePointInterface *GetTimePointInterface()
const override
52 return vrv_cast<const TimePointInterface *>(
this);
54 TimeSpanningInterface *GetTimeSpanningInterface()
override {
return vrv_cast<TimeSpanningInterface *>(
this); }
55 const TimeSpanningInterface *GetTimeSpanningInterface()
const override
57 return vrv_cast<const TimeSpanningInterface *>(
this);
65 int GetDrawingLength()
const {
return m_drawingLength; }
66 void SetDrawingLength(
int length) { m_drawingLength = length; }
67 bool HasDrawingLength()
const {
return (m_drawingLength > 0); }
70 int CalcHeight(
const Doc *doc,
int staffSize,
char spanningType,
const FloatingPositioner *leftHairpin,
71 const FloatingPositioner *rightHaipin)
const;
77 void SetLeftLink(ControlElement *leftLink);
78 ControlElement *GetLeftLink() {
return m_leftLink; }
79 const ControlElement *GetLeftLink()
const {
return m_leftLink; }
80 void SetRightLink(ControlElement *rightLink);
81 ControlElement *GetRightLink() {
return m_rightLink; }
82 const ControlElement *GetRightLink()
const {
return m_rightLink; }
101 FunctorCode AcceptEnd(
Functor &functor)
override;
102 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
This abstract class is the base class for all const functors.
Definition: functor.h:126
This class represents elements appearing within a measure.
Definition: controlelement.h:33
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class models the MEI <hairpin> element.
Definition: hairpin.h:31
void Reset() override
Virtual reset method.
Object * Clone() const override
Method call for copying child classes.
Definition: hairpin.h:40
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
std::pair< int, int > GetBarlineOverlapAdjustment(int doubleUnit, int leftX, int rightX, int spanningType) const
Get left/right adjustments that needs to be done to the hairpin with set coordinates (leftX,...
This class represents a basic object.
Definition: object.h:61
This class is an interface for elements having a single time point, such as tempo,...
Definition: timeinterface.h:39
This class is an interface for spanning elements, such as slur, hairpin, etc.
Definition: timeinterface.h:145