@wcardinal/wcardinal-ui 0.407.2 → 0.409.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 (152) hide show
  1. package/dist/types/wcardinal/ui/d-pagination.d.ts +41 -1
  2. package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +3 -9
  3. package/dist/types/wcardinal/ui/shape/e-shape-container.d.ts +1 -1
  4. package/dist/types/wcardinal/ui/shape/variant/build-bar.d.ts +1 -2
  5. package/dist/types/wcardinal/ui/shape/variant/build-circle.d.ts +1 -2
  6. package/dist/types/wcardinal/ui/shape/variant/build-color.d.ts +1 -1
  7. package/dist/types/wcardinal/ui/shape/variant/build-image-sdf.d.ts +0 -1
  8. package/dist/types/wcardinal/ui/shape/variant/build-line-of-any.d.ts +17 -1
  9. package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +2 -3
  10. package/dist/types/wcardinal/ui/shape/variant/build-null.d.ts +0 -1
  11. package/dist/types/wcardinal/ui/shape/variant/build-rectangle-rounded.d.ts +2 -3
  12. package/dist/types/wcardinal/ui/shape/variant/build-rectangle.d.ts +4 -5
  13. package/dist/types/wcardinal/ui/shape/variant/build-semicircle.d.ts +1 -2
  14. package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +0 -1
  15. package/dist/types/wcardinal/ui/shape/variant/build-triangle-rounded.d.ts +1 -2
  16. package/dist/types/wcardinal/ui/shape/variant/build-triangle.d.ts +1 -2
  17. package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +1 -1
  18. package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +1 -2
  19. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +1 -2
  20. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +1 -1
  21. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +1 -1
  22. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +1 -1
  23. package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +1 -2
  24. package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +1 -1
  25. package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +1 -1
  26. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +1 -1
  27. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +1 -1
  28. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +1 -1
  29. package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +1 -2
  30. package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +1 -1
  31. package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +9 -18
  32. package/dist/types/wcardinal/ui/shape/variant/index.d.ts +0 -1
  33. package/dist/types/wcardinal/ui/shape/variant/to-dash.d.ts +1 -2
  34. package/dist/types/wcardinal/ui/shape/variant/to-normal-packed.d.ts +1 -0
  35. package/dist/types/wcardinal/ui/shape/variant/to-normal.d.ts +1 -0
  36. package/dist/types/wcardinal/ui/shape/variant/to-packed.d.ts +2 -0
  37. package/dist/types/wcardinal/ui/shape/variant/to-vector-length.d.ts +1 -0
  38. package/dist/types/wcardinal/ui/shape/variant/to-vector.d.ts +1 -0
  39. package/dist/wcardinal/ui/d-pagination.js +59 -7
  40. package/dist/wcardinal/ui/d-pagination.js.map +1 -1
  41. package/dist/wcardinal/ui/shape/e-shape-buffer.js +10 -30
  42. package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
  43. package/dist/wcardinal/ui/shape/e-shape-container.js +1 -1
  44. package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
  45. package/dist/wcardinal/ui/shape/e-shape-renderer.js +4 -5
  46. package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
  47. package/dist/wcardinal/ui/shape/variant/build-bar.js +37 -63
  48. package/dist/wcardinal/ui/shape/variant/build-bar.js.map +1 -1
  49. package/dist/wcardinal/ui/shape/variant/build-circle.js +63 -40
  50. package/dist/wcardinal/ui/shape/variant/build-circle.js.map +1 -1
  51. package/dist/wcardinal/ui/shape/variant/build-color.js +8 -11
  52. package/dist/wcardinal/ui/shape/variant/build-color.js.map +1 -1
  53. package/dist/wcardinal/ui/shape/variant/build-image-sdf.js +30 -37
  54. package/dist/wcardinal/ui/shape/variant/build-image-sdf.js.map +1 -1
  55. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +244 -25
  56. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
  57. package/dist/wcardinal/ui/shape/variant/build-line.js +149 -129
  58. package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
  59. package/dist/wcardinal/ui/shape/variant/build-null.js +0 -7
  60. package/dist/wcardinal/ui/shape/variant/build-null.js.map +1 -1
  61. package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js +917 -849
  62. package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js.map +1 -1
  63. package/dist/wcardinal/ui/shape/variant/build-rectangle.js +279 -353
  64. package/dist/wcardinal/ui/shape/variant/build-rectangle.js.map +1 -1
  65. package/dist/wcardinal/ui/shape/variant/build-semicircle.js +45 -31
  66. package/dist/wcardinal/ui/shape/variant/build-semicircle.js.map +1 -1
  67. package/dist/wcardinal/ui/shape/variant/build-text.js +6 -13
  68. package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
  69. package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js +255 -128
  70. package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js.map +1 -1
  71. package/dist/wcardinal/ui/shape/variant/build-triangle.js +55 -35
  72. package/dist/wcardinal/ui/shape/variant/build-triangle.js.map +1 -1
  73. package/dist/wcardinal/ui/shape/variant/builder-bar.js +8 -11
  74. package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
  75. package/dist/wcardinal/ui/shape/variant/builder-base.js +18 -22
  76. package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
  77. package/dist/wcardinal/ui/shape/variant/builder-circle.js +4 -7
  78. package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
  79. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +3 -6
  80. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
  81. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +13 -17
  82. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
  83. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +5 -12
  84. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
  85. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +10 -26
  86. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
  87. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +9 -25
  88. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
  89. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +9 -25
  90. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
  91. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +5 -12
  92. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
  93. package/dist/wcardinal/ui/shape/variant/builder-line.js +13 -27
  94. package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
  95. package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +27 -19
  96. package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
  97. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +4 -7
  98. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
  99. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +7 -13
  100. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
  101. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +4 -7
  102. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
  103. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -13
  104. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
  105. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +6 -12
  106. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
  107. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -13
  108. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
  109. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +4 -7
  110. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
  111. package/dist/wcardinal/ui/shape/variant/builder-text.js +19 -28
  112. package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
  113. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -12
  114. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
  115. package/dist/wcardinal/ui/shape/variant/builder-triangle.js +4 -7
  116. package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
  117. package/dist/wcardinal/ui/shape/variant/builder.js +18 -14
  118. package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
  119. package/dist/wcardinal/ui/shape/variant/index.js +0 -1
  120. package/dist/wcardinal/ui/shape/variant/index.js.map +1 -1
  121. package/dist/wcardinal/ui/shape/variant/to-dash.js +8 -9
  122. package/dist/wcardinal/ui/shape/variant/to-dash.js.map +1 -1
  123. package/dist/wcardinal/ui/shape/variant/to-normal-packed.js +7 -0
  124. package/dist/wcardinal/ui/shape/variant/to-normal-packed.js.map +1 -0
  125. package/dist/wcardinal/ui/shape/variant/to-normal.js +15 -0
  126. package/dist/wcardinal/ui/shape/variant/to-normal.js.map +1 -0
  127. package/dist/wcardinal/ui/shape/variant/to-packed.js +7 -0
  128. package/dist/wcardinal/ui/shape/variant/to-packed.js.map +1 -0
  129. package/dist/wcardinal/ui/shape/variant/to-vector-length.js +4 -0
  130. package/dist/wcardinal/ui/shape/variant/to-vector-length.js.map +1 -0
  131. package/dist/wcardinal/ui/shape/variant/to-vector.js +6 -0
  132. package/dist/wcardinal/ui/shape/variant/to-vector.js.map +1 -0
  133. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  134. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  135. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  136. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  137. package/dist/wcardinal-ui-theme-dark.js +1 -1
  138. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  139. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  140. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  141. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  142. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  143. package/dist/wcardinal-ui-theme-white.js +1 -1
  144. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  145. package/dist/wcardinal-ui.cjs.js +2365 -2101
  146. package/dist/wcardinal-ui.js +2361 -2097
  147. package/dist/wcardinal-ui.min.js +2 -2
  148. package/dist/wcardinal-ui.min.js.map +1 -1
  149. package/package.json +1 -1
  150. package/dist/types/wcardinal/ui/shape/variant/copy-clipping.d.ts +0 -1
  151. package/dist/wcardinal/ui/shape/variant/copy-clipping.js +0 -20
  152. package/dist/wcardinal/ui/shape/variant/copy-clipping.js.map +0 -1
@@ -1,127 +1,122 @@
1
1
  import { Point } from "pixi.js";
2
2
  import { EShapeCorner } from "../e-shape-corner";
3
3
  import { EShapeStrokeSide } from "../e-shape-stroke-side";
4
- import { toLength } from "./to-length";
5
4
  import { toScaleInvariant } from "./to-scale-invariant";
6
- export var RECTANGLE_ROUNDED_VERTEX_COUNT = 36;
5
+ import { toPackedF2x1024, toPackedI4x64 } from "./to-packed";
6
+ export var RECTANGLE_ROUNDED_VERTEX_COUNT = 44;
7
7
  export var RECTANGLE_ROUNDED_INDEX_COUNT = 24;
8
- export var RECTANGLE_ROUNDED_WORLD_SIZE = [0, 0, 0];
8
+ export var RECTANGLE_ROUNDED_WORLD_SIZE = [
9
+ 0, 0, 0, 0, 0
10
+ ];
9
11
  var RECTANGLE_ROUNDED_WORK_POINT = new Point();
