mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
32 lines
671 B
TypeScript
32 lines
671 B
TypeScript
import type { EditorSelectionPatch } from "@/selection/editor-selection";
|
|
import type { ElementRef } from "@/timeline/types";
|
|
|
|
export interface CommandResult {
|
|
selection?: EditorSelectionPatch;
|
|
}
|
|
|
|
export function createElementSelectionResult(
|
|
selectedElements: ElementRef[],
|
|
): CommandResult {
|
|
return {
|
|
selection: {
|
|
selectedElements,
|
|
selectedKeyframes: [],
|
|
keyframeSelectionAnchor: null,
|
|
selectedMaskPoints: null,
|
|
},
|
|
};
|
|
}
|
|
|
|
export abstract class Command {
|
|
abstract execute(): CommandResult | undefined;
|
|
|
|
undo(): void {
|
|
throw new Error("Undo not implemented for this command");
|
|
}
|
|
|
|
redo(): CommandResult | undefined {
|
|
return this.execute();
|
|
}
|
|
}
|