UNPKG

@prescott/geo-pattern

Version:

Create beautiful generative geometric background images from a string.

38 lines (37 loc) 1.23 kB
import { Pattern } from "../pattern"; import { PatternComposer } from "../pattern-composer"; import { PatternPreset } from "../pattern-preset"; import { map } from "../processing"; import { Seed } from "../seed"; import { SVGNode } from "../svg"; export declare type Translate = { translate: number[]; rotate?: never; scale?: never; }; export declare type Rotate = { translate?: never; rotate: number[]; scale?: never; }; export declare type Scale = { translate?: never; rotate?: never; scale: number[]; }; export declare type TransformCommand = Translate | Rotate | Scale; export declare abstract class StructureComposer implements PatternComposer { protected seed: Seed; protected preset: PatternPreset; abstract readonly name: string; width: number; height: number; protected readonly map: typeof map; constructor(seed: Seed, preset: PatternPreset); compose(pattern: Pattern): Promise<void>; protected fillColor(value: number): string; protected opacity(value: number): number; protected buildPlusShape(size: number): SVGNode[]; protected buildTransform(commands: TransformCommand[]): string; protected abstract generate(): SVGNode[]; }