11 #include "controlelement.h"
12 #include "offsetinterface.h"
13 #include "timeinterface.h"
32 public AttLineRendBase {
44 std::string GetClassName()
const override {
return "tie"; }
51 OffsetSpanningInterface *GetOffsetSpanningInterface()
override {
return vrv_cast<OffsetSpanningInterface *>(
this); }
52 const OffsetSpanningInterface *GetOffsetSpanningInterface()
const override
54 return vrv_cast<const OffsetSpanningInterface *>(
this);
56 TimePointInterface *GetTimePointInterface()
override {
return vrv_cast<TimePointInterface *>(
this); }
57 const TimePointInterface *GetTimePointInterface()
const override
59 return vrv_cast<const TimePointInterface *>(
this);
61 TimeSpanningInterface *GetTimeSpanningInterface()
override {
return vrv_cast<TimeSpanningInterface *>(
this); }
62 const TimeSpanningInterface *GetTimeSpanningInterface()
const override
64 return vrv_cast<const TimeSpanningInterface *>(
this);
68 virtual bool CalculatePosition(
69 const Doc *doc,
const Staff *staff,
int x1,
int x2,
int spanningType, Point bezier[4]);
75 curvature_CURVEDIR drawingCurveDir,
int initialX,
bool isStartPoint)
const;
87 FunctorCode AcceptEnd(
Functor &functor)
override;
88 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
94 const Note *startNote,
const Note *endNote, curvature_CURVEDIR drawingCurveDir)
const;
97 bool CalculateXPosition(
const Doc *doc,
const Staff *staff,
const Chord *startParentChord,
98 const Chord *endParentChord,
int spanningType,
bool isOuterChordNote,
Point &startPoint,
Point &endPoint,
99 curvature_CURVEDIR drawingCurveDir)
const;
103 curvature_CURVEDIR GetPreferredCurveDirection(
const Layer *layer,
const Note *note,
const Chord *startParentChord,
104 data_STEMDIRECTION noteStemDir,
bool isAboveStaffCenter)
const;
108 const Note *startNote,
int height, curvature_CURVEDIR drawingCurveDir)
const;
This class represents a collection of notes in the same layer with the same onset time.
Definition: chord.h:44
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:35
This class is a hold the data and corresponds to the model of a MVC design pattern.
Definition: doc.h:41
This class represents a basic object for a curve (slur, tie) in the layout domain.
Definition: floatingobject.h:329
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 layer in a laid-out score (Doc).
Definition: layer.h:39
This class models the MEI <note> element.
Definition: note.h:69
This class represents a basic object.
Definition: object.h:64
This class is an interface for elements having spanning visual offsets, such as slur,...
Definition: offsetinterface.h:72
Simple class for representing points.
Definition: devicecontextbase.h:203
This class represents a staff in a laid-out score (Doc).
Definition: staff.h:107
This class models the MEI <tie> element.
Definition: tie.h:32
Object * Clone() const override
Method call for copying child classes.
Definition: tie.h:42
int CalculateAdjacentChordXOffset(const Doc *doc, const Staff *staff, const Chord *parentChord, const Note *note, curvature_CURVEDIR drawingCurveDir, int initialX, bool isStartPoint) const
Calculate starting/ending point for the ties in the chords with adjacent notes.
void Reset() override
Virtual reset method.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
This class is an interface for spanning elements, such as slur, hairpin, etc.
Definition: timeinterface.h:145