three-stdlib 2.14.0 → 2.14.1
Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=r(e);class n extends t.Loader{constructor(e){super(e)}load(e,r,s,n){const a=new t.FileLoader(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,(e=>{if("string"!=typeof e)throw new Error("unsupported data type");const t=JSON.parse(e),s=this.parse(t);r&&r(s)}),s,n)}parse(e){return new a(e)}}class a{constructor(e){s.default(this,"data",void 0),this.data=e}generateShapes(e,t=100,r){const s=[],n={letterSpacing:0,lineHeight:1,...r},a=function(e,t,r,s){const n=Array.from(e),a=t/r.resolution,i=(r.boundingBox.yMax-r.boundingBox.yMin+r.underlineThickness)*a,p=[];let l=0,u=0;for(let e=0;e<n.length;e++){const t=n[e];if("\n"===t)l=0,u-=i*s.lineHeight;else{const e=o(t,a,l,u,r);e&&(l+=e.offsetX+s.letterSpacing,p.push(e.path))}}return p}(e,t,this.data,n);for(let e=0,t=a.length;e<t;e++)Array.prototype.push.apply(s,a[e].toShapes(!1));return s}}function o(e,r,s,n,a){const o=a.glyphs[e]||a.glyphs["?"];if(!o)return void console.error('THREE.Font: character "'+e+'" does not exists in font family '+a.familyName+".");const i=new t.ShapePath;let p,l,u,c,h,d,f,y;if(o.o){const e=o._cachedOutline||(o._cachedOutline=o.o.split(" "));for(let t=0,a=e.length;t<a;){switch(e[t++]){case"m":p=parseInt(e[t++])*r+s,l=parseInt(e[t++])*r+n,i.moveTo(p,l);break;case"l":p=parseInt(e[t++])*r+s,l=parseInt(e[t++])*r+n,i.lineTo(p,l);break;case"q":u=parseInt(e[t++])*r+s,c=parseInt(e[t++])*r+n,h=parseInt(e[t++])*r+s,d=parseInt(e[t++])*r+n,i.quadraticCurveTo(h,d,u,c);break;case"b":u=parseInt(e[t++])*r+s,c=parseInt(e[t++])*r+n,h=parseInt(e[t++])*r+s,d=parseInt(e[t++])*r+n,f=parseInt(e[t++])*r+s,y=parseInt(e[t++])*r+n,i.bezierCurveTo(h,d,f,y,u,c)}}}return{offsetX:o.ha*r,path:i}}s.default(a,"isFont",void 0),s.default(a,"type",void 0),exports.Font=a,exports.FontLoader=n;
|
package/loaders/FontLoader.d.ts
CHANGED
@@ -5,11 +5,9 @@ declare type Options = {
|
|
5
5
|
letterSpacing: number;
|
6
6
|
};
|
7
7
|
export declare class FontLoader extends Loader {
|
8
|
-
options: Options;
|
9
8
|
constructor(manager?: LoadingManager);
|
10
9
|
load(url: string, onLoad?: (responseFont: Font) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): void;
|
11
10
|
parse(json: FontData): Font;
|
12
|
-
setOptions(options: Partial<Options>): void;
|
13
11
|
}
|
14
12
|
declare type Glyph = {
|
15
13
|
_cachedOutline: string[];
|
@@ -30,10 +28,9 @@ declare type FontData = {
|
|
30
28
|
};
|
31
29
|
export declare class Font {
|
32
30
|
data: FontData;
|
33
|
-
options: Options;
|
34
31
|
static isFont: true;
|
35
32
|
static type: 'Font';
|
36
|
-
constructor(data: FontData
|
37
|
-
generateShapes(text: string, size?: number): Shape[];
|
33
|
+
constructor(data: FontData);
|
34
|
+
generateShapes(text: string, size?: number, _options?: Partial<Options>): Shape[];
|
38
35
|
}
|
39
36
|
export {};
|
package/loaders/FontLoader.js
CHANGED
@@ -4,11 +4,6 @@ import { Loader, FileLoader, ShapePath } from 'three';
|
|
4
4
|
class FontLoader extends Loader {
|
5
5
|
constructor(manager) {
|
6
6
|
super(manager);
|
7
|
-
|
8
|
-
_defineProperty(this, "options", {
|
9
|
-
lineHeight: 1,
|
10
|
-
letterSpacing: 0
|
11
|
-
});
|
12
7
|
}
|
13
8
|
|
14
9
|
load(url, onLoad, onProgress, onError) {
|
@@ -25,27 +20,25 @@ class FontLoader extends Loader {
|
|
25
20
|
}
|
26
21
|
|
27
22
|
parse(json) {
|
28
|
-
return new Font(json
|
29
|
-
}
|
30
|
-
|
31
|
-
setOptions(options) {
|
32
|
-
Object.assign(this.options, options);
|
23
|
+
return new Font(json);
|
33
24
|
}
|
34
25
|
|
35
26
|
}
|
36
27
|
class Font {
|
37
|
-
constructor(data
|
28
|
+
constructor(data) {
|
38
29
|
_defineProperty(this, "data", void 0);
|
39
30
|
|
40
|
-
_defineProperty(this, "options", void 0);
|
41
|
-
|
42
31
|
this.data = data;
|
43
|
-
this.options = options;
|
44
32
|
}
|
45
33
|
|
46
|
-
generateShapes(text, size = 100) {
|
34
|
+
generateShapes(text, size = 100, _options) {
|
47
35
|
const shapes = [];
|
48
|
-
const
|
36
|
+
const options = {
|
37
|
+
letterSpacing: 0,
|
38
|
+
lineHeight: 1,
|
39
|
+
..._options
|
40
|
+
};
|
41
|
+
const paths = createPaths(text, size, this.data, options);
|
49
42
|
|
50
43
|
for (let p = 0, pl = paths.length; p < pl; p++) {
|
51
44
|
Array.prototype.push.apply(shapes, paths[p].toShapes(false));
|