CircleGroup.js revision 2f9140ce9f71cf8cccd9d8eebe770f6825e36f5b
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp/**
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp * Abstract class for creating groups of circles with the same styles and dimensions.
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp *
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp * @module graphics
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp * @class GroupCircle
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp * @constructor
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp */
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp CircleGroup = function(cfg)
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp CircleGroup.superclass.constructor.apply(this, arguments);
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp };
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp CircleGroup.NAME = "circleGroup";
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp Y.extend(CircleGroup, Y.ShapeGroup, {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp /**
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp * Algorithm for drawing shape.
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp *
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp * @method drawShape
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp * @param {Object} cfg Parameters used to draw the shape.
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp */
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp drawShape: function(cfg)
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp this.drawCircle(cfg.x, cfg.y, cfg.radius);
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp }
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp });
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTrippCircleGroup.ATTRS = Y.merge(Y.ShapeGroup.ATTRS, {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp dimensions: {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp getter: function()
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp var dimensions = this._dimensions,
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp radius,
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp yRadius,
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp width,
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp height;
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp if(dimensions.hasOwnProperty("radius"))
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp return dimensions;
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp }
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp else
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp width = dimensions.width;
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp height = dimensions.height;
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp radius = Y_Lang.isArray(width) ? this._getRadiusCollection(width) : (width * 0.5);
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp yRadius = radius;
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp return {
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp width: width,
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp height: height,
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp radius: radius,
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp yRadius: yRadius
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp };
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp }
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp }
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp }
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp});
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTripp
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTrippCircleGroup.ATTRS = Y.ShapeGroup.ATTRS;
2f9140ce9f71cf8cccd9d8eebe770f6825e36f5bTrippY.CircleGroup = CircleGroup;