transform applied to inverted mask
diff --git a/player/js/elements/svgElements/SVGBaseElement.js b/player/js/elements/svgElements/SVGBaseElement.js
index e972d16..c18e14f 100644
--- a/player/js/elements/svgElements/SVGBaseElement.js
+++ b/player/js/elements/svgElements/SVGBaseElement.js
@@ -198,10 +198,6 @@
return this.isVisible;
}
this.lastNum = this.currentFrameNum;
-
- if(this.data.hasMask){
- this.maskManager.renderFrame();
- }
this.finalTransform.opMdf = this.finalTransform.op.mdf;
this.finalTransform.matMdf = this.finalTransform.mProp.mdf;
this.finalTransform.opacity = this.finalTransform.op.v;
@@ -246,6 +242,10 @@
if(this.finalTransform.opMdf && this.layerElement){
this.layerElement.setAttribute('opacity',this.finalTransform.opacity);
}
+
+ if(this.data.hasMask){
+ this.maskManager.renderFrame(finalMat);
+ }
return this.isVisible;
};
diff --git a/player/js/mask.js b/player/js/mask.js
index bad913b..ad630b7 100644
--- a/player/js/mask.js
+++ b/player/js/mask.js
@@ -9,7 +9,6 @@
this.viewData = new Array(this.masksProperties.length);
this.maskElement = null;
this.firstFrame = true;
- var maskedElement = this.element.maskedElement;
var defs = this.globalData.defs;
var i, len = this.masksProperties.length;
@@ -158,7 +157,7 @@
}
};
-MaskElement.prototype.renderFrame = function () {
+MaskElement.prototype.renderFrame = function (finalMat) {
var i, len = this.masksProperties.length;
for (i = 0; i < len; i++) {
if(this.masksProperties[i].mode !== 'n' && this.masksProperties[i].cl !== false){
@@ -166,8 +165,8 @@
this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);
}
if(this.viewData[i].invRect && (this.element.finalTransform.mProp.mdf || this.firstFrame)){
- this.viewData[i].invRect.setAttribute('x', -this.element.finalTransform.mProp.v.props[12]);
- this.viewData[i].invRect.setAttribute('y', -this.element.finalTransform.mProp.v.props[13]);
+ this.viewData[i].invRect.setAttribute('x', -finalMat.props[12]);
+ this.viewData[i].invRect.setAttribute('y', -finalMat.props[13]);
}
if(this.storedData[i].x && (this.storedData[i].x.mdf || this.firstFrame)){
var feMorph = this.storedData[i].expan;