VMLEllipse.js revision a75ebc38c1de401b679953a9b87bd323f0f48d02
/**
* <a href="http://www.w3.org/TR/NOTE-VML">VML</a> implementation of the <a href="Ellipse.html">`Ellipse`</a> class.
* `VMLEllipse` is not intended to be used directly. Instead, use the <a href="Ellipse.html">`Ellipse`</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="Ellipse.html">`Ellipse`</a> class will point to the `VMLEllipse` class.
*
* @module graphics
* @class VMLEllipse
* @constructor
*/
VMLEllipse = function()
{
VMLEllipse.superclass.constructor.apply(this, arguments);
};
VMLEllipse.NAME = "vmlEllipse";
Y.extend(VMLEllipse, Y.VMLShape, {
/**
* Indicates the type of shape
*
* @property _type
* @readOnly
* @type String
*/
_type: "oval"
});
VMLEllipse.ATTRS = Y.merge(Y.VMLShape.ATTRS, {
//
// Horizontal radius for the ellipse. This attribute is not implemented in Canvas.
// Will add in 3.4.1.
//
// @config xRadius
// @type Number
// @readOnly
//
xRadius: {
lazyAdd: false,
getter: function()
{
var val = this.get("width");
val = Math.round((val/2) * 100)/100;
return val;
},
setter: function(val)
{
var w = val * 2;
this.set("width", w);
return val;
}
},
//
// Vertical radius for the ellipse. This attribute is not implemented in Canvas.
// Will add in 3.4.1.
//
// @config yRadius
// @type Number
// @readOnly
//
yRadius: {
lazyAdd: false,
getter: function()
{
var val = this.get("height");
val = Math.round((val/2) * 100)/100;
return val;
},
setter: function(val)
{
var h = val * 2;
this.set("height", h);
return val;
}
}
});
Y.VMLEllipse = VMLEllipse;