20#ifndef INCLUDED_SVX_SOURCE_TABLE_TABLELAYOUTER_HXX
21#define INCLUDED_SVX_SOURCE_TABLE_TABLELAYOUTER_HXX
44bool findMergeOrigin(
const TableModelRef& xTable, sal_Int32 nMergedCol, sal_Int32 nMergedRow, sal_Int32& rOriginCol, sal_Int32& rOriginRow );
59 EdgeInfo(sal_Int32 nInIndex, sal_Int32 nInPosition, sal_Int32 nInMin, sal_Int32 nInMax)
100 bool isEdgeVisible( sal_Int32 nEdgeX, sal_Int32 nEdgeY,
bool bHorizontal )
const;
111 sal_Int32
getVerticalEdge(
int nEdgeX , sal_Int32* pnMin, sal_Int32* pnMax);
117 const bool bOptimize,
118 const bool bMinimize );
122 const bool bOptimize,
123 const bool bMinimize );
bool isValid(const CellPos &rPos) const
void DistributeColumns(::tools::Rectangle &rArea, sal_Int32 nFirstCol, sal_Int32 nLastCol, const bool bOptimize, const bool bMinimize)
bool isEdgeVisible(sal_Int32 nEdgeX, sal_Int32 nEdgeY, bool bHorizontal) const
checks if the given edge is visible.
TableLayouter(TableModelRef xTableModel)
BorderLineMap maVerticalBorders
void LayoutTableWidth(::tools::Rectangle &rArea, bool bFit)
std::vector< EdgeInfo > getVerticalEdges()
::sal_Int32 getRowCount() const
sal_Int32 getVerticalEdge(int nEdgeX, sal_Int32 *pnMin, sal_Int32 *pnMax)
BorderLineMap maHorizontalBorders
static sal_Int32 distribute(LayoutVector &rLayouts, sal_Int32 nDistribute)
void dumpAsXml(xmlTextWriterPtr pWriter) const
void DistributeRows(::tools::Rectangle &rArea, sal_Int32 nFirstRow, sal_Int32 nLastRow, const bool bOptimize, const bool bMinimize)
sal_Int32 getColumnWidth(sal_Int32 nColumn) const
bool isValidRow(sal_Int32 nRow) const
sal_Int32 getMinimumColumnWidth(sal_Int32 nColumn)
sal_Int32 getHorizontalEdge(int nEdgeY, sal_Int32 *pnMin, sal_Int32 *pnMax)
basegfx::B2ITuple getCellSize(const CellRef &xCell, const CellPos &rPos) const
void LayoutTable(::tools::Rectangle &rRectangle, bool bFitWidth, bool bFitHeight)
try to fit the table into the given rectangle.
void LayoutTableHeight(::tools::Rectangle &rArea, bool bFit)
CellRef getCell(const CellPos &rPos) const
static bool HasPriority(const editeng::SvxBorderLine *pThis, const editeng::SvxBorderLine *pOther)
editeng::SvxBorderLine * getBorderLine(sal_Int32 nEdgeX, sal_Int32 nEdgeY, bool bHorizontal) const
returns the requested borderline in rpBorderLine or a null pointer if there is no border at this edge
void UpdateBorderLayout()
std::vector< Layout > LayoutVector
void SetBorder(sal_Int32 nCol, sal_Int32 nRow, bool bHorizontal, const editeng::SvxBorderLine *pLine)
void updateCells(::tools::Rectangle const &rRectangle)
sal_Int32 getRowHeight(sal_Int32 nRow) const
void ResizeBorderLayout()
std::vector< EdgeInfo > getHorizontalEdges()
sal_Int32 calcPreferredColumnWidth(sal_Int32 nColumn, Size aSize) const
bool isValidColumn(sal_Int32 nColumn) const
::sal_Int32 getColumnCount() const
bool getCellArea(const CellRef &xCell, const CellPos &rPos, basegfx::B2IRectangle &rArea) const
struct _xmlTextWriter * xmlTextWriterPtr
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
bool findMergeOrigin(const TableModelRef &xTable, sal_Int32 nMergedX, sal_Int32 nMergedY, sal_Int32 &rOriginX, sal_Int32 &rOriginY)
returns true if the cell(nMergedX,nMergedY) is merged with other cells.
std::vector< editeng::SvxBorderLine * > BorderLineVector
std::vector< BorderLineVector > BorderLineMap
rtl::Reference< TableModel > TableModelRef
EdgeInfo(sal_Int32 nInIndex, sal_Int32 nInPosition, sal_Int32 nInMin, sal_Int32 nInMax)
void dumpAsXml(xmlTextWriterPtr pWriter) const