@wcardinal/wcardinal-ui 0.321.0 → 0.322.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 (39) hide show
  1. package/dist/types/wcardinal/ui/shape/e-shape-acceptor-edge-normal.d.ts +4 -0
  2. package/dist/types/wcardinal/ui/shape/e-shape-acceptor-edge-side.d.ts +9 -0
  3. package/dist/types/wcardinal/ui/shape/e-shape-acceptor-edge-size.d.ts +4 -0
  4. package/dist/types/wcardinal/ui/shape/e-shape-acceptor-edge.d.ts +12 -0
  5. package/dist/types/wcardinal/ui/shape/e-shape-acceptor-impl.d.ts +5 -1
  6. package/dist/types/wcardinal/ui/shape/e-shape-acceptor.d.ts +1 -16
  7. package/dist/types/wcardinal/ui/shape/e-shape-connector-edge-impl.d.ts +5 -1
  8. package/dist/types/wcardinal/ui/shape/e-shape-connector-edge.d.ts +5 -2
  9. package/dist/types/wcardinal/ui/shape/index.d.ts +4 -0
  10. package/dist/types/wcardinal/ui/shape/variant/e-shape-connector-elbow-points-filler.d.ts +7 -5
  11. package/dist/wcardinal/ui/shape/e-shape-acceptor-edge-normal.js +6 -0
  12. package/dist/wcardinal/ui/shape/e-shape-acceptor-edge-normal.js.map +1 -0
  13. package/dist/wcardinal/ui/shape/e-shape-acceptor-edge-side.js +13 -0
  14. package/dist/wcardinal/ui/shape/e-shape-acceptor-edge-side.js.map +1 -0
  15. package/dist/wcardinal/ui/shape/e-shape-acceptor-edge-size.js +6 -0
  16. package/dist/wcardinal/ui/shape/e-shape-acceptor-edge-size.js.map +1 -0
  17. package/dist/wcardinal/ui/shape/e-shape-acceptor-edge.js +6 -0
  18. package/dist/wcardinal/ui/shape/e-shape-acceptor-edge.js.map +1 -0
  19. package/dist/wcardinal/ui/shape/e-shape-acceptor-impl.js +4 -2
  20. package/dist/wcardinal/ui/shape/e-shape-acceptor-impl.js.map +1 -1
  21. package/dist/wcardinal/ui/shape/e-shape-acceptor.js.map +1 -1
  22. package/dist/wcardinal/ui/shape/e-shape-connector-edge-impl.js +24 -3
  23. package/dist/wcardinal/ui/shape/e-shape-connector-edge-impl.js.map +1 -1
  24. package/dist/wcardinal/ui/shape/e-shape-connector-edge.js.map +1 -1
  25. package/dist/wcardinal/ui/shape/index.js +4 -0
  26. package/dist/wcardinal/ui/shape/index.js.map +1 -1
  27. package/dist/wcardinal/ui/shape/variant/e-shape-connector-elbow-points-filler.js +68 -76
  28. package/dist/wcardinal/ui/shape/variant/e-shape-connector-elbow-points-filler.js.map +1 -1
  29. package/dist/wcardinal/ui/shape/variant/e-shape-connector-elbow.js +6 -4
  30. package/dist/wcardinal/ui/shape/variant/e-shape-connector-elbow.js.map +1 -1
  31. package/dist/wcardinal-ui-theme-dark.js +1 -1
  32. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  33. package/dist/wcardinal-ui-theme-white.js +1 -1
  34. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  35. package/dist/wcardinal-ui.cjs.js +118 -90
  36. package/dist/wcardinal-ui.js +118 -90
  37. package/dist/wcardinal-ui.min.js +2 -2
  38. package/dist/wcardinal-ui.min.js.map +1 -1
  39. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  * Copyright (C) 2019 Toshiba Corporation
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
+ import { EShapeAcceptorEdgeSide } from "../e-shape-acceptor-edge-side";
5
6
  var EShapeConnectorElbowPointsFiller = /** @class */ (function () {
6
7
  function EShapeConnectorElbowPointsFiller(x, y, values) {
7
8
  this._threshold = 0.000001;
@@ -61,103 +62,94 @@ var EShapeConnectorElbowPointsFiller = /** @class */ (function () {
61
62
  enumerable: false,
62
63
  configurable: true
63
64
  });
64
- EShapeConnectorElbowPointsFiller.prototype.toAxis = function (dx, dy, nx, ny) {
65
+ EShapeConnectorElbowPointsFiller.prototype.toSide = function (x, y) {
66
+ // y = +x => 0 = x - y
67
+ // y = -x => 0 = x + y
68
+ if (0 <= x - y) {
69
+ if (0 <= x + y) {
70
+ return EShapeAcceptorEdgeSide.RIGHT;
71
+ }
72
+ else {
73
+ return EShapeAcceptorEdgeSide.BOTTOM;
74
+ }
75
+ }
76
+ else {
77
+ if (0 <= x + y) {
78
+ return EShapeAcceptorEdgeSide.TOP;
79
+ }
80
+ else {
81
+ return EShapeAcceptorEdgeSide.LEFT;
82
+ }
83
+ }
84
+ };
85
+ EShapeConnectorElbowPointsFiller.prototype.toAxis = function (dx, dy, nx, ny, side) {
86
+ // When (nx, ny) === (0, 0), treat as if side === EShapeAcceptorEdgeSide.ALL.
65
87
  var anx = Math.abs(nx);
66
88
  var any = Math.abs(ny);
67
89
  var threshold = this._threshold;
68
90
  if (anx < threshold && any < threshold) {
69
91
  if (Math.abs(dx) < Math.abs(dy)) {
70
92
  if (0 <= dy) {
71
- return 2;
93
+ return 2; // Bottom
72
94
  }
73
95
  else {
74
- return 0;
96
+ return 0; // Top
75
97
  }
76
98
  }
77
99
  else {
78
100
  if (0 <= dx) {
79
- return 1;
101
+ return 1; // Right
80
102
  }
81
103
  else {
82
- return 3;
104
+ return 3; // Left
83
105
  }
84
106
  }
85
107
  }
86
- var s = 0.2;
87
- if (0 <= nx) {
88
- if (0 <= ny) {
89
- if (s < anx && s < any) {
90
- if (dx < dy) {
91
- return 2;
92
- }
93
- else {
94
- return 1;
95
- }
96
- }
97
- else if (s < anx) {
98
- return 1;
99
- }
100
- else {
101
- return 2;
102
- }
108
+ var d = null;
109
+ var result = 0;
110
+ // 0 := (0, -1)
111
+ // | ny, nx | 0 |
112
+ // | nx, -ny | -1 |
113
+ if (side & this.toSide(-nx, ny)) {
114
+ if (d == null || d < -dy) {
115
+ d = -dy;
116
+ result = 0;
103
117
  }
104
- else {
105
- if (s < anx && s < any) {
106
- if (dx < -dy) {
107
- return 0;
108
- }
109
- else {
110
- return 1;
111
- }
112
- }
113
- else if (s < anx) {
114
- return 1;
115
- }
116
- else {
117
- return 0;
118
- }
118
+ }
119
+ // 1 := (1, 0)
120
+ // | ny, nx | 1 |
121
+ // | nx, -ny | 0 |
122
+ if (side & this.toSide(ny, nx)) {
123
+ if (d == null || d < dx) {
124
+ d = dx;
125
+ result = 1;
119
126
  }
120
127
  }
121
- else {
122
- if (0 <= ny) {
123
- if (s < anx && s < any) {
124
- if (-dx < dy) {
125
- return 2;
126
- }
127
- else {
128
- return 3;
129
- }
130
- }
131
- else if (s < anx) {
132
- return 3;
133
- }
134
- else {
135
- return 2;
136
- }
128
+ // 2 := (0, 1)
129
+ // | ny, nx | 0 |
130
+ // | nx, -ny | 1 |
131
+ if (side & this.toSide(nx, -ny)) {
132
+ if (d == null || d < dy) {
133
+ d = dy;
134
+ result = 2;
137
135
  }
138
- else {
139
- if (s < anx && s < any) {
140
- if (dy < dx) {
141
- return 0;
142
- }
143
- else {
144
- return 3;
145
- }
146
- }
147
- else if (s < anx) {
148
- return 3;
149
- }
150
- else {
151
- return 0;
152
- }
136
+ }
137
+ // 3 := (-1, 0)
138
+ // | ny, nx | -1 |
139
+ // | nx, -ny | 0 |
140
+ if (side & this.toSide(-ny, -nx)) {
141
+ if (d == null || d < -dx) {
142
+ d = -dx;
143
+ result = 3;
153
144
  }
154
145
  }
146
+ return result;
155
147
  };
156
- EShapeConnectorElbowPointsFiller.prototype.toTailAxis = function (x, y, nx, ny) {
157
- return this.toAxis(x - this.x, y - this.y, nx, ny);
148
+ EShapeConnectorElbowPointsFiller.prototype.toTailAxis = function (x, y, nx, ny, side) {
149
+ return this.toAxis(x - this.x, y - this.y, nx, ny, side);
158
150
  };
159
- EShapeConnectorElbowPointsFiller.prototype.tail = function (x, y, nx, ny, sxh, syh, margin) {
160
- switch (this.toTailAxis(x, y, nx, ny)) {
151
+ EShapeConnectorElbowPointsFiller.prototype.tail = function (x, y, nx, ny, sxh, syh, margin, side) {
152
+ switch (this.toTailAxis(x, y, nx, ny, side)) {
161
153
  case 0:
162
154
  if (this.y - margin <= y) {
163
155
  this.y -= Math.max(margin, syh);
@@ -206,11 +198,11 @@ var EShapeConnectorElbowPointsFiller = /** @class */ (function () {
206
198
  this.x = x;
207
199
  }
208
200
  };
209
- EShapeConnectorElbowPointsFiller.prototype.toHeadAxis = function (x, y, nx, ny) {
210
- return this.toAxis(this.x - x, this.y - y, nx, ny);
201
+ EShapeConnectorElbowPointsFiller.prototype.toHeadAxis = function (x, y, nx, ny, side) {
202
+ return this.toAxis(this.x - x, this.y - y, nx, ny, side);
211
203
  };
212
- EShapeConnectorElbowPointsFiller.prototype.head = function (x, y, nx, ny, sxh, syh, margin) {
213
- switch (this.toHeadAxis(x, y, nx, ny)) {
204
+ EShapeConnectorElbowPointsFiller.prototype.head = function (x, y, nx, ny, sxh, syh, margin, side) {
205
+ switch (this.toHeadAxis(x, y, nx, ny, side)) {
214
206
  case 0:
215
207
  if (y - margin <= this.y) {
216
208
  this.y = y - Math.max(margin, syh);
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-connector-elbow-points-filler.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-connector-elbow-points-filler.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport class EShapeConnectorElbowPointsFiller {\n\tprotected _x: number;\n\tprotected _y: number;\n\tprotected _z: number;\n\tprotected _values: number[];\n\tindex: number;\n\tprotected _threshold = 0.000001;\n\n\tconstructor(x: number, y: number, values: number[]) {\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = 0;\n\t\tthis._values = values;\n\t\tvalues[0] = x;\n\t\tvalues[1] = y;\n\t\tthis.index = 0;\n\t}\n\n\tget x(): number {\n\t\treturn this._x;\n\t}\n\n\tset x(x: number) {\n\t\tif (this._z === 0 || this._threshold < Math.abs(this._x - x)) {\n\t\t\tthis._x = x;\n\t\t\tconst index = this.index;\n\t\t\tconst values = this._values;\n\t\t\tif (this._z === 1) {\n\t\t\t\tvalues[index + 0] = this._x;\n\t\t\t\tvalues[index + 1] = this._y;\n\t\t\t} else {\n\t\t\t\tvalues[index + 2] = this._x;\n\t\t\t\tvalues[index + 3] = this._y;\n\t\t\t\tthis.index += 2;\n\t\t\t\tthis._z = 1;\n\t\t\t}\n\t\t}\n\t}\n\n\tget y(): number {\n\t\treturn this._y;\n\t}\n\n\tset y(y: number) {\n\t\tif (this._z === 0 || this._threshold < Math.abs(this._y - y)) {\n\t\t\tthis._y = y;\n\t\t\tconst index = this.index;\n\t\t\tconst values = this._values;\n\t\t\tif (this._z === 2) {\n\t\t\t\tvalues[index + 0] = this._x;\n\t\t\t\tvalues[index + 1] = this._y;\n\t\t\t} else {\n\t\t\t\tvalues[index + 2] = this._x;\n\t\t\t\tvalues[index + 3] = this._y;\n\t\t\t\tthis.index += 2;\n\t\t\t\tthis._z = 2;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toAxis(dx: number, dy: number, nx: number, ny: number): 0 | 1 | 2 | 3 {\n\t\tconst anx = Math.abs(nx);\n\t\tconst any = Math.abs(ny);\n\t\tconst threshold = this._threshold;\n\t\tif (anx < threshold && any < threshold) {\n\t\t\tif (Math.abs(dx) < Math.abs(dy)) {\n\t\t\t\tif (0 <= dy) {\n\t\t\t\t\treturn 2;\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (0 <= dx) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else {\n\t\t\t\t\treturn 3;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst s = 0.2;\n\t\tif (0 <= nx) {\n\t\t\tif (0 <= ny) {\n\t\t\t\tif (s < anx && s < any) {\n\t\t\t\t\tif (dx < dy) {\n\t\t\t\t\t\treturn 2;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t}\n\t\t\t\t} else if (s < anx) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else {\n\t\t\t\t\treturn 2;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (s < anx && s < any) {\n\t\t\t\t\tif (dx < -dy) {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t}\n\t\t\t\t} else if (s < anx) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (0 <= ny) {\n\t\t\t\tif (s < anx && s < any) {\n\t\t\t\t\tif (-dx < dy) {\n\t\t\t\t\t\treturn 2;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 3;\n\t\t\t\t\t}\n\t\t\t\t} else if (s < anx) {\n\t\t\t\t\treturn 3;\n\t\t\t\t} else {\n\t\t\t\t\treturn 2;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (s < anx && s < any) {\n\t\t\t\t\tif (dy < dx) {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 3;\n\t\t\t\t\t}\n\t\t\t\t} else if (s < anx) {\n\t\t\t\t\treturn 3;\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toTailAxis(x: number, y: number, nx: number, ny: number): 0 | 1 | 2 | 3 {\n\t\treturn this.toAxis(x - this.x, y - this.y, nx, ny);\n\t}\n\n\ttail(\n\t\tx: number,\n\t\ty: number,\n\t\tnx: number,\n\t\tny: number,\n\t\tsxh: number,\n\t\tsyh: number,\n\t\tmargin: number\n\t): void {\n\t\tswitch (this.toTailAxis(x, y, nx, ny)) {\n\t\t\tcase 0:\n\t\t\t\tif (this.y - margin <= y) {\n\t\t\t\t\tthis.y -= Math.max(margin, syh);\n\t\t\t\t\tthis.x = x;\n\t\t\t\t} else {\n\t\t\t\t\tthis.y = y;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tif (x <= this.x + margin) {\n\t\t\t\t\tthis.x += Math.max(margin, sxh);\n\t\t\t\t\tthis.y = y;\n\t\t\t\t} else {\n\t\t\t\t\tthis.x = x;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tif (y <= this.y + margin) {\n\t\t\t\t\tthis.y += Math.max(margin, sxh);\n\t\t\t\t\tthis.x = x;\n\t\t\t\t} else {\n\t\t\t\t\tthis.y = y;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tif (this.x - margin <= x) {\n\t\t\t\t\tthis.x -= Math.max(margin, sxh);\n\t\t\t\t\tthis.y = y;\n\t\t\t\t} else {\n\t\t\t\t\tthis.x = x;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tmiddle(x: number, y: number): void {\n\t\tconst dx = x - this._x;\n\t\tconst dy = y - this._y;\n\t\tif (Math.abs(dx) < Math.abs(dy)) {\n\t\t\tthis.y = y;\n\t\t} else {\n\t\t\tthis.x = x;\n\t\t}\n\t}\n\n\tprotected toHeadAxis(x: number, y: number, nx: number, ny: number): 0 | 1 | 2 | 3 {\n\t\treturn this.toAxis(this.x - x, this.y - y, nx, ny);\n\t}\n\n\thead(\n\t\tx: number,\n\t\ty: number,\n\t\tnx: number,\n\t\tny: number,\n\t\tsxh: number,\n\t\tsyh: number,\n\t\tmargin: number\n\t): void {\n\t\tswitch (this.toHeadAxis(x, y, nx, ny)) {\n\t\t\tcase 0:\n\t\t\t\tif (y - margin <= this.y) {\n\t\t\t\t\tthis.y = y - Math.max(margin, syh);\n\t\t\t\t}\n\t\t\t\tthis.x = x;\n\t\t\t\tthis.y = y;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tif (this.x <= x + margin) {\n\t\t\t\t\tthis.x = x + Math.max(margin, sxh);\n\t\t\t\t}\n\t\t\t\tthis.y = y;\n\t\t\t\tthis.x = x;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tif (this.y <= y + margin) {\n\t\t\t\t\tthis.y = y + Math.max(margin, syh);\n\t\t\t\t}\n\t\t\t\tthis.x = x;\n\t\t\t\tthis.y = y;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tif (x - margin <= this.x) {\n\t\t\t\t\tthis.x = x - Math.max(margin, sxh);\n\t\t\t\t}\n\t\t\t\tthis.y = y;\n\t\t\t\tthis.x = x;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tmargin(tail: number, head: number): void {\n\t\tconst values = this._values;\n\n\t\t// Tail\n\t\tlet index = this.index;\n\t\tif (tail !== 0 && 2 <= index) {\n\t\t\tconst x0 = values[0];\n\t\t\tconst y0 = values[1];\n\t\t\tconst dx = values[2] - x0;\n\t\t\tconst dy = values[3] - y0;\n\t\t\tconst d = dx * dx + dy * dy;\n\t\t\tconst threshold = this._threshold;\n\t\t\tif (threshold < d) {\n\t\t\t\tconst f = tail / Math.sqrt(dx * dx + dy * dy);\n\t\t\t\tif (threshold < Math.abs(f - 1)) {\n\t\t\t\t\tvalues[0] = x0 + dx * f;\n\t\t\t\t\tvalues[1] = y0 + dy * f;\n\t\t\t\t} else {\n\t\t\t\t\tthis.index -= 2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Head\n\t\tindex = this.index;\n\t\tif (head !== 0 && 2 <= index) {\n\t\t\tconst x1 = values[index + 0];\n\t\t\tconst y1 = values[index + 1];\n\t\t\tconst dx = values[index - 2] - x1;\n\t\t\tconst dy = values[index - 1] - y1;\n\t\t\tconst d = dx * dx + dy * dy;\n\t\t\tconst threshold = this._threshold;\n\t\t\tif (threshold < d) {\n\t\t\t\tconst f = head / Math.sqrt(dx * dx + dy * dy);\n\t\t\t\tif (threshold < Math.abs(f - 1)) {\n\t\t\t\t\tvalues[index + 0] = x1 + dx * f;\n\t\t\t\t\tvalues[index + 1] = y1 + dy * f;\n\t\t\t\t} else {\n\t\t\t\t\tthis.index -= 2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remote the rest\n\t\tvalues.length = this.index + 2;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-connector-elbow-points-filler.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-connector-elbow-points-filler.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShapeAcceptorEdgeSide } from \"../e-shape-acceptor-edge-side\";\n\nexport class EShapeConnectorElbowPointsFiller {\n\tprotected _x: number;\n\tprotected _y: number;\n\tprotected _z: number;\n\tprotected _values: number[];\n\tindex: number;\n\tprotected _threshold = 0.000001;\n\n\tconstructor(x: number, y: number, values: number[]) {\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = 0;\n\t\tthis._values = values;\n\t\tvalues[0] = x;\n\t\tvalues[1] = y;\n\t\tthis.index = 0;\n\t}\n\n\tget x(): number {\n\t\treturn this._x;\n\t}\n\n\tset x(x: number) {\n\t\tif (this._z === 0 || this._threshold < Math.abs(this._x - x)) {\n\t\t\tthis._x = x;\n\t\t\tconst index = this.index;\n\t\t\tconst values = this._values;\n\t\t\tif (this._z === 1) {\n\t\t\t\tvalues[index + 0] = this._x;\n\t\t\t\tvalues[index + 1] = this._y;\n\t\t\t} else {\n\t\t\t\tvalues[index + 2] = this._x;\n\t\t\t\tvalues[index + 3] = this._y;\n\t\t\t\tthis.index += 2;\n\t\t\t\tthis._z = 1;\n\t\t\t}\n\t\t}\n\t}\n\n\tget y(): number {\n\t\treturn this._y;\n\t}\n\n\tset y(y: number) {\n\t\tif (this._z === 0 || this._threshold < Math.abs(this._y - y)) {\n\t\t\tthis._y = y;\n\t\t\tconst index = this.index;\n\t\t\tconst values = this._values;\n\t\t\tif (this._z === 2) {\n\t\t\t\tvalues[index + 0] = this._x;\n\t\t\t\tvalues[index + 1] = this._y;\n\t\t\t} else {\n\t\t\t\tvalues[index + 2] = this._x;\n\t\t\t\tvalues[index + 3] = this._y;\n\t\t\t\tthis.index += 2;\n\t\t\t\tthis._z = 2;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toSide(x: number, y: number): EShapeAcceptorEdgeSide {\n\t\t// y = +x => 0 = x - y\n\t\t// y = -x => 0 = x + y\n\t\tif (0 <= x - y) {\n\t\t\tif (0 <= x + y) {\n\t\t\t\treturn EShapeAcceptorEdgeSide.RIGHT;\n\t\t\t} else {\n\t\t\t\treturn EShapeAcceptorEdgeSide.BOTTOM;\n\t\t\t}\n\t\t} else {\n\t\t\tif (0 <= x + y) {\n\t\t\t\treturn EShapeAcceptorEdgeSide.TOP;\n\t\t\t} else {\n\t\t\t\treturn EShapeAcceptorEdgeSide.LEFT;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toAxis(\n\t\tdx: number,\n\t\tdy: number,\n\t\tnx: number,\n\t\tny: number,\n\t\tside: EShapeAcceptorEdgeSide\n\t): 0 | 1 | 2 | 3 {\n\t\t// When (nx, ny) === (0, 0), treat as if side === EShapeAcceptorEdgeSide.ALL.\n\t\tconst anx = Math.abs(nx);\n\t\tconst any = Math.abs(ny);\n\t\tconst threshold = this._threshold;\n\t\tif (anx < threshold && any < threshold) {\n\t\t\tif (Math.abs(dx) < Math.abs(dy)) {\n\t\t\t\tif (0 <= dy) {\n\t\t\t\t\treturn 2; // Bottom\n\t\t\t\t} else {\n\t\t\t\t\treturn 0; // Top\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (0 <= dx) {\n\t\t\t\t\treturn 1; // Right\n\t\t\t\t} else {\n\t\t\t\t\treturn 3; // Left\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet d: number | null = null;\n\t\tlet result: 0 | 1 | 2 | 3 = 0;\n\n\t\t// 0 := (0, -1)\n\t\t// | ny, nx | 0 |\n\t\t// | nx, -ny | -1 |\n\t\tif (side & this.toSide(-nx, ny)) {\n\t\t\tif (d == null || d < -dy) {\n\t\t\t\td = -dy;\n\t\t\t\tresult = 0;\n\t\t\t}\n\t\t}\n\n\t\t// 1 := (1, 0)\n\t\t// | ny, nx | 1 |\n\t\t// | nx, -ny | 0 |\n\t\tif (side & this.toSide(ny, nx)) {\n\t\t\tif (d == null || d < dx) {\n\t\t\t\td = dx;\n\t\t\t\tresult = 1;\n\t\t\t}\n\t\t}\n\n\t\t// 2 := (0, 1)\n\t\t// | ny, nx | 0 |\n\t\t// | nx, -ny | 1 |\n\t\tif (side & this.toSide(nx, -ny)) {\n\t\t\tif (d == null || d < dy) {\n\t\t\t\td = dy;\n\t\t\t\tresult = 2;\n\t\t\t}\n\t\t}\n\n\t\t// 3 := (-1, 0)\n\t\t// | ny, nx | -1 |\n\t\t// | nx, -ny | 0 |\n\t\tif (side & this.toSide(-ny, -nx)) {\n\t\t\tif (d == null || d < -dx) {\n\t\t\t\td = -dx;\n\t\t\t\tresult = 3;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprotected toTailAxis(\n\t\tx: number,\n\t\ty: number,\n\t\tnx: number,\n\t\tny: number,\n\t\tside: EShapeAcceptorEdgeSide\n\t): 0 | 1 | 2 | 3 {\n\t\treturn this.toAxis(x - this.x, y - this.y, nx, ny, side);\n\t}\n\n\ttail(\n\t\tx: number,\n\t\ty: number,\n\t\tnx: number,\n\t\tny: number,\n\t\tsxh: number,\n\t\tsyh: number,\n\t\tmargin: number,\n\t\tside: EShapeAcceptorEdgeSide\n\t): void {\n\t\tswitch (this.toTailAxis(x, y, nx, ny, side)) {\n\t\t\tcase 0:\n\t\t\t\tif (this.y - margin <= y) {\n\t\t\t\t\tthis.y -= Math.max(margin, syh);\n\t\t\t\t\tthis.x = x;\n\t\t\t\t} else {\n\t\t\t\t\tthis.y = y;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tif (x <= this.x + margin) {\n\t\t\t\t\tthis.x += Math.max(margin, sxh);\n\t\t\t\t\tthis.y = y;\n\t\t\t\t} else {\n\t\t\t\t\tthis.x = x;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tif (y <= this.y + margin) {\n\t\t\t\t\tthis.y += Math.max(margin, sxh);\n\t\t\t\t\tthis.x = x;\n\t\t\t\t} else {\n\t\t\t\t\tthis.y = y;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tif (this.x - margin <= x) {\n\t\t\t\t\tthis.x -= Math.max(margin, sxh);\n\t\t\t\t\tthis.y = y;\n\t\t\t\t} else {\n\t\t\t\t\tthis.x = x;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tmiddle(x: number, y: number): void {\n\t\tconst dx = x - this._x;\n\t\tconst dy = y - this._y;\n\t\tif (Math.abs(dx) < Math.abs(dy)) {\n\t\t\tthis.y = y;\n\t\t} else {\n\t\t\tthis.x = x;\n\t\t}\n\t}\n\n\tprotected toHeadAxis(\n\t\tx: number,\n\t\ty: number,\n\t\tnx: number,\n\t\tny: number,\n\t\tside: EShapeAcceptorEdgeSide\n\t): 0 | 1 | 2 | 3 {\n\t\treturn this.toAxis(this.x - x, this.y - y, nx, ny, side);\n\t}\n\n\thead(\n\t\tx: number,\n\t\ty: number,\n\t\tnx: number,\n\t\tny: number,\n\t\tsxh: number,\n\t\tsyh: number,\n\t\tmargin: number,\n\t\tside: EShapeAcceptorEdgeSide\n\t): void {\n\t\tswitch (this.toHeadAxis(x, y, nx, ny, side)) {\n\t\t\tcase 0:\n\t\t\t\tif (y - margin <= this.y) {\n\t\t\t\t\tthis.y = y - Math.max(margin, syh);\n\t\t\t\t}\n\t\t\t\tthis.x = x;\n\t\t\t\tthis.y = y;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tif (this.x <= x + margin) {\n\t\t\t\t\tthis.x = x + Math.max(margin, sxh);\n\t\t\t\t}\n\t\t\t\tthis.y = y;\n\t\t\t\tthis.x = x;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tif (this.y <= y + margin) {\n\t\t\t\t\tthis.y = y + Math.max(margin, syh);\n\t\t\t\t}\n\t\t\t\tthis.x = x;\n\t\t\t\tthis.y = y;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tif (x - margin <= this.x) {\n\t\t\t\t\tthis.x = x - Math.max(margin, sxh);\n\t\t\t\t}\n\t\t\t\tthis.y = y;\n\t\t\t\tthis.x = x;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tmargin(tail: number, head: number): void {\n\t\tconst values = this._values;\n\n\t\t// Tail\n\t\tlet index = this.index;\n\t\tif (tail !== 0 && 2 <= index) {\n\t\t\tconst x0 = values[0];\n\t\t\tconst y0 = values[1];\n\t\t\tconst dx = values[2] - x0;\n\t\t\tconst dy = values[3] - y0;\n\t\t\tconst d = dx * dx + dy * dy;\n\t\t\tconst threshold = this._threshold;\n\t\t\tif (threshold < d) {\n\t\t\t\tconst f = tail / Math.sqrt(dx * dx + dy * dy);\n\t\t\t\tif (threshold < Math.abs(f - 1)) {\n\t\t\t\t\tvalues[0] = x0 + dx * f;\n\t\t\t\t\tvalues[1] = y0 + dy * f;\n\t\t\t\t} else {\n\t\t\t\t\tthis.index -= 2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Head\n\t\tindex = this.index;\n\t\tif (head !== 0 && 2 <= index) {\n\t\t\tconst x1 = values[index + 0];\n\t\t\tconst y1 = values[index + 1];\n\t\t\tconst dx = values[index - 2] - x1;\n\t\t\tconst dy = values[index - 1] - y1;\n\t\t\tconst d = dx * dx + dy * dy;\n\t\t\tconst threshold = this._threshold;\n\t\t\tif (threshold < d) {\n\t\t\t\tconst f = head / Math.sqrt(dx * dx + dy * dy);\n\t\t\t\tif (threshold < Math.abs(f - 1)) {\n\t\t\t\t\tvalues[index + 0] = x1 + dx * f;\n\t\t\t\t\tvalues[index + 1] = y1 + dy * f;\n\t\t\t\t} else {\n\t\t\t\t\tthis.index -= 2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remote the rest\n\t\tvalues.length = this.index + 2;\n\t}\n}\n"]}
@@ -21,6 +21,7 @@ var EShapeConnectorElbow = /** @class */ (function (_super) {
21
21
  var tailNormal = tail.normal;
22
22
  var tailNormalX = tailNormal.x;
23
23
  var tailNormalY = tailNormal.y;
24
+ var tailSide = tail.side;
24
25
  // Head
25
26
  var headLocal = head.local;
26
27
  var headLocalX = headLocal.x;
@@ -28,6 +29,7 @@ var EShapeConnectorElbow = /** @class */ (function (_super) {
28
29
  var headNormal = head.normal;
29
30
  var headNormalX = headNormal.x;
30
31
  var headNormalY = headNormal.y;
32
+ var headSide = head.side;
31
33
  // Body
32
34
  var bodyValues = body.values;
33
35
  var bodyValuesLength = bodyValues.length;
@@ -61,7 +63,7 @@ var EShapeConnectorElbow = /** @class */ (function (_super) {
61
63
  var y3 = bodyValues[1];
62
64
  var x4 = cx + c * x3 - s * y3;
63
65
  var y4 = cy + c * y3 + s * x3;
64
- filler.tail(x4, y4, tailNormalX, tailNormalY, sxh, syh, tailMargin);
66
+ filler.tail(x4, y4, tailNormalX, tailNormalY, sxh, syh, tailMargin, tailSide);
65
67
  for (var i = 2; i < bodyValuesLength; i += 2) {
66
68
  var x = bodyValues[i + 0];
67
69
  var y = bodyValues[i + 1];
@@ -69,11 +71,11 @@ var EShapeConnectorElbow = /** @class */ (function (_super) {
69
71
  var y5 = cy + c * y + s * x;
70
72
  filler.middle(x5, y5);
71
73
  }
72
- filler.head(x1, y1, headNormalX, headNormalY, sxh, syh, headMargin);
74
+ filler.head(x1, y1, headNormalX, headNormalY, sxh, syh, headMargin, headSide);
73
75
  }
74
76
  else {
75
- filler.tail(cx, cy, tailNormalX, tailNormalY, sxh, syh, tailMargin);
76
- filler.head(x1, y1, headNormalX, headNormalY, sxh, syh, headMargin);
77
+ filler.tail(cx, cy, tailNormalX, tailNormalY, sxh, syh, tailMargin, tailSide);
78
+ filler.head(x1, y1, headNormalX, headNormalY, sxh, syh, headMargin, headSide);
77
79
  }
78
80
  filler.margin(tailMargin, headMargin);
79
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-connector-elbow.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-connector-elbow.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeConnectorBody } from \"../e-shape-connector-body\";\nimport { EShapeConnectorLine } from \"./e-shape-connector-line\";\nimport { EShapeConnectorEdge } from \"../e-shape-connector-edge\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapeConnectorElbowPointsFiller } from \"./e-shape-connector-elbow-points-filler\";\n\nexport class EShapeConnectorElbow extends EShapeConnectorLine {\n\tconstructor(type: EShapeType = EShapeType.CONNECTOR_ELBOW) {\n\t\tsuper(type);\n\t}\n\n\tprotected fillPoints(\n\t\ttail: EShapeConnectorEdge,\n\t\ttailMargin: number,\n\t\thead: EShapeConnectorEdge,\n\t\theadMargin: number,\n\t\tbody: EShapeConnectorBody,\n\t\tpx: number,\n\t\tpy: number,\n\t\tvalues: number[]\n\t): void {\n\t\t// Tail\n\t\tconst tailLocal = tail.local;\n\t\tconst tailLocalX = tailLocal.x;\n\t\tconst tailLocalY = tailLocal.y;\n\t\tconst tailNormal = tail.normal;\n\t\tconst tailNormalX = tailNormal.x;\n\t\tconst tailNormalY = tailNormal.y;\n\n\t\t// Head\n\t\tconst headLocal = head.local;\n\t\tconst headLocalX = headLocal.x;\n\t\tconst headLocalY = headLocal.y;\n\t\tconst headNormal = head.normal;\n\t\tconst headNormalX = headNormal.x;\n\t\tconst headNormalY = headNormal.y;\n\n\t\t// Body\n\t\tconst bodyValues = body.values;\n\t\tconst bodyValuesLength = bodyValues.length;\n\n\t\t// Values\n\t\tconst x0 = tailLocalX - px;\n\t\tconst y0 = tailLocalY - py;\n\t\tconst x1 = headLocalX - px;\n\t\tconst y1 = headLocalY - py;\n\n\t\tconst cx = (x1 + x0) * 0.5;\n\t\tconst cy = (y1 + y0) * 0.5;\n\t\tconst dx = x1 - x0;\n\t\tconst dy = y1 - y0;\n\t\tconst sxh = 0.5 * EShapeDefaults.SIZE_X;\n\t\tconst syh = 0.5 * EShapeDefaults.SIZE_Y;\n\n\t\tconst threshold = 0.000001;\n\t\tif (Math.abs(dx) < threshold && Math.abs(dy) < threshold) {\n\t\t\tvalues[0] = x0;\n\t\t\tvalues[1] = y0;\n\t\t\tvalues[2] = x1;\n\t\t\tvalues[3] = y1;\n\t\t\tvalues.length = 4;\n\t\t} else {\n\t\t\tconst filler = new EShapeConnectorElbowPointsFiller(x0, y0, values);\n\t\t\tif (0 < bodyValuesLength) {\n\t\t\t\tconst a = Math.atan2(dy, dx);\n\t\t\t\tconst l = Math.sqrt(dx * dx + dy * dy);\n\t\t\t\tconst c = Math.cos(a) * l;\n\t\t\t\tconst s = Math.sin(a) * l;\n\t\t\t\tconst x3 = bodyValues[0];\n\t\t\t\tconst y3 = bodyValues[1];\n\t\t\t\tconst x4 = cx + c * x3 - s * y3;\n\t\t\t\tconst y4 = cy + c * y3 + s * x3;\n\t\t\t\tfiller.tail(x4, y4, tailNormalX, tailNormalY, sxh, syh, tailMargin);\n\t\t\t\tfor (let i = 2; i < bodyValuesLength; i += 2) {\n\t\t\t\t\tconst x = bodyValues[i + 0];\n\t\t\t\t\tconst y = bodyValues[i + 1];\n\t\t\t\t\tconst x5 = cx + c * x - s * y;\n\t\t\t\t\tconst y5 = cy + c * y + s * x;\n\t\t\t\t\tfiller.middle(x5, y5);\n\t\t\t\t}\n\t\t\t\tfiller.head(x1, y1, headNormalX, headNormalY, sxh, syh, headMargin);\n\t\t\t} else {\n\t\t\t\tfiller.tail(cx, cy, tailNormalX, tailNormalY, sxh, syh, tailMargin);\n\t\t\t\tfiller.head(x1, y1, headNormalX, headNormalY, sxh, syh, headMargin);\n\t\t\t}\n\t\t\tfiller.margin(tailMargin, headMargin);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-connector-elbow.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-connector-elbow.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeConnectorBody } from \"../e-shape-connector-body\";\nimport { EShapeConnectorLine } from \"./e-shape-connector-line\";\nimport { EShapeConnectorEdge } from \"../e-shape-connector-edge\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapeConnectorElbowPointsFiller } from \"./e-shape-connector-elbow-points-filler\";\n\nexport class EShapeConnectorElbow extends EShapeConnectorLine {\n\tconstructor(type: EShapeType = EShapeType.CONNECTOR_ELBOW) {\n\t\tsuper(type);\n\t}\n\n\tprotected fillPoints(\n\t\ttail: EShapeConnectorEdge,\n\t\ttailMargin: number,\n\t\thead: EShapeConnectorEdge,\n\t\theadMargin: number,\n\t\tbody: EShapeConnectorBody,\n\t\tpx: number,\n\t\tpy: number,\n\t\tvalues: number[]\n\t): void {\n\t\t// Tail\n\t\tconst tailLocal = tail.local;\n\t\tconst tailLocalX = tailLocal.x;\n\t\tconst tailLocalY = tailLocal.y;\n\t\tconst tailNormal = tail.normal;\n\t\tconst tailNormalX = tailNormal.x;\n\t\tconst tailNormalY = tailNormal.y;\n\t\tconst tailSide = tail.side;\n\n\t\t// Head\n\t\tconst headLocal = head.local;\n\t\tconst headLocalX = headLocal.x;\n\t\tconst headLocalY = headLocal.y;\n\t\tconst headNormal = head.normal;\n\t\tconst headNormalX = headNormal.x;\n\t\tconst headNormalY = headNormal.y;\n\t\tconst headSide = head.side;\n\n\t\t// Body\n\t\tconst bodyValues = body.values;\n\t\tconst bodyValuesLength = bodyValues.length;\n\n\t\t// Values\n\t\tconst x0 = tailLocalX - px;\n\t\tconst y0 = tailLocalY - py;\n\t\tconst x1 = headLocalX - px;\n\t\tconst y1 = headLocalY - py;\n\n\t\tconst cx = (x1 + x0) * 0.5;\n\t\tconst cy = (y1 + y0) * 0.5;\n\t\tconst dx = x1 - x0;\n\t\tconst dy = y1 - y0;\n\t\tconst sxh = 0.5 * EShapeDefaults.SIZE_X;\n\t\tconst syh = 0.5 * EShapeDefaults.SIZE_Y;\n\n\t\tconst threshold = 0.000001;\n\t\tif (Math.abs(dx) < threshold && Math.abs(dy) < threshold) {\n\t\t\tvalues[0] = x0;\n\t\t\tvalues[1] = y0;\n\t\t\tvalues[2] = x1;\n\t\t\tvalues[3] = y1;\n\t\t\tvalues.length = 4;\n\t\t} else {\n\t\t\tconst filler = new EShapeConnectorElbowPointsFiller(x0, y0, values);\n\t\t\tif (0 < bodyValuesLength) {\n\t\t\t\tconst a = Math.atan2(dy, dx);\n\t\t\t\tconst l = Math.sqrt(dx * dx + dy * dy);\n\t\t\t\tconst c = Math.cos(a) * l;\n\t\t\t\tconst s = Math.sin(a) * l;\n\t\t\t\tconst x3 = bodyValues[0];\n\t\t\t\tconst y3 = bodyValues[1];\n\t\t\t\tconst x4 = cx + c * x3 - s * y3;\n\t\t\t\tconst y4 = cy + c * y3 + s * x3;\n\t\t\t\tfiller.tail(x4, y4, tailNormalX, tailNormalY, sxh, syh, tailMargin, tailSide);\n\t\t\t\tfor (let i = 2; i < bodyValuesLength; i += 2) {\n\t\t\t\t\tconst x = bodyValues[i + 0];\n\t\t\t\t\tconst y = bodyValues[i + 1];\n\t\t\t\t\tconst x5 = cx + c * x - s * y;\n\t\t\t\t\tconst y5 = cy + c * y + s * x;\n\t\t\t\t\tfiller.middle(x5, y5);\n\t\t\t\t}\n\t\t\t\tfiller.head(x1, y1, headNormalX, headNormalY, sxh, syh, headMargin, headSide);\n\t\t\t} else {\n\t\t\t\tfiller.tail(cx, cy, tailNormalX, tailNormalY, sxh, syh, tailMargin, tailSide);\n\t\t\t\tfiller.head(x1, y1, headNormalX, headNormalY, sxh, syh, headMargin, headSide);\n\t\t\t}\n\t\t\tfiller.margin(tailMargin, headMargin);\n\t\t}\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.321.0
2
+ Winter Cardinal UI v0.322.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.321.0
2
+ Winter Cardinal UI v0.322.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.321.0
2
+ Winter Cardinal UI v0.322.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.321.0
2
+ Winter Cardinal UI v0.322.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5