nehan
Version:
Html layout engine for paged-media written in Typescript
85 lines (84 loc) • 3.24 kB
TypeScript
import { LogicalSize, LayoutResult, LogicalNodeType, FlowFormatContext, FlowRootFormatContext, TextFormatContext, RubyGroup, TableCellsFormatContext, PhysicalSize } from './public-api';
export interface ILayoutReducer {
visit: (...args: any[]) => LayoutResult;
}
export declare class TextReducer implements ILayoutReducer {
static instance: TextReducer;
private constructor();
visit(context: TextFormatContext, indent?: boolean): LayoutResult;
}
export declare class InlineReducer implements ILayoutReducer {
type: LogicalNodeType;
static instance: InlineReducer;
protected constructor(type: LogicalNodeType);
visit(context: FlowFormatContext, indent: boolean): LayoutResult;
}
export declare class RubyReducer implements ILayoutReducer {
static instance: RubyReducer;
private constructor();
visit(context: FlowFormatContext, rubyGroup: RubyGroup): LayoutResult;
}
export declare class RubyBaseReducer extends InlineReducer {
static instance: RubyBaseReducer;
}
export declare class RubyTextReducer extends InlineReducer {
static instance: RubyTextReducer;
}
export declare class ListMarkerReducer extends InlineReducer {
static instance: ListMarkerReducer;
}
export declare class LineReducer implements ILayoutReducer {
static instance: LineReducer;
private constructor();
private isDecoratedText;
private getDecoratedExtent;
private isReChild;
private isEmptyLine;
visit(context: FlowFormatContext, isBr?: boolean): LayoutResult;
}
export declare class BlockReducer implements ILayoutReducer {
type: LogicalNodeType;
static instance: BlockReducer;
protected constructor(type: LogicalNodeType);
visit(context: FlowFormatContext): LayoutResult;
}
export declare class RootBlockReducer implements ILayoutReducer {
type: LogicalNodeType;
static instance: RootBlockReducer;
protected constructor(type: LogicalNodeType);
visit(context: FlowRootFormatContext): LayoutResult;
}
export declare class InlineBlockReducer implements ILayoutReducer {
static instance: InlineBlockReducer;
visit(context: FlowRootFormatContext): LayoutResult;
}
export declare class TableCellReducer extends RootBlockReducer {
static instance: TableCellReducer;
}
export declare class TableCellsReducer implements ILayoutReducer {
static instance: TableCellsReducer;
private constructor();
visit(context: TableCellsFormatContext): LayoutResult;
}
export declare class TableReducer extends BlockReducer {
static instance: TableReducer;
}
export declare class TableRowGroupReducer extends BlockReducer {
static instance: TableRowGroupReducer;
}
export declare class TableRowReducer extends BlockReducer {
static instance: TableRowReducer;
}
export declare class BlockLinkReducer extends BlockReducer {
static instance: BlockReducer;
}
export declare class InlineLinkReducer extends InlineReducer {
static instance: InlineReducer;
}
export declare class ReReducer implements ILayoutReducer {
static instance: ReReducer;
private constructor();
private visitBlock;
private visitInline;
visit(context: FlowFormatContext, logicalSize: LogicalSize, physicalSize: PhysicalSize): LayoutResult;
}