@plait/core 0.75.0-next.8 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/interfaces/index.mjs +2 -1
- package/esm2022/interfaces/svg-arc-command.mjs +2 -0
- package/esm2022/utils/math.mjs +38 -28
- package/fesm2022/plait-core.mjs +38 -28
- package/fesm2022/plait-core.mjs.map +1 -1
- package/interfaces/index.d.ts +1 -0
- package/interfaces/svg-arc-command.d.ts +9 -0
- package/package.json +1 -1
- package/utils/math.d.ts +6 -21
package/fesm2022/plait-core.mjs
CHANGED
|
@@ -892,7 +892,7 @@ function getNearestPointBetweenPointAndSegment(point, linePoints) {
|
|
|
892
892
|
}
|
|
893
893
|
return [xx, yy];
|
|
894
894
|
}
|
|
895
|
-
function distanceBetweenPointAndSegments(
|
|
895
|
+
function distanceBetweenPointAndSegments(point, points) {
|
|
896
896
|
const len = points.length;
|
|
897
897
|
let distance = Infinity;
|
|
898
898
|
if (points.length === 1) {
|
|
@@ -925,6 +925,19 @@ function getNearestPointBetweenPointAndSegments(point, points, isClose = true) {
|
|
|
925
925
|
}
|
|
926
926
|
return result;
|
|
927
927
|
}
|
|
928
|
+
function getNearestPointBetweenPointAndDiscreteSegments(point, segments) {
|
|
929
|
+
let minDistance = Infinity;
|
|
930
|
+
let nearestPoint = point;
|
|
931
|
+
for (const segment of segments) {
|
|
932
|
+
const currentNearestPoint = getNearestPointBetweenPointAndSegment(point, segment);
|
|
933
|
+
const currentDistance = distanceBetweenPointAndPoint(point[0], point[1], currentNearestPoint[0], currentNearestPoint[1]);
|
|
934
|
+
if (currentDistance < minDistance) {
|
|
935
|
+
minDistance = currentDistance;
|
|
936
|
+
nearestPoint = currentNearestPoint;
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
return nearestPoint;
|
|
940
|
+
}
|
|
928
941
|
function getNearestPointBetweenPointAndEllipse(point, center, rx, ry) {
|
|
929
942
|
const rectangleClient = {
|
|
930
943
|
x: center[0] - rx,
|
|
@@ -997,10 +1010,10 @@ const isLineHitRectangle = (points, rectangle) => {
|
|
|
997
1010
|
const rectanglePoints = RectangleClient.getCornerPoints(rectangle);
|
|
998
1011
|
const len = points.length;
|
|
999
1012
|
for (let i = 0; i < len; i++) {
|
|
1000
|
-
if (i === len - 1)
|
|
1001
|
-
continue;
|
|
1002
1013
|
const p1 = points[i];
|
|
1003
1014
|
const p2 = points[(i + 1) % len];
|
|
1015
|
+
if (i === len - 1 && Point.isEquals(p1, p2))
|
|
1016
|
+
continue;
|
|
1004
1017
|
const isHit = isSingleLineHitRectangleEdge(p1, p2, rectangle);
|
|
1005
1018
|
if (isHit || isPointInPolygon(p1, rectanglePoints) || isPointInPolygon(p2, rectanglePoints)) {
|
|
1006
1019
|
return true;
|
|
@@ -1229,64 +1242,61 @@ function getPointBetween(x0, y0, x1, y1, d = 0.5) {
|
|
|
1229
1242
|
* 获取点到半椭圆弧段的最近点
|
|
1230
1243
|
* @param point 目标点
|
|
1231
1244
|
* @param startPoint 弧段起点
|
|
1232
|
-
* @param
|
|
1245
|
+
* @param arcCommand SVG 弧形命令参数
|
|
1233
1246
|
*/
|
|
1234
1247
|
/**
|
|
1235
1248
|
* 计算椭圆弧的中心点和实际半径
|
|
1236
1249
|
*/
|
|
1237
|
-
function getEllipseArcCenter(startPoint,
|
|
1250
|
+
function getEllipseArcCenter(startPoint, arcCommand) {
|
|
1238
1251
|
// 1. 将坐标转换到标准位置
|
|
1239
|
-
const dx = (
|
|
1240
|
-
const dy = (
|
|
1241
|
-
const cosAngle = Math.cos(
|
|
1242
|
-
const sinAngle = Math.sin(
|
|
1252
|
+
const dx = (arcCommand.endX - startPoint[0]) / 2;
|
|
1253
|
+
const dy = (arcCommand.endY - startPoint[1]) / 2;
|
|
1254
|
+
const cosAngle = Math.cos(arcCommand.xAxisRotation);
|
|
1255
|
+
const sinAngle = Math.sin(arcCommand.xAxisRotation);
|
|
1243
1256
|
// 旋转到椭圆坐标系
|
|
1244
1257
|
const x1 = cosAngle * dx + sinAngle * dy;
|
|
1245
1258
|
const y1 = -sinAngle * dx + cosAngle * dy;
|
|
1246
1259
|
// 2. 计算中心点
|
|
1247
|
-
const rx = Math.abs(
|
|
1248
|
-
const ry = Math.abs(
|
|
1260
|
+
const rx = Math.abs(arcCommand.rx);
|
|
1261
|
+
const ry = Math.abs(arcCommand.ry);
|
|
1249
1262
|
// 确保半径足够大
|
|
1250
1263
|
const lambda = (x1 * x1) / (rx * rx) + (y1 * y1) / (ry * ry);
|
|
1251
1264
|
const factor = lambda > 1 ? Math.sqrt(lambda) : 1;
|
|
1252
1265
|
const adjustedRx = rx * factor;
|
|
1253
1266
|
const adjustedRy = ry * factor;
|
|
1254
1267
|
// 计算中心点坐标
|
|
1255
|
-
const sign =
|
|
1256
|
-
const sq = (
|
|
1257
|
-
(adjustedRx * adjustedRx * y1 * y1)
|
|
1258
|
-
(adjustedRy * adjustedRy * x1 * x1)) /
|
|
1259
|
-
((adjustedRx * adjustedRx * y1 * y1) +
|
|
1260
|
-
(adjustedRy * adjustedRy * x1 * x1));
|
|
1268
|
+
const sign = arcCommand.largeArcFlag === arcCommand.sweepFlag ? -1 : 1;
|
|
1269
|
+
const sq = (adjustedRx * adjustedRx * adjustedRy * adjustedRy - adjustedRx * adjustedRx * y1 * y1 - adjustedRy * adjustedRy * x1 * x1) /
|
|
1270
|
+
(adjustedRx * adjustedRx * y1 * y1 + adjustedRy * adjustedRy * x1 * x1);
|
|
1261
1271
|
const coef = sign * Math.sqrt(Math.max(0, sq));
|
|
1262
1272
|
const centerX = coef * ((adjustedRx * y1) / adjustedRy);
|
|
1263
1273
|
const centerY = coef * (-(adjustedRy * x1) / adjustedRx);
|
|
1264
1274
|
// 3. 转换回原始坐标系
|
|
1265
|
-
const cx = cosAngle * centerX - sinAngle * centerY + (startPoint[0] +
|
|
1266
|
-
const cy = sinAngle * centerX + cosAngle * centerY + (startPoint[1] +
|
|
1275
|
+
const cx = cosAngle * centerX - sinAngle * centerY + (startPoint[0] + arcCommand.endX) / 2;
|
|
1276
|
+
const cy = sinAngle * centerX + cosAngle * centerY + (startPoint[1] + arcCommand.endY) / 2;
|
|
1267
1277
|
return {
|
|
1268
1278
|
center: [cx, cy],
|
|
1269
1279
|
rx: adjustedRx,
|
|
1270
1280
|
ry: adjustedRy
|
|
1271
1281
|
};
|
|
1272
1282
|
}
|
|
1273
|
-
function getNearestPointBetweenPointAndArc(point, startPoint,
|
|
1274
|
-
const { center, rx, ry } = getEllipseArcCenter(startPoint,
|
|
1283
|
+
function getNearestPointBetweenPointAndArc(point, startPoint, arcCommand) {
|
|
1284
|
+
const { center, rx, ry } = getEllipseArcCenter(startPoint, arcCommand);
|
|
1275
1285
|
// 获取椭圆上的最近点
|
|
1276
1286
|
const nearestPoint = getNearestPointBetweenPointAndEllipse(point, center, rx, ry);
|
|
1277
1287
|
// 判断最近点是否在弧段上
|
|
1278
1288
|
const startAngle = Math.atan2(startPoint[1] - center[1], startPoint[0] - center[0]);
|
|
1279
|
-
const endAngle = Math.atan2(
|
|
1289
|
+
const endAngle = Math.atan2(arcCommand.endY - center[1], arcCommand.endX - center[0]);
|
|
1280
1290
|
const pointAngle = Math.atan2(nearestPoint[1] - center[1], nearestPoint[0] - center[0]);
|
|
1281
1291
|
// 检查点是否在弧段范围内
|
|
1282
|
-
const isInArc = isAngleBetween(pointAngle, startAngle, endAngle,
|
|
1292
|
+
const isInArc = isAngleBetween(pointAngle, startAngle, endAngle, arcCommand.sweepFlag === 1);
|
|
1283
1293
|
if (isInArc) {
|
|
1284
1294
|
return nearestPoint;
|
|
1285
1295
|
}
|
|
1286
1296
|
// 如果不在弧段上,返回最近的端点
|
|
1287
1297
|
const distanceToStart = distanceBetweenPointAndPoint(point[0], point[1], startPoint[0], startPoint[1]);
|
|
1288
|
-
const distanceToEnd = distanceBetweenPointAndPoint(point[0], point[1],
|
|
1289
|
-
return distanceToStart < distanceToEnd ? startPoint : [
|
|
1298
|
+
const distanceToEnd = distanceBetweenPointAndPoint(point[0], point[1], arcCommand.endX, arcCommand.endY);
|
|
1299
|
+
return distanceToStart < distanceToEnd ? startPoint : [arcCommand.endX, arcCommand.endY];
|
|
1290
1300
|
}
|
|
1291
1301
|
function isAngleBetween(angle, start, end, clockwise) {
|
|
1292
1302
|
// 标准化角度到 [0, 2π]
|
|
@@ -1295,10 +1305,10 @@ function isAngleBetween(angle, start, end, clockwise) {
|
|
|
1295
1305
|
const s = normalize(start);
|
|
1296
1306
|
const e = normalize(end);
|
|
1297
1307
|
if (clockwise) {
|
|
1298
|
-
return s <= e ?
|
|
1308
|
+
return s <= e ? a >= s && a <= e : a >= s || a <= e;
|
|
1299
1309
|
}
|
|
1300
1310
|
else {
|
|
1301
|
-
return s >= e ?
|
|
1311
|
+
return s >= e ? a <= s && a >= e : a <= s || a >= e;
|
|
1302
1312
|
}
|
|
1303
1313
|
}
|
|
1304
1314
|
|
|
@@ -6782,5 +6792,5 @@ function createModModifierKeys() {
|
|
|
6782
6792
|
* Generated bundle index. Do not edit.
|
|
6783
6793
|
*/
|
|
6784
6794
|
|
|
6785
|
-
export { A, ACTIVE_MOVING_CLASS_NAME, ACTIVE_STROKE_WIDTH, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_AFTER_CHANGE, BOARD_TO_CONTEXT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_MOVING_POINT_IN_BOARD, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, CoreTransforms, CursorClass, D, DASH, DEFAULT_COLOR, DELETE, DOWN_ARROW, DRAG_SELECTION_PRESS_AND_MOVE_BUFFER, DarkThemeColor, DebugGenerator, DefaultThemeColor, Direction, E, EIGHT, ELEMENT_TO_REF, END, ENTER, EQUALS, ESCAPE, ElementFlavour, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FLUSHING, FOUR, G, H, HISTORY, HIT_DISTANCE_BUFFER, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_ALIVE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_DRAGGING, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, J, K, KEY_TO_ELEMENT_MAP, L, LAST_MEDIA, LEFT_ARROW, ListRender, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MAX_ZOOM, MERGING, META, MIN_ZOOM, MUTE, N, NINE, NODE_TO_CONTAINER_G, NODE_TO_G, NODE_TO_INDEX, NODE_TO_PARENT, NS, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PATH_REFS, PAUSE, PERIOD, PLUS_SIGN, POINTER_BUTTON, PRESS_AND_MOVE_BUFFER, PRINT_SCREEN, Path, PlaitBoard, PlaitBoardContext, PlaitElement, PlaitGroupElement, PlaitHistoryBoard, PlaitNode, PlaitOperation, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RESIZE_CURSORS, RESIZE_HANDLE_CLASS_NAME, RIGHT_ARROW, ROTATE_HANDLE_CLASS_NAME, RectangleClient, ResizeCursorClass, RetroThemeColor, RgbaToHEX, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SELECTION_RECTANGLE_BOUNDING_CLASS_NAME, SELECTION_RECTANGLE_CLASS_NAME, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SNAPPING_STROKE_WIDTH, SNAP_TOLERANCE, SPACE, SPLITTING_ONCE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, Viewport, W, WritableClipboardOperationType, WritableClipboardType, X, Y, Z, ZERO, ZOOM_STEP, addClipboardContext, addOrCreateClipboardContext, addSelectedElement, approximately, arrowPoints, buildPlaitHtml, cacheMovingElements, cacheSelectedElements, cacheSelectedElementsWithGroup, cacheSelectedElementsWithGroupOnShift, calcNewViewBox, canAddGroup, canRemoveGroup, canSetZIndex, catmullRomFitting, ceilToDecimal, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createBoard, createClipboardContext, createDebugGenerator, createFakeEvent, createForeignObject, createG, createGroup, createGroupRectangleG, createKeyboardEvent, createMask, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createRect, createSVG, createTestingBoard, createText, createTouchEvent, debounce, degreesToRadians, deleteFragment, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, distanceBetweenPointAndSegments, downloadImage, drawArrow, drawBezierPath, drawCircle, drawDashedLines, drawLine, drawLinearPath, drawPendingNodesG, drawPointSnapLines, drawRectangle, drawRoundRectangle, drawSelectionRectangleG, drawSolidLines, duplicateElements, fakeNodeWeakMap, filterSelectedGroups, findElements, findIndex, findLastIndex, getAllElementsInGroup, getAllMoveOptions, getAngleBetweenPoints, getAngleByElement, getBarPoint, getBoardRectangle, getBoundingRectangleByElements, getClipboardData, getClipboardFromHtml, getCrossingPointsBetweenEllipseAndSegment, getDataTransferClipboard, getDataTransferClipboardText, getEditingGroup, getElementById, getElementHostBBox, getElementMap, getElementsInGroup, getElementsInGroupByElement, getElementsIndices, getEllipseArcCenter, getEllipseTangentSlope, getGroupByElement, getHighestGroup, getHighestIndexOfElement, getHighestSelectedElements, getHighestSelectedGroup, getHighestSelectedGroups, getHitElementByPoint, getHitElementsByPoint, getHitElementsBySelection, getHitSelectedElements, getIsRecursionFunc, getMinPointDelta, getMovingElements, getNearestDelta, getNearestPointBetweenPointAndArc, getNearestPointBetweenPointAndEllipse, getNearestPointBetweenPointAndSegment, getNearestPointBetweenPointAndSegments, getNearestPointRectangle, getOffsetAfterRotate, getOneMoveOptions, getPointBetween, getProbablySupportsClipboardRead, getProbablySupportsClipboardWrite, getProbablySupportsClipboardWriteText, getRealScrollBarWidth, getRectangleByAngle, getRectangleByElements, getRectangleByGroup, getRotatedBoundingRectangle, getSelectedElements, getSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getSelectedTargetElements, getSelectionAngle, getSelectionOptions, getSnapRectangles, getTemporaryElements, getTemporaryRef, getTripleAxis, getValidElements, getVectorFromPointAndSlope, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnContextChanged, hasSameAngle, hasSelectedElementsInSameGroup, hasSetSelectionOperation, hasValidAngle, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isAxisChangedByAngle, isContextmenu, isDOMElement, isDOMNode, isDebug, isDragging, isFromScrolling, isFromViewportChange, isHandleSelection, isHitElement, isHitSelectedRectangle, isInPlaitBoard, isIndicesContinuous, isLineHitLine, isLineHitRectangle, isLineHitRectangleEdge, isMainPointer, isMobileDeviceEvent, isMouseEvent, isMovingElements, isNullOrUndefined, isPencilEvent, isPointInEllipse, isPointInPolygon, isPointInRoundRectangle, isSecondaryPointer, isSelectedAllElementsInGroup, isSelectedElement, isSelectedElementOrGroup, isSelectionMoving, isSetSelectionOperation, isSetThemeOperation, isSetViewportOperation, isSingleLineHitRectangleEdge, isSnapPoint, isTouchEvent, isValidAngle, mountElementG, moveElementsToNewPath, moveElementsToNewPathAfterAddGroup, nonGroupInHighestSelectedElements, normalizeAngle, normalizePoint, radiansToDegrees, removeMovingElements, removeSelectedElement, replaceAngleBrackets, replaceSelectedElement, reverseReplaceAngleBrackets, rotate, rotateAntiPointsByElement, rotateElements, rotatePoints, rotatePointsByAngle, rotatePointsByElement, rotatedDataPoints, scrollToRectangle, setAngleForG, setClipboardData, setDataTransferClipboard, setDataTransferClipboardText, setDragging, setFragment, setIsFromScrolling, setIsFromViewportChange, setPathStrokeLinecap, setSVGViewBox, setSelectedElementsWithGroup, setSelectionMoving, setSelectionOptions, setStrokeLinecap, shouldClear, shouldMerge, shouldSave, sortElements, stripHtml, temporaryDisableSelection, throttleRAF, toDomPrecision, toFixed, toHostPoint, toHostPointFromViewBoxPoint, toImage, toScreenPointFromHostPoint, toViewBoxPoint, toViewBoxPoints, uniqueById, updateForeignObject, updateForeignObjectWidth, updatePoints, updateViewportByScrolling, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withArrowMoving, withBoard, withHandPointer, withHistory, withHotkey, withMoving, withOptions, withRelatedFragment, withSelection, withViewport };
|
|
6795
|
+
export { A, ACTIVE_MOVING_CLASS_NAME, ACTIVE_STROKE_WIDTH, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_AFTER_CHANGE, BOARD_TO_CONTEXT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_MOVING_POINT_IN_BOARD, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, CoreTransforms, CursorClass, D, DASH, DEFAULT_COLOR, DELETE, DOWN_ARROW, DRAG_SELECTION_PRESS_AND_MOVE_BUFFER, DarkThemeColor, DebugGenerator, DefaultThemeColor, Direction, E, EIGHT, ELEMENT_TO_REF, END, ENTER, EQUALS, ESCAPE, ElementFlavour, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FLUSHING, FOUR, G, H, HISTORY, HIT_DISTANCE_BUFFER, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_ALIVE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_DRAGGING, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, J, K, KEY_TO_ELEMENT_MAP, L, LAST_MEDIA, LEFT_ARROW, ListRender, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MAX_ZOOM, MERGING, META, MIN_ZOOM, MUTE, N, NINE, NODE_TO_CONTAINER_G, NODE_TO_G, NODE_TO_INDEX, NODE_TO_PARENT, NS, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PATH_REFS, PAUSE, PERIOD, PLUS_SIGN, POINTER_BUTTON, PRESS_AND_MOVE_BUFFER, PRINT_SCREEN, Path, PlaitBoard, PlaitBoardContext, PlaitElement, PlaitGroupElement, PlaitHistoryBoard, PlaitNode, PlaitOperation, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RESIZE_CURSORS, RESIZE_HANDLE_CLASS_NAME, RIGHT_ARROW, ROTATE_HANDLE_CLASS_NAME, RectangleClient, ResizeCursorClass, RetroThemeColor, RgbaToHEX, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SELECTION_RECTANGLE_BOUNDING_CLASS_NAME, SELECTION_RECTANGLE_CLASS_NAME, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SNAPPING_STROKE_WIDTH, SNAP_TOLERANCE, SPACE, SPLITTING_ONCE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, Viewport, W, WritableClipboardOperationType, WritableClipboardType, X, Y, Z, ZERO, ZOOM_STEP, addClipboardContext, addOrCreateClipboardContext, addSelectedElement, approximately, arrowPoints, buildPlaitHtml, cacheMovingElements, cacheSelectedElements, cacheSelectedElementsWithGroup, cacheSelectedElementsWithGroupOnShift, calcNewViewBox, canAddGroup, canRemoveGroup, canSetZIndex, catmullRomFitting, ceilToDecimal, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createBoard, createClipboardContext, createDebugGenerator, createFakeEvent, createForeignObject, createG, createGroup, createGroupRectangleG, createKeyboardEvent, createMask, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createRect, createSVG, createTestingBoard, createText, createTouchEvent, debounce, degreesToRadians, deleteFragment, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, distanceBetweenPointAndSegments, downloadImage, drawArrow, drawBezierPath, drawCircle, drawDashedLines, drawLine, drawLinearPath, drawPendingNodesG, drawPointSnapLines, drawRectangle, drawRoundRectangle, drawSelectionRectangleG, drawSolidLines, duplicateElements, fakeNodeWeakMap, filterSelectedGroups, findElements, findIndex, findLastIndex, getAllElementsInGroup, getAllMoveOptions, getAngleBetweenPoints, getAngleByElement, getBarPoint, getBoardRectangle, getBoundingRectangleByElements, getClipboardData, getClipboardFromHtml, getCrossingPointsBetweenEllipseAndSegment, getDataTransferClipboard, getDataTransferClipboardText, getEditingGroup, getElementById, getElementHostBBox, getElementMap, getElementsInGroup, getElementsInGroupByElement, getElementsIndices, getEllipseArcCenter, getEllipseTangentSlope, getGroupByElement, getHighestGroup, getHighestIndexOfElement, getHighestSelectedElements, getHighestSelectedGroup, getHighestSelectedGroups, getHitElementByPoint, getHitElementsByPoint, getHitElementsBySelection, getHitSelectedElements, getIsRecursionFunc, getMinPointDelta, getMovingElements, getNearestDelta, getNearestPointBetweenPointAndArc, getNearestPointBetweenPointAndDiscreteSegments, getNearestPointBetweenPointAndEllipse, getNearestPointBetweenPointAndSegment, getNearestPointBetweenPointAndSegments, getNearestPointRectangle, getOffsetAfterRotate, getOneMoveOptions, getPointBetween, getProbablySupportsClipboardRead, getProbablySupportsClipboardWrite, getProbablySupportsClipboardWriteText, getRealScrollBarWidth, getRectangleByAngle, getRectangleByElements, getRectangleByGroup, getRotatedBoundingRectangle, getSelectedElements, getSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getSelectedTargetElements, getSelectionAngle, getSelectionOptions, getSnapRectangles, getTemporaryElements, getTemporaryRef, getTripleAxis, getValidElements, getVectorFromPointAndSlope, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnContextChanged, hasSameAngle, hasSelectedElementsInSameGroup, hasSetSelectionOperation, hasValidAngle, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isAxisChangedByAngle, isContextmenu, isDOMElement, isDOMNode, isDebug, isDragging, isFromScrolling, isFromViewportChange, isHandleSelection, isHitElement, isHitSelectedRectangle, isInPlaitBoard, isIndicesContinuous, isLineHitLine, isLineHitRectangle, isLineHitRectangleEdge, isMainPointer, isMobileDeviceEvent, isMouseEvent, isMovingElements, isNullOrUndefined, isPencilEvent, isPointInEllipse, isPointInPolygon, isPointInRoundRectangle, isSecondaryPointer, isSelectedAllElementsInGroup, isSelectedElement, isSelectedElementOrGroup, isSelectionMoving, isSetSelectionOperation, isSetThemeOperation, isSetViewportOperation, isSingleLineHitRectangleEdge, isSnapPoint, isTouchEvent, isValidAngle, mountElementG, moveElementsToNewPath, moveElementsToNewPathAfterAddGroup, nonGroupInHighestSelectedElements, normalizeAngle, normalizePoint, radiansToDegrees, removeMovingElements, removeSelectedElement, replaceAngleBrackets, replaceSelectedElement, reverseReplaceAngleBrackets, rotate, rotateAntiPointsByElement, rotateElements, rotatePoints, rotatePointsByAngle, rotatePointsByElement, rotatedDataPoints, scrollToRectangle, setAngleForG, setClipboardData, setDataTransferClipboard, setDataTransferClipboardText, setDragging, setFragment, setIsFromScrolling, setIsFromViewportChange, setPathStrokeLinecap, setSVGViewBox, setSelectedElementsWithGroup, setSelectionMoving, setSelectionOptions, setStrokeLinecap, shouldClear, shouldMerge, shouldSave, sortElements, stripHtml, temporaryDisableSelection, throttleRAF, toDomPrecision, toFixed, toHostPoint, toHostPointFromViewBoxPoint, toImage, toScreenPointFromHostPoint, toViewBoxPoint, toViewBoxPoints, uniqueById, updateForeignObject, updateForeignObjectWidth, updatePoints, updateViewportByScrolling, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withArrowMoving, withBoard, withHandPointer, withHistory, withHotkey, withMoving, withOptions, withRelatedFragment, withSelection, withViewport };
|
|
6786
6796
|
//# sourceMappingURL=plait-core.mjs.map
|