10
12
  export var buildRectangleRoundedIndex = function (indices, voffset, ioffset) {
11
- // Top-left corner
13
+ // c0 c1 c4 c5
14
+ // |---| |---|
15
+ // | | | |
16
+ // |---| |---|
17
+ // c2 c3 c6 c7
18
+ //
19
+ // c8 c9 c12 c13
20
+ // |---| |---|
21
+ // | | | |
22
+ // |---| |---|
23
+ //c10 c11 c14 c15
12
24
  var ii = ioffset * 3 - 1;
13
- indices[++ii] = voffset;
25
+ indices[++ii] = voffset + 0;
14
26
  indices[++ii] = voffset + 1;
15
27
  indices[++ii] = voffset + 2;
28
+ indices[++ii] = voffset + 2;
16
29
  indices[++ii] = voffset + 1;
17
30
  indices[++ii] = voffset + 3;
18
- indices[++ii] = voffset + 2;
19
- // Top-right corner
20
31
  indices[++ii] = voffset + 4;
21
32
  indices[++ii] = voffset + 5;
22
33
  indices[++ii] = voffset + 6;
34
+ indices[++ii] = voffset + 6;
23
35
  indices[++ii] = voffset + 5;
24
36
  indices[++ii] = voffset + 7;
25
- indices[++ii] = voffset + 6;
26
- // Bottom-left corner
27
37
  indices[++ii] = voffset + 8;
28
38
  indices[++ii] = voffset + 9;
29
39
  indices[++ii] = voffset + 10;
40
+ indices[++ii] = voffset + 10;
30
41
  indices[++ii] = voffset + 9;
31
42
  indices[++ii] = voffset + 11;
32
- indices[++ii] = voffset + 10;
33
- // Bottom-right corner
34
43
  indices[++ii] = voffset + 12;
35
44
  indices[++ii] = voffset + 13;
36
45
  indices[++ii] = voffset + 14;
46
+ indices[++ii] = voffset + 14;
37
47
  indices[++ii] = voffset + 13;
38
48
  indices[++ii] = voffset + 15;
39
- indices[++ii] = voffset + 14;
40
- // Top edge
49
+ // 16 17 23 24
50
+ // |---| |---|
51
+ // | | | |
52
+ // 18--19--20 25--26--27
53
+ // | | | |
54
+ // | | | |
55
+ // 21------22 28------29
41
56
  indices[++ii] = voffset + 16;
42
57
  indices[++ii] = voffset + 17;
43
- indices[++ii] = voffset + 20;
58
+ indices[++ii] = voffset + 19;
59
+ indices[++ii] = voffset + 19;
44
60
  indices[++ii] = voffset + 17;
45
- indices[++ii] = voffset + 21;
46
61
  indices[++ii] = voffset + 20;
47
- indices[++ii] = voffset + 17;
48
- indices[++ii] = voffset + 18;
49
- indices[++ii] = voffset + 21;
50
62
  indices[++ii] = voffset + 18;
51
- indices[++ii] = voffset + 22;
63
+ indices[++ii] = voffset + 20;
52
64
  indices[++ii] = voffset + 21;
53
- // Upper middle
54
- indices[++ii] = voffset + 19;
55
65
  indices[++ii] = voffset + 21;
66
+ indices[++ii] = voffset + 20;
67
+ indices[++ii] = voffset + 22;
68
+ indices[++ii] = voffset + 23;
56
69
  indices[++ii] = voffset + 24;
57
- indices[++ii] = voffset + 21;
70
+ indices[++ii] = voffset + 25;
58
71
  indices[++ii] = voffset + 25;
59
72
  indices[++ii] = voffset + 24;
60
- indices[++ii] = voffset + 21;
61
- indices[++ii] = voffset + 23;
62
- indices[++ii] = voffset + 26;
63
- indices[++ii] = voffset + 23;
64
- indices[++ii] = voffset + 27;
65
73
  indices[++ii] = voffset + 26;
66
- // Lower middle
67
- indices[++ii] = voffset + 24;
68
74
  indices[++ii] = voffset + 25;
75
+ indices[++ii] = voffset + 27;
69
76
  indices[++ii] = voffset + 28;
70
- indices[++ii] = voffset + 25;
71
- indices[++ii] = voffset + 30;
72
77
  indices[++ii] = voffset + 28;
73
- indices[++ii] = voffset + 26;
74
- indices[++ii] = voffset + 27;
75
- indices[++ii] = voffset + 30;
76
78
  indices[++ii] = voffset + 27;
77
- indices[++ii] = voffset + 32;
78
- indices[++ii] = voffset + 30;
79
- // Bottom edge
80
79
  indices[++ii] = voffset + 29;
80
+ // 30------31 37------38
81
+ // | | | |
82
+ // | | | |
83
+ // 32--33--34 39--40--41
84
+ // | | | |
85
+ // |---| |---|
86
+ // 35 36 42 43
81
87
  indices[++ii] = voffset + 30;
82
- indices[++ii] = voffset + 33;
83
- indices[++ii] = voffset + 30;
88
+ indices[++ii] = voffset + 31;
89
+ indices[++ii] = voffset + 32;
90
+ indices[++ii] = voffset + 32;
91
+ indices[++ii] = voffset + 31;
84
92
  indices[++ii] = voffset + 34;
85
93
  indices[++ii] = voffset + 33;
86
- indices[++ii] = voffset + 30;
87
- indices[++ii] = voffset + 31;
88
94
  indices[++ii] = voffset + 34;
89
- indices[++ii] = voffset + 31;
95
+ indices[++ii] = voffset + 35;
90
96
  indices[++ii] = voffset + 35;
91
97
  indices[++ii] = voffset + 34;
98
+ indices[++ii] = voffset + 36;
99
+ indices[++ii] = voffset + 37;
100
+ indices[++ii] = voffset + 38;
101
+ indices[++ii] = voffset + 39;
102
+ indices[++ii] = voffset + 39;
103
+ indices[++ii] = voffset + 38;
104
+ indices[++ii] = voffset + 41;
105
+ indices[++ii] = voffset + 39;
106
+ indices[++ii] = voffset + 40;
107
+ indices[++ii] = voffset + 42;
108
+ indices[++ii] = voffset + 42;
109
+ indices[++ii] = voffset + 40;
110
+ indices[++ii] = voffset + 43;
92
111
  };
