src/toolbox/base/ToolBox.ts
Properties |
Methods |
Public
constructor(layer: Layer, autoClear)
|
|||||||||
Defined in src/toolbox/base/ToolBox.ts:8
|
|||||||||
Parameters :
|
Public autoClear |
Default value : false
|
Defined in src/toolbox/base/ToolBox.ts:9
|
Public history |
Type : HistoryCallback[]
|
Default value : []
|
Defined in src/toolbox/base/ToolBox.ts:8
|
Public Readonly layer |
Type : Layer
|
Defined in src/toolbox/base/ToolBox.ts:9
|
Public render |
render()
|
Defined in src/toolbox/base/ToolBox.ts:27
|
Returns :
void
|
Public restore |
restore()
|
Defined in src/toolbox/base/ToolBox.ts:19
|
Returns :
this
|
Public save |
save()
|
Defined in src/toolbox/base/ToolBox.ts:11
|
Returns :
this
|
import { SKRSContext2D } from "@napi-rs/canvas";
import { Layer } from "../../layer/Layer";
export type Awaitable<T> = Promise<T> | T;
export type HistoryCallback = (ctx: SKRSContext2D) => Awaitable<void>;
export class ToolBox {
public history: HistoryCallback[] = [];
public constructor(public readonly layer: Layer, public autoClear = false) {}
public save() {
this.history.push((ctx) => {
ctx.save();
});
return this;
}
public restore() {
this.history.push((ctx) => {
ctx.restore();
});
return this;
}
public render() {
this.layer.applyTool(this);
if (this.autoClear) this.history = [];
}
}