@wcardinal/wcardinal-ui 0.461.0 → 0.463.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/types/wcardinal/ui/d-diagram-base.d.ts +6 -1
  2. package/dist/types/wcardinal/ui/d-diagram-canvas-base.d.ts +6 -0
  3. package/dist/types/wcardinal/ui/d-diagram-layer-container.d.ts +2 -1
  4. package/dist/types/wcardinal/ui/d-diagram-layer.d.ts +2 -2
  5. package/dist/types/wcardinal/ui/shape/e-shape-container.d.ts +3 -1
  6. package/dist/types/wcardinal/ui/shape/e-shape-runtime-drag-state.d.ts +5 -0
  7. package/dist/types/wcardinal/ui/shape/index.d.ts +1 -0
  8. package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +1 -1
  9. package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +1 -1
  10. package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +1 -0
  11. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-diagram-canvas-base.d.ts +2 -0
  12. package/dist/types/wcardinal/ui/theme/white/d-theme-white-diagram-canvas-base.d.ts +2 -0
  13. package/dist/wcardinal/ui/d-diagram-base.js +17 -5
  14. package/dist/wcardinal/ui/d-diagram-base.js.map +1 -1
  15. package/dist/wcardinal/ui/d-diagram-canvas-base.js +6 -6
  16. package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
  17. package/dist/wcardinal/ui/d-diagram-layer-container.js +4 -3
  18. package/dist/wcardinal/ui/d-diagram-layer-container.js.map +1 -1
  19. package/dist/wcardinal/ui/d-diagram-layer.js +4 -3
  20. package/dist/wcardinal/ui/d-diagram-layer.js.map +1 -1
  21. package/dist/wcardinal/ui/shape/e-shape-container.js +6 -3
  22. package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
  23. package/dist/wcardinal/ui/shape/e-shape-renderer.js +2 -2
  24. package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
  25. package/dist/wcardinal/ui/shape/e-shape-runtime-drag-state.js +19 -0
  26. package/dist/wcardinal/ui/shape/e-shape-runtime-drag-state.js.map +1 -0
  27. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js +5 -3
  28. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
  29. package/dist/wcardinal/ui/shape/index.js +1 -0
  30. package/dist/wcardinal/ui/shape/index.js.map +1 -1
  31. package/dist/wcardinal/ui/shape/variant/build-line.js +82 -17
  32. package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
  33. package/dist/wcardinal/ui/shape/variant/builder-line.js +8 -12
  34. package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
  35. package/dist/wcardinal/ui/shape/variant/builder.js +2 -0
  36. package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
  37. package/dist/wcardinal/ui/theme/dark/d-theme-dark-diagram-canvas-base.js +6 -0
  38. package/dist/wcardinal/ui/theme/dark/d-theme-dark-diagram-canvas-base.js.map +1 -1
  39. package/dist/wcardinal/ui/theme/white/d-theme-white-diagram-canvas-base.js +6 -0
  40. package/dist/wcardinal/ui/theme/white/d-theme-white-diagram-canvas-base.js.map +1 -1
  41. package/dist/wcardinal-ui-theme-dark-en-us.js +7 -1
  42. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  43. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  44. package/dist/wcardinal-ui-theme-dark-ja-jp.js +7 -1
  45. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  46. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  47. package/dist/wcardinal-ui-theme-dark.js +7 -1
  48. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  49. package/dist/wcardinal-ui-theme-white-en-us.js +7 -1
  50. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  51. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  52. package/dist/wcardinal-ui-theme-white-ja-jp.js +7 -1
  53. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  54. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  55. package/dist/wcardinal-ui-theme-white.js +7 -1
  56. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  57. package/dist/wcardinal-ui.cjs.js +166 -55
  58. package/dist/wcardinal-ui.js +154 -55
  59. package/dist/wcardinal-ui.min.js +2 -2
  60. package/dist/wcardinal-ui.min.js.map +1 -1
  61. package/package.json +1 -1
