MeasuredTable

data class MeasuredTable(val columnWidths: List<Float>, val rows: List<MeasuredTableRow>, val border: TableBorder, val borderColor: PdfColor, val borderWidth: Float, val cornerRadius: Float, val size: Size, val repeatHeader: Boolean = true, val cellOwners: List<List<Int>> = emptyList()) : MeasuredNode

Measurement result for a com.conamobile.pdfkmp.node.TableNode.

Stores enough resolved geometry — column widths, row heights, per-cell sub-trees with offsets — that the renderer can stroke borders, fill row and cell backgrounds, and place every cell's content with no further arithmetic.

The header row, when present, is always at index 0 of rows.

Constructors

Link copied to clipboard
constructor(columnWidths: List<Float>, rows: List<MeasuredTableRow>, border: TableBorder, borderColor: PdfColor, borderWidth: Float, cornerRadius: Float, size: Size, repeatHeader: Boolean = true, cellOwners: List<List<Int>> = emptyList())

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Occupancy grid: cellOwners[rowIndex][columnIndex] is a stable id of the cell that paints that grid slot. Slots covered by the same spanned cell share an id; every other slot (including empty fillers) gets its own unique id so the renderer still strokes separators around them.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val repeatHeader: Boolean = true

when the Slice strategy splits this table across pages, repeat the header row on each continuation page.

Link copied to clipboard
Link copied to clipboard
open override val size: Size

Final size of the node within its parent.