93
112
  export var buildRectangleRoundedVertex = function (vertices, voffset, originX, originY, sizeX, sizeY, strokeAlign, strokeWidth, radius, internalTransform, worldSize) {
94
- // Calculate the transformed positions
95
- //
96
- // 0 1 4 5
97
- // |---| |---|
98
- // |2 |3 |6 |7
99
- // |---| |---|
100
- //
101
- //
102
- //
103
- //
104
- //
105
- // |---| |---|
106
- // |8 |9 |12 |13
107
- // |---| |---|
108
- // 10 11 14 15
109
- //
110
- //
111
- // 16 17 18 <-- Top edge
112
- // |---|---|
113
- // 19 |20 |21 |22 23 <-- Top
114
- // |---|---|---|---|
115
- // | | |
116
- // |24 25|26 |27 <-- Middle
113
+ // b0 b1 b2
117
114
  // |-------|-------|
118
115
  // | | |
116
+ // b3------b4------b5
119
117
  // | | |
120
- // |---|---|---|---|
121
- // 28 |29 |30 |31 32 <-- Bottom
122
- // |---|---|
123
- // 33 34 35 <-- Bottom edge
124
- //
118
+ // |-------|-------|
119
+ // b6 b7 b8
125
120
  var s = strokeAlign * strokeWidth;
126
121
  var sx = sizeX * 0.5 + (0 <= sizeX ? +s : -s);
127
122
  var sy = sizeY * 0.5 + (0 <= sizeY ? +s : -s);
@@ -133,839 +128,912 @@ export var buildRectangleRoundedVertex = function (vertices, voffset, originX, o
133
128
  var work = RECTANGLE_ROUNDED_WORK_POINT;
134
129
  work.set(originX - sx, originY - sy);
135
130
  internalTransform.apply(work, work);
136
- var x0 = work.x;
137
- var y0 = work.y;
131
+ var b0x = work.x;
132
+ var b0y = work.y;
138
133
  work.set(originX, originY - sy);
139
134
  internalTransform.apply(work, work);
140
- var x2 = work.x;
141
- var y2 = work.y;
142
- var dxh = x2 - x0;
143
- var dyh = y2 - y0;
144
- var dxhr = rx * dxh;
145
- var dyhr = rx * dyh;
146
- var x1 = x0 + dxhr;
147
- var y1 = y0 + dyhr;
148
- var x4 = x2 + dxh;
149
- var y4 = y2 + dyh;
150
- var x3 = x4 - dxhr;
151
- var y3 = y4 - dyhr;
152
- work.set(originX, originY);
135
+ var b1x = work.x;
136
+ var b1y = work.y;
137
+ work.set(originX - sx, originY);
153
138
  internalTransform.apply(work, work);
154
- var x11 = work.x;
155
- var y11 = work.y;
156
- var dxv = x11 - x2;
157
- var dyv = y11 - y2;
158
- var dxvr = ry * dxv;
159
- var dyvr = ry * dyv;
160
- var x7 = x2 + dxvr;
161
- var y7 = y2 + dyvr;
162
- var x5 = x7 - dxh;
163
- var y5 = y7 - dyh;
164
- var x6 = x5 + dxhr;
165
- var y6 = y5 + dyhr;
166
- var x9 = x7 + dxh;
167
- var y9 = y7 + dyh;
168
- var x8 = x9 - dxhr;
169
- var y8 = y9 - dyhr;
170
- var x10 = x11 - dxh;
171
- var y10 = y11 - dyh;
172
- var x12 = x11 + dxh;
173
- var y12 = y11 + dyh;
174
- var x20 = x11 + dxv;
175
- var y20 = y11 + dyv;
176
- var x15 = x20 - dxvr;
177
- var y15 = y20 - dyvr;
178
- var x13 = x15 - dxh;
179
- var y13 = y15 - dyh;
180
- var x14 = x13 + dxhr;
181
- var y14 = y13 + dyhr;
182
- var x17 = x15 + dxh;
183
- var y17 = y15 + dyh;
184
- var x16 = x17 - dxhr;
185
- var y16 = y17 - dyhr;
186
- var x18 = x20 - dxh;
187
- var y18 = y20 - dyh;
188
- var x19 = x18 + dxhr;
189
- var y19 = y18 + dyhr;
190
- var x22 = x20 + dxh;
191
- var y22 = y20 + dyh;
192
- var x21 = x22 - dxhr;
193
- var y21 = y22 - dyhr;
194
- // World size
195
- worldSize[0] = toLength(x0, y0, x1, y1);
196
- worldSize[1] = toLength(x0, y0, x2, y2);
197
- worldSize[2] = toLength(x0, y0, x10, y10);
198
- // Vertices
139
+ var b3x = work.x;
140
+ var b3y = work.y;
141
+ var d01x = b1x - b0x;
142
+ var d01y = b1y - b0y;
143
+ var d03x = b3x - b0x;
144
+ var d03y = b3y - b0y;
145
+ var b2x = b1x + d01x;
146
+ var b2y = b1y + d01y;
147
+ var b4x = b3x + d01x;
148
+ var b4y = b3y + d01y;
149
+ var b5x = b2x + d03x;
150
+ var b5y = b2y + d03y;
151
+ var b6x = b3x + d03x;
152
+ var b6y = b3y + d03y;
153
+ var b7x = b6x + d01x;
154
+ var b7y = b6y + d01y;
155
+ var b8x = b7x + d01x;
156
+ var b8y = b7y + d01y;
157
+ var r01x = rx * d01x;
158
+ var r01y = rx * d01y;
159
+ var r03x = ry * d03x;
160
+ var r03y = ry * d03y;
161
+ // c0 c1 c4 c5
162
+ // |---| |---|
163
+ // | | | |
164
+ // |---| |---|
165
+ // c2 c3 c6 c7
166
+ //
167
+ // c8 c9 c12 c13
168
+ // |---| |---|
169
+ // | | | |
170
+ // |---| |---|
171
+ //c10 c11 c14 c15
172
+ var c0x = b0x;
173
+ var c0y = b0y;
174
+ var c1x = c0x + r01x;
175
+ var c1y = c0y + r01y;
176
+ var c2x = c0x + r03x;
177
+ var c2y = c0y + r03y;
178
+ var c3x = c2x + r01x;
179
+ var c3y = c2y + r01y;
199
180
  var iv = voffset * 2 - 1;
200
- // Top-left corner
201
- vertices[++iv] = x0;
202
- vertices[++iv] = y0;
203
- vertices[++iv] = x1;
204
- vertices[++iv] = y1;
205
- vertices[++iv] = x5;
206
- vertices[++iv] = y5;
207
- vertices[++iv] = x6;
208
- vertices[++iv] = y6;
209
- // Top-right corner
210
- vertices[++iv] = x3;
211
- vertices[++iv] = y3;
212
- vertices[++iv] = x4;
213
- vertices[++iv] = y4;
214
- vertices[++iv] = x8;
215
- vertices[++iv] = y8;
216
- vertices[++iv] = x9;
217
- vertices[++iv] = y9;
218
- // Bottom-left corner
219
- vertices[++iv] = x13;
220
- vertices[++iv] = y13;
221
- vertices[++iv] = x14;
222
- vertices[++iv] = y14;
223
- vertices[++iv] = x18;
224
- vertices[++iv] = y18;
225
- vertices[++iv] = x19;
226
- vertices[++iv] = y19;
227
- // Bottom-right corner
228
- vertices[++iv] = x16;
229
- vertices[++iv] = y16;
230
- vertices[++iv] = x17;
231
- vertices[++iv] = y17;
232
- vertices[++iv] = x21;
233
- vertices[++iv] = y21;
234
- vertices[++iv] = x22;
235
- vertices[++iv] = y22;
236
- // Top edge
237
- vertices[++iv] = x1;
238
- vertices[++iv] = y1;
239
- vertices[++iv] = x2;
240
- vertices[++iv] = y2;
241
- vertices[++iv] = x3;
242
- vertices[++iv] = y3;
243
- // Top
244
- vertices[++iv] = x5;
245
- vertices[++iv] = y5;
246
- vertices[++iv] = x6;
247
- vertices[++iv] = y6;
248
- vertices[++iv] = x7;
249
- vertices[++iv] = y7;
250
- vertices[++iv] = x8;
251
- vertices[++iv] = y8;
252
- vertices[++iv] = x9;
253
- vertices[++iv] = y9;
254
- // Middle
255
- vertices[++iv] = x10;
256
- vertices[++iv] = y10;
257
- vertices[++iv] = x11;
258
- vertices[++iv] = y11;
259
- vertices[++iv] = x11;
260
- vertices[++iv] = y11;
261
- vertices[++iv] = x12;
262
- vertices[++iv] = y12;
263
- // Bottom
264
- vertices[++iv] = x13;
265
- vertices[++iv] = y13;
266
- vertices[++iv] = x14;
267
- vertices[++iv] = y14;
268
- vertices[++iv] = x15;
269
- vertices[++iv] = y15;
270
- vertices[++iv] = x16;
271
- vertices[++iv] = y16;
272
- vertices[++iv] = x17;
273
- vertices[++iv] = y17;
274
- // Bottom edge
275
- vertices[++iv] = x19;
276
- vertices[++iv] = y19;
277
- vertices[++iv] = x20;
278
- vertices[++iv] = y20;
279
- vertices[++iv] = x21;
280
- vertices[++iv] = y21;
281
- };
282
- export var buildRectangleRoundedClipping = function (clippings, voffset, corner, worldSize) {
283
- var ic = voffset * 3 - 1;
284
- var rxc = 1 - worldSize[0] / worldSize[1];
285
- var ryc = 1 - worldSize[0] / worldSize[2];
286
- // Top-left corner
287
- if (corner & EShapeCorner.TOP_LEFT) {
288
- clippings[++ic] = 1;
289
- clippings[++ic] = 1;
290
- clippings[++ic] = 1;
291
- clippings[++ic] = 0;
292
- clippings[++ic] = 1;
293
- clippings[++ic] = 1;
294
- clippings[++ic] = 1;
295
- clippings[++ic] = 0;
296
- clippings[++ic] = 1;
297
- clippings[++ic] = 0;
298
- clippings[++ic] = 0;
299
- clippings[++ic] = 1;
300
- }
301
- else {
302
- clippings[++ic] = 1;
303
- clippings[++ic] = 1;
304
- clippings[++ic] = 0;
305
- clippings[++ic] = rxc;
306
- clippings[++ic] = 1;
307
- clippings[++ic] = 0;
308
- clippings[++ic] = 1;
309
- clippings[++ic] = ryc;
310
- clippings[++ic] = 0;
311
- clippings[++ic] = rxc;
312
- clippings[++ic] = ryc;
313
- clippings[++ic] = 0;
314
- }
315
- // Top-right corner
316
- if (corner & EShapeCorner.TOP_RIGHT) {
317
- clippings[++ic] = 0;
318
- clippings[++ic] = 1;
319
- clippings[++ic] = 1;
320
- clippings[++ic] = 1;
321
- clippings[++ic] = 1;
322
- clippings[++ic] = 1;
323
- clippings[++ic] = 0;
324
- clippings[++ic] = 0;
325
- clippings[++ic] = 1;
326
- clippings[++ic] = 1;
327
- clippings[++ic] = 0;
328
- clippings[++ic] = 1;
329
- }
330
- else {
331
- clippings[++ic] = rxc;
332
- clippings[++ic] = 1;
333
- clippings[++ic] = 0;
334
- clippings[++ic] = 1;
335
- clippings[++ic] = 1;
336
- clippings[++ic] = 0;
337
- clippings[++ic] = rxc;
338
- clippings[++ic] = ryc;
339
- clippings[++ic] = 0;
340
- clippings[++ic] = 1;
341
- clippings[++ic] = ryc;
342
- clippings[++ic] = 0;
343
- }
344
- // Bottom-left corner
345
- if (corner & EShapeCorner.BOTTOM_LEFT) {
346
- clippings[++ic] = 1;
347
- clippings[++ic] = 0;
348
- clippings[++ic] = 1;
349
- clippings[++ic] = 0;
350
- clippings[++ic] = 0;
351
- clippings[++ic] = 1;
352
- clippings[++ic] = 1;
353
- clippings[++ic] = 1;
354
- clippings[++ic] = 1;
355
- clippings[++ic] = 0;
356
- clippings[++ic] = 1;
357
- clippings[++ic] = 1;
358
- }
359
- else {
360
- clippings[++ic] = 1;
361
- clippings[++ic] = ryc;
362
- clippings[++ic] = 0;
363
- clippings[++ic] = rxc;
364
- clippings[++ic] = ryc;
365
- clippings[++ic] = 0;
366
- clippings[++ic] = 1;
367
- clippings[++ic] = 1;
368
- clippings[++ic] = 0;
369
- clippings[++ic] = rxc;
370
- clippings[++ic] = 1;
371
- clippings[++ic] = 0;
372
- }
373
- // Bottom-right corner
374
- if (corner & EShapeCorner.BOTTOM_RIGHT) {
375
- clippings[++ic] = 0;
376
- clippings[++ic] = 0;
377
- clippings[++ic] = 1;
378
- clippings[++ic] = 1;
379
- clippings[++ic] = 0;
380
- clippings[++ic] = 1;
381
- clippings[++ic] = 0;
382
- clippings[++ic] = 1;
383
- clippings[++ic] = 1;
384
- clippings[++ic] = 1;
385
- clippings[++ic] = 1;
386
- clippings[++ic] = 1;
387
- }
388
- else {
389
- clippings[++ic] = rxc;
390
- clippings[++ic] = ryc;
391
- clippings[++ic] = 0;
392
- clippings[++ic] = 1;
393
- clippings[++ic] = ryc;
394
- clippings[++ic] = 0;
395
- clippings[++ic] = rxc;
396
- clippings[++ic] = 1;
397
- clippings[++ic] = 0;
398
- clippings[++ic] = 1;
399
- clippings[++ic] = 1;
400
- clippings[++ic] = 0;
401
- }
402
- // Top edge
403
- clippings[++ic] = rxc;
404
- clippings[++ic] = 1;
405
- clippings[++ic] = 0;
406
- clippings[++ic] = 0;
407
- clippings[++ic] = 1;
408
- clippings[++ic] = 0;
409
- clippings[++ic] = rxc;
410
- clippings[++ic] = 1;
411
- clippings[++ic] = 0;
412
- // Top
413
- clippings[++ic] = 1;
414
- clippings[++ic] = ryc;
415
- clippings[++ic] = 0;
416
- clippings[++ic] = rxc;
417
- clippings[++ic] = ryc;
418
- clippings[++ic] = 0;
419
- clippings[++ic] = 0;
420
- clippings[++ic] = ryc;
421
- clippings[++ic] = 0;
422
- clippings[++ic] = rxc;
423
- clippings[++ic] = ryc;
424
- clippings[++ic] = 0;
425
- clippings[++ic] = 1;
426
- clippings[++ic] = ryc;
427
- clippings[++ic] = 0;
428
- // Middle
429
- clippings[++ic] = 1;
430
- clippings[++ic] = 0;
431
- clippings[++ic] = 0;
432
- clippings[++ic] = 0;
433
- clippings[++ic] = 0;
434
- clippings[++ic] = 0;
435
- clippings[++ic] = 0;
436
- clippings[++ic] = 0;
437
- clippings[++ic] = 0;
438
- clippings[++ic] = 1;
439
- clippings[++ic] = 0;
440
- clippings[++ic] = 0;
441
- // Bottom
442
- clippings[++ic] = 1;
443
- clippings[++ic] = ryc;
444
- clippings[++ic] = 0;
445
- clippings[++ic] = rxc;
446
- clippings[++ic] = ryc;
447
- clippings[++ic] = 0;
448
- clippings[++ic] = 0;
449
- clippings[++ic] = ryc;
450
- clippings[++ic] = 0;
451
- clippings[++ic] = rxc;
452
- clippings[++ic] = ryc;
453
- clippings[++ic] = 0;
454
- clippings[++ic] = 1;
455
- clippings[++ic] = ryc;
456
- clippings[++ic] = 0;
457
- // Bottom edge
458
- clippings[++ic] = rxc;
459
- clippings[++ic] = 1;
460
- clippings[++ic] = 0;
461
- clippings[++ic] = 0;
462
- clippings[++ic] = 1;
463
- clippings[++ic] = 0;
464
- clippings[++ic] = rxc;
465
- clippings[++ic] = 1;
466
- clippings[++ic] = 0;
181
+ vertices[++iv] = c0x;
182
+ vertices[++iv] = c0y;
183
+ vertices[++iv] = c1x;
184
+ vertices[++iv] = c1y;
185
+ vertices[++iv] = c2x;
186
+ vertices[++iv] = c2y;
187
+ vertices[++iv] = c3x;
188
+ vertices[++iv] = c3y;
189
+ var c5x = b2x;
190
+ var c5y = b2y;
191
+ var c4x = b2x - r01x;
192
+ var c4y = b2y - r01y;
193
+ var c6x = c4x + r03x;
194
+ var c6y = c4y + r03y;
195
+ var c7x = c6x + r01x;
196
+ var c7y = c6y + r01y;
197
+ vertices[++iv] = c4x;
198
+ vertices[++iv] = c4y;
199
+ vertices[++iv] = c5x;
200
+ vertices[++iv] = c5y;
201
+ vertices[++iv] = c6x;
202
+ vertices[++iv] = c6y;
203
+ vertices[++iv] = c7x;
204
+ vertices[++iv] = c7y;
205
+ var c10x = b6x;
206
+ var c10y = b6y;
207
+ var c8x = c10x - r03x;
208
+ var c8y = c10y - r03y;
209
+ var c11x = c10x + r01x;
210
+ var c11y = c10y + r01y;
211
+ var c9x = c8x + r01x;
212
+ var c9y = c8y + r01y;
213
+ vertices[++iv] = c8x;
214
+ vertices[++iv] = c8y;
215
+ vertices[++iv] = c9x;
216
+ vertices[++iv] = c9y;
217
+ vertices[++iv] = c10x;
218
+ vertices[++iv] = c10y;
219
+ vertices[++iv] = c11x;
220
+ vertices[++iv] = c11y;
221
+ var c15x = b8x;
222
+ var c15y = b8y;
223
+ var c14x = c15x - r01x;
224
+ var c14y = c15y - r01y;
225
+ var c13x = c15x - r03x;
226
+ var c13y = c15y - r03y;
227
+ var c12x = c13x - r01x;
228
+ var c12y = c13y - r01y;
229
+ vertices[++iv] = c12x;
230
+ vertices[++iv] = c12y;
231
+ vertices[++iv] = c13x;
232
+ vertices[++iv] = c13y;
233
+ vertices[++iv] = c14x;
234
+ vertices[++iv] = c14y;
235
+ vertices[++iv] = c15x;
236
+ vertices[++iv] = c15y;
237
+ // 16 17 23 24
238
+ // |---| |---|
239
+ // | | | |
240
+ // 18--19--20 25--26--27
241
+ // | | | |
242
+ // | | | |
243
+ // 21------22 28------29
244
+ var c16x = c1x;
245
+ var c16y = c1y;
246
+ var c17x = b1x;
247
+ var c17y = b1y;
248
+ var c18x = c2x;
249
+ var c18y = c2y;
250
+ var c19x = c3x;
251
+ var c19y = c3y;
252
+ var c20x = c17x + r03x;
253
+ var c20y = c17y + r03y;
254
+ var c21x = b3x;
255
+ var c21y = b3y;
256
+ var c22x = b4x;
257
+ var c22y = b4y;
258
+ vertices[++iv] = c16x;
259
+ vertices[++iv] = c16y;
260
+ vertices[++iv] = c17x;
261
+ vertices[++iv] = c17y;
262
+ vertices[++iv] = c18x;
263
+ vertices[++iv] = c18y;
264
+ vertices[++iv] = c19x;
265
+ vertices[++iv] = c19y;
266
+ vertices[++iv] = c20x;
267
+ vertices[++iv] = c20y;
268
+ vertices[++iv] = c21x;
269
+ vertices[++iv] = c21y;
270
+ vertices[++iv] = c22x;
271
+ vertices[++iv] = c22y;
272
+ var c23x = c17x;
273
+ var c23y = c17y;
274
+ var c24x = c4x;
275
+ var c24y = c4y;
276
+ var c25x = c20x;
277
+ var c25y = c20y;
278
+ var c26x = c6x;
279
+ var c26y = c6y;
280
+ var c27x = c7x;
281
+ var c27y = c7y;
282
+ var c28x = c22x;
283
+ var c28y = c22y;
284
+ var c29x = b5x;
285
+ var c29y = b5y;
286
+ vertices[++iv] = c23x;
287
+ vertices[++iv] = c23y;
288
+ vertices[++iv] = c24x;
289
+ vertices[++iv] = c24y;
290
+ vertices[++iv] = c25x;
291
+ vertices[++iv] = c25y;
292
+ vertices[++iv] = c26x;
293
+ vertices[++iv] = c26y;
294
+ vertices[++iv] = c27x;
295
+ vertices[++iv] = c27y;
296
+ vertices[++iv] = c28x;
297
+ vertices[++iv] = c28y;
298
+ vertices[++iv] = c29x;
299
+ vertices[++iv] = c29y;
300
+ // 30------31 37------38
301
+ // | | | |
302
+ // | | | |
303
+ // 32--33--34 39--40--41
304
+ // | | | |
305
+ // |---| |---|
306
+ // 35 36 42 43
307
+ var c30x = c21x;
308
+ var c30y = c21y;
309
+ var c31x = c22x;
310
+ var c31y = c22y;
311
+ var c32x = c8x;
312
+ var c32y = c8y;
313
+ var c33x = c9x;
314
+ var c33y = c9y;
315
+ var c34x = b7x - r03x;
316
+ var c34y = b7y - r03y;
317
+ var c35x = c11x;
318
+ var c35y = c11y;
319
+ var c36x = b7x;
320
+ var c36y = b7y;
321
+ vertices[++iv] = c30x;
322
+ vertices[++iv] = c30y;
323
+ vertices[++iv] = c31x;
324
+ vertices[++iv] = c31y;
325
+ vertices[++iv] = c32x;
326
+ vertices[++iv] = c32y;
327
+ vertices[++iv] = c33x;
328
+ vertices[++iv] = c33y;
329
+ vertices[++iv] = c34x;
330
+ vertices[++iv] = c34y;
331
+ vertices[++iv] = c35x;
332
+ vertices[++iv] = c35y;
333
+ vertices[++iv] = c36x;
334
+ vertices[++iv] = c36y;
335
+ var c37x = c31x;
336
+ var c37y = c31y;
337
+ var c38x = c29x;
338
+ var c38y = c29y;
339
+ var c39x = c34x;
340
+ var c39y = c34y;
341
+ var c40x = c12x;
342
+ var c40y = c12y;
343
+ var c41x = c13x;
344
+ var c41y = c13y;
345
+ var c42x = c36x;
346
+ var c42y = c36y;
347
+ var c43x = c14x;
348
+ var c43y = c14y;
349
+ vertices[++iv] = c37x;
350
+ vertices[++iv] = c37y;
351
+ vertices[++iv] = c38x;
352
+ vertices[++iv] = c38y;
353
+ vertices[++iv] = c39x;
354
+ vertices[++iv] = c39y;
355
+ vertices[++iv] = c40x;
356
+ vertices[++iv] = c40y;
357
+ vertices[++iv] = c41x;
358
+ vertices[++iv] = c41y;
359
+ vertices[++iv] = c42x;
360
+ vertices[++iv] = c42y;
361
+ vertices[++iv] = c43x;
362
+ vertices[++iv] = c43y;
363
+ // World size
364
+ worldSize[0] = ax;
365
+ worldSize[1] = ay;
366
+ worldSize[2] = a;
367
+ worldSize[3] = rx;
368
+ worldSize[4] = ry;
467
369
  };
468
370
  export var buildRectangleRoundedStep = function (steps, voffset, strokeWidth, strokeSide, strokeStyle, corner, worldSize) {
469
371
  var scaleInvariant = toScaleInvariant(strokeStyle);
470
- var sc = worldSize[0];
471
- var sx = worldSize[1];
472
- var sy = worldSize[2];
473
- var rxc = Math.max(0, 1 - worldSize[0] / worldSize[1]);
474
- var ryc = Math.max(0, 1 - worldSize[0] / worldSize[2]);
475
- var wt;
476
- var zt;
477
- var bt;
478
- if (strokeSide & EShapeStrokeSide.TOP) {
479
- wt = +2;
480
- zt = +1;
481
- bt = +1 + ryc;
482
- }
483
- else {
484
- wt = -2;
485
- zt = -1;
486
- bt = -1 - ryc;
487
- }
488
- var wr;
489
- var zr;
490
- var br;
491
- if (strokeSide & EShapeStrokeSide.RIGHT) {
492
- wr = +2;
493
- zr = +1;
494
- br = +1 + rxc;
495
- }
496
- else {
497
- wr = -2;
498
- zr = -1;
499
- br = -1 - rxc;
500
- }
501
- var wb;
502
- var zb;
503
- var bb;
504
- if (strokeSide & EShapeStrokeSide.BOTTOM) {
505
- wb = +2;
506
- zb = +1;
507
- bb = +1 + ryc;
508
- }
509
- else {
510
- wb = -2;
511
- zb = -1;
512
- bb = -1 - ryc;
513
- }
514
- var wl;
515
- var zl;
516
- var bl;
517
- if (strokeSide & EShapeStrokeSide.LEFT) {
518
- wl = +2;
519
- zl = +1;
520
- bl = +1 + rxc;
521
- }
522
- else {
523
- wl = -2;
524
- zl = -1;
525
- bl = -1 - rxc;
526
- }
527
- // Top-left corner
372
+ var ax = worldSize[0];
373
+ var ay = worldSize[1];
374
+ var a = worldSize[2];
375
+ var wt = strokeSide & EShapeStrokeSide.TOP ? 1 : 0;
376
+ var wr = strokeSide & EShapeStrokeSide.RIGHT ? 1 : 0;
377
+ var wb = strokeSide & EShapeStrokeSide.BOTTOM ? 1 : 0;
378
+ var wl = strokeSide & EShapeStrokeSide.LEFT ? 1 : 0;
379
+ var elt0 = toPackedI4x64(0, scaleInvariant, wl, wt);
380
+ var ert0 = toPackedI4x64(0, scaleInvariant, wr, wt);
381
+ var elb0 = toPackedI4x64(0, scaleInvariant, wl, wb);
382
+ var erb0 = toPackedI4x64(0, scaleInvariant, wr, wb);
383
+ var elt1 = toPackedI4x64(1, scaleInvariant, wl, wt);
384
+ var ert1 = toPackedI4x64(1, scaleInvariant, wr, wt);
385
+ var elb1 = toPackedI4x64(1, scaleInvariant, wl, wb);
386
+ var erb1 = toPackedI4x64(1, scaleInvariant, wr, wb);
387
+ var rxi = 1 - worldSize[3];
388
+ var ryi = 1 - worldSize[4];
389
+ var c11 = toPackedF2x1024(1, 1);
390
+ var c01 = toPackedF2x1024(0, 1);
391
+ var c10 = toPackedF2x1024(1, 0);
392
+ var c00 = toPackedF2x1024(0, 0);
393
+ var cx1 = toPackedF2x1024(rxi, 1);
394
+ var c1y = toPackedF2x1024(1, ryi);
395
+ var cxy = toPackedF2x1024(rxi, ryi);
396
+ var c0y = toPackedF2x1024(0, ryi);
397
+ // c0 c1 c4 c5
398
+ // |---| |---|
399
+ // | | | |
400
+ // |---| |---|
401
+ // c2 c3 c6 c7
402
+ //
403
+ // c8 c9 c12 c13
404
+ // |---| |---|
405
+ // | | | |
406
+ // |---| |---|
407
+ //c10 c11 c14 c15
528
408
  var is = voffset * 6 - 1;
529
409
  if (corner & EShapeCorner.TOP_LEFT) {
530
410
  steps[++is] = strokeWidth;
531
- steps[++is] = scaleInvariant;
532
- steps[++is] = sc;
533
- steps[++is] = sc;
534
- steps[++is] = wl;
535
- steps[++is] = wt;
536
- steps[++is] = strokeWidth;
537
- steps[++is] = scaleInvariant;
538
- steps[++is] = sc;
539
- steps[++is] = sc;
540
- steps[++is] = zl;
541
- steps[++is] = wt;
542
- steps[++is] = strokeWidth;
543
- steps[++is] = scaleInvariant;
544
- steps[++is] = sc;
545
- steps[++is] = sc;
546
- steps[++is] = wl;
547
- steps[++is] = zt;
548
- steps[++is] = strokeWidth;
549
- steps[++is] = scaleInvariant;
550
- steps[++is] = sc;
551
- steps[++is] = sc;
552
- steps[++is] = zl;
553
- steps[++is] = zt;
411
+ steps[++is] = elt1;
412
+ steps[++is] = a;
413
+ steps[++is] = a;
414
+ steps[++is] = c11;
415
+ steps[++is] = 0;
416
+ steps[++is] = strokeWidth;
417
+ steps[++is] = elt1;
418
+ steps[++is] = a;
419
+ steps[++is] = a;
420
+ steps[++is] = c01;
421
+ steps[++is] = 0;
422
+ steps[++is] = strokeWidth;
423
+ steps[++is] = elt1;
424
+ steps[++is] = a;
425
+ steps[++is] = a;
426
+ steps[++is] = c10;
427
+ steps[++is] = 0;
428
+ steps[++is] = strokeWidth;
429
+ steps[++is] = elt1;
430
+ steps[++is] = a;
431
+ steps[++is] = a;
432
+ steps[++is] = c00;
433
+ steps[++is] = 0;
554
434
  }
555
435
  else {
556
436
  steps[++is] = strokeWidth;
557
- steps[++is] = scaleInvariant;
558
- steps[++is] = sx;
559
- steps[++is] = sy;
560
- steps[++is] = wl;
561
- steps[++is] = wt;
562
- steps[++is] = strokeWidth;
563
- steps[++is] = scaleInvariant;
564
- steps[++is] = sx;
565
- steps[++is] = sy;
566
- steps[++is] = bl;
567
- steps[++is] = wt;
568
- steps[++is] = strokeWidth;
569
- steps[++is] = scaleInvariant;
570
- steps[++is] = sx;
571
- steps[++is] = sy;
572
- steps[++is] = wl;
573
- steps[++is] = bt;
574
- steps[++is] = strokeWidth;
575
- steps[++is] = scaleInvariant;
576
- steps[++is] = sx;
577
- steps[++is] = sy;
578
- steps[++is] = bl;
579
- steps[++is] = bt;
437
+ steps[++is] = elt0;
438
+ steps[++is] = ax;
439
+ steps[++is] = ay;
440
+ steps[++is] = c11;
441
+ steps[++is] = 0;
442
+ steps[++is] = strokeWidth;
443
+ steps[++is] = elt0;
444
+ steps[++is] = ax;
445
+ steps[++is] = ay;
446
+ steps[++is] = cx1;
447
+ steps[++is] = 0;
448
+ steps[++is] = strokeWidth;
449
+ steps[++is] = elt0;
450
+ steps[++is] = ax;
451
+ steps[++is] = ay;
452
+ steps[++is] = c1y;
453
+ steps[++is] = 0;
454
+ steps[++is] = strokeWidth;
455
+ steps[++is] = elt0;
456
+ steps[++is] = ax;
457
+ steps[++is] = ay;
458
+ steps[++is] = cxy;
459
+ steps[++is] = 0;
580
460
  }
581
- // Top-right corner
582
461
  if (corner & EShapeCorner.TOP_RIGHT) {
583
462
  steps[++is] = strokeWidth;
584
- steps[++is] = scaleInvariant;
585
- steps[++is] = sc;
586
- steps[++is] = sc;
587
- steps[++is] = zr;
588
- steps[++is] = wt;
589
- steps[++is] = strokeWidth;
590
- steps[++is] = scaleInvariant;
591
- steps[++is] = sc;
592
- steps[++is] = sc;
593
- steps[++is] = wr;
594
- steps[++is] = wt;
595
- steps[++is] = strokeWidth;
596
- steps[++is] = scaleInvariant;
597
- steps[++is] = sc;
598
- steps[++is] = sc;
599
- steps[++is] = zr;
600
- steps[++is] = zt;
601
- steps[++is] = strokeWidth;
602
- steps[++is] = scaleInvariant;
603
- steps[++is] = sc;
604
- steps[++is] = sc;
605
- steps[++is] = wr;
606
- steps[++is] = zt;
463
+ steps[++is] = ert1;
464
+ steps[++is] = a;
465
+ steps[++is] = a;
466
+ steps[++is] = c01;
467
+ steps[++is] = 0;
468
+ steps[++is] = strokeWidth;
469
+ steps[++is] = ert1;
470
+ steps[++is] = a;
471
+ steps[++is] = a;
472
+ steps[++is] = c11;
473
+ steps[++is] = 0;
474
+ steps[++is] = strokeWidth;
475
+ steps[++is] = ert1;
476
+ steps[++is] = a;
477
+ steps[++is] = a;
478
+ steps[++is] = c00;
479
+ steps[++is] = 0;
480
+ steps[++is] = strokeWidth;
481
+ steps[++is] = ert1;
482
+ steps[++is] = a;
483
+ steps[++is] = a;
484
+ steps[++is] = c10;
485
+ steps[++is] = 0;
607
486
  }
608
487
  else {
609
488
  steps[++is] = strokeWidth;
610
- steps[++is] = scaleInvariant;
611
- steps[++is] = sx;
612
- steps[++is] = sy;
613
- steps[++is] = br;
614
- steps[++is] = wt;
615
- steps[++is] = strokeWidth;
616
- steps[++is] = scaleInvariant;
617
- steps[++is] = sx;
618
- steps[++is] = sy;
619
- steps[++is] = wr;
620
- steps[++is] = wt;
621
- steps[++is] = strokeWidth;
622
- steps[++is] = scaleInvariant;
623
- steps[++is] = sx;
624
- steps[++is] = sy;
625
- steps[++is] = br;
626
- steps[++is] = bt;
627
- steps[++is] = strokeWidth;
628
- steps[++is] = scaleInvariant;
629
- steps[++is] = sx;
630
- steps[++is] = sy;
631
- steps[++is] = wr;
632
- steps[++is] = bt;
489
+ steps[++is] = ert0;
490
+ steps[++is] = ax;
491
+ steps[++is] = ay;
492
+ steps[++is] = cx1;
493
+ steps[++is] = 0;
494
+ steps[++is] = strokeWidth;
495
+ steps[++is] = ert0;
496
+ steps[++is] = ax;
497
+ steps[++is] = ay;
498
+ steps[++is] = c11;
499
+ steps[++is] = 0;
500
+ steps[++is] = strokeWidth;
501
+ steps[++is] = ert0;
502
+ steps[++is] = ax;
503
+ steps[++is] = ay;
504
+ steps[++is] = cxy;
505
+ steps[++is] = 0;
506
+ steps[++is] = strokeWidth;
507
+ steps[++is] = ert0;
508
+ steps[++is] = ax;
509
+ steps[++is] = ay;
510
+ steps[++is] = c1y;
511
+ steps[++is] = 0;
633
512
  }
634
- // Bottom-left corner
635
513
  if (corner & EShapeCorner.BOTTOM_LEFT) {
636
514
  steps[++is] = strokeWidth;
637
- steps[++is] = scaleInvariant;
638
- steps[++is] = sc;
639
- steps[++is] = sc;
640
- steps[++is] = wl;
641
- steps[++is] = zb;
642
- steps[++is] = strokeWidth;
643
- steps[++is] = scaleInvariant;
644
- steps[++is] = sc;
645
- steps[++is] = sc;
646
- steps[++is] = zl;
647
- steps[++is] = zb;
648
- steps[++is] = strokeWidth;
649
- steps[++is] = scaleInvariant;
650
- steps[++is] = sc;
651
- steps[++is] = sc;
652
- steps[++is] = wl;
653
- steps[++is] = wb;
654
- steps[++is] = strokeWidth;
655
- steps[++is] = scaleInvariant;
656
- steps[++is] = sc;
657
- steps[++is] = sc;
658
- steps[++is] = zl;
659
- steps[++is] = wb;
515
+ steps[++is] = elb1;
516
+ steps[++is] = a;
517
+ steps[++is] = a;
518
+ steps[++is] = c10;
519
+ steps[++is] = 0;
520
+ steps[++is] = strokeWidth;
521
+ steps[++is] = elb1;
522
+ steps[++is] = a;
523
+ steps[++is] = a;
524
+ steps[++is] = c00;
525
+ steps[++is] = 0;
526
+ steps[++is] = strokeWidth;
527
+ steps[++is] = elb1;
528
+ steps[++is] = a;
529
+ steps[++is] = a;
530
+ steps[++is] = c11;
531
+ steps[++is] = 0;
532
+ steps[++is] = strokeWidth;
533
+ steps[++is] = elb1;
534
+ steps[++is] = a;
535
+ steps[++is] = a;
536
+ steps[++is] = c01;
537
+ steps[++is] = 0;
660
538
  }
661
539
  else {
662
540
  steps[++is] = strokeWidth;
663
- steps[++is] = scaleInvariant;
664
- steps[++is] = sx;
665
- steps[++is] = sy;
666
- steps[++is] = wl;
667
- steps[++is] = bb;
668
- steps[++is] = strokeWidth;
669
- steps[++is] = scaleInvariant;
670
- steps[++is] = sx;
671
- steps[++is] = sy;
672
- steps[++is] = bl;
673
- steps[++is] = bb;
674
- steps[++is] = strokeWidth;
675
- steps[++is] = scaleInvariant;
676
- steps[++is] = sx;
677
- steps[++is] = sy;
678
- steps[++is] = wl;
679
- steps[++is] = wb;
680
- steps[++is] = strokeWidth;
681
- steps[++is] = scaleInvariant;
682
- steps[++is] = sx;
683
- steps[++is] = sy;
684
- steps[++is] = bl;
685
- steps[++is] = wb;
541
+ steps[++is] = elb0;
542
+ steps[++is] = ax;
543
+ steps[++is] = ay;
544
+ steps[++is] = c1y;
545
+ steps[++is] = 0;
546
+ steps[++is] = strokeWidth;
547
+ steps[++is] = elb0;
548
+ steps[++is] = ax;
549
+ steps[++is] = ay;
550
+ steps[++is] = cxy;
551
+ steps[++is] = 0;
552
+ steps[++is] = strokeWidth;
553
+ steps[++is] = elb0;
554
+ steps[++is] = ax;
555
+ steps[++is] = ay;
556
+ steps[++is] = c11;
557
+ steps[++is] = 0;
558
+ steps[++is] = strokeWidth;
559
+ steps[++is] = elb0;
560
+ steps[++is] = ax;
561
+ steps[++is] = ay;
562
+ steps[++is] = cx1;
563
+ steps[++is] = 0;
686
564
  }
687
- // Bottom-right corner
688
565
  if (corner & EShapeCorner.BOTTOM_RIGHT) {
689
566
  steps[++is] = strokeWidth;
690
- steps[++is] = scaleInvariant;
691
- steps[++is] = sc;
692
- steps[++is] = sc;
693
- steps[++is] = zr;
694
- steps[++is] = zb;
695
- steps[++is] = strokeWidth;
696
- steps[++is] = scaleInvariant;
697
- steps[++is] = sc;
698
- steps[++is] = sc;
699
- steps[++is] = wr;
700
- steps[++is] = zb;
701
- steps[++is] = strokeWidth;
702
- steps[++is] = scaleInvariant;
703
- steps[++is] = sc;
704
- steps[++is] = sc;
705
- steps[++is] = zr;
706
- steps[++is] = wb;
707
- steps[++is] = strokeWidth;
708
- steps[++is] = scaleInvariant;
709
- steps[++is] = sc;
710
- steps[++is] = sc;
711
- steps[++is] = wr;
712
- steps[++is] = wb;
567
+ steps[++is] = erb1;
568
+ steps[++is] = a;
569
+ steps[++is] = a;
570
+ steps[++is] = c00;
571
+ steps[++is] = 0;
572
+ steps[++is] = strokeWidth;
573
+ steps[++is] = erb1;
574
+ steps[++is] = a;
575
+ steps[++is] = a;
576
+ steps[++is] = c10;
577
+ steps[++is] = 0;
578
+ steps[++is] = strokeWidth;
579
+ steps[++is] = erb1;
580
+ steps[++is] = a;
581
+ steps[++is] = a;
582
+ steps[++is] = c01;
583
+ steps[++is] = 0;
584
+ steps[++is] = strokeWidth;
585
+ steps[++is] = erb1;
586
+ steps[++is] = a;
587
+ steps[++is] = a;
588
+ steps[++is] = c11;
589
+ steps[++is] = 0;
713
590
  }
714
591
  else {
715
592
  steps[++is] = strokeWidth;
716
- steps[++is] = scaleInvariant;
717
- steps[++is] = sx;
718
- steps[++is] = sy;
719
- steps[++is] = br;
720
- steps[++is] = bb;
721
- steps[++is] = strokeWidth;
722
- steps[++is] = scaleInvariant;
723
- steps[++is] = sx;
724
- steps[++is] = sy;
725
- steps[++is] = wr;
726
- steps[++is] = bb;
727
- steps[++is] = strokeWidth;
728
- steps[++is] = scaleInvariant;
729
- steps[++is] = sx;
730
- steps[++is] = sy;
731
- steps[++is] = br;
732
- steps[++is] = wb;
733
- steps[++is] = strokeWidth;
734
- steps[++is] = scaleInvariant;
735
- steps[++is] = sx;
736
- steps[++is] = sy;
737
- steps[++is] = wr;
738
- steps[++is] = wb;
593
+ steps[++is] = erb0;
594
+ steps[++is] = ax;
595
+ steps[++is] = ay;
596
+ steps[++is] = cxy;
597
+ steps[++is] = 0;
598
+ steps[++is] = strokeWidth;
599
+ steps[++is] = erb0;
600
+ steps[++is] = ax;
601
+ steps[++is] = ay;
602
+ steps[++is] = c1y;
603
+ steps[++is] = 0;
604
+ steps[++is] = strokeWidth;
605
+ steps[++is] = erb0;
606
+ steps[++is] = ax;
607
+ steps[++is] = ay;
608
+ steps[++is] = cx1;
609
+ steps[++is] = 0;
610
+ steps[++is] = strokeWidth;
611
+ steps[++is] = erb0;
612
+ steps[++is] = ax;
613
+ steps[++is] = ay;
614
+ steps[++is] = c11;
615
+ steps[++is] = 0;
739
616
  }
740
- // Top edge
617
+ // 16 17 23 24
618
+ // |---| |---|
619
+ // | | | |
620
+ // 18--19--20 25--26--27
621
+ // | | | |
622
+ // | | | |
623
+ // 21------22 28------29
624
+ steps[++is] = strokeWidth;
625
+ steps[++is] = elt0;
626
+ steps[++is] = ax;
627
+ steps[++is] = ay;
628
+ steps[++is] = cx1;
629
+ steps[++is] = 0;
630
+ steps[++is] = strokeWidth;
631
+ steps[++is] = elt0;
632
+ steps[++is] = ax;
633
+ steps[++is] = ay;
634
+ steps[++is] = c01;
635
+ steps[++is] = 0;
636
+ steps[++is] = strokeWidth;
637
+ steps[++is] = elt0;
638
+ steps[++is] = ax;
639
+ steps[++is] = ay;
640
+ steps[++is] = c1y;
641
+ steps[++is] = 0;
642
+ steps[++is] = strokeWidth;
643
+ steps[++is] = elt0;
644
+ steps[++is] = ax;
645
+ steps[++is] = ay;
646
+ steps[++is] = cxy;
647
+ steps[++is] = 0;
648
+ steps[++is] = strokeWidth;
649
+ steps[++is] = elt0;
650
+ steps[++is] = ax;
651
+ steps[++is] = ay;
652
+ steps[++is] = c0y;
653
+ steps[++is] = 0;
741
654
  steps[++is] = strokeWidth;
742
- steps[++is] = scaleInvariant;
743
- steps[++is] = sx;
744
- steps[++is] = sy;
745
- steps[++is] = bl;
746
- steps[++is] = wt;
655
+ steps[++is] = elt0;
656
+ steps[++is] = ax;
657
+ steps[++is] = ay;
658
+ steps[++is] = c10;
659
+ steps[++is] = 0;
747
660
  steps[++is] = strokeWidth;
748
- steps[++is] = scaleInvariant;
749
- steps[++is] = sx;
750
- steps[++is] = sy;
751
- steps[++is] = zl;
752
- steps[++is] = wt;
661
+ steps[++is] = elt0;
662
+ steps[++is] = ax;
663
+ steps[++is] = ay;
664
+ steps[++is] = c00;
665
+ steps[++is] = 0;
753
666
  steps[++is] = strokeWidth;
754
- steps[++is] = scaleInvariant;
755
- steps[++is] = sx;
756
- steps[++is] = sy;
757
- steps[++is] = br;
758
- steps[++is] = wt;
759
- // Top
667
+ steps[++is] = ert0;
668
+ steps[++is] = ax;
669
+ steps[++is] = ay;
670
+ steps[++is] = c01;
671
+ steps[++is] = 0;
760
672
  steps[++is] = strokeWidth;
761
- steps[++is] = scaleInvariant;
762
- steps[++is] = sx;
763
- steps[++is] = sy;
764
- steps[++is] = wl;
765
- steps[++is] = bt;
673
+ steps[++is] = ert0;
674
+ steps[++is] = ax;
675
+ steps[++is] = ay;
676
+ steps[++is] = cx1;
677
+ steps[++is] = 0;
766
678
  steps[++is] = strokeWidth;
767
- steps[++is] = scaleInvariant;
768
- steps[++is] = sx;
769
- steps[++is] = sy;
770
- steps[++is] = bl;
771
- steps[++is] = bt;
679
+ steps[++is] = ert0;
680
+ steps[++is] = ax;
681
+ steps[++is] = ay;
682
+ steps[++is] = c0y;
683
+ steps[++is] = 0;
772
684
  steps[++is] = strokeWidth;
773
- steps[++is] = scaleInvariant;
774
- steps[++is] = sx;
775
- steps[++is] = sy;
776
- steps[++is] = zl;
777
- steps[++is] = bt;
685
+ steps[++is] = ert0;
686
+ steps[++is] = ax;
687
+ steps[++is] = ay;
688
+ steps[++is] = cxy;
689
+ steps[++is] = 0;
778
690
  steps[++is] = strokeWidth;
779
- steps[++is] = scaleInvariant;
780
- steps[++is] = sx;
781
- steps[++is] = sy;
782
- steps[++is] = br;
783
- steps[++is] = bt;
691
+ steps[++is] = ert0;
692
+ steps[++is] = ax;
693
+ steps[++is] = ay;
694
+ steps[++is] = c1y;
695
+ steps[++is] = 0;
784
696
  steps[++is] = strokeWidth;
785
- steps[++is] = scaleInvariant;
786
- steps[++is] = sx;
787
- steps[++is] = sy;
788
- steps[++is] = wr;
789
- steps[++is] = bt;
790
- // Middle
697
+ steps[++is] = ert0;
698
+ steps[++is] = ax;
699
+ steps[++is] = ay;
700
+ steps[++is] = c00;
701
+ steps[++is] = 0;
791
702
  steps[++is] = strokeWidth;
792
- steps[++is] = scaleInvariant;
793
- steps[++is] = sx;
794
- steps[++is] = sy;
795
- steps[++is] = wl;
796
- steps[++is] = zt;
703
+ steps[++is] = ert0;
704
+ steps[++is] = ax;
705
+ steps[++is] = ay;
706
+ steps[++is] = c10;
707
+ steps[++is] = 0;
708
+ // 30------31 37------38
709
+ // | | | |
710
+ // | | | |
711
+ // 32--33--34 39--40--41
712
+ // | | | |
713
+ // |---| |---|
714
+ // 35 36 42 43
797
715
  steps[++is] = strokeWidth;
798
- steps[++is] = scaleInvariant;
799
- steps[++is] = sx;
800
- steps[++is] = sy;
801
- steps[++is] = zl;
802
- steps[++is] = zt;
716
+ steps[++is] = elb0;
717
+ steps[++is] = ax;
718
+ steps[++is] = ay;
719
+ steps[++is] = c10;
720
+ steps[++is] = 0;
803
721
  steps[++is] = strokeWidth;
804
- steps[++is] = scaleInvariant;
805
- steps[++is] = sx;
806
- steps[++is] = sy;
807
- steps[++is] = zr;
808
- steps[++is] = zb;
722
+ steps[++is] = elb0;
723
+ steps[++is] = ax;
724
+ steps[++is] = ay;
725
+ steps[++is] = c00;
726
+ steps[++is] = 0;
809
727
  steps[++is] = strokeWidth;
810
- steps[++is] = scaleInvariant;
811
- steps[++is] = sx;
812
- steps[++is] = sy;
813
- steps[++is] = wr;
814
- steps[++is] = zb;
815
- // Bottom
728
+ steps[++is] = elb0;
729
+ steps[++is] = ax;
730
+ steps[++is] = ay;
731
+ steps[++is] = c1y;
732
+ steps[++is] = 0;
816
733
  steps[++is] = strokeWidth;
817
- steps[++is] = scaleInvariant;
818
- steps[++is] = sx;
819
- steps[++is] = sy;
820
- steps[++is] = wl;
821
- steps[++is] = bb;
734
+ steps[++is] = elb0;
735
+ steps[++is] = ax;
736
+ steps[++is] = ay;
737
+ steps[++is] = cxy;
738
+ steps[++is] = 0;
822
739
  steps[++is] = strokeWidth;
823
- steps[++is] = scaleInvariant;
824
- steps[++is] = sx;
825
- steps[++is] = sy;
826
- steps[++is] = bl;
827
- steps[++is] = bb;
740
+ steps[++is] = elb0;
741
+ steps[++is] = ax;
742
+ steps[++is] = ay;
743
+ steps[++is] = c0y;
744
+ steps[++is] = 0;
828
745
  steps[++is] = strokeWidth;
829
- steps[++is] = scaleInvariant;
830
- steps[++is] = sx;
831
- steps[++is] = sy;
832
- steps[++is] = zb;
833
- steps[++is] = bb;
746
+ steps[++is] = elb0;
747
+ steps[++is] = ax;
748
+ steps[++is] = ay;
749
+ steps[++is] = cx1;
750
+ steps[++is] = 0;
834
751
  steps[++is] = strokeWidth;
835
- steps[++is] = scaleInvariant;
836
- steps[++is] = sx;
837
- steps[++is] = sy;
838
- steps[++is] = br;
839
- steps[++is] = bb;
752
+ steps[++is] = elb0;
753
+ steps[++is] = ax;
754
+ steps[++is] = ay;
755
+ steps[++is] = c01;
756
+ steps[++is] = 0;
840
757
  steps[++is] = strokeWidth;
841
- steps[++is] = scaleInvariant;
842
- steps[++is] = sx;
843
- steps[++is] = sy;
844
- steps[++is] = wr;
845
- steps[++is] = bb;
846
- // Bottom edge
758
+ steps[++is] = erb0;
759
+ steps[++is] = ax;
760
+ steps[++is] = ay;
761
+ steps[++is] = c00;
762
+ steps[++is] = 0;
847
763
  steps[++is] = strokeWidth;
848
- steps[++is] = scaleInvariant;
849
- steps[++is] = sx;
850
- steps[++is] = sy;
851
- steps[++is] = bl;
852
- steps[++is] = wb;
764
+ steps[++is] = erb0;
765
+ steps[++is] = ax;
766
+ steps[++is] = ay;
767
+ steps[++is] = c10;
768
+ steps[++is] = 0;
853
769
  steps[++is] = strokeWidth;
854
- steps[++is] = scaleInvariant;
855
- steps[++is] = sx;
856
- steps[++is] = sy;
857
- steps[++is] = zb;
858
- steps[++is] = wb;
770
+ steps[++is] = erb0;
771
+ steps[++is] = ax;
772
+ steps[++is] = ay;
773
+ steps[++is] = c0y;
774
+ steps[++is] = 0;
859
775
  steps[++is] = strokeWidth;
860
- steps[++is] = scaleInvariant;
861
- steps[++is] = sx;
862
- steps[++is] = sy;
863
- steps[++is] = br;
864
- steps[++is] = wb;
776
+ steps[++is] = erb0;
777
+ steps[++is] = ax;
778
+ steps[++is] = ay;
779
+ steps[++is] = cxy;
780
+ steps[++is] = 0;
781
+ steps[++is] = strokeWidth;
782
+ steps[++is] = erb0;
783
+ steps[++is] = ax;
784
+ steps[++is] = ay;
785
+ steps[++is] = c1y;
786
+ steps[++is] = 0;
787
+ steps[++is] = strokeWidth;
788
+ steps[++is] = erb0;
789
+ steps[++is] = ax;
790
+ steps[++is] = ay;
791
+ steps[++is] = c01;
792
+ steps[++is] = 0;
793
+ steps[++is] = strokeWidth;
794
+ steps[++is] = erb0;
795
+ steps[++is] = ax;
796
+ steps[++is] = ay;
797
+ steps[++is] = cx1;
798
+ steps[++is] = 0;
865
799
  };
866
800
  export var buildRectangleRoundedUv = function (uvs, voffset, textureUvs, worldSize) {
867
- var x0 = textureUvs.x0;
868
- var x1 = textureUvs.x1;
869
- var x2 = textureUvs.x2;
870
- var x3 = textureUvs.x3;
871
- var y0 = textureUvs.y0;
872
- var y1 = textureUvs.y1;
873
- var y2 = textureUvs.y2;
874
- var y3 = textureUvs.y3;
875
- var x4 = 0.5 * (x0 + x1);
876
- var y4 = 0.5 * (y0 + y1);
877
- var x5 = 0.5 * (x3 + x2);
878
- var y5 = 0.5 * (y3 + y2);
879
- var ruvx = (0.5 * worldSize[0]) / worldSize[1];
880
- var ruvy = (0.5 * worldSize[0]) / worldSize[2];
881
- var d0x = ruvx * (x1 - x0);
882
- var d0y = ruvx * (y1 - y0);
883
- var d1x = ruvy * (x3 - x0);
884
- var d1y = ruvy * (y3 - y0);
885
- // UVs
801
+ // b0 b1 b2
802
+ // |-------|-------|
803
+ // | | |
804
+ // b3------b4------b5
805
+ // | | |
806
+ // |-------|-------|
807
+ // b6 b7 b8
808
+ var b0x = textureUvs.x0;
809
+ var b0y = textureUvs.y0;
810
+ var b2x = textureUvs.x1;
811
+ var b2y = textureUvs.y1;
812
+ var b8x = textureUvs.x2;
813
+ var b8y = textureUvs.y2;
814
+ var b6x = textureUvs.x3;
815
+ var b6y = textureUvs.y3;
816
+ var b1x = (b0x + b2x) * 0.5;
817
+ var b1y = (b0y + b2y) * 0.5;
818
+ var b3x = (b0x + b6x) * 0.5;
819
+ var b3y = (b0y + b6y) * 0.5;
820
+ var d01x = b1x - b0x;
821
+ var d01y = b1y - b0y;
822
+ var d03x = b3x - b0x;
823
+ var d03y = b3y - b0y;
824
+ var b4x = b3x + d01x;
825
+ var b4y = b3y + d01y;
826
+ var b5x = b2x + d03x;
827
+ var b5y = b2y + d03y;
828
+ var b7x = b6x + d01x;
829
+ var b7y = b6y + d01y;
830
+ var rx = worldSize[3];
831
+ var ry = worldSize[4];
832
+ var r01x = rx * d01x;
833
+ var r01y = rx * d01y;
834
+ var r03x = ry * d03x;
835
+ var r03y = ry * d03y;
836
+ // c0 c1 c4 c5
837
+ // |---| |---|
838
+ // | | | |
839
+ // |---| |---|
840
+ // c2 c3 c6 c7
841
+ //
842
+ // c8 c9 c12 c13
843
+ // |---| |---|
844
+ // | | | |
845
+ // |---| |---|
846
+ //c10 c11 c14 c15
847
+ var c0x = b0x;
848
+ var c0y = b0y;
849
+ var c1x = c0x + r01x;
850
+ var c1y = c0y + r01y;
851
+ var c2x = c0x + r03x;
852
+ var c2y = c0y + r03y;
853
+ var c3x = c2x + r01x;
854
+ var c3y = c2y + r01y;
886
855
  var iuv = voffset * 2 - 1;
887
- // Top-left corner
888
- uvs[++iuv] = x0;
889
- uvs[++iuv] = y0;
890
- uvs[++iuv] = x0 + d0x;
891
- uvs[++iuv] = y0 + d0y;
892
- uvs[++iuv] = x0 + d1x;
893
- uvs[++iuv] = y0 + d1y;
894
- uvs[++iuv] = x0 + d0x + d1x;
895
- uvs[++iuv] = y0 + d0y + d1y;
896
- // Top-right corner
897
- uvs[++iuv] = x1 - d0x;
898
- uvs[++iuv] = y1 - d0y;
899
- uvs[++iuv] = x1;
900
- uvs[++iuv] = y1;
901
- uvs[++iuv] = x1 - d0x + d1x;
902
- uvs[++iuv] = y1 - d0y + d1y;
903
- uvs[++iuv] = x1 + d1x;
904
- uvs[++iuv] = y1 + d1y;
905
- // Bottom-left corner
906
- uvs[++iuv] = x3 - d1x;
907
- uvs[++iuv] = y3 - d1y;
908
- uvs[++iuv] = x3 + d0x - d1x;
909
- uvs[++iuv] = y3 + d0y - d1y;
910
- uvs[++iuv] = x3;
911
- uvs[++iuv] = y3;
912
- uvs[++iuv] = x3 + d0x;
913
- uvs[++iuv] = y3 + d0y;
914
- // Bottom-right corner
915
- uvs[++iuv] = x2 - d0x - d1x;
916
- uvs[++iuv] = y2 - d0y - d1y;
917
- uvs[++iuv] = x2 - d1x;
918
- uvs[++iuv] = y2 - d1y;
919
- uvs[++iuv] = x2 - d0x;
920
- uvs[++iuv] = y2 - d0y;
921
- uvs[++iuv] = x2;
922
- uvs[++iuv] = y2;
923
- // Top edge
924
- uvs[++iuv] = x0 + d0x;
925
- uvs[++iuv] = y0 + d0y;
926
- uvs[++iuv] = x4;
927
- uvs[++iuv] = y4;
928
- uvs[++iuv] = x1 - d0x;
929
- uvs[++iuv] = y1 - d0y;
930
- // Top
931
- uvs[++iuv] = x0 + d1x;
932
- uvs[++iuv] = y0 + d1y;
933
- uvs[++iuv] = x0 + d1x + d0x;
934
- uvs[++iuv] = y0 + d1y + d0y;
935
- uvs[++iuv] = x4 + d1x;
936
- uvs[++iuv] = y4 + d1y;
937
- uvs[++iuv] = x1 + d1x - d0x;
938
- uvs[++iuv] = y1 + d1y - d0y;
939
- uvs[++iuv] = x1 + d1x;
940
- uvs[++iuv] = y1 + d1y;
941
- // Middle
942
- var x02 = 0.5 * (x0 + x2);
943
- var y02 = 0.5 * (y0 + y2);
944
- uvs[++iuv] = 0.5 * (x0 + x3);
945
- uvs[++iuv] = 0.5 * (y0 + y3);
946
- uvs[++iuv] = x02;
947
- uvs[++iuv] = y02;
948
- uvs[++iuv] = x02;
949
- uvs[++iuv] = y02;
950
- uvs[++iuv] = 0.5 * (x1 + x2);
951
- uvs[++iuv] = 0.5 * (y1 + y2);
952
- // Bottom
953
- uvs[++iuv] = x3 - d1x;
954
- uvs[++iuv] = y3 - d1y;
955
- uvs[++iuv] = x3 - d1x + d0x;
956
- uvs[++iuv] = y3 - d1y + d0y;
957
- uvs[++iuv] = x5 - d1x;
958
- uvs[++iuv] = y5 - d1y;
959
- uvs[++iuv] = x2 - d1x - d0x;
960
- uvs[++iuv] = y2 - d1y - d0y;
961
- uvs[++iuv] = x2 - d1x;
962
- uvs[++iuv] = y2 - d1y;
963
- // Bottom edge
964
- uvs[++iuv] = x3 + d0x;
965
- uvs[++iuv] = y3 + d0y;
966
- uvs[++iuv] = x5;
967
- uvs[++iuv] = y5;
968
- uvs[++iuv] = x2 - d0x;
969
- uvs[++iuv] = y2 - d0y;
856
+ uvs[++iuv] = c0x;
857
+ uvs[++iuv] = c0y;
858
+ uvs[++iuv] = c1x;
859
+ uvs[++iuv] = c1y;
860
+ uvs[++iuv] = c2x;
861
+ uvs[++iuv] = c2y;
862
+ uvs[++iuv] = c3x;
863
+ uvs[++iuv] = c3y;
864
+ var c5x = b2x;
865
+ var c5y = b2y;
866
+ var c4x = b2x - r01x;
867
+ var c4y = b2y - r01y;
868
+ var c6x = c4x + r03x;
869
+ var c6y = c4y + r03y;
870
+ var c7x = c6x + r01x;
871
+ var c7y = c6y + r01y;
872
+ uvs[++iuv] = c4x;
873
+ uvs[++iuv] = c4y;
874
+ uvs[++iuv] = c5x;
875
+ uvs[++iuv] = c5y;
876
+ uvs[++iuv] = c6x;
877
+ uvs[++iuv] = c6y;
878
+ uvs[++iuv] = c7x;
879
+ uvs[++iuv] = c7y;
880
+ var c10x = b6x;
881
+ var c10y = b6y;
882
+ var c8x = c10x - r03x;
883
+ var c8y = c10y - r03y;
884
+ var c11x = c10x + r01x;
885
+ var c11y = c10y + r01y;
886
+ var c9x = c8x + r01x;
887
+ var c9y = c8y + r01y;
888
+ uvs[++iuv] = c8x;
889
+ uvs[++iuv] = c8y;
890
+ uvs[++iuv] = c9x;
891
+ uvs[++iuv] = c9y;
892
+ uvs[++iuv] = c10x;
893
+ uvs[++iuv] = c10y;
894
+ uvs[++iuv] = c11x;
895
+ uvs[++iuv] = c11y;
896
+ var c15x = b8x;
897
+ var c15y = b8y;
898
+ var c14x = c15x - r01x;
899
+ var c14y = c15y - r01y;
900
+ var c13x = c15x - r03x;
901
+ var c13y = c15y - r03y;
902
+ var c12x = c13x - r01x;
903
+ var c12y = c13y - r01y;
904
+ uvs[++iuv] = c12x;
905
+ uvs[++iuv] = c12y;
906
+ uvs[++iuv] = c13x;
907
+ uvs[++iuv] = c13y;
908
+ uvs[++iuv] = c14x;
909
+ uvs[++iuv] = c14y;
910
+ uvs[++iuv] = c15x;
911
+ uvs[++iuv] = c15y;
912
+ // 16 17 23 24
913
+ // |---| |---|
914
+ // | | | |
915
+ // 18--19--20 25--26--27
916
+ // | | | |
917
+ // | | | |
918
+ // 21------22 28------29
919
+ var c16x = c1x;
920
+ var c16y = c1y;
921
+ var c17x = b1x;
922
+ var c17y = b1y;
923
+ var c18x = c2x;
924
+ var c18y = c2y;
925
+ var c19x = c3x;
926
+ var c19y = c3y;
927
+ var c20x = c17x + r03x;
928
+ var c20y = c17y + r03y;
929
+ var c21x = b3x;
930
+ var c21y = b3y;
931
+ var c22x = b4x;
932
+ var c22y = b4y;
933
+ uvs[++iuv] = c16x;
934
+ uvs[++iuv] = c16y;
935
+ uvs[++iuv] = c17x;
936
+ uvs[++iuv] = c17y;
937
+ uvs[++iuv] = c18x;
938
+ uvs[++iuv] = c18y;
939
+ uvs[++iuv] = c19x;
940
+ uvs[++iuv] = c19y;
941
+ uvs[++iuv] = c20x;
942
+ uvs[++iuv] = c20y;
943
+ uvs[++iuv] = c21x;
944
+ uvs[++iuv] = c21y;
945
+ uvs[++iuv] = c22x;
946
+ uvs[++iuv] = c22y;
947
+ var c23x = c17x;
948
+ var c23y = c17y;
949
+ var c24x = c4x;
950
+ var c24y = c4y;
951
+ var c25x = c20x;
952
+ var c25y = c20y;
953
+ var c26x = c6x;
954
+ var c26y = c6y;
955
+ var c27x = c7x;
956
+ var c27y = c7y;
957
+ var c28x = c22x;
958
+ var c28y = c22y;
959
+ var c29x = b5x;
960
+ var c29y = b5y;
961
+ uvs[++iuv] = c23x;
962
+ uvs[++iuv] = c23y;
963
+ uvs[++iuv] = c24x;
964
+ uvs[++iuv] = c24y;
965
+ uvs[++iuv] = c25x;
966
+ uvs[++iuv] = c25y;
967
+ uvs[++iuv] = c26x;
968
+ uvs[++iuv] = c26y;
969
+ uvs[++iuv] = c27x;
970
+ uvs[++iuv] = c27y;
971
+ uvs[++iuv] = c28x;
972
+ uvs[++iuv] = c28y;
973
+ uvs[++iuv] = c29x;
974
+ uvs[++iuv] = c29y;
975
+ // 30------31 37------38
976
+ // | | | |
977
+ // | | | |
978
+ // 32--33--34 39--40--41
979
+ // | | | |
980
+ // |---| |---|
981
+ // 35 36 42 43
982
+ var c30x = c21x;
983
+ var c30y = c21y;
984
+ var c31x = c22x;
985
+ var c31y = c22y;
986
+ var c32x = c8x;
987
+ var c32y = c8y;
988
+ var c33x = c9x;
989
+ var c33y = c9y;
990
+ var c34x = b7x - r03x;
991
+ var c34y = b7y - r03y;
992
+ var c35x = c11x;
993
+ var c35y = c11y;
994
+ var c36x = b7x;
995
+ var c36y = b7y;
996
+ uvs[++iuv] = c30x;
997
+ uvs[++iuv] = c30y;
998
+ uvs[++iuv] = c31x;
999
+ uvs[++iuv] = c31y;
1000
+ uvs[++iuv] = c32x;
1001
+ uvs[++iuv] = c32y;
1002
+ uvs[++iuv] = c33x;
1003
+ uvs[++iuv] = c33y;
1004
+ uvs[++iuv] = c34x;
1005
+ uvs[++iuv] = c34y;
1006
+ uvs[++iuv] = c35x;
1007
+ uvs[++iuv] = c35y;
1008
+ uvs[++iuv] = c36x;
1009
+ uvs[++iuv] = c36y;
1010
+ var c37x = c31x;
1011
+ var c37y = c31y;
1012
+ var c38x = c29x;
1013
+ var c38y = c29y;
1014
+ var c39x = c34x;
1015
+ var c39y = c34y;
1016
+ var c40x = c12x;
1017
+ var c40y = c12y;
1018
+ var c41x = c13x;
1019
+ var c41y = c13y;
1020
+ var c42x = c36x;
1021
+ var c42y = c36y;
1022
+ var c43x = c14x;
1023
+ var c43y = c14y;
1024
+ uvs[++iuv] = c37x;
1025
+ uvs[++iuv] = c37y;
1026
+ uvs[++iuv] = c38x;
1027
+ uvs[++iuv] = c38y;
1028
+ uvs[++iuv] = c39x;
1029
+ uvs[++iuv] = c39y;
1030
+ uvs[++iuv] = c40x;
1031
+ uvs[++iuv] = c40y;
1032
+ uvs[++iuv] = c41x;
1033
+ uvs[++iuv] = c41y;
1034
+ uvs[++iuv] = c42x;
1035
+ uvs[++iuv] = c42y;
1036
+ uvs[++iuv] = c43x;
1037
+ uvs[++iuv] = c43y;
970
1038
  };
971
1039
  //# sourceMappingURL=build-rectangle-rounded.js.map