|
@@ -48,9 +48,12 @@ export const hitTest = (
|
|
|
): boolean => {
|
|
|
// How many pixels off the shape boundary we still consider a hit
|
|
|
const threshold = 10 / appState.zoom;
|
|
|
- const check = isElementDraggableFromInside(element, appState)
|
|
|
- ? isInsideCheck
|
|
|
- : isNearCheck;
|
|
|
+ const check =
|
|
|
+ element.type === "text"
|
|
|
+ ? isStrictlyInside
|
|
|
+ : isElementDraggableFromInside(element, appState)
|
|
|
+ ? isInsideCheck
|
|
|
+ : isNearCheck;
|
|
|
const point: Point = [x, y];
|
|
|
return hitTestPointAgainstElement({ element, point, threshold, check });
|
|
|
};
|
|
@@ -119,6 +122,10 @@ export const distanceToBindableElement = (
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+const isStrictlyInside = (distance: number, threshold: number): boolean => {
|
|
|
+ return distance < 0;
|
|
|
+};
|
|
|
+
|
|
|
const isInsideCheck = (distance: number, threshold: number): boolean => {
|
|
|
return distance < threshold;
|
|
|
};
|