Remove native gesture "support" from iOS (#2457)

We were processing both the touch move and gesture on iOS which was first firing twice as many set state, but also caused issues:
- The gesture implementation didn't support zooming on the center
- Touching down on a circle and then on the bottom chrome would freak out because initialScale was null

Touching down on the menu still isn't perfect as it shifts the shape around but doesn't completly break the zoom
This commit is contained in:
Christopher Chedeau 2020-12-05 15:47:03 -08:00 committed by GitHub
parent 545b214558
commit 2b6d1470f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1386,30 +1386,14 @@ class App extends React.Component<ExcalidrawProps, AppState> {
private onGestureStart = withBatchedUpdates((event: GestureEvent) => {
event.preventDefault();
this.setState({
selectedElementIds: {},
});
gesture.initialScale = this.state.zoom.value;
});
private onGestureChange = withBatchedUpdates((event: GestureEvent) => {
event.preventDefault();
this.setState(({ zoom }) => ({
zoom: getNewZoom(
getNormalizedZoom(gesture.initialScale! * event.scale),
zoom,
{ x: cursorX, y: cursorY },
),
}));
});
private onGestureEnd = withBatchedUpdates((event: GestureEvent) => {
event.preventDefault();
this.setState({
previousSelectedElementIds: {},
selectedElementIds: this.state.previousSelectedElementIds,
});
gesture.initialScale = null;
});
private handleTextWysiwyg(