26 lines
648 B
TypeScript
26 lines
648 B
TypeScript
// type RichnessNodeDefinition<N extends {type: string}> = {
|
|
// type: N["type"]
|
|
// measure(context: CanvasRenderingContext2D, node: N): Promise<TextMetrics>;
|
|
// render(
|
|
// context: CanvasRenderingContext2D,
|
|
// node: N,
|
|
// x: number,
|
|
// y: number
|
|
// ): Promise<void>;
|
|
// };
|
|
|
|
// type Richness<N extends {type: string}> = {[K in N["type"]]: RichnessNodeDefinition<N & {type: K}>}
|
|
|
|
// const drawRichText = <N extends {type: string}>(
|
|
// context: CanvasRenderingContext2D,
|
|
// richness: Richness<N>,
|
|
// richText: N[],
|
|
// x: number,
|
|
// y: number,
|
|
// maxWidth: number,
|
|
// ) => {
|
|
// context.save();
|
|
// const
|
|
// context.restore();
|
|
// };
|