File: graphics/js/VMLCircle.js
/**
* <a href="http://www.w3.org/TR/NOTE-VML">VML</a> implementation of the <a href="Circle.html">`Circle`</a> class.
* `VMLCircle` is not intended to be used directly. Instead, use the <a href="Circle.html">`Circle`</a> class.
* If the browser lacks <a href="http://www.w3.org/TR/SVG/">SVG</a> and <a href="http://www.w3.org/TR/html5/the-canvas-element.html">Canvas</a>
* capabilities, the <a href="Circle.html">`Circle`</a> class will point to the `VMLCircle` class.
*
* @module graphics
* @class VMLCircle
* @constructor
*/
VMLCircle = function(cfg)
{
VMLCircle.superclass.constructor.apply(this, arguments);
};
VMLCircle.NAME = "circle";
Y.extend(VMLCircle, VMLShape, {
/**
* Indicates the type of shape
*
* @property _type
* @type String
* @private
*/
_type: "oval"
});
VMLCircle.ATTRS = Y.merge(VMLShape.ATTRS, {
/**
* Radius for the circle.
*
* @config radius
* @type Number
*/
radius: {
lazyAdd: false,
value: 0
},
/**
* Indicates the width of the shape
*
* @config width
* @type Number
*/
width: {
setter: function(val)
{
this.set("radius", val/2);
return val;
},
getter: function()
{
var radius = this.get("radius"),
val = radius && radius > 0 ? radius * 2 : 0;
return val;
}
},
/**
* Indicates the height of the shape
*
* @config height
* @type Number
*/
height: {
setter: function(val)
{
this.set("radius", val/2);
return val;
},
getter: function()
{
var radius = this.get("radius"),
val = radius && radius > 0 ? radius * 2 : 0;
return val;
}
}
});
Y.VMLCircle = VMLCircle;