UNPKG

nehan

Version:

Html layout engine for paged-media written in Typescript

161 lines (160 loc) 6.84 kB
import { BoxEnv, LogicalBorder, ILogicalNodeEvaluator, ILogicalNodeEffector, LogicalCursorPos, LogicalBaseLineMetrics, LogicalBoxEdge, LogicalSize, PhysicalSize, ICharacter, ILogicalNodePos } from './public-api'; export interface ILogicalNode { parent?: ILogicalNode; dom?: HTMLElement; env: BoxEnv; size: LogicalSize; measure: number; extent: number; progress: number; text: string; boxPos: ILogicalNodePos; acceptEvaluator: (visitor: ILogicalNodeEvaluator, ...args: any[]) => HTMLElement | Node; acceptEffector: (visitor: ILogicalNodeEffector, ...args: any[]) => void; } export interface ILogicalFloatableNode extends ILogicalNode { layoutPos: LogicalCursorPos; } export declare class LogicalTextNode implements ILogicalNode { env: BoxEnv; boxPos: ILogicalNodePos; size: LogicalSize; text: string; skipBr: boolean; children: ICharacter[]; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, size: LogicalSize, text: string, skipBr: boolean, children: ICharacter[], progress?: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; } export declare class LogicalLineNode implements ILogicalNode { env: BoxEnv; boxPos: ILogicalNodePos; linePos: LogicalCursorPos; size: LogicalSize; autoSize: LogicalSize; text: string; children: ILogicalNode[]; baseline: LogicalBaseLineMetrics; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, linePos: LogicalCursorPos, size: LogicalSize, autoSize: LogicalSize, text: string, children: ILogicalNode[], baseline: LogicalBaseLineMetrics, progress?: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; } export declare class LogicalRubyNode implements ILogicalNode { env: BoxEnv; boxPos: ILogicalNodePos; size: LogicalSize; text: string; rb: LogicalInlineNode; rt: LogicalInlineNode; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, size: LogicalSize, text: string, rb: LogicalInlineNode, rt: LogicalInlineNode, progress?: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; get lineExtent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; } export declare class LogicalInlineNode implements ILogicalNode { env: BoxEnv; boxPos: ILogicalNodePos; size: LogicalSize; text: string; edge: LogicalBoxEdge; children: ILogicalNode[]; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, size: LogicalSize, text: string, edge: LogicalBoxEdge, children: ILogicalNode[], progress?: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; } export declare class LogicalBlockNode implements ILogicalFloatableNode { env: BoxEnv; boxPos: ILogicalNodePos; layoutPos: LogicalCursorPos; size: LogicalSize; autoSize: LogicalSize; text: string; border: LogicalBorder; children: ILogicalNode[]; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, layoutPos: LogicalCursorPos, size: LogicalSize, autoSize: LogicalSize, text: string, border: LogicalBorder, children: ILogicalNode[], progress: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; } export declare class LogicalInlineBlockNode implements ILogicalFloatableNode { env: BoxEnv; boxPos: ILogicalNodePos; layoutPos: LogicalCursorPos; size: LogicalSize; autoSize: LogicalSize; text: string; edge: LogicalBoxEdge; children: ILogicalNode[]; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, layoutPos: LogicalCursorPos, size: LogicalSize, autoSize: LogicalSize, text: string, edge: LogicalBoxEdge, children: ILogicalNode[], progress?: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; } export declare class LogicalTableCellsNode implements ILogicalNode { env: BoxEnv; boxPos: ILogicalNodePos; size: LogicalSize; rowPos: LogicalCursorPos; text: string; children: ILogicalNode[]; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, size: LogicalSize, rowPos: LogicalCursorPos, text: string, children: ILogicalNode[], progress?: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; } export declare class LogicalBlockReNode implements ILogicalFloatableNode { env: BoxEnv; boxPos: ILogicalNodePos; size: LogicalSize; physicalSize: PhysicalSize; edge: LogicalBoxEdge; layoutPos: LogicalCursorPos; text: string; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, size: LogicalSize, physicalSize: PhysicalSize, edge: LogicalBoxEdge, layoutPos: LogicalCursorPos, text: string, progress?: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; } export declare class LogicalInlineReNode implements ILogicalNode { env: BoxEnv; boxPos: ILogicalNodePos; size: LogicalSize; physicalSize: PhysicalSize; edge: LogicalBoxEdge; text: string; progress: number; dom: HTMLElement | undefined; constructor(env: BoxEnv, boxPos: ILogicalNodePos, size: LogicalSize, physicalSize: PhysicalSize, edge: LogicalBoxEdge, text: string, progress?: number, dom?: HTMLElement | undefined); get measure(): number; get extent(): number; acceptEvaluator(visitor: ILogicalNodeEvaluator): HTMLElement; acceptEffector(visitor: ILogicalNodeEffector): void; }