@nmmty/lazycanvas
Version:
A simple way to interact with @napi-rs/canvas in an advanced way!
50 lines (46 loc) • 1.08 kB
TypeScript
import { ColorType, ScaleType, AnyCentring, AnyGlobalCompositeOperation } from "../";
import { LayerType } from "../enum";
export interface IBaseLayer {
id: string;
type: LayerType;
zIndex: number;
visible: boolean;
props: IBaseLayerProps;
}
export interface IBaseLayerProps {
x: ScaleType;
y: ScaleType;
centring: AnyCentring;
filter: string;
opacity: number;
filled: boolean;
fillStyle: ColorType;
stroke: {
width: number;
cap: CanvasLineCap;
join: CanvasLineJoin;
dashOffset: number;
dash: number[];
miterLimit: number;
};
shadow: {
color: string;
blur: number;
offsetX: number;
offsetY: number;
};
transform: Transform;
globalComposite: AnyGlobalCompositeOperation;
}
export interface Transform {
rotate: number;
scale: {
x: number;
y: number;
};
translate: {
x: number;
y: number;
};
matrix: DOMMatrix2DInit;
}