UNPKG

bodymovin

Version:

After Effects plugin for exporting animations to SVG + JavaScript or canvas + JavaScript

61 lines (53 loc) 2.4 kB
function ITextElement(data, animationItem,parentContainer,globalData){ } ITextElement.prototype.init = function(){ this.lettersChangedFlag = true; this.dynamicProperties = this.dynamicProperties || []; this.textAnimator = new TextAnimatorProperty(this.data.t, this.renderType, this); this.textProperty = new TextProperty(this, this.data.t, this.dynamicProperties); this._parent.init.call(this); this.textAnimator.searchProperties(this.dynamicProperties); }; ITextElement.prototype.prepareFrame = function(num) { this._parent.prepareFrame.call(this, num); if(this.textProperty.mdf || this.textProperty.firstFrame) { this.buildNewText(); this.textProperty.firstFrame = false; } } ITextElement.prototype.createPathShape = function(matrixHelper, shapes) { var j,jLen = shapes.length; var k, kLen, pathNodes; var shapeStr = ''; for(j=0;j<jLen;j+=1){ pathNodes = shapes[j].ks.k; shapeStr += this.buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper); } return shapeStr; }; ITextElement.prototype.updateDocumentData = function(newData, index) { this.textProperty.updateDocumentData(newData, index); } ITextElement.prototype.applyTextPropertiesToMatrix = function(documentData, matrixHelper, lineNumber, xPos, yPos) { if(documentData.ps){ matrixHelper.translate(documentData.ps[0],documentData.ps[1] + documentData.ascent,0); } matrixHelper.translate(0,-documentData.ls,0); switch(documentData.j){ case 1: matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]),0,0); break; case 2: matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber] )/2,0,0); break; } matrixHelper.translate(xPos, yPos, 0); } ITextElement.prototype.buildColor = function(colorData) { return 'rgb(' + Math.round(colorData[0]*255) + ',' + Math.round(colorData[1]*255) + ',' + Math.round(colorData[2]*255) + ')'; } ITextElement.prototype.buildShapeString = IShapeElement.prototype.buildShapeString; ITextElement.prototype.emptyProp = new LetterProps(); ITextElement.prototype.destroy = function(){ this._parent.destroy.call(this._parent); };