@pooder/kit 5.3.1 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.test-dist/src/extensions/background.js +475 -131
- package/.test-dist/src/extensions/dieline.js +283 -180
- package/.test-dist/src/extensions/dielineShape.js +66 -0
- package/.test-dist/src/extensions/feature.js +388 -303
- package/.test-dist/src/extensions/film.js +133 -74
- package/.test-dist/src/extensions/geometry.js +120 -56
- package/.test-dist/src/extensions/image.js +296 -212
- package/.test-dist/src/extensions/index.js +1 -3
- package/.test-dist/src/extensions/maskOps.js +75 -20
- package/.test-dist/src/extensions/ruler.js +312 -215
- package/.test-dist/src/extensions/sceneLayoutModel.js +9 -3
- package/.test-dist/src/extensions/sceneVisibility.js +3 -10
- package/.test-dist/src/extensions/tracer.js +229 -58
- package/.test-dist/src/extensions/white-ink.js +139 -129
- package/.test-dist/src/services/CanvasService.js +888 -126
- package/.test-dist/src/services/index.js +1 -0
- package/.test-dist/src/services/visibility.js +54 -0
- package/.test-dist/tests/run.js +58 -4
- package/CHANGELOG.md +12 -0
- package/dist/index.d.mts +377 -82
- package/dist/index.d.ts +377 -82
- package/dist/index.js +3920 -2178
- package/dist/index.mjs +3992 -2247
- package/package.json +1 -1
- package/src/extensions/background.ts +631 -145
- package/src/extensions/dieline.ts +280 -187
- package/src/extensions/dielineShape.ts +109 -0
- package/src/extensions/feature.ts +485 -366
- package/src/extensions/film.ts +152 -76
- package/src/extensions/geometry.ts +203 -104
- package/src/extensions/image.ts +319 -238
- package/src/extensions/index.ts +0 -1
- package/src/extensions/ruler.ts +481 -268
- package/src/extensions/sceneLayoutModel.ts +18 -6
- package/src/extensions/white-ink.ts +157 -171
- package/src/services/CanvasService.ts +1126 -140
- package/src/services/index.ts +1 -0
- package/src/services/renderSpec.ts +69 -4
- package/src/services/visibility.ts +78 -0
- package/tests/run.ts +139 -4
- package/.test-dist/src/CanvasService.js +0 -249
- package/.test-dist/src/ViewportSystem.js +0 -75
- package/.test-dist/src/background.js +0 -203
- package/.test-dist/src/bridgeSelection.js +0 -20
- package/.test-dist/src/constraints.js +0 -237
- package/.test-dist/src/dieline.js +0 -818
- package/.test-dist/src/edgeScale.js +0 -12
- package/.test-dist/src/feature.js +0 -826
- package/.test-dist/src/featureComplete.js +0 -32
- package/.test-dist/src/film.js +0 -167
- package/.test-dist/src/geometry.js +0 -506
- package/.test-dist/src/image.js +0 -1250
- package/.test-dist/src/maskOps.js +0 -270
- package/.test-dist/src/mirror.js +0 -104
- package/.test-dist/src/renderSpec.js +0 -2
- package/.test-dist/src/ruler.js +0 -343
- package/.test-dist/src/sceneLayout.js +0 -99
- package/.test-dist/src/sceneLayoutModel.js +0 -196
- package/.test-dist/src/sceneView.js +0 -40
- package/.test-dist/src/sceneVisibility.js +0 -42
- package/.test-dist/src/size.js +0 -332
- package/.test-dist/src/tracer.js +0 -544
- package/.test-dist/src/white-ink.js +0 -829
- package/.test-dist/src/wrappedOffsets.js +0 -33
- package/src/extensions/sceneVisibility.ts +0 -71
|
@@ -7,7 +7,6 @@ const WHITE_INK_OBJECT_LAYER_ID = "white-ink.user";
|
|
|
7
7
|
const WHITE_INK_COVER_LAYER_ID = "white-ink.cover";
|
|
8
8
|
const WHITE_INK_OVERLAY_LAYER_ID = "white-ink.overlay";
|
|
9
9
|
const IMAGE_OBJECT_LAYER_ID = "image.user";
|
|
10
|
-
const IMAGE_OVERLAY_LAYER_ID = "image-overlay";
|
|
11
10
|
const WHITE_INK_DEBUG_KEY = "whiteInk.debug";
|
|
12
11
|
const WHITE_INK_PREVIEW_IMAGE_VISIBLE_KEY = "whiteInk.previewImageVisible";
|
|
13
12
|
const WHITE_INK_DEFAULT_OPACITY = 0.85;
|
|
@@ -34,6 +33,9 @@ class WhiteInkTool {
|
|
|
34
33
|
this.printWithWhiteInk = true;
|
|
35
34
|
this.previewImageVisible = true;
|
|
36
35
|
this.renderSeq = 0;
|
|
36
|
+
this.whiteSpecs = [];
|
|
37
|
+
this.coverSpecs = [];
|
|
38
|
+
this.overlaySpecs = [];
|
|
37
39
|
this.onToolActivated = (event) => {
|
|
38
40
|
const before = this.isToolActive;
|
|
39
41
|
this.syncToolActiveFromWorkbench(event.id);
|
|
@@ -77,6 +79,29 @@ class WhiteInkTool {
|
|
|
77
79
|
console.warn("CanvasService not found for WhiteInkTool");
|
|
78
80
|
return;
|
|
79
81
|
}
|
|
82
|
+
this.renderProducerDisposable?.dispose();
|
|
83
|
+
this.renderProducerDisposable = this.canvasService.registerRenderProducer(this.id, () => ({
|
|
84
|
+
passes: [
|
|
85
|
+
{
|
|
86
|
+
id: WHITE_INK_COVER_LAYER_ID,
|
|
87
|
+
stack: 220,
|
|
88
|
+
order: 0,
|
|
89
|
+
objects: this.coverSpecs,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
id: WHITE_INK_OBJECT_LAYER_ID,
|
|
93
|
+
stack: 221,
|
|
94
|
+
order: 0,
|
|
95
|
+
objects: this.whiteSpecs,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: WHITE_INK_OVERLAY_LAYER_ID,
|
|
99
|
+
stack: 790,
|
|
100
|
+
order: 0,
|
|
101
|
+
objects: this.overlaySpecs,
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
}), { priority: 260 });
|
|
80
105
|
context.eventBus.on("tool:activated", this.onToolActivated);
|
|
81
106
|
context.eventBus.on("scene:layout:change", this.onSceneLayoutChanged);
|
|
82
107
|
context.eventBus.on("object:added", this.onObjectAdded);
|
|
@@ -139,7 +164,11 @@ class WhiteInkTool {
|
|
|
139
164
|
this.dirtyTrackerDisposable?.dispose();
|
|
140
165
|
this.dirtyTrackerDisposable = undefined;
|
|
141
166
|
this.clearRenderedWhiteInks();
|
|
142
|
-
this.
|
|
167
|
+
this.renderProducerDisposable?.dispose();
|
|
168
|
+
this.renderProducerDisposable = undefined;
|
|
169
|
+
if (this.canvasService) {
|
|
170
|
+
void this.canvasService.flushRenderFromProducers();
|
|
171
|
+
}
|
|
143
172
|
this.canvasService = undefined;
|
|
144
173
|
this.context = undefined;
|
|
145
174
|
}
|
|
@@ -557,11 +586,20 @@ class WhiteInkTool {
|
|
|
557
586
|
if (!layout) {
|
|
558
587
|
return { left: 0, top: 0, width: 0, height: 0 };
|
|
559
588
|
}
|
|
560
|
-
return {
|
|
589
|
+
return this.canvasService.toSceneRect({
|
|
561
590
|
left: layout.cutRect.left,
|
|
562
591
|
top: layout.cutRect.top,
|
|
563
592
|
width: layout.cutRect.width,
|
|
564
593
|
height: layout.cutRect.height,
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
toLayoutSceneRect(rect) {
|
|
597
|
+
return {
|
|
598
|
+
left: rect.left,
|
|
599
|
+
top: rect.top,
|
|
600
|
+
width: rect.width,
|
|
601
|
+
height: rect.height,
|
|
602
|
+
space: "scene",
|
|
565
603
|
};
|
|
566
604
|
}
|
|
567
605
|
getImageObjects() {
|
|
@@ -594,14 +632,20 @@ class WhiteInkTool {
|
|
|
594
632
|
const width = Number(obj?.width || 0);
|
|
595
633
|
const height = Number(obj?.height || 0);
|
|
596
634
|
this.rememberSourceSize(src, { width, height });
|
|
635
|
+
const sceneScale = this.canvasService?.getSceneScale() || 1;
|
|
636
|
+
const leftScreen = Number.isFinite(obj?.left) ? Number(obj.left) : 0;
|
|
637
|
+
const topScreen = Number.isFinite(obj?.top) ? Number(obj.top) : 0;
|
|
638
|
+
const scenePoint = this.canvasService
|
|
639
|
+
? this.canvasService.toScenePoint({ x: leftScreen, y: topScreen })
|
|
640
|
+
: { x: leftScreen, y: topScreen };
|
|
597
641
|
return {
|
|
598
642
|
id: String(obj?.data?.id || "image"),
|
|
599
643
|
src,
|
|
600
644
|
element,
|
|
601
|
-
left:
|
|
602
|
-
top:
|
|
603
|
-
scaleX: Number.isFinite(obj?.scaleX) ? Number(obj.scaleX) : 1,
|
|
604
|
-
scaleY: Number.isFinite(obj?.scaleY) ? Number(obj.scaleY) : 1,
|
|
645
|
+
left: scenePoint.x,
|
|
646
|
+
top: scenePoint.y,
|
|
647
|
+
scaleX: (Number.isFinite(obj?.scaleX) ? Number(obj.scaleX) : 1) / sceneScale,
|
|
648
|
+
scaleY: (Number.isFinite(obj?.scaleY) ? Number(obj.scaleY) : 1) / sceneScale,
|
|
605
649
|
angle: Number.isFinite(obj?.angle) ? Number(obj.angle) : 0,
|
|
606
650
|
originX: typeof obj?.originX === "string" ? obj.originX : "center",
|
|
607
651
|
originY: typeof obj?.originY === "string" ? obj.originY : "center",
|
|
@@ -799,8 +843,11 @@ class WhiteInkTool {
|
|
|
799
843
|
return [];
|
|
800
844
|
if (frame.width <= 0 || frame.height <= 0)
|
|
801
845
|
return [];
|
|
802
|
-
const
|
|
803
|
-
const
|
|
846
|
+
const viewport = this.canvasService.getSceneViewportRect();
|
|
847
|
+
const canvasW = viewport.width || 0;
|
|
848
|
+
const canvasH = viewport.height || 0;
|
|
849
|
+
const canvasLeft = viewport.left || 0;
|
|
850
|
+
const canvasTop = viewport.top || 0;
|
|
804
851
|
const strokeColor = this.getConfig("image.frame.strokeColor", "#808080") || "#808080";
|
|
805
852
|
const strokeWidthRaw = Number(this.getConfig("image.frame.strokeWidth", 2) ?? 2);
|
|
806
853
|
const dashLengthRaw = Number(this.getConfig("image.frame.dashLength", 8) ?? 8);
|
|
@@ -814,15 +861,30 @@ class WhiteInkTool {
|
|
|
814
861
|
const dashLength = Number.isFinite(dashLengthRaw)
|
|
815
862
|
? Math.max(1, dashLengthRaw)
|
|
816
863
|
: 8;
|
|
817
|
-
const
|
|
818
|
-
const
|
|
819
|
-
const
|
|
820
|
-
const
|
|
864
|
+
const strokeWidthScene = this.canvasService.toSceneLength(strokeWidth);
|
|
865
|
+
const dashLengthScene = this.canvasService.toSceneLength(dashLength);
|
|
866
|
+
const frameLeft = Math.max(canvasLeft, Math.min(canvasLeft + canvasW, frame.left));
|
|
867
|
+
const frameTop = Math.max(canvasTop, Math.min(canvasTop + canvasH, frame.top));
|
|
868
|
+
const frameRight = Math.max(frameLeft, Math.min(canvasLeft + canvasW, frame.left + frame.width));
|
|
869
|
+
const frameBottom = Math.max(frameTop, Math.min(canvasTop + canvasH, frame.top + frame.height));
|
|
821
870
|
const visibleFrameH = Math.max(0, frameBottom - frameTop);
|
|
822
|
-
const topH = frameTop;
|
|
823
|
-
const bottomH = Math.max(0, canvasH - frameBottom);
|
|
824
|
-
const leftW = frameLeft;
|
|
825
|
-
const rightW = Math.max(0, canvasW - frameRight);
|
|
871
|
+
const topH = Math.max(0, frameTop - canvasTop);
|
|
872
|
+
const bottomH = Math.max(0, canvasTop + canvasH - frameBottom);
|
|
873
|
+
const leftW = Math.max(0, frameLeft - canvasLeft);
|
|
874
|
+
const rightW = Math.max(0, canvasLeft + canvasW - frameRight);
|
|
875
|
+
const viewportRect = this.toLayoutSceneRect({
|
|
876
|
+
left: canvasLeft,
|
|
877
|
+
top: canvasTop,
|
|
878
|
+
width: canvasW,
|
|
879
|
+
height: canvasH,
|
|
880
|
+
});
|
|
881
|
+
const visibleFrameBandRect = this.toLayoutSceneRect({
|
|
882
|
+
left: canvasLeft,
|
|
883
|
+
top: frameTop,
|
|
884
|
+
width: canvasW,
|
|
885
|
+
height: visibleFrameH,
|
|
886
|
+
});
|
|
887
|
+
const frameRect = this.toLayoutSceneRect(frame);
|
|
826
888
|
const maskSpecs = [
|
|
827
889
|
{
|
|
828
890
|
id: "white-ink.cropMask.top",
|
|
@@ -832,13 +894,17 @@ class WhiteInkTool {
|
|
|
832
894
|
layerId: WHITE_INK_OVERLAY_LAYER_ID,
|
|
833
895
|
type: "white-ink-mask",
|
|
834
896
|
},
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
897
|
+
layout: {
|
|
898
|
+
reference: "custom",
|
|
899
|
+
referenceRect: viewportRect,
|
|
900
|
+
alignX: "start",
|
|
901
|
+
alignY: "start",
|
|
902
|
+
width: "100%",
|
|
839
903
|
height: topH,
|
|
840
|
-
|
|
841
|
-
|
|
904
|
+
},
|
|
905
|
+
props: {
|
|
906
|
+
originX: "left",
|
|
907
|
+
originY: "top",
|
|
842
908
|
fill: outerBackground,
|
|
843
909
|
selectable: false,
|
|
844
910
|
evented: false,
|
|
@@ -853,13 +919,17 @@ class WhiteInkTool {
|
|
|
853
919
|
layerId: WHITE_INK_OVERLAY_LAYER_ID,
|
|
854
920
|
type: "white-ink-mask",
|
|
855
921
|
},
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
922
|
+
layout: {
|
|
923
|
+
reference: "custom",
|
|
924
|
+
referenceRect: viewportRect,
|
|
925
|
+
alignX: "start",
|
|
926
|
+
alignY: "end",
|
|
927
|
+
width: "100%",
|
|
860
928
|
height: bottomH,
|
|
861
|
-
|
|
862
|
-
|
|
929
|
+
},
|
|
930
|
+
props: {
|
|
931
|
+
originX: "left",
|
|
932
|
+
originY: "top",
|
|
863
933
|
fill: outerBackground,
|
|
864
934
|
selectable: false,
|
|
865
935
|
evented: false,
|
|
@@ -874,13 +944,17 @@ class WhiteInkTool {
|
|
|
874
944
|
layerId: WHITE_INK_OVERLAY_LAYER_ID,
|
|
875
945
|
type: "white-ink-mask",
|
|
876
946
|
},
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
947
|
+
layout: {
|
|
948
|
+
reference: "custom",
|
|
949
|
+
referenceRect: visibleFrameBandRect,
|
|
950
|
+
alignX: "start",
|
|
951
|
+
alignY: "start",
|
|
880
952
|
width: leftW,
|
|
881
|
-
height:
|
|
882
|
-
|
|
883
|
-
|
|
953
|
+
height: "100%",
|
|
954
|
+
},
|
|
955
|
+
props: {
|
|
956
|
+
originX: "left",
|
|
957
|
+
originY: "top",
|
|
884
958
|
fill: outerBackground,
|
|
885
959
|
selectable: false,
|
|
886
960
|
evented: false,
|
|
@@ -895,13 +969,17 @@ class WhiteInkTool {
|
|
|
895
969
|
layerId: WHITE_INK_OVERLAY_LAYER_ID,
|
|
896
970
|
type: "white-ink-mask",
|
|
897
971
|
},
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
972
|
+
layout: {
|
|
973
|
+
reference: "custom",
|
|
974
|
+
referenceRect: visibleFrameBandRect,
|
|
975
|
+
alignX: "end",
|
|
976
|
+
alignY: "start",
|
|
901
977
|
width: rightW,
|
|
902
|
-
height:
|
|
903
|
-
|
|
904
|
-
|
|
978
|
+
height: "100%",
|
|
979
|
+
},
|
|
980
|
+
props: {
|
|
981
|
+
originX: "left",
|
|
982
|
+
originY: "top",
|
|
905
983
|
fill: outerBackground,
|
|
906
984
|
selectable: false,
|
|
907
985
|
evented: false,
|
|
@@ -919,17 +997,21 @@ class WhiteInkTool {
|
|
|
919
997
|
layerId: WHITE_INK_OVERLAY_LAYER_ID,
|
|
920
998
|
type: "white-ink-frame",
|
|
921
999
|
},
|
|
1000
|
+
layout: {
|
|
1001
|
+
reference: "custom",
|
|
1002
|
+
referenceRect: frameRect,
|
|
1003
|
+
alignX: "start",
|
|
1004
|
+
alignY: "start",
|
|
1005
|
+
width: "100%",
|
|
1006
|
+
height: "100%",
|
|
1007
|
+
},
|
|
922
1008
|
props: {
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
width: frame.width,
|
|
926
|
-
height: frame.height,
|
|
927
|
-
originX: "center",
|
|
928
|
-
originY: "center",
|
|
1009
|
+
originX: "left",
|
|
1010
|
+
originY: "top",
|
|
929
1011
|
fill: innerBackground,
|
|
930
1012
|
stroke: strokeColor,
|
|
931
|
-
strokeWidth,
|
|
932
|
-
strokeDashArray: [
|
|
1013
|
+
strokeWidth: strokeWidthScene,
|
|
1014
|
+
strokeDashArray: [dashLengthScene, dashLengthScene],
|
|
933
1015
|
selectable: false,
|
|
934
1016
|
evented: false,
|
|
935
1017
|
excludeFromExport: true,
|
|
@@ -937,24 +1019,6 @@ class WhiteInkTool {
|
|
|
937
1019
|
},
|
|
938
1020
|
];
|
|
939
1021
|
}
|
|
940
|
-
applyImageVisibilityForWhiteInk(previewActive) {
|
|
941
|
-
if (!this.canvasService)
|
|
942
|
-
return;
|
|
943
|
-
const visible = !previewActive;
|
|
944
|
-
let changed = false;
|
|
945
|
-
this.canvasService.canvas.getObjects().forEach((obj) => {
|
|
946
|
-
if (obj?.data?.layerId !== IMAGE_OBJECT_LAYER_ID)
|
|
947
|
-
return;
|
|
948
|
-
if (obj.visible === visible)
|
|
949
|
-
return;
|
|
950
|
-
obj.set({ visible });
|
|
951
|
-
obj.setCoords?.();
|
|
952
|
-
changed = true;
|
|
953
|
-
});
|
|
954
|
-
if (changed) {
|
|
955
|
-
this.canvasService.requestRenderAll();
|
|
956
|
-
}
|
|
957
|
-
}
|
|
958
1022
|
resolveRenderItems() {
|
|
959
1023
|
if (this.isToolActive) {
|
|
960
1024
|
return this.cloneItems(this.workingItems);
|
|
@@ -980,66 +1044,13 @@ class WhiteInkTool {
|
|
|
980
1044
|
whiteScaleAdjustY: scaleAdjust.y,
|
|
981
1045
|
};
|
|
982
1046
|
}
|
|
983
|
-
resolveDefaultInsertIndex(objects) {
|
|
984
|
-
if (!this.canvasService)
|
|
985
|
-
return 0;
|
|
986
|
-
const backgroundLayer = this.canvasService.getLayer("background");
|
|
987
|
-
if (!backgroundLayer)
|
|
988
|
-
return 0;
|
|
989
|
-
const bgIndex = objects.indexOf(backgroundLayer);
|
|
990
|
-
if (bgIndex < 0)
|
|
991
|
-
return 0;
|
|
992
|
-
return bgIndex + 1;
|
|
993
|
-
}
|
|
994
|
-
syncZOrder() {
|
|
995
|
-
if (!this.canvasService)
|
|
996
|
-
return;
|
|
997
|
-
const canvas = this.canvasService.canvas;
|
|
998
|
-
const whiteObjects = this.canvasService.getRootLayerObjects(WHITE_INK_OBJECT_LAYER_ID);
|
|
999
|
-
const coverObjects = this.canvasService.getRootLayerObjects(WHITE_INK_COVER_LAYER_ID);
|
|
1000
|
-
const frameObjects = this.canvasService.getRootLayerObjects(WHITE_INK_OVERLAY_LAYER_ID);
|
|
1001
|
-
const currentObjects = canvas.getObjects();
|
|
1002
|
-
const imageIndexes = currentObjects
|
|
1003
|
-
.map((obj, index) => obj?.data?.layerId === IMAGE_OBJECT_LAYER_ID ? index : -1)
|
|
1004
|
-
.filter((index) => index >= 0);
|
|
1005
|
-
let whiteInsertIndex = imageIndexes.length
|
|
1006
|
-
? Math.min(...imageIndexes)
|
|
1007
|
-
: this.resolveDefaultInsertIndex(currentObjects);
|
|
1008
|
-
whiteObjects.forEach((obj) => {
|
|
1009
|
-
canvas.moveObjectTo(obj, whiteInsertIndex);
|
|
1010
|
-
whiteInsertIndex += 1;
|
|
1011
|
-
});
|
|
1012
|
-
const afterWhiteObjects = canvas.getObjects();
|
|
1013
|
-
const afterImageIndexes = afterWhiteObjects
|
|
1014
|
-
.map((obj, index) => obj?.data?.layerId === IMAGE_OBJECT_LAYER_ID ? index : -1)
|
|
1015
|
-
.filter((index) => index >= 0);
|
|
1016
|
-
let coverInsertIndex = afterImageIndexes.length
|
|
1017
|
-
? Math.max(...afterImageIndexes) + 1
|
|
1018
|
-
: whiteInsertIndex;
|
|
1019
|
-
coverObjects.forEach((obj) => {
|
|
1020
|
-
canvas.moveObjectTo(obj, coverInsertIndex);
|
|
1021
|
-
coverInsertIndex += 1;
|
|
1022
|
-
});
|
|
1023
|
-
frameObjects.forEach((obj) => canvas.bringObjectToFront(obj));
|
|
1024
|
-
canvas
|
|
1025
|
-
.getObjects()
|
|
1026
|
-
.filter((obj) => obj?.data?.layerId === IMAGE_OVERLAY_LAYER_ID)
|
|
1027
|
-
.forEach((obj) => canvas.bringObjectToFront(obj));
|
|
1028
|
-
const dielineOverlay = this.canvasService.getLayer("dieline-overlay");
|
|
1029
|
-
if (dielineOverlay) {
|
|
1030
|
-
canvas.bringObjectToFront(dielineOverlay);
|
|
1031
|
-
}
|
|
1032
|
-
const rulerOverlay = this.canvasService.getLayer("ruler-overlay");
|
|
1033
|
-
if (rulerOverlay) {
|
|
1034
|
-
canvas.bringObjectToFront(rulerOverlay);
|
|
1035
|
-
}
|
|
1036
|
-
}
|
|
1037
1047
|
clearRenderedWhiteInks() {
|
|
1038
1048
|
if (!this.canvasService)
|
|
1039
1049
|
return;
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1050
|
+
this.whiteSpecs = [];
|
|
1051
|
+
this.coverSpecs = [];
|
|
1052
|
+
this.overlaySpecs = [];
|
|
1053
|
+
this.canvasService.requestRenderFromProducers();
|
|
1043
1054
|
}
|
|
1044
1055
|
purgeSourceCaches(item) {
|
|
1045
1056
|
const sourceUrl = this.resolveSourceUrl(item);
|
|
@@ -1067,7 +1078,6 @@ class WhiteInkTool {
|
|
|
1067
1078
|
this.syncToolActiveFromWorkbench();
|
|
1068
1079
|
const seq = ++this.renderSeq;
|
|
1069
1080
|
const previewActive = this.isPreviewActive();
|
|
1070
|
-
this.applyImageVisibilityForWhiteInk(previewActive);
|
|
1071
1081
|
const frame = this.getFrameRect();
|
|
1072
1082
|
const frameSpecs = this.buildFrameSpecs(frame);
|
|
1073
1083
|
let whiteSpecs = [];
|
|
@@ -1094,16 +1104,16 @@ class WhiteInkTool {
|
|
|
1094
1104
|
}
|
|
1095
1105
|
}
|
|
1096
1106
|
}
|
|
1097
|
-
|
|
1107
|
+
this.whiteSpecs = whiteSpecs;
|
|
1098
1108
|
if (seq !== this.renderSeq)
|
|
1099
1109
|
return;
|
|
1100
|
-
|
|
1110
|
+
this.coverSpecs = coverSpecs;
|
|
1101
1111
|
if (seq !== this.renderSeq)
|
|
1102
1112
|
return;
|
|
1103
|
-
|
|
1113
|
+
this.overlaySpecs = frameSpecs;
|
|
1114
|
+
await this.canvasService.flushRenderFromProducers();
|
|
1104
1115
|
if (seq !== this.renderSeq)
|
|
1105
1116
|
return;
|
|
1106
|
-
this.syncZOrder();
|
|
1107
1117
|
this.canvasService.requestRenderAll();
|
|
1108
1118
|
}
|
|
1109
1119
|
getMaskCacheKey(sourceUrl, tint) {
|