@nmmty/lazycanvas
Version:
A simple way to interact with @napi-rs/canvas in an advanced way!
84 lines (83 loc) • 2.97 kB
TypeScript
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)[];