@vivliostyle/core
    Preparing search index...

    Interface PageFloatArea

    interface PageFloatArea {
        adjustContentRelativeSize: boolean;
        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[];
        floatSide: string;
        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;
        parentContainer: Vtree.Container;
        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[];
        convertPercentageSizesToPx(target: Element): void;
        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>;
        fixFloatSizeAndPosition(nodeContext: Vtree.NodeContext): void;
        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;
        getContentInlineSize(): number;
        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 convertPercentageSizesToPx copyFrom createFloat createFloats createPageFloatArea doFinishBreak doFinishBreakOfFragmentLayoutConstraints doLayout findAcceptableBreakInside findAcceptableBreakPosition findBoxBreakPosition findEdgeBreakPosition findEndOfLine findFirstOverflowingEdgeAndCheckPoint findLinePositions finishBreak fixFloatSizeAndPosition getAfterEdge getAfterEdgeOfBlockContainer getBeforeEdge getBottomEdge getBoxDir getBoxSize getComputedInsets getComputedMargin getComputedPaddingBorder getContentInlineSize 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

    adjustContentRelativeSize: boolean
    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[]
    floatSide: string
    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
    parentContainer: Vtree.Container
    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

      • target: Element

      Returns void

    • 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.

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

      Parameters

      • element: Element

      Returns Insets

    • Returns number

    • 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

    • 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

    • 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>

    • Determines if an indent value is zero

      Parameters

      • val: string | number

      Returns boolean