blob: fc07e8ab4e2bdb5c7c21540fae0c0f2c5fe03987 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 | import { observable, action, runInAction } from "mobx";
export namespace SnappingManager {
    class Manager {
        @observable IsDragging: boolean = false;
        @observable public horizSnapLines: number[] = [];
        @observable public vertSnapLines: number[] = [];
        @action public clearSnapLines() {
            this.vertSnapLines = [];
            this.horizSnapLines = [];
        }
        @action public setSnapLines(horizLines: number[], vertLines: number[]) {
            this.horizSnapLines = horizLines;
            this.vertSnapLines = vertLines;
        }
    }
    const manager = new Manager();
    export function clearSnapLines() { manager.clearSnapLines(); }
    export function setSnapLines(horizLines: number[], vertLines: number[]) { manager.setSnapLines(horizLines, vertLines); }
    export function horizSnapLines() { return manager.horizSnapLines; }
    export function vertSnapLines() { return manager.vertSnapLines; }
    export function SetIsDragging(dragging: boolean) { runInAction(() => manager.IsDragging = dragging); }
    export function GetIsDragging() { return manager.IsDragging; }
}
 |