diff options
author | bobzel <zzzman@gmail.com> | 2025-06-23 13:26:59 -0400 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2025-06-23 13:26:59 -0400 |
commit | 35bd9e51f7cef551382025a5459d68eddd8f028b (patch) | |
tree | 8edab8e8e283d06bdeba632959fd51e1488c4af5 /src/Utils.ts | |
parent | e7a96fa043cfc9c3c426e09bbef42c8df88a45f6 (diff) |
fixed invalidations to not trigger creating new refs when ref= was assigned to an anonymous function. fixed scribble erase to not delete everything it overlaps, just things it intersects with or contains. fixed ink to have a Math mode and fixed math recognition myscript calls.
Diffstat (limited to 'src/Utils.ts')
-rw-r--r-- | src/Utils.ts | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Utils.ts b/src/Utils.ts index 724725c23..e96b8e231 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -202,6 +202,9 @@ export function aggregateBounds(boundsList: { x: number; y: number; width?: numb export function intersectRect(r1: { left: number; top: number; width: number; height: number }, r2: { left: number; top: number; width: number; height: number }) { return !(r2.left > r1.left + r1.width || r2.left + r2.width < r1.left || r2.top > r1.top + r1.height || r2.top + r2.height < r1.top); } +export function rectContains(r1: { left: number; top: number; width: number; height: number }, r2: { left: number; top: number; width: number; height: number }) { + if (r1.left < r2.left && r1.left + r1.width > r2.left + r2.width && r1.top < r2.top && r1.top + r1.height > r2.top + r2.height) return true; +} export function stringHash(s?: string) { return !s ? undefined : Math.abs(s.split('').reduce((a, b) => (n => n & n)((a << 5) - a + b.charCodeAt(0)), 0)); |