jvm.VMLCircleElement = function(config, style){ jvm.VMLCircleElement.parentClass.call(this, 'oval', config, style); }; jvm.inherits(jvm.VMLCircleElement, jvm.VMLShapeElement); jvm.VMLCircleElement.prototype.applyAttr = function(attr, value){ switch (attr) { case 'r': this.node.style.width = value*2+'px'; this.node.style.height = value*2+'px'; this.applyAttr('cx', this.get('cx') || 0); this.applyAttr('cy', this.get('cy') || 0); break; case 'cx': if (!value) return; this.node.style.left = value - (this.get('r') || 0) + 'px'; break; case 'cy': if (!value) return; this.node.style.top = value - (this.get('r') || 0) + 'px'; break; default: jvm.VMLCircleElement.parentClass.prototype.applyAttr.call(this, attr, value); } };