20#ifndef INCLUDED_SW_SOURCE_CORE_LAYOUT_LAYHELP_HXX
21#define INCLUDED_SW_SOURCE_CORE_LAYOUT_LAYHELP_HXX
141#define SW_LAYCACHE_IO_REC_PAGES 'p'
142#define SW_LAYCACHE_IO_REC_PARA 'P'
143#define SW_LAYCACHE_IO_REC_TABLE 'T'
144#define SW_LAYCACHE_IO_REC_FLY 'F'
146#define SW_LAYCACHE_IO_VERSION_MAJOR 1
147#define SW_LAYCACHE_IO_VERSION_MINOR 1
void SetLastPos(SwFrame *p)
SwSectionFrame * m_pSectFrame
void SetSectionFrame(SwSectionFrame *p)
SwSectionNode * m_pSectNode
SwSectionFrame * GetSectionFrame()
SwActualSection * GetUpper()
SwSectionNode * GetSectionNode()
void SetUpper(SwActualSection *p)
SwFrame * GetLastPos() const
SwActualSection(SwActualSection *pUpper, SwSectionFrame *pSect, SwSectionNode *pNd)
helper class to create not nested section frames for nested sections.
SwActualSection * m_pUpper
sal_uInt16 nPageNum
page number
sal_uLong nOrdNum
Id to recognize text frames.
SwFlyCache(sal_uInt16 nP, sal_uLong nO, tools::Long nXL, tools::Long nYL, tools::Long nWL, tools::Long nHL)
Base class of the Writer layout elements.
sal_Int32 GetBreakOfst(size_t nIdx) const
sal_uInt16 GetBreakType(size_t nIdx) const
std::vector< sal_uInt16 > m_aType
size_t GetFlyCount() const
SwPageFlyCache m_FlyCache
std::vector< SwNodeOffset > mIndices
bool IsUseFlyCache() const
std::deque< sal_Int32 > m_aOffset
either a textframe character offset, or a row index inside a table
SwFlyCache & GetFlyCache(size_t nIdx)
bool Read(SvStream &rStream)
void Insert(sal_uInt16 nType, SwNodeOffset nIndex, sal_Int32 nOffset)
SwNodeOffset GetBreakIndex(size_t nIdx) const
sal_uInt16 GetMajorVersion() const
void CloseRec()
Close a record.
std::vector< RecTypeSize > m_aRecords
sal_uInt16 GetMinorVersion() const
sal_uInt8 OpenFlagRec()
Open a flag record for reading.
sal_uInt32 BytesLeft()
Return the number of bytes contained in the current record that haven't been read by now.
SvStream & GetStream() const
Get input or output stream.
sal_uInt16 m_nMajorVersion
void OpenRec(sal_uInt8 nType)
Open a record of type "nType".
void CloseFlagRec()
Close a flag record. Any bytes left are skipped.
sal_uInt8 Peek()
Return the current record's type.
void SkipRec()
Skip the current record.
sal_uInt16 m_nMinorVersion
SwLayCacheIoImpl(SvStream &rStrm, bool bWrtMd)
Helps during the InsertCnt_ function to create new pages.
sal_uLong CalcPageCount()
Does NOT really calculate the page count, it returns the page count value from the layout cache,...
size_t mnFlyIdx
the index in the fly cache array
SwNodeOffset mnStartOfContent
bool CheckInsert(SwNodeOffset nNodeIndex)
entry point for the InsertCnt_-function.
SwLayHelper(SwDoc *pD, SwFrame *&rpF, SwFrame *&rpP, SwPageFrame *&rpPg, SwLayoutFrame *&rpL, std::unique_ptr< SwActualSection > &rpA, SwNodeOffset nNodeIndex, bool bCache)
helper class, which utilizes the layout cache information to distribute the document content to the r...
void CheckFlyCache_(SwPageFrame *pPage)
If a new page is inserted, the last page is analysed.
size_t mnIndex
the index in the page break array
sal_uLong mnMaxParaPerPage
std::unique_ptr< SwActualSection > & mrpActualSection
void CheckFlyCache(SwPageFrame *pPage)
Look for fresh text frames at this (new) page and set them to the right position, if they are in the ...
bool CheckInsertPage()
inserts a page and return true, if
A layout frame is a frame that contains other frames (m_pLower), e.g. SwPageFrame or SwTabFrame.
A page of the document layout.
Of course Writer needs its own rectangles.
A section node represents the start of a section on the UI, i.e.
std::vector< SwFlyCache > SwPageFlyCache
RecTypeSize(sal_uInt8 typ, sal_uLong siz)