aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2023-11-16 15:14:41 -0500
committerbobzel <zzzman@gmail.com>2023-11-16 15:14:41 -0500
commit384489db1afe0bc332a382446db0c0434a34525d (patch)
tree2b104983bd841ef19142558f7dbaa5830059b665 /src
parent2d82fc563c952b0fa99c6eb1b7968224bb8c04fb (diff)
from last
Diffstat (limited to 'src')
-rw-r--r--src/client/documents/Documents.ts15
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx26
2 files changed, 22 insertions, 19 deletions
diff --git a/src/client/documents/Documents.ts b/src/client/documents/Documents.ts
index edf72e45b..1ea9b1dcc 100644
--- a/src/client/documents/Documents.ts
+++ b/src/client/documents/Documents.ts
@@ -1042,7 +1042,18 @@ export namespace Docs {
return linkDoc;
}
- export function InkDocument(color: string, strokeWidth: number, stroke_bezier: string, fillColor: string, arrowStart: string, arrowEnd: string, dash: string, points: PointData[], isInkMask: boolean, options: DocumentOptions = {}) {
+ export function InkDocument(
+ points: PointData[],
+ options: DocumentOptions = {},
+ strokeWidth = ActiveInkWidth(),
+ color = ActiveInkColor(),
+ stroke_bezier = ActiveInkBezierApprox(),
+ fillColor = ActiveFillColor(),
+ arrowStart = ActiveArrowStart(),
+ arrowEnd = ActiveArrowEnd(),
+ dash = ActiveDash(),
+ isInkMask = ActiveIsInkMask()
+ ) {
const ink = InstanceFromProto(Prototypes.get(DocumentType.INK), '', { title: 'ink', ...options });
const I = Doc.GetProto(ink);
// I.layout_hideOpenButton = true; // don't show open full screen button when selected
@@ -1526,7 +1537,7 @@ export namespace DocUtils {
created = Docs.Create.AudioDocument(field.url.href, resolved);
created.layout = AudioBox.LayoutString(fieldKey);
} else if (field instanceof InkField) {
- created = Docs.Create.InkDocument(ActiveInkColor(), ActiveInkWidth(), ActiveInkBezierApprox(), ActiveFillColor(), ActiveArrowStart(), ActiveArrowEnd(), ActiveDash(), field.inkData, ActiveIsInkMask(), resolved);
+ created = Docs.Create.InkDocument(field.inkData, resolved);
created.layout = InkingStroke.LayoutString(fieldKey);
} else if (field instanceof List && field[0] instanceof Doc) {
created = Docs.Create.StackingDocument(DocListCast(field), resolved);
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
index cafa8b38f..e3b0d88e9 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
@@ -34,9 +34,9 @@ import { Timeline } from '../../animationtimeline/Timeline';
import { ContextMenu } from '../../ContextMenu';
import { GestureOverlay } from '../../GestureOverlay';
import { CtrlKey } from '../../GlobalKeyHandler';
-import { ActiveArrowEnd, ActiveArrowStart, ActiveDash, ActiveFillColor, ActiveInkBezierApprox, ActiveInkColor, ActiveInkWidth, ActiveIsInkMask, InkingStroke, SetActiveInkColor, SetActiveInkWidth } from '../../InkingStroke';
+import { ActiveInkWidth, InkingStroke, SetActiveInkColor, SetActiveInkWidth } from '../../InkingStroke';
import { LightboxView } from '../../LightboxView';
-import { CollectionFreeFormDocumentViewWrapper, CollectionFreeFormDocumentView } from '../../nodes/CollectionFreeFormDocumentView';
+import { CollectionFreeFormDocumentView, CollectionFreeFormDocumentViewWrapper } from '../../nodes/CollectionFreeFormDocumentView';
import { DocFocusOptions, DocumentView, DocumentViewProps, OpenWhere } from '../../nodes/DocumentView';
import { FieldViewProps } from '../../nodes/FieldView';
import { FormattedTextBox } from '../../nodes/formattedText/FormattedTextBox';
@@ -699,23 +699,15 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
case GestureUtils.Gestures.Stroke:
const points = ge.points;
const B = this.screenToLocalXf.transformBounds(ge.bounds.left, ge.bounds.top, ge.bounds.width, ge.bounds.height);
+ const inkWidth = ActiveInkWidth() * this.props.ScreenToLocalTransform().Scale;
const inkDoc = Docs.Create.InkDocument(
- ActiveInkColor(),
- ActiveInkWidth() * this.props.ScreenToLocalTransform().Scale,
- ActiveInkBezierApprox(),
- ActiveFillColor(),
- ActiveArrowStart(),
- ActiveArrowEnd(),
- ActiveDash(),
points,
- ActiveIsInkMask(),
- {
- title: ge.gesture.toString(),
- x: B.x - (ActiveInkWidth() * this.props.ScreenToLocalTransform().Scale) / 2,
- y: B.y - (ActiveInkWidth() * this.props.ScreenToLocalTransform().Scale) / 2,
- _width: B.width + ActiveInkWidth() * this.props.ScreenToLocalTransform().Scale,
- _height: B.height + ActiveInkWidth() * this.props.ScreenToLocalTransform().Scale,
- }
+ { title: ge.gesture.toString(),
+ x: B.x - inkWidth / 2,
+ y: B.y - inkWidth / 2,
+ _width: B.width + inkWidth,
+ _height: B.height + inkWidth }, // prettier-ignore
+ inkWidth
);
if (Doc.ActiveTool === InkTool.Write) {
this.unprocessedDocs.push(inkDoc);