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;
155 int m_drawingTextInkTop;
156 int m_drawingTextInkBottom;
157 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:152
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 CreateDefaultZone(Doc *doc)
Create a default zone for a syl based on syllable.
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:146
int m_drawingVoltaN
The normalized volta row within the verse (one by default).
Definition: syl.h:144
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:142
This class is an pseudo interface for elements maintaining a flat list of children LayerElement for p...
Definition: object.h:1024
This class is an interface for spanning elements, such as slur, hairpin, etc.
Definition: timeinterface.h:145