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