jvm.VMLPathElement = function(config, style){
var scale = new jvm.VMLElement('skew');
jvm.VMLPathElement.parentClass.call(this, 'shape', config, style);
this.node.coordorigin = "0 0";
scale.node.on = true;
scale.node.matrix = '0.01,0,0,0.01,0,0';
scale.node.offset = '0,0';
this.node.appendChild(scale.node);
};
jvm.inherits(jvm.VMLPathElement, jvm.VMLShapeElement);
jvm.VMLPathElement.prototype.applyAttr = function(attr, value){
if (attr === 'd') {
this.node.path = jvm.VMLPathElement.pathSvgToVml(value);
} else {
jvm.VMLShapeElement.prototype.applyAttr.call(this, attr, value);
}
};
jvm.VMLPathElement.pathSvgToVml = function(path) {
var cx = 0, cy = 0, ctrlx, ctrly;
path = path.replace(/(-?\d+)e(-?\d+)/g, '0');
return path.replace(/([MmLlHhVvCcSs])\s*((?:-?\d*(?:\.\d+)?\s*,?\s*)+)/g, function(segment, letter, coords, index){
coords = coords.replace(/(\d)-/g, '$1,-')
.replace(/^\s+/g, '')
.replace(/\s+$/g, '')
.replace(/\s+/g, ',').split(',');
if (!coords[0]) coords.shift();
for (var i=0, l=coords.length; i