aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/GestureOverlay.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/GestureOverlay.tsx')
-rw-r--r--src/client/views/GestureOverlay.tsx38
1 files changed, 14 insertions, 24 deletions
diff --git a/src/client/views/GestureOverlay.tsx b/src/client/views/GestureOverlay.tsx
index e3e252593..3a2738c3b 100644
--- a/src/client/views/GestureOverlay.tsx
+++ b/src/client/views/GestureOverlay.tsx
@@ -2,9 +2,9 @@ import * as fitCurve from 'fit-curve';
import { action, computed, makeObservable, observable, runInAction } from 'mobx';
import { observer } from 'mobx-react';
import * as React from 'react';
-import { returnEmptyDoclist, returnEmptyFilter, returnEmptyString, returnFalse, setupMoveUpEvents } from '../../ClientUtils';
+import { returnEmptyFilter, returnEmptyString, returnFalse, setupMoveUpEvents } from '../../ClientUtils';
import { emptyFunction } from '../../Utils';
-import { Doc, Opt } from '../../fields/Doc';
+import { Doc, Opt, returnEmptyDoclist } from '../../fields/Doc';
import { InkData, InkField, InkTool } from '../../fields/InkField';
import { NumCast } from '../../fields/Types';
import {
@@ -21,15 +21,14 @@ import {
SetActiveInkColor,
SetActiveInkWidth,
} from './nodes/DocumentView';
-// import MobileInkOverlay from '../../mobile/MobileInkOverlay';
import { Gestures } from '../../pen-gestures/GestureTypes';
import { GestureUtils } from '../../pen-gestures/GestureUtils';
-// import { MobileInkOverlayContent } from '../../server/Message';
import { InteractionUtils } from '../util/InteractionUtils';
import { ScriptingGlobals } from '../util/ScriptingGlobals';
import { Transform } from '../util/Transform';
import './GestureOverlay.scss';
import { ObservableReactComponent } from './ObservableReactComponent';
+import { returnEmptyDocViewList } from './StyleProvider';
import { ActiveFillColor, DocumentView } from './nodes/DocumentView';
export enum ToolglassTools {
@@ -70,15 +69,13 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
return this.Tool !== ToolglassTools.None;
}
- // @observable private showMobileInkOverlay: boolean = false;
-
private _overlayRef = React.createRef<HTMLDivElement>();
private _d1: Doc | undefined;
private _inkToTextDoc: Doc | undefined;
private thumbIdentifier?: number;
private pointerIdentifier?: number;
- constructor(props: any) {
+ constructor(props: GestureOverlayProps) {
super(props);
makeObservable(this);
GestureOverlay.Instances.push(this);
@@ -94,7 +91,7 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
@action
onPointerDown = (e: React.PointerEvent) => {
- if (!(e.target as any)?.className?.toString().startsWith('lm_')) {
+ if (!(e.target as HTMLElement)?.className?.toString().startsWith('lm_')) {
if ([InkTool.Highlighter, InkTool.Pen, InkTool.Write].includes(Doc.ActiveTool)) {
this._points.push({ X: e.clientX, Y: e.clientY });
setupMoveUpEvents(this, e, this.onPointerMove, this.onPointerUp, emptyFunction);
@@ -173,8 +170,8 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
newPoints.pop();
const controlPoints: { X: number; Y: number }[] = [];
- const bezierCurves = (fitCurve as any)(newPoints, 10);
- Array.from(bezierCurves).forEach((curve: any) => {
+ const bezierCurves = fitCurve.default(newPoints, 10);
+ Array.from(bezierCurves).forEach(curve => {
controlPoints.push({ X: curve[0][0], Y: curve[0][1] });
controlPoints.push({ X: curve[1][0], Y: curve[1][1] });
controlPoints.push({ X: curve[2][0], Y: curve[2][1] });
@@ -351,7 +348,7 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
return false;
};
- dispatchGesture = (gesture: Gestures, stroke?: InkData, text?: any) => {
+ dispatchGesture = (gesture: Gestures, stroke?: InkData, text?: string) => {
const points = (stroke ?? this._points).slice();
return (
document.elementFromPoint(points[0].X, points[0].Y)?.dispatchEvent(
@@ -411,7 +408,7 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
ActiveDash(),
1,
1,
- this.InkShape ?? '',
+ this.InkShape as Gestures,
'none',
1.0,
false
@@ -438,7 +435,7 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
ActiveDash(),
1,
1,
- this.InkShape ?? '',
+ this.InkShape as Gestures,
'none',
1.0,
false
@@ -466,7 +463,7 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
isContentActive={returnFalse}
renderDepth={0}
styleProvider={returnEmptyString}
- containerViewPath={returnEmptyDoclist}
+ containerViewPath={returnEmptyDocViewList}
focus={emptyFunction}
whenChildContentsActiveChanged={emptyFunction}
childFiltersByRanges={returnEmptyFilter}
@@ -484,7 +481,6 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
render() {
return (
<div className="gestureOverlay-cont" style={{ pointerEvents: this._props.isActive ? 'all' : 'none' }} ref={this._overlayRef} onPointerDown={this.onPointerDown}>
- {/* {this.showMobileInkOverlay ? <MobileInkOverlay /> : null} */}
{this.elements}
<div
@@ -516,13 +512,7 @@ export class GestureOverlay extends ObservableReactComponent<React.PropsWithChil
ScriptingGlobals.add('GestureOverlay', GestureOverlay);
// eslint-disable-next-line prefer-arrow-callback
-ScriptingGlobals.add(function setToolglass(tool: any) {
- runInAction(() => {
- GestureOverlay.Instance.Tool = tool;
- });
-});
-// eslint-disable-next-line prefer-arrow-callback
-ScriptingGlobals.add(function setPen(width: any, color: any, fill: any, arrowStart: any, arrowEnd: any, dash: any) {
+ScriptingGlobals.add(function setPen(width: string, color: string, fill: string, arrowStart: string, arrowEnd: string, dash: string) {
runInAction(() => {
GestureOverlay.Instance.SavedColor = ActiveInkColor();
SetActiveInkColor(color);
@@ -543,8 +533,8 @@ ScriptingGlobals.add(function resetPen() {
}, 'resets the pen tool');
ScriptingGlobals.add(
// eslint-disable-next-line prefer-arrow-callback
- function createText(text: any, x: any, y: any) {
- GestureOverlay.Instance.dispatchGesture(Gestures.Text, [{ X: x, Y: y }], text);
+ function createText(text: string, X: number, Y: number) {
+ GestureOverlay.Instance.dispatchGesture(Gestures.Text, [{ X, Y }], text);
},
'creates a text document with inputted text and coordinates',
'(text: any, x: any, y: any)'