41 std::string GetClassName()
const override {
return "page"; }
56 void SetPPUFactor(
double PPUFactor) {
m_PPUFactor = PPUFactor; }
63 bool IsFirstOfSelection()
const;
64 bool IsLastOfSelection()
const;
72 RunningElement *GetHeader();
73 const RunningElement *GetHeader()
const;
74 RunningElement *GetFooter();
75 const RunningElement *GetFooter()
const;
89 void DeprecateLayout() { m_layoutDone =
false; }
159 FunctorCode AcceptEnd(
Functor &functor)
override;
160 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
167 void AdjustSylSpacingByVerse(
const IntTree &verseTree,
Doc *doc);
172 void ReduceJustifiableHeight(
const Doc *doc);
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 represents a basic object.
Definition: object.h:61
int GetIdx() const
Return the index position of the object in its parent (-1 if not found)
This class represents a page in a laid-out score (Doc).
Definition: page.h:31
void LayOut()
Do the layout of the page, which means aligning its content horizontally and vertically,...
void JustifyHorizontally()
Justifiy the content of the page (measures and their content) horizontally.
int GetContentWidth() const
Return the width of the content by looking at the first system of the page.
void LayOutTranscription(bool force=false)
Do the layout for a transcription page (with layout information).
bool IsSupportedChild(ClassId classId) override
Base method for checking if a child can be added.
void ResetAligners()
Reset and set the horizontal and vertical alignment.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
std::string m_surface
Surface (MEI @surface).
Definition: page.h:192
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
void LayOutHorizontallyWithCache(bool restore=false)
Lay out the measures horizontally using the cached values.
int m_pageMarginLeft
Page left margin (MEI scoredef@page.leftmar).
Definition: page.h:183
int m_pageMarginTop
Page top margin (MEI scoredef@page.topmar).
Definition: page.h:187
void JustifyVertically()
Justifiy the content of the page (system/staves) vertically.
int m_pageHeight
Page height (MEI scoredef@page.height).
Definition: page.h:179
int m_pageMarginBottom
Page bottom margin (MEI scoredef@page.botmar).
Definition: page.h:181
int m_pageWidth
Page width (MEI scoredef@page.width).
Definition: page.h:177
void LayOutPitchPos()
Lay out the pitch positions and stems (without redoing the entire layout)
void LayOutHorizontally()
Lay out the content of the page (measures and their content) horizontally.
int m_pageMarginRight
Page right margin (MEI scoredef@page.rightmar).
Definition: page.h:185
ScoreDef m_drawingScoreDef
Hold the top scoreDef of the page.
Definition: page.h:200
int m_drawingJustifiableHeight
The height that can be justified once the systems are aligned.
Definition: page.h:220
void LayOutVertically()
Lay out the content of the page (system/staves) vertically.
int GetPageIdx() const
Return the index position of the page in its document parent.
Definition: page.h:81
double m_PPUFactor
Temporary member that will be replace by its LibMEI equivalent in the next version of the page-based ...
Definition: page.h:214
int GetContentHeight() const
Return the height of the content by looking at the last system of the page.
double m_justificationSum
the sum of justification factors for each type of spacing in between systems and staves (staff,...
Definition: page.h:226
This class represents a MEI scoreDef.
Definition: scoredef.h:135
This class represent a <score> in MEI.
Definition: score.h:30
Generic int map recursive structure for storing hierachy of values For example, we want to process al...
Definition: vrvdef.h:422