aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2021-09-30 14:59:06 -0400
committerbobzel <zzzman@gmail.com>2021-09-30 14:59:06 -0400
commitc0423cc9c04e87bb4bff79d2d1bcdd0612efb1a2 (patch)
tree1fc885ec46bdb27c7551f20be1a0f7a8ddaf4ee2 /src
parenta61d301d8d3fc9d016ecd55b0e76e23055683795 (diff)
dont select ink control point on drag -- only with an explicit click. toggle ink control point selection with clicks.
Diffstat (limited to 'src')
-rw-r--r--src/client/views/InkControlPtHandles.tsx9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/client/views/InkControlPtHandles.tsx b/src/client/views/InkControlPtHandles.tsx
index 8eb74381a..94c238b2b 100644
--- a/src/client/views/InkControlPtHandles.tsx
+++ b/src/client/views/InkControlPtHandles.tsx
@@ -40,6 +40,7 @@ export class InkControlPtHandles extends React.Component<InkControlProps> {
const handleIndexA = ((order === 3 ? controlIndex - 1 : controlIndex - 2) + this.props.inkCtrlPoints.length) % this.props.inkCtrlPoints.length;
const handleIndexB = (order === 3 ? controlIndex + 2 : controlIndex + 1) % this.props.inkCtrlPoints.length;
const brokenIndices = Cast(this.props.inkDoc.brokenInkIndices, listSpec("number"));
+ const wasSelected = InkStrokeProperties.Instance?._currentPoint === controlIndex;
setupMoveUpEvents(this, e,
action((e: PointerEvent, down: number[], delta: number[]) => {
if (!this.controlUndo) this.controlUndo = UndoManager.StartBatch("drag ink ctrl pt");
@@ -73,7 +74,8 @@ export class InkControlPtHandles extends React.Component<InkControlProps> {
this.controlUndo?.end();
this.controlUndo = undefined;
}
- }));
+ this.changeCurrPoint(controlIndex);
+ }), undefined, undefined, () => wasSelected && this.changeCurrPoint(-1));
}
}
/**
@@ -139,10 +141,7 @@ export class InkControlPtHandles extends React.Component<InkControlProps> {
strokeWidth={screenSpaceLineWidth / 2}
stroke={Colors.MEDIUM_BLUE}
fill={broken ? Colors.MEDIUM_BLUE : color}
- onPointerDown={(e: any) => {
- this.changeCurrPoint(control.I);
- this.onControlDown(e, control.I);
- }}
+ onPointerDown={(e: any) => this.onControlDown(e, control.I)}
onMouseEnter={() => this.onEnterControl(control.I)}
onMouseLeave={this.onLeaveControl}
pointerEvents="all"