trim path fix
diff --git a/parser/ShapesParser.js b/parser/ShapesParser.js
index 2363b49..b8f2bd7 100644
--- a/parser/ShapesParser.js
+++ b/parser/ShapesParser.js
@@ -253,7 +253,6 @@
extrasInstance.convertToBezierValues(prop.property('Opacity'), frameRate, ob,'o');
extrasInstance.convertToBezierValues(prop.property('Stroke Width'), frameRate, ob,'w');
var j, jLen = prop.property('Dashes').numProperties;
- var dashValue = prop.property('Dashes').property(1);
extrasInstance.iterateProperty(prop.property('Dashes').property(1));
var dashesData = [];
var changed = false;
diff --git a/player/index.html b/player/index.html
index 9259dd2..192279d 100644
--- a/player/index.html
+++ b/player/index.html
@@ -36,6 +36,6 @@
<!-- endbuild -->
</head>
<body style="background-color:#666; margin: 0px;height: 100%; font-family: sans-serif;font-size: 10px">
-<div style="width:500px;height:500px;background-color:#000;display:inline-block" class="bodymovin" data-bm-path="exports/trim" data-bm-type="svg" data-bm-loop="false" data-bm-prerender="false"></div>
+<div style="width:500px;height:500px;background-color:#000;display:inline-block" class="bodymovin" data-bm-path="exports/letters/o2" data-bm-type="svg" data-bm-loop="true" data-bm-prerender="false"></div>
</body>
</html>
diff --git a/player/js/animation/AnimationItem.js b/player/js/animation/AnimationItem.js
index 5aa8967..3a350dc 100644
--- a/player/js/animation/AnimationItem.js
+++ b/player/js/animation/AnimationItem.js
@@ -124,8 +124,8 @@
this.totalFrames = this.animationData.animation.totalFrames;
this.frameRate = this.animationData.animation.frameRate;
this.firstFrame = Math.round(this.animationData.animation.ff*this.frameRate);
- /*this.firstFrame = 59;
- this.totalFrames = 1;*/
+ this.firstFrame = 40;
+ this.totalFrames = 1;
this.frameMult = this.animationData.animation.frameRate / 1000;
dataManager.completeData(this.animationData);
this.renderer.buildItems(this.animationData.animation.layers,this.container);
diff --git a/player/js/elements/ShapeItemElement.js b/player/js/elements/ShapeItemElement.js
index cf4c0b9..aa286de 100644
--- a/player/js/elements/ShapeItemElement.js
+++ b/player/js/elements/ShapeItemElement.js
@@ -467,6 +467,19 @@
var c = renderedFrameData.c;
var o = renderedFrameData.o;
var w = renderedFrameData.w;
+ var d = renderedFrameData.d;
+ if(d){
+ var j, jLen = d.length;
+ var dasharray = '';
+ var dashoffset = '';
+ for(j=0;j<jLen;j+=1){
+ if(d[j].n != 'o'){
+ dasharray += ' ' + d[j].v;
+ }else{
+ dashoffset += d[j].v;
+ }
+ }
+ }
var elements = styleElem.elements;
var i, len = elements.length;
@@ -480,8 +493,20 @@
if(styleData.lastData.w != w){
elements[i].setAttribute('stroke-width',w);
}
+ if(d){
+ if(styleData.lastData.da != dasharray){
+ elements[i].setAttribute('stroke-dasharray',dasharray);
+ }
+ if(styleData.lastData.do != dashoffset){
+ elements[i].setAttribute('stroke-dashoffset',dashoffset);
+ }
+ }
}
styleData.lastData.c = c;
styleData.lastData.o = o;
styleData.lastData.w = w;
+ if(d){
+ styleData.lastData.da = dasharray;
+ styleData.lastData.do = dashoffset;
+ }
};
\ No newline at end of file
diff --git a/player/js/utils/DataManager.js b/player/js/utils/DataManager.js
index e349d58..0ea0c11 100644
--- a/player/js/utils/DataManager.js
+++ b/player/js/utils/DataManager.js
@@ -590,7 +590,7 @@
}
function interpolateShape(shapeData, frameNum, offsetTime, renderType, isMask, trimData){
- var isTrimmed = trimData.length > 0;
+ var isTrimmed = trimData && trimData.length > 0;
var pathData = {};
pathData.closed = isMask ? shapeData.cl : shapeData.closed;
var keyframes = isMask ? shapeData.pt : shapeData.ks;