@vivliostyle/core
    Preparing search index...

    Interface Column

    interface Column {
        afterEdge: number;
        bands: Band[];
        beforeEdge: number;
        blockDistanceToBlockEndFloats: number;
        borderBottom: number;
        borderBoxSizing: boolean;
        borderLeft: number;
        borderRight: number;
        borderTop: number;
        bottommostFloatTop: number;
        box: Rect;
        breakPositions: Layout.BreakPosition[];
        chunkPositions: Vtree.ChunkPosition[];
        clientLayout: Vtree.ClientLayout;
        computedBlockSize: number;
        element: HTMLElement;
        endEdge: number;
        exclusions: Shape[];
        flowRootFormattingContext: Vtree.FormattingContext;
        footnoteEdge: number;
        forceNonfitting: boolean;
        fragmentLayoutConstraints: Layout.FragmentLayoutConstraint[];
        height: number;
        innerShape: Shape;
        isFloat: boolean;
        isFootnote: boolean;
        last: Node;
        lastAfterPosition: Vtree.NodePosition;
        layoutConstraint: Layout.LayoutConstraint;
        layoutContext: Vtree.LayoutContext;
        left: number;
        leftFloatEdge: number;
        marginBottom: number;
        marginLeft: number;
        marginRight: number;
        marginTop: number;
        nodeContextOverflowingDueToRepetitiveElements: Vtree.NodeContext;
        originX: number;
        originY: number;
        overflown: boolean;
        paddingBottom: number;
        paddingLeft: number;
        paddingRight: number;
        paddingTop: number;
        pageBreakType: string;
        pageFloatLayoutContext: PageFloats.PageFloatLayoutContext;
        pseudoParent: Layout.Column;
        rightFloatEdge: number;
        rtl: boolean;
        snapHeight: number;
        snapOffsetX: number;
        snapOffsetY: number;
        snapWidth: number;
        startEdge: number;
        stopAtOverflow: boolean;
        top: number;
        vertical: boolean;
        viewDocument: Document;
        width: number;
        applyClearance(nodeContext: Vtree.NodeContext): boolean;
        buildDeepElementView(
            position: Vtree.NodeContext,
        ): Result<Vtree.NodeContext>;
        buildViewToNextBlockEdge(
            position: Vtree.NodeContext,
            checkPoints: Vtree.NodeContext[],
        ): Result<Vtree.NodeContext>;
        calculateClonedPaddingBorder(nodeContext: Vtree.NodeContext): number;
        calculateEdge(
            nodeContext: Vtree.NodeContext,
            checkPoints: Vtree.NodeContext[],
            index: number,
            boxOffset: number,
        ): number;
        calculateOffsetInNodeForNodeContext(position: Vtree.NodePosition): number;
        checkOverflowAndSaveEdge(
            nodeContext: Vtree.NodeContext,
            trailingEdgeContexts: Vtree.NodeContext[],
        ): boolean;
        checkOverflowAndSaveEdgeAndBreakPosition(
            nodeContext: Vtree.NodeContext,
            trailingEdgeContexts: Vtree.NodeContext[],
            saveEvenOverflown: boolean,
            breakAtTheEdge: string,
        ): boolean;
        clear(): void;
        clearOverflownViewNodes(
            nodeContext: Vtree.NodeContext,
            removeSelf: boolean,
        ): void;
        collectElementsOffset(): RepetitiveElement.ElementsOffset[];
        copyFrom(other: Vtree.Container): void;
        createFloat(
            ref: Node,
            side: string,
            width: number,
            height: number,
        ): Element;
        createFloats(): void;
        createPageFloatArea(
            float: PageFloats.PageFloat,
            floatSide: string,
            anchorEdge: number,
            strategy: PageFloats.PageFloatLayoutStrategy,
            condition: PageFloats.PageFloatPlacementCondition,
        ): Layout.PageFloatArea;
        doFinishBreak(
            nodeContext: Vtree.NodeContext,
            overflownNodeContext: Vtree.NodeContext,
            initialNodeContext: Vtree.NodeContext,
            initialComputedBlockSize: number,
        ): Result<Vtree.NodeContext>;
        doFinishBreakOfFragmentLayoutConstraints(nodeContext: any): void;
        doLayout(
            nodeContext: Vtree.NodeContext,
            leadingEdge: boolean,
            breakAfter?: string,
        ): Result<
            {
                nodeContext: Vtree.NodeContext;
                overflownNodeContext: Vtree.NodeContext;
            },
        >;
        findAcceptableBreakInside(
            checkPoints: Vtree.NodeContext[],
            edgePosition: number,
            force: boolean,
        ): Vtree.NodeContext;
        findAcceptableBreakPosition(): Layout.BreakPositionAndNodeContext;
        findBoxBreakPosition(
            bp: Layout.BoxBreakPosition,
            force: boolean,
        ): Vtree.NodeContext;
        findEdgeBreakPosition(bp: Layout.EdgeBreakPosition): Vtree.NodeContext;
        findEndOfLine(
            linePosition: number,
            checkPoints: Vtree.NodeContext[],
            isUpdateMaxReachedAfterEdge: boolean,
        ): {
            checkPointIndex: number;
            index: number;
            nodeContext: Vtree.NodeContext;
        };
        findFirstOverflowingEdgeAndCheckPoint(
            checkPoints: Vtree.NodeContext[],
        ): { checkPoint: Vtree.NodeContext; edge: number };
        findLinePositions(checkPoints: Vtree.NodeContext[]): number[];
        finishBreak(
            nodeContext: Vtree.NodeContext,
            forceRemoveSelf: boolean,
            endOfColumn: boolean,
        ): Result<boolean>;
        getAfterEdge(box: Vtree.ClientRect): number;
        getAfterEdgeOfBlockContainer(nodeContext: Vtree.NodeContext): number;
        getBeforeEdge(box: Vtree.ClientRect): number;
        getBottomEdge(): number;
        getBoxDir(): number;
        getBoxSize(box: Vtree.ClientRect): number;
        getComputedInsets(element: Element): Insets;
        getComputedMargin(element: Element): Insets;
        getComputedPaddingBorder(element: Element): Insets;
        getEndEdge(box: Vtree.ClientRect): number;
        getExclusions(): Shape[];
        getInlineDir(): number;
        getInlineSize(box: Vtree.ClientRect): number;
        getInnerRect(): Rect;
        getInnerShape(): Shape;
        getInsetAfter(): number;
        getInsetBefore(): number;
        getInsetBottom(): number;
        getInsetEnd(): number;
        getInsetLeft(): number;
        getInsetRight(): number;
        getInsetStart(): number;
        getInsetTop(): number;
        getLeftEdge(): number;
        getMaxBlockSizeOfPageFloats(): number;
        getOuterRect(): Rect;
        getOuterShape(outerShapeProp: Val, context: Context): Shape;
        getPaddingRect(): Rect;
        getRangeBoxes(start: Node, end: Node): Vtree.ClientRect[];
        getRightEdge(): number;
        getStartEdge(box: Vtree.ClientRect): number;
        getTopEdge(): number;
        getTrailingMarginEdgeAdjustment(
            trailingEdgeContexts: Vtree.NodeContext[],
        ): number;
        init(): void;
        initGeom(): void;
        isBFC(formattingContext: Vtree.FormattingContext): boolean;
        isBreakable(flowPosition: Vtree.NodeContext): boolean;
        isFloatNodeContext(nodeContext: Vtree.NodeContext): boolean;
        isFullWithPageFloats(): boolean;
        isLoneImage(checkPoints: Vtree.NodeContext[]): boolean;
        isOverflown(edge: number): boolean;
        killFloats(): void;
        layout(
            chunkPosition: Vtree.ChunkPosition,
            leadingEdge: boolean,
            breakAfter?: string,
        ): Result<Vtree.ChunkPosition>;
        layoutBreakableBlock(
            nodeContext: Vtree.NodeContext,
        ): Result<Vtree.NodeContext>;
        layoutFloat(nodeContext: Vtree.NodeContext): Result<Vtree.NodeContext>;
        layoutFloatOrFootnote(
            nodeContext: Vtree.NodeContext,
        ): Result<Vtree.NodeContext>;
        layoutNext(
            nodeContext: Vtree.NodeContext,
            leadingEdge: boolean,
            forcedBreakValue?: string,
        ): Result<Vtree.NodeContext>;
        layoutPageFloat(nodeContext: Vtree.NodeContext): Result<Vtree.NodeContext>;
        layoutPageFloatInner(
            continuation: PageFloats.PageFloatContinuation,
            strategy: PageFloats.PageFloatLayoutStrategy,
            anchorEdge: number,
            pageFloatFragment?: PageFloats.PageFloatFragment,
        ): Result<boolean>;
        layoutSinglePageFloatFragment(
            continuations: PageFloats.PageFloatContinuation[],
            floatSide: string,
            clearSide: string,
            allowFragmented: boolean,
            strategy: PageFloats.PageFloatLayoutStrategy,
            anchorEdge: number,
            pageFloatFragment?: PageFloats.PageFloatFragment,
        ): Result<Layout.SinglePageFloatLayoutResult>;
        layoutUnbreakable(
            nodeContextIn: Vtree.NodeContext,
        ): Result<Vtree.NodeContext>;
        maybePeelOff(
            position: Vtree.NodeContext,
            count: number,
        ): Result<Vtree.NodeContext>;
        nextInTree(
            position: Vtree.NodeContext,
            atUnforcedBreak?: boolean,
        ): Result<Vtree.NodeContext>;
        openAllViews(position: Vtree.NodePosition): Result<Vtree.NodeContext>;
        parseComputedLength(val: string): number;
        postLayoutBlock(
            nodeContext: Vtree.NodeContext,
            checkPoints: Vtree.NodeContext[],
        ): void;
        processLineStyling(
            nodeContext: Vtree.NodeContext,
            resNodeContext: Vtree.NodeContext,
            checkPoints: Vtree.NodeContext[],
        ): Result<Vtree.NodeContext>;
        redoLayout(): Result<Vtree.ChunkPosition>;
        resolveFloatReferenceFromColumnSpan(
            floatReference: PageFloats.FloatReference,
            columnSpan: Val,
            nodeContext: Vtree.NodeContext,
        ): Result<PageFloats.FloatReference>;
        resolveTextNodeBreaker(
            nodeContext: Vtree.NodeContext,
        ): Layout.TextNodeBreaker;
        saveBoxBreakPosition(checkPoints: Vtree.NodeContext[]): void;
        saveDistanceToBlockEndFloats(): void;
        saveEdgeBreakPosition(
            position: Vtree.NodeContext,
            breakAtEdge: string,
            overflows: boolean,
        ): void;
        setBlockPosition(start: number, extent: number): void;
        setComputedInsets(element: Element, container: Layout.Column): void;
        setComputedWidthAndHeight(element: Element, container: Layout.Column): void;
        setFloatAnchorViewNode(nodeContext: Vtree.NodeContext): Vtree.NodeContext;
        setHorizontalPosition(left: number, width: number): void;
        setInlinePosition(start: number, extent: number): void;
        setupFloatArea(
            area: Layout.PageFloatArea,
            floatReference: PageFloats.FloatReference,
            floatSide: string,
            anchorEdge: number,
            strategy: PageFloats.PageFloatLayoutStrategy,
            condition: PageFloats.PageFloatPlacementCondition,
        ): boolean;
        setVerticalPosition(top: number, height: number): void;
        skipEdges(
            nodeContext: Vtree.NodeContext,
            leadingEdge: boolean,
            forcedBreakValue: string,
        ): Result<Vtree.NodeContext>;
        skipTailEdges(nodeContext: Vtree.NodeContext): Result<Vtree.NodeContext>;
        stopByOverflow(nodeContext: Vtree.NodeContext): boolean;
        updateMaxReachedAfterEdge(afterEdge: number): void;
        zeroIndent(val: string | number): boolean;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    Methods

    applyClearance buildDeepElementView buildViewToNextBlockEdge calculateClonedPaddingBorder calculateEdge calculateOffsetInNodeForNodeContext checkOverflowAndSaveEdge checkOverflowAndSaveEdgeAndBreakPosition clear clearOverflownViewNodes collectElementsOffset copyFrom createFloat createFloats createPageFloatArea doFinishBreak doFinishBreakOfFragmentLayoutConstraints doLayout findAcceptableBreakInside findAcceptableBreakPosition findBoxBreakPosition findEdgeBreakPosition findEndOfLine findFirstOverflowingEdgeAndCheckPoint findLinePositions finishBreak getAfterEdge getAfterEdgeOfBlockContainer getBeforeEdge getBottomEdge getBoxDir getBoxSize getComputedInsets getComputedMargin getComputedPaddingBorder getEndEdge getExclusions getInlineDir getInlineSize getInnerRect getInnerShape getInsetAfter getInsetBefore getInsetBottom getInsetEnd getInsetLeft getInsetRight getInsetStart getInsetTop getLeftEdge getMaxBlockSizeOfPageFloats getOuterRect getOuterShape getPaddingRect getRangeBoxes getRightEdge getStartEdge getTopEdge getTrailingMarginEdgeAdjustment init initGeom isBFC isBreakable isFloatNodeContext isFullWithPageFloats isLoneImage isOverflown killFloats layout layoutBreakableBlock layoutFloat layoutFloatOrFootnote layoutNext layoutPageFloat layoutPageFloatInner layoutSinglePageFloatFragment layoutUnbreakable maybePeelOff nextInTree openAllViews parseComputedLength postLayoutBlock processLineStyling redoLayout resolveFloatReferenceFromColumnSpan resolveTextNodeBreaker saveBoxBreakPosition saveDistanceToBlockEndFloats saveEdgeBreakPosition setBlockPosition setComputedInsets setComputedWidthAndHeight setFloatAnchorViewNode setHorizontalPosition setInlinePosition setupFloatArea setVerticalPosition skipEdges skipTailEdges stopByOverflow updateMaxReachedAfterEdge zeroIndent

    Properties

    afterEdge: number
    bands: Band[]
    beforeEdge: number
    blockDistanceToBlockEndFloats: number
    borderBottom: number
    borderBoxSizing: boolean
    borderLeft: number
    borderRight: number
    borderTop: number
    bottommostFloatTop: number

    bottom of the bottommost right float

    box: Rect
    breakPositions: Layout.BreakPosition[]
    chunkPositions: Vtree.ChunkPosition[]
    clientLayout: Vtree.ClientLayout
    computedBlockSize: number
    element: HTMLElement
    endEdge: number
    exclusions: Shape[]
    flowRootFormattingContext: Vtree.FormattingContext
    footnoteEdge: number
    forceNonfitting: boolean
    fragmentLayoutConstraints: Layout.FragmentLayoutConstraint[]
    height: number
    innerShape: Shape
    isFloat: boolean
    isFootnote: boolean
    last: Node
    lastAfterPosition: Vtree.NodePosition
    layoutConstraint: Layout.LayoutConstraint
    layoutContext: Vtree.LayoutContext
    left: number
    leftFloatEdge: number
    marginBottom: number
    marginLeft: number
    marginRight: number
    marginTop: number
    nodeContextOverflowingDueToRepetitiveElements: Vtree.NodeContext
    originX: number
    originY: number
    overflown: boolean
    paddingBottom: number
    paddingLeft: number
    paddingRight: number
    paddingTop: number
    pageBreakType: string
    pageFloatLayoutContext: PageFloats.PageFloatLayoutContext
    pseudoParent: Layout.Column
    rightFloatEdge: number

    bottom of the bottommost left float

    rtl: boolean
    snapHeight: number
    snapOffsetX: number
    snapOffsetY: number
    snapWidth: number
    startEdge: number
    stopAtOverflow: boolean

    Top of the bottommost float

    top: number
    vertical: boolean
    viewDocument: Document
    width: number

    Methods

    • Parameters

      • nodeContext: Vtree.NodeContext

        position after the block

      • checkPoints: Vtree.NodeContext[]

        array of possible breaking points.

      • index: number

        index of the breaking point

      • boxOffset: number

        box offset

      Returns number

      edge position

    • Save a possible page break position on a CSS block edge. Check if it overflows.

      Parameters

      Returns boolean

      true if overflows

    • Create a single floating element (for exclusion areas).

      Parameters

      • ref: Node

        container's child to insert float before (can be null).

      • side: string

        float side ("left" or "right").

      • width: number

        float inline dimension.

      • height: number

        float box progression dimension.

      Returns Element

      newly created float element.

    • Create exclusion floats for a column.

      Returns void

    • Parameters

      • nodeContext: any

      Returns void

    • Parameters

      • linePosition: number
      • checkPoints: Vtree.NodeContext[]
      • isUpdateMaxReachedAfterEdge: boolean

      Returns { checkPointIndex: number; index: number; nodeContext: Vtree.NodeContext }

    • Give block's initial and final nodes, find positions of the line bottoms. This is, of course, somewhat hacky implementation.

      Parameters

      Returns number[]

      position of line breaks

    • Finalize a line break.

      Parameters

      Returns Result<boolean>

      holing true

    • Returns number

    • Reads element's computed CSS insets(margins + border + padding or margins : depends on box-sizing)

      Parameters

      • element: Element

      Returns Insets

    • Reads element's computed CSS margin.

      Parameters

      • element: Element

      Returns Insets

    • Reads element's computed padding + borders.

      Parameters

      • element: Element

      Returns Insets

    • Returns number

    • Returns boolean

    • Parameters

      • edge: number

      Returns boolean

    • Remove all the exclusion floats.

      Returns void

    • Parse CSS computed length (in pixels)

      Parameters

      • val: string

        CSS length in "px"

      Returns number

      parsed and adjusted length value in pixels or 0 if not parsable

    • Returns void

    • Save the potential breaking position at the edge. Should, in general, save "after" position but only after skipping all of the "before" ones and getting to the non-empty content (to get breakAtEdge right).

      Parameters

      Returns void

    • Set element's computed CSS insets to Column Container

      Parameters

      Returns void

    • Set element's computed width and height to Column Container

      Parameters

      Returns void

    • Skips positions until either the start of unbreakable block or inline content. Also sets breakBefore on the result combining break-before and break-after properties from all elements that meet at the edge.

      Parameters

      Returns Result<Vtree.NodeContext>

    • Parameters

      • afterEdge: number

      Returns void

    • Determines if an indent value is zero

      Parameters

      • val: string | number

      Returns boolean