var Utils = require('../../../renderer/webgl/Utils'); var LineWebGLRenderer = function (renderer, src, interpolationPercentage, camera, parentMatrix){ var pipeline = this.pipeline; var camMatrix = pipeline._tempMatrix1; var shapeMatrix = pipeline._tempMatrix2; renderer.setPipeline(pipeline); shapeMatrix.applyITRS(src.x, src.y, src.rotation, src.scaleX, src.scaleY); camMatrix.copyFrom(camera.matrix); if (parentMatrix) { camMatrix.multiplyWithOffset(parentMatrix, - camera.scrollX * src.scrollFactorX, - camera.scrollY * src.scrollFactorY); shapeMatrix.e = src.x; shapeMatrix.f = src.y; } else { shapeMatrix.e -= camera.scrollX * src.scrollFactorX; shapeMatrix.f -= camera.scrollY * src.scrollFactorY; } var dx = src._displayOriginX; var dy = src._displayOriginY; var alpha = camera.alpha * src.alpha; if (src.isStroked) { var strokeTint = pipeline.strokeTint; var color = Utils.getTintAppendFloatAlphaAndSwap(src.strokeColor, src.strokeAlpha * alpha); strokeTint.TL = color; strokeTint.TR = color; strokeTint.BL = color; strokeTint.BR = color; var startWidth = src._startWidth; var endWidth = src._endWidth; pipeline.setTexture2D(); pipeline.batchLine(src.geom.x1 - dx, src.geom.y1 - dy, src.geom.x2 - dx, src.geom.y2 - dy, startWidth, endWidth, 1, 0, false , shapeMatrix, camMatrix); } } ; module.exports = LineWebGLRenderer;