File: graphics/js/CanvasCircle.js
- /**
- * <a href="http://www.w3.org/TR/html5/the-canvas-element.html">Canvas</a> implementation of the <a href="Circle.html">`Circle`</a> class.
- * `CanvasCircle` 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> capabilities but has
- * <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 `CanvasCircle` class.
- *
- * @module graphics
- * @class CanvasCircle
- * @constructor
- */
- CanvasCircle = function()
- {
- CanvasCircle.superclass.constructor.apply(this, arguments);
- };
-
- CanvasCircle.NAME = "circle";
-
- Y.extend(CanvasCircle, Y.CanvasShape, {
- /**
- * Indicates the type of shape
- *
- * @property _type
- * @type String
- * @private
- */
- _type: "circle",
-
- /**
- * Draws the shape.
- *
- * @method _draw
- * @private
- */
- _draw: function()
- {
- var radius = this.get("radius");
- if(radius)
- {
- this.clear();
- this.drawCircle(0, 0, radius);
- this._closePath();
- }
- }
- });
-
- CanvasCircle.ATTRS = Y.merge(Y.CanvasShape.ATTRS, {
- /**
- * Indicates the width of the shape
- *
- * @config width
- * @type Number
- */
- width: {
- setter: function(val)
- {
- this.set("radius", val/2);
- return val;
- },
-
- getter: function()
- {
- return this.get("radius") * 2;
- }
- },
-
- /**
- * Indicates the height of the shape
- *
- * @config height
- * @type Number
- */
- height: {
- setter: function(val)
- {
- this.set("radius", val/2);
- return val;
- },
-
- getter: function()
- {
- return this.get("radius") * 2;
- }
- },
-
- /**
- * Radius of the circle
- *
- * @config radius
- * @type Number
- */
- radius: {
- lazyAdd: false
- }
- });
- Y.CanvasCircle = CanvasCircle;
-
-