aboutsummaryrefslogtreecommitdiff
path: root/src/fields/InkField.ts
diff options
context:
space:
mode:
authorGeireann Lindfield Roberts <60007097+geireann@users.noreply.github.com>2021-07-22 15:27:58 -0400
committerGitHub <noreply@github.com>2021-07-22 15:27:58 -0400
commita77809e5afdfa0952ceddf262d61b0a11e45a591 (patch)
treed4f1d87ed48619644b0913c46247f711d314a1f2 /src/fields/InkField.ts
parent2b2329a928772b3e0d45fca1e99ef29116c582f2 (diff)
parent44f74e1e8ee82e76d32c6e5e0812ac04bf81c16c (diff)
Merge pull request #21 from brown-dash/ink-gfx-victor
Ink Changes (Handle Tangency, Visual Updates, Control Point Creation)
Diffstat (limited to 'src/fields/InkField.ts')
-rw-r--r--src/fields/InkField.ts31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/fields/InkField.ts b/src/fields/InkField.ts
index dbe51b24a..1270a2dab 100644
--- a/src/fields/InkField.ts
+++ b/src/fields/InkField.ts
@@ -4,6 +4,7 @@ import { ObjectField } from "./ObjectField";
import { Copy, ToScriptString, ToString, Update } from "./FieldSymbols";
import { Scripting } from "../client/util/Scripting";
+// Helps keep track of the current ink tool in use.
export enum InkTool {
None = "none",
Pen = "pen",
@@ -12,13 +13,41 @@ export enum InkTool {
Stamp = "stamp"
}
+
+// Defines a point in an ink as a pair of x- and y-coordinates.
export interface PointData {
X: number;
Y: number;
}
+// Defines an ink as an array of points.
export type InkData = Array<PointData>;
+export interface ControlPoint {
+ X: number;
+ Y: number;
+ I: number;
+}
+
+export interface HandlePoint {
+ X: number;
+ Y: number;
+ I: number;
+ dot1: number;
+ dot2: number;
+}
+
+export interface HandleLine {
+ X1: number;
+ Y1: number;
+ X2: number;
+ Y2: number;
+ X3: number;
+ Y3: number;
+ dot1: number;
+ dot2: number;
+}
+
const pointSchema = createSimpleSchema({
X: true, Y: true
});
@@ -32,8 +61,6 @@ const strokeDataSchema = createSimpleSchema({
export class InkField extends ObjectField {
@serializable(list(object(strokeDataSchema)))
readonly inkData: InkData;
- // inkData: InkData;
-
constructor(data: InkData) {
super();