-- This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
-- To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/
-- or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

local MereHealingFrames, privateVars = ...

-- Note that changing the layer order may cause some oddities to the frames.
-- This is just a mechanism to make sure every object on screen has a sensible layering.
-- any overlapping within a frame may cause odd behaviour.

MereHealingFrames.Layers = {

	LayoutBase = 1,
	LayoutNameLabel = 2,

    AbsorbFrame = 5,
	PanelBase = 10,

	HealingBarBase = 20,
	HealingBarBar = 21,
	HealingBarShadow = 22,
	HealingBarShadow2 = 23,
	HealingBarShadow3 = 24,
	HealingBarShadow4 = 25,
	HealingBarText = 26,

	PanelName = 31,


	RoleBorder = 35,
	RoleBackground = 36,
	RoleText = 37,

	HotIconBase = 40,
	HotIconIcon = 41,
	HotIconTextShadow = 42,
	HotIconTextShadow2 = 43,
	HotIconTextShadow3 = 44,
	HotIconTextShadow4 = 45,
	HotIconText = 46,

	PanelStatusPanel = 80,
	PanelStatusTextShadow = 84,
	PanelStatusText = 85,

	MaskBase = 90, -- This is the clickable layer on top of everything

	LayerOffset = 100, -- marker for end of layouts, each layout should start from a multiple of this, plus the above numbers

	ToolTipBase = 10000,
	ToolTipText = 10001,

}

function MereHealingFrames.Layers.CalculateLayer(LayoutOffset, targetLayer)
	return (LayoutOffset * MereHealingFrames.Layers.LayerOffset) + MereHealingFrames.Layers[targetLayer]
end