@wcardinal/wcardinal-ui 0.392.0 → 0.394.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/shape/e-shape-uploaded.d.ts +5 -6
- package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +6 -6
- package/dist/types/wcardinal/ui/shape/variant/builder-circle.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-image-sdf.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-circles.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangles.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +6 -6
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +2 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-circle.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-triangle.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-semicircle.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +8 -8
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +35 -3
- package/dist/wcardinal/ui/d-base-background-mesh-geometry.js +1 -1
- package/dist/wcardinal/ui/d-base-background-mesh-geometry.js.map +1 -1
- package/dist/wcardinal/ui/d-base-border-mesh-geometry.js +2 -2
- package/dist/wcardinal/ui/d-base-border-mesh-geometry.js.map +1 -1
- package/dist/wcardinal/ui/d-base-border-snippet.js +1 -1
- package/dist/wcardinal/ui/d-base-border-snippet.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas.js +2 -2
- package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
- package/dist/wcardinal/ui/d-table-data-list-selection.js +2 -2
- package/dist/wcardinal/ui/d-table-data-list-selection.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js +2 -2
- package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js +4 -3
- package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-text.js +5 -2
- package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-bar.js +14 -5
- package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-base.js +23 -17
- package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-circle.js +10 -2
- package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +14 -2
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +4 -1
- 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 +11 -2
- 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 +20 -12
- 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 +14 -10
- 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 +20 -12
- 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 +13 -7
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line.js +17 -7
- package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +4 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +14 -2
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +12 -4
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +11 -3
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +8 -4
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +14 -6
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +8 -4
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +10 -2
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-text.js +41 -29
- package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +14 -6
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js +7 -3
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder.js +16 -1
- package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js +6 -6
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-base.js +2 -2
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-base.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-base.js +2 -2
- package/dist/wcardinal/ui/theme/white/d-theme-white-base.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +3 -3
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +3 -3
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +3 -3
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.js +3 -3
- package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +3 -3
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +3 -3
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui.cjs.js +379 -213
- package/dist/wcardinal-ui.js +375 -209
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-line-of-rectangle-roundeds.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildRectangleRoundedClipping,\n\tbuildRectangleRoundedIndex,\n\tbuildRectangleRoundedStep,\n\tbuildRectangleRoundedUv,\n\tbuildRectangleRoundedVertex,\n\tRECTANGLE_ROUNDED_INDEX_COUNT,\n\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\tRECTANGLE_ROUNDED_WORLD_SIZE\n} from \"./build-rectangle-rounded\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfRectangleRoundeds extends BuilderLineOfAny {\n\tprotected radius: number;\n\tprotected corner: EShapeCorner;\n\n\tconstructor(\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tpointCountReserved: number\n\t) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved);\n\t\tthis.radius = NaN;\n\t\tthis.corner = NaN;\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildRectangleRoundedIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tRECTANGLE_ROUNDED_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexClippingStepAndUv(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexClippingStepAndUv(\n\t\tbuffer: EShapeBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst radius = shape.radius;\n\t\tconst isSizeChanged =\n\t\t\tsizeX !== this.sizeX || sizeY !== this.sizeY || radius !== this.radius;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeSide = stroke.side;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeSide !== strokeSide ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst corner = shape.corner;\n\t\tconst isCornerChanged = corner !== this.corner;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;\n\n\t\tif (isVertexChanged || isTransformChanged || isCornerChanged || isTextureChanged) {\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.radius = radius;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.corner = corner;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t}\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\t// Vertices\n\t\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tradius,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\n\t\t\t\t// Steps\n\t\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tcorner,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// Clippings\n\t\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tcorner,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyClipping(clippings, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// UVs\n\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildRectangleRoundedUv(uvs, voffset, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);\n\t\t\t\t\tcopyUvs(uvs, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\n\t\t\t\t\tconst iv = voffset + i * RECTANGLE_ROUNDED_VERTEX_COUNT;\n\n\t\t\t\t\t// Vertices\n\t\t\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\n\t\t\t\t\t// Steps\n\t\t\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tcorner,\n\t\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Clippings\n\t\t\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\t\t\tclippings,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tcorner,\n\t\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// UVs\n\t\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedUv(uvs, iv, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * RECTANGLE_ROUNDED_VERTEX_COUNT;\n\t\t\tconst vcountReserved =\n\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullClipping(clippings, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"builder-line-of-rectangle-roundeds.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildRectangleRoundedClipping,\n\tbuildRectangleRoundedIndex,\n\tbuildRectangleRoundedStep,\n\tbuildRectangleRoundedUv,\n\tbuildRectangleRoundedVertex,\n\tRECTANGLE_ROUNDED_INDEX_COUNT,\n\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\tRECTANGLE_ROUNDED_WORLD_SIZE\n} from \"./build-rectangle-rounded\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfRectangleRoundeds extends BuilderLineOfAny {\n\tprotected radius: number;\n\tprotected corner: EShapeCorner;\n\n\tconstructor(\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tpointCountReserved: number\n\t) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved);\n\t\tthis.radius = 0;\n\t\tthis.corner = 0;\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildRectangleRoundedIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tRECTANGLE_ROUNDED_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t\tthis.inited |= BuilderFlag.INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexClippingStepAndUv(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexClippingStepAndUv(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst radius = shape.radius;\n\t\tconst isSizeChanged =\n\t\t\tsizeX !== this.sizeX || sizeY !== this.sizeY || radius !== this.radius;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeSide = stroke.side;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeSide !== strokeSide ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst corner = shape.corner;\n\t\tconst isCornerChanged = corner !== this.corner;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);\n\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\tisVertexChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisCornerChanged ||\n\t\t\tisTextureChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.radius = radius;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.corner = corner;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\t// Vertices\n\t\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tradius,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\n\t\t\t\t// Steps\n\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tcorner,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// Clippings\n\t\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tcorner,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyClipping(clippings, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// UVs\n\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildRectangleRoundedUv(uvs, voffset, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);\n\t\t\t\t\tcopyUvs(uvs, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\n\t\t\t\t\tconst iv = voffset + i * RECTANGLE_ROUNDED_VERTEX_COUNT;\n\n\t\t\t\t\t// Vertices\n\t\t\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\n\t\t\t\t\t// Steps\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tcorner,\n\t\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Clippings\n\t\t\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\t\t\tclippings,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tcorner,\n\t\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// UVs\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedUv(uvs, iv, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * RECTANGLE_ROUNDED_VERTEX_COUNT;\n\t\t\tconst vcountReserved =\n\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullClipping(clippings, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { __extends } from "tslib";
|
|
6
6
|
import { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from "./build-null";
|
|
7
7
|
import { buildRectangleClipping, buildRectangleIndex, buildRectangleStep, buildRectangleUv, buildRectangleVertex, RECTANGLE_INDEX_COUNT, RECTANGLE_VERTEX_COUNT, RECTANGLE_WORLD_SIZE } from "./build-rectangle";
|
|
8
|
+
import { BuilderFlag } from "./builder";
|
|
8
9
|
import { BuilderLineOfAny } from "./builder-line-of-any";
|
|
9
10
|
import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
|
|
10
11
|
import { copyClipping } from "./copy-clipping";
|
|
@@ -28,6 +29,7 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
|
|
|
28
29
|
buildRectangleIndex(indices, voffset, ioffset);
|
|
29
30
|
copyIndex(indices, RECTANGLE_VERTEX_COUNT, ioffset, RECTANGLE_INDEX_COUNT, pointCountReserved);
|
|
30
31
|
}
|
|
32
|
+
this.inited |= BuilderFlag.INDEX;
|
|
31
33
|
};
|
|
32
34
|
BuilderLineOfRectangles.prototype.update = function (buffer, shape) {
|
|
33
35
|
var points = shape.points;
|
|
@@ -64,7 +66,9 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
|
|
|
64
66
|
var textureTransformId = toTextureTransformId(texture);
|
|
65
67
|
var isTextureChanged = texture !== this.texture || textureTransformId !== this.textureTransformId;
|
|
66
68
|
var isVertexChanged = isPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;
|
|
67
|
-
|
|
69
|
+
var isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);
|
|
70
|
+
if (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {
|
|
71
|
+
this.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;
|
|
68
72
|
this.pointId = pointId;
|
|
69
73
|
var formatted = points.formatted;
|
|
70
74
|
this.pointCount = formatted.length;
|
|
@@ -79,13 +83,13 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
|
|
|
79
83
|
this.textureTransformId = textureTransformId;
|
|
80
84
|
// Buffer
|
|
81
85
|
buffer.updateVertices();
|
|
82
|
-
if (isVertexChanged || isTransformChanged) {
|
|
86
|
+
if (isNotInited || isVertexChanged || isTransformChanged) {
|
|
83
87
|
buffer.updateSteps();
|
|
84
88
|
}
|
|
85
|
-
if (isVertexChanged) {
|
|
89
|
+
if (isNotInited || isVertexChanged) {
|
|
86
90
|
buffer.updateClippings();
|
|
87
91
|
}
|
|
88
|
-
if (isVertexChanged || isTextureChanged) {
|
|
92
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
89
93
|
buffer.updateUvs();
|
|
90
94
|
}
|
|
91
95
|
var pointCount = this.pointCount;
|
|
@@ -104,17 +108,17 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
|
|
|
104
108
|
buildRectangleVertex(vertices, voffset, 0, 0, pointSizeX, pointSizeY, strokeAlign, strokeWidth, internalTransform, RECTANGLE_WORLD_SIZE);
|
|
105
109
|
copyVertex(vertices, internalTransform, voffset, RECTANGLE_VERTEX_COUNT, pointCount, pointsValues, pointOffset);
|
|
106
110
|
// Steps
|
|
107
|
-
if (isVertexChanged || isTransformChanged) {
|
|
111
|
+
if (isNotInited || isVertexChanged || isTransformChanged) {
|
|
108
112
|
buildRectangleStep(voffset, steps, strokeWidth, strokeSide, strokeStyle, RECTANGLE_WORLD_SIZE);
|
|
109
113
|
copyStep(steps, voffset, RECTANGLE_VERTEX_COUNT, pointCount);
|
|
110
114
|
}
|
|
111
115
|
// Clippings
|
|
112
|
-
if (isVertexChanged) {
|
|
116
|
+
if (isNotInited || isVertexChanged) {
|
|
113
117
|
buildRectangleClipping(clippings, voffset, RECTANGLE_WORLD_SIZE);
|
|
114
118
|
copyClipping(clippings, voffset, RECTANGLE_VERTEX_COUNT, pointCount);
|
|
115
119
|
}
|
|
116
120
|
// UVs
|
|
117
|
-
if (isVertexChanged || isTextureChanged) {
|
|
121
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
118
122
|
buildRectangleUv(uvs, voffset, textureUvs, RECTANGLE_WORLD_SIZE);
|
|
119
123
|
copyUvs(uvs, voffset, RECTANGLE_VERTEX_COUNT, pointCount);
|
|
120
124
|
}
|
|
@@ -130,15 +134,15 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
|
|
|
130
134
|
// Vertices
|
|
131
135
|
buildRectangleVertex(vertices, iv, px, py, pointSizeX, pointSizeY, strokeAlign, strokeWidth, internalTransform, RECTANGLE_WORLD_SIZE);
|
|
132
136
|
// Steps
|
|
133
|
-
if (isVertexChanged || isTransformChanged) {
|
|
137
|
+
if (isNotInited || isVertexChanged || isTransformChanged) {
|
|
134
138
|
buildRectangleStep(iv, steps, strokeWidth, strokeSide, strokeStyle, RECTANGLE_WORLD_SIZE);
|
|
135
139
|
}
|
|
136
140
|
// Clippings
|
|
137
|
-
if (isVertexChanged) {
|
|
141
|
+
if (isNotInited || isVertexChanged) {
|
|
138
142
|
buildRectangleClipping(clippings, iv, RECTANGLE_WORLD_SIZE);
|
|
139
143
|
}
|
|
140
144
|
// UVs
|
|
141
|
-
if (isVertexChanged || isTextureChanged) {
|
|
145
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
142
146
|
buildRectangleUv(uvs, iv, textureUvs, RECTANGLE_WORLD_SIZE);
|
|
143
147
|
}
|
|
144
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-line-of-rectangles.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-rectangles.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildRectangleClipping,\n\tbuildRectangleIndex,\n\tbuildRectangleStep,\n\tbuildRectangleUv,\n\tbuildRectangleVertex,\n\tRECTANGLE_INDEX_COUNT,\n\tRECTANGLE_VERTEX_COUNT,\n\tRECTANGLE_WORLD_SIZE\n} from \"./build-rectangle\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfRectangles extends BuilderLineOfAny {\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildRectangleIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tRECTANGLE_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tRECTANGLE_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexClippingStepAndUv(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexClippingStepAndUv(\n\t\tbuffer: EShapeBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeSide = stroke.side;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeSide !== strokeSide ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;\n\n\t\tif (isVertexChanged || isTransformChanged || isTextureChanged) {\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isVertexChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t}\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\t// Vertices\n\t\t\t\tbuildRectangleVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tRECTANGLE_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\n\t\t\t\t// Steps\n\t\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\t\tbuildRectangleStep(\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, RECTANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// Clippings\n\t\t\t\tif (isVertexChanged) {\n\t\t\t\t\tbuildRectangleClipping(clippings, voffset, RECTANGLE_WORLD_SIZE);\n\t\t\t\t\tcopyClipping(clippings, voffset, RECTANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// UVs\n\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildRectangleUv(uvs, voffset, textureUvs, RECTANGLE_WORLD_SIZE);\n\t\t\t\t\tcopyUvs(uvs, voffset, RECTANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\t\t\t\t\tconst iv = voffset + i * RECTANGLE_VERTEX_COUNT;\n\n\t\t\t\t\t// Vertices\n\t\t\t\t\tbuildRectangleVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t\t);\n\n\t\t\t\t\t// Steps\n\t\t\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\t\t\tbuildRectangleStep(\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Clippings\n\t\t\t\t\tif (isVertexChanged) {\n\t\t\t\t\t\tbuildRectangleClipping(clippings, iv, RECTANGLE_WORLD_SIZE);\n\t\t\t\t\t}\n\n\t\t\t\t\t// UVs\n\t\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildRectangleUv(uvs, iv, textureUvs, RECTANGLE_WORLD_SIZE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * RECTANGLE_VERTEX_COUNT;\n\t\t\tconst vcountReserved = RECTANGLE_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullClipping(clippings, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"builder-line-of-rectangles.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-rectangles.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildRectangleClipping,\n\tbuildRectangleIndex,\n\tbuildRectangleStep,\n\tbuildRectangleUv,\n\tbuildRectangleVertex,\n\tRECTANGLE_INDEX_COUNT,\n\tRECTANGLE_VERTEX_COUNT,\n\tRECTANGLE_WORLD_SIZE\n} from \"./build-rectangle\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfRectangles extends BuilderLineOfAny {\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildRectangleIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tRECTANGLE_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tRECTANGLE_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t\tthis.inited |= BuilderFlag.INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexClippingStepAndUv(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexClippingStepAndUv(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeSide = stroke.side;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeSide !== strokeSide ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);\n\n\t\tif (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\t// Vertices\n\t\t\t\tbuildRectangleVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tRECTANGLE_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\n\t\t\t\t// Steps\n\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\t\tbuildRectangleStep(\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, RECTANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// Clippings\n\t\t\t\tif (isNotInited || isVertexChanged) {\n\t\t\t\t\tbuildRectangleClipping(clippings, voffset, RECTANGLE_WORLD_SIZE);\n\t\t\t\t\tcopyClipping(clippings, voffset, RECTANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// UVs\n\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildRectangleUv(uvs, voffset, textureUvs, RECTANGLE_WORLD_SIZE);\n\t\t\t\t\tcopyUvs(uvs, voffset, RECTANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\t\t\t\t\tconst iv = voffset + i * RECTANGLE_VERTEX_COUNT;\n\n\t\t\t\t\t// Vertices\n\t\t\t\t\tbuildRectangleVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t\t);\n\n\t\t\t\t\t// Steps\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\t\t\tbuildRectangleStep(\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Clippings\n\t\t\t\t\tif (isNotInited || isVertexChanged) {\n\t\t\t\t\t\tbuildRectangleClipping(clippings, iv, RECTANGLE_WORLD_SIZE);\n\t\t\t\t\t}\n\n\t\t\t\t\t// UVs\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildRectangleUv(uvs, iv, textureUvs, RECTANGLE_WORLD_SIZE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * RECTANGLE_VERTEX_COUNT;\n\t\t\tconst vcountReserved = RECTANGLE_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullClipping(clippings, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { __extends } from "tslib";
|
|
6
6
|
import { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from "./build-null";
|
|
7
7
|
import { buildTriangleRoundedClipping, buildTriangleRoundedIndex, buildTriangleRoundedStep, buildTriangleRoundedUv, buildTriangleRoundedVertex, TRIANGLE_ROUNDED_INDEX_COUNT, TRIANGLE_ROUNDED_VERTEX_COUNT, TRIANGLE_ROUNDED_WORLD_SIZE } from "./build-triangle-rounded";
|
|
8
|
+
import { BuilderFlag } from "./builder";
|
|
8
9
|
import { BuilderLineOfAny } from "./builder-line-of-any";
|
|
9
10
|
import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
|
|
10
11
|
import { copyClipping } from "./copy-clipping";
|
|
@@ -17,8 +18,8 @@ var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
|
|
|
17
18
|
__extends(BuilderLineOfTriangleRoundeds, _super);
|
|
18
19
|
function BuilderLineOfTriangleRoundeds(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
|
|
19
20
|
var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) || this;
|
|
20
|
-
_this.radius =
|
|
21
|
-
_this.corner =
|
|
21
|
+
_this.radius = 0;
|
|
22
|
+
_this.corner = 0;
|
|
22
23
|
return _this;
|
|
23
24
|
}
|
|
24
25
|
BuilderLineOfTriangleRoundeds.prototype.init = function (buffer) {
|
|
@@ -30,6 +31,7 @@ var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
|
|
|
30
31
|
buildTriangleRoundedIndex(buffer.indices, voffset, ioffset);
|
|
31
32
|
copyIndex(buffer.indices, TRIANGLE_ROUNDED_VERTEX_COUNT, ioffset, TRIANGLE_ROUNDED_INDEX_COUNT, pointCountReserved);
|
|
32
33
|
}
|
|
34
|
+
this.inited |= BuilderFlag.INDEX;
|
|
33
35
|
};
|
|
34
36
|
BuilderLineOfTriangleRoundeds.prototype.update = function (buffer, shape) {
|
|
35
37
|
var points = shape.points;
|
|
@@ -72,7 +74,13 @@ var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
|
|
|
72
74
|
isSizeChanged ||
|
|
73
75
|
isRadiusChanged ||
|
|
74
76
|
isStrokeChanged;
|
|
75
|
-
|
|
77
|
+
var isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);
|
|
78
|
+
if (isNotInited ||
|
|
79
|
+
isVertexChanged ||
|
|
80
|
+
isTransformChanged ||
|
|
81
|
+
isCornerChanged ||
|
|
82
|
+
isTextureChanged) {
|
|
83
|
+
this.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;
|
|
76
84
|
this.pointId = pointId;
|
|
77
85
|
var formatted = points.formatted;
|
|
78
86
|
this.pointCount = formatted.length;
|
|
@@ -90,13 +98,13 @@ var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
|
|
|
90
98
|
this.textureTransformId = textureTransformId;
|
|
91
99
|
// Buffer
|
|
92
100
|
buffer.updateVertices();
|
|
93
|
-
if (isVertexChanged || isCornerChanged) {
|
|
101
|
+
if (isNotInited || isVertexChanged || isCornerChanged) {
|
|
94
102
|
buffer.updateClippings();
|
|
95
103
|
}
|
|
96
|
-
if (isVertexChanged || isTransformChanged || isCornerChanged) {
|
|
104
|
+
if (isNotInited || isVertexChanged || isTransformChanged || isCornerChanged) {
|
|
97
105
|
buffer.updateSteps();
|
|
98
106
|
}
|
|
99
|
-
if (isVertexChanged || isTextureChanged) {
|
|
107
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
100
108
|
buffer.updateUvs();
|
|
101
109
|
}
|
|
102
110
|
var pointCount = this.pointCount;
|
|
@@ -115,17 +123,17 @@ var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
|
|
|
115
123
|
buildTriangleRoundedVertex(vertices, voffset, 0, 0, pointSizeX, pointSizeY, strokeAlign, strokeWidth, radius, internalTransform, TRIANGLE_ROUNDED_WORLD_SIZE);
|
|
116
124
|
copyVertex(vertices, internalTransform, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount, pointsValues, pointOffset);
|
|
117
125
|
// Clippings
|
|
118
|
-
if (isVertexChanged || isCornerChanged) {
|
|
126
|
+
if (isNotInited || isVertexChanged || isCornerChanged) {
|
|
119
127
|
buildTriangleRoundedClipping(clippings, voffset, corner, radius);
|
|
120
128
|
copyClipping(clippings, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);
|
|
121
129
|
}
|
|
122
130
|
// Steps
|
|
123
|
-
if (isVertexChanged || isTransformChanged || isCornerChanged) {
|
|
131
|
+
if (isNotInited || isVertexChanged || isTransformChanged || isCornerChanged) {
|
|
124
132
|
buildTriangleRoundedStep(steps, clippings, voffset, strokeWidth, strokeStyle, radius, TRIANGLE_ROUNDED_WORLD_SIZE);
|
|
125
133
|
copyStep(steps, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);
|
|
126
134
|
}
|
|
127
135
|
// UVs
|
|
128
|
-
if (isVertexChanged || isTextureChanged) {
|
|
136
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
129
137
|
buildTriangleRoundedUv(uvs, voffset, textureUvs, radius, TRIANGLE_ROUNDED_WORLD_SIZE);
|
|
130
138
|
copyUvs(uvs, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);
|
|
131
139
|
}
|
|
@@ -141,15 +149,15 @@ var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
|
|
|
141
149
|
// Vertices
|
|
142
150
|
buildTriangleRoundedVertex(vertices, iv, px, py, pointSizeX, pointSizeY, strokeAlign, strokeWidth, radius, internalTransform, TRIANGLE_ROUNDED_WORLD_SIZE);
|
|
143
151
|
// Clippings
|
|
144
|
-
if (isVertexChanged || isCornerChanged) {
|
|
152
|
+
if (isNotInited || isVertexChanged || isCornerChanged) {
|
|
145
153
|
buildTriangleRoundedClipping(clippings, iv, corner, radius);
|
|
146
154
|
}
|
|
147
155
|
// Steps
|
|
148
|
-
if (isVertexChanged || isTransformChanged || isCornerChanged) {
|
|
156
|
+
if (isNotInited || isVertexChanged || isTransformChanged || isCornerChanged) {
|
|
149
157
|
buildTriangleRoundedStep(steps, clippings, iv, strokeWidth, strokeStyle, radius, TRIANGLE_ROUNDED_WORLD_SIZE);
|
|
150
158
|
}
|
|
151
159
|
// UVs
|
|
152
|
-
if (isVertexChanged || isTextureChanged) {
|
|
160
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
153
161
|
buildTriangleRoundedUv(uvs, iv, textureUvs, radius, TRIANGLE_ROUNDED_WORLD_SIZE);
|
|
154
162
|
}
|
|
155
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-line-of-triangle-roundeds.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildTriangleRoundedClipping,\n\tbuildTriangleRoundedIndex,\n\tbuildTriangleRoundedStep,\n\tbuildTriangleRoundedUv,\n\tbuildTriangleRoundedVertex,\n\tTRIANGLE_ROUNDED_INDEX_COUNT,\n\tTRIANGLE_ROUNDED_VERTEX_COUNT,\n\tTRIANGLE_ROUNDED_WORLD_SIZE\n} from \"./build-triangle-rounded\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfTriangleRoundeds extends BuilderLineOfAny {\n\tprotected radius: number;\n\tprotected corner: EShapeCorner;\n\n\tconstructor(\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tpointCountReserved: number\n\t) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved);\n\t\tthis.radius = NaN;\n\t\tthis.corner = NaN;\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildTriangleRoundedIndex(buffer.indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tbuffer.indices,\n\t\t\t\tTRIANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tTRIANGLE_ROUNDED_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexClippingStepAndUv(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexClippingStepAndUv(\n\t\tbuffer: EShapeBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst radius = shape.radius;\n\t\tconst isRadiusChanged = radius !== this.radius;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst corner = shape.corner;\n\t\tconst isCornerChanged = this.corner !== corner;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged ||\n\t\t\tisPointSizeChanged ||\n\t\t\tisSizeChanged ||\n\t\t\tisRadiusChanged ||\n\t\t\tisStrokeChanged;\n\n\t\tif (isVertexChanged || isTransformChanged || isCornerChanged || isTextureChanged) {\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.radius = radius;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.corner = corner;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t}\n\t\t\tif (isVertexChanged || isTransformChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\t// Vertices\n\t\t\t\tbuildTriangleRoundedVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tradius,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tTRIANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\n\t\t\t\t// Clippings\n\t\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\t\tbuildTriangleRoundedClipping(clippings, voffset, corner, radius);\n\t\t\t\t\tcopyClipping(clippings, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// Steps\n\t\t\t\tif (isVertexChanged || isTransformChanged || isCornerChanged) {\n\t\t\t\t\tbuildTriangleRoundedStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// UVs\n\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildTriangleRoundedUv(\n\t\t\t\t\t\tuvs,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\ttextureUvs,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyUvs(uvs, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\n\t\t\t\t\tconst iv = voffset + i * TRIANGLE_ROUNDED_VERTEX_COUNT;\n\n\t\t\t\t\t// Vertices\n\t\t\t\t\tbuildTriangleRoundedVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\n\t\t\t\t\t// Clippings\n\t\t\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\t\t\tbuildTriangleRoundedClipping(clippings, iv, corner, radius);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Steps\n\t\t\t\t\tif (isVertexChanged || isTransformChanged || isCornerChanged) {\n\t\t\t\t\t\tbuildTriangleRoundedStep(\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tclippings,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// UVs\n\t\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildTriangleRoundedUv(\n\t\t\t\t\t\t\tuvs,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\ttextureUvs,\n\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * TRIANGLE_ROUNDED_VERTEX_COUNT;\n\t\t\tconst vcountReserved =\n\t\t\t\tTRIANGLE_ROUNDED_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullClipping(clippings, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"builder-line-of-triangle-roundeds.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildTriangleRoundedClipping,\n\tbuildTriangleRoundedIndex,\n\tbuildTriangleRoundedStep,\n\tbuildTriangleRoundedUv,\n\tbuildTriangleRoundedVertex,\n\tTRIANGLE_ROUNDED_INDEX_COUNT,\n\tTRIANGLE_ROUNDED_VERTEX_COUNT,\n\tTRIANGLE_ROUNDED_WORLD_SIZE\n} from \"./build-triangle-rounded\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfTriangleRoundeds extends BuilderLineOfAny {\n\tprotected radius: number;\n\tprotected corner: EShapeCorner;\n\n\tconstructor(\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tpointCountReserved: number\n\t) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved);\n\t\tthis.radius = 0;\n\t\tthis.corner = 0;\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildTriangleRoundedIndex(buffer.indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tbuffer.indices,\n\t\t\t\tTRIANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tTRIANGLE_ROUNDED_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t\tthis.inited |= BuilderFlag.INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexClippingStepAndUv(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexClippingStepAndUv(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst radius = shape.radius;\n\t\tconst isRadiusChanged = radius !== this.radius;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst corner = shape.corner;\n\t\tconst isCornerChanged = this.corner !== corner;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged ||\n\t\t\tisPointSizeChanged ||\n\t\t\tisSizeChanged ||\n\t\t\tisRadiusChanged ||\n\t\t\tisStrokeChanged;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);\n\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\tisVertexChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisCornerChanged ||\n\t\t\tisTextureChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.radius = radius;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.corner = corner;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\t// Vertices\n\t\t\t\tbuildTriangleRoundedVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tradius,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tTRIANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\n\t\t\t\t// Clippings\n\t\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\t\tbuildTriangleRoundedClipping(clippings, voffset, corner, radius);\n\t\t\t\t\tcopyClipping(clippings, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// Steps\n\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged || isCornerChanged) {\n\t\t\t\t\tbuildTriangleRoundedStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// UVs\n\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildTriangleRoundedUv(\n\t\t\t\t\t\tuvs,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\ttextureUvs,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyUvs(uvs, voffset, TRIANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\n\t\t\t\t\tconst iv = voffset + i * TRIANGLE_ROUNDED_VERTEX_COUNT;\n\n\t\t\t\t\t// Vertices\n\t\t\t\t\tbuildTriangleRoundedVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\n\t\t\t\t\t// Clippings\n\t\t\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\t\t\tbuildTriangleRoundedClipping(clippings, iv, corner, radius);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Steps\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged || isCornerChanged) {\n\t\t\t\t\t\tbuildTriangleRoundedStep(\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tclippings,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// UVs\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildTriangleRoundedUv(\n\t\t\t\t\t\t\tuvs,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\ttextureUvs,\n\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\tTRIANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * TRIANGLE_ROUNDED_VERTEX_COUNT;\n\t\t\tconst vcountReserved =\n\t\t\t\tTRIANGLE_ROUNDED_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullClipping(clippings, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { __extends } from "tslib";
|
|
6
6
|
import { buildNullStep, buildNullUv, buildNullVertex } from "./build-null";
|
|
7
7
|
import { buildTriangleClipping, buildTriangleIndex, buildTriangleStep, buildTriangleUv, buildTriangleVertex, TRIANGLE_INDEX_COUNT, TRIANGLE_VERTEX_COUNT, TRIANGLE_WORLD_SIZE } from "./build-triangle";
|
|
8
|
+
import { BuilderFlag } from "./builder";
|
|
8
9
|
import { BuilderLineOfAny } from "./builder-line-of-any";
|
|
9
10
|
import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
|
|
10
11
|
import { copyClipping } from "./copy-clipping";
|
|
@@ -32,6 +33,7 @@ var BuilderLineOfTriangles = /** @class */ (function (_super) {
|
|
|
32
33
|
buildTriangleIndex(indices, voffset, ioffset);
|
|
33
34
|
copyIndex(indices, TRIANGLE_VERTEX_COUNT, ioffset, TRIANGLE_INDEX_COUNT, pointCountReserved);
|
|
34
35
|
}
|
|
36
|
+
this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
|
|
35
37
|
};
|
|
36
38
|
BuilderLineOfTriangles.prototype.update = function (buffer, shape) {
|
|
37
39
|
var points = shape.points;
|
|
@@ -66,7 +68,9 @@ var BuilderLineOfTriangles = /** @class */ (function (_super) {
|
|
|
66
68
|
var textureTransformId = toTextureTransformId(texture);
|
|
67
69
|
var isTextureChanged = texture !== this.texture || textureTransformId !== this.textureTransformId;
|
|
68
70
|
var isVertexChanged = isPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;
|
|
69
|
-
|
|
71
|
+
var isNotInited = !(this.inited & BuilderFlag.VERTEX_STEP_AND_UV);
|
|
72
|
+
if (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {
|
|
73
|
+
this.inited |= BuilderFlag.VERTEX_STEP_AND_UV;
|
|
70
74
|
this.pointId = pointId;
|
|
71
75
|
var formatted = points.formatted;
|
|
72
76
|
this.pointCount = formatted.length;
|
|
@@ -78,12 +82,14 @@ var BuilderLineOfTriangles = /** @class */ (function (_super) {
|
|
|
78
82
|
this.strokeAlign = strokeAlign;
|
|
79
83
|
this.strokeWidth = strokeWidth;
|
|
80
84
|
this.strokeStyle = strokeStyle;
|
|
85
|
+
this.texture = texture;
|
|
86
|
+
this.textureTransformId = textureTransformId;
|
|
81
87
|
// Buffer
|
|
82
88
|
buffer.updateVertices();
|
|
83
|
-
if (isVertexChanged || isTransformChanged) {
|
|
89
|
+
if (isNotInited || isVertexChanged || isTransformChanged) {
|
|
84
90
|
buffer.updateSteps();
|
|
85
91
|
}
|
|
86
|
-
if (isVertexChanged || isTextureChanged) {
|
|
92
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
87
93
|
buffer.updateUvs();
|
|
88
94
|
}
|
|
89
95
|
var pointCount = this.pointCount;
|
|
@@ -100,11 +106,11 @@ var BuilderLineOfTriangles = /** @class */ (function (_super) {
|
|
|
100
106
|
var pointSizeY = pointSize.getY(0);
|
|
101
107
|
buildTriangleVertex(vertices, voffset, 0, 0, pointSizeX, pointSizeY, strokeAlign, strokeWidth, internalTransform, TRIANGLE_WORLD_SIZE);
|
|
102
108
|
copyVertex(vertices, internalTransform, voffset, TRIANGLE_VERTEX_COUNT, pointCount, pointsValues, pointOffset);
|
|
103
|
-
if (isVertexChanged || isTransformChanged) {
|
|
109
|
+
if (isNotInited || isVertexChanged || isTransformChanged) {
|
|
104
110
|
buildTriangleStep(steps, clippings, voffset, TRIANGLE_VERTEX_COUNT, strokeWidth, strokeStyle, TRIANGLE_WORLD_SIZE);
|
|
105
111
|
copyStep(steps, voffset, TRIANGLE_VERTEX_COUNT, pointCount);
|
|
106
112
|
}
|
|
107
|
-
if (isVertexChanged || isTextureChanged) {
|
|
113
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
108
114
|
buildTriangleUv(uvs, textureUvs, voffset, TRIANGLE_WORLD_SIZE);
|
|
109
115
|
copyUvs(uvs, voffset, TRIANGLE_VERTEX_COUNT, pointCount);
|
|
110
116
|
}
|
|
@@ -118,10 +124,10 @@ var BuilderLineOfTriangles = /** @class */ (function (_super) {
|
|
|
118
124
|
var pointSizeY = pointSize.getY(i);
|
|
119
125
|
var iv = voffset + i * TRIANGLE_VERTEX_COUNT;
|
|
120
126
|
buildTriangleVertex(vertices, iv, px, py, pointSizeX, pointSizeY, strokeAlign, strokeWidth, internalTransform, TRIANGLE_WORLD_SIZE);
|
|
121
|
-
if (isVertexChanged || isTransformChanged) {
|
|
127
|
+
if (isNotInited || isVertexChanged || isTransformChanged) {
|
|
122
128
|
buildTriangleStep(steps, clippings, iv, TRIANGLE_VERTEX_COUNT, strokeWidth, strokeStyle, TRIANGLE_WORLD_SIZE);
|
|
123
129
|
}
|
|
124
|
-
if (isVertexChanged || isTextureChanged) {
|
|
130
|
+
if (isNotInited || isVertexChanged || isTextureChanged) {
|
|
125
131
|
buildTriangleUv(uvs, textureUvs, iv, TRIANGLE_WORLD_SIZE);
|
|
126
132
|
}
|
|
127
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-line-of-triangles.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-triangles.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport { buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildTriangleClipping,\n\tbuildTriangleIndex,\n\tbuildTriangleStep,\n\tbuildTriangleUv,\n\tbuildTriangleVertex,\n\tTRIANGLE_INDEX_COUNT,\n\tTRIANGLE_VERTEX_COUNT,\n\tTRIANGLE_WORLD_SIZE\n} from \"./build-triangle\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfTriangles extends BuilderLineOfAny {\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tconst clippings = buffer.clippings;\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildTriangleClipping(clippings, voffset);\n\t\t\tcopyClipping(clippings, voffset, TRIANGLE_VERTEX_COUNT, pointCountReserved);\n\t\t\tbuildTriangleIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tTRIANGLE_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexStepAndUvs(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexStepAndUvs(\n\t\tbuffer: EShapeBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;\n\n\t\tif (isVertexChanged || isTransformChanged || isTextureChanged) {\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeStyle = strokeStyle;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\tbuildTriangleVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\t\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\t\tbuildTriangleStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, TRIANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildTriangleUv(uvs, textureUvs, voffset, TRIANGLE_WORLD_SIZE);\n\t\t\t\t\tcopyUvs(uvs, voffset, TRIANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\t\t\t\t\tconst iv = voffset + i * TRIANGLE_VERTEX_COUNT;\n\n\t\t\t\t\tbuildTriangleVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\t\t\tbuildTriangleStep(\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tclippings,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildTriangleUv(uvs, textureUvs, iv, TRIANGLE_WORLD_SIZE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * TRIANGLE_VERTEX_COUNT;\n\t\t\tconst vcountReserved = TRIANGLE_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"builder-line-of-triangles.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-triangles.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildTriangleClipping,\n\tbuildTriangleIndex,\n\tbuildTriangleStep,\n\tbuildTriangleUv,\n\tbuildTriangleVertex,\n\tTRIANGLE_INDEX_COUNT,\n\tTRIANGLE_VERTEX_COUNT,\n\tTRIANGLE_WORLD_SIZE\n} from \"./build-triangle\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfTriangles extends BuilderLineOfAny {\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tconst clippings = buffer.clippings;\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildTriangleClipping(clippings, voffset);\n\t\t\tcopyClipping(clippings, voffset, TRIANGLE_VERTEX_COUNT, pointCountReserved);\n\t\t\tbuildTriangleIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tTRIANGLE_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t\tthis.inited |= BuilderFlag.CLIPPING_AND_INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexStepAndUvs(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexStepAndUvs(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_STEP_AND_UV);\n\n\t\tif (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_STEP_AND_UV;\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\tbuildTriangleVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\t\tbuildTriangleStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, TRIANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildTriangleUv(uvs, textureUvs, voffset, TRIANGLE_WORLD_SIZE);\n\t\t\t\t\tcopyUvs(uvs, voffset, TRIANGLE_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\t\t\t\t\tconst iv = voffset + i * TRIANGLE_VERTEX_COUNT;\n\n\t\t\t\t\tbuildTriangleVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\t\t\tbuildTriangleStep(\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tclippings,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildTriangleUv(uvs, textureUvs, iv, TRIANGLE_WORLD_SIZE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * TRIANGLE_VERTEX_COUNT;\n\t\t\tconst vcountReserved = TRIANGLE_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
|