@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.
- package/dist/types/wcardinal/ui/d-pagination.d.ts +41 -1
- package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +3 -9
- package/dist/types/wcardinal/ui/shape/e-shape-container.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/build-bar.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-circle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-color.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/build-image-sdf.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-line-of-any.d.ts +17 -1
- package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +2 -3
- package/dist/types/wcardinal/ui/shape/variant/build-null.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-rectangle-rounded.d.ts +2 -3
- package/dist/types/wcardinal/ui/shape/variant/build-rectangle.d.ts +4 -5
- package/dist/types/wcardinal/ui/shape/variant/build-semicircle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/build-triangle-rounded.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/build-triangle.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +9 -18
- package/dist/types/wcardinal/ui/shape/variant/index.d.ts +0 -1
- package/dist/types/wcardinal/ui/shape/variant/to-dash.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/variant/to-normal-packed.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-normal.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-packed.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/variant/to-vector-length.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/to-vector.d.ts +1 -0
- package/dist/wcardinal/ui/d-pagination.js +59 -7
- package/dist/wcardinal/ui/d-pagination.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-buffer.js +10 -30
- package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-renderer.js +4 -5
- package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-bar.js +37 -63
- package/dist/wcardinal/ui/shape/variant/build-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-circle.js +63 -40
- package/dist/wcardinal/ui/shape/variant/build-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-color.js +8 -11
- package/dist/wcardinal/ui/shape/variant/build-color.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-image-sdf.js +30 -37
- package/dist/wcardinal/ui/shape/variant/build-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +244 -25
- package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line.js +149 -129
- package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-null.js +0 -7
- package/dist/wcardinal/ui/shape/variant/build-null.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js +917 -849
- package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-rectangle.js +279 -353
- package/dist/wcardinal/ui/shape/variant/build-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-semicircle.js +45 -31
- package/dist/wcardinal/ui/shape/variant/build-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-text.js +6 -13
- package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js +255 -128
- package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-triangle.js +55 -35
- package/dist/wcardinal/ui/shape/variant/build-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-bar.js +8 -11
- package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-base.js +18 -22
- package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-circle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +3 -6
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +13 -17
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +5 -12
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +10 -26
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +9 -25
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +9 -25
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +5 -12
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line.js +13 -27
- package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +27 -19
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +6 -12
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -13
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-text.js +19 -28
- package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -12
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js +4 -7
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder.js +18 -14
- package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/index.js +0 -1
- package/dist/wcardinal/ui/shape/variant/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/to-dash.js +8 -9
- package/dist/wcardinal/ui/shape/variant/to-dash.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/to-normal-packed.js +7 -0
- package/dist/wcardinal/ui/shape/variant/to-normal-packed.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-normal.js +15 -0
- package/dist/wcardinal/ui/shape/variant/to-normal.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-packed.js +7 -0
- package/dist/wcardinal/ui/shape/variant/to-packed.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-vector-length.js +4 -0
- package/dist/wcardinal/ui/shape/variant/to-vector-length.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/to-vector.js +6 -0
- package/dist/wcardinal/ui/shape/variant/to-vector.js.map +1 -0
- package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +2365 -2101
- package/dist/wcardinal-ui.js +2361 -2097
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/wcardinal/ui/shape/variant/copy-clipping.d.ts +0 -1
- package/dist/wcardinal/ui/shape/variant/copy-clipping.js +0 -20
- package/dist/wcardinal/ui/shape/variant/copy-clipping.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-line.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-line.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix, Point, TextureUvs } from \"pixi.js\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toDash } from \"./to-dash\";\nimport { toLength } from \"./to-length\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\n\nconst LINE_FMIN: number = 0.00001;\nconst LINE_WORK_POINT: Point = new Point();\n\nexport const toPointCount = (points?: EShapePoints): number => {\n\tif (points) {\n\t\treturn points.formatted.plength;\n\t}\n\treturn 0;\n};\n\nexport const toLinePointCount = (points?: EShapePoints): number => {\n\tconst pointCount = toPointCount(points);\n\treturn ((pointCount >> 4) + (0 < (pointCount & 0xf) ? 1 : 0)) << 4;\n};\n\nexport const toLineVertexCount = (pointCount: number, isClosed: boolean): number => {\n\tif (isClosed) {\n\t\treturn (pointCount << 2) + 2;\n\t} else {\n\t\treturn pointCount << 2;\n\t}\n};\n\nexport const toLineIndexCount = (pointCount: number, isClosed: boolean): number => {\n\treturn toLineVertexCount(pointCount, isClosed) - 2;\n};\n\nexport const buildLineClipping = (\n\tclippings: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tpointCount: number\n): void => {\n\tlet ic = voffset * 3 - 1;\n\tconst icmax = (voffset + vcount) * 3 - 1;\n\tfor (let i = 0; i < pointCount; ++i) {\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 3;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 5;\n\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 4;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 6;\n\t}\n\tfor (; ic < icmax; ) {\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 3;\n\n\t\tclippings[++ic] = 0;\n\t\tclippings[++ic] = 1;\n\t\tclippings[++ic] = 5;\n\t}\n};\n\nexport const buildLineIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number,\n\ticount: number\n): void => {\n\tlet ii = ioffset * 3 - 1;\n\tconst iimax = (ioffset + icount) * 3 - 1;\n\tlet io = voffset;\n\tfor (; ii < iimax; ) {\n\t\tindices[++ii] = io + 0;\n\t\tindices[++ii] = io + 2;\n\t\tindices[++ii] = io + 1;\n\n\t\tindices[++ii] = io + 1;\n\t\tindices[++ii] = io + 2;\n\t\tindices[++ii] = io + 3;\n\t\tio += 2;\n\t}\n};\n\nexport const buildLineUv = (\n\tuvs: Float32Array,\n\tcolorFills: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\ttextureUvs: TextureUvs,\n\tlength: number\n): void => {\n\tconst lengthInverse = 1 / Math.max(LINE_FMIN, length);\n\n\tconst x0 = textureUvs.x0;\n\tconst x1 = textureUvs.x1;\n\tconst x2 = textureUvs.x2;\n\tconst x3 = textureUvs.x3;\n\tconst y0 = textureUvs.y0;\n\tconst y1 = textureUvs.y1;\n\tconst y2 = textureUvs.y2;\n\tconst y3 = textureUvs.y3;\n\n\tconst dx01 = x1 - x0;\n\tconst dy01 = y1 - y0;\n\tconst dx32 = x2 - x3;\n\tconst dy32 = y2 - y3;\n\n\tlet iuv = (voffset << 1) - 1;\n\tconst iuvmax = ((voffset + vcount) << 1) - 1;\n\tlet icf = (voffset << 2) - 8;\n\tfor (; iuv < iuvmax; ) {\n\t\tconst r = colorFills[(icf += 8)] * lengthInverse;\n\t\tuvs[++iuv] = x0 + r * dx01;\n\t\tuvs[++iuv] = y0 + r * dy01;\n\t\tuvs[++iuv] = x3 + r * dx32;\n\t\tuvs[++iuv] = y3 + r * dy32;\n\t}\n};\n\nlet TRANSFORMED_POINT_VALUES: number[] | undefined;\n\nexport const buildLineVertexStepAndColorFill = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tcolorFills: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tpointCount: number,\n\tpointsClosed: boolean,\n\tpointValues: number[],\n\tpointSegments: number[],\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tinternalTransform: Matrix\n): number => {\n\tlet transformedPointValues = TRANSFORMED_POINT_VALUES;\n\tif (transformedPointValues == null) {\n\t\ttransformedPointValues = [];\n\t\tTRANSFORMED_POINT_VALUES = transformedPointValues;\n\t}\n\tconst a = internalTransform.a;\n\tconst b = internalTransform.b;\n\tconst c = internalTransform.c;\n\tconst d = internalTransform.d;\n\tconst tx = internalTransform.tx;\n\tconst ty = internalTransform.ty;\n\tfor (let i = 0; i < pointCount; ++i) {\n\t\tconst iv = i << 1;\n\t\tconst x = pointValues[iv];\n\t\tconst y = pointValues[iv + 1];\n\t\ttransformedPointValues[iv] = a * x + c * y + tx;\n\t\ttransformedPointValues[iv + 1] = b * x + d * y + ty;\n\t}\n\treturn buildTransformedLineVertexStepAndColorFill(\n\t\tvertices,\n\t\tsteps,\n\t\tcolorFills,\n\t\tvoffset,\n\t\tvcount,\n\t\tpointCount,\n\t\tpointsClosed,\n\t\ttransformedPointValues,\n\t\tpointSegments,\n\t\tstrokeWidth,\n\t\tstrokeStyle\n\t);\n};\n\nconst fillTransformedLineVertexStepAndColorFill = (\n\tiv: number,\n\tvertices: Float32Array,\n\tis: number,\n\tsteps: Float32Array,\n\ticf: number,\n\tcolorFills: Float32Array,\n\tpx: number,\n\tpy: number,\n\tstrokeWidth: number,\n\tscaleInvariant: number,\n\tpprevx: number,\n\tpprevy: number,\n\tpnextx: number,\n\tpnexty: number,\n\tllo: number\n): void => {\n\tvertices[++iv] = px;\n\tvertices[++iv] = py;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = pprevx;\n\tsteps[++is] = pprevy;\n\tsteps[++is] = pnextx;\n\tsteps[++is] = pnexty;\n\tcolorFills[(icf += 1)] = llo;\n\n\tvertices[++iv] = px;\n\tvertices[++iv] = py;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = pprevx;\n\tsteps[++is] = pprevy;\n\tsteps[++is] = pnextx;\n\tsteps[++is] = pnexty;\n\tcolorFills[(icf += 4)] = llo;\n};\n\nconst buildTransformedLineVertexStepAndColorFill = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tcolorFills: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tlineVertexCount: number,\n\tlineIsClosed: boolean,\n\tlineVertices: number[],\n\tlineSegments: number[],\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle\n): number => {\n\tconst lineSegmentsLength = lineSegments.length;\n\tif (0 < lineSegmentsLength) {\n\t\tif (lineIsClosed) {\n\t\t\tlet lmax = 0;\n\t\t\tlet lprev = 0;\n\t\t\tlet ivoffset = voffset;\n\n\t\t\tlet iseg = 0;\n\t\t\tlet iprevseg = lineSegments[0];\n\t\t\tfor (let i = 1; i < lineSegmentsLength; ++i) {\n\t\t\t\tiseg = lineSegments[i];\n\t\t\t\tif (2 <= iseg - iprevseg) {\n\t\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStepAndColorFill(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tcolorFills,\n\t\t\t\t\t\tivoffset,\n\t\t\t\t\t\t-1,\n\t\t\t\t\t\tlineVertices,\n\t\t\t\t\t\tiprevseg,\n\t\t\t\t\t\tiseg,\n\t\t\t\t\t\tlineVertexCount,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tlprev\n\t\t\t\t\t);\n\t\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\t\tivoffset += toLineVertexCount(iseg - iprevseg, false);\n\t\t\t\t}\n\t\t\t\tiprevseg = iseg;\n\t\t\t}\n\n\t\t\t// Last\n\t\t\tiseg = lineSegments[0] + lineVertexCount;\n\t\t\tif (2 <= iseg - iprevseg) {\n\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStepAndColorFill(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tcolorFills,\n\t\t\t\t\tivoffset,\n\t\t\t\t\tvoffset + vcount - ivoffset,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\tiprevseg,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\tivoffset += toLineVertexCount(iseg - iprevseg, false);\n\t\t\t} else {\n\t\t\t\tbuildTransformedLineEmptyVertexStepAndColorFill(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tcolorFills,\n\t\t\t\t\tivoffset,\n\t\t\t\t\tvoffset + vcount - ivoffset,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\tiprevseg,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn lmax;\n\t\t} else {\n\t\t\tlet lmax = 0;\n\t\t\tlet lprev = 0;\n\t\t\tlet ivoffset = voffset;\n\n\t\t\t// First\n\t\t\tlet iseg = lineSegments[0];\n\t\t\tif (2 <= iseg) {\n\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStepAndColorFill(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tcolorFills,\n\t\t\t\t\tivoffset,\n\t\t\t\t\t-1,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\t0,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\tivoffset += toLineVertexCount(iseg, false);\n\t\t\t}\n\n\t\t\t// Middle\n\t\t\tlet iprevseg = iseg;\n\t\t\tfor (let i = 1; i < lineSegmentsLength; ++i) {\n\t\t\t\tiseg = lineSegments[i];\n\t\t\t\tif (2 <= iseg - iprevseg) {\n\t\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStepAndColorFill(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tcolorFills,\n\t\t\t\t\t\tivoffset,\n\t\t\t\t\t\t-1,\n\t\t\t\t\t\tlineVertices,\n\t\t\t\t\t\tiprevseg,\n\t\t\t\t\t\tiseg,\n\t\t\t\t\t\tlineVertexCount,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tlprev\n\t\t\t\t\t);\n\t\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\t\tivoffset += toLineVertexCount(iseg - iprevseg, false);\n\t\t\t\t}\n\t\t\t\tiprevseg = iseg;\n\t\t\t}\n\n\t\t\t// Last\n\t\t\tiseg = lineVertexCount;\n\t\t\tif (2 <= iseg - iprevseg) {\n\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStepAndColorFill(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tcolorFills,\n\t\t\t\t\tivoffset,\n\t\t\t\t\tvoffset + vcount - ivoffset,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\tiprevseg,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\tivoffset += toLineVertexCount(iseg - iprevseg, false);\n\t\t\t} else {\n\t\t\t\tbuildTransformedLineEmptyVertexStepAndColorFill(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tcolorFills,\n\t\t\t\t\tivoffset,\n\t\t\t\t\tvoffset + vcount - ivoffset,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\tiprevseg,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn lmax;\n\t\t}\n\t} else {\n\t\tif (lineIsClosed) {\n\t\t\treturn buildTransformedLineClosedSegmentVertexStepAndColorFill(\n\t\t\t\tvertices,\n\t\t\t\tsteps,\n\t\t\t\tcolorFills,\n\t\t\t\tvoffset,\n\t\t\t\tvcount,\n\t\t\t\tlineVertices,\n\t\t\t\t0,\n\t\t\t\tlineVertexCount,\n\t\t\t\tlineVertexCount,\n\t\t\t\tstrokeWidth,\n\t\t\t\tstrokeStyle\n\t\t\t);\n\t\t} else {\n\t\t\treturn buildTransformedLineOpenSegmentVertexStepAndColorFill(\n\t\t\t\tvertices,\n\t\t\t\tsteps,\n\t\t\t\tcolorFills,\n\t\t\t\tvoffset,\n\t\t\t\tvcount,\n\t\t\t\tlineVertices,\n\t\t\t\t0,\n\t\t\t\tlineVertexCount,\n\t\t\t\tlineVertexCount,\n\t\t\t\tstrokeWidth,\n\t\t\t\tstrokeStyle,\n\t\t\t\t0\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst buildTransformedLineEmptyVertexStepAndColorFill = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tcolorFills: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tlineVertices: number[],\n\tlineVertexFrom: number,\n\tlineVertexTo: number,\n\tlineVertexCount: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tlength: number\n): number => {\n\tif (0 <= vcount) {\n\t\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\t\tlet iv = (voffset << 1) - 1;\n\t\tlet is = voffset * 6 - 1;\n\t\tlet icf = (voffset << 2) - 1;\n\t\tconst ivmax = ((voffset + vcount) << 1) - 1;\n\t\tconst ifirst = lineVertexFrom % lineVertexCount << 1;\n\t\tconst px = lineVertices[ifirst];\n\t\tconst py = lineVertices[ifirst + 1];\n\t\tfor (; iv < ivmax; ) {\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = scaleInvariant;\n\t\t\tsteps[++is] = -1;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = +1;\n\t\t\tsteps[++is] = 0;\n\t\t\tcolorFills[++icf] = length;\n\t\t\tcolorFills[++icf] = 0;\n\t\t\tcolorFills[++icf] = 0;\n\t\t\tcolorFills[++icf] = length;\n\t\t}\n\t}\n\n\treturn 0;\n};\n\nconst buildTransformedLineOpenSegmentVertexStepAndColorFill = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tcolorFills: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tlineVertices: number[],\n\tlineVertexFrom: number,\n\tlineVertexTo: number,\n\tlineVertexCount: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tlength: number\n): number => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\n\t// First segment\n\tconst ifirst = lineVertexFrom % lineVertexCount << 1;\n\tlet px = lineVertices[ifirst];\n\tlet py = lineVertices[ifirst + 1];\n\tconst isecond = (lineVertexFrom + 1) % lineVertexCount << 1;\n\tlet pnextx = lineVertices[isecond];\n\tlet pnexty = lineVertices[isecond + 1];\n\tlet pprevx = px - (pnextx - px);\n\tlet pprevy = py - (pnexty - py);\n\tlet iv = (voffset << 1) - 1;\n\tlet is = voffset * 6 - 1;\n\tlet icf = (voffset << 2) - 1;\n\tlet l = 0;\n\tfillTransformedLineVertexStepAndColorFill(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\ticf,\n\t\tcolorFills,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tscaleInvariant,\n\t\tpprevx,\n\t\tpprevy,\n\t\tpnextx,\n\t\tpnexty,\n\t\tlength\n\t);\n\tiv += 4;\n\tis += 12;\n\ticf += 8;\n\n\tfillTransformedLineVertexStepAndColorFill(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\ticf,\n\t\tcolorFills,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tscaleInvariant,\n\t\tpprevx,\n\t\tpprevy,\n\t\tpnextx,\n\t\tpnexty,\n\t\tl\n\t);\n\tiv += 4;\n\tis += 12;\n\ticf += 8;\n\n\t// Middle segments\n\tfor (let i = lineVertexFrom + 1, imax = lineVertexTo - 1; i < imax; ++i) {\n\t\tpprevx = px;\n\t\tpprevy = py;\n\t\tpx = pnextx;\n\t\tpy = pnexty;\n\n\t\tconst imiddle = (i + 1) % lineVertexCount << 1;\n\t\tpnextx = lineVertices[imiddle];\n\t\tpnexty = lineVertices[imiddle + 1];\n\n\t\tl += toLength(pprevx, pprevy, px, py);\n\n\t\tfillTransformedLineVertexStepAndColorFill(\n\t\t\tiv,\n\t\t\tvertices,\n\t\t\tis,\n\t\t\tsteps,\n\t\t\ticf,\n\t\t\tcolorFills,\n\t\t\tpx,\n\t\t\tpy,\n\t\t\tstrokeWidth,\n\t\t\tscaleInvariant,\n\t\t\tpprevx,\n\t\t\tpprevy,\n\t\t\tpnextx,\n\t\t\tpnexty,\n\t\t\tl\n\t\t);\n\t\tiv += 4;\n\t\tis += 12;\n\t\ticf += 8;\n\n\t\tfillTransformedLineVertexStepAndColorFill(\n\t\t\tiv,\n\t\t\tvertices,\n\t\t\tis,\n\t\t\tsteps,\n\t\t\ticf,\n\t\t\tcolorFills,\n\t\t\tpx,\n\t\t\tpy,\n\t\t\tstrokeWidth,\n\t\t\tscaleInvariant,\n\t\t\tpprevx,\n\t\t\tpprevy,\n\t\t\tpnextx,\n\t\t\tpnexty,\n\t\t\tl\n\t\t);\n\t\tiv += 4;\n\t\tis += 12;\n\t\ticf += 8;\n\t}\n\n\t// Last segment\n\tpprevx = px;\n\tpprevy = py;\n\tpx = pnextx;\n\tpy = pnexty;\n\n\tpnextx = px + (px - pprevx);\n\tpnexty = py + (py - pprevy);\n\n\tl += toLength(pprevx, pprevy, px, py);\n\n\tfillTransformedLineVertexStepAndColorFill(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\ticf,\n\t\tcolorFills,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tscaleInvariant,\n\t\tpprevx,\n\t\tpprevy,\n\t\tpnextx,\n\t\tpnexty,\n\t\tl\n\t);\n\tiv += 4;\n\tis += 12;\n\ticf += 8;\n\n\tfillTransformedLineVertexStepAndColorFill(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\ticf,\n\t\tcolorFills,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tscaleInvariant,\n\t\tpprevx,\n\t\tpprevy,\n\t\tpnextx,\n\t\tpnexty,\n\t\tl\n\t);\n\tiv += 4;\n\tis += 12;\n\ticf += 8;\n\n\t// Total length\n\tconst dash = toDash(l, strokeWidth, strokeStyle, LINE_WORK_POINT);\n\tconst dash0 = dash.x;\n\tconst dash1 = dash.y;\n\tconst icf0 = (voffset << 2) - 1;\n\tfor (let i = icf0, imax = icf0 + 8; i < imax; i += 4) {\n\t\tcolorFills[i + 2] = dash0;\n\t\tcolorFills[i + 3] = dash1;\n\t\tcolorFills[i + 4] = length;\n\t}\n\tfor (let i = icf0 + 8; i < icf; i += 4) {\n\t\tcolorFills[i + 2] = dash0;\n\t\tcolorFills[i + 3] = dash1;\n\t\tcolorFills[i + 4] = l;\n\t}\n\n\t// Fill the rest\n\tif (0 <= vcount) {\n\t\tconst ivmax = ((voffset + vcount) << 1) - 1;\n\t\tfor (; iv < ivmax; ) {\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = scaleInvariant;\n\t\t\tsteps[++is] = pprevx;\n\t\t\tsteps[++is] = pprevy;\n\t\t\tsteps[++is] = pnextx;\n\t\t\tsteps[++is] = pnexty;\n\t\t\tcolorFills[++icf] = l;\n\t\t\tcolorFills[++icf] = dash0;\n\t\t\tcolorFills[++icf] = dash1;\n\t\t\tcolorFills[++icf] = l;\n\t\t}\n\t}\n\n\treturn l;\n};\n\nconst buildTransformedLineClosedSegmentVertexStepAndColorFill = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tcolorFills: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tlineVertices: number[],\n\tlineVertexFrom: number,\n\tlineVertexTo: number,\n\tlineVertexCount: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle\n): number => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\n\tconst ilast = (lineVertexTo - 1) % lineVertexCount << 1;\n\tlet pprevx = 0;\n\tlet pprevy = 0;\n\tlet px = lineVertices[ilast];\n\tlet py = lineVertices[ilast + 1];\n\tconst ifirst = lineVertexFrom % lineVertexCount << 1;\n\tlet pnextx = lineVertices[ifirst];\n\tlet pnexty = lineVertices[ifirst + 1];\n\tlet l = 0;\n\tlet iv = (voffset << 1) - 1;\n\tlet is = voffset * 6 - 1;\n\tlet icf = (voffset << 2) - 1;\n\tfor (let i = lineVertexFrom; i < lineVertexTo; ++i) {\n\t\tpprevx = px;\n\t\tpprevy = py;\n\t\tpx = pnextx;\n\t\tpy = pnexty;\n\n\t\tconst imiddle = (i + 1) % lineVertexCount << 1;\n\t\tpnextx = lineVertices[imiddle];\n\t\tpnexty = lineVertices[imiddle + 1];\n\n\t\tl += toLength(pprevx, pprevy, px, py);\n\n\t\tfillTransformedLineVertexStepAndColorFill(\n\t\t\tiv,\n\t\t\tvertices,\n\t\t\tis,\n\t\t\tsteps,\n\t\t\ticf,\n\t\t\tcolorFills,\n\t\t\tpx,\n\t\t\tpy,\n\t\t\tstrokeWidth,\n\t\t\tscaleInvariant,\n\t\t\tpprevx,\n\t\t\tpprevy,\n\t\t\tpnextx,\n\t\t\tpnexty,\n\t\t\tl\n\t\t);\n\t\tiv += 4;\n\t\tis += 12;\n\t\ticf += 8;\n\n\t\tfillTransformedLineVertexStepAndColorFill(\n\t\t\tiv,\n\t\t\tvertices,\n\t\t\tis,\n\t\t\tsteps,\n\t\t\ticf,\n\t\t\tcolorFills,\n\t\t\tpx,\n\t\t\tpy,\n\t\t\tstrokeWidth,\n\t\t\tscaleInvariant,\n\t\t\tpprevx,\n\t\t\tpprevy,\n\t\t\tpnextx,\n\t\t\tpnexty,\n\t\t\tl\n\t\t);\n\t\tiv += 4;\n\t\tis += 12;\n\t\ticf += 8;\n\t}\n\n\t// Last segment\n\tpprevx = px;\n\tpprevy = py;\n\tpx = pnextx;\n\tpy = pnexty;\n\n\tconst isecond = (lineVertexFrom + 1) % lineVertexCount << 1;\n\tpnextx = lineVertices[isecond];\n\tpnexty = lineVertices[isecond + 1];\n\n\tl += toLength(pprevx, pprevy, px, py);\n\n\tfillTransformedLineVertexStepAndColorFill(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\ticf,\n\t\tcolorFills,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tscaleInvariant,\n\t\tpprevx,\n\t\tpprevy,\n\t\tpnextx,\n\t\tpnexty,\n\t\tl\n\t);\n\tiv += 4;\n\tis += 12;\n\ticf += 8;\n\n\t// Total length\n\tconst dash = toDash(l, strokeWidth, strokeStyle, LINE_WORK_POINT);\n\tconst dash0 = dash.x;\n\tconst dash1 = dash.y;\n\tfor (let i = (voffset << 2) - 1; i < icf; i += 4) {\n\t\tcolorFills[i + 2] = dash0;\n\t\tcolorFills[i + 3] = dash1;\n\t\tcolorFills[i + 4] = -1;\n\t}\n\n\t// Fill the rest\n\tif (0 <= vcount) {\n\t\tconst ivmax = ((voffset + vcount) << 1) - 1;\n\t\tfor (; iv < ivmax; ) {\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = strokeWidth;\n\t\t\tsteps[++is] = scaleInvariant;\n\t\t\tsteps[++is] = pprevx;\n\t\t\tsteps[++is] = pprevy;\n\t\t\tsteps[++is] = pnextx;\n\t\t\tsteps[++is] = pnexty;\n\t\t\tcolorFills[++icf] = l;\n\t\t\tcolorFills[++icf] = dash0;\n\t\t\tcolorFills[++icf] = dash1;\n\t\t\tcolorFills[++icf] = -1;\n\t\t}\n\t}\n\treturn l;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"build-line.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-line.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix, TextureUvs } from \"pixi.js\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toDash } from \"./to-dash\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\nimport { toNormalPacked } from \"./to-normal-packed\";\nimport { toVectorLength } from \"./to-vector-length\";\nimport { toVector } from \"./to-vector\";\nimport { toNormal } from \"./to-normal\";\nimport { toPackedI4x64 } from \"./to-packed\";\n\nconst LINE_FMIN: number = 0.00001;\nconst LINE_NPREV = [0, 1];\nconst LINE_NNEXT = [0, 1];\n\nexport const toPointCount = (points?: EShapePoints): number => {\n\tif (points) {\n\t\treturn points.formatted.plength;\n\t}\n\treturn 0;\n};\n\nexport const toLinePointCount = (points?: EShapePoints): number => {\n\tconst pointCount = toPointCount(points);\n\treturn ((pointCount >> 4) + (0 < (pointCount & 0xf) ? 1 : 0)) << 4;\n};\n\nexport const toLineVertexCount = (pointCount: number, isClosed: boolean): number => {\n\tif (isClosed) {\n\t\treturn (pointCount << 2) + 2;\n\t} else {\n\t\treturn pointCount << 2;\n\t}\n};\n\nexport const toLineIndexCount = (pointCount: number, isClosed: boolean): number => {\n\treturn toLineVertexCount(pointCount, isClosed) - 2;\n};\n\nexport const buildLineIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number,\n\ticount: number\n): void => {\n\tlet ii = ioffset * 3 - 1;\n\tconst iimax = (ioffset + icount) * 3 - 1;\n\tlet io = voffset;\n\tfor (; ii < iimax; ) {\n\t\tindices[++ii] = io + 0;\n\t\tindices[++ii] = io + 2;\n\t\tindices[++ii] = io + 1;\n\n\t\tindices[++ii] = io + 1;\n\t\tindices[++ii] = io + 2;\n\t\tindices[++ii] = io + 3;\n\t\tio += 2;\n\t}\n};\n\nexport const buildLineUv = (\n\tuvs: Float32Array,\n\tsteps: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\ttextureUvs: TextureUvs,\n\tlength: number\n): void => {\n\tconst lengthInverse = 1 / Math.max(LINE_FMIN, length);\n\n\tconst x0 = textureUvs.x0;\n\tconst x1 = textureUvs.x1;\n\tconst x2 = textureUvs.x2;\n\tconst x3 = textureUvs.x3;\n\tconst y0 = textureUvs.y0;\n\tconst y1 = textureUvs.y1;\n\tconst y2 = textureUvs.y2;\n\tconst y3 = textureUvs.y3;\n\n\tconst dx01 = x1 - x0;\n\tconst dy01 = y1 - y0;\n\tconst dx32 = x2 - x3;\n\tconst dy32 = y2 - y3;\n\n\tlet iuv = (voffset << 1) - 1;\n\tconst iuvmax = ((voffset + vcount) << 1) - 1;\n\tlet is = voffset * 6 - 9;\n\tfor (; iuv < iuvmax; ) {\n\t\tconst r = steps[(is += 12)] * lengthInverse;\n\t\tuvs[++iuv] = x0 + r * dx01;\n\t\tuvs[++iuv] = y0 + r * dy01;\n\t\tuvs[++iuv] = x3 + r * dx32;\n\t\tuvs[++iuv] = y3 + r * dy32;\n\t}\n};\n\nlet TRANSFORMED_POINT_VALUES: number[] | undefined;\n\nexport const buildLineVertexStep = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tpointCount: number,\n\tpointsClosed: boolean,\n\tpointValues: number[],\n\tpointSegments: number[],\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tinternalTransform: Matrix\n): number => {\n\tlet transformedPointValues = TRANSFORMED_POINT_VALUES;\n\tif (transformedPointValues == null) {\n\t\ttransformedPointValues = [];\n\t\tTRANSFORMED_POINT_VALUES = transformedPointValues;\n\t}\n\tconst a = internalTransform.a;\n\tconst b = internalTransform.b;\n\tconst c = internalTransform.c;\n\tconst d = internalTransform.d;\n\tconst tx = internalTransform.tx;\n\tconst ty = internalTransform.ty;\n\tfor (let i = 0; i < pointCount; ++i) {\n\t\tconst iv = i << 1;\n\t\tconst x = pointValues[iv];\n\t\tconst y = pointValues[iv + 1];\n\t\ttransformedPointValues[iv] = a * x + c * y + tx;\n\t\ttransformedPointValues[iv + 1] = b * x + d * y + ty;\n\t}\n\treturn buildTransformedLineVertexStep(\n\t\tvertices,\n\t\tsteps,\n\t\tvoffset,\n\t\tvcount,\n\t\tpointCount,\n\t\tpointsClosed,\n\t\ttransformedPointValues,\n\t\tpointSegments,\n\t\tstrokeWidth,\n\t\tstrokeStyle\n\t);\n};\n\nconst fillTransformedLineVertexStep = (\n\tiv: number,\n\tvertices: Float32Array,\n\tis: number,\n\tsteps: Float32Array,\n\tpx: number,\n\tpy: number,\n\tstrokeWidth: number,\n\tnprev: number[],\n\tnnext: number[],\n\tlprev: number,\n\tlnext: number,\n\tllo: number,\n\te0: number,\n\te1: number\n): void => {\n\tconst d = toNormalPacked(nprev, nnext);\n\tconst l = Math.min(lprev, lnext);\n\n\tvertices[++iv] = px;\n\tvertices[++iv] = py;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e0;\n\tsteps[++is] = d;\n\tsteps[++is] = llo;\n\tsteps[++is] = llo;\n\tsteps[++is] = l;\n\n\tvertices[++iv] = px;\n\tvertices[++iv] = py;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e1;\n\tsteps[++is] = d;\n\tsteps[++is] = llo;\n\tsteps[++is] = llo;\n\tsteps[++is] = l;\n};\n\nconst buildTransformedLineVertexStep = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tlineVertexCount: number,\n\tlineIsClosed: boolean,\n\tlineVertices: number[],\n\tlineSegments: number[],\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle\n): number => {\n\tconst lineSegmentsLength = lineSegments.length;\n\tif (0 < lineSegmentsLength) {\n\t\tif (lineIsClosed) {\n\t\t\tlet lmax = 0;\n\t\t\tlet lprev = 0;\n\t\t\tlet ivoffset = voffset;\n\n\t\t\tlet iseg = 0;\n\t\t\tlet iprevseg = lineSegments[0];\n\t\t\tfor (let i = 1; i < lineSegmentsLength; ++i) {\n\t\t\t\tiseg = lineSegments[i];\n\t\t\t\tif (2 <= iseg - iprevseg) {\n\t\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStep(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tivoffset,\n\t\t\t\t\t\t-1,\n\t\t\t\t\t\tlineVertices,\n\t\t\t\t\t\tiprevseg,\n\t\t\t\t\t\tiseg,\n\t\t\t\t\t\tlineVertexCount,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tlprev\n\t\t\t\t\t);\n\t\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\t\tivoffset += toLineVertexCount(iseg - iprevseg, false);\n\t\t\t\t}\n\t\t\t\tiprevseg = iseg;\n\t\t\t}\n\n\t\t\t// Last\n\t\t\tiseg = lineSegments[0] + lineVertexCount;\n\t\t\tif (2 <= iseg - iprevseg) {\n\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStep(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tivoffset,\n\t\t\t\t\tvoffset + vcount - ivoffset,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\tiprevseg,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\tivoffset += toLineVertexCount(iseg - iprevseg, false);\n\t\t\t} else {\n\t\t\t\tbuildTransformedLineEmptyVertexStep(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tivoffset,\n\t\t\t\t\tvoffset + vcount - ivoffset,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\tiprevseg,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn lmax;\n\t\t} else {\n\t\t\tlet lmax = 0;\n\t\t\tlet lprev = 0;\n\t\t\tlet ivoffset = voffset;\n\n\t\t\t// First\n\t\t\tlet iseg = lineSegments[0];\n\t\t\tif (2 <= iseg) {\n\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStep(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tivoffset,\n\t\t\t\t\t-1,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\t0,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\tivoffset += toLineVertexCount(iseg, false);\n\t\t\t}\n\n\t\t\t// Middle\n\t\t\tlet iprevseg = iseg;\n\t\t\tfor (let i = 1; i < lineSegmentsLength; ++i) {\n\t\t\t\tiseg = lineSegments[i];\n\t\t\t\tif (2 <= iseg - iprevseg) {\n\t\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStep(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tivoffset,\n\t\t\t\t\t\t-1,\n\t\t\t\t\t\tlineVertices,\n\t\t\t\t\t\tiprevseg,\n\t\t\t\t\t\tiseg,\n\t\t\t\t\t\tlineVertexCount,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tlprev\n\t\t\t\t\t);\n\t\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\t\tivoffset += toLineVertexCount(iseg - iprevseg, false);\n\t\t\t\t}\n\t\t\t\tiprevseg = iseg;\n\t\t\t}\n\n\t\t\t// Last\n\t\t\tiseg = lineVertexCount;\n\t\t\tif (2 <= iseg - iprevseg) {\n\t\t\t\tlprev = buildTransformedLineOpenSegmentVertexStep(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tivoffset,\n\t\t\t\t\tvoffset + vcount - ivoffset,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\tiprevseg,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t\tlmax = Math.max(lmax, lprev);\n\t\t\t\tivoffset += toLineVertexCount(iseg - iprevseg, false);\n\t\t\t} else {\n\t\t\t\tbuildTransformedLineEmptyVertexStep(\n\t\t\t\t\tvertices,\n\t\t\t\t\tsteps,\n\t\t\t\t\tivoffset,\n\t\t\t\t\tvoffset + vcount - ivoffset,\n\t\t\t\t\tlineVertices,\n\t\t\t\t\tiprevseg,\n\t\t\t\t\tiseg,\n\t\t\t\t\tlineVertexCount,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tlprev\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn lmax;\n\t\t}\n\t} else {\n\t\tif (lineIsClosed) {\n\t\t\treturn buildTransformedLineClosedSegmentVertexStep(\n\t\t\t\tvertices,\n\t\t\t\tsteps,\n\t\t\t\tvoffset,\n\t\t\t\tvcount,\n\t\t\t\tlineVertices,\n\t\t\t\t0,\n\t\t\t\tlineVertexCount,\n\t\t\t\tlineVertexCount,\n\t\t\t\tstrokeWidth,\n\t\t\t\tstrokeStyle\n\t\t\t);\n\t\t} else {\n\t\t\treturn buildTransformedLineOpenSegmentVertexStep(\n\t\t\t\tvertices,\n\t\t\t\tsteps,\n\t\t\t\tvoffset,\n\t\t\t\tvcount,\n\t\t\t\tlineVertices,\n\t\t\t\t0,\n\t\t\t\tlineVertexCount,\n\t\t\t\tlineVertexCount,\n\t\t\t\tstrokeWidth,\n\t\t\t\tstrokeStyle,\n\t\t\t\t0\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst buildTransformedLineEmptyVertexStep = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tlineVertices: number[],\n\tlineVertexFrom: number,\n\tlineVertexTo: number,\n\tlineVertexCount: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tlength: number\n): number => {\n\tif (0 <= vcount) {\n\t\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\t\tconst dash = toDash(strokeStyle);\n\t\tconst e3 = toPackedI4x64(3, scaleInvariant, dash, 0);\n\t\tconst e5 = toPackedI4x64(5, scaleInvariant, dash, 0);\n\n\t\tlet iv = (voffset << 1) - 1;\n\t\tlet is = voffset * 6 - 1;\n\t\tconst ivmax = ((voffset + vcount) << 1) - 1;\n\t\tconst ifirst = lineVertexFrom % lineVertexCount << 1;\n\t\tconst px = lineVertices[ifirst];\n\t\tconst py = lineVertices[ifirst + 1];\n\t\tfor (; iv < ivmax; ) {\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = e3;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = length;\n\t\t\tsteps[++is] = length;\n\t\t\tsteps[++is] = 0;\n\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = e5;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = length;\n\t\t\tsteps[++is] = length;\n\t\t\tsteps[++is] = 0;\n\t\t}\n\t}\n\n\treturn 0;\n};\n\nconst buildTransformedLineOpenSegmentVertexStep = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tlineVertices: number[],\n\tlineVertexFrom: number,\n\tlineVertexTo: number,\n\tlineVertexCount: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tlength: number\n): number => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\tconst dash = toDash(strokeStyle);\n\tconst e3 = toPackedI4x64(3, scaleInvariant, dash, 0);\n\tconst e4 = toPackedI4x64(4, scaleInvariant, dash, 0);\n\tconst e5 = toPackedI4x64(5, scaleInvariant, dash, 0);\n\tconst e6 = toPackedI4x64(6, scaleInvariant, dash, 0);\n\n\t// First segment\n\tconst ifirst = lineVertexFrom % lineVertexCount << 1;\n\tlet px = lineVertices[ifirst];\n\tlet py = lineVertices[ifirst + 1];\n\tconst isecond = (lineVertexFrom + 1) % lineVertexCount << 1;\n\tlet pnextx = lineVertices[isecond];\n\tlet pnexty = lineVertices[isecond + 1];\n\tlet pprevx = px - (pnextx - px);\n\tlet pprevy = py - (pnexty - py);\n\tconst nprev = LINE_NPREV;\n\tconst nnext = LINE_NNEXT;\n\ttoVector(pprevx, pprevy, px, py, nprev);\n\ttoVector(px, py, pnextx, pnexty, nnext);\n\tlet lprev = toVectorLength(nprev);\n\tlet lnext = lprev;\n\ttoNormal(nprev, lprev);\n\ttoNormal(nnext, lnext);\n\tlet iv = (voffset << 1) - 1;\n\tlet is = voffset * 6 - 1;\n\tlet l = 0;\n\tfillTransformedLineVertexStep(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tnprev,\n\t\tnnext,\n\t\tlprev,\n\t\tlnext,\n\t\tlength,\n\t\te3,\n\t\te5\n\t);\n\tiv += 4;\n\tis += 12;\n\n\tfillTransformedLineVertexStep(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tnprev,\n\t\tnnext,\n\t\tlprev,\n\t\tlnext,\n\t\tl,\n\t\te4,\n\t\te6\n\t);\n\tiv += 4;\n\tis += 12;\n\n\t// Middle segments\n\tfor (let i = lineVertexFrom + 1, imax = lineVertexTo - 1; i < imax; ++i) {\n\t\tpprevx = px;\n\t\tpprevy = py;\n\t\tpx = pnextx;\n\t\tpy = pnexty;\n\t\tnprev[0] = nnext[0];\n\t\tnprev[1] = nnext[1];\n\t\tlprev = lnext;\n\n\t\tconst imiddle = (i + 1) % lineVertexCount << 1;\n\t\tpnextx = lineVertices[imiddle];\n\t\tpnexty = lineVertices[imiddle + 1];\n\t\ttoVector(px, py, pnextx, pnexty, nnext);\n\t\tlnext = toVectorLength(nnext);\n\t\ttoNormal(nnext, lnext);\n\t\tl += lprev;\n\n\t\tfillTransformedLineVertexStep(\n\t\t\tiv,\n\t\t\tvertices,\n\t\t\tis,\n\t\t\tsteps,\n\t\t\tpx,\n\t\t\tpy,\n\t\t\tstrokeWidth,\n\t\t\tnprev,\n\t\t\tnnext,\n\t\t\tlprev,\n\t\t\tlnext,\n\t\t\tl,\n\t\t\te3,\n\t\t\te5\n\t\t);\n\t\tiv += 4;\n\t\tis += 12;\n\n\t\tfillTransformedLineVertexStep(\n\t\t\tiv,\n\t\t\tvertices,\n\t\t\tis,\n\t\t\tsteps,\n\t\t\tpx,\n\t\t\tpy,\n\t\t\tstrokeWidth,\n\t\t\tnprev,\n\t\t\tnnext,\n\t\t\tlprev,\n\t\t\tlnext,\n\t\t\tl,\n\t\t\te4,\n\t\t\te6\n\t\t);\n\t\tiv += 4;\n\t\tis += 12;\n\t}\n\n\t// Last segment\n\tpprevx = px;\n\tpprevy = py;\n\tpx = pnextx;\n\tpy = pnexty;\n\tnprev[0] = nnext[0];\n\tnprev[1] = nnext[1];\n\tlprev = lnext;\n\n\tpnextx = px + (px - pprevx);\n\tpnexty = py + (py - pprevy);\n\n\ttoVector(px, py, pnextx, pnexty, nnext);\n\ttoNormal(nnext, lnext);\n\tl += lprev;\n\n\tfillTransformedLineVertexStep(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tnprev,\n\t\tnnext,\n\t\tlprev,\n\t\tlnext,\n\t\tl,\n\t\te3,\n\t\te5\n\t);\n\tiv += 4;\n\tis += 12;\n\n\tfillTransformedLineVertexStep(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tnprev,\n\t\tnnext,\n\t\tlprev,\n\t\tlnext,\n\t\tl,\n\t\te4,\n\t\te6\n\t);\n\tiv += 4;\n\tis += 12;\n\n\t// Total length\n\tconst is0 = voffset * 6 - 1;\n\tfor (let i = is0, imax = is0 + 12; i < imax; i += 6) {\n\t\tsteps[i + 5] = length;\n\t}\n\tfor (let i = is0 + 12; i < is; i += 6) {\n\t\tsteps[i + 5] = l;\n\t}\n\n\t// Fill the rest\n\tif (0 <= vcount) {\n\t\tconst d = toNormalPacked(nprev, nnext);\n\t\tconst ivmax = ((voffset + vcount) << 1) - 1;\n\t\tfor (; iv < ivmax; ) {\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = e3;\n\t\t\tsteps[++is] = d;\n\t\t\tsteps[++is] = l;\n\t\t\tsteps[++is] = l;\n\t\t\tsteps[++is] = 0;\n\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = 0;\n\t\t\tsteps[++is] = e5;\n\t\t\tsteps[++is] = d;\n\t\t\tsteps[++is] = l;\n\t\t\tsteps[++is] = l;\n\t\t\tsteps[++is] = 0;\n\t\t}\n\t}\n\n\treturn l;\n};\n\nconst buildTransformedLineClosedSegmentVertexStep = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tvoffset: number,\n\tvcount: number,\n\tlineVertices: number[],\n\tlineVertexFrom: number,\n\tlineVertexTo: number,\n\tlineVertexCount: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle\n): number => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\tconst dash = toDash(strokeStyle);\n\tconst e3 = toPackedI4x64(3, scaleInvariant, dash, 0);\n\tconst e4 = toPackedI4x64(4, scaleInvariant, dash, 0);\n\tconst e5 = toPackedI4x64(5, scaleInvariant, dash, 0);\n\tconst e6 = toPackedI4x64(6, scaleInvariant, dash, 0);\n\n\tconst ilast = (lineVertexTo - 1) % lineVertexCount << 1;\n\tlet pprevx = 0;\n\tlet pprevy = 0;\n\tlet px = lineVertices[ilast];\n\tlet py = lineVertices[ilast + 1];\n\tconst ifirst = lineVertexFrom % lineVertexCount << 1;\n\tlet pnextx = lineVertices[ifirst];\n\tlet pnexty = lineVertices[ifirst + 1];\n\tconst nprev = LINE_NPREV;\n\tconst nnext = LINE_NNEXT;\n\ttoVector(pprevx, pprevy, px, py, nprev);\n\ttoVector(px, py, pnextx, pnexty, nnext);\n\tlet lprev = toVectorLength(nprev);\n\tlet lnext = toVectorLength(nnext);\n\ttoNormal(nprev, lprev);\n\ttoNormal(nnext, lnext);\n\tlet l = 0;\n\tlet iv = (voffset << 1) - 1;\n\tlet is = voffset * 6 - 1;\n\tfor (let i = lineVertexFrom; i < lineVertexTo; ++i) {\n\t\tpprevx = px;\n\t\tpprevy = py;\n\t\tpx = pnextx;\n\t\tpy = pnexty;\n\t\tnprev[0] = nnext[0];\n\t\tnprev[1] = nnext[1];\n\t\tlprev = lnext;\n\n\t\tconst imiddle = (i + 1) % lineVertexCount << 1;\n\t\tpnextx = lineVertices[imiddle];\n\t\tpnexty = lineVertices[imiddle + 1];\n\t\ttoVector(px, py, pnextx, pnexty, nnext);\n\t\tlnext = toVectorLength(nnext);\n\t\ttoNormal(nnext, lnext);\n\t\tl += lprev;\n\n\t\tfillTransformedLineVertexStep(\n\t\t\tiv,\n\t\t\tvertices,\n\t\t\tis,\n\t\t\tsteps,\n\t\t\tpx,\n\t\t\tpy,\n\t\t\tstrokeWidth,\n\t\t\tnprev,\n\t\t\tnnext,\n\t\t\tlprev,\n\t\t\tlnext,\n\t\t\tl,\n\t\t\te3,\n\t\t\te5\n\t\t);\n\t\tiv += 4;\n\t\tis += 12;\n\n\t\tfillTransformedLineVertexStep(\n\t\t\tiv,\n\t\t\tvertices,\n\t\t\tis,\n\t\t\tsteps,\n\t\t\tpx,\n\t\t\tpy,\n\t\t\tstrokeWidth,\n\t\t\tnprev,\n\t\t\tnnext,\n\t\t\tlprev,\n\t\t\tlnext,\n\t\t\tl,\n\t\t\te4,\n\t\t\te6\n\t\t);\n\t\tiv += 4;\n\t\tis += 12;\n\t}\n\n\t// Last segment\n\tpprevx = px;\n\tpprevy = py;\n\tpx = pnextx;\n\tpy = pnexty;\n\tnprev[0] = nnext[0];\n\tnprev[1] = nnext[1];\n\tlprev = lnext;\n\n\tconst isecond = (lineVertexFrom + 1) % lineVertexCount << 1;\n\tpnextx = lineVertices[isecond];\n\tpnexty = lineVertices[isecond + 1];\n\ttoVector(px, py, pnextx, pnexty, nnext);\n\tlnext = toVectorLength(nnext);\n\ttoNormal(nnext, lnext);\n\tl += lprev;\n\n\tfillTransformedLineVertexStep(\n\t\tiv,\n\t\tvertices,\n\t\tis,\n\t\tsteps,\n\t\tpx,\n\t\tpy,\n\t\tstrokeWidth,\n\t\tnprev,\n\t\tnnext,\n\t\tlprev,\n\t\tlnext,\n\t\tl,\n\t\te3,\n\t\te5\n\t);\n\tiv += 4;\n\tis += 12;\n\n\t// Total length\n\tfor (let i = voffset * 6 - 1; i < is; i += 6) {\n\t\tsteps[i + 5] = -l;\n\t}\n\n\t// Fill the rest\n\tif (0 <= vcount) {\n\t\tconst d = toNormalPacked(nprev, nnext);\n\t\tconst ivmax = ((voffset + vcount) << 1) - 1;\n\t\tfor (; iv < ivmax; ) {\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = strokeWidth;\n\t\t\tsteps[++is] = e3;\n\t\t\tsteps[++is] = d;\n\t\t\tsteps[++is] = l;\n\t\t\tsteps[++is] = -l;\n\t\t\tsteps[++is] = 0;\n\n\t\t\tvertices[++iv] = px;\n\t\t\tvertices[++iv] = py;\n\t\t\tsteps[++is] = strokeWidth;\n\t\t\tsteps[++is] = e5;\n\t\t\tsteps[++is] = d;\n\t\t\tsteps[++is] = l;\n\t\t\tsteps[++is] = -l;\n\t\t\tsteps[++is] = 0;\n\t\t}\n\t}\n\treturn l;\n};\n"]}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
export var buildNullClipping = function (clippings, voffset, vcount) {
|
|
2
|
-
for (var i = voffset * 3, imax = (voffset + vcount) * 3; i < imax; i += 3) {
|
|
3
|
-
clippings[i + 0] = 0;
|
|
4
|
-
clippings[i + 1] = 0;
|
|
5
|
-
clippings[i + 2] = 0;
|
|
6
|
-
}
|
|
7
|
-
};
|
|
8
1
|
export var buildNullIndex = function (indices, voffset, ioffset, icount) {
|
|
9
2
|
for (var ii = ioffset * 3, iimax = (ioffset + icount) * 3; ii < iimax; ii += 3) {
|
|
10
3
|
indices[ii + 0] = voffset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-null.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-null.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,
|
|
1
|
+
{"version":3,"file":"build-null.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-null.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,cAAc,GAAG,UAC7B,OAAkC,EAClC,OAAe,EACf,OAAe,EACf,MAAc;IAEd,KAAK,IAAI,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE;QAC/E,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;KAC1B;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAsB,EAAE,OAAe,EAAE,MAAc;IACtF,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1E,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACpB;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,KAAmB,EAAE,OAAe,EAAE,MAAc;IACjF,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1E,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACjB;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,GAAiB,EAAE,OAAe,EAAE,MAAc;IAC7E,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1E,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACf;AACF,CAAC,CAAC","sourcesContent":["export const buildNullIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number,\n\ticount: number\n): void => {\n\tfor (let ii = ioffset * 3, iimax = (ioffset + icount) * 3; ii < iimax; ii += 3) {\n\t\tindices[ii + 0] = voffset;\n\t\tindices[ii + 1] = voffset;\n\t\tindices[ii + 2] = voffset;\n\t}\n};\n\nexport const buildNullVertex = (vertices: Float32Array, voffset: number, vcount: number): void => {\n\tfor (let i = voffset * 2, imax = (voffset + vcount) * 2; i < imax; i += 2) {\n\t\tvertices[i + 0] = 0;\n\t\tvertices[i + 1] = 0;\n\t}\n};\n\nexport const buildNullStep = (steps: Float32Array, voffset: number, vcount: number): void => {\n\tfor (let i = voffset * 6, imax = (voffset + vcount) * 6; i < imax; i += 6) {\n\t\tsteps[i + 0] = 0;\n\t\tsteps[i + 1] = 0;\n\t\tsteps[i + 2] = 0;\n\t\tsteps[i + 3] = 0;\n\t\tsteps[i + 4] = 0;\n\t\tsteps[i + 5] = 0;\n\t}\n};\n\nexport const buildNullUv = (uvs: Float32Array, voffset: number, vcount: number): void => {\n\tfor (let i = voffset * 2, imax = (voffset + vcount) * 2; i < imax; i += 2) {\n\t\tuvs[i + 0] = 0;\n\t\tuvs[i + 1] = 0;\n\t}\n};\n"]}
|