@@ -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\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// Atlas\n\t\tconst atlas = this._atlas;\n\t\tif (atlas != null) {\n\t\t\tatlas.destroy();\n\t\t}\n\n\t\t// Font Atlas\n\t\tthis._fontAtlases.destroy();\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 _pixelScaleResolution: number;\n\tprotected _shapeScale: number;\n\tprotected _shapeScaleId: number;\n\tprotected _antialiasWeight: 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._pixelScaleResolution = 1;\n\t\tthis._shapeScale = 1;\n\t\tthis._shapeScaleId = -1; // Since Transform._worldID starts from zero.\n\t\tthis._antialiasWeight = 1;\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 || this._pixelScaleResolution !== resolution) {\n\t\t\tthis._pixelScaleId = shapeScaleId;\n\t\t\tthis._pixelScaleResolution = resolution;\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(): number {\n\t\treturn this._antialiasWeight;\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// Atlas\n\t\tconst atlas = this._atlas;\n\t\tif (atlas != null) {\n\t\t\tatlas.destroy();\n\t\t}\n\n\t\t// Font Atlas\n\t\tthis._fontAtlases.destroy();\n\n\t\t//\n\t\tsuper.destroy();\n\t}\n}\n"]}
@@ -8,7 +8,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
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 vLength;\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\nfloat toDotWidth(in float strokeScaling, in float strokeWidthScale) {\n\treturn 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}\n\nvec2 toDotPattern(in float dash) {\n\treturn (dash < 0.5 ?\n\t\tvec2(1.0, 0.0) :\n\t\t(dash < 3.5 ?\n\t\t\t(dash < 1.5 ?\n\t\t\t\tvec2(1.0, 1.0) :\n\t\t\t\t(2.5 < dash ?\n\t\t\t\t\tvec2(1.0, 2.0) :\n\t\t\t\t\tvec2(1.0, 0.5)\n\t\t\t\t)\n\t\t\t) :\n\t\t\t(dash < 4.5 ?\n\t\t\t\tvec2(2.0, 1.0) :\n\t\t\t\t(5.5 < dash ?\n\t\t\t\t\tvec2(2.0, 2.0) :\n\t\t\t\t\tvec2(2.0, 0.5)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n}\n\nvec4 toLength3(in float shift, in float dash, in float strokeScaling, in float strokeWidthScale) {\n\tfloat width = toDotWidth(strokeScaling, strokeWidthScale);\n\tvec2 pattern = toDotPattern(dash);\n\treturn vec4(aStepB.y + shift, pattern.x * width, pattern.y * width, aStepB.z);\n}\n\nvec4 toLength7(in float type, in float strokeScaling, in float strokeWidthScale) {\n\tfloat width = toDotWidth(strokeScaling, strokeWidthScale);\n\tvec2 pattern = toDotPattern(type - 7.0);\n\treturn vec4(aStepB.w, pattern.x * width, pattern.y * width, -1.0);\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\tvType = type;\n\tif (type < 2.5 || 6.5 < type) {\n\t\tgl_Position = vec4(toPosition012(aPosition), 0.0, 1.0);\n\t\tvStepA = strokeWidth * general.zw;\n\t\tif (type < 1.5) {\n\t\t\tvStepB = toStepB01(aStepB);\n\t\t\tvLength = vec4(-1.0, 0.0, 0.0, -1.0);\n\t\t} else if (type < 2.5) {\n\t\t\tvStepB = toStepB2(aStepB, strokeWidth);\n\t\t\tvLength = vec4(-1.0, 0.0, 0.0, -1.0);\n\t\t} else {\n\t\t\tvStepB = toStepB01(aStepB);\n\t\t\tvLength = toLength7(type, strokeScaling, strokeWidthScale);\n\t\t}\n\t} else {\n\t\tfloat shift3 = 0.0;\n\t\tgl_Position = vec4(toPosition3(type, aPosition, aStepB.x, aStepB.w, strokeWidth, shift3), 0.0, 1.0);\n\t\tvStepA = toStepA3(type, strokeWidth);\n\t\tvStepB = vec4(0.0);\n\t\tvLength = toLength3(shift3, general.z, strokeScaling, strokeWidthScale);\n\t}\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 vLength;\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 f = vec2(1.0) / vStepB.xy;\n\tvec2 c = vStepB.zw;\n\tvec2 awd = antialiasWeight * f;\n\tvec2 swd = vStepA * f;\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\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\nfloat toLineStep(in vec4 parameters) {\n\tfloat l = parameters.x;\n\tfloat lp0 = parameters.y;\n\tfloat lp1 = parameters.z;\n\tfloat lt = parameters.w;\n\tfloat ld = antialiasWeight;\n\tfloat lm = mod(l, lp0 + lp1);\n\tfloat s0 = (0.0 < lp1 ? smoothstep(0.0, ld, lm) - smoothstep(lp0, lp0 + ld, lm) : 1.0);\n\tfloat s1 = (0.0 <= lt ? smoothstep(0.0, ld, l) - smoothstep(lt - ld, lt, l) : 1.0);\n\treturn s0 * s1;\n}\n\nvec4 toColor3(in vec4 texture) {\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) * toLineStep(vLength);\n}\n\nvec4 toColor7(in vec4 texture) {\n\tfloat awd = antialiasWeight * vStepB.x;\n\tfloat swd = vStepA.x * vStepB.x;\n\tfloat p0 = clamp(1.0 - awd, 0.0, 1.0);\n\tfloat p1 = clamp(1.0 - swd, 0.0, 1.0);\n\tfloat p2 = clamp(1.0 - swd - awd, 0.0, 1.0);\n\tfloat s0 = smoothstep(p0, 1.0, vStepB.z);\n\tfloat s1 = smoothstep(p2, p1, vStepB.z) * toLineStep(vLength);\n\tfloat s2 = smoothstep(-antialiasWeight, 0.0, vStepB.y);\n\treturn texture * (\n\t\tvColorStroke * (s1 - s0) +\n\t\tvColorFill * (1.0 - s1) * s2\n\t);\n}\n\nvoid main(void) {\n\tvec4 texture = texture2D(sampler, vUv);\n\tif (vType < 0.5) {\n\t\tgl_FragColor = toColor0(texture);\n\t} else if (vType < 1.5) {\n\t\tgl_FragColor = toColor1(texture);\n\t} else if (vType < 2.5) {\n\t\tgl_FragColor = toColor2(texture);\n\t} else if (vType < 6.5) {\n\t\tgl_FragColor = toColor3(texture);\n\t} else {\n\t\tgl_FragColor = toColor7(texture);\n\t}\n}";
11
+ var FRAGMENT_SHADER = "\nvarying mediump float vType;\nvarying mediump vec2 vStepA;\nvarying mediump vec4 vStepB;\nvarying mediump vec4 vLength;\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 f = vec2(1.0) / vStepB.xy;\n\tvec2 c = vStepB.zw;\n\tvec2 awd = 0.5 * antialiasWeight * f;\n\tvec2 swd = vStepA * f;\n\tvec2 one = vec2(1.0);\n\tvec2 s0 = smoothstep(one - awd, one + awd, c);\n\tvec2 s1 = smoothstep(one - swd - awd, one - swd + awd, c);\n\tfloat s2 = max(s0.x, s0.y);\n\tfloat s3 = max(s1.x, s1.y);\n\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 = 0.5 * antialiasWeight / d;\n\tvec2 swd = vStepA / d;\n\tvec2 one = vec2(1.0);\n\tfloat s0 = smoothstep(length(c/(one + awd)), length(c/(one - awd)), 1.0);\n\tfloat s1 = smoothstep(length(c/(one - swd + awd)), length(c/(one - swd - awd)), 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\nfloat toLineStep(in vec4 parameters) {\n\tfloat l = parameters.x;\n\tfloat lp0 = parameters.y;\n\tfloat lp1 = parameters.z;\n\tfloat lt = parameters.w;\n\tfloat ld = 0.5 * antialiasWeight;\n\tfloat lm = mod(l, lp0 + lp1);\n\tfloat s0 = (0.0 < lp1 ? smoothstep(-ld, ld, lm) - smoothstep(lp0 - ld, lp0 + ld, lm) : 1.0);\n\tfloat s1 = (0.0 <= lt ? smoothstep(-ld, ld, l) - smoothstep(lt - ld, lt + ld, l) : 1.0);\n\treturn s0 * s1;\n}\n\nvec4 toColor3(in vec4 texture) {\n\tfloat c = vStepA.x;\n\tfloat awd = 0.5 * antialiasWeight / vStepA.y;\n\tfloat s0 = smoothstep(-awd, awd, c);\n\tfloat s1 = smoothstep(1.0 - awd, 1.0 + awd, c);\n\treturn texture * vColorStroke * (s0 - s1) * toLineStep(vLength);\n}\n\nvec4 toColor7(in vec4 texture) {\n\tfloat aw = 0.5 * antialiasWeight;\n\tfloat awd = aw * vStepB.x;\n\tfloat swd = vStepA.x * vStepB.x;\n\tfloat s0 = smoothstep(1.0 - awd, 1.0 + awd, vStepB.z);\n\tfloat s1 = smoothstep(1.0 - swd - awd, 1.0 - swd + awd, vStepB.z) * toLineStep(vLength);\n\tfloat s2 = smoothstep(-aw, +aw, vStepB.y);\n\treturn texture * (\n\t\tvColorStroke * (s1 - s0) +\n\t\tvColorFill * (1.0 - s1) * s2\n\t);\n}\n\nvoid main(void) {\n\tvec4 texture = texture2D(sampler, vUv);\n\tif (vType < 0.5) {\n\t\tgl_FragColor = toColor0(texture);\n\t} else if (vType < 1.5) {\n\t\tgl_FragColor = toColor1(texture);\n\t} else if (vType < 2.5) {\n\t\tgl_FragColor = toColor2(texture);\n\t} else if (vType < 6.5) {\n\t\tgl_FragColor = toColor3(texture);\n\t} else {\n\t\tgl_FragColor = toColor7(texture);\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.toAntialiasWeight(resolution);
106
+ var antialiasWeight = container.getAntialiasWeight();
107
107
  // Update textures
108
108
  if (isDirty) {
109
109
  // Atlases
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-renderer.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tBaseTexture,\n\tBLEND_MODES,\n\tObjectRenderer,\n\tRenderer,\n\tShader,\n\tTexture,\n\tutils\n} from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicAtlasItemImage } from \"../util/dynamic-atlas-item-image\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeContainer } from \"./e-shape-container\";\nimport { EShapeRendererIterator } from \"./e-shape-renderer-iterator\";\n\nconst 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 vLength;\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\nfloat toDotWidth(in float strokeScaling, in float strokeWidthScale) {\n\treturn 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}\n\nvec2 toDotPattern(in float dash) {\n\treturn (dash < 0.5 ?\n\t\tvec2(1.0, 0.0) :\n\t\t(dash < 3.5 ?\n\t\t\t(dash < 1.5 ?\n\t\t\t\tvec2(1.0, 1.0) :\n\t\t\t\t(2.5 < dash ?\n\t\t\t\t\tvec2(1.0, 2.0) :\n\t\t\t\t\tvec2(1.0, 0.5)\n\t\t\t\t)\n\t\t\t) :\n\t\t\t(dash < 4.5 ?\n\t\t\t\tvec2(2.0, 1.0) :\n\t\t\t\t(5.5 < dash ?\n\t\t\t\t\tvec2(2.0, 2.0) :\n\t\t\t\t\tvec2(2.0, 0.5)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n}\n\nvec4 toLength3(in float shift, in float dash, in float strokeScaling, in float strokeWidthScale) {\n\tfloat width = toDotWidth(strokeScaling, strokeWidthScale);\n\tvec2 pattern = toDotPattern(dash);\n\treturn vec4(aStepB.y + shift, pattern.x * width, pattern.y * width, aStepB.z);\n}\n\nvec4 toLength7(in float type, in float strokeScaling, in float strokeWidthScale) {\n\tfloat width = toDotWidth(strokeScaling, strokeWidthScale);\n\tvec2 pattern = toDotPattern(type - 7.0);\n\treturn vec4(aStepB.w, pattern.x * width, pattern.y * width, -1.0);\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\tvType = type;\n\tif (type < 2.5 || 6.5 < type) {\n\t\tgl_Position = vec4(toPosition012(aPosition), 0.0, 1.0);\n\t\tvStepA = strokeWidth * general.zw;\n\t\tif (type < 1.5) {\n\t\t\tvStepB = toStepB01(aStepB);\n\t\t\tvLength = vec4(-1.0, 0.0, 0.0, -1.0);\n\t\t} else if (type < 2.5) {\n\t\t\tvStepB = toStepB2(aStepB, strokeWidth);\n\t\t\tvLength = vec4(-1.0, 0.0, 0.0, -1.0);\n\t\t} else {\n\t\t\tvStepB = toStepB01(aStepB);\n\t\t\tvLength = toLength7(type, strokeScaling, strokeWidthScale);\n\t\t}\n\t} else {\n\t\tfloat shift3 = 0.0;\n\t\tgl_Position = vec4(toPosition3(type, aPosition, aStepB.x, aStepB.w, strokeWidth, shift3), 0.0, 1.0);\n\t\tvStepA = toStepA3(type, strokeWidth);\n\t\tvStepB = vec4(0.0);\n\t\tvLength = toLength3(shift3, general.z, strokeScaling, strokeWidthScale);\n\t}\n\ttoColors(aColor, vColorFill, vColorStroke);\n\tvUv = aUv;\n}`;\n\nconst FRAGMENT_SHADER = `\nvarying mediump float vType;\nvarying mediump vec2 vStepA;\nvarying mediump vec4 vStepB;\nvarying mediump vec4 vLength;\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 f = vec2(1.0) / vStepB.xy;\n\tvec2 c = vStepB.zw;\n\tvec2 awd = antialiasWeight * f;\n\tvec2 swd = vStepA * f;\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\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\nfloat toLineStep(in vec4 parameters) {\n\tfloat l = parameters.x;\n\tfloat lp0 = parameters.y;\n\tfloat lp1 = parameters.z;\n\tfloat lt = parameters.w;\n\tfloat ld = antialiasWeight;\n\tfloat lm = mod(l, lp0 + lp1);\n\tfloat s0 = (0.0 < lp1 ? smoothstep(0.0, ld, lm) - smoothstep(lp0, lp0 + ld, lm) : 1.0);\n\tfloat s1 = (0.0 <= lt ? smoothstep(0.0, ld, l) - smoothstep(lt - ld, lt, l) : 1.0);\n\treturn s0 * s1;\n}\n\nvec4 toColor3(in vec4 texture) {\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) * toLineStep(vLength);\n}\n\nvec4 toColor7(in vec4 texture) {\n\tfloat awd = antialiasWeight * vStepB.x;\n\tfloat swd = vStepA.x * vStepB.x;\n\tfloat p0 = clamp(1.0 - awd, 0.0, 1.0);\n\tfloat p1 = clamp(1.0 - swd, 0.0, 1.0);\n\tfloat p2 = clamp(1.0 - swd - awd, 0.0, 1.0);\n\tfloat s0 = smoothstep(p0, 1.0, vStepB.z);\n\tfloat s1 = smoothstep(p2, p1, vStepB.z) * toLineStep(vLength);\n\tfloat s2 = smoothstep(-antialiasWeight, 0.0, vStepB.y);\n\treturn texture * (\n\t\tvColorStroke * (s1 - s0) +\n\t\tvColorFill * (1.0 - s1) * s2\n\t);\n}\n\nvoid main(void) {\n\tvec4 texture = texture2D(sampler, vUv);\n\tif (vType < 0.5) {\n\t\tgl_FragColor = toColor0(texture);\n\t} else if (vType < 1.5) {\n\t\tgl_FragColor = toColor1(texture);\n\t} else if (vType < 2.5) {\n\t\tgl_FragColor = toColor2(texture);\n\t} else if (vType < 6.5) {\n\t\tgl_FragColor = toColor3(texture);\n\t} else {\n\t\tgl_FragColor = toColor7(texture);\n\t}\n}`;\n\nexport class EShapeRenderer extends ObjectRenderer {\n\tstatic SHADER: Shader | null = null;\n\n\tprotected _shader: Shader | null;\n\tprotected _iterator: EShapeRendererIterator;\n\tprotected _bufferSizeMax: number;\n\n\tconstructor(renderer: Renderer) {\n\t\tsuper(renderer);\n\t\tEShapeRenderer.SHADER =\n\t\t\tEShapeRenderer.SHADER || Shader.from(VERTEX_SHADER, FRAGMENT_SHADER);\n\t\tthis._shader = EShapeRenderer.SHADER;\n\t\tthis._iterator = new EShapeRendererIterator();\n\t\tthis._bufferSizeMax = this.getBufferSizeMax(renderer);\n\t}\n\n\tprotected getBufferSizeMax(renderer: Renderer): number {\n\t\tconst context = renderer.context;\n\t\tconst extensions = context.extensions as any;\n\t\tif (1 < context.webGLVersion || !!extensions.uint32ElementIndex) {\n\t\t\treturn 1431655765; // 2^32 / 3\n\t\t}\n\t\treturn 21845; // 2^16 / 3\n\t}\n\n\tupdateAtlas(\n\t\tshape: EShape,\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture,\n\t\tbaseTexture: BaseTexture\n\t): void {\n\t\t// Texture\n\t\t// Do not access the shape.image.source here.\n\t\t// It slows down the rendering speed significantly.\n\t\tconst image = shape.image;\n\t\tif (image != null) {\n\t\t\tconst textureItem = atlas.get(image.url);\n\t\t\tif (textureItem != null) {\n\t\t\t\tshape.texture = textureItem.texture;\n\t\t\t} else {\n\t\t\t\tconst newTextureItem = new DynamicAtlasItemImage(\n\t\t\t\t\timage.url,\n\t\t\t\t\timage.width,\n\t\t\t\t\timage.height,\n\t\t\t\t\timage.source,\n\t\t\t\t\tbaseTexture\n\t\t\t\t);\n\t\t\t\tshape.texture = newTextureItem.texture;\n\t\t\t\tatlas.set(newTextureItem.id, newTextureItem);\n\t\t\t}\n\t\t} else {\n\t\t\tshape.texture = defaultTexture;\n\t\t}\n\n\t\t// Font texture atlas\n\t\tconst text = shape.text;\n\t\tconst textCharacters = text.characters;\n\t\tif (0 < textCharacters.length) {\n\t\t\tfontAtlases.add(text.family, textCharacters, text.nacharacters);\n\t\t}\n\t}\n\n\tupdateAtlases(\n\t\tshapes: EShape[],\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture,\n\t\tbaseTexture: BaseTexture\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tthis.updateAtlas(shape, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\tconst children = shape.children;\n\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\tconst child = children[j];\n\t\t\t\tthis.updateAtlas(child, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t\tthis.updateAtlases(child.children, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateFontAtlas(\n\t\tshape: EShape,\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture\n\t): void {\n\t\tconst text = shape.text;\n\t\tconst fontAtlas = fontAtlases.get(text.family);\n\t\tif (fontAtlas != null) {\n\t\t\tconst textureItem = atlas.get(fontAtlas.id);\n\t\t\tif (textureItem != null) {\n\t\t\t\ttext.atlas = fontAtlas;\n\t\t\t\ttext.texture = textureItem.texture;\n\t\t\t} else {\n\t\t\t\ttext.atlas = undefined;\n\t\t\t\ttext.texture = defaultTexture;\n\t\t\t}\n\t\t} else {\n\t\t\ttext.atlas = undefined;\n\t\t\ttext.texture = defaultTexture;\n\t\t}\n\t}\n\n\tupdateFontAtlases(\n\t\tshapes: EShape[],\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tthis.updateFontAtlas(shape, atlas, fontAtlases, defaultTexture);\n\t\t\tconst children = shape.children;\n\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\tconst child = children[j];\n\t\t\t\tthis.updateFontAtlas(child, atlas, fontAtlases, defaultTexture);\n\t\t\t\tthis.updateFontAtlases(child.children, atlas, fontAtlases, defaultTexture);\n\t\t\t}\n\t\t}\n\t}\n\n\trender_(\n\t\tcontainer: EShapeContainer,\n\t\tshape: EShape | null,\n\t\tshapes: EShape[],\n\t\tisDirty: boolean\n\t): void {\n\t\tconst renderer = this.renderer;\n\t\tconst shader = this._shader;\n\n\t\tif (shader != null && (shape != null || 0 < shapes.length)) {\n\t\t\tconst resolution = renderer.resolution;\n\t\t\tconst buffers = container.getBuffers();\n\t\t\tconst antialiasWeight = container.toAntialiasWeight(resolution);\n\n\t\t\t// Update textures\n\t\t\tif (isDirty) {\n\t\t\t\t// Atlases\n\t\t\t\tconst atlas = container.getAtlas(resolution);\n\t\t\t\tconst fontAtlases = container.getFontAtlases();\n\t\t\t\tatlas.begin();\n\t\t\t\tfontAtlases.begin();\n\t\t\t\tconst defaultTexture = atlas.getDefaultTexture();\n\t\t\t\tconst baseTexture: BaseTexture = atlas.getBaseTexture();\n\t\t\t\tthis.updateAtlases(shapes, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t\tfontAtlases.end();\n\t\t\t\tfontAtlases.update(atlas);\n\t\t\t\tthis.updateFontAtlases(shapes, atlas, fontAtlases, defaultTexture);\n\t\t\t\tatlas.end();\n\t\t\t\tatlas.repack();\n\n\t\t\t\t// Update buffers\n\t\t\t\tthis.updateBuffers(shape, shapes, buffers, renderer, antialiasWeight);\n\t\t\t}\n\n\t\t\t// Render buffers\n\t\t\tshader.uniforms.shapeScale = container.toShapeScale();\n\t\t\tshader.uniforms.antialiasWeight = container.toPixelScale(resolution) * antialiasWeight;\n\t\t\tshader.uniforms.translationMatrix = container.worldTransform.toArray(true);\n\t\t\trenderer.shader.bind(shader, false);\n\t\t\trenderer.state.setBlendMode(utils.correctBlendMode(BLEND_MODES.NORMAL, true));\n\t\t\tconst buffersLength = buffers.length;\n\t\t\tif (1 < buffersLength) {\n\t\t\t\tfor (let i = 0; i < buffersLength; ++i) {\n\t\t\t\t\tbuffers[i].upload();\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (let i = 0; i < buffersLength; ++i) {\n\t\t\t\tbuffers[i].render(shader);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateBuffers(\n\t\tshape: EShape | null,\n\t\tshapes: EShape[],\n\t\tbuffers: EShapeBuffer[],\n\t\trenderer: Renderer,\n\t\tantialiasWeight: number\n\t): void {\n\t\tconst iterator = this._iterator;\n\t\titerator.reset(shape, shapes);\n\n\t\tlet ib = 0;\n\t\tlet bufferSize = 0;\n\t\tconst bufferSizeBase = 5000;\n\t\tconst bufferSizeMax = this._bufferSizeMax;\n\t\twhile (iterator.get() != null) {\n\t\t\tlet buffer: EShapeBuffer | null = null;\n\t\t\tlet noMoreThanOne = false;\n\t\t\tif (0 < bufferSize) {\n\t\t\t\tbuffer = new EShapeBuffer(bufferSize, renderer);\n\t\t\t\tbuffers.splice(ib, 0, buffer);\n\t\t\t\tnoMoreThanOne = true;\n\t\t\t} else if (ib < buffers.length) {\n\t\t\t\tbuffer = buffers[ib];\n\t\t\t\tnoMoreThanOne = false;\n\t\t\t} else {\n\t\t\t\tbuffer = new EShapeBuffer(bufferSizeBase, renderer);\n\t\t\t\tbuffers.push(buffer);\n\t\t\t\tnoMoreThanOne = false;\n\t\t\t}\n\t\t\tif (buffer.update(iterator, antialiasWeight, noMoreThanOne)) {\n\t\t\t\tbufferSize = 0;\n\t\t\t\tib += 1;\n\t\t\t} else {\n\t\t\t\tbufferSize = buffer.indexCountRequested;\n\t\t\t\tif (bufferSize <= bufferSizeMax) {\n\t\t\t\t\tbufferSize = Math.ceil(bufferSize / bufferSizeBase) * bufferSizeBase;\n\t\t\t\t\tbufferSize = Math.min(bufferSize, bufferSizeMax);\n\t\t\t\t} else {\n\t\t\t\t\t// No way to render\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (ib < buffers.length) {\n\t\t\tfor (let jb = ib, ibmax = buffers.length; jb < ibmax; ++jb) {\n\t\t\t\tbuffers[jb].destroy();\n\t\t\t}\n\t\t\tbuffers.length = ib;\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-renderer.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tBaseTexture,\n\tBLEND_MODES,\n\tObjectRenderer,\n\tRenderer,\n\tShader,\n\tTexture,\n\tutils\n} from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicAtlasItemImage } from \"../util/dynamic-atlas-item-image\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeContainer } from \"./e-shape-container\";\nimport { EShapeRendererIterator } from \"./e-shape-renderer-iterator\";\n\nconst 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 vLength;\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\nfloat toDotWidth(in float strokeScaling, in float strokeWidthScale) {\n\treturn 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}\n\nvec2 toDotPattern(in float dash) {\n\treturn (dash < 0.5 ?\n\t\tvec2(1.0, 0.0) :\n\t\t(dash < 3.5 ?\n\t\t\t(dash < 1.5 ?\n\t\t\t\tvec2(1.0, 1.0) :\n\t\t\t\t(2.5 < dash ?\n\t\t\t\t\tvec2(1.0, 2.0) :\n\t\t\t\t\tvec2(1.0, 0.5)\n\t\t\t\t)\n\t\t\t) :\n\t\t\t(dash < 4.5 ?\n\t\t\t\tvec2(2.0, 1.0) :\n\t\t\t\t(5.5 < dash ?\n\t\t\t\t\tvec2(2.0, 2.0) :\n\t\t\t\t\tvec2(2.0, 0.5)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n}\n\nvec4 toLength3(in float shift, in float dash, in float strokeScaling, in float strokeWidthScale) {\n\tfloat width = toDotWidth(strokeScaling, strokeWidthScale);\n\tvec2 pattern = toDotPattern(dash);\n\treturn vec4(aStepB.y + shift, pattern.x * width, pattern.y * width, aStepB.z);\n}\n\nvec4 toLength7(in float type, in float strokeScaling, in float strokeWidthScale) {\n\tfloat width = toDotWidth(strokeScaling, strokeWidthScale);\n\tvec2 pattern = toDotPattern(type - 7.0);\n\treturn vec4(aStepB.w, pattern.x * width, pattern.y * width, -1.0);\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\tvType = type;\n\tif (type < 2.5 || 6.5 < type) {\n\t\tgl_Position = vec4(toPosition012(aPosition), 0.0, 1.0);\n\t\tvStepA = strokeWidth * general.zw;\n\t\tif (type < 1.5) {\n\t\t\tvStepB = toStepB01(aStepB);\n\t\t\tvLength = vec4(-1.0, 0.0, 0.0, -1.0);\n\t\t} else if (type < 2.5) {\n\t\t\tvStepB = toStepB2(aStepB, strokeWidth);\n\t\t\tvLength = vec4(-1.0, 0.0, 0.0, -1.0);\n\t\t} else {\n\t\t\tvStepB = toStepB01(aStepB);\n\t\t\tvLength = toLength7(type, strokeScaling, strokeWidthScale);\n\t\t}\n\t} else {\n\t\tfloat shift3 = 0.0;\n\t\tgl_Position = vec4(toPosition3(type, aPosition, aStepB.x, aStepB.w, strokeWidth, shift3), 0.0, 1.0);\n\t\tvStepA = toStepA3(type, strokeWidth);\n\t\tvStepB = vec4(0.0);\n\t\tvLength = toLength3(shift3, general.z, strokeScaling, strokeWidthScale);\n\t}\n\ttoColors(aColor, vColorFill, vColorStroke);\n\tvUv = aUv;\n}`;\n\nconst FRAGMENT_SHADER = `\nvarying mediump float vType;\nvarying mediump vec2 vStepA;\nvarying mediump vec4 vStepB;\nvarying mediump vec4 vLength;\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 f = vec2(1.0) / vStepB.xy;\n\tvec2 c = vStepB.zw;\n\tvec2 awd = 0.5 * antialiasWeight * f;\n\tvec2 swd = vStepA * f;\n\tvec2 one = vec2(1.0);\n\tvec2 s0 = smoothstep(one - awd, one + awd, c);\n\tvec2 s1 = smoothstep(one - swd - awd, one - swd + awd, c);\n\tfloat s2 = max(s0.x, s0.y);\n\tfloat s3 = max(s1.x, s1.y);\n\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 = 0.5 * antialiasWeight / d;\n\tvec2 swd = vStepA / d;\n\tvec2 one = vec2(1.0);\n\tfloat s0 = smoothstep(length(c/(one + awd)), length(c/(one - awd)), 1.0);\n\tfloat s1 = smoothstep(length(c/(one - swd + awd)), length(c/(one - swd - awd)), 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\nfloat toLineStep(in vec4 parameters) {\n\tfloat l = parameters.x;\n\tfloat lp0 = parameters.y;\n\tfloat lp1 = parameters.z;\n\tfloat lt = parameters.w;\n\tfloat ld = 0.5 * antialiasWeight;\n\tfloat lm = mod(l, lp0 + lp1);\n\tfloat s0 = (0.0 < lp1 ? smoothstep(-ld, ld, lm) - smoothstep(lp0 - ld, lp0 + ld, lm) : 1.0);\n\tfloat s1 = (0.0 <= lt ? smoothstep(-ld, ld, l) - smoothstep(lt - ld, lt + ld, l) : 1.0);\n\treturn s0 * s1;\n}\n\nvec4 toColor3(in vec4 texture) {\n\tfloat c = vStepA.x;\n\tfloat awd = 0.5 * antialiasWeight / vStepA.y;\n\tfloat s0 = smoothstep(-awd, awd, c);\n\tfloat s1 = smoothstep(1.0 - awd, 1.0 + awd, c);\n\treturn texture * vColorStroke * (s0 - s1) * toLineStep(vLength);\n}\n\nvec4 toColor7(in vec4 texture) {\n\tfloat aw = 0.5 * antialiasWeight;\n\tfloat awd = aw * vStepB.x;\n\tfloat swd = vStepA.x * vStepB.x;\n\tfloat s0 = smoothstep(1.0 - awd, 1.0 + awd, vStepB.z);\n\tfloat s1 = smoothstep(1.0 - swd - awd, 1.0 - swd + awd, vStepB.z) * toLineStep(vLength);\n\tfloat s2 = smoothstep(-aw, +aw, vStepB.y);\n\treturn texture * (\n\t\tvColorStroke * (s1 - s0) +\n\t\tvColorFill * (1.0 - s1) * s2\n\t);\n}\n\nvoid main(void) {\n\tvec4 texture = texture2D(sampler, vUv);\n\tif (vType < 0.5) {\n\t\tgl_FragColor = toColor0(texture);\n\t} else if (vType < 1.5) {\n\t\tgl_FragColor = toColor1(texture);\n\t} else if (vType < 2.5) {\n\t\tgl_FragColor = toColor2(texture);\n\t} else if (vType < 6.5) {\n\t\tgl_FragColor = toColor3(texture);\n\t} else {\n\t\tgl_FragColor = toColor7(texture);\n\t}\n}`;\n\nexport class EShapeRenderer extends ObjectRenderer {\n\tstatic SHADER: Shader | null = null;\n\n\tprotected _shader: Shader | null;\n\tprotected _iterator: EShapeRendererIterator;\n\tprotected _bufferSizeMax: number;\n\n\tconstructor(renderer: Renderer) {\n\t\tsuper(renderer);\n\t\tEShapeRenderer.SHADER =\n\t\t\tEShapeRenderer.SHADER || Shader.from(VERTEX_SHADER, FRAGMENT_SHADER);\n\t\tthis._shader = EShapeRenderer.SHADER;\n\t\tthis._iterator = new EShapeRendererIterator();\n\t\tthis._bufferSizeMax = this.getBufferSizeMax(renderer);\n\t}\n\n\tprotected getBufferSizeMax(renderer: Renderer): number {\n\t\tconst context = renderer.context;\n\t\tconst extensions = context.extensions as any;\n\t\tif (1 < context.webGLVersion || !!extensions.uint32ElementIndex) {\n\t\t\treturn 1431655765; // 2^32 / 3\n\t\t}\n\t\treturn 21845; // 2^16 / 3\n\t}\n\n\tupdateAtlas(\n\t\tshape: EShape,\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture,\n\t\tbaseTexture: BaseTexture\n\t): void {\n\t\t// Texture\n\t\t// Do not access the shape.image.source here.\n\t\t// It slows down the rendering speed significantly.\n\t\tconst image = shape.image;\n\t\tif (image != null) {\n\t\t\tconst textureItem = atlas.get(image.url);\n\t\t\tif (textureItem != null) {\n\t\t\t\tshape.texture = textureItem.texture;\n\t\t\t} else {\n\t\t\t\tconst newTextureItem = new DynamicAtlasItemImage(\n\t\t\t\t\timage.url,\n\t\t\t\t\timage.width,\n\t\t\t\t\timage.height,\n\t\t\t\t\timage.source,\n\t\t\t\t\tbaseTexture\n\t\t\t\t);\n\t\t\t\tshape.texture = newTextureItem.texture;\n\t\t\t\tatlas.set(newTextureItem.id, newTextureItem);\n\t\t\t}\n\t\t} else {\n\t\t\tshape.texture = defaultTexture;\n\t\t}\n\n\t\t// Font texture atlas\n\t\tconst text = shape.text;\n\t\tconst textCharacters = text.characters;\n\t\tif (0 < textCharacters.length) {\n\t\t\tfontAtlases.add(text.family, textCharacters, text.nacharacters);\n\t\t}\n\t}\n\n\tupdateAtlases(\n\t\tshapes: EShape[],\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture,\n\t\tbaseTexture: BaseTexture\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tthis.updateAtlas(shape, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\tconst children = shape.children;\n\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\tconst child = children[j];\n\t\t\t\tthis.updateAtlas(child, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t\tthis.updateAtlases(child.children, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateFontAtlas(\n\t\tshape: EShape,\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture\n\t): void {\n\t\tconst text = shape.text;\n\t\tconst fontAtlas = fontAtlases.get(text.family);\n\t\tif (fontAtlas != null) {\n\t\t\tconst textureItem = atlas.get(fontAtlas.id);\n\t\t\tif (textureItem != null) {\n\t\t\t\ttext.atlas = fontAtlas;\n\t\t\t\ttext.texture = textureItem.texture;\n\t\t\t} else {\n\t\t\t\ttext.atlas = undefined;\n\t\t\t\ttext.texture = defaultTexture;\n\t\t\t}\n\t\t} else {\n\t\t\ttext.atlas = undefined;\n\t\t\ttext.texture = defaultTexture;\n\t\t}\n\t}\n\n\tupdateFontAtlases(\n\t\tshapes: EShape[],\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tthis.updateFontAtlas(shape, atlas, fontAtlases, defaultTexture);\n\t\t\tconst children = shape.children;\n\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\tconst child = children[j];\n\t\t\t\tthis.updateFontAtlas(child, atlas, fontAtlases, defaultTexture);\n\t\t\t\tthis.updateFontAtlases(child.children, atlas, fontAtlases, defaultTexture);\n\t\t\t}\n\t\t}\n\t}\n\n\trender_(\n\t\tcontainer: EShapeContainer,\n\t\tshape: EShape | null,\n\t\tshapes: EShape[],\n\t\tisDirty: boolean\n\t): void {\n\t\tconst renderer = this.renderer;\n\t\tconst shader = this._shader;\n\n\t\tif (shader != null && (shape != null || 0 < shapes.length)) {\n\t\t\tconst resolution = renderer.resolution;\n\t\t\tconst buffers = container.getBuffers();\n\t\t\tconst antialiasWeight = container.getAntialiasWeight();\n\n\t\t\t// Update textures\n\t\t\tif (isDirty) {\n\t\t\t\t// Atlases\n\t\t\t\tconst atlas = container.getAtlas(resolution);\n\t\t\t\tconst fontAtlases = container.getFontAtlases();\n\t\t\t\tatlas.begin();\n\t\t\t\tfontAtlases.begin();\n\t\t\t\tconst defaultTexture = atlas.getDefaultTexture();\n\t\t\t\tconst baseTexture: BaseTexture = atlas.getBaseTexture();\n\t\t\t\tthis.updateAtlases(shapes, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t\tfontAtlases.end();\n\t\t\t\tfontAtlases.update(atlas);\n\t\t\t\tthis.updateFontAtlases(shapes, atlas, fontAtlases, defaultTexture);\n\t\t\t\tatlas.end();\n\t\t\t\tatlas.repack();\n\n\t\t\t\t// Update buffers\n\t\t\t\tthis.updateBuffers(shape, shapes, buffers, renderer, antialiasWeight);\n\t\t\t}\n\n\t\t\t// Render buffers\n\t\t\tshader.uniforms.shapeScale = container.toShapeScale();\n\t\t\tshader.uniforms.antialiasWeight = container.toPixelScale(resolution) * antialiasWeight;\n\t\t\tshader.uniforms.translationMatrix = container.worldTransform.toArray(true);\n\t\t\trenderer.shader.bind(shader, false);\n\t\t\trenderer.state.setBlendMode(utils.correctBlendMode(BLEND_MODES.NORMAL, true));\n\t\t\tconst buffersLength = buffers.length;\n\t\t\tif (1 < buffersLength) {\n\t\t\t\tfor (let i = 0; i < buffersLength; ++i) {\n\t\t\t\t\tbuffers[i].upload();\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (let i = 0; i < buffersLength; ++i) {\n\t\t\t\tbuffers[i].render(shader);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateBuffers(\n\t\tshape: EShape | null,\n\t\tshapes: EShape[],\n\t\tbuffers: EShapeBuffer[],\n\t\trenderer: Renderer,\n\t\tantialiasWeight: number\n\t): void {\n\t\tconst iterator = this._iterator;\n\t\titerator.reset(shape, shapes);\n\n\t\tlet ib = 0;\n\t\tlet bufferSize = 0;\n\t\tconst bufferSizeBase = 5000;\n\t\tconst bufferSizeMax = this._bufferSizeMax;\n\t\twhile (iterator.get() != null) {\n\t\t\tlet buffer: EShapeBuffer | null = null;\n\t\t\tlet noMoreThanOne = false;\n\t\t\tif (0 < bufferSize) {\n\t\t\t\tbuffer = new EShapeBuffer(bufferSize, renderer);\n\t\t\t\tbuffers.splice(ib, 0, buffer);\n\t\t\t\tnoMoreThanOne = true;\n\t\t\t} else if (ib < buffers.length) {\n\t\t\t\tbuffer = buffers[ib];\n\t\t\t\tnoMoreThanOne = false;\n\t\t\t} else {\n\t\t\t\tbuffer = new EShapeBuffer(bufferSizeBase, renderer);\n\t\t\t\tbuffers.push(buffer);\n\t\t\t\tnoMoreThanOne = false;\n\t\t\t}\n\t\t\tif (buffer.update(iterator, antialiasWeight, noMoreThanOne)) {\n\t\t\t\tbufferSize = 0;\n\t\t\t\tib += 1;\n\t\t\t} else {\n\t\t\t\tbufferSize = buffer.indexCountRequested;\n\t\t\t\tif (bufferSize <= bufferSizeMax) {\n\t\t\t\t\tbufferSize = Math.ceil(bufferSize / bufferSizeBase) * bufferSizeBase;\n\t\t\t\t\tbufferSize = Math.min(bufferSize, bufferSizeMax);\n\t\t\t\t} else {\n\t\t\t\t\t// No way to render\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (ib < buffers.length) {\n\t\t\tfor (let jb = ib, ibmax = buffers.length; jb < ibmax; ++jb) {\n\t\t\t\tbuffers[jb].destroy();\n\t\t\t}\n\t\t\tbuffers.length = ib;\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright (C) 2026 Toshiba Corporation
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { EShapeState } from "./e-shape-state";
6
+ var EShapeRuntimeDragStates = /** @class */ (function () {
7
+ function EShapeRuntimeDragStates() {
8
+ }
9
+ EShapeRuntimeDragStates.get = function () {
10
+ return this._STATE;
11
+ };
12
+ EShapeRuntimeDragStates.set = function (state) {
13
+ this._STATE = state;
14
+ };
15
+ EShapeRuntimeDragStates._STATE = EShapeState.DRAGGED;
16
+ return EShapeRuntimeDragStates;
17
+ }());
18
+ export { EShapeRuntimeDragStates };
19
+ //# sourceMappingURL=e-shape-runtime-drag-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e-shape-runtime-drag-state.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime-drag-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;IAAA;IAUA,CAAC;IAPc,2BAAG,GAAjB;QACC,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAEa,2BAAG,GAAjB,UAAkB,KAAa;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IARgB,8BAAM,GAAG,WAAW,CAAC,OAAO,CAAC;IAS/C,8BAAC;CAAA,AAVD,IAUC;SAVY,uBAAuB","sourcesContent":["/*\n * Copyright (C) 2026 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShapeState } from \"./e-shape-state\";\n\nexport class EShapeRuntimeDragStates {\n\tprotected static _STATE = EShapeState.DRAGGED;\n\n\tpublic static get(): string {\n\t\treturn this._STATE;\n\t}\n\n\tpublic static set(state: string): void {\n\t\tthis._STATE = state;\n\t}\n}\n"]}
@@ -8,6 +8,7 @@ import { EShapeState } from "./e-shape-state";
8
8
  import { DBaseState } from "../d-base-state";
9
9
  import { EShapeRuntimeReset } from "./e-shape-runtime-reset";
10
10
  import { EShapeLockPart } from "./variant/e-shape-lock-part";
11
+ import { EShapeRuntimeDragStates } from "./e-shape-runtime-drag-state";
11
12
  var EShapeRuntimeImpl = /** @class */ (function () {
12
13
  function EShapeRuntimeImpl(shape) {
13
14
  var transform = shape.transform;
@@ -75,11 +76,12 @@ var EShapeRuntimeImpl = /** @class */ (function () {
75
76
  };
76
77
  EShapeRuntimeImpl.prototype.isDraggable = function (shape, e) {
77
78
  var state = shape.state;
78
- var wasDragged = state.isDragged;
79
+ var dragState = EShapeRuntimeDragStates.get();
80
+ var wasDragged = state.is(dragState);
79
81
  try {
80
82
  // State
81
83
  if (state.isActionable) {
82
- state.isDragged = true;
84
+ state.add(dragState);
83
85
  }
84
86
  // Actions
85
87
  var actions = this.actions;
@@ -92,7 +94,7 @@ var EShapeRuntimeImpl = /** @class */ (function () {
92
94
  return false;
93
95
  }
94
96
  finally {
95
- state.isDragged = wasDragged;
97
+ state.set(dragState, wasDragged);
96
98
  }
97
99
  };
98
100
  EShapeRuntimeImpl.prototype.onDragStart = function (shape, e, interactionManager) {
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-runtime-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Renderer } from \"pixi.js\";\nimport { DApplications } from \"../d-applications\";\nimport { UtilKeyboardEvent } from \"../util/util-keyboard-event\";\nimport { EShapeActionRuntime } from \"./action/e-shape-action-runtime\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeFillLike } from \"./e-shape-fill\";\nimport { EShapeState } from \"./e-shape-state\";\nimport { EShapeStrokeLike } from \"./e-shape-stroke\";\nimport { EShapeTextLike } from \"./e-shape-text\";\nimport { DBaseState } from \"../d-base-state\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { EShapeRuntime } from \"./e-shape-runtime\";\nimport { EShapeRuntimeReset } from \"./e-shape-runtime-reset\";\nimport { EShapeLockPart } from \"./variant/e-shape-lock-part\";\n\nexport class EShapeRuntimeImpl implements EShapeRuntime {\n\tstatic readonly TRANSIENT_STATES = [\n\t\tEShapeState.CLICKED,\n\t\tEShapeState.DBL_CLICKED,\n\t\tEShapeState.DOWN,\n\t\tEShapeState.UP,\n\t\tEShapeState.UP_OUTSIDE,\n\n\t\tEShapeState.RIGHT_CLICKED,\n\t\tEShapeState.RIGHT_DOWN,\n\t\tEShapeState.RIGHT_UP,\n\t\tEShapeState.RIGHT_UP_OUTSIDE,\n\n\t\tEShapeState.ACTIVATED,\n\t\tEShapeState.DEACTIVATED\n\t];\n\n\treadonly x: number;\n\treadonly y: number;\n\treadonly sizeX: number;\n\treadonly sizeY: number;\n\treadonly rotation: number;\n\treadonly actions: EShapeActionRuntime[];\n\treadonly fill: EShapeFillLike;\n\treadonly stroke: EShapeStrokeLike;\n\treadonly text: EShapeTextLike;\n\treadonly cursor?: string;\n\treadonly interactive: boolean;\n\n\treset: EShapeRuntimeReset;\n\twritten: EShapeRuntimeReset;\n\teffect: number;\n\tisStateChanged: boolean;\n\n\tconstructor(shape: EShape) {\n\t\tconst transform = shape.transform;\n\t\tconst position = transform.position;\n\t\tthis.x = position.x;\n\t\tthis.y = position.y;\n\t\tconst size = shape.size;\n\t\tthis.sizeX = size.x;\n\t\tthis.sizeY = size.y;\n\t\tthis.rotation = transform.rotation;\n\t\tthis.actions = [];\n\t\tthis.fill = shape.fill.toObject();\n\t\tthis.stroke = shape.stroke.toObject();\n\t\tthis.text = shape.text.toObject();\n\t\tthis.cursor = shape.cursor;\n\t\tthis.reset = EShapeRuntimeReset.NONE;\n\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\tthis.effect = -1;\n\t\tthis.isStateChanged = false;\n\t\tthis.interactive = false;\n\t}\n\n\tinitialize(shape: EShape): void {\n\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].initialize(shape, this);\n\t\t}\n\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t}\n\n\tisActionable(): boolean {\n\t\treturn 0 < this.actions.length;\n\t}\n\n\tonResize(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onResize(shape, this);\n\t\t}\n\t}\n\n\tonClick(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onClick(shape, this, e);\n\t\t}\n\t}\n\n\tonDblClick(\n\t\tshape: EShape,\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isDblClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDblClick(shape, this, e, interactionManager);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tisDraggable(shape: EShape, e: InteractionEvent): boolean {\n\t\tconst state = shape.state;\n\t\tconst wasDragged = state.isDragged;\n\t\ttry {\n\t\t\t// State\n\t\t\tif (state.isActionable) {\n\t\t\t\tstate.isDragged = true;\n\t\t\t}\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tif (actions[i].isDraggable(shape, this, e)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Done\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tstate.isDragged = wasDragged;\n\t\t}\n\t}\n\n\tonDragStart(shape: EShape, e: DragEvent, interactionManager: InteractionManager): boolean {\n\t\tlet result = false;\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tif (actions[i].onDragStart(shape, this, e, interactionManager)) {\n\t\t\t\tresult = true;\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tonOver(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isHovered) {\n\t\t\t// State\n\t\t\tstate.isHovered = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOver(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonOut(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isHovered) {\n\t\t\t// State\n\t\t\tshape.state.isHovered = false;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOut(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDown(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isDown) {\n\t\t\tif (!state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.DOWN, DBaseState.PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onDown(shape, this, e);\n\t\t\t\t\taction.onPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isDown = true;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUp(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isUp) {\n\t\t\tif (state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.UP, DBaseState.PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onUp(shape, this, e);\n\t\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUpOutside(shape: EShape, e: InteractionEvent | DragEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.UP_OUTSIDE, DBaseState.PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onUpOutside(shape, this, e);\n\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonMove(shape: EShape, e: InteractionEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onMove(shape, this, e);\n\t\t}\n\t}\n\n\tonKeyDown(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onDown(shape, e);\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onKeyDown(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonKeyUp(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tconst state = shape.state;\n\t\t\tif (state.isPressed) {\n\t\t\t\tconst wasUp = state.isUp;\n\t\t\t\tthis.onUp(shape, e);\n\t\t\t\tif (!wasUp && state.isUp) {\n\t\t\t\t\tthis.onClick(shape, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onKeyUp(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonStateChange(shape: EShape, newState: DBaseStateSet, oldState: DBaseStateSet): void {\n\t\tthis.isStateChanged = true;\n\t\tDApplications.update(shape);\n\n\t\tif (newState.isFocused) {\n\t\t\tif (!oldState.isFocused) {\n\t\t\t\tthis.onFocus(shape);\n\t\t\t}\n\t\t} else if (oldState.isFocused) {\n\t\t\tthis.onBlur(shape);\n\t\t}\n\t}\n\n\tonFocus(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onFocus(shape, this);\n\t\t}\n\t}\n\n\tonBlur(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onBlur(shape, this);\n\t\t}\n\t}\n\n\tonRightClick(shape: EShape, e: InteractionEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isRightClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRightClick(shape, this, e);\n\t\t}\n\t}\n\n\tonRightDown(shape: EShape, e: InteractionEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRightDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isRightDown) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.RIGHT_DOWN, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightDown(shape, this, e);\n\t\t\t\t\taction.onRightPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightDown = false;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUp(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isRightUp) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.RIGHT_UP, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightUp(shape, this, e);\n\t\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isRightPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.RIGHT_UP_OUTSIDE, EShapeState.RIGHT_PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onRightUpOutside(shape, this, e);\n\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isRightUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onRightUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate(shape: EShape, time: number): void {\n\t\tconst data = shape.data;\n\t\tconst effect = this.effect;\n\t\tconst isEffectTimeUp = 0 <= effect && effect <= time;\n\t\tif (data.isChanged || this.isStateChanged || isEffectTimeUp) {\n\t\t\tthis.isStateChanged = false;\n\t\t\tdata.isChanged = false;\n\t\t\tif (isEffectTimeUp) {\n\t\t\t\tthis.effect = -1;\n\t\t\t}\n\t\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\t\tthis.onUpdate(shape, time);\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t\tconst wasStateChanged = this.isStateChanged;\n\t\t\tshape.state.removeAll(EShapeRuntimeImpl.TRANSIENT_STATES);\n\t\t\tthis.isStateChanged = wasStateChanged;\n\t\t}\n\t}\n\n\tonRender(shape: EShape, time: number, renderer: Renderer): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRender(shape, this, time, renderer);\n\t\t}\n\t\tthis.update(shape, time);\n\t}\n\n\tprotected onUpdate(shape: EShape, time: number): void {\n\t\tconst actions = this.actions;\n\t\tif (0 < actions.length) {\n\t\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].execute(shape, this, time);\n\t\t\t}\n\t\t\tthis.doReset(shape);\n\t\t}\n\t}\n\n\tprotected doReset(shape: EShape): void {\n\t\tconst target = ~this.written & this.reset;\n\t\tif (target !== EShapeRuntimeReset.NONE) {\n\t\t\tif (target & EShapeRuntimeReset.POSITION_X) {\n\t\t\t\tshape.transform.position.x = this.x;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.POSITION_Y) {\n\t\t\t\tshape.transform.position.y = this.y;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.VISIBILITY) {\n\t\t\t\tshape.visible = true;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_FILL) {\n\t\t\t\tconst fill = this.fill;\n\t\t\t\tshape.fill.set(undefined, fill.color, fill.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_STROKE) {\n\t\t\t\tconst stroke = this.stroke;\n\t\t\t\tshape.stroke.set(undefined, stroke.color, stroke.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.FILL_PERCENT) {\n\t\t\t\tconst fill = this.fill;\n\t\t\t\tshape.fill.set(undefined, undefined, undefined, undefined, fill.percent);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT) {\n\t\t\t\tconst text = this.text;\n\t\t\t\tshape.text.set(undefined, text.color, text.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT_OUTLINE) {\n\t\t\t\tconst outline = this.text.outline;\n\t\t\t\tshape.text.outline.set(undefined, outline.color, outline.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.HEIGHT) {\n\t\t\t\tshape.size.y = this.sizeY;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.WIDTH) {\n\t\t\t\tshape.size.x = this.sizeX;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.ROTATION) {\n\t\t\t\tshape.transform.rotation = this.rotation;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.TEXT) {\n\t\t\t\tshape.text.value = this.text.value;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.CURSOR) {\n\t\t\t\tshape.cursor = this.cursor;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-runtime-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Renderer } from \"pixi.js\";\nimport { DApplications } from \"../d-applications\";\nimport { UtilKeyboardEvent } from \"../util/util-keyboard-event\";\nimport { EShapeActionRuntime } from \"./action/e-shape-action-runtime\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeFillLike } from \"./e-shape-fill\";\nimport { EShapeState } from \"./e-shape-state\";\nimport { EShapeStrokeLike } from \"./e-shape-stroke\";\nimport { EShapeTextLike } from \"./e-shape-text\";\nimport { DBaseState } from \"../d-base-state\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { EShapeRuntime } from \"./e-shape-runtime\";\nimport { EShapeRuntimeReset } from \"./e-shape-runtime-reset\";\nimport { EShapeLockPart } from \"./variant/e-shape-lock-part\";\nimport { EShapeRuntimeDragStates } from \"./e-shape-runtime-drag-state\";\n\nexport class EShapeRuntimeImpl implements EShapeRuntime {\n\tstatic readonly TRANSIENT_STATES = [\n\t\tEShapeState.CLICKED,\n\t\tEShapeState.DBL_CLICKED,\n\t\tEShapeState.DOWN,\n\t\tEShapeState.UP,\n\t\tEShapeState.UP_OUTSIDE,\n\n\t\tEShapeState.RIGHT_CLICKED,\n\t\tEShapeState.RIGHT_DOWN,\n\t\tEShapeState.RIGHT_UP,\n\t\tEShapeState.RIGHT_UP_OUTSIDE,\n\n\t\tEShapeState.ACTIVATED,\n\t\tEShapeState.DEACTIVATED\n\t];\n\n\treadonly x: number;\n\treadonly y: number;\n\treadonly sizeX: number;\n\treadonly sizeY: number;\n\treadonly rotation: number;\n\treadonly actions: EShapeActionRuntime[];\n\treadonly fill: EShapeFillLike;\n\treadonly stroke: EShapeStrokeLike;\n\treadonly text: EShapeTextLike;\n\treadonly cursor?: string;\n\treadonly interactive: boolean;\n\n\treset: EShapeRuntimeReset;\n\twritten: EShapeRuntimeReset;\n\teffect: number;\n\tisStateChanged: boolean;\n\n\tconstructor(shape: EShape) {\n\t\tconst transform = shape.transform;\n\t\tconst position = transform.position;\n\t\tthis.x = position.x;\n\t\tthis.y = position.y;\n\t\tconst size = shape.size;\n\t\tthis.sizeX = size.x;\n\t\tthis.sizeY = size.y;\n\t\tthis.rotation = transform.rotation;\n\t\tthis.actions = [];\n\t\tthis.fill = shape.fill.toObject();\n\t\tthis.stroke = shape.stroke.toObject();\n\t\tthis.text = shape.text.toObject();\n\t\tthis.cursor = shape.cursor;\n\t\tthis.reset = EShapeRuntimeReset.NONE;\n\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\tthis.effect = -1;\n\t\tthis.isStateChanged = false;\n\t\tthis.interactive = false;\n\t}\n\n\tinitialize(shape: EShape): void {\n\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].initialize(shape, this);\n\t\t}\n\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t}\n\n\tisActionable(): boolean {\n\t\treturn 0 < this.actions.length;\n\t}\n\n\tonResize(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onResize(shape, this);\n\t\t}\n\t}\n\n\tonClick(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onClick(shape, this, e);\n\t\t}\n\t}\n\n\tonDblClick(\n\t\tshape: EShape,\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isDblClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDblClick(shape, this, e, interactionManager);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tisDraggable(shape: EShape, e: InteractionEvent): boolean {\n\t\tconst state = shape.state;\n\t\tconst dragState = EShapeRuntimeDragStates.get();\n\t\tconst wasDragged = state.is(dragState);\n\t\ttry {\n\t\t\t// State\n\t\t\tif (state.isActionable) {\n\t\t\t\tstate.add(dragState);\n\t\t\t}\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tif (actions[i].isDraggable(shape, this, e)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Done\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tstate.set(dragState, wasDragged);\n\t\t}\n\t}\n\n\tonDragStart(shape: EShape, e: DragEvent, interactionManager: InteractionManager): boolean {\n\t\tlet result = false;\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tif (actions[i].onDragStart(shape, this, e, interactionManager)) {\n\t\t\t\tresult = true;\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tonOver(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isHovered) {\n\t\t\t// State\n\t\t\tstate.isHovered = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOver(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonOut(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isHovered) {\n\t\t\t// State\n\t\t\tshape.state.isHovered = false;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOut(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDown(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isDown) {\n\t\t\tif (!state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.DOWN, DBaseState.PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onDown(shape, this, e);\n\t\t\t\t\taction.onPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isDown = true;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUp(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isUp) {\n\t\t\tif (state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.UP, DBaseState.PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onUp(shape, this, e);\n\t\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUpOutside(shape: EShape, e: InteractionEvent | DragEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.UP_OUTSIDE, DBaseState.PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onUpOutside(shape, this, e);\n\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonMove(shape: EShape, e: InteractionEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onMove(shape, this, e);\n\t\t}\n\t}\n\n\tonKeyDown(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onDown(shape, e);\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onKeyDown(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonKeyUp(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tconst state = shape.state;\n\t\t\tif (state.isPressed) {\n\t\t\t\tconst wasUp = state.isUp;\n\t\t\t\tthis.onUp(shape, e);\n\t\t\t\tif (!wasUp && state.isUp) {\n\t\t\t\t\tthis.onClick(shape, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onKeyUp(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonStateChange(shape: EShape, newState: DBaseStateSet, oldState: DBaseStateSet): void {\n\t\tthis.isStateChanged = true;\n\t\tDApplications.update(shape);\n\n\t\tif (newState.isFocused) {\n\t\t\tif (!oldState.isFocused) {\n\t\t\t\tthis.onFocus(shape);\n\t\t\t}\n\t\t} else if (oldState.isFocused) {\n\t\t\tthis.onBlur(shape);\n\t\t}\n\t}\n\n\tonFocus(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onFocus(shape, this);\n\t\t}\n\t}\n\n\tonBlur(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onBlur(shape, this);\n\t\t}\n\t}\n\n\tonRightClick(shape: EShape, e: InteractionEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isRightClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRightClick(shape, this, e);\n\t\t}\n\t}\n\n\tonRightDown(shape: EShape, e: InteractionEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRightDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isRightDown) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.RIGHT_DOWN, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightDown(shape, this, e);\n\t\t\t\t\taction.onRightPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightDown = false;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUp(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isRightUp) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.RIGHT_UP, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightUp(shape, this, e);\n\t\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isRightPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.RIGHT_UP_OUTSIDE, EShapeState.RIGHT_PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onRightUpOutside(shape, this, e);\n\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isRightUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onRightUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate(shape: EShape, time: number): void {\n\t\tconst data = shape.data;\n\t\tconst effect = this.effect;\n\t\tconst isEffectTimeUp = 0 <= effect && effect <= time;\n\t\tif (data.isChanged || this.isStateChanged || isEffectTimeUp) {\n\t\t\tthis.isStateChanged = false;\n\t\t\tdata.isChanged = false;\n\t\t\tif (isEffectTimeUp) {\n\t\t\t\tthis.effect = -1;\n\t\t\t}\n\t\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\t\tthis.onUpdate(shape, time);\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t\tconst wasStateChanged = this.isStateChanged;\n\t\t\tshape.state.removeAll(EShapeRuntimeImpl.TRANSIENT_STATES);\n\t\t\tthis.isStateChanged = wasStateChanged;\n\t\t}\n\t}\n\n\tonRender(shape: EShape, time: number, renderer: Renderer): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRender(shape, this, time, renderer);\n\t\t}\n\t\tthis.update(shape, time);\n\t}\n\n\tprotected onUpdate(shape: EShape, time: number): void {\n\t\tconst actions = this.actions;\n\t\tif (0 < actions.length) {\n\t\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].execute(shape, this, time);\n\t\t\t}\n\t\t\tthis.doReset(shape);\n\t\t}\n\t}\n\n\tprotected doReset(shape: EShape): void {\n\t\tconst target = ~this.written & this.reset;\n\t\tif (target !== EShapeRuntimeReset.NONE) {\n\t\t\tif (target & EShapeRuntimeReset.POSITION_X) {\n\t\t\t\tshape.transform.position.x = this.x;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.POSITION_Y) {\n\t\t\t\tshape.transform.position.y = this.y;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.VISIBILITY) {\n\t\t\t\tshape.visible = true;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_FILL) {\n\t\t\t\tconst fill = this.fill;\n\t\t\t\tshape.fill.set(undefined, fill.color, fill.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_STROKE) {\n\t\t\t\tconst stroke = this.stroke;\n\t\t\t\tshape.stroke.set(undefined, stroke.color, stroke.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.FILL_PERCENT) {\n\t\t\t\tconst fill = this.fill;\n\t\t\t\tshape.fill.set(undefined, undefined, undefined, undefined, fill.percent);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT) {\n\t\t\t\tconst text = this.text;\n\t\t\t\tshape.text.set(undefined, text.color, text.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT_OUTLINE) {\n\t\t\t\tconst outline = this.text.outline;\n\t\t\t\tshape.text.outline.set(undefined, outline.color, outline.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.HEIGHT) {\n\t\t\t\tshape.size.y = this.sizeY;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.WIDTH) {\n\t\t\t\tshape.size.x = this.sizeX;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.ROTATION) {\n\t\t\t\tshape.transform.rotation = this.rotation;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.TEXT) {\n\t\t\t\tshape.text.value = this.text.value;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.CURSOR) {\n\t\t\t\tshape.cursor = this.cursor;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -94,6 +94,7 @@ export * from "./e-shape-renderer";
94
94
  export * from "./e-shape-resource-manager-deserialization-mode";
95
95
  export * from "./e-shape-resource-manager-deserialization";
96
96
  export * from "./e-shape-resource-manager-serialization";
97
+ export * from "./e-shape-runtime-drag-state";
97
98
  export * from "./e-shape-runtime-impl";
98
99
  export * from "./e-shape-runtime-reset";
99
100
  export * from "./e-shape-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport * from \"./action\";\nexport * from \"./load\";\nexport * from \"./variant\";\nexport * from \"./e-shape-acceptor-edge-normal\";\nexport * from \"./e-shape-acceptor-edge-side\";\nexport * from \"./e-shape-acceptor-edge-size\";\nexport * from \"./e-shape-acceptor-edge-type\";\nexport * from \"./e-shape-acceptor-edge\";\nexport * from \"./e-shape-acceptor-impl\";\nexport * from \"./e-shape-acceptor-type\";\nexport * from \"./e-shape-acceptor\";\nexport * from \"./e-shape-acceptors\";\nexport * from \"./e-shape-boundary\";\nexport * from \"./e-shape-buffer-unit-builder\";\nexport * from \"./e-shape-buffer-unit\";\nexport * from \"./e-shape-buffer\";\nexport * from \"./e-shape-capabilities\";\nexport * from \"./e-shape-capability-container-impl\";\nexport * from \"./e-shape-capability-container\";\nexport * from \"./e-shape-capability\";\nexport * from \"./e-shape-connector-bodies\";\nexport * from \"./e-shape-connector-body-impl\";\nexport * from \"./e-shape-connector-body\";\nexport * from \"./e-shape-connector-container-impl\";\nexport * from \"./e-shape-connector-container\";\nexport * from \"./e-shape-connector-edge-acceptor-impl\";\nexport * from \"./e-shape-connector-edge-acceptor\";\nexport * from \"./e-shape-connector-edge-container-impl\";\nexport * from \"./e-shape-connector-edge-container\";\nexport * from \"./e-shape-connector-edge-impl\";\nexport * from \"./e-shape-connector-edge\";\nexport * from \"./e-shape-connector\";\nexport * from \"./e-shape-connectors\";\nexport * from \"./e-shape-container\";\nexport * from \"./e-shape-copy-part\";\nexport * from \"./e-shape-corner\";\nexport * from \"./e-shape-data-impl\";\nexport * from \"./e-shape-data-mapper-impl\";\nexport * from \"./e-shape-data-mapper\";\nexport * from \"./e-shape-data-mapping-impl\";\nexport * from \"./e-shape-data-mapping\";\nexport * from \"./e-shape-data-scoped-impl\";\nexport * from \"./e-shape-data-scoped\";\nexport * from \"./e-shape-data-system-impl\";\nexport * from \"./e-shape-data-system\";\nexport * from \"./e-shape-data-value-extension\";\nexport * from \"./e-shape-data-value-extensions\";\nexport * from \"./e-shape-data-value-formatter\";\nexport * from \"./e-shape-data-value-impl\";\nexport * from \"./e-shape-data-value-order\";\nexport * from \"./e-shape-data-value-range-impl\";\nexport * from \"./e-shape-data-value-range\";\nexport * from \"./e-shape-data-value-scope\";\nexport * from \"./e-shape-data-value-state\";\nexport * from \"./e-shape-data-value-type\";\nexport * from \"./e-shape-data-value\";\nexport * from \"./e-shape-data\";\nexport * from \"./e-shape-defaults\";\nexport * from \"./e-shape-deserializers\";\nexport * from \"./e-shape-editor\";\nexport * from \"./e-shape-fill-direction\";\nexport * from \"./e-shape-fill\";\nexport * from \"./e-shape-gradient\";\nexport * from \"./e-shape-image-like\";\nexport * from \"./e-shape-layer-container\";\nexport * from \"./e-shape-layer-state\";\nexport * from \"./e-shape-layer\";\nexport * from \"./e-shape-layout\";\nexport * from \"./e-shape-points-formatted\";\nexport * from \"./e-shape-points-formatter-curve-bezier-quadratic\";\nexport * from \"./e-shape-points-formatter-curve\";\nexport * from \"./e-shape-points-formatter\";\nexport * from \"./e-shape-points-formatter-datum\";\nexport * from \"./e-shape-points-formatters\";\nexport * from \"./e-shape-points-marker-base\";\nexport * from \"./e-shape-points-marker-container-impl-noop\";\nexport * from \"./e-shape-points-marker-container-impl\";\nexport * from \"./e-shape-points-marker-container\";\nexport * from \"./e-shape-points-marker-head\";\nexport * from \"./e-shape-points-marker-noop\";\nexport * from \"./e-shape-points-marker-tail\";\nexport * from \"./e-shape-points-marker-type\";\nexport * from \"./e-shape-points-marker\";\nexport * from \"./e-shape-points-style\";\nexport * from \"./e-shape-points-styles\";\nexport * from \"./e-shape-points\";\nexport * from \"./e-shape-renderer-iterator-datum\";\nexport * from \"./e-shape-renderer-iterator\";\nexport * from \"./e-shape-renderer\";\nexport * from \"./e-shape-resource-manager-deserialization-mode\";\nexport * from \"./e-shape-resource-manager-deserialization\";\nexport * from \"./e-shape-resource-manager-serialization\";\nexport * from \"./e-shape-runtime-impl\";\nexport * from \"./e-shape-runtime-reset\";\nexport * from \"./e-shape-runtime\";\nexport * from \"./e-shape-runtimes\";\nexport * from \"./e-shape-state-set-impl-observable\";\nexport * from \"./e-shape-state-set\";\nexport * from \"./e-shape-state\";\nexport * from \"./e-shape-stroke-side\";\nexport * from \"./e-shape-stroke-style\";\nexport * from \"./e-shape-stroke\";\nexport * from \"./e-shape-text-align-horizontal\";\nexport * from \"./e-shape-text-align-vertical\";\nexport * from \"./e-shape-text-align\";\nexport * from \"./e-shape-text-direction\";\nexport * from \"./e-shape-text-offset\";\nexport * from \"./e-shape-text-outline\";\nexport * from \"./e-shape-text\";\nexport * from \"./e-shape-transform-parent\";\nexport * from \"./e-shape-transform\";\nexport * from \"./e-shape-type\";\nexport * from \"./e-shape-uploaded-constructor\";\nexport * from \"./e-shape-uploaded\";\nexport * from \"./e-shape-uploadeds\";\nexport * from \"./e-shape-uuid-mapping-impl\";\nexport * from \"./e-shape-uuid-mapping\";\nexport * from \"./e-shape\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mDAAmD,CAAC;AAClE,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iDAAiD,CAAC;AAChE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport * from \"./action\";\nexport * from \"./load\";\nexport * from \"./variant\";\nexport * from \"./e-shape-acceptor-edge-normal\";\nexport * from \"./e-shape-acceptor-edge-side\";\nexport * from \"./e-shape-acceptor-edge-size\";\nexport * from \"./e-shape-acceptor-edge-type\";\nexport * from \"./e-shape-acceptor-edge\";\nexport * from \"./e-shape-acceptor-impl\";\nexport * from \"./e-shape-acceptor-type\";\nexport * from \"./e-shape-acceptor\";\nexport * from \"./e-shape-acceptors\";\nexport * from \"./e-shape-boundary\";\nexport * from \"./e-shape-buffer-unit-builder\";\nexport * from \"./e-shape-buffer-unit\";\nexport * from \"./e-shape-buffer\";\nexport * from \"./e-shape-capabilities\";\nexport * from \"./e-shape-capability-container-impl\";\nexport * from \"./e-shape-capability-container\";\nexport * from \"./e-shape-capability\";\nexport * from \"./e-shape-connector-bodies\";\nexport * from \"./e-shape-connector-body-impl\";\nexport * from \"./e-shape-connector-body\";\nexport * from \"./e-shape-connector-container-impl\";\nexport * from \"./e-shape-connector-container\";\nexport * from \"./e-shape-connector-edge-acceptor-impl\";\nexport * from \"./e-shape-connector-edge-acceptor\";\nexport * from \"./e-shape-connector-edge-container-impl\";\nexport * from \"./e-shape-connector-edge-container\";\nexport * from \"./e-shape-connector-edge-impl\";\nexport * from \"./e-shape-connector-edge\";\nexport * from \"./e-shape-connector\";\nexport * from \"./e-shape-connectors\";\nexport * from \"./e-shape-container\";\nexport * from \"./e-shape-copy-part\";\nexport * from \"./e-shape-corner\";\nexport * from \"./e-shape-data-impl\";\nexport * from \"./e-shape-data-mapper-impl\";\nexport * from \"./e-shape-data-mapper\";\nexport * from \"./e-shape-data-mapping-impl\";\nexport * from \"./e-shape-data-mapping\";\nexport * from \"./e-shape-data-scoped-impl\";\nexport * from \"./e-shape-data-scoped\";\nexport * from \"./e-shape-data-system-impl\";\nexport * from \"./e-shape-data-system\";\nexport * from \"./e-shape-data-value-extension\";\nexport * from \"./e-shape-data-value-extensions\";\nexport * from \"./e-shape-data-value-formatter\";\nexport * from \"./e-shape-data-value-impl\";\nexport * from \"./e-shape-data-value-order\";\nexport * from \"./e-shape-data-value-range-impl\";\nexport * from \"./e-shape-data-value-range\";\nexport * from \"./e-shape-data-value-scope\";\nexport * from \"./e-shape-data-value-state\";\nexport * from \"./e-shape-data-value-type\";\nexport * from \"./e-shape-data-value\";\nexport * from \"./e-shape-data\";\nexport * from \"./e-shape-defaults\";\nexport * from \"./e-shape-deserializers\";\nexport * from \"./e-shape-editor\";\nexport * from \"./e-shape-fill-direction\";\nexport * from \"./e-shape-fill\";\nexport * from \"./e-shape-gradient\";\nexport * from \"./e-shape-image-like\";\nexport * from \"./e-shape-layer-container\";\nexport * from \"./e-shape-layer-state\";\nexport * from \"./e-shape-layer\";\nexport * from \"./e-shape-layout\";\nexport * from \"./e-shape-points-formatted\";\nexport * from \"./e-shape-points-formatter-curve-bezier-quadratic\";\nexport * from \"./e-shape-points-formatter-curve\";\nexport * from \"./e-shape-points-formatter\";\nexport * from \"./e-shape-points-formatter-datum\";\nexport * from \"./e-shape-points-formatters\";\nexport * from \"./e-shape-points-marker-base\";\nexport * from \"./e-shape-points-marker-container-impl-noop\";\nexport * from \"./e-shape-points-marker-container-impl\";\nexport * from \"./e-shape-points-marker-container\";\nexport * from \"./e-shape-points-marker-head\";\nexport * from \"./e-shape-points-marker-noop\";\nexport * from \"./e-shape-points-marker-tail\";\nexport * from \"./e-shape-points-marker-type\";\nexport * from \"./e-shape-points-marker\";\nexport * from \"./e-shape-points-style\";\nexport * from \"./e-shape-points-styles\";\nexport * from \"./e-shape-points\";\nexport * from \"./e-shape-renderer-iterator-datum\";\nexport * from \"./e-shape-renderer-iterator\";\nexport * from \"./e-shape-renderer\";\nexport * from \"./e-shape-resource-manager-deserialization-mode\";\nexport * from \"./e-shape-resource-manager-deserialization\";\nexport * from \"./e-shape-resource-manager-serialization\";\nexport * from \"./e-shape-runtime-drag-state\";\nexport * from \"./e-shape-runtime-impl\";\nexport * from \"./e-shape-runtime-reset\";\nexport * from \"./e-shape-runtime\";\nexport * from \"./e-shape-runtimes\";\nexport * from \"./e-shape-state-set-impl-observable\";\nexport * from \"./e-shape-state-set\";\nexport * from \"./e-shape-state\";\nexport * from \"./e-shape-stroke-side\";\nexport * from \"./e-shape-stroke-style\";\nexport * from \"./e-shape-stroke\";\nexport * from \"./e-shape-text-align-horizontal\";\nexport * from \"./e-shape-text-align-vertical\";\nexport * from \"./e-shape-text-align\";\nexport * from \"./e-shape-text-direction\";\nexport * from \"./e-shape-text-offset\";\nexport * from \"./e-shape-text-outline\";\nexport * from \"./e-shape-text\";\nexport * from \"./e-shape-transform-parent\";\nexport * from \"./e-shape-transform\";\nexport * from \"./e-shape-type\";\nexport * from \"./e-shape-uploaded-constructor\";\nexport * from \"./e-shape-uploaded\";\nexport * from \"./e-shape-uploadeds\";\nexport * from \"./e-shape-uuid-mapping-impl\";\nexport * from \"./e-shape-uuid-mapping\";\nexport * from \"./e-shape\";\n"]}