aboutsummaryrefslogtreecommitdiff
path: root/src/Utils.ts
blob: cc1d8f6c654e17c6d5fa75d981a9385a6ec1a25e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import v4 = require('uuid/v4');
import v5 = require("uuid/v5");

export class Utils {

    public static GenerateGuid(): string {
        return v4();
    }

    public static GenerateDeterministicGuid(seed: string): string {
        return v5(seed, v5.URL);
    }

    public static GetScreenTransform(ele: HTMLElement): { scale: number, translateX: number, translateY: number } {
        const rect = ele.getBoundingClientRect();
        const scale = ele.offsetWidth == 0 && rect.width == 0 ? 1 : rect.width / ele.offsetWidth;
        const translateX = rect.left;
        const translateY = rect.top;

        return { scale, translateX, translateY };
    }
}