@wcardinal/wcardinal-ui 0.408.0 → 0.410.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/dist/types/wcardinal/ui/d-base-snippet-container.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-base.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +3 -9
- package/dist/types/wcardinal/ui/shape/e-shape-container.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/e-shape-points-formatters.d.ts +2 -1
- package/dist/types/wcardinal/ui/shape/e-shape-points-style.d.ts +7 -1
- package/dist/types/wcardinal/ui/shape/index.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/build-bar.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-circle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-color.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/build-image-sdf.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-line-of-any.d.ts +17 -1
- package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +2 -3
- package/dist/types/wcardinal/ui/shape/variant/build-null.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-rectangle-rounded.d.ts +2 -3
- package/dist/types/wcardinal/ui/shape/variant/build-rectangle.d.ts +4 -5
- package/dist/types/wcardinal/ui/shape/variant/build-semicircle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-triangle-rounded.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-triangle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +9 -18
- package/dist/types/wcardinal/ui/shape/variant/index.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/to-dash.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/to-normal-packed.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-normal.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-packed.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/variant/to-vector-length.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-vector.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/white/e-theme-white-shape-points-formatter.d.ts +2 -1
- package/dist/wcardinal/ui/d-base-snippet-container.js +11 -3
- package/dist/wcardinal/ui/d-base-snippet-container.js.map +1 -1
- package/dist/wcardinal/ui/d-base.js +4 -0
- package/dist/wcardinal/ui/d-base.js.map +1 -1
- package/dist/wcardinal/ui/d-scroll-bar.js +1 -0
- package/dist/wcardinal/ui/d-scroll-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-buffer.js +10 -30
- package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.js +165 -0
- package/dist/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-points-formatters.js +7 -2
- package/dist/wcardinal/ui/shape/e-shape-points-formatters.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-points-style.js +12 -4
- package/dist/wcardinal/ui/shape/e-shape-points-style.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-renderer.js +4 -5
- package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
- package/dist/wcardinal/ui/shape/index.js +1 -0
- package/dist/wcardinal/ui/shape/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-bar.js +37 -63
- package/dist/wcardinal/ui/shape/variant/build-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-circle.js +63 -40
- package/dist/wcardinal/ui/shape/variant/build-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-color.js +8 -11
- package/dist/wcardinal/ui/shape/variant/build-color.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-image-sdf.js +30 -37
- package/dist/wcardinal/ui/shape/variant/build-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +244 -25
- package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line.js +149 -129
- package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-null.js +0 -7
- package/dist/wcardinal/ui/shape/variant/build-null.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js +917 -849
- package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-rectangle.js +279 -353
- package/dist/wcardinal/ui/shape/variant/build-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-semicircle.js +45 -31
- package/dist/wcardinal/ui/shape/variant/build-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-text.js +6 -13
- package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js +255 -128
- package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-triangle.js +55 -35
- package/dist/wcardinal/ui/shape/variant/build-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-bar.js +8 -11
- package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-base.js +18 -22
- package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-circle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +3 -6
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +13 -17
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +5 -12
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +10 -26
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +9 -25
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +9 -25
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +5 -12
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line.js +13 -27
- package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +27 -19
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +6 -12
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-text.js +19 -28
- package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -12
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder.js +18 -14
- package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/index.js +0 -1
- package/dist/wcardinal/ui/shape/variant/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/to-dash.js +8 -9
- package/dist/wcardinal/ui/shape/variant/to-dash.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/to-normal-packed.js +7 -0
- package/dist/wcardinal/ui/shape/variant/to-normal-packed.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-normal.js +15 -0
- package/dist/wcardinal/ui/shape/variant/to-normal.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-packed.js +7 -0
- package/dist/wcardinal/ui/shape/variant/to-packed.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-vector-length.js +4 -0
- package/dist/wcardinal/ui/shape/variant/to-vector-length.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-vector.js +6 -0
- package/dist/wcardinal/ui/shape/variant/to-vector.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.js +5 -2
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.js +5 -2
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/e-theme-dark-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.js +5 -2
- package/dist/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.js +5 -2
- package/dist/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/e-theme-white-shape-points-formatter.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +6 -3
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +6 -3
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +6 -3
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.js +6 -3
- package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +6 -3
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +6 -3
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui.cjs.js +2526 -2114
- package/dist/wcardinal-ui.js +2502 -2102
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/wcardinal/ui/shape/variant/copy-clipping.d.ts +0 -1
- package/dist/wcardinal/ui/shape/variant/copy-clipping.js +0 -20
- package/dist/wcardinal/ui/shape/variant/copy-clipping.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-buffer.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-buffer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer, DRAW_MODES, Geometry, Renderer, Shader, Texture } from \"pixi.js\";\nimport { EShapeBufferUnitBuilder } from \"./e-shape-buffer-unit-builder\";\nimport { EShapeRendererIterator } from \"./e-shape-renderer-iterator\";\nimport { EShapeType } from \"./e-shape-type\";\nimport { EShapeUploadeds } from \"./e-shape-uploadeds\";\n\nexport class EShapeBuffer {\n\tvertices: Float32Array;\n\tprotected _vertexCapacity: number;\n\tprotected _vertexCount: number;\n\tprotected _vertexBuffer: Buffer | null;\n\n\tclippings: Float32Array;\n\tprotected _clippingBuffer: Buffer | null;\n\n\tsteps: Float32Array;\n\tprotected _stepBuffer: Buffer | null;\n\n\tcolorFills: Float32Array;\n\tprotected _colorFillBuffer: Buffer | null;\n\n\tcolorStrokes: Float32Array;\n\tprotected _colorStrokeBuffer: Buffer | null;\n\n\tuvs: Float32Array;\n\tprotected _uvBuffer: Buffer | null;\n\n\tindices: Uint16Array | Uint32Array;\n\tprotected _indexCapacity: number;\n\tprotected _indexCount: number;\n\tindexCountRequested: number;\n\tprotected _indexBuffer: Buffer | null;\n\n\tprotected _renderer: Renderer;\n\tprotected _geometry: Geometry | null;\n\n\tprotected _builder: EShapeBufferUnitBuilder;\n\n\tconstructor(ntriangles: number, renderer: Renderer) {\n\t\tconst nindices = ntriangles * 3;\n\t\tconst nvertices = nindices;\n\n\t\tthis.vertices = new Float32Array(nvertices * 2);\n\t\tthis._vertexCapacity = nvertices;\n\t\tthis._vertexCount = 0;\n\t\tthis._vertexBuffer = null;\n\n\t\tthis.clippings = new Float32Array(nvertices * 3);\n\t\tthis._clippingBuffer = null;\n\n\t\tthis.steps = new Float32Array(nvertices * 6);\n\t\tthis._stepBuffer = null;\n\n\t\tthis.colorFills = new Float32Array(nvertices * 4);\n\t\tthis._colorFillBuffer = null;\n\n\t\tthis.colorStrokes = new Float32Array(nvertices * 4);\n\t\tthis._colorStrokeBuffer = null;\n\n\t\tthis.uvs = new Float32Array(nvertices * 2);\n\t\tthis._uvBuffer = null;\n\n\t\tconst isIndicesShort = nvertices <= 65535;\n\t\tthis.indices = isIndicesShort ? new Uint16Array(nindices) : new Uint32Array(nindices);\n\t\tthis._indexCapacity = ntriangles;\n\t\tthis._indexCount = 0;\n\t\tthis.indexCountRequested = 0;\n\t\tthis._indexBuffer = null;\n\n\t\tthis._renderer = renderer;\n\n\t\tthis._builder = new EShapeBufferUnitBuilder();\n\n\t\tthis._geometry = null;\n\t}\n\n\tupdateVertices(): void {\n\t\tconst vertexBuffer = this._vertexBuffer;\n\t\tif (vertexBuffer) {\n\t\t\tvertexBuffer.update();\n\t\t}\n\t}\n\n\tupdateClippings(): void {\n\t\tconst clippingBuffer = this._clippingBuffer;\n\t\tif (clippingBuffer) {\n\t\t\tclippingBuffer.update();\n\t\t}\n\t}\n\n\tupdateSteps(): void {\n\t\tconst stepBuffer = this._stepBuffer;\n\t\tif (stepBuffer) {\n\t\t\tstepBuffer.update();\n\t\t}\n\t}\n\n\tupdateColorFills(): void {\n\t\tconst colorFillBuffer = this._colorFillBuffer;\n\t\tif (colorFillBuffer) {\n\t\t\tcolorFillBuffer.update();\n\t\t}\n\t}\n\n\tupdateColorStrokes(): void {\n\t\tconst colorStrokeBuffer = this._colorStrokeBuffer;\n\t\tif (colorStrokeBuffer) {\n\t\t\tcolorStrokeBuffer.update();\n\t\t}\n\t}\n\n\tupdateUvs(): void {\n\t\tconst uvBuffer = this._uvBuffer;\n\t\tif (uvBuffer) {\n\t\t\tuvBuffer.update();\n\t\t}\n\t}\n\n\tupdateIndices(): void {\n\t\tconst indexBuffer = this._indexBuffer;\n\t\tif (indexBuffer) {\n\t\t\tindexBuffer.update();\n\t\t}\n\t}\n\n\tprotected getGeometry(): Geometry {\n\t\tlet result = this._geometry;\n\t\tif (result == null) {\n\t\t\tthis._vertexBuffer = new Buffer(this.vertices, false, false);\n\t\t\tthis._clippingBuffer = new Buffer(this.clippings, false, false);\n\t\t\tthis._stepBuffer = new Buffer(this.steps, false, false);\n\t\t\tthis._colorFillBuffer = new Buffer(this.colorFills, false, false);\n\t\t\tthis._colorStrokeBuffer = new Buffer(this.colorStrokes, false, false);\n\t\t\tthis._uvBuffer = new Buffer(this.uvs, false, false);\n\t\t\tthis._indexBuffer = new Buffer(this.indices, false, true);\n\n\t\t\tthis._geometry = result = new Geometry()\n\t\t\t\t.addIndex(this._indexBuffer)\n\t\t\t\t.addAttribute(\"aPosition\", this._vertexBuffer, 2)\n\t\t\t\t.addAttribute(\"aClipping\", this._clippingBuffer, 3)\n\t\t\t\t.addAttribute(\"aStep\", this._stepBuffer, 2)\n\t\t\t\t.addAttribute(\"aAntialias\", this._stepBuffer, 4)\n\t\t\t\t.addAttribute(\"aColorFill\", this._colorFillBuffer, 4)\n\t\t\t\t.addAttribute(\"aColorStroke\", this._colorStrokeBuffer, 4)\n\t\t\t\t.addAttribute(\"aUv\", this._uvBuffer, 2);\n\t\t}\n\t\treturn result;\n\t}\n\n\tupload(): void {\n\t\tthis._renderer.geometry.bind(this.getGeometry());\n\t}\n\n\trender(shader: Shader): void {\n\t\tconst renderer = this._renderer;\n\t\trenderer.geometry.bind(this.getGeometry());\n\n\t\tconst units = this._builder.units;\n\t\tconst unitCount = units.length;\n\t\tif (0 < unitCount) {\n\t\t\tconst type = DRAW_MODES.TRIANGLES;\n\n\t\t\tlet unit0 = null;\n\t\t\tlet unit1 = units[0];\n\t\t\tlet ioffset0 = 0;\n\t\t\tlet ioffset1 = unit1.indexOffset * 3;\n\t\t\tlet vcount = 0;\n\t\t\tlet texture = Texture.WHITE;\n\t\t\tfor (let i = 0, imax = unitCount - 1; i < imax; ++i) {\n\t\t\t\tunit0 = unit1;\n\t\t\t\tunit1 = units[i + 1];\n\t\t\t\tioffset0 = ioffset1;\n\t\t\t\tioffset1 = unit1.indexOffset * 3;\n\t\t\t\tvcount = ioffset1 - ioffset0;\n\t\t\t\ttexture = unit0.texture || Texture.WHITE;\n\t\t\t\tif (0 < vcount && texture.valid) {\n\t\t\t\t\tshader.uniforms.sampler = renderer.texture.bind(texture);\n\t\t\t\t\trenderer.geometry.draw(type, vcount, ioffset0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvcount = this._indexCount * 3 - ioffset1;\n\t\t\ttexture = unit1.texture || Texture.WHITE;\n\t\t\tif (0 < vcount && texture.valid) {\n\t\t\t\tshader.uniforms.sampler = renderer.texture.bind(texture);\n\t\t\t\trenderer.geometry.draw(type, vcount, ioffset1);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate(\n\t\titerator: EShapeRendererIterator,\n\t\tantialiasWeight: number,\n\t\tnoMoreThanOne: boolean\n\t): boolean {\n\t\tconst builder = this._builder;\n\t\tbuilder.begin();\n\n\t\tlet vindex = 0;\n\t\tlet iindex = 0;\n\t\tlet shape = iterator.get();\n\t\tfor (; shape != null; shape = iterator.next()) {\n\t\t\tlet uploaded = shape.uploaded;\n\t\t\tif (uploaded == null) {\n\t\t\t\tconst creator = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];\n\t\t\t\tif (creator == null) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst newUploaded = creator(this, shape, vindex, iindex, antialiasWeight);\n\t\t\t\tif (newUploaded == null) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tuploaded = newUploaded;\n\t\t\t} else if (!uploaded.reinit(this, shape, vindex, iindex)) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tuploaded.buildUnit(builder);\n\t\t\tvindex += uploaded.getVertexCount();\n\t\t\tiindex += uploaded.getIndexCount();\n\n\t\t\tif (noMoreThanOne) {\n\t\t\t\titerator.next();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tbuilder.end();\n\t\tthis._vertexCount = vindex;\n\t\tthis._indexCount = iindex;\n\t\treturn 0 < builder.units.length;\n\t}\n\n\tcheck(vindex: number, ioffset: number, vcount: number, icount: number): boolean {\n\t\tthis.indexCountRequested = icount;\n\t\treturn vindex + vcount <= this._vertexCapacity && ioffset + icount <= this._indexCapacity;\n\t}\n\n\tdestroy(): void {\n\t\tconst geometry = this._geometry;\n\t\tif (geometry) {\n\t\t\tgeometry.destroy();\n\t\t}\n\t\tthis._builder.destroy();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-buffer.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-buffer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer, DRAW_MODES, Geometry, Renderer, Shader, Texture } from \"pixi.js\";\nimport { EShapeBufferUnitBuilder } from \"./e-shape-buffer-unit-builder\";\nimport { EShapeRendererIterator } from \"./e-shape-renderer-iterator\";\nimport { EShapeType } from \"./e-shape-type\";\nimport { EShapeUploadeds } from \"./e-shape-uploadeds\";\n\nexport class EShapeBuffer {\n\tvertices: Float32Array;\n\tprotected _vertexCapacity: number;\n\tprotected _vertexCount: number;\n\tprotected _vertexBuffer: Buffer | null;\n\n\tsteps: Float32Array;\n\tprotected _stepBuffer: Buffer | null;\n\n\tcolors: Float32Array;\n\tprotected _colorBuffer: Buffer | null;\n\n\tuvs: Float32Array;\n\tprotected _uvBuffer: Buffer | null;\n\n\tindices: Uint16Array | Uint32Array;\n\tprotected _indexCapacity: number;\n\tprotected _indexCount: number;\n\tindexCountRequested: number;\n\tprotected _indexBuffer: Buffer | null;\n\n\tprotected _renderer: Renderer;\n\tprotected _geometry: Geometry | null;\n\n\tprotected _builder: EShapeBufferUnitBuilder;\n\n\tconstructor(ntriangles: number, renderer: Renderer) {\n\t\tconst nindices = ntriangles * 3;\n\t\tconst nvertices = nindices;\n\n\t\tthis.vertices = new Float32Array(nvertices * 2);\n\t\tthis._vertexCapacity = nvertices;\n\t\tthis._vertexCount = 0;\n\t\tthis._vertexBuffer = null;\n\n\t\tthis.steps = new Float32Array(nvertices * 6);\n\t\tthis._stepBuffer = null;\n\n\t\tthis.colors = new Float32Array(nvertices * 3);\n\t\tthis._colorBuffer = null;\n\n\t\tthis.uvs = new Float32Array(nvertices * 2);\n\t\tthis._uvBuffer = null;\n\n\t\tconst isIndicesShort = nvertices <= 65535;\n\t\tthis.indices = isIndicesShort ? new Uint16Array(nindices) : new Uint32Array(nindices);\n\t\tthis._indexCapacity = ntriangles;\n\t\tthis._indexCount = 0;\n\t\tthis.indexCountRequested = 0;\n\t\tthis._indexBuffer = null;\n\n\t\tthis._renderer = renderer;\n\n\t\tthis._builder = new EShapeBufferUnitBuilder();\n\n\t\tthis._geometry = null;\n\t}\n\n\tupdateVertices(): void {\n\t\tconst vertexBuffer = this._vertexBuffer;\n\t\tif (vertexBuffer) {\n\t\t\tvertexBuffer.update();\n\t\t}\n\t}\n\n\tupdateSteps(): void {\n\t\tconst stepBuffer = this._stepBuffer;\n\t\tif (stepBuffer) {\n\t\t\tstepBuffer.update();\n\t\t}\n\t}\n\n\tupdateColors(): void {\n\t\tconst colorBuffer = this._colorBuffer;\n\t\tif (colorBuffer) {\n\t\t\tcolorBuffer.update();\n\t\t}\n\t}\n\n\tupdateUvs(): void {\n\t\tconst uvBuffer = this._uvBuffer;\n\t\tif (uvBuffer) {\n\t\t\tuvBuffer.update();\n\t\t}\n\t}\n\n\tupdateIndices(): void {\n\t\tconst indexBuffer = this._indexBuffer;\n\t\tif (indexBuffer) {\n\t\t\tindexBuffer.update();\n\t\t}\n\t}\n\n\tprotected getGeometry(): Geometry {\n\t\tlet result = this._geometry;\n\t\tif (result == null) {\n\t\t\tthis._vertexBuffer = new Buffer(this.vertices, false, false);\n\t\t\tthis._stepBuffer = new Buffer(this.steps, false, false);\n\t\t\tthis._colorBuffer = new Buffer(this.colors, false, false);\n\t\t\tthis._uvBuffer = new Buffer(this.uvs, false, false);\n\t\t\tthis._indexBuffer = new Buffer(this.indices, false, true);\n\n\t\t\tthis._geometry = result = new Geometry()\n\t\t\t\t.addIndex(this._indexBuffer)\n\t\t\t\t.addAttribute(\"aPosition\", this._vertexBuffer, 2)\n\t\t\t\t.addAttribute(\"aStepA\", this._stepBuffer, 2)\n\t\t\t\t.addAttribute(\"aStepB\", this._stepBuffer, 4)\n\t\t\t\t.addAttribute(\"aColor\", this._colorBuffer, 3)\n\t\t\t\t.addAttribute(\"aUv\", this._uvBuffer, 2);\n\t\t}\n\t\treturn result;\n\t}\n\n\tupload(): void {\n\t\tthis._renderer.geometry.bind(this.getGeometry());\n\t}\n\n\trender(shader: Shader): void {\n\t\tconst renderer = this._renderer;\n\t\trenderer.geometry.bind(this.getGeometry());\n\n\t\tconst units = this._builder.units;\n\t\tconst unitCount = units.length;\n\t\tif (0 < unitCount) {\n\t\t\tconst type = DRAW_MODES.TRIANGLES;\n\n\t\t\tlet unit0 = null;\n\t\t\tlet unit1 = units[0];\n\t\t\tlet ioffset0 = 0;\n\t\t\tlet ioffset1 = unit1.indexOffset * 3;\n\t\t\tlet vcount = 0;\n\t\t\tlet texture = Texture.WHITE;\n\t\t\tfor (let i = 0, imax = unitCount - 1; i < imax; ++i) {\n\t\t\t\tunit0 = unit1;\n\t\t\t\tunit1 = units[i + 1];\n\t\t\t\tioffset0 = ioffset1;\n\t\t\t\tioffset1 = unit1.indexOffset * 3;\n\t\t\t\tvcount = ioffset1 - ioffset0;\n\t\t\t\ttexture = unit0.texture || Texture.WHITE;\n\t\t\t\tif (0 < vcount && texture.valid) {\n\t\t\t\t\tshader.uniforms.sampler = renderer.texture.bind(texture);\n\t\t\t\t\trenderer.geometry.draw(type, vcount, ioffset0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvcount = this._indexCount * 3 - ioffset1;\n\t\t\ttexture = unit1.texture || Texture.WHITE;\n\t\t\tif (0 < vcount && texture.valid) {\n\t\t\t\tshader.uniforms.sampler = renderer.texture.bind(texture);\n\t\t\t\trenderer.geometry.draw(type, vcount, ioffset1);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate(\n\t\titerator: EShapeRendererIterator,\n\t\tantialiasWeight: number,\n\t\tnoMoreThanOne: boolean\n\t): boolean {\n\t\tconst builder = this._builder;\n\t\tbuilder.begin();\n\n\t\tlet vindex = 0;\n\t\tlet iindex = 0;\n\t\tlet shape = iterator.get();\n\t\tfor (; shape != null; shape = iterator.next()) {\n\t\t\tlet uploaded = shape.uploaded;\n\t\t\tif (uploaded == null) {\n\t\t\t\tconst creator = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];\n\t\t\t\tif (creator == null) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst newUploaded = creator(this, shape, vindex, iindex, antialiasWeight);\n\t\t\t\tif (newUploaded == null) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tuploaded = newUploaded;\n\t\t\t} else if (!uploaded.reinit(this, shape, vindex, iindex)) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tuploaded.buildUnit(builder);\n\t\t\tvindex += uploaded.getVertexCount();\n\t\t\tiindex += uploaded.getIndexCount();\n\n\t\t\tif (noMoreThanOne) {\n\t\t\t\titerator.next();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tbuilder.end();\n\t\tthis._vertexCount = vindex;\n\t\tthis._indexCount = iindex;\n\t\treturn 0 < builder.units.length;\n\t}\n\n\tcheck(vindex: number, ioffset: number, vcount: number, icount: number): boolean {\n\t\tthis.indexCountRequested = icount;\n\t\treturn vindex + vcount <= this._vertexCapacity && ioffset + icount <= this._indexCapacity;\n\t}\n\n\tdestroy(): void {\n\t\tconst geometry = this._geometry;\n\t\tif (geometry) {\n\t\t\tgeometry.destroy();\n\t\t}\n\t\tthis._builder.destroy();\n\t}\n}\n"]}
|
|
@@ -108,7 +108,7 @@ var EShapeContainer = /** @class */ (function (_super) {
|
|
|
108
108
|
EShapeContainer.prototype.getPixelScale = function () {
|
|
109
109
|
return this._pixelScale;
|
|
110
110
|
};
|
|
111
|
-
EShapeContainer.prototype.
|
|
111
|
+
EShapeContainer.prototype.toAntialiasWeight = function (resolution) {
|
|
112
112
|
return 1.25 / resolution;
|
|
113
113
|
};
|
|
114
114
|
EShapeContainer.prototype.hitTest = function (global, onHit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-container.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeRenderer } from \"./e-shape-renderer\";\n\nexport class EShapeContainer extends DisplayObject {\n\tprotected _shapeRenderer: EShapeRenderer | null = null;\n\n\treadonly children: EShape[];\n\tprotected _shape: EShape | null;\n\tprotected _childrenId: number;\n\tprotected _childrenIdRendered: number;\n\n\tprotected _atlas: DynamicAtlas | null;\n\tprotected _fontAtlases: DynamicSDFFontAtlases;\n\n\tprotected _pixelScale: number;\n\tprotected _pixelScaleId: number;\n\tprotected _shapeScale: number;\n\tprotected _shapeScaleId: number;\n\n\tprotected _work: Point;\n\n\tprotected _buffers: EShapeBuffer[];\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.children = [];\n\t\tthis._shape = null;\n\t\tthis._childrenId = 0;\n\t\tthis._childrenIdRendered = -1;\n\n\t\tthis._atlas = null;\n\t\tthis._fontAtlases = new DynamicSDFFontAtlases();\n\n\t\tthis._pixelScale = 1;\n\t\tthis._pixelScaleId = -2; // Since this._shapeScaleId starts from -1.\n\t\tthis._shapeScale = 1;\n\t\tthis._shapeScaleId = -1; // Since Transform._worldID starts from zero.\n\n\t\tthis._work = new Point();\n\n\t\tthis._buffers = [];\n\t}\n\n\tcalculateBounds(): void {\n\t\tthis._bounds.clear();\n\t}\n\n\tonChildTransformChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\ttoDirty(): number {\n\t\treturn (this._childrenId += 1);\n\t}\n\n\tisDirty(): boolean {\n\t\treturn this._childrenIdRendered < this._childrenId;\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tif (!this.visible || this.worldAlpha <= 0 || !this.renderable) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst childrenId = this._childrenId;\n\t\tconst childrenIdRendered = this._childrenIdRendered;\n\t\tthis._childrenIdRendered = childrenId;\n\t\tconst isChildrenDirty = childrenIdRendered < childrenId;\n\n\t\tlet shapeRenderer: EShapeRenderer | null = this._shapeRenderer;\n\t\tif (shapeRenderer == null) {\n\t\t\tshapeRenderer = this._shapeRenderer = new EShapeRenderer(renderer);\n\t\t}\n\t\trenderer.batch.setObjectRenderer(shapeRenderer);\n\n\t\tconst mask = this.mask;\n\t\tconst shape = this._shape;\n\t\tconst shapes = this.children;\n\t\tif (mask) {\n\t\t\trenderer.mask.push(this, mask);\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t\trenderer.mask.pop(this);\n\t\t} else {\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t}\n\t}\n\n\tcontainsPoint(point: Point): boolean {\n\t\treturn false;\n\t}\n\n\tgetFontAtlases(): DynamicSDFFontAtlases {\n\t\treturn this._fontAtlases;\n\t}\n\n\tgetAtlas(resolution: number): DynamicAtlas {\n\t\tlet atlas = this._atlas;\n\t\tif (atlas == null) {\n\t\t\tatlas = new DynamicAtlas(resolution);\n\t\t\tthis._atlas = atlas;\n\t\t}\n\t\treturn atlas;\n\t}\n\n\tgetBuffers(): EShapeBuffer[] {\n\t\treturn this._buffers;\n\t}\n\n\ttoShapeScale(): number {\n\t\tthis.updateTransform();\n\t\tconst transform = this.transform;\n\t\tconst worldID = (transform as any)._worldID;\n\t\tif (worldID !== this._shapeScaleId) {\n\t\t\tthis._shapeScaleId = worldID;\n\t\t\tconst worldTransform = transform.worldTransform;\n\t\t\tconst a = worldTransform.a;\n\t\t\tconst b = worldTransform.b;\n\t\t\tthis._shapeScale = 1 / Math.sqrt(a * a + b * b);\n\t\t}\n\t\treturn this._shapeScale;\n\t}\n\n\tgetShapeScale(): number {\n\t\treturn this._shapeScale;\n\t}\n\n\ttoPixelScale(resolution: number): number {\n\t\tconst shapeScale = this.toShapeScale();\n\t\tconst shapeScaleId = this._shapeScaleId;\n\t\tif (this._pixelScaleId !== shapeScaleId) {\n\t\t\tthis._pixelScaleId = shapeScaleId;\n\t\t\tthis._pixelScale = (1 / resolution) * shapeScale;\n\t\t}\n\t\treturn this._pixelScale;\n\t}\n\n\tgetPixelScale(): number {\n\t\treturn this._pixelScale;\n\t}\n\n\tgetAntialiasWeight(resolution: number): number {\n\t\treturn 1.25 / resolution;\n\t}\n\n\thitTest(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tconst result = child.contains(local.x, local.y);\n\t\t\t\tif (result != null) {\n\t\t\t\t\tif (onHit == null || onHit(result)) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thitTestBBox(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tif (child.containsBBox(local.x, local.y)) {\n\t\t\t\t\tif (onHit == null || onHit(child)) {\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tdestroy(): void {\n\t\t// Buffer\n\t\tconst buffers = this._buffers;\n\t\tif (buffers != null) {\n\t\t\tfor (let i = 0, imax = buffers.length; i < imax; ++i) {\n\t\t\t\tbuffers[i].destroy();\n\t\t\t}\n\t\t}\n\t\tthis._buffers.length = 0;\n\n\t\t// Shapes\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tchildren[i].destroy();\n\t\t}\n\t\tchildren.length = 0;\n\n\t\t//\n\t\tsuper.destroy();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-container.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeRenderer } from \"./e-shape-renderer\";\n\nexport class EShapeContainer extends DisplayObject {\n\tprotected _shapeRenderer: EShapeRenderer | null = null;\n\n\treadonly children: EShape[];\n\tprotected _shape: EShape | null;\n\tprotected _childrenId: number;\n\tprotected _childrenIdRendered: number;\n\n\tprotected _atlas: DynamicAtlas | null;\n\tprotected _fontAtlases: DynamicSDFFontAtlases;\n\n\tprotected _pixelScale: number;\n\tprotected _pixelScaleId: number;\n\tprotected _shapeScale: number;\n\tprotected _shapeScaleId: number;\n\n\tprotected _work: Point;\n\n\tprotected _buffers: EShapeBuffer[];\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.children = [];\n\t\tthis._shape = null;\n\t\tthis._childrenId = 0;\n\t\tthis._childrenIdRendered = -1;\n\n\t\tthis._atlas = null;\n\t\tthis._fontAtlases = new DynamicSDFFontAtlases();\n\n\t\tthis._pixelScale = 1;\n\t\tthis._pixelScaleId = -2; // Since this._shapeScaleId starts from -1.\n\t\tthis._shapeScale = 1;\n\t\tthis._shapeScaleId = -1; // Since Transform._worldID starts from zero.\n\n\t\tthis._work = new Point();\n\n\t\tthis._buffers = [];\n\t}\n\n\tcalculateBounds(): void {\n\t\tthis._bounds.clear();\n\t}\n\n\tonChildTransformChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\ttoDirty(): number {\n\t\treturn (this._childrenId += 1);\n\t}\n\n\tisDirty(): boolean {\n\t\treturn this._childrenIdRendered < this._childrenId;\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tif (!this.visible || this.worldAlpha <= 0 || !this.renderable) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst childrenId = this._childrenId;\n\t\tconst childrenIdRendered = this._childrenIdRendered;\n\t\tthis._childrenIdRendered = childrenId;\n\t\tconst isChildrenDirty = childrenIdRendered < childrenId;\n\n\t\tlet shapeRenderer: EShapeRenderer | null = this._shapeRenderer;\n\t\tif (shapeRenderer == null) {\n\t\t\tshapeRenderer = this._shapeRenderer = new EShapeRenderer(renderer);\n\t\t}\n\t\trenderer.batch.setObjectRenderer(shapeRenderer);\n\n\t\tconst mask = this.mask;\n\t\tconst shape = this._shape;\n\t\tconst shapes = this.children;\n\t\tif (mask) {\n\t\t\trenderer.mask.push(this, mask);\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t\trenderer.mask.pop(this);\n\t\t} else {\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t}\n\t}\n\n\tcontainsPoint(point: Point): boolean {\n\t\treturn false;\n\t}\n\n\tgetFontAtlases(): DynamicSDFFontAtlases {\n\t\treturn this._fontAtlases;\n\t}\n\n\tgetAtlas(resolution: number): DynamicAtlas {\n\t\tlet atlas = this._atlas;\n\t\tif (atlas == null) {\n\t\t\tatlas = new DynamicAtlas(resolution);\n\t\t\tthis._atlas = atlas;\n\t\t}\n\t\treturn atlas;\n\t}\n\n\tgetBuffers(): EShapeBuffer[] {\n\t\treturn this._buffers;\n\t}\n\n\ttoShapeScale(): number {\n\t\tthis.updateTransform();\n\t\tconst transform = this.transform;\n\t\tconst worldID = (transform as any)._worldID;\n\t\tif (worldID !== this._shapeScaleId) {\n\t\t\tthis._shapeScaleId = worldID;\n\t\t\tconst worldTransform = transform.worldTransform;\n\t\t\tconst a = worldTransform.a;\n\t\t\tconst b = worldTransform.b;\n\t\t\tthis._shapeScale = 1 / Math.sqrt(a * a + b * b);\n\t\t}\n\t\treturn this._shapeScale;\n\t}\n\n\tgetShapeScale(): number {\n\t\treturn this._shapeScale;\n\t}\n\n\ttoPixelScale(resolution: number): number {\n\t\tconst shapeScale = this.toShapeScale();\n\t\tconst shapeScaleId = this._shapeScaleId;\n\t\tif (this._pixelScaleId !== shapeScaleId) {\n\t\t\tthis._pixelScaleId = shapeScaleId;\n\t\t\tthis._pixelScale = (1 / resolution) * shapeScale;\n\t\t}\n\t\treturn this._pixelScale;\n\t}\n\n\tgetPixelScale(): number {\n\t\treturn this._pixelScale;\n\t}\n\n\ttoAntialiasWeight(resolution: number): number {\n\t\treturn 1.25 / resolution;\n\t}\n\n\thitTest(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tconst result = child.contains(local.x, local.y);\n\t\t\t\tif (result != null) {\n\t\t\t\t\tif (onHit == null || onHit(result)) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thitTestBBox(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tif (child.containsBBox(local.x, local.y)) {\n\t\t\t\t\tif (onHit == null || onHit(child)) {\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tdestroy(): void {\n\t\t// Buffer\n\t\tconst buffers = this._buffers;\n\t\tif (buffers != null) {\n\t\t\tfor (let i = 0, imax = buffers.length; i < imax; ++i) {\n\t\t\t\tbuffers[i].destroy();\n\t\t\t}\n\t\t}\n\t\tthis._buffers.length = 0;\n\n\t\t// Shapes\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tchildren[i].destroy();\n\t\t}\n\t\tchildren.length = 0;\n\n\t\t//\n\t\tsuper.destroy();\n\t}\n}\n"]}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2019 Toshiba Corporation
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { toIndexOf } from "../util/to-index-of";
|
|
6
|
+
import { EShapeDefaults } from "./e-shape-defaults";
|
|
7
|
+
import { EShapePointsStyle } from "./e-shape-points-style";
|
|
8
|
+
var acopy = function (source, result) {
|
|
9
|
+
var sourceLength = source.length;
|
|
10
|
+
for (var i = 0; i < sourceLength; ++i) {
|
|
11
|
+
result[i] = source[i];
|
|
12
|
+
}
|
|
13
|
+
if (result.length !== sourceLength) {
|
|
14
|
+
result.length = sourceLength;
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
|
+
};
|
|
18
|
+
var amix = function (x0, y0, x1, y1, t, result) {
|
|
19
|
+
var u = 1 - t;
|
|
20
|
+
result[0] = x0 * u + x1 * t;
|
|
21
|
+
result[1] = y0 * u + y1 * t;
|
|
22
|
+
return result;
|
|
23
|
+
};
|
|
24
|
+
var interpolate2 = function (x0, y0, x1, y1, x2, y2, is0, is1, nsegment, rvalues, rvaluesCount) {
|
|
25
|
+
var v3 = [0, 0];
|
|
26
|
+
var v4 = [0, 0];
|
|
27
|
+
var v5 = [0, 0];
|
|
28
|
+
for (var is = is0; is < is1; ++is) {
|
|
29
|
+
var t = is / nsegment;
|
|
30
|
+
amix(x0, y0, x1, y1, t, v3);
|
|
31
|
+
amix(x1, y1, x2, y2, t, v4);
|
|
32
|
+
amix(v3[0], v3[1], v4[0], v4[1], t, v5);
|
|
33
|
+
rvalues[++rvaluesCount] = v5[0];
|
|
34
|
+
rvalues[++rvaluesCount] = v5[1];
|
|
35
|
+
}
|
|
36
|
+
return rvaluesCount;
|
|
37
|
+
};
|
|
38
|
+
var interpolate1 = function (length, values, segments, isClosed, nsegment, result) {
|
|
39
|
+
var rvalues = result.values;
|
|
40
|
+
var rsegments = result.segments;
|
|
41
|
+
if (length <= 2) {
|
|
42
|
+
acopy(values, rvalues);
|
|
43
|
+
acopy(segments, rsegments);
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
var rvaluesCount = -1;
|
|
47
|
+
var rsegmentsCount = -1;
|
|
48
|
+
var ism = nsegment >> 1;
|
|
49
|
+
if (isClosed) {
|
|
50
|
+
var i = 0;
|
|
51
|
+
for (; i + 2 < length; i += 2) {
|
|
52
|
+
var j = i << 1;
|
|
53
|
+
var s0 = 0 <= toIndexOf(segments, i + 1);
|
|
54
|
+
var s1 = 0 <= toIndexOf(segments, i + 2);
|
|
55
|
+
if (s0 && s1) {
|
|
56
|
+
rvalues[++rvaluesCount] = values[j + 0];
|
|
57
|
+
rvalues[++rvaluesCount] = values[j + 1];
|
|
58
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
59
|
+
}
|
|
60
|
+
else if (s0) {
|
|
61
|
+
rvalues[++rvaluesCount] = values[j + 0];
|
|
62
|
+
rvalues[++rvaluesCount] = values[j + 1];
|
|
63
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
64
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], ism, nsegment, nsegment, rvalues, rvaluesCount);
|
|
65
|
+
}
|
|
66
|
+
else if (s1) {
|
|
67
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], 0, ism, nsegment, rvalues, rvaluesCount);
|
|
68
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], 0, nsegment, nsegment, rvalues, rvaluesCount);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (i + 1 < length) {
|
|
75
|
+
var j = i << 1;
|
|
76
|
+
var s0 = 0 <= toIndexOf(segments, i + 1);
|
|
77
|
+
var s1 = 0 <= toIndexOf(segments, 0);
|
|
78
|
+
if (s0 && s1) {
|
|
79
|
+
rvalues[++rvaluesCount] = values[0];
|
|
80
|
+
rvalues[++rvaluesCount] = values[1];
|
|
81
|
+
rsegments.unshift(0);
|
|
82
|
+
rsegmentsCount += 1;
|
|
83
|
+
}
|
|
84
|
+
else if (s0) {
|
|
85
|
+
rvalues[++rvaluesCount] = values[j + 0];
|
|
86
|
+
rvalues[++rvaluesCount] = values[j + 1];
|
|
87
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
88
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[0], values[1], ism, nsegment, nsegment, rvalues, rvaluesCount);
|
|
89
|
+
}
|
|
90
|
+
else if (s1) {
|
|
91
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[0], values[1], 0, ism, nsegment, rvalues, rvaluesCount);
|
|
92
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[0], values[1], 0, nsegment, nsegment, rvalues, rvaluesCount);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else if (i < length) {
|
|
99
|
+
var j = i << 1;
|
|
100
|
+
rvalues[++rvaluesCount] = values[j + 0];
|
|
101
|
+
rvalues[++rvaluesCount] = values[j + 1];
|
|
102
|
+
if (0 <= toIndexOf(segments, 0)) {
|
|
103
|
+
rsegments.unshift(0);
|
|
104
|
+
rsegmentsCount += 1;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
var i = 0;
|
|
110
|
+
for (; i + 2 < length; i += 2) {
|
|
111
|
+
var j = i << 1;
|
|
112
|
+
var s0 = 0 <= toIndexOf(segments, i + 1);
|
|
113
|
+
var s1 = 0 <= toIndexOf(segments, i + 2);
|
|
114
|
+
if (s0 && s1) {
|
|
115
|
+
rvalues[++rvaluesCount] = values[j + 0];
|
|
116
|
+
rvalues[++rvaluesCount] = values[j + 1];
|
|
117
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
118
|
+
}
|
|
119
|
+
else if (s0) {
|
|
120
|
+
rvalues[++rvaluesCount] = values[j + 0];
|
|
121
|
+
rvalues[++rvaluesCount] = values[j + 1];
|
|
122
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
123
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], ism, nsegment, nsegment, rvalues, rvaluesCount);
|
|
124
|
+
}
|
|
125
|
+
else if (s1) {
|
|
126
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], 0, ism, nsegment, rvalues, rvaluesCount);
|
|
127
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], 0, nsegment, nsegment, rvalues, rvaluesCount);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
for (; i + 1 < length; ++i) {
|
|
134
|
+
var j = i << 1;
|
|
135
|
+
rvalues[++rvaluesCount] = values[j + 0];
|
|
136
|
+
rvalues[++rvaluesCount] = values[j + 1];
|
|
137
|
+
rvalues[++rvaluesCount] = values[j + 2];
|
|
138
|
+
rvalues[++rvaluesCount] = values[j + 3];
|
|
139
|
+
if (0 <= toIndexOf(segments, i + 1)) {
|
|
140
|
+
rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
for (; i < length; ++i) {
|
|
144
|
+
var j = i << 1;
|
|
145
|
+
rvalues[++rvaluesCount] = values[j + 0];
|
|
146
|
+
rvalues[++rvaluesCount] = values[j + 1];
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
rvaluesCount += 1;
|
|
150
|
+
if (rvalues.length !== rvaluesCount) {
|
|
151
|
+
rvalues.length = rvaluesCount;
|
|
152
|
+
}
|
|
153
|
+
rsegmentsCount += 1;
|
|
154
|
+
if (rsegments.length !== rsegmentsCount) {
|
|
155
|
+
rsegments.length = rsegmentsCount;
|
|
156
|
+
}
|
|
157
|
+
return result;
|
|
158
|
+
};
|
|
159
|
+
export var eShapePointsFormatterCurveBezierQuadratic = function (length, values, segments, style, result) {
|
|
160
|
+
interpolate1(length, values, segments, !!(style & EShapePointsStyle.CLOSED), EShapeDefaults.CURVE_SEGMENT_COUNT, result);
|
|
161
|
+
result.length = result.values.length >> 1;
|
|
162
|
+
result.style = style;
|
|
163
|
+
return result;
|
|
164
|
+
};
|
|
165
|
+
//# sourceMappingURL=e-shape-points-formatter-curve-bezier-quadratic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e-shape-points-formatter-curve-bezier-quadratic.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { toIndexOf } from \"../util/to-index-of\";\nimport { EShapeDefaults } from \"./e-shape-defaults\";\nimport { EShapePointsFormattedWithoutBoundary } from \"./e-shape-points-formatted\";\nimport { EShapePointsFormatter } from \"./e-shape-points-formatter\";\nimport { EShapePointsStyle } from \"./e-shape-points-style\";\n\nconst acopy = (source: number[], result: number[]): number[] => {\n\tconst sourceLength = source.length;\n\tfor (let i = 0; i < sourceLength; ++i) {\n\t\tresult[i] = source[i];\n\t}\n\tif (result.length !== sourceLength) {\n\t\tresult.length = sourceLength;\n\t}\n\treturn result;\n};\n\nconst amix = (\n\tx0: number,\n\ty0: number,\n\tx1: number,\n\ty1: number,\n\tt: number,\n\tresult: number[]\n): number[] => {\n\tconst u = 1 - t;\n\tresult[0] = x0 * u + x1 * t;\n\tresult[1] = y0 * u + y1 * t;\n\treturn result;\n};\n\nconst interpolate2 = (\n\tx0: number,\n\ty0: number,\n\tx1: number,\n\ty1: number,\n\tx2: number,\n\ty2: number,\n\tis0: number,\n\tis1: number,\n\tnsegment: number,\n\trvalues: number[],\n\trvaluesCount: number\n): number => {\n\tconst v3 = [0, 0];\n\tconst v4 = [0, 0];\n\tconst v5 = [0, 0];\n\tfor (let is = is0; is < is1; ++is) {\n\t\tconst t = is / nsegment;\n\t\tamix(x0, y0, x1, y1, t, v3);\n\t\tamix(x1, y1, x2, y2, t, v4);\n\t\tamix(v3[0], v3[1], v4[0], v4[1], t, v5);\n\t\trvalues[++rvaluesCount] = v5[0];\n\t\trvalues[++rvaluesCount] = v5[1];\n\t}\n\treturn rvaluesCount;\n};\n\nconst interpolate1 = (\n\tlength: number,\n\tvalues: number[],\n\tsegments: number[],\n\tisClosed: boolean,\n\tnsegment: number,\n\tresult: EShapePointsFormattedWithoutBoundary\n) => {\n\tconst rvalues = result.values;\n\tconst rsegments = result.segments;\n\n\tif (length <= 2) {\n\t\tacopy(values, rvalues);\n\t\tacopy(segments, rsegments);\n\t\treturn result;\n\t}\n\n\tlet rvaluesCount = -1;\n\tlet rsegmentsCount = -1;\n\tconst ism = nsegment >> 1;\n\tif (isClosed) {\n\t\tlet i = 0;\n\t\tfor (; i + 2 < length; i += 2) {\n\t\t\tconst j = i << 1;\n\t\t\tconst s0 = 0 <= toIndexOf(segments, i + 1);\n\t\t\tconst s1 = 0 <= toIndexOf(segments, i + 2);\n\t\t\tif (s0 && s1) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else if (s0) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t} else if (s1) {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\t0,\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\t0,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (i + 1 < length) {\n\t\t\tconst j = i << 1;\n\t\t\tconst s0 = 0 <= toIndexOf(segments, i + 1);\n\t\t\tconst s1 = 0 <= toIndexOf(segments, 0);\n\t\t\tif (s0 && s1) {\n\t\t\t\trvalues[++rvaluesCount] = values[0];\n\t\t\t\trvalues[++rvaluesCount] = values[1];\n\t\t\t\trsegments.unshift(0);\n\t\t\t\trsegmentsCount += 1;\n\t\t\t} else if (s0) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[0],\n\t\t\t\t\tvalues[1],\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t} else if (s1) {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[0],\n\t\t\t\t\tvalues[1],\n\t\t\t\t\t0,\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[0],\n\t\t\t\t\tvalues[1],\n\t\t\t\t\t0,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (i < length) {\n\t\t\tconst j = i << 1;\n\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\tif (0 <= toIndexOf(segments, 0)) {\n\t\t\t\trsegments.unshift(0);\n\t\t\t\trsegmentsCount += 1;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tlet i = 0;\n\t\tfor (; i + 2 < length; i += 2) {\n\t\t\tconst j = i << 1;\n\t\t\tconst s0 = 0 <= toIndexOf(segments, i + 1);\n\t\t\tconst s1 = 0 <= toIndexOf(segments, i + 2);\n\t\t\tif (s0 && s1) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else if (s0) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t} else if (s1) {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\t0,\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\t0,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tfor (; i + 1 < length; ++i) {\n\t\t\tconst j = i << 1;\n\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\trvalues[++rvaluesCount] = values[j + 2];\n\t\t\trvalues[++rvaluesCount] = values[j + 3];\n\t\t\tif (0 <= toIndexOf(segments, i + 1)) {\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t}\n\t\t}\n\t\tfor (; i < length; ++i) {\n\t\t\tconst j = i << 1;\n\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t}\n\t}\n\n\trvaluesCount += 1;\n\tif (rvalues.length !== rvaluesCount) {\n\t\trvalues.length = rvaluesCount;\n\t}\n\n\trsegmentsCount += 1;\n\tif (rsegments.length !== rsegmentsCount) {\n\t\trsegments.length = rsegmentsCount;\n\t}\n\treturn result;\n};\n\nexport const eShapePointsFormatterCurveBezierQuadratic: EShapePointsFormatter = (\n\tlength: number,\n\tvalues: number[],\n\tsegments: number[],\n\tstyle: EShapePointsStyle,\n\tresult: EShapePointsFormattedWithoutBoundary\n): EShapePointsFormattedWithoutBoundary => {\n\tinterpolate1(\n\t\tlength,\n\t\tvalues,\n\t\tsegments,\n\t\t!!(style & EShapePointsStyle.CLOSED),\n\t\tEShapeDefaults.CURVE_SEGMENT_COUNT,\n\t\tresult\n\t);\n\tresult.length = result.values.length >> 1;\n\tresult.style = style;\n\treturn result;\n};\n"]}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { DThemes } from "../theme/d-themes";
|
|
6
6
|
import { eShapePointsFormatterCurve } from "./e-shape-points-formatter-curve";
|
|
7
|
+
import { eShapePointsFormatterCurveBezierQuadratic } from "./e-shape-points-formatter-curve-bezier-quadratic";
|
|
7
8
|
import { EShapePointsStyle } from "./e-shape-points-style";
|
|
8
9
|
var EShapePointsFormatters = /** @class */ (function () {
|
|
9
10
|
function EShapePointsFormatters() {
|
|
@@ -34,10 +35,14 @@ var EShapePointsFormatters = /** @class */ (function () {
|
|
|
34
35
|
EShapePointsFormatters.newData = function () {
|
|
35
36
|
var result = new Map();
|
|
36
37
|
var theme = DThemes.get("EShapePointsFormatter");
|
|
37
|
-
result.set(EShapePointsStyle.
|
|
38
|
-
label: theme.
|
|
38
|
+
result.set(EShapePointsStyle.FORMATTER_CURVE_SPLINE, {
|
|
39
|
+
label: theme.getCurveSplineLabel(),
|
|
39
40
|
formatter: eShapePointsFormatterCurve
|
|
40
41
|
});
|
|
42
|
+
result.set(EShapePointsStyle.FORMATTER_CURVE_BEZIER_QUADRATIC, {
|
|
43
|
+
label: theme.getCurveBezierQuadraticLabel(),
|
|
44
|
+
formatter: eShapePointsFormatterCurveBezierQuadratic
|
|
45
|
+
});
|
|
41
46
|
return result;
|
|
42
47
|
};
|
|
43
48
|
return EShapePointsFormatters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-points-formatters.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-formatters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"e-shape-points-formatters.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-formatters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,mDAAmD,CAAC;AAE9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D;IAAA;IA6CA,CAAC;IA1CO,0BAAG,GAAV,UAAW,EAAU,EAAE,KAAiC;QACvD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,0BAAG,GAAV,UAAW,KAAa;QACvB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEM,2BAAI,GAAX,UAAY,QAAiE;QAC5E,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,EAAE;YAC3B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,2BAAI,GAAX,UAAY,KAAwB;QACnC,OAAO,IAAI,CAAC,GAAG,CACd,CAAC,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,iBAAiB,CAAC,eAAe,CAC/E,CAAC;IACH,CAAC;IAEc,8BAAO,GAAtB;QACC,IAAM,MAAM,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC7D,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAA6B,uBAAuB,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE;YACpD,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE;YAClC,SAAS,EAAE,0BAA0B;SACrC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,gCAAgC,EAAE;YAC9D,KAAK,EAAE,KAAK,CAAC,4BAA4B,EAAE;YAC3C,SAAS,EAAE,yCAAyC;SACpD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IACF,6BAAC;AAAD,CAAC,AA7CD,IA6CC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DThemes } from \"../theme/d-themes\";\nimport { eShapePointsFormatterCurve } from \"./e-shape-points-formatter-curve\";\nimport { eShapePointsFormatterCurveBezierQuadratic } from \"./e-shape-points-formatter-curve-bezier-quadratic\";\nimport { EShapePointsFormatterDatum } from \"./e-shape-points-formatter-datum\";\nimport { EShapePointsStyle } from \"./e-shape-points-style\";\n\nexport interface EThemeShapePointsFormatter {\n\tgetCurveSplineLabel(): string;\n\tgetCurveBezierQuadraticLabel(): string;\n}\n\nexport class EShapePointsFormatters {\n\tprivate static data?: Map<number, EShapePointsFormatterDatum>;\n\n\tstatic set(id: number, datum: EShapePointsFormatterDatum): void {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\tthis.data.set(id, datum);\n\t}\n\n\tstatic get(index: number): EShapePointsFormatterDatum | undefined {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\treturn this.data.get(index);\n\t}\n\n\tstatic each(iteratee: (id: number, datum: EShapePointsFormatterDatum) => void): void {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\tthis.data.forEach((datum, id) => {\n\t\t\titeratee(id, datum);\n\t\t});\n\t}\n\n\tstatic find(style: EShapePointsStyle): EShapePointsFormatterDatum | undefined {\n\t\treturn this.get(\n\t\t\t(style & EShapePointsStyle.FORMATTER_MASK) >> EShapePointsStyle.FORMATTER_SHIFT\n\t\t);\n\t}\n\n\tprivate static newData(): Map<number, EShapePointsFormatterDatum> {\n\t\tconst result = new Map<number, EShapePointsFormatterDatum>();\n\t\tconst theme = DThemes.get<EThemeShapePointsFormatter>(\"EShapePointsFormatter\");\n\t\tresult.set(EShapePointsStyle.FORMATTER_CURVE_SPLINE, {\n\t\t\tlabel: theme.getCurveSplineLabel(),\n\t\t\tformatter: eShapePointsFormatterCurve\n\t\t});\n\t\tresult.set(EShapePointsStyle.FORMATTER_CURVE_BEZIER_QUADRATIC, {\n\t\t\tlabel: theme.getCurveBezierQuadraticLabel(),\n\t\t\tformatter: eShapePointsFormatterCurveBezierQuadratic\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
|
|
@@ -12,12 +12,14 @@ var DOTTED_LOOSELY = 64;
|
|
|
12
12
|
var DASHED = 128;
|
|
13
13
|
var DASHED_DENSELY = 256;
|
|
14
14
|
var DASHED_LOOSELY = 512;
|
|
15
|
-
var CURVE = 1024;
|
|
16
15
|
var FORMATTER_SHIFT = 10;
|
|
17
16
|
var FORMATTER_MASK = 0xffc00;
|
|
18
17
|
var FORMATTER_EXTENSION_LOWEST = 512;
|
|
19
18
|
var FORMATTER_EXTENSION_HIGHEST = 1023;
|
|
20
|
-
var
|
|
19
|
+
var FORMATTER_CURVE_SPLINE = 1;
|
|
20
|
+
var FORMATTER_CURVE_BEZIER_QUADRATIC = 2;
|
|
21
|
+
var CURVE_SPLINE = FORMATTER_CURVE_SPLINE << FORMATTER_SHIFT;
|
|
22
|
+
var CURVE_BEZIER_QUADRATIC = FORMATTER_CURVE_BEZIER_QUADRATIC << FORMATTER_SHIFT;
|
|
21
23
|
/**
|
|
22
24
|
* EShape point style.
|
|
23
25
|
*
|
|
@@ -51,11 +53,17 @@ export var EShapePointsStyle = {
|
|
|
51
53
|
DASHED_LOOSELY: DASHED_LOOSELY,
|
|
52
54
|
/** @deprecated in favor of EShapeStrokeStyle. */
|
|
53
55
|
DASHED_MASK: DASHED | DASHED_DENSELY | DASHED_LOOSELY,
|
|
54
|
-
|
|
56
|
+
/** @deprecated in favor of CURVE_SPLINE. */
|
|
57
|
+
CURVE: CURVE_SPLINE,
|
|
58
|
+
CURVE_SPLINE: CURVE_SPLINE,
|
|
59
|
+
CURVE_BEZIER_QUADRATIC: CURVE_BEZIER_QUADRATIC,
|
|
55
60
|
FORMATTER_SHIFT: FORMATTER_SHIFT,
|
|
56
61
|
FORMATTER_MASK: FORMATTER_MASK,
|
|
57
62
|
FORMATTER_EXTENSION_LOWEST: FORMATTER_EXTENSION_LOWEST,
|
|
58
63
|
FORMATTER_EXTENSION_HIGHEST: FORMATTER_EXTENSION_HIGHEST,
|
|
59
|
-
|
|
64
|
+
/** @deprecated in favor of FORMATTER_CURVE_SPLINE. */
|
|
65
|
+
FORMATTER_CURVE: FORMATTER_CURVE_SPLINE,
|
|
66
|
+
FORMATTER_CURVE_SPLINE: FORMATTER_CURVE_SPLINE,
|
|
67
|
+
FORMATTER_CURVE_BEZIER_QUADRATIC: FORMATTER_CURVE_BEZIER_QUADRATIC
|
|
60
68
|
};
|
|
61
69
|
//# sourceMappingURL=e-shape-points-style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-points-style.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-style.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,IAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,IAAM,MAAM,GAAG,GAAG,CAAC;AACnB,IAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,IAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,IAAM,
|
|
1
|
+
{"version":3,"file":"e-shape-points-style.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-style.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,IAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,IAAM,MAAM,GAAG,GAAG,CAAC;AACnB,IAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,IAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,IAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,IAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,IAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,IAAM,2BAA2B,GAAG,IAAI,CAAC;AAEzC,IAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,IAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C,IAAM,YAAY,GAAG,sBAAsB,IAAI,eAAe,CAAC;AAC/D,IAAM,sBAAsB,GAAG,gCAAgC,IAAI,eAAe,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAChC,IAAI,EAAE,CAAC;IAEP,MAAM,QAAA;IAEN,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,wBAAwB,0BAAA;IAExB,iDAAiD;IACjD,gBAAgB,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,wBAAwB;IAEtF,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,4CAA4C;IAC5C,KAAK,EAAE,YAAY;IACnB,YAAY,EAAE,YAAY;IAC1B,sBAAsB,EAAE,sBAAsB;IAE9C,eAAe,iBAAA;IAEf,cAAc,gBAAA;IAEd,0BAA0B,4BAAA;IAE1B,2BAA2B,6BAAA;IAE3B,sDAAsD;IACtD,eAAe,EAAE,sBAAsB;IACvC,sBAAsB,wBAAA;IACtB,gCAAgC,kCAAA;CACvB,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nconst CLOSED = 1;\n\nconst NON_EXPANDING_WIDTH = 2;\nconst NON_SHRINKING_WIDTH = 4;\nconst NON_SCALING_DOT_AND_DASH = 8;\n\nconst DOTTED = 16;\nconst DOTTED_DENSELY = 32;\nconst DOTTED_LOOSELY = 64;\n\nconst DASHED = 128;\nconst DASHED_DENSELY = 256;\nconst DASHED_LOOSELY = 512;\n\nconst FORMATTER_SHIFT = 10;\n\nconst FORMATTER_MASK = 0xffc00;\n\nconst FORMATTER_EXTENSION_LOWEST = 512;\n\nconst FORMATTER_EXTENSION_HIGHEST = 1023;\n\nconst FORMATTER_CURVE_SPLINE = 1;\nconst FORMATTER_CURVE_BEZIER_QUADRATIC = 2;\n\nconst CURVE_SPLINE = FORMATTER_CURVE_SPLINE << FORMATTER_SHIFT;\nconst CURVE_BEZIER_QUADRATIC = FORMATTER_CURVE_BEZIER_QUADRATIC << FORMATTER_SHIFT;\n\n/**\n * EShape point style.\n *\n * * Bits 0 to 9: Bit field of styles.\n * * Bits 10 to 19: Formatter ID.\n */\nexport const EShapePointsStyle = {\n\tNONE: 0,\n\n\tCLOSED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_EXPANDING_WIDTH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SHRINKING_WIDTH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SCALING_DOT_AND_DASH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SCALING_MASK: NON_EXPANDING_WIDTH | NON_SHRINKING_WIDTH | NON_SCALING_DOT_AND_DASH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_DENSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_MASK: DOTTED | DOTTED_DENSELY | DOTTED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_DENSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_MASK: DASHED | DASHED_DENSELY | DASHED_LOOSELY,\n\n\t/** @deprecated in favor of CURVE_SPLINE. */\n\tCURVE: CURVE_SPLINE,\n\tCURVE_SPLINE: CURVE_SPLINE,\n\tCURVE_BEZIER_QUADRATIC: CURVE_BEZIER_QUADRATIC,\n\n\tFORMATTER_SHIFT,\n\n\tFORMATTER_MASK,\n\n\tFORMATTER_EXTENSION_LOWEST,\n\n\tFORMATTER_EXTENSION_HIGHEST,\n\n\t/** @deprecated in favor of FORMATTER_CURVE_SPLINE. */\n\tFORMATTER_CURVE: FORMATTER_CURVE_SPLINE,\n\tFORMATTER_CURVE_SPLINE,\n\tFORMATTER_CURVE_BEZIER_QUADRATIC\n} as const;\n\nexport type EShapePointsStyle = number;\n"]}
|
|
@@ -7,8 +7,8 @@ import { BLEND_MODES, ObjectRenderer, Shader, utils } from "pixi.js";
|
|
|
7
7
|
import { DynamicAtlasItemImage } from "../util/dynamic-atlas-item-image";
|
|
8
8
|
import { EShapeBuffer } from "./e-shape-buffer";
|
|
9
9
|
import { EShapeRendererIterator } from "./e-shape-renderer-iterator";
|
|
10
|
-
var VERTEX_SHADER = "\nattribute vec2 aPosition;\nattribute
|
|
11
|
-
var FRAGMENT_SHADER = "\nvarying mediump
|
|
10
|
+
var VERTEX_SHADER = "\nattribute highp vec2 aPosition;\nattribute highp vec2 aStepA;\nattribute highp vec4 aStepB;\nattribute highp vec3 aColor;\nattribute highp vec2 aUv;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mediump float shapeScale;\nuniform mediump float antialiasWeight;\n\nvarying mediump float vType;\nvarying mediump vec2 vStepA;\nvarying mediump vec4 vStepB;\nvarying mediump vec4 vColorFill;\nvarying mediump vec4 vColorStroke;\nvarying mediump vec2 vUv;\n\nvec2 toInverse(in vec2 v) {\n\treturn vec2(-v.y, v.x);\n}\n\nvec4 toGeneral(in float v) {\n\tvec4 c = vec4(1.0, 1.0/64.0, 1.0/64.0/64.0, 1.0/64.0/64.0/64.0) * v;\n\tc -= fract(c);\n\tc -= c.yzwx * vec4(64.0, 64.0, 64.0, 0.0);\n\treturn c;\n}\n\nfloat toStrokeWidthScale(in float scale) {\n\treturn (\n\t\tscale == 3.0 || scale == 7.0 ?\n\t\tshapeScale : (\n\t\t\tscale == 1.0 || scale == 5.0 ?\n\t\t\tmin(1.0, shapeScale) : (\n\t\t\t\tscale == 2.0 || scale == 6.0 ?\n\t\t\t\tmax(1.0, shapeScale) : 1.0\n\t\t\t)\n\t\t)\n\t);\n}\n\nvec2 toUnpackedF2x1024(in float v) {\n\tvec2 c = vec2(1.0, 1.0/1024.0) * v;\n\tc -= fract(c);\n\tc -= c.yx * vec2(1024.0, 0.0);\n\tc /= vec2(1023.0, 1023.0);\n\treturn c;\n}\n\nvec3 toUnpackedF3x256(in float v) {\n\tvec3 c = vec3(1.0, 1.0/256.0, 1.0/256.0/256.0) * v;\n\tc -= fract(c);\n\tc -= c.yzx * vec3(256.0, 256.0, 0.0);\n\tc /= 255.0;\n\treturn c;\n}\n\nvec2 toPosition012(in vec2 v) {\n\treturn (projectionMatrix * translationMatrix * vec3(v, 1.0)).xy;\n}\n\nvec4 toStepB01(in vec4 sb) {\n\treturn vec4(sb.xy, toUnpackedF2x1024(sb.z));\n}\n\nvec4 toStepB2(in vec4 sb, in float strokeWidth) {\n\tfloat x = min(0.4, 0.4 / 12.0 * sb.x * antialiasWeight);\n\tfloat w = clamp(strokeWidth, 0.0, 1.0) * 0.4;\n\tfloat p = w * sb.y + sb.z;\n\tfloat y = 0.5 - p;\n\tfloat z = 0.5 - p - w;\n\treturn vec4(y, z, y - max(0.01, y - x), z - max(0.01, z - x));\n}\n\nvec2 toPosition3(in float type, in vec2 p, in float npacked, in float length, in float strokeWidth, out float shift) {\n\tvec3 t = vec3(1.0, 1.0/1024.0, 1.0/1024.0/1024.0) * npacked;\n\tt -= fract(t);\n\tt -= t.yzx * vec3(1024.0, 1024.0, 0.0);\n\tt *= vec3(1.0/511.5, 1.0/511.5, 1.0);\n\tt -= vec3(1.0, 1.0, 0.0);\n\tvec2 n0 = vec2(t.x, ((0.5 < t.z && t.z < 1.5) || 2.5 < t.z ? +1.0 : -1.0) * sqrt(max(0.0, 1.0 - t.x * t.x)));\n\tvec2 n1 = vec2(t.y, (1.5 < t.z ? +1.0 : -1.0) * sqrt(max(0.0, 1.0 - t.y * t.y)));\n\n\tvec2 n0i = toInverse(n0);\n\tvec2 n1i = toInverse(n1);\n\tfloat direction = sign(4.5 - type);\n\n\t// Offset\n\tfloat cross = dot(n0i, n1);\n\tbool bcross = 0.00001 < abs(cross);\n\tfloat crossi = (bcross ? 1.0 / cross : 0.0);\n\tfloat b = dot(n1 - n0, n0) * crossi;\n\tfloat offsetSize = direction * strokeWidth * 0.5;\n\tvec2 offset = n1 + n1i * b;\n\n\t// Miter\n\tvec2 pmiter = p + offsetSize * offset;\n\tfloat miterAngle0 = dot( n0i, offsetSize * offset - length * n0i );\n\tfloat miterAngle1 = dot( n1i, offsetSize * offset + length * n1i );\n\tfloat miterLength = dot( offset, offset );\n\tfloat miterSide = direction * cross;\n\n\t// Bevel\n\tvec2 n = (type == 4.0 || type == 6.0 ? n1 : n0);\n\tvec2 pbevel = p + offsetSize * n;\n\n\t//\n\tvec2 presult = (\n\t\t0.0 <= miterSide ?\n\t\t(miterAngle0 < 0.0 && 0.0 <= miterAngle1 && bcross ? pmiter : pbevel) :\n\t\t(miterLength < 6.0 && bcross ? pmiter : pbevel)\n\t);\n\tvec2 ni = (type == 4.0 || type == 6.0 ? n1i : n0i);\n\tshift = dot(ni, p - presult);\n\treturn toPosition012(presult);\n}\n\nvec2 toStepA3(in float type, in float strokeWidth) {\n\treturn vec2(type < 4.5 ? 1.0 : 0.0, strokeWidth);\n}\n\nvec4 toStepB3(in float shift, in float dash, in float strokeScaling, in float strokeWidthScale) {\n\tfloat l = aStepB.y + shift;\n\tfloat s = aStepA.x * (\n\t\tstrokeScaling == 4.0 || strokeScaling == 5.0 ||\n\t\tstrokeScaling == 6.0 || strokeScaling == 7.0 ?\n\t\tstrokeWidthScale : 1.0\n\t);\n\tfloat lt = aStepB.z;\n\treturn (dash < 0.5 ?\n\t\tvec4(l, 2.0 * abs(lt), 0.0, lt) :\n\t\t(dash < 3.5 ?\n\t\t\t(dash < 1.5 ?\n\t\t\t\tvec4(l, s, s, lt) :\n\t\t\t\t(2.5 < dash ?\n\t\t\t\t\tvec4(l, s, 2.0 * s, lt) :\n\t\t\t\t\tvec4(l, s, 0.5 * s, lt)\n\t\t\t\t)\n\t\t\t) :\n\t\t\t(dash < 4.5 ?\n\t\t\t\tvec4(l, 2.0 * s, s, lt) :\n\t\t\t\t(5.5 < dash ?\n\t\t\t\t\tvec4(l, 2.0 * s, 2.0 * s, lt) :\n\t\t\t\t\tvec4(l, 2.0 * s, 0.5 * s, lt)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n}\n\nvoid toColors(in vec3 source, out vec4 fillColor, out vec4 strokeColor) {\n\tvec2 a = toUnpackedF2x1024(source.z);\n\tfillColor.xyz = toUnpackedF3x256(source.x).zyx * a.x;\n\tfillColor.w = a.x;\n\tstrokeColor.xyz = toUnpackedF3x256(source.y).zyx * a.y;\n\tstrokeColor.w = a.y;\n}\n\nvoid main(void) {\n\tvec4 general = toGeneral(aStepA.y);\n\tfloat type = general.x;\n\tfloat strokeScaling = general.y;\n\tfloat strokeWidthScale = toStrokeWidthScale(strokeScaling);\n\tfloat strokeWidth = strokeWidthScale * aStepA.x;\n\n\t// Type 0, 1\n\tvec2 p012 = toPosition012(aPosition);\n\tvec2 sa012 = strokeWidth * general.zw;\n\tvec4 sb01 = toStepB01(aStepB);\n\n\t// Type 2\n\tvec4 sb2 = toStepB2(aStepB, strokeWidth);\n\n\t// Type 3 ~ 6\n\tfloat shift3 = 0.0;\n\tvec2 p3 = toPosition3(type, aPosition, aStepB.x, aStepB.w, strokeWidth, shift3);\n\tvec2 sa3 = toStepA3(type, strokeWidth);\n\tvec4 sb3 = toStepB3(shift3, general.z, strokeScaling, strokeWidthScale);\n\n\t//\n\tgl_Position = vec4((2.5 < type ? p3 : p012), 0.0, 1.0);\n\tvType = type;\n\tvStepA = (2.5 < type ? sa3 : sa012);\n\tvStepB = (1.5 < type ? (2.5 < type ? sb3 : sb2) : sb01);\n\ttoColors(aColor, vColorFill, vColorStroke);\n\tvUv = aUv;\n}";
|
|
11
|
+
var FRAGMENT_SHADER = "\nvarying mediump float vType;\nvarying mediump vec2 vStepA;\nvarying mediump vec4 vStepB;\nvarying mediump vec4 vColorFill;\nvarying mediump vec4 vColorStroke;\nvarying mediump vec2 vUv;\n\nuniform sampler2D sampler;\nuniform mediump float antialiasWeight;\n\nvec4 toColor0(in vec4 texture) {\n\tvec2 d = vStepB.xy;\n\tvec2 c = vStepB.zw;\n\tvec2 awd = antialiasWeight / d;\n\tvec2 swd = vStepA / d;\n\tvec2 one = vec2(1.0);\n\tvec2 zero = vec2(0.0);\n\tvec2 p0 = clamp(one - awd, zero, one);\n\tvec2 p1 = clamp(one - swd, zero, one);\n\tvec2 p2 = clamp(one - swd - awd, zero, one);\n\tvec2 s0 = smoothstep(p0, one, c);\n\tvec2 s1 = smoothstep(p2, p1, c);\n\tfloat s2 = max(s0.x, s0.y);\n\tfloat s3 = max(s1.x, s1.y);\n\treturn texture * (\n\t\tvColorStroke * (s3 - s2) +\n\t\tvColorFill * (1.0 - s3)\n\t);\n}\n\nvec4 toColor1(in vec4 texture) {\n\tvec2 d = vStepB.xy;\n\tvec2 c = vStepB.zw;\n\tvec2 awd = antialiasWeight / d;\n\tvec2 swd = vStepA / d;\n\tvec2 one = vec2(1.0);\n\tvec2 zero = vec2(0.0);\n\tfloat s0 = smoothstep(length(c), length(c/clamp(one - awd, zero, one)), 1.0);\n\tfloat s1 = smoothstep(length(c/clamp(one - swd, zero, one)), length(c/clamp(one - swd - awd, zero, one)), 1.0);\n\treturn texture * (\n\t\tvColorStroke * (s0 - s1) +\n\t\tvColorFill * s1\n\t);\n}\n\nvec4 toColor2(in vec4 texture) {\n\tvec2 p0 = vStepB.xy;\n\tvec2 p1 = vStepB.zw;\n\tvec2 d = vec2(dot(texture, vec4(1.0, 1.0/255.0, 1.0/255.0/255.0, 0.0)));\n\tvec2 s = smoothstep(p0 - p1, p0 + p1, d);\n\treturn vColorStroke * (s.y - s.x) + vColorFill * s.x;\n}\n\nvec4 toColor3(in vec4 texture) {\n\tfloat l = vStepB.x;\n\tfloat lp0 = vStepB.y;\n\tfloat lp1 = vStepB.z;\n\tfloat lt = vStepB.w;\n\tfloat ld = antialiasWeight;\n\tfloat lm = mod(l, lp0 + lp1);\n\tfloat ls0 = (0.0 < lp1 ? smoothstep(0.0, ld, lm) - smoothstep(lp0, lp0 + ld, lm) : 1.0);\n\tfloat ls1 = (0.0 <= lt ? smoothstep(0.0, ld, l) - smoothstep(lt - ld, lt, l) : 1.0);\n\n\tfloat c = vStepA.x;\n\tfloat awd = antialiasWeight / vStepA.y;\n\tfloat p0 = clamp(awd, 0.0, 1.0);\n\tfloat p1 = clamp(1.0 - awd, 0.0, 1.0);\n\tfloat s0 = smoothstep(0.0, p0, c);\n\tfloat s1 = smoothstep(p1, 1.0, c);\n\treturn texture * vColorStroke * (s0 - s1) * ls0 * ls1;\n}\n\nvoid main(void) {\n\tvec4 texture = texture2D(sampler, vUv);\n\tgl_FragColor = (vType < 1.5 ?\n\t\t(vType < 0.5 ?\n\t\t\ttoColor0(texture) :\n\t\t\ttoColor1(texture)\n\t\t) :\n\t\t(vType < 2.5 ?\n\t\t\ttoColor2(texture) :\n\t\t\ttoColor3(texture)\n\t\t)\n\t);\n}";
|
|
12
12
|
var EShapeRenderer = /** @class */ (function (_super) {
|
|
13
13
|
__extends(EShapeRenderer, _super);
|
|
14
14
|
function EShapeRenderer(renderer) {
|
|
@@ -103,7 +103,7 @@ var EShapeRenderer = /** @class */ (function (_super) {
|
|
|
103
103
|
if (shader != null && (shape != null || 0 < shapes.length)) {
|
|
104
104
|
var resolution = renderer.resolution;
|
|
105
105
|
var buffers = container.getBuffers();
|
|
106
|
-
var antialiasWeight = container.
|
|
106
|
+
var antialiasWeight = container.toAntialiasWeight(resolution);
|
|
107
107
|
// Update textures
|
|
108
108
|
if (isDirty) {
|
|
109
109
|
// Atlases
|
|
@@ -124,8 +124,7 @@ var EShapeRenderer = /** @class */ (function (_super) {
|
|
|
124
124
|
}
|
|
125
125
|
// Render buffers
|
|
126
126
|
shader.uniforms.shapeScale = container.toShapeScale();
|
|
127
|
-
shader.uniforms.
|
|
128
|
-
shader.uniforms.antialiasWeight = antialiasWeight;
|
|
127
|
+
shader.uniforms.antialiasWeight = container.toPixelScale(resolution) * antialiasWeight;
|
|
129
128
|
shader.uniforms.translationMatrix = container.worldTransform.toArray(true);
|
|
130
129
|
renderer.shader.bind(shader, false);
|
|
131
130
|
renderer.state.setBlendMode(utils.correctBlendMode(BLEND_MODES.NORMAL, true));
|