UNPKG

@nmmty/lazycanvas

Version:

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

77 lines (76 loc) 2.83 kB
import { LayerType } from "../types/enum"; import { Transform, ScaleType, ColorType, PointNumber, AnyCentring, AnyTextAlign, AnySaveFormat } from "../types"; import { Gradient } from "../structures/helpers/Gradient"; import { Canvas, SKRSContext2D } from "@napi-rs/canvas"; import { Pattern } from "../structures/helpers/Pattern"; import { LayersManager } from "../structures/managers/LayersManager"; export declare function generateID(type: string): string; export declare function isColor(v: ColorType): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"; export declare function parseHex(v: string): string; export declare function parseColor(v: ColorType): string | Pattern | Gradient; export declare function parseToNormal(v: ScaleType, ctx: SKRSContext2D, canvas: Canvas, layer?: { width: number; height: number; }, options?: { vertical?: boolean; layer?: boolean; }, manager?: LayersManager): number; export declare function parser(ctx: SKRSContext2D, canvas: Canvas, 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): void; export declare function parseFillStyle(ctx: SKRSContext2D, color: ColorType): string | Promise<CanvasPattern> | CanvasGradient; 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 saveFile(buffer: any, extension: AnySaveFormat, name: string): Promise<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; };