@prescott/geo-pattern
Version:
Create beautiful generative geometric background images from a string.
38 lines (37 loc) • 1.23 kB
TypeScript
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[];
}