aboutsummaryrefslogtreecommitdiff
path: root/src/pen-gestures
diff options
context:
space:
mode:
Diffstat (limited to 'src/pen-gestures')
-rw-r--r--src/pen-gestures/GestureUtils.ts21
-rw-r--r--src/pen-gestures/ndollar.ts14
2 files changed, 20 insertions, 15 deletions
diff --git a/src/pen-gestures/GestureUtils.ts b/src/pen-gestures/GestureUtils.ts
index 4b5ad6684..b8a82ab4d 100644
--- a/src/pen-gestures/GestureUtils.ts
+++ b/src/pen-gestures/GestureUtils.ts
@@ -6,18 +6,16 @@ import { Doc, WidthSym, HeightSym } from "../new_fields/Doc";
import { NumCast } from "../new_fields/Types";
import { CollectionFreeFormView } from "../client/views/collections/collectionFreeForm/CollectionFreeFormView";
import { Rect } from "react-measure";
+import { Scripting } from "../client/util/Scripting";
export namespace GestureUtils {
- namespace GestureDataTypes {
- export type BoxData = Array<Doc>;
- }
-
export class GestureEvent {
constructor(
readonly gesture: Gestures,
readonly points: PointData[],
readonly bounds: Rect,
- readonly callbackFn?: Function
+ readonly callbackFn?: Function,
+ readonly text?: any
) { }
}
@@ -37,17 +35,12 @@ export namespace GestureUtils {
export enum Gestures {
Box = "box",
Line = "line",
+ StartBracket = "startbracket",
+ EndBracket = "endbracket",
Stroke = "stroke",
- Scribble = "scribble"
+ Scribble = "scribble",
+ Text = "text"
}
export const GestureRecognizer = new NDollarRecognizer(false);
-
- export function GestureOptions(name: string, gestureData?: any): (params: {}) => any {
- switch (name) {
- case Gestures.Box:
- break;
- }
- throw new Error("This means that you're trying to do something with the gesture that hasn't been defined yet. Define it in GestureUtils.ts");
- }
} \ No newline at end of file
diff --git a/src/pen-gestures/ndollar.ts b/src/pen-gestures/ndollar.ts
index 9e15ada2d..e5740d105 100644
--- a/src/pen-gestures/ndollar.ts
+++ b/src/pen-gestures/ndollar.ts
@@ -142,7 +142,7 @@ export class Result {
//
// NDollarRecognizer constants
//
-const NumMultistrokes = 2;
+const NumMultistrokes = 4;
const NumPoints = 96;
const SquareSize = 250.0;
const OneDThreshold = 0.25; // customize to desired gesture set (usually 0.20 - 0.35)
@@ -161,6 +161,9 @@ const AngleSimilarityThreshold = Deg2Rad(30.0);
export class NDollarRecognizer {
public Multistrokes: Multistroke[];
+ /**
+ * @IMPORTANT - IF YOU'RE ADDING A NEW GESTURE, BE SURE TO INCREMENT THE NumMultiStrokes CONST RIGHT ABOVE THIS CLASS.
+ */
constructor(useBoundedRotationInvariance: boolean) // constructor
{
//
@@ -178,6 +181,15 @@ export class NDollarRecognizer {
this.Multistrokes[1] = new Multistroke(GestureUtils.Gestures.Line, useBoundedRotationInvariance, new Array(
new Array(new Point(12, 347), new Point(119, 347))
));
+ this.Multistrokes[2] = new Multistroke(GestureUtils.Gestures.StartBracket, useBoundedRotationInvariance, new Array(
+ // new Array(new Point(145, 20), new Point(30, 21), new Point(34, 150))
+ new Array(new Point(31, 25), new Point(145, 20), new Point(31, 25), new Point(34, 150))
+ ));
+ this.Multistrokes[3] = new Multistroke(GestureUtils.Gestures.EndBracket, useBoundedRotationInvariance, new Array(
+ // new Array(new Point(150, 21), new Point(149, 150), new Point(26, 152))
+ // new Array(new Point(150, 150), new Point(150, 0), new Point(150, 150), new Point(0, 150))
+ new Array(new Point(10, 100), new Point(100, 100), new Point(150, 12), new Point(200, 103), new Point(300, 100))
+ ));
//
// PREDEFINED STROKES