- dx = this.attr("x");
- dy = this.attr("y");
- dcx = this.attr("cx");
- dcy = this.attr("cy");
- if (!(this.type in {rect: 1, circle: 1, ellipse: 1}) && (dirx != 1 || diry != 1)) {
- if (this.transformations) {
- this.transformations[2] = "scale(" + [dirx, diry] + ")";
- this.node.setAttribute("transform", this.transformations.join(" "));
- dx = (dirx < 0) ? -this.attr("x") - this.attrs.width * x * dirx / this._.sx : this.attr("x");
- dy = (diry < 0) ? -this.attr("y") - this.attrs.height * y * diry / this._.sy : this.attr("y");
- dcx = this.attr("cx") * dirx;
- dcy = this.attr("cy") * diry;
- } else {
- this.node.filterMatrix = " progid:DXImageTransform.Microsoft.Matrix(M11=" + dirx +
- ", M12=0, M21=0, M22=" + diry +
- ", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')";
- s.filter = (this.node.filterMatrix || "") + (this.node.filterOpacity || "");
- }
- return this;
- } else {
- if (this.transformations) {
- this.transformations[2] = "";
- this.node.setAttribute("transform", this.transformations.join(" "));
- } else {
- this.node.filterMatrix = "";
- s.filter = (this.node.filterMatrix || "") + (this.node.filterOpacity || "");
- }
- }