manga-renderer 1.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.
Files changed (148) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +118 -0
  3. package/dist/index.d.ts +28 -0
  4. package/dist/index.js +184 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/book/book.d.ts +133 -0
  7. package/dist/lib/book/book.js +329 -0
  8. package/dist/lib/book/book.js.map +1 -0
  9. package/dist/lib/book/envelope.d.ts +26 -0
  10. package/dist/lib/book/envelope.js +158 -0
  11. package/dist/lib/book/envelope.js.map +1 -0
  12. package/dist/lib/book/imagePacking.d.ts +10 -0
  13. package/dist/lib/book/imagePacking.js +213 -0
  14. package/dist/lib/book/imagePacking.js.map +1 -0
  15. package/dist/lib/book/layout.d.ts +41 -0
  16. package/dist/lib/book/layout.js +14 -0
  17. package/dist/lib/book/layout.js.map +1 -0
  18. package/dist/lib/book/notebook.d.ts +72 -0
  19. package/dist/lib/book/notebook.js +30 -0
  20. package/dist/lib/book/notebook.js.map +1 -0
  21. package/dist/lib/book/richChat.d.ts +36 -0
  22. package/dist/lib/book/richChat.js +87 -0
  23. package/dist/lib/book/richChat.js.map +1 -0
  24. package/dist/lib/book/storyboard.d.ts +125 -0
  25. package/dist/lib/book/storyboard.js +44 -0
  26. package/dist/lib/book/storyboard.js.map +1 -0
  27. package/dist/lib/layeredCanvas/dataModels/bubble.d.ts +96 -0
  28. package/dist/lib/layeredCanvas/dataModels/bubble.js +630 -0
  29. package/dist/lib/layeredCanvas/dataModels/bubble.js.map +1 -0
  30. package/dist/lib/layeredCanvas/dataModels/effect.d.ts +25 -0
  31. package/dist/lib/layeredCanvas/dataModels/effect.js +104 -0
  32. package/dist/lib/layeredCanvas/dataModels/effect.js.map +1 -0
  33. package/dist/lib/layeredCanvas/dataModels/film.d.ts +44 -0
  34. package/dist/lib/layeredCanvas/dataModels/film.js +172 -0
  35. package/dist/lib/layeredCanvas/dataModels/film.js.map +1 -0
  36. package/dist/lib/layeredCanvas/dataModels/frameTree.d.ts +99 -0
  37. package/dist/lib/layeredCanvas/dataModels/frameTree.js +861 -0
  38. package/dist/lib/layeredCanvas/dataModels/frameTree.js.map +1 -0
  39. package/dist/lib/layeredCanvas/dataModels/media.d.ts +39 -0
  40. package/dist/lib/layeredCanvas/dataModels/media.js +69 -0
  41. package/dist/lib/layeredCanvas/dataModels/media.js.map +1 -0
  42. package/dist/lib/layeredCanvas/layers/SampleLayer.d.ts +6 -0
  43. package/dist/lib/layeredCanvas/layers/SampleLayer.js +22 -0
  44. package/dist/lib/layeredCanvas/layers/SampleLayer.js.map +1 -0
  45. package/dist/lib/layeredCanvas/layers/arrayLayer.d.ts +49 -0
  46. package/dist/lib/layeredCanvas/layers/arrayLayer.js +364 -0
  47. package/dist/lib/layeredCanvas/layers/arrayLayer.js.map +1 -0
  48. package/dist/lib/layeredCanvas/layers/bubbleLayer.d.ts +97 -0
  49. package/dist/lib/layeredCanvas/layers/bubbleLayer.js +1418 -0
  50. package/dist/lib/layeredCanvas/layers/bubbleLayer.js.map +1 -0
  51. package/dist/lib/layeredCanvas/layers/floorLayer.d.ts +13 -0
  52. package/dist/lib/layeredCanvas/layers/floorLayer.js +64 -0
  53. package/dist/lib/layeredCanvas/layers/floorLayer.js.map +1 -0
  54. package/dist/lib/layeredCanvas/layers/frameLayer.d.ts +106 -0
  55. package/dist/lib/layeredCanvas/layers/frameLayer.js +1283 -0
  56. package/dist/lib/layeredCanvas/layers/frameLayer.js.map +1 -0
  57. package/dist/lib/layeredCanvas/layers/inlinePainterLayer.d.ts +33 -0
  58. package/dist/lib/layeredCanvas/layers/inlinePainterLayer.js +222 -0
  59. package/dist/lib/layeredCanvas/layers/inlinePainterLayer.js.map +1 -0
  60. package/dist/lib/layeredCanvas/layers/paperRendererLayer.d.ts +64 -0
  61. package/dist/lib/layeredCanvas/layers/paperRendererLayer.js +443 -0
  62. package/dist/lib/layeredCanvas/layers/paperRendererLayer.js.map +1 -0
  63. package/dist/lib/layeredCanvas/layers/undoLayer.d.ts +8 -0
  64. package/dist/lib/layeredCanvas/layers/undoLayer.js +24 -0
  65. package/dist/lib/layeredCanvas/layers/undoLayer.js.map +1 -0
  66. package/dist/lib/layeredCanvas/system/keyCache.d.ts +4 -0
  67. package/dist/lib/layeredCanvas/system/keyCache.js +61 -0
  68. package/dist/lib/layeredCanvas/system/keyCache.js.map +1 -0
  69. package/dist/lib/layeredCanvas/system/layeredCanvas.d.ts +172 -0
  70. package/dist/lib/layeredCanvas/system/layeredCanvas.js +597 -0
  71. package/dist/lib/layeredCanvas/system/layeredCanvas.js.map +1 -0
  72. package/dist/lib/layeredCanvas/system/paperArray.d.ts +29 -0
  73. package/dist/lib/layeredCanvas/system/paperArray.js +108 -0
  74. package/dist/lib/layeredCanvas/system/paperArray.js.map +1 -0
  75. package/dist/lib/layeredCanvas/tools/draw/bubbleGraphic.d.ts +7 -0
  76. package/dist/lib/layeredCanvas/tools/draw/bubbleGraphic.js +728 -0
  77. package/dist/lib/layeredCanvas/tools/draw/bubbleGraphic.js.map +1 -0
  78. package/dist/lib/layeredCanvas/tools/draw/clickableIcon.d.ts +42 -0
  79. package/dist/lib/layeredCanvas/tools/draw/clickableIcon.js +129 -0
  80. package/dist/lib/layeredCanvas/tools/draw/clickableIcon.js.map +1 -0
  81. package/dist/lib/layeredCanvas/tools/draw/drawFilmStack.d.ts +4 -0
  82. package/dist/lib/layeredCanvas/tools/draw/drawFilmStack.js +53 -0
  83. package/dist/lib/layeredCanvas/tools/draw/drawFilmStack.js.map +1 -0
  84. package/dist/lib/layeredCanvas/tools/draw/drawText.d.ts +8 -0
  85. package/dist/lib/layeredCanvas/tools/draw/drawText.js +45 -0
  86. package/dist/lib/layeredCanvas/tools/draw/drawText.js.map +1 -0
  87. package/dist/lib/layeredCanvas/tools/draw/richText.d.ts +15 -0
  88. package/dist/lib/layeredCanvas/tools/draw/richText.js +172 -0
  89. package/dist/lib/layeredCanvas/tools/draw/richText.js.map +1 -0
  90. package/dist/lib/layeredCanvas/tools/draw/selectionFrame.d.ts +5 -0
  91. package/dist/lib/layeredCanvas/tools/draw/selectionFrame.js +63 -0
  92. package/dist/lib/layeredCanvas/tools/draw/selectionFrame.js.map +1 -0
  93. package/dist/lib/layeredCanvas/tools/draw/typeSetting.d.ts +16 -0
  94. package/dist/lib/layeredCanvas/tools/draw/typeSetting.js +2 -0
  95. package/dist/lib/layeredCanvas/tools/draw/typeSetting.js.map +1 -0
  96. package/dist/lib/layeredCanvas/tools/draw/verticalText.d.ts +3 -0
  97. package/dist/lib/layeredCanvas/tools/draw/verticalText.js +230 -0
  98. package/dist/lib/layeredCanvas/tools/draw/verticalText.js.map +1 -0
  99. package/dist/lib/layeredCanvas/tools/focusKeeper.d.ts +8 -0
  100. package/dist/lib/layeredCanvas/tools/focusKeeper.js +15 -0
  101. package/dist/lib/layeredCanvas/tools/focusKeeper.js.map +1 -0
  102. package/dist/lib/layeredCanvas/tools/frameExamples.d.ts +382 -0
  103. package/dist/lib/layeredCanvas/tools/frameExamples.js +758 -0
  104. package/dist/lib/layeredCanvas/tools/frameExamples.js.map +1 -0
  105. package/dist/lib/layeredCanvas/tools/geometry/bubbleGeometry.d.ts +12 -0
  106. package/dist/lib/layeredCanvas/tools/geometry/bubbleGeometry.js +117 -0
  107. package/dist/lib/layeredCanvas/tools/geometry/bubbleGeometry.js.map +1 -0
  108. package/dist/lib/layeredCanvas/tools/geometry/convertPoint.d.ts +2 -0
  109. package/dist/lib/layeredCanvas/tools/geometry/convertPoint.js +25 -0
  110. package/dist/lib/layeredCanvas/tools/geometry/convertPoint.js.map +1 -0
  111. package/dist/lib/layeredCanvas/tools/geometry/geometry.d.ts +69 -0
  112. package/dist/lib/layeredCanvas/tools/geometry/geometry.js +408 -0
  113. package/dist/lib/layeredCanvas/tools/geometry/geometry.js.map +1 -0
  114. package/dist/lib/layeredCanvas/tools/geometry/geometry.vitest.d.ts +1 -0
  115. package/dist/lib/layeredCanvas/tools/geometry/geometry.vitest.js +58 -0
  116. package/dist/lib/layeredCanvas/tools/geometry/geometry.vitest.js.map +1 -0
  117. package/dist/lib/layeredCanvas/tools/geometry/quickHull.d.ts +10 -0
  118. package/dist/lib/layeredCanvas/tools/geometry/quickHull.js +91 -0
  119. package/dist/lib/layeredCanvas/tools/geometry/quickHull.js.map +1 -0
  120. package/dist/lib/layeredCanvas/tools/geometry/trapezoid.d.ts +18 -0
  121. package/dist/lib/layeredCanvas/tools/geometry/trapezoid.js +105 -0
  122. package/dist/lib/layeredCanvas/tools/geometry/trapezoid.js.map +1 -0
  123. package/dist/lib/layeredCanvas/tools/grid.d.ts +7 -0
  124. package/dist/lib/layeredCanvas/tools/grid.js +16 -0
  125. package/dist/lib/layeredCanvas/tools/grid.js.map +1 -0
  126. package/dist/lib/layeredCanvas/tools/haiku.d.ts +1 -0
  127. package/dist/lib/layeredCanvas/tools/haiku.js +17 -0
  128. package/dist/lib/layeredCanvas/tools/haiku.js.map +1 -0
  129. package/dist/lib/layeredCanvas/tools/imageUtil.d.ts +8 -0
  130. package/dist/lib/layeredCanvas/tools/imageUtil.js +58 -0
  131. package/dist/lib/layeredCanvas/tools/imageUtil.js.map +1 -0
  132. package/dist/lib/layeredCanvas/tools/kinsoku.d.ts +26 -0
  133. package/dist/lib/layeredCanvas/tools/kinsoku.js +124 -0
  134. package/dist/lib/layeredCanvas/tools/kinsoku.js.map +1 -0
  135. package/dist/lib/layeredCanvas/tools/misc.d.ts +25 -0
  136. package/dist/lib/layeredCanvas/tools/misc.js +46 -0
  137. package/dist/lib/layeredCanvas/tools/misc.js.map +1 -0
  138. package/dist/lib/layeredCanvas/tools/perfectFreehandUtil.d.ts +2 -0
  139. package/dist/lib/layeredCanvas/tools/perfectFreehandUtil.js +21 -0
  140. package/dist/lib/layeredCanvas/tools/perfectFreehandUtil.js.map +1 -0
  141. package/dist/lib/layeredCanvas/tools/pictureControl.d.ts +4 -0
  142. package/dist/lib/layeredCanvas/tools/pictureControl.js +24 -0
  143. package/dist/lib/layeredCanvas/tools/pictureControl.js.map +1 -0
  144. package/dist/lib/layeredCanvas/tools/rectHandle.d.ts +6 -0
  145. package/dist/lib/layeredCanvas/tools/rectHandle.js +17 -0
  146. package/dist/lib/layeredCanvas/tools/rectHandle.js.map +1 -0
  147. package/dist/tsconfig.tsbuildinfo +1 -0
  148. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bubbleGraphic.js","sourceRoot":"","sources":["../../../../../src/lib/layeredCanvas/tools/draw/bubbleGraphic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { Vector, Rect } from "../geometry/geometry";
2
+ export interface ClickableSlate {
3
+ render(ctx: CanvasRenderingContext2D): void;
4
+ }
5
+ export declare abstract class ClickableSlate implements ClickableSlate {
6
+ position: Vector;
7
+ size: Vector;
8
+ pivot: Vector;
9
+ hint: string;
10
+ visibleConditionProvider: (() => boolean) | null;
11
+ matrixProvider: () => DOMMatrix;
12
+ marginLeft: number;
13
+ marginTop: number;
14
+ marginRight: number;
15
+ marginBottom: number;
16
+ constructor(size: Vector, pivot: Vector, hint: string, visibleConditionProvider: (() => boolean) | null, matrixProvider: () => DOMMatrix);
17
+ isVisible(): boolean;
18
+ contains(p: Vector): boolean;
19
+ hintIfContains(point: Vector, f: (r: Rect, h: string) => void): boolean;
20
+ doItIfContains(point: Vector, f: (v: Vector) => void): boolean;
21
+ get boundingRect(): Rect;
22
+ get center(): Vector;
23
+ get rscale(): number;
24
+ static calcPosition(rect: Rect, unit: Vector, regularizedOrigin: Vector, offsetUnit: Vector): Vector;
25
+ }
26
+ export declare class ClickableIcon extends ClickableSlate {
27
+ static tmpCanvas: HTMLCanvasElement;
28
+ static tmpCtx: CanvasRenderingContext2D;
29
+ images: HTMLImageElement[];
30
+ index: number;
31
+ shadowColor: string;
32
+ constructor(srcs: string[], size: Vector, pivot: Vector, hint: string, visibleConditionProvider: (() => boolean) | null, matrixProvider: () => DOMMatrix);
33
+ render(ctx: CanvasRenderingContext2D): void;
34
+ increment(): void;
35
+ reset(): void;
36
+ renderImage(ctx: CanvasRenderingContext2D, image: HTMLImageElement): void;
37
+ }
38
+ export declare class ClickableSelfRenderer extends ClickableSlate {
39
+ renderFunction: (ctx: CanvasRenderingContext2D, csr: ClickableSelfRenderer) => void;
40
+ constructor(renderFunction: (ctx: CanvasRenderingContext2D, csr: ClickableSelfRenderer) => void, size: Vector, pivot: Vector, hint: string, visibleConditionProvider: () => boolean, matrixProvider: () => DOMMatrix);
41
+ render(ctx: CanvasRenderingContext2D): void;
42
+ }
@@ -0,0 +1,129 @@
1
+ export class ClickableSlate {
2
+ position;
3
+ size;
4
+ pivot;
5
+ hint;
6
+ visibleConditionProvider;
7
+ matrixProvider;
8
+ marginLeft = 0;
9
+ marginTop = 0;
10
+ marginRight = 0;
11
+ marginBottom = 0;
12
+ constructor(size, pivot, hint, visibleConditionProvider, matrixProvider) {
13
+ this.position = [0, 0];
14
+ this.size = size;
15
+ this.pivot = pivot;
16
+ this.hint = hint;
17
+ this.visibleConditionProvider = visibleConditionProvider;
18
+ this.matrixProvider = matrixProvider;
19
+ }
20
+ isVisible() {
21
+ return this.visibleConditionProvider == null || this.visibleConditionProvider();
22
+ }
23
+ contains(p) {
24
+ if (!this.isVisible())
25
+ return false;
26
+ let [x, y, w, h] = this.boundingRect;
27
+ x -= this.marginLeft;
28
+ y -= this.marginTop;
29
+ w += this.marginLeft + this.marginRight;
30
+ h += this.marginTop + this.marginBottom;
31
+ const f = x <= p[0] && p[0] <= x + w && y <= p[1] && p[1] <= y + h;
32
+ return f;
33
+ }
34
+ hintIfContains(point, f) {
35
+ if (this.contains(point)) {
36
+ f(this.boundingRect, this.hint);
37
+ return true;
38
+ }
39
+ return false;
40
+ }
41
+ doItIfContains(point, f) {
42
+ if (this.contains(point)) {
43
+ f(point);
44
+ return true;
45
+ }
46
+ return false;
47
+ }
48
+ get boundingRect() {
49
+ const rscale = this.rscale;
50
+ let [x, y] = this.position;
51
+ x -= this.pivot[0] * this.size[0] * rscale;
52
+ y -= this.pivot[1] * this.size[1] * rscale;
53
+ const [w, h] = [this.size[0] * rscale, this.size[1] * rscale];
54
+ return [x, y, w, h];
55
+ }
56
+ get center() {
57
+ const [x, y, w, h] = this.boundingRect;
58
+ return [x + w / 2, y + h / 2];
59
+ }
60
+ get rscale() {
61
+ // return Math.min(1 / this.matrixProvider().a, 3);
62
+ return 1 / this.matrixProvider().a;
63
+ }
64
+ static calcPosition(rect, unit, regularizedOrigin, offsetUnit) {
65
+ const [x, y, w, h] = rect;
66
+ const origin = [x + w * regularizedOrigin[0], y + h * regularizedOrigin[1]];
67
+ return [origin[0] + unit[0] * offsetUnit[0], origin[1] + unit[1] * offsetUnit[1]];
68
+ }
69
+ }
70
+ export class ClickableIcon extends ClickableSlate {
71
+ static tmpCanvas;
72
+ static tmpCtx;
73
+ images;
74
+ index;
75
+ shadowColor;
76
+ constructor(srcs, size, pivot, hint, visibleConditionProvider, matrixProvider) {
77
+ super(size, pivot, hint, visibleConditionProvider, matrixProvider);
78
+ this.images = srcs.map(src => {
79
+ const image = new Image();
80
+ image.src = new URL(`../../../../assets/${src}`, import.meta.url).href;
81
+ return image;
82
+ });
83
+ this.index = 0;
84
+ this.shadowColor = '#ffffff';
85
+ }
86
+ render(ctx) {
87
+ if (!this.isVisible())
88
+ return;
89
+ this.renderImage(ctx, this.images[this.index]);
90
+ }
91
+ increment() {
92
+ this.index = (this.index + 1) % this.images.length;
93
+ }
94
+ reset() {
95
+ this.index = 0;
96
+ }
97
+ renderImage(ctx, image) {
98
+ if (image.width === 0 || image.height === 0)
99
+ return;
100
+ if (!ClickableIcon.tmpCanvas) {
101
+ ClickableIcon.tmpCanvas = document.createElement("canvas");
102
+ ClickableIcon.tmpCtx = ClickableIcon.tmpCanvas.getContext("2d");
103
+ }
104
+ ClickableIcon.tmpCanvas.width = image.width;
105
+ ClickableIcon.tmpCanvas.height = image.height;
106
+ ClickableIcon.tmpCtx.drawImage(image, 0, 0);
107
+ ctx.save();
108
+ const [x, y, w, h] = this.boundingRect;
109
+ ctx.shadowColor = this.shadowColor;
110
+ ctx.shadowBlur = 10;
111
+ ctx.drawImage(ClickableIcon.tmpCanvas, x, y, w, h);
112
+ ctx.restore();
113
+ }
114
+ }
115
+ export class ClickableSelfRenderer extends ClickableSlate {
116
+ renderFunction;
117
+ constructor(renderFunction, size, pivot, hint, visibleConditionProvider, matrixProvider) {
118
+ super(size, pivot, hint, visibleConditionProvider, matrixProvider);
119
+ this.renderFunction = renderFunction;
120
+ }
121
+ render(ctx) {
122
+ if (!this.isVisible())
123
+ return;
124
+ ctx.save();
125
+ this.renderFunction(ctx, this);
126
+ ctx.restore();
127
+ }
128
+ }
129
+ //# sourceMappingURL=clickableIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickableIcon.js","sourceRoot":"","sources":["../../../../../src/lib/layeredCanvas/tools/draw/clickableIcon.ts"],"names":[],"mappings":"AAMA,MAAM,OAAgB,cAAc;IAClC,QAAQ,CAAS;IACjB,IAAI,CAAS;IACb,KAAK,CAAS;IACd,IAAI,CAAS;IACb,wBAAwB,CAAyB;IACjD,cAAc,CAAkB;IAChC,UAAU,GAAG,CAAC,CAAC;IACf,SAAS,GAAG,CAAC,CAAC;IACd,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IAEjB,YAAY,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,wBAAgD,EAAE,cAA+B;QACtI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,wBAAwB,IAAI,IAAI,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClF,CAAC;IAED,QAAQ,CAAC,CAAS;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;QACrB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;QACpB,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,CAA+B;QAC3D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,CAAsB;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,KAAK,CAAC,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,YAAY;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAC3C,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAC3C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM;QACR,mDAAmD;QACnD,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAU,EAAE,IAAY,EAAE,iBAAyB,EAAE,UAAkB;QACzF,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,cAAc;IAC/C,MAAM,CAAC,SAAS,CAAoB;IACpC,MAAM,CAAC,MAAM,CAA2B;IAExC,MAAM,CAAqB;IAC3B,KAAK,CAAS;IACd,WAAW,CAAS;IAEpB,YAAY,IAAc,EAAE,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,wBAAgD,EAAE,cAA+B;QACtJ,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,sBAAsB,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,GAA6B;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO;QAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,GAA6B,EAAE,KAAuB;QAChE,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3D,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAG,CAAC;QACpE,CAAC;QACD,aAAa,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC5C,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9C,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5C,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;QACpB,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACvD,cAAc,CAAsE;IAEpF,YAAY,cAAmF,EAAE,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,wBAAuC,EAAE,cAA+B;QAClN,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,GAA6B;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO;QAC9B,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/B,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ import type { FilmStack } from '../../dataModels/film';
2
+ import type { Vector } from '../geometry/geometry';
3
+ export declare function drawFilmStack(ctx: CanvasRenderingContext2D, filmStack: FilmStack, paperSize: Vector): void;
4
+ export declare function drawFilmStackBorders(ctx: CanvasRenderingContext2D, filmStack: FilmStack, paperSize: Vector): void;
@@ -0,0 +1,53 @@
1
+ export function drawFilmStack(ctx, filmStack, paperSize) {
2
+ const films = filmStack.films;
3
+ for (let film of films) {
4
+ if (!film.visible) {
5
+ continue;
6
+ }
7
+ const scale = film.getShiftedScale(paperSize);
8
+ const translation = film.getShiftedTranslation(paperSize);
9
+ ctx.save();
10
+ ctx.translate(translation[0], translation[1]);
11
+ ctx.rotate(-film.rotation * Math.PI / 180);
12
+ ctx.scale(scale * film.reverse[0], scale * film.reverse[1]);
13
+ let media = film.media;
14
+ for (let i = film.effects.length - 1; 0 <= i; i--) {
15
+ if (film.effects[i].outputMedia) {
16
+ media = film.effects[i].outputMedia;
17
+ break;
18
+ }
19
+ }
20
+ ctx.save();
21
+ ctx.translate(-media.naturalWidth * 0.5, -media.naturalHeight * 0.5);
22
+ ctx.drawImage(media.drawSource, 0, 0, media.naturalWidth, media.naturalHeight);
23
+ ctx.restore();
24
+ ctx.restore();
25
+ }
26
+ }
27
+ export function drawFilmStackBorders(ctx, filmStack, paperSize) {
28
+ const films = filmStack.films;
29
+ for (let film of films) {
30
+ if (!film.visible) {
31
+ continue;
32
+ }
33
+ const scale = film.getShiftedScale(paperSize);
34
+ const translation = film.getShiftedTranslation(paperSize);
35
+ ctx.save();
36
+ ctx.translate(translation[0], translation[1]);
37
+ ctx.rotate(-film.rotation * Math.PI / 180);
38
+ if (film.visible) {
39
+ const sx = scale * film.reverse[0];
40
+ const sy = scale * film.reverse[1];
41
+ const iw = sx * film.media.naturalWidth;
42
+ const ih = sy * film.media.naturalHeight;
43
+ ctx.save();
44
+ ctx.translate(-iw * 0.5, -ih * 0.5);
45
+ ctx.strokeStyle = '#00000080';
46
+ ctx.lineWidth = 1;
47
+ ctx.strokeRect(0, 0, iw, ih);
48
+ ctx.restore();
49
+ }
50
+ ctx.restore();
51
+ }
52
+ }
53
+ //# sourceMappingURL=drawFilmStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawFilmStack.js","sourceRoot":"","sources":["../../../../../src/lib/layeredCanvas/tools/draw/drawFilmStack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { drawVerticalText, measureVerticalText } from "./verticalText";
2
+ import type { Rectangle, RenderingText, DrawMethod } from "./typeSetting";
3
+ export { drawVerticalText, measureVerticalText };
4
+ export type Direction = "v" | "h";
5
+ export declare function drawText(dir: Direction, ctx: CanvasRenderingContext2D, method: DrawMethod, r: Rectangle, text: string, baselineSkip: number, charSkip: number, rubySize: number, rubyDistance: number, m?: RenderingText, autoNewline?: boolean): void;
6
+ export declare function drawHorizontalText(context: CanvasRenderingContext2D, method: DrawMethod, r: Rectangle, text: string, baselineSkip: number, charSkip: number, m?: RenderingText, autoNewline?: boolean): void;
7
+ export declare function measureText(dir: Direction, ctx: CanvasRenderingContext2D, w: number, h: number, text: string, baselineSkip: number, charSkip: number, autoNewline?: boolean): RenderingText;
8
+ export declare function measureHorizontalText(context: CanvasRenderingContext2D, maxWidth: number, text: string, baselineSkip: number, charSkip: number, autoNewline?: boolean): RenderingText;
@@ -0,0 +1,45 @@
1
+ import { drawVerticalText, measureVerticalText } from "./verticalText";
2
+ import { kinsoku } from "../kinsoku";
3
+ export { drawVerticalText, measureVerticalText };
4
+ export function drawText(dir, ctx, method, r, text, baselineSkip, charSkip, rubySize, rubyDistance, m, autoNewline) {
5
+ if (dir === 'v') {
6
+ drawVerticalText(ctx, method, r, text, baselineSkip, charSkip, rubySize, rubyDistance, m, autoNewline);
7
+ }
8
+ else {
9
+ drawHorizontalText(ctx, method, r, text, baselineSkip, charSkip, m, autoNewline);
10
+ }
11
+ }
12
+ export function drawHorizontalText(context, method, r, text, baselineSkip, charSkip, m, autoNewline) {
13
+ if (!m) {
14
+ m = measureHorizontalText(context, r.width, text, baselineSkip, charSkip, autoNewline);
15
+ }
16
+ for (let [i, line] of m.horizontalLines.entries()) {
17
+ if (method === "fill") {
18
+ context.fillText(line.text, r.x, r.y + baselineSkip * i + baselineSkip * 0.8);
19
+ }
20
+ else if (method === "stroke") {
21
+ context.strokeText(line.text, r.x, r.y + baselineSkip * i + baselineSkip * 0.8);
22
+ }
23
+ }
24
+ }
25
+ export function measureText(dir, ctx, w, h, text, baselineSkip, charSkip, autoNewline) {
26
+ const m = dir === 'v' ?
27
+ measureVerticalText(ctx, h * 0.85, text, baselineSkip, charSkip, autoNewline) :
28
+ measureHorizontalText(ctx, w * 0.85, text, baselineSkip, charSkip, autoNewline);
29
+ return m;
30
+ }
31
+ export function measureHorizontalText(context, maxWidth, text, baselineSkip, charSkip, autoNewline) {
32
+ if (!autoNewline) {
33
+ maxWidth = Infinity;
34
+ }
35
+ const a = kinsoku((s) => {
36
+ const m = context.measureText(s.join(''));
37
+ return { size: m.width, wrap: maxWidth < m.width };
38
+ }, maxWidth, text);
39
+ return {
40
+ width: a.reduce((max, item) => Math.max(max, item.size), 0),
41
+ height: baselineSkip * a.length,
42
+ horizontalLines: a,
43
+ };
44
+ }
45
+ //# sourceMappingURL=drawText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawText.js","sourceRoot":"","sources":["../../../../../src/lib/layeredCanvas/tools/draw/drawText.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ interface Segment {
2
+ content: string;
3
+ color?: string;
4
+ ruby?: string;
5
+ romanHanging?: boolean;
6
+ }
7
+ export declare function parseMarkdownToJson(sourceText: string): Segment[];
8
+ export interface RichFragment {
9
+ chars: string[];
10
+ color?: string;
11
+ ruby?: string[];
12
+ romanHanging?: boolean;
13
+ }
14
+ export declare function richTextIterator(segments: Segment[]): Generator<RichFragment, void, unknown>;
15
+ export {};
@@ -0,0 +1,172 @@
1
+ export function parseMarkdownToJson(sourceText) {
2
+ const colorPattern = /\{([^{}]+)\|([^{}]+)\}/;
3
+ const rubyPattern = /\[([^\[\]]+)\]\(([^\(\)]+)\)/;
4
+ const romanHangingPattern = /\<\<([^<>]+)\>\>/;
5
+ function parse(text, color, ruby) {
6
+ const result = [];
7
+ let remainingText = text;
8
+ while (remainingText) {
9
+ const colorMatch = remainingText.match(colorPattern);
10
+ const rubyMatch = remainingText.match(rubyPattern);
11
+ const romanHangingMatch = remainingText.match(romanHangingPattern);
12
+ const matches = [
13
+ { type: 'color', match: colorMatch },
14
+ { type: 'ruby', match: rubyMatch },
15
+ { type: 'romanHanging', match: romanHangingMatch }
16
+ ].filter(m => m.match).sort((a, b) => a.match.index - b.match.index);
17
+ if (matches.length > 0) {
18
+ const { type, match } = matches[0];
19
+ const [fullMatch, content, param] = match;
20
+ const index = match.index;
21
+ if (index > 0) {
22
+ result.push({ content: remainingText.slice(0, index), color, ruby });
23
+ }
24
+ switch (type) {
25
+ case 'color':
26
+ result.push(...parse(content, param, ruby));
27
+ break;
28
+ case 'ruby':
29
+ result.push(...parse(content, color, param));
30
+ break;
31
+ case 'romanHanging':
32
+ result.push({ content, color, ruby, romanHanging: true });
33
+ break;
34
+ }
35
+ remainingText = remainingText.slice(index + fullMatch.length);
36
+ }
37
+ else {
38
+ result.push({ content: remainingText, color, ruby });
39
+ remainingText = '';
40
+ }
41
+ }
42
+ return result;
43
+ }
44
+ return parse(sourceText);
45
+ }
46
+ function isHalfWidth(char) {
47
+ return /^[\u0020-\u007E\uFF61-\uFF9F]$/.test(char);
48
+ }
49
+ function getCompleteEmojiSequence(text, index) {
50
+ const regex = /(\p{Emoji}(\uFE0F|\u200D\p{Emoji})*)/u;
51
+ const match = text.slice(index).match(regex);
52
+ if (match && match.index === 0 && !isHalfWidth(match[0])) {
53
+ return match[0];
54
+ }
55
+ return null;
56
+ }
57
+ function* characterGroupIterator(text) {
58
+ let current = '';
59
+ let isCurrentHalfWidth = false;
60
+ let i = 0;
61
+ while (i < text.length) {
62
+ const char = text[i];
63
+ if (isHalfWidth(char)) {
64
+ if (isCurrentHalfWidth) {
65
+ current += char;
66
+ }
67
+ else {
68
+ if (current)
69
+ yield current;
70
+ current = char;
71
+ isCurrentHalfWidth = true;
72
+ }
73
+ i++;
74
+ }
75
+ else {
76
+ const emojiSequence = getCompleteEmojiSequence(text, i);
77
+ if (emojiSequence) {
78
+ if (current)
79
+ yield current;
80
+ yield emojiSequence;
81
+ current = '';
82
+ isCurrentHalfWidth = false;
83
+ i += emojiSequence.length;
84
+ }
85
+ else {
86
+ if (current)
87
+ yield current;
88
+ yield char;
89
+ current = '';
90
+ isCurrentHalfWidth = false;
91
+ i++;
92
+ }
93
+ }
94
+ }
95
+ if (current)
96
+ yield current;
97
+ }
98
+ export function* richTextIterator(segments) {
99
+ for (const segment of segments) {
100
+ const chars = [...characterGroupIterator(segment.content)];
101
+ if (segment.ruby) {
102
+ yield {
103
+ chars: chars,
104
+ color: segment.color,
105
+ ruby: [...characterGroupIterator(segment.ruby)],
106
+ romanHanging: segment.romanHanging
107
+ };
108
+ }
109
+ else if (segment.romanHanging) {
110
+ yield {
111
+ chars: [segment.content],
112
+ color: segment.color,
113
+ romanHanging: segment.romanHanging
114
+ };
115
+ }
116
+ else {
117
+ for (const char of chars) {
118
+ yield {
119
+ chars: [char],
120
+ color: segment.color,
121
+ romanHanging: segment.romanHanging
122
+ };
123
+ }
124
+ }
125
+ }
126
+ }
127
+ /*
128
+ // 使用例
129
+ const segments: Segment[] = [
130
+ { content: "これは" },
131
+ { content: "赤い", color: "red" },
132
+ { content: "文字", ruby: "もじ" },
133
+ { content: "と" },
134
+ { content: "ABC", romanHanging: true },
135
+ { content: "絵文字😊と" },
136
+ { content: "Latin1 text", romanHanging: true },
137
+ { content: "そしてひらがな" },
138
+ { content: "赤いABCだよ" }
139
+ ];
140
+
141
+ console.log([...richTextIterator(segments)]);
142
+
143
+ [
144
+ { "chars": ["こ"], "color": undefined, "romanHanging": undefined },
145
+ { "chars": ["れ"], "color": undefined, "romanHanging": undefined },
146
+ { "chars": ["は"], "color": undefined, "romanHanging": undefined },
147
+ { "chars": ["赤"], "color": "red", "romanHanging": undefined },
148
+ { "chars": ["い"], "color": "red", "romanHanging": undefined },
149
+ { "chars": ["文", "字"], "color": undefined, "ruby": ["も", "じ"], "romanHanging": undefined },
150
+ { "chars": ["と"], "color": undefined, "romanHanging": undefined },
151
+ { "chars": ["ABC"], "color": undefined, "romanHanging": true },
152
+ { "chars": ["絵"], "color": undefined, "romanHanging": undefined },
153
+ { "chars": ["文"], "color": undefined, "romanHanging": undefined },
154
+ { "chars": ["字"], "color": undefined, "romanHanging": undefined },
155
+ { "chars": ["😊"], "color": undefined, "romanHanging": undefined },
156
+ { "chars": ["と"], "color": undefined, "romanHanging": undefined },
157
+ { "chars": ["Latin1 text"], "color": undefined, "romanHanging": true },
158
+ { "chars": ["そ"], "color": undefined, "romanHanging": undefined },
159
+ { "chars": ["し"], "color": undefined, "romanHanging": undefined },
160
+ { "chars": ["て"], "color": undefined, "romanHanging": undefined },
161
+ { "chars": ["ひ"], "color": undefined, "romanHanging": undefined },
162
+ { "chars": ["ら"], "color": undefined, "romanHanging": undefined },
163
+ { "chars": ["が"], "color": undefined, "romanHanging": undefined },
164
+ { "chars": ["な"], "color": undefined, "romanHanging": undefined },
165
+ { "chars": ["赤"], "color": undefined, "romanHanging": undefined },
166
+ { "chars": ["い"], "color": undefined, "romanHanging": undefined },
167
+ { "chars": ["ABC"], "color": undefined, "romanHanging": undefined },
168
+ { "chars": ["だ"], "color": undefined, "romanHanging": undefined },
169
+ { "chars": ["よ"], "color": undefined, "romanHanging": undefined }
170
+ ]
171
+ */
172
+ //# sourceMappingURL=richText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richText.js","sourceRoot":"","sources":["../../../../../src/lib/layeredCanvas/tools/draw/richText.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type Trapezoid } from "../geometry/trapezoid";
2
+ import { type Vector, type Rect } from '../geometry/geometry';
3
+ export declare function drawSelectionFrame(ctx: CanvasRenderingContext2D, color: string, trapezoid: Trapezoid, nearLineWidth?: number, farLineWidth?: number, drawsCircles?: boolean): void;
4
+ export declare function calculateSheetRect(rect: Rect, minSize: Vector, ymargin: number, rscale: number): Rect;
5
+ export declare function drawSheet(ctx: CanvasRenderingContext2D, corners: Trapezoid, r: Rect, fillStyle: string): void;