dropflow
Version:
A small CSS2 document renderer built from specifications
26 lines (25 loc) • 1.04 kB
TypeScript
import { ShapedItem } from './layout-text.js';
import type { Color } from './style.js';
import type { PaintBackend } from './paint.js';
import type { LoadedFontFace } from './text-font.js';
import type { Image } from './layout-image.js';
type StringMap = Record<string, string>;
export default class HtmlPaintBackend implements PaintBackend {
s: string;
fillColor: Color;
strokeColor: Color;
lineWidth: number;
direction: 'ltr' | 'rtl';
font: LoadedFontFace | undefined;
fontSize: number;
constructor();
style(style: StringMap): string;
attrs(attrs: StringMap): string;
edge(x: number, y: number, length: number, side: 'top' | 'right' | 'bottom' | 'left'): void;
text(x: number, y: number, item: ShapedItem, textStart: number, textEnd: number): void;
rect(x: number, y: number, w: number, h: number): void;
image(x: number, y: number, w: number, h: number, image: Image): void;
pushClip(x: number, y: number, width: number, height: number): void;
popClip(): void;
}
export {};