UNPKG

@nmmty/lazycanvas

Version:

A simple way to interact with @napi-rs/canvas in an advanced way!

84 lines (83 loc) 2.97 kB
import { AnyCentring, AnyLayer, AnyTextAlign, ColorType, LayerType, PointNumber, ScaleType, SubStringColor, Transform } from "../types"; import { Canvas, SKRSContext2D, SvgCanvas } from "@napi-rs/canvas"; import { LayersManager } from "../structures/managers"; import { Group } from "../structures/components"; export declare function generateID(type: string): string; export declare function isColor(v: ColorType | SubStringColor): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"; export declare function parseToNormal(v: ScaleType, ctx: SKRSContext2D, canvas: Canvas | SvgCanvas, layer?: { width: number; height: number; }, options?: { vertical?: boolean; layer?: boolean; }, manager?: LayersManager): number; export declare function parser(ctx: SKRSContext2D, canvas: Canvas | SvgCanvas, manager?: LayersManager): { parse(v: ScaleType, layer?: { width: number; height: number; }, options?: { vertical?: boolean; layer?: boolean; }): number; parseBatch(values: Record<string, { v: ScaleType; layer?: { width: number; height: number; }; options?: { vertical?: boolean; layer?: boolean; }; }>): Record<string, number>; }; export declare function drawShadow(ctx: SKRSContext2D, shadow: any): void; export declare function opacity(ctx: SKRSContext2D, opacity?: number): void; export declare function filters(ctx: SKRSContext2D, filters: string | null | undefined): void; export declare function parseFillStyle(ctx: SKRSContext2D, color: ColorType | SubStringColor, opts: { debug?: boolean; layer?: { width: number; height: number; x: number; y: number; align: AnyCentring; }; manager?: LayersManager; }): string | CanvasGradient | Promise<CanvasPattern>; export declare function transform(ctx: SKRSContext2D, transform: Transform, layer?: { width: number; height: number; x: number; y: number; type: LayerType; }, extra?: { text: string; textAlign: AnyTextAlign; fontSize: number; multiline: boolean; }): void; export declare function generateRandomName(): string; export declare function isImageUrlValid(src: string): boolean; export declare function centring(centring: AnyCentring, type: LayerType, width: number, height: number, x: number, y: number): { x: number; y: number; }; export declare function getBoundingBoxBezier(points: PointNumber[], steps?: number): { min: { x: number; y: number; }; max: { x: number; y: number; }; center: { x: number; y: number; }; width: number; height: number; }; export declare function resize(value: ScaleType, ratio: number): number | string; export declare function resizeLayers(layers: Array<AnyLayer | Group>, ratio: number): (AnyLayer | Group)[];