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.
- package/LICENSE +17 -0
- package/README.md +118 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +184 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/book/book.d.ts +133 -0
- package/dist/lib/book/book.js +329 -0
- package/dist/lib/book/book.js.map +1 -0
- package/dist/lib/book/envelope.d.ts +26 -0
- package/dist/lib/book/envelope.js +158 -0
- package/dist/lib/book/envelope.js.map +1 -0
- package/dist/lib/book/imagePacking.d.ts +10 -0
- package/dist/lib/book/imagePacking.js +213 -0
- package/dist/lib/book/imagePacking.js.map +1 -0
- package/dist/lib/book/layout.d.ts +41 -0
- package/dist/lib/book/layout.js +14 -0
- package/dist/lib/book/layout.js.map +1 -0
- package/dist/lib/book/notebook.d.ts +72 -0
- package/dist/lib/book/notebook.js +30 -0
- package/dist/lib/book/notebook.js.map +1 -0
- package/dist/lib/book/richChat.d.ts +36 -0
- package/dist/lib/book/richChat.js +87 -0
- package/dist/lib/book/richChat.js.map +1 -0
- package/dist/lib/book/storyboard.d.ts +125 -0
- package/dist/lib/book/storyboard.js +44 -0
- package/dist/lib/book/storyboard.js.map +1 -0
- package/dist/lib/layeredCanvas/dataModels/bubble.d.ts +96 -0
- package/dist/lib/layeredCanvas/dataModels/bubble.js +630 -0
- package/dist/lib/layeredCanvas/dataModels/bubble.js.map +1 -0
- package/dist/lib/layeredCanvas/dataModels/effect.d.ts +25 -0
- package/dist/lib/layeredCanvas/dataModels/effect.js +104 -0
- package/dist/lib/layeredCanvas/dataModels/effect.js.map +1 -0
- package/dist/lib/layeredCanvas/dataModels/film.d.ts +44 -0
- package/dist/lib/layeredCanvas/dataModels/film.js +172 -0
- package/dist/lib/layeredCanvas/dataModels/film.js.map +1 -0
- package/dist/lib/layeredCanvas/dataModels/frameTree.d.ts +99 -0
- package/dist/lib/layeredCanvas/dataModels/frameTree.js +861 -0
- package/dist/lib/layeredCanvas/dataModels/frameTree.js.map +1 -0
- package/dist/lib/layeredCanvas/dataModels/media.d.ts +39 -0
- package/dist/lib/layeredCanvas/dataModels/media.js +69 -0
- package/dist/lib/layeredCanvas/dataModels/media.js.map +1 -0
- package/dist/lib/layeredCanvas/layers/SampleLayer.d.ts +6 -0
- package/dist/lib/layeredCanvas/layers/SampleLayer.js +22 -0
- package/dist/lib/layeredCanvas/layers/SampleLayer.js.map +1 -0
- package/dist/lib/layeredCanvas/layers/arrayLayer.d.ts +49 -0
- package/dist/lib/layeredCanvas/layers/arrayLayer.js +364 -0
- package/dist/lib/layeredCanvas/layers/arrayLayer.js.map +1 -0
- package/dist/lib/layeredCanvas/layers/bubbleLayer.d.ts +97 -0
- package/dist/lib/layeredCanvas/layers/bubbleLayer.js +1418 -0
- package/dist/lib/layeredCanvas/layers/bubbleLayer.js.map +1 -0
- package/dist/lib/layeredCanvas/layers/floorLayer.d.ts +13 -0
- package/dist/lib/layeredCanvas/layers/floorLayer.js +64 -0
- package/dist/lib/layeredCanvas/layers/floorLayer.js.map +1 -0
- package/dist/lib/layeredCanvas/layers/frameLayer.d.ts +106 -0
- package/dist/lib/layeredCanvas/layers/frameLayer.js +1283 -0
- package/dist/lib/layeredCanvas/layers/frameLayer.js.map +1 -0
- package/dist/lib/layeredCanvas/layers/inlinePainterLayer.d.ts +33 -0
- package/dist/lib/layeredCanvas/layers/inlinePainterLayer.js +222 -0
- package/dist/lib/layeredCanvas/layers/inlinePainterLayer.js.map +1 -0
- package/dist/lib/layeredCanvas/layers/paperRendererLayer.d.ts +64 -0
- package/dist/lib/layeredCanvas/layers/paperRendererLayer.js +443 -0
- package/dist/lib/layeredCanvas/layers/paperRendererLayer.js.map +1 -0
- package/dist/lib/layeredCanvas/layers/undoLayer.d.ts +8 -0
- package/dist/lib/layeredCanvas/layers/undoLayer.js +24 -0
- package/dist/lib/layeredCanvas/layers/undoLayer.js.map +1 -0
- package/dist/lib/layeredCanvas/system/keyCache.d.ts +4 -0
- package/dist/lib/layeredCanvas/system/keyCache.js +61 -0
- package/dist/lib/layeredCanvas/system/keyCache.js.map +1 -0
- package/dist/lib/layeredCanvas/system/layeredCanvas.d.ts +172 -0
- package/dist/lib/layeredCanvas/system/layeredCanvas.js +597 -0
- package/dist/lib/layeredCanvas/system/layeredCanvas.js.map +1 -0
- package/dist/lib/layeredCanvas/system/paperArray.d.ts +29 -0
- package/dist/lib/layeredCanvas/system/paperArray.js +108 -0
- package/dist/lib/layeredCanvas/system/paperArray.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/draw/bubbleGraphic.d.ts +7 -0
- package/dist/lib/layeredCanvas/tools/draw/bubbleGraphic.js +728 -0
- package/dist/lib/layeredCanvas/tools/draw/bubbleGraphic.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/draw/clickableIcon.d.ts +42 -0
- package/dist/lib/layeredCanvas/tools/draw/clickableIcon.js +129 -0
- package/dist/lib/layeredCanvas/tools/draw/clickableIcon.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/draw/drawFilmStack.d.ts +4 -0
- package/dist/lib/layeredCanvas/tools/draw/drawFilmStack.js +53 -0
- package/dist/lib/layeredCanvas/tools/draw/drawFilmStack.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/draw/drawText.d.ts +8 -0
- package/dist/lib/layeredCanvas/tools/draw/drawText.js +45 -0
- package/dist/lib/layeredCanvas/tools/draw/drawText.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/draw/richText.d.ts +15 -0
- package/dist/lib/layeredCanvas/tools/draw/richText.js +172 -0
- package/dist/lib/layeredCanvas/tools/draw/richText.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/draw/selectionFrame.d.ts +5 -0
- package/dist/lib/layeredCanvas/tools/draw/selectionFrame.js +63 -0
- package/dist/lib/layeredCanvas/tools/draw/selectionFrame.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/draw/typeSetting.d.ts +16 -0
- package/dist/lib/layeredCanvas/tools/draw/typeSetting.js +2 -0
- package/dist/lib/layeredCanvas/tools/draw/typeSetting.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/draw/verticalText.d.ts +3 -0
- package/dist/lib/layeredCanvas/tools/draw/verticalText.js +230 -0
- package/dist/lib/layeredCanvas/tools/draw/verticalText.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/focusKeeper.d.ts +8 -0
- package/dist/lib/layeredCanvas/tools/focusKeeper.js +15 -0
- package/dist/lib/layeredCanvas/tools/focusKeeper.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/frameExamples.d.ts +382 -0
- package/dist/lib/layeredCanvas/tools/frameExamples.js +758 -0
- package/dist/lib/layeredCanvas/tools/frameExamples.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/geometry/bubbleGeometry.d.ts +12 -0
- package/dist/lib/layeredCanvas/tools/geometry/bubbleGeometry.js +117 -0
- package/dist/lib/layeredCanvas/tools/geometry/bubbleGeometry.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/geometry/convertPoint.d.ts +2 -0
- package/dist/lib/layeredCanvas/tools/geometry/convertPoint.js +25 -0
- package/dist/lib/layeredCanvas/tools/geometry/convertPoint.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/geometry/geometry.d.ts +69 -0
- package/dist/lib/layeredCanvas/tools/geometry/geometry.js +408 -0
- package/dist/lib/layeredCanvas/tools/geometry/geometry.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/geometry/geometry.vitest.d.ts +1 -0
- package/dist/lib/layeredCanvas/tools/geometry/geometry.vitest.js +58 -0
- package/dist/lib/layeredCanvas/tools/geometry/geometry.vitest.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/geometry/quickHull.d.ts +10 -0
- package/dist/lib/layeredCanvas/tools/geometry/quickHull.js +91 -0
- package/dist/lib/layeredCanvas/tools/geometry/quickHull.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/geometry/trapezoid.d.ts +18 -0
- package/dist/lib/layeredCanvas/tools/geometry/trapezoid.js +105 -0
- package/dist/lib/layeredCanvas/tools/geometry/trapezoid.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/grid.d.ts +7 -0
- package/dist/lib/layeredCanvas/tools/grid.js +16 -0
- package/dist/lib/layeredCanvas/tools/grid.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/haiku.d.ts +1 -0
- package/dist/lib/layeredCanvas/tools/haiku.js +17 -0
- package/dist/lib/layeredCanvas/tools/haiku.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/imageUtil.d.ts +8 -0
- package/dist/lib/layeredCanvas/tools/imageUtil.js +58 -0
- package/dist/lib/layeredCanvas/tools/imageUtil.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/kinsoku.d.ts +26 -0
- package/dist/lib/layeredCanvas/tools/kinsoku.js +124 -0
- package/dist/lib/layeredCanvas/tools/kinsoku.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/misc.d.ts +25 -0
- package/dist/lib/layeredCanvas/tools/misc.js +46 -0
- package/dist/lib/layeredCanvas/tools/misc.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/perfectFreehandUtil.d.ts +2 -0
- package/dist/lib/layeredCanvas/tools/perfectFreehandUtil.js +21 -0
- package/dist/lib/layeredCanvas/tools/perfectFreehandUtil.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/pictureControl.d.ts +4 -0
- package/dist/lib/layeredCanvas/tools/pictureControl.js +24 -0
- package/dist/lib/layeredCanvas/tools/pictureControl.js.map +1 -0
- package/dist/lib/layeredCanvas/tools/rectHandle.d.ts +6 -0
- package/dist/lib/layeredCanvas/tools/rectHandle.js +17 -0
- package/dist/lib/layeredCanvas/tools/rectHandle.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- 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":"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"}
|
|
@@ -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;
|