UNPKG

dropflow

Version:

A small CSS2 document renderer built from specifications

25 lines (24 loc) 1.02 kB
import { BlockContainer } from './layout-flow.js'; import { Image } from './layout-image.js'; import { ShapedItem } from './layout-text.js'; import { Color } from './style.js'; import type { LoadedFontFace } from './text-font.js'; export interface PaintBackend { fillColor: Color; strokeColor: Color; lineWidth: number; direction: 'ltr' | 'rtl'; font: LoadedFontFace | undefined; fontSize: number; edge(x: number, y: number, length: number, side: 'top' | 'right' | 'bottom' | 'left'): void; text(x: number, y: number, item: ShapedItem, textStart: number, textEnd: number, isColorBoundary?: boolean): void; rect(x: number, y: number, w: number, h: number): void; pushClip(x: number, y: number, w: number, h: number): void; popClip(): void; image(x: number, y: number, width: number, height: number, image: Image): void; } /** * Paint the root element * https://www.w3.org/TR/CSS22/zindex.html */ export default function paint(block: BlockContainer, b: PaintBackend): void;