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