UNPKG

tag2cloud

Version:
79 lines 2.05 kB
export interface Options { width: number; height: number; maskImage: string | false | null | undefined; pixelRatio: number; lightThreshold: number; opacityThreshold: number; minFontSize: number; maxFontSize: number; angleFrom: number; angleTo: number; angleCount: number; family: string; cut: boolean; padding: number; canvas: boolean; shape: ((theta: number) => number) | null; } export interface Tag { text: string; weight: number; angle?: number; color?: string; [prop: string]: any; } export interface Pixels { width: number; height: number; data: number[][]; } export interface TagData extends Required<Tag> { angle: number; fontSize: number; x: number; y: number; rendered: boolean; tag: Tag; } export declare class Tag2Cloud { private readonly defaultOptions; options: Options; private $container; private $wrapper; private $canvas; private $displayCanvas; private ctx; private displayCtx; private listeners; private pixels; private maxTagWeight; private minTagWeight; private promised; private points; constructor($container: HTMLElement, options?: Partial<Options>); draw(tags?: Tag[]): Promise<TagData[]>; clear(): void; destroy(): void; shape(cb: (ctx: CanvasRenderingContext2D) => void): void; onClick(listener: Function): () => void; offClick(listener: Function): void; getCtx(): CanvasRenderingContext2D; private initPixels; private initPoints; private performDraw; private layout; private layoutByCanvas; private layoutByDom; private click; private generatePixels; private handleTag; private placeTag; private tryPlaceTag; private getTagPixels; private getPixelsFromImgData; private loadMaskImage; private printPixels; private binaryStrIfy; } //# sourceMappingURL=tag2cloud.d.ts.map