nehan
Version:
Html layout engine for paged-media written in Typescript
77 lines (76 loc) • 3.6 kB
TypeScript
import { BoxEnv, ContextBoxEdge, LogicalFloat, LogicalBlockNode, LogicalBlockReNode, LogicalInlineReNode, LogicalInlineBlockNode, LogicalInlineNode, LogicalTextNode, LogicalTableCellsNode, LogicalLineNode, LogicalCursorPos, LogicalEdgeDirection, LayoutResult, LogicalSize, ILayoutFormatContext, ILogicalNodeGenerator, ILayoutReducer, ILogicalNode, ILogicalNodePos, IFlowFormatContext, IFlowRootFormatContext, PageRootFormatContext, ILogicalFloatableNode } from './public-api';
export declare class FlowFormatContext implements IFlowFormatContext {
env: BoxEnv;
parent?: ILayoutFormatContext | undefined;
name: string;
child?: ILogicalNodeGenerator;
suspendedGens: ILogicalNodeGenerator[];
cursorPos: LogicalCursorPos;
contextBoxEdge: ContextBoxEdge;
curChildStartMargin: number;
blockNodes: ILogicalNode[];
inlineNodes: ILogicalNode[];
blockNodeHistory: ILogicalNode[];
inlineText: string;
listMarker?: LogicalInlineNode;
text: string;
progress: number;
constructor(env: BoxEnv, parent?: ILayoutFormatContext | undefined);
get inlineRoot(): IFlowFormatContext;
get pageRoot(): PageRootFormatContext;
get flowRoot(): IFlowRootFormatContext;
get parentBlock(): IFlowFormatContext | undefined;
acceptLayoutReducer(visitor: ILayoutReducer, ...args: any): LayoutResult;
get restExtent(): number;
get lastBlockNode(): ILogicalNode | undefined;
get totalLineCount(): number;
get localLineCount(): number;
private get listMarkerOffset();
private get floatStartOffset();
private get textAlignOffset();
private get textStartPos();
private get parentInlineEdgeSize();
get contextRestMeasure(): number;
get lineBoxStartOffset(): number;
get restMeasure(): number;
get rootMeasure(): number;
get rootExtent(): number;
get maxMeasure(): number;
get maxExtent(): number;
get contentBlockSize(): LogicalSize;
get autoContentBlockSize(): LogicalSize;
get contentInlineBlockSize(): LogicalSize;
get autoContentInlineBlockSize(): LogicalSize;
get boxPos(): ILogicalNodePos;
get localPos(): LogicalCursorPos;
get flowRootPos(): LogicalCursorPos;
get globalPos(): LogicalCursorPos;
get blockPos(): LogicalCursorPos;
get lineHeadPos(): LogicalCursorPos;
addBorderBoxEdge(direction: LogicalEdgeDirection): void;
addInlineMarginEdge(direction: "start" | "end", marginSize: number): void;
addBlockMarginEdge(direction: "before" | "after", marginSize: number): void;
getBorderCollapseAfterSize(): number;
setFloat(block: ILogicalFloatableNode, float: LogicalFloat): void;
addLine(line: LogicalLineNode): void;
addBlock(block: LogicalBlockNode): void;
addBlockRe(block: LogicalBlockReNode): void;
addTable(block: LogicalBlockNode): void;
addTableRowGroup(block: LogicalBlockNode): void;
addTableRow(block: LogicalBlockNode): void;
addTableCells(cells: LogicalTableCellsNode): void;
addBlockLink(block: LogicalBlockNode): void;
addInlineBlock(inlineBlock: LogicalInlineBlockNode): void;
addInline(inline: LogicalInlineNode): void;
addInlineRe(inline: LogicalInlineReNode): void;
addInlineLink(inline: LogicalInlineNode): void;
addListMarker(marker: LogicalInlineNode): void;
addText(text: LogicalTextNode): void;
addRuby(ruby: ILogicalNode): void;
private addAnchorElement;
private pushInlineNode;
private pushBlockNode;
private getBorderCollapseStartSize;
private getBorderCollapseBeforeSize;
private collapseBeforeStartBorder;
}