Source: maps/limbs/layout/LayoutStrategy.js


/**
 * @class
 * A strategy class for applying a layout to the LIMB elements.
 * 
 * The layout strategy is primarily responsible for handling overlapping LIMBs. When two or more
 * LIMBs overlap it can adjust their position to prevent overlap or group them together and show
 * an aggregated icon.
 * 
 * This base class does nothing. Use one of the concrete sub-classes, e.g. DefaultLayoutStrategy.
 * 
 * @constructor
 * @param {lucid.maps.limbs.layout.LayoutStrategyOptions} options  The options controlling the layout.
 */
lucid.maps.limbs.layout.LayoutStrategy = function( options )
{
	
	this.init = function()
	{
	};
	
	this.layout = function( div, position, mapDetails )
	{
	};
	
	this.complete = function()
	{
	};
	
	this.getMaxZIndex = function()
	{
		return (typeof options.maxZ === "number") ? options.maxZ : 600;
	}
	
	this.getMinZIndex = function()
	{
		return (typeof options.minZ === "number") ? options.minZ : 500;
	}
	
};


/**
 * @type {object}
 * @property {number} [maxZ]  The maximum z-index to be applied to the LIMB DOM element.
 *                            The maximum z-index is applied to features nearest to the map view.
 *                            If not defined, a default value of 600 is used.
 * @property {number} [minZ]  The minimum z-index to be applied to the LIMB DOM element.
 *                            The minimum z-index is applied to features furthest from the map view.
 *                            If not defined, a default value of 500 is used.
 */
lucid.maps.limbs.layout.LayoutStrategyOptions = {};