@xviewer.js/core 1.0.4-alpha.8 → 1.0.4-alpha.9
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/dist/main.cjs +689 -0
- package/dist/main.cjs.map +1 -1
- package/dist/module.js +687 -2
- package/dist/module.js.map +1 -1
- package/package.json +1 -1
- package/types/bmfont/BMFontAtlas.d.ts +44 -0
- package/types/bmfont/BMFontTextGeometry.d.ts +9 -0
- package/types/bmfont/BMFontTextLayout.d.ts +93 -0
- package/types/bmfont/index.d.ts +3 -0
- package/types/bmfont/utils.d.ts +2 -0
- package/types/bmfont/wordwrap.d.ts +8 -0
- package/types/components/Label.d.ts +26 -0
- package/types/components/index.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/materials/MSDFMaterial.d.ts +20 -0
package/package.json
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Color, ShaderMaterial, ShaderMaterialParameters, Texture, Vector2 } from "three";
|
|
2
|
+
import { BMFontInfo, BMFontTextLayout, LayoutSetting } from "./BMFontTextLayout";
|
|
3
|
+
export declare class BMFontAtlas {
|
|
4
|
+
info: BMFontInfo;
|
|
5
|
+
material: ShaderMaterial;
|
|
6
|
+
uniforms: {
|
|
7
|
+
u_color: {
|
|
8
|
+
value: Color;
|
|
9
|
+
};
|
|
10
|
+
u_opacity: {
|
|
11
|
+
value: number;
|
|
12
|
+
};
|
|
13
|
+
u_weight: {
|
|
14
|
+
value: number;
|
|
15
|
+
};
|
|
16
|
+
u_strokeColor: {
|
|
17
|
+
value: Color;
|
|
18
|
+
};
|
|
19
|
+
u_strokeWidth: {
|
|
20
|
+
value: number;
|
|
21
|
+
};
|
|
22
|
+
u_shadowColor: {
|
|
23
|
+
value: Color;
|
|
24
|
+
};
|
|
25
|
+
u_shadowBlur: {
|
|
26
|
+
value: number;
|
|
27
|
+
};
|
|
28
|
+
u_shadowOffset: {
|
|
29
|
+
value: Vector2;
|
|
30
|
+
};
|
|
31
|
+
u_fontTexture: {
|
|
32
|
+
value: any;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
constructor({ info, texture, uniforms, ...props }: {
|
|
36
|
+
info: BMFontInfo;
|
|
37
|
+
texture: Texture;
|
|
38
|
+
} & ShaderMaterialParameters);
|
|
39
|
+
build(layout: BMFontTextLayout, setting: LayoutSetting): {
|
|
40
|
+
position: Float32Array<ArrayBuffer>;
|
|
41
|
+
uv: Float32Array<ArrayBuffer>;
|
|
42
|
+
indice: Uint16Array<ArrayBuffer>;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BufferGeometry } from "three";
|
|
2
|
+
import { BMFontAtlas } from "./BMFontAtlas";
|
|
3
|
+
import { LayoutSetting, BMFontTextLayout } from "./BMFontTextLayout";
|
|
4
|
+
export declare class BMFontTextGeometry extends BufferGeometry {
|
|
5
|
+
layout: BMFontTextLayout;
|
|
6
|
+
update(fontAtlas: BMFontAtlas, text: string, setting: LayoutSetting): void;
|
|
7
|
+
computeBoundingSphere(): void;
|
|
8
|
+
computeBoundingBox(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export interface Glyph {
|
|
2
|
+
id: number;
|
|
3
|
+
char: string;
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
xoffset: number;
|
|
9
|
+
yoffset: number;
|
|
10
|
+
xadvance: number;
|
|
11
|
+
page: number;
|
|
12
|
+
chnl: number;
|
|
13
|
+
}
|
|
14
|
+
export interface BMFontInfo {
|
|
15
|
+
pages: string[];
|
|
16
|
+
chars: Glyph[];
|
|
17
|
+
info: {
|
|
18
|
+
face: string;
|
|
19
|
+
size: number;
|
|
20
|
+
bold: number;
|
|
21
|
+
italic: number;
|
|
22
|
+
charset: string[];
|
|
23
|
+
unicode: number;
|
|
24
|
+
stretchH: number;
|
|
25
|
+
smooth: number;
|
|
26
|
+
aa: number;
|
|
27
|
+
padding: number[];
|
|
28
|
+
spacing: number[];
|
|
29
|
+
outline: number;
|
|
30
|
+
};
|
|
31
|
+
common: {
|
|
32
|
+
lineHeight: number;
|
|
33
|
+
base: number;
|
|
34
|
+
scaleW: number;
|
|
35
|
+
scaleH: number;
|
|
36
|
+
pages: number;
|
|
37
|
+
packed: number;
|
|
38
|
+
};
|
|
39
|
+
distanceField: {
|
|
40
|
+
fieldType: string;
|
|
41
|
+
distanceRange: number;
|
|
42
|
+
};
|
|
43
|
+
kernings: {
|
|
44
|
+
first: number;
|
|
45
|
+
second: number;
|
|
46
|
+
amount: number;
|
|
47
|
+
}[];
|
|
48
|
+
}
|
|
49
|
+
export interface LayoutSetting {
|
|
50
|
+
tabSize?: number;
|
|
51
|
+
width?: number;
|
|
52
|
+
anchor?: number[];
|
|
53
|
+
letterSpacing?: number;
|
|
54
|
+
lineHeight?: number;
|
|
55
|
+
mode?: "nowrap" | "pre" | "greedy";
|
|
56
|
+
align?: "center" | "right" | "left";
|
|
57
|
+
flipY?: boolean;
|
|
58
|
+
}
|
|
59
|
+
export interface LayoutGlyph {
|
|
60
|
+
position: number[];
|
|
61
|
+
data: Glyph;
|
|
62
|
+
index: number;
|
|
63
|
+
line: number;
|
|
64
|
+
}
|
|
65
|
+
export declare class BMFontTextLayout {
|
|
66
|
+
private _width;
|
|
67
|
+
private _height;
|
|
68
|
+
private _descender;
|
|
69
|
+
private _ascender;
|
|
70
|
+
private _xHeight;
|
|
71
|
+
private _baseline;
|
|
72
|
+
private _capHeight;
|
|
73
|
+
private _lineHeight;
|
|
74
|
+
private _linesTotal;
|
|
75
|
+
private _glyphs;
|
|
76
|
+
private _fallbackSpaceGlyph;
|
|
77
|
+
private _fallbackTabGlyph;
|
|
78
|
+
private _font;
|
|
79
|
+
get width(): number;
|
|
80
|
+
get height(): number;
|
|
81
|
+
get descender(): number;
|
|
82
|
+
get ascender(): number;
|
|
83
|
+
get xHeight(): number;
|
|
84
|
+
get baseline(): number;
|
|
85
|
+
get capHeight(): number;
|
|
86
|
+
get lineHeight(): number;
|
|
87
|
+
get glyphs(): LayoutGlyph[];
|
|
88
|
+
get linesTotal(): number;
|
|
89
|
+
update(font: BMFontInfo, text: string, setting: LayoutSetting): void;
|
|
90
|
+
private _setupSpaceGlyphs;
|
|
91
|
+
private _getGlyph;
|
|
92
|
+
private _computeMetrics;
|
|
93
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Material, Mesh } from "three";
|
|
2
|
+
import { BMFontAtlas } from "../bmfont/BMFontAtlas";
|
|
3
|
+
import { BMFontTextGeometry } from "../bmfont/BMFontTextGeometry";
|
|
4
|
+
import { LayoutSetting } from "../bmfont/BMFontTextLayout";
|
|
5
|
+
import { Component } from "../Component";
|
|
6
|
+
export interface LabelSetting extends LayoutSetting {
|
|
7
|
+
text?: string;
|
|
8
|
+
material?: Material;
|
|
9
|
+
font: BMFontAtlas;
|
|
10
|
+
}
|
|
11
|
+
export declare class Label extends Component<Mesh<BMFontTextGeometry>> {
|
|
12
|
+
needsUpdate: boolean;
|
|
13
|
+
private _text;
|
|
14
|
+
private _font;
|
|
15
|
+
private _setting;
|
|
16
|
+
get text(): string;
|
|
17
|
+
set text(v: string);
|
|
18
|
+
get font(): BMFontAtlas;
|
|
19
|
+
set font(v: BMFontAtlas);
|
|
20
|
+
get setting(): LayoutSetting;
|
|
21
|
+
set setting(v: LayoutSetting);
|
|
22
|
+
get layout(): import("../bmfont/BMFontTextLayout").BMFontTextLayout;
|
|
23
|
+
constructor({ text, font, material, ...setting }: LabelSetting);
|
|
24
|
+
forceUpdate(): void;
|
|
25
|
+
update(dt: number): void;
|
|
26
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Color, ShaderMaterial, Texture, Vector2 } from "three";
|
|
2
|
+
export declare class MSDFMaterial extends ShaderMaterial {
|
|
3
|
+
constructor();
|
|
4
|
+
get weight(): number;
|
|
5
|
+
set weight(v: number);
|
|
6
|
+
get color(): Color;
|
|
7
|
+
set color(v: Color);
|
|
8
|
+
get strokeColor(): Color;
|
|
9
|
+
set strokeColor(v: Color);
|
|
10
|
+
get strokeWidth(): number;
|
|
11
|
+
set strokeWidth(v: number);
|
|
12
|
+
get shadowColor(): Color;
|
|
13
|
+
set shadowColor(v: Color);
|
|
14
|
+
get shadowBlur(): number;
|
|
15
|
+
set shadowBlur(v: number);
|
|
16
|
+
get shadowOffset(): Vector2;
|
|
17
|
+
set shadowOffset(v: Vector2);
|
|
18
|
+
get fontTexture(): Texture;
|
|
19
|
+
set fontTexture(v: Texture);
|
|
20
|
+
}
|