diff options
| author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-24 02:23:36 -0400 |
|---|---|---|
| committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-24 03:21:04 -0400 |
| commit | 50a950238def89ae30d386676bbfe884c8b8c7be (patch) | |
| tree | de8b3cf277428db1ab58a9344affc2edc551a9a8 /src/new_fields/InkField.ts | |
| parent | f3aef5750b48f375b06540a85b46e404f607c37f (diff) | |
Added get fields and did some more fixing
Diffstat (limited to 'src/new_fields/InkField.ts')
| -rw-r--r-- | src/new_fields/InkField.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/new_fields/InkField.ts b/src/new_fields/InkField.ts new file mode 100644 index 000000000..cdb34cedf --- /dev/null +++ b/src/new_fields/InkField.ts @@ -0,0 +1,31 @@ +import { Deserializable } from "../client/util/SerializationHelper"; +import { serializable, custom, createSimpleSchema, list, object, map } from "serializr"; +import { ObjectField } from "./Doc"; + +export enum InkTool { + None, + Pen, + Highlighter, + Eraser +} +export interface StrokeData { + pathData: Array<{ x: number, y: number }>; + color: string; + width: string; + tool: InkTool; + page: number; +} + +const pointSchema = createSimpleSchema({ + x: true, y: true +}); + +const strokeDataSchema = createSimpleSchema({ + pathData: list(object(pointSchema)), + "*": true +}); + +export class InkField extends ObjectField { + @serializable(map(object(strokeDataSchema))) + readonly inkData: Map<string, StrokeData> = new Map; +} |
