浏览代码

split curve only for rounded curves

Preet 1 年之前
父节点
当前提交
bc5436592e
共有 2 个文件被更改,包括 13 次插入11 次删除
  1. 12 10
      src/components/App.tsx
  2. 1 1
      src/renderer/renderScene.ts

+ 12 - 10
src/components/App.tsx

@@ -3758,18 +3758,20 @@ class App extends React.Component<AppProps, AppState> {
     const selectedElements = this.scene.getSelectedElements(this.state);
     const selectedElements = this.scene.getSelectedElements(this.state);
 
 
     if (selectedElements.length === 1 && isLinearElement(selectedElements[0])) {
     if (selectedElements.length === 1 && isLinearElement(selectedElements[0])) {
-      const pointUnderCursorIndex = LinearElementEditor.getPointIndexUnderCursor(
-        selectedElements[0],
-        this.state.zoom,
-        sceneX,
-        sceneY,
-      );
-      if (pointUnderCursorIndex >= 0) {
-        LinearElementEditor.toggleSegmentSplitAtIndex(
+      if (selectedElements[0].roundness) {
+        const pointUnderCursorIndex = LinearElementEditor.getPointIndexUnderCursor(
           selectedElements[0],
           selectedElements[0],
-          pointUnderCursorIndex,
+          this.state.zoom,
+          sceneX,
+          sceneY,
         );
         );
-        return;
+        if (pointUnderCursorIndex >= 0) {
+          LinearElementEditor.toggleSegmentSplitAtIndex(
+            selectedElements[0],
+            pointUnderCursorIndex,
+          );
+          return;
+        } 
       }
       }
       if (
       if (
         event[KEYS.CTRL_OR_CMD] &&
         event[KEYS.CTRL_OR_CMD] &&

+ 1 - 1
src/renderer/renderScene.ts

@@ -279,7 +279,7 @@ const renderLinearPointHandles = (
     const isSelected =
     const isSelected =
       !!appState.editingLinearElement?.selectedPointsIndices?.includes(idx);
       !!appState.editingLinearElement?.selectedPointsIndices?.includes(idx);
 
 
-    const segmented = element.segmentSplitIndices ? element.segmentSplitIndices.includes(idx) : false;
+    const segmented = element.roundness ? (element.segmentSplitIndices ? element.segmentSplitIndices.includes(idx) : false) : false;
 
 
     renderSingleLinearPoint(context, appState, point, radius, isSelected, segmented);
     renderSingleLinearPoint(context, appState, point, radius, isSelected, segmented);
   });
   });