Skip to content

Commit

Permalink
fix: continue click should hit same position
Browse files Browse the repository at this point in the history
  • Loading branch information
F-star committed Jun 23, 2024
1 parent 5fee98c commit 34aa794
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
11 changes: 9 additions & 2 deletions packages/core/src/host_event_manager/host_event_manager.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { EventEmitter } from '@suika/common';
import { EventEmitter, shallowCompare } from '@suika/common';
import { type IPoint } from '@suika/geo';

import { type Editor } from '../editor';
Expand Down Expand Up @@ -86,19 +86,26 @@ export class HostEventManager {

private bindMouseRecordEvent() {
let pointerDownTimeStamp = -Infinity;
let lastPointerDownPos: IPoint = { x: -9999, y: -9999 };

const handlePointerEvent = (event: PointerEvent) => {
// mouse left
if (event.button === 0 && event.type === 'pointerdown') {
const now = new Date().getTime();
if (
now - pointerDownTimeStamp <
this.editor.setting.get('continueSelectMaxGap')
this.editor.setting.get('continueSelectMaxGap') &&
event.pageX === lastPointerDownPos.x &&
event.pageY === lastPointerDownPos.y
) {
pointerDownTimeStamp = now;
this.eventEmitter.emit('continueClick');
}
pointerDownTimeStamp = now;
lastPointerDownPos = {
x: event.pageX,
y: event.pageY,
};
}

// mouse middle
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/setting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ export class Setting {

flipObjectsWhileResizing: true,

continueSelectMaxGap: 400, // millisecond
continueSelectMaxGap: 350, // millisecond
};
toggle<K extends BooleanKeys<Setting['value']>>(key: K) {
const value = this.value[key];
Expand Down

0 comments on commit 34aa794

Please sign in to comment.