Quantcast
--[[
##############################################################################
_____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_       #
 ___/\\\/////////\\\_\/\\\_______\/\\\_\/\\\_______\/\\\_\/////\\\///__      #
  __\//\\\______\///__\//\\\______/\\\__\/\\\_______\/\\\_____\/\\\_____     #
   ___\////\\\__________\//\\\____/\\\___\/\\\_______\/\\\_____\/\\\_____    #
    ______\////\\\________\//\\\__/\\\____\/\\\_______\/\\\_____\/\\\_____   #
     _________\////\\\______\//\\\/\\\_____\/\\\_______\/\\\_____\/\\\_____  #
      __/\\\______\//\\\______\//\\\\\______\//\\\______/\\\______\/\\\_____ #
       _\///\\\\\\\\\\\/________\//\\\________\///\\\\\\\\\/____/\\\\\\\\\\\_#
        ___\///////////___________\///___________\/////////_____\///////////_#
##############################################################################
S U P E R - V I L L A I N - U I   By: Munglunch                              #
##############################################################################
##########################################################
LOCALIZED LUA FUNCTIONS
##########################################################
]]--
--[[ GLOBALS ]]--
local _G = _G;
local unpack    = _G.unpack;
local select    = _G.select;
local pairs     = _G.pairs;
--[[
##########################################################
LOCALIZED GLOBALS
##########################################################
]]--
local SVUI_CLASS_COLORS = _G.SVUI_CLASS_COLORS
local RAID_CLASS_COLORS = _G.RAID_CLASS_COLORS
--[[
##########################################################
GET ADDON DATA
##########################################################
]]--
local SV, L = unpack(select(2, ...));
local scc = SVUI_CLASS_COLORS[SV.class];
local rcc = RAID_CLASS_COLORS[SV.class];
local r2 = .1 + (rcc.r * .1)
local g2 = .1 + (rcc.g * .1)
local b2 = .1 + (rcc.b * .1)
--[[
##########################################################
LAYOUT PRESETS
##########################################################
]]--
local presets = {
	["media"] = {
		["link"] = "media",
		["default"] = {
			["colors"] = {
				["special"] = {.37, .32, .29, 1},
			},
			["textures"] = {
				["pattern"] = "SVUI Backdrop 1",
				["comic"] = "SVUI Comic 1",
				["unitlarge"] = "SVUI Unit BG 1",
				["unitsmall"] = "SVUI Small BG 1",
			},
			["unitframes"] = {
				["buff_bars"] = {.91, .91, .31, 1},
				["health"] = {.1, .6, .02, 1},
				["casting"] = {.91, .91, .31, 1},
				["spark"] = {1, .72, 0, 1},
			},
		},
		["kaboom"] = {
			["colors"] = {
				["special"] = {.28, .31, .32, 1},
			},
			["textures"] = {
				["pattern"] = "SVUI Backdrop 2",
				["comic"] = "SVUI Comic 2",
				["unitlarge"] = "SVUI Unit BG 2",
				["unitsmall"] = "SVUI Small BG 2",
			},
			["unitframes"] = {
				["buff_bars"] = {.51, .79, 0, 1},
				["health"] = {.16, .86, .22, 1},
				["casting"] = {.91, .91, 0, 1},
				["spark"] = {1, .72, 0, 1},
			},
		},
		["classy"] = {
			["colors"] = {
				["special"] = {r2, g2, b2, 1},
			},
			["textures"] = {
				["pattern"] = "SVUI Backdrop 3",
				["comic"] = "SVUI Comic 3",
				["unitlarge"] = "SVUI Unit BG 3",
				["unitsmall"] = "SVUI Small BG 3",
			},
			["unitframes"] = {
				["buff_bars"] = {scc.r, scc.g, scc.b, 1},
				["health"] = {.16, .86, .22, 1},
				["casting"] = {.91, .91, 0, 1},
				["spark"] = {1, .72, 0, 1},
			},
		},
		["dark"] = {
			["colors"] = {
				["special"] = {.25, .26, .27, 1},
			},
			["textures"] = {
				["pattern"] = "SVUI Backdrop 4",
				["comic"] = "SVUI Comic 4",
				["unitlarge"] = "SVUI Unit BG 4",
				["unitsmall"] = "SVUI Small BG 4",
			},
			["unitframes"] = {
				["buff_bars"] = {.45, .55, .15, 1},
				["health"] = {.06, .06, .06, 1},
				["casting"] = {.8, .8, 0, 1},
				["spark"] = {1, .72, 0, 1},
			},
		},
	},
	["auras"] = {
		["link"] = "SVUnit",
		["default"] = {
			["player"] = {
				["buffs"] = {
					enable = false,
					attachTo = "DEBUFFS",
					anchorPoint = 'TOPLEFT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'RIGHT',
				},
				["debuffs"] = {
					enable = false,
					attachTo = "FRAME",
					anchorPoint = 'TOPLEFT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'RIGHT',
				},
				["aurabar"] = {
					enable = false
				}
			},
			["target"] = {
				["smartAuraDisplay"] = "DISABLED",
				["buffs"] = {
					enable = true,
					attachTo = "FRAME",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["debuffs"] = {
					enable = true,
					attachTo = "BUFFS",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["aurabar"] = {
					enable = false
				}
			},
			["focus"] = {
				["smartAuraDisplay"] = "DISABLED",
				["buffs"] = {
					enable = false,
					attachTo = "FRAME",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["debuffs"] = {
					enable = true,
					attachTo = "FRAME",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["aurabar"] = {
					enable = false
				}
			}
		},
		["icons"] = {
			["player"] = {
				["buffs"] = {
					enable = true,
					attachTo = "FRAME",
					anchorPoint = 'TOPLEFT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'RIGHT',
				},
				["debuffs"] = {
					enable = true,
					attachTo = "BUFFS",
					anchorPoint = 'TOPLEFT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'RIGHT',
				},
				["aurabar"] = {
					enable = false
				}
			},
			["target"] = {
				["smartAuraDisplay"] = "DISABLED",
				["buffs"] = {
					enable = true,
					attachTo = "FRAME",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["debuffs"] = {
					enable = true,
					attachTo = "BUFFS",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["aurabar"] = {
					enable = false
				}
			},
			["focus"] = {
				["smartAuraDisplay"] = "DISABLED",
				["buffs"] = {
					enable = false,
					attachTo = "FRAME",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["debuffs"] = {
					enable = true,
					attachTo = "FRAME",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["aurabar"] = {
					enable = false
				}
			}
		},
		["bars"] = {
			["player"] = {
				["buffs"] = {
					enable = false,
					attachTo = "FRAME"
				},
				["debuffs"] = {
					enable = false,
					attachTo = "FRAME"
				},
				["aurabar"] = {
					enable = true,
					attachTo = "FRAME"
				}
			},
			["target"] = {
				["smartAuraDisplay"] = "SHOW_DEBUFFS_ON_FRIENDLIES",
				["buffs"] = {
					enable = false,
					attachTo = "FRAME"
				},
				["debuffs"] = {
					enable = false,
					attachTo = "FRAME"
				},
				["aurabar"] = {
					enable = true,
					attachTo = "FRAME"
				}
			},
			["focus"] = {
				["smartAuraDisplay"] = "SHOW_DEBUFFS_ON_FRIENDLIES",
				["buffs"] = {
					enable = false,
					attachTo = "FRAME"
				},
				["debuffs"] = {
					enable = false,
					attachTo = "FRAME"
				},
				["aurabar"] = {
					enable = true,
					attachTo = "FRAME"
				}
			}
		},
		["theworks"] = {
			["player"] = {
				["buffs"] = {
					enable = true,
					attachTo = "FRAME",
					anchorPoint = 'TOPLEFT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'RIGHT',
				},
				["debuffs"] = {
					enable = true,
					attachTo = "BUFFS",
					anchorPoint = 'TOPLEFT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'RIGHT',
				},
				["aurabar"] = {
					enable = true,
					attachTo = "DEBUFFS"
				}
			},
			["target"] = {
				["smartAuraDisplay"] = "SHOW_DEBUFFS_ON_FRIENDLIES",
				["buffs"] = {
					enable = true,
					attachTo = "FRAME",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["debuffs"] = {
					enable = true,
					attachTo = "BUFFS",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["aurabar"] = {
					enable = true,
					attachTo = "DEBUFFS"
				}
			},
			["focus"] = {
				["smartAuraDisplay"] = "SHOW_DEBUFFS_ON_FRIENDLIES",
				["buffs"] = {
					enable = true,
					attachTo = "FRAME",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["debuffs"] = {
					enable = true,
					attachTo = "BUFFS",
					anchorPoint = 'TOPRIGHT',
					verticalGrowth = 'UP',
					horizontalGrowth = 'LEFT',
				},
				["aurabar"] = {
					enable = true,
					attachTo = "DEBUFFS"
				}
			}
		},
	},
	["bars"] = {
		["link"] = "SVBar",
		["default"] = {
			["Bar1"] = {
				buttonsize = 32
			},
			["Bar2"] = {
				enable = false
			},
			["Bar3"] = {
				buttons = 6,
				buttonspacing = 2,
				buttonsPerRow = 6,
				buttonsize = 32
			},
			["Bar5"] = {
				buttons = 6,
				buttonspacing = 2,
				buttonsPerRow = 6,
				buttonsize = 32
			}
		},
		["onebig"] = {
			["Bar1"] = {
				buttonsize = 40
			},
			["Bar2"] = {
				enable = false
			},
			["Bar3"] = {
				buttons = 6,
				buttonspacing = 2,
				buttonsPerRow = 6,
				buttonsize = 40
			},
			["Bar5"] = {
				buttons = 6,
				buttonspacing = 2,
				buttonsPerRow = 6,
				buttonsize = 40
			}
		},
		["twosmall"] = {
			["Bar1"] = {
				buttonsize = 32
			},
			["Bar2"] = {
				enable = true,
				buttonsize = 32
			},
			["Bar3"] = {
				buttons = 12,
				buttonspacing = 2,
				buttonsPerRow = 6,
				buttonsize = 32
			},
			["Bar5"] = {
				buttons = 12,
				buttonspacing = 2,
				buttonsPerRow = 6,
				buttonsize = 32
			}
		},
		["twobig"] = {
			["Bar1"] = {
				buttonsize = 40
			},
			["Bar2"] = {
				enable = true,
				buttonsize = 40
			},
			["Bar3"] = {
				buttons = 12,
				buttonspacing = 2,
				buttonsPerRow = 6,
				buttonsize = 40
			},
			["Bar5"] = {
				buttons = 12,
				buttonspacing = 2,
				buttonsPerRow = 6,
				buttonsize = 40
			}
		},
	},
	["units"] = {
		["link"] = "SVUnit",
		["default"] = {
			["player"] = {
				width = 215,
				height = 60,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				}
			},
			["target"] = {
				width = 215,
				height = 60,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				}
			},
			["pet"] = {
				width = 130,
				height = 30,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				},
				name = {
					position = "CENTER"
				},
			},
			["targettarget"] = {
				width = 130,
				height = 30,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				},
				name = {
					position = "CENTER"
				},
			},
			["boss"] = {
				width = 200,
				height = 45,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				}
			},
			["party"] = {
				width = 75,
				height = 60,
				wrapXOffset = 9,
				wrapYOffset = 13,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				},
				name = {
					position = "INNERTOPLEFT"
				},
			},
			["raid10"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
			["raid25"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
			["raid40"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
		},
		["super"] = {
			["player"] = {
				width = 215,
				height = 60,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				}
			},
			["target"] = {
				width = 215,
				height = 60,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				}
			},
			["pet"] = {
				width = 150,
				height = 30,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				},
				name = {
					position = "CENTER"
				},
			},
			["targettarget"] = {
				width = 150,
				height = 30,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				},
				name = {
					position = "CENTER"
				},
			},
			["boss"] = {
				width = 200,
				height = 45,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				}
			},
			["party"] = {
				width = 75,
				height = 60,
				wrapXOffset = 9,
				wrapYOffset = 13,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				},
				name = {
					position = "INNERTOPLEFT"
				},
			},
			["raid10"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
			["raid25"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
			["raid40"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
		},
		["simple"] = {
			["player"] = {
				width = 215,
				height = 60,
				portrait = {
					enable = true,
					overlay = false,
					style = "2D",
					width = 60,
				}
			},
			["target"] = {
				width = 215,
				height = 60,
				portrait = {
					enable = true,
					overlay = false,
					style = "2D",
					width = 60,
				}
			},
			["pet"] = {
				width = 150,
				height = 30,
				portrait = {
					enable = true,
					overlay = false,
					style = "2D",
					width = 30,
				},
				name = {
					position = "INNERLEFT"
				},
			},
			["targettarget"] = {
				width = 150,
				height = 30,
				portrait = {
					enable = true,
					overlay = false,
					style = "2D",
					width = 30,
				},
				name = {
					position = "INNERLEFT"
				},
			},
			["boss"] = {
				width = 200,
				height = 45,
				portrait = {
					enable = true,
					overlay = false,
					style = "2D",
					width = 45,
				}
			},
			["party"] = {
				width = 100,
				height = 35,
				wrapXOffset = 9,
				wrapYOffset = 13,
				portrait = {
					enable = true,
					overlay = false,
					style = "2D",
					width = 35,
				},
				name = {
					position = "INNERRIGHT"
				},
			},
			["raid10"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
			["raid25"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
			["raid40"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
		},
		["compact"] = {
			["player"] = {
				width = 215,
				height = 50,
				portrait = {
					enable = false
				}
			},
			["target"] = {
				width = 215,
				height = 50,
				portrait = {
					enable = false
				}
			},
			["pet"] = {
				width = 130,
				height = 30,
				portrait = {
					enable = false
				},
				name = {
					position = "CENTER"
				},
			},
			["targettarget"] = {
				width = 130,
				height = 30,
				portrait = {
					enable = false
				},
				name = {
					position = "CENTER"
				},
			},
			["boss"] = {
				width = 200,
				height = 45,
				portrait = {
					enable = false
				}
			},
			["party"] = {
				width = 70,
				height = 30,
				wrapXOffset = 9,
				wrapYOffset = 13,
				portrait = {
					enable = false
				},
				name = {
					position = "INNERTOPLEFT"
				},
			},
			["raid10"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
			["raid25"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
			["raid40"] = {
				width = 50,
				height = 30,
				wrapXOffset = 6,
				wrapYOffset = 6,
			},
		},
	},
	["layouts"] = {
		["link"] = "SVUnit",
		["default"] = {
			["grid"] = {
				["enable"] = false,
			},
			["party"] = {
				width = 75,
				height = 60,
				wrapXOffset = 9,
				wrapYOffset = 13,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				},
				icons = {
					roleIcon = {
						["attachTo"] = "INNERBOTTOMRIGHT",
						["xOffset"] = 0,
						["yOffset"] = 0,
					},
				},
				name = {
					["font"] = "SVUI Default Font",
					["fontOutline"] = "OUTLINE",
					["position"] = "INNERTOPLEFT",
					["xOffset"] = 0,
					["yOffset"] = 0,
				},
			},
			["raid10"] = {
				width = 50,
				height = 30,
				gRowCol = 1,
				wrapXOffset = 9,
				wrapYOffset = 13,
				showBy = "RIGHT_DOWN",
				["power"] = {
					["enable"] = false,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERBOTTOMLEFT",
						["xOffset"] = 8,
						["yOffset"] = 1,
					},
				},
				["name"] = {
					["font"] = "SVUI Default Font",
					["position"] = "INNERTOPLEFT",
					["xOffset"] = 8,
					["yOffset"] = 0,
				},
			},
			["raid25"] = {
				width = 50,
				height = 30,
				gRowCol = 1,
				wrapXOffset = 9,
				wrapYOffset = 13,
				showBy = "RIGHT_DOWN",
				["power"] = {
					["enable"] = false,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERBOTTOMLEFT",
						["xOffset"] = 8,
						["yOffset"] = 1,
					},
				},
				["name"] = {
					["font"] = "SVUI Default Font",
					["position"] = "INNERTOPLEFT",
					["xOffset"] = 8,
					["yOffset"] = 0,
				},
			},
			["raid40"] = {
				width = 50,
				height = 30,
				gRowCol = 1,
				wrapXOffset = 9,
				wrapYOffset = 13,
				showBy = "RIGHT_DOWN",
				["power"] = {
					["enable"] = false,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERBOTTOMLEFT",
						["xOffset"] = 8,
						["yOffset"] = 1,
					},
				},
				["name"] = {
					["font"] = "SVUI Default Font",
					["position"] = "INNERTOPLEFT",
					["xOffset"] = 8,
					["yOffset"] = 0,
				},
			},
		},
		["healer"] = {
			["grid"] = {
				["enable"] = false,
			},
			["party"] = {
				width = 75,
				height = 60,
				wrapXOffset = 9,
				wrapYOffset = 13,
				portrait = {
					enable = true,
					overlay = true,
					style = "3D",
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERBOTTOMRIGHT",
						["xOffset"] = 0,
						["yOffset"] = 0,
					},
				},
				["name"] = {
					["font"] = "SVUI Default Font",
					["fontOutline"] = "OUTLINE",
					["position"] = "INNERTOPLEFT",
					["xOffset"] = 0,
					["yOffset"] = 0,
				},
			},
			["raid10"] = {
				width = 50,
				height = 30,
				["showBy"] = "DOWN_RIGHT",
				["gRowCol"] = 1,
				["wrapXOffset"] = 4,
				["wrapYOffset"] = 4,
				["power"] = {
					["enable"] = true,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERBOTTOMLEFT",
						["xOffset"] = 8,
						["yOffset"] = 0,
					},
				},
				["name"] = {
					["font"] = "SVUI Default Font",
					["position"] = "INNERTOPLEFT",
					["xOffset"] = 8,
					["yOffset"] = 0,
				},
			},
			["raid25"] = {
				width = 50,
				height = 30,
				["showBy"] = "DOWN_RIGHT",
				["gRowCol"] = 1,
				["wrapXOffset"] = 4,
				["wrapYOffset"] = 4,
				["power"] = {
					["enable"] = true,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERBOTTOMLEFT",
						["xOffset"] = 8,
						["yOffset"] = 0,
					},
				},
				["name"] = {
					["font"] = "SVUI Default Font",
					["position"] = "INNERTOPLEFT",
					["xOffset"] = 8,
					["yOffset"] = 0,
				},
			},
			["raid40"] = {
				width = 50,
				height = 30,
				["showBy"] = "DOWN_RIGHT",
				["gRowCol"] = 1,
				["wrapXOffset"] = 4,
				["wrapYOffset"] = 4,
				["power"] = {
					["enable"] = true,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERBOTTOMLEFT",
						["xOffset"] = 8,
						["yOffset"] = 0,
					},
				},
				["name"] = {
					["font"] = "SVUI Default Font",
					["position"] = "INNERTOPLEFT",
					["xOffset"] = 8,
					["yOffset"] = 0,
				},
			},
		},
		["dps"] = {
			["grid"] = {
				["enable"] = false,
			},
			["party"] = {
				width = 115,
				height = 25,
				wrapXOffset = 9,
				wrapYOffset = 13,
				["power"] = {
					["enable"] = false,
				},
				portrait = {
					enable = false,
					overlay = false,
					style = "2D",
					width = 35,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "LEFT",
						["xOffset"] = -2,
						["yOffset"] = 0,
					},
				},
				["name"] = {
					["font"] = "Roboto",
					["fontOutline"] = "NONE",
					["position"] = "CENTER",
					["xOffset"] = 0,
					["yOffset"] = 1,
				},
			},
			["raid10"] = {
				["showBy"] = "UP_RIGHT",
				["gRowCol"] = 2,
				["wrapXOffset"] = 4,
				["wrapYOffset"] = 4,
				["power"] = {
					["enable"] = false,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERLEFT",
						["xOffset"] = 10,
						["yOffset"] = 1,
					},
				},
				["name"] = {
					["font"] = "Roboto",
					["position"] = "CENTER",
					["xOffset"] = 0,
					["yOffset"] = 1,
				},
				["width"] = 80,
				["height"] = 20,
			},
			["raid25"] = {
				["showBy"] = "UP_RIGHT",
				["gRowCol"] = 3,
				["wrapXOffset"] = 4,
				["wrapYOffset"] = 4,
				["power"] = {
					["enable"] = false,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERLEFT",
						["xOffset"] = 10,
						["yOffset"] = 1,
					},
				},
				["name"] = {
					["font"] = "Roboto",
					["position"] = "CENTER",
					["xOffset"] = 0,
					["yOffset"] = 1,
				},
				["width"] = 80,
				["height"] = 20,
			},
			["raid40"] = {
				["showBy"] = "UP_RIGHT",
				["gRowCol"] = 4,
				["wrapXOffset"] = 4,
				["wrapYOffset"] = 4,
				["power"] = {
					["enable"] = false,
				},
				["icons"] = {
					["roleIcon"] = {
						["attachTo"] = "INNERLEFT",
						["xOffset"] = 10,
						["yOffset"] = 1,
					},
				},
				["name"] = {
					["font"] = "Roboto",
					["position"] = "CENTER",
					["xOffset"] = 0,
					["yOffset"] = 1,
				},
				["width"] = 80,
				["height"] = 20,
			},
		},
		["grid"] = {
			["grid"] = {
				["enable"] = true,
				["size"] = 34,
				["shownames"] = true,
			},
			["party"] = {
				["gridAllowed"] = true,
				["wrapXOffset"] = 1,
				["wrapYOffset"] = 1,
			},
			["raid10"] = {
				["gridAllowed"] = true,
				["wrapXOffset"] = 1,
				["wrapYOffset"] = 1,
				["gRowCol"] = 1,
				["showBy"] = "RIGHT_DOWN",
			},
			["raid25"] = {
				["gridAllowed"] = true,
				["wrapXOffset"] = 1,
				["wrapYOffset"] = 1,
				["gRowCol"] = 1,
				["showBy"] = "RIGHT_DOWN",
			},
			["raid40"] = {
				["gridAllowed"] = true,
				["wrapXOffset"] = 1,
				["wrapYOffset"] = 1,
				["gRowCol"] = 1,
				["showBy"] = "RIGHT_DOWN",
			},
		},
	}
};

local function CopyLayout(saved, preset)
	if(type(preset) == 'table') then
        for key,val in pairs(preset) do
        	if(not saved[key]) then saved[key] = {} end
    		if(type(val) == "table") then
    			CopyLayout(saved[key], val)
    		elseif(saved[key]) then
            	saved[key] = val
            end
        end
    else
    	saved = preset
    end
end

function SV:LoadPresetData(category, theme)
	if(presets[category] and presets[category]["link"]) then
		theme = theme or "default"
		local saved = presets[category]["link"]
		local preset =  presets[category][theme]
	    CopyLayout(SV.db[saved], preset)
	end
end