Version 3.18.1
Show:

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()
            {
            	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;