@nmmty/lazycanvas
Version:
A simple way to interact with @napi-rs/canvas in an advanced way!
77 lines (76 loc) • 2.83 kB
TypeScript
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;
};