11 #include "atts_shared.h"
12 #include "facsimileinterface.h"
13 #include "layerelement.h"
14 #include "offsetinterface.h"
15 #include "timeinterface.h"
49 std::string GetClassName()
const override {
return "syl"; }
59 OffsetInterface *GetOffsetInterface()
override {
return vrv_cast<OffsetInterface *>(
this); }
60 const OffsetInterface *GetOffsetInterface()
const override {
return vrv_cast<const OffsetInterface *>(
this); }
61 TimePointInterface *GetTimePointInterface()
override {
return vrv_cast<TimePointInterface *>(
this); }
62 const TimePointInterface *GetTimePointInterface()
const override
64 return vrv_cast<const TimePointInterface *>(
this);
66 TimeSpanningInterface *GetTimeSpanningInterface()
override {
return vrv_cast<TimeSpanningInterface *>(
this); }
67 const TimeSpanningInterface *GetTimeSpanningInterface()
const override
69 return vrv_cast<const TimeSpanningInterface *>(
this);
89 int GetDrawingWidth()
const;
90 int GetDrawingHeight()
const;
95 m_drawingTextInkTop = top;
96 m_drawingTextInkBottom = bottom;
97 m_hasDrawingTextInkBounds =
true;
99 void ResetDrawingTextInkBounds() { m_hasDrawingTextInkBounds =
false; }
100 bool HasDrawingTextInkBounds()
const {
return m_hasDrawingTextInkBounds; }
101 int GetDrawingTextInkTop()
const {
return m_drawingTextInkTop; }
102 int GetDrawingTextInkBottom()
const {
return m_drawingTextInkBottom; }
128 FunctorCode AcceptEnd(
Functor &functor)
override;
129 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
152 int m_drawingTextInkTop;
153 int m_drawingTextInkBottom;
154 bool m_hasDrawingTextInkBounds;
This abstract class is the base class for all const functors.
Definition: functor.h:126
This class is a hold the data and corresponds to the model of a MVC design pattern.
Definition: doc.h:41
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 basic object.
Definition: object.h:66
This class is an interface for elements having a single visual offset, such as arpeg,...
Definition: offsetinterface.h:28
Syl is a TimeSpanningInterface for managing syllable connectors.
Definition: syl.h:38
static void AdjustToLyricSize(const Doc *doc, int &value)
Adjust proportionally to the lyric size.
void Reset() override
Virtual reset method.
bool IsSupportedChild(ClassId classId) override
Add an element (text, rend.
Syl * m_nextWordSyl
A pointer to the next syllable of the word.
Definition: syl.h:149
Object * Clone() const override
Method call for copying child classes.
Definition: syl.h:47
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
bool IsEmpty() const
Return true when the syl has no textual content.
bool IsRelativeToStaff() const override
Override the method since it is align to the staff.
Definition: syl.h:53
int CalcConnectorSpacing(Doc *doc, int staffSize)
Calculate the spacing needed depending on the @worpos and @con.
data_STAFFREL m_drawingVersePlace
The verse place (below by default)
Definition: syl.h:143
int m_drawingVoltaN
The normalized volta row within the verse (one by default).
Definition: syl.h:141
int CalcHyphenLength(Doc *doc, int staffSize)
Calculate the hyphen length using the text font.
void SetDrawingTextInkBounds(int top, int bottom)
Store and retrieve the actual glyph-ink bounds calculated while drawing the syllable text.
Definition: syl.h:93
int m_drawingVerseN
The verse number with multiple verses Value is 1 by default, set in PrepareLyrics.
Definition: syl.h:139
This class is an pseudo interface for elements maintaining a flat list of children LayerElement for p...
Definition: object.h:1031
This class is an interface for spanning elements, such as slur, hairpin, etc.
Definition: timeinterface.h:145