diff --git a/Fonts/MORPHEUS.ttf b/Fonts/MORPHEUS.ttf index 63b1c3b..3ef95aa 100644 Binary files a/Fonts/MORPHEUS.ttf and b/Fonts/MORPHEUS.ttf differ diff --git a/Fonts/OTHER_MORPHEUS.ttf b/Fonts/OTHER_MORPHEUS.ttf new file mode 100644 index 0000000..63b1c3b Binary files /dev/null and b/Fonts/OTHER_MORPHEUS.ttf differ diff --git a/Fonts/SKURRI.ttf b/Fonts/SKURRI.ttf index d86f2a2..42f02d6 100644 Binary files a/Fonts/SKURRI.ttf and b/Fonts/SKURRI.ttf differ diff --git a/Interface/AddOns/SVUI/data/class_filters/deathknight.lua b/Interface/AddOns/SVUI/data/class_filters/deathknight.lua index 6ab8b97..30f8e68 100644 --- a/Interface/AddOns/SVUI/data/class_filters/deathknight.lua +++ b/Interface/AddOns/SVUI/data/class_filters/deathknight.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ PRIEST FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {-- Unholy Frenzy - ["enabled"] = true, + ["49016"] = {-- Unholy Frenzy + ["enable"] = true, ["id"] = 49016, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05}, diff --git a/Interface/AddOns/SVUI/data/class_filters/druid.lua b/Interface/AddOns/SVUI/data/class_filters/druid.lua index 2e73207..ecb4b96 100644 --- a/Interface/AddOns/SVUI/data/class_filters/druid.lua +++ b/Interface/AddOns/SVUI/data/class_filters/druid.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ DRUID FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {-- Rejuvenation - ["enabled"] = true, + ["774"] = {-- Rejuvenation + ["enable"] = true, ["id"] = 774, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.8, ["g"] = 0.4, ["b"] = 0.8}, @@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Regrowth - ["enabled"] = true, + ["8936"] = {-- Regrowth + ["enable"] = true, ["id"] = 8936, ["point"] = "BOTTOMLEFT", ["color"] = {["r"] = 0.2, ["g"] = 0.8, ["b"] = 0.2}, @@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Lifebloom - ["enabled"] = true, + ["33763"] = {-- Lifebloom + ["enable"] = true, ["id"] = 33763, ["point"] = "TOPLEFT", ["color"] = {["r"] = 0.4, ["g"] = 0.8, ["b"] = 0.2}, @@ -65,8 +65,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Wild Growth - ["enabled"] = true, + ["48438"] = {-- Wild Growth + ["enable"] = true, ["id"] = 48438, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.8, ["g"] = 0.4, ["b"] = 0}, diff --git a/Interface/AddOns/SVUI/data/class_filters/mage.lua b/Interface/AddOns/SVUI/data/class_filters/mage.lua index 4ee4817..5164ac7 100644 --- a/Interface/AddOns/SVUI/data/class_filters/mage.lua +++ b/Interface/AddOns/SVUI/data/class_filters/mage.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ MAGE FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {-- Ice Ward - ["enabled"] = true, + ["111264"] = {-- Ice Ward + ["enable"] = true, ["id"] = 111264, ["point"] = "TOPLEFT", ["color"] = {["r"] = 0.2, ["g"] = 0.2, ["b"] = 1}, diff --git a/Interface/AddOns/SVUI/data/class_filters/monk.lua b/Interface/AddOns/SVUI/data/class_filters/monk.lua index 91e4917..4863087 100644 --- a/Interface/AddOns/SVUI/data/class_filters/monk.lua +++ b/Interface/AddOns/SVUI/data/class_filters/monk.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ MONK FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {--Renewing Mist - ["enabled"] = true, + ["119611"] = {--Renewing Mist + ["enable"] = true, ["id"] = 119611, ["point"] = "TOPLEFT", ["color"] = {["r"] = 0.8, ["g"] = 0.4, ["b"] = 0.8}, @@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Life Cocoon - ["enabled"] = true, + ["116849"] = {-- Life Cocoon + ["enable"] = true, ["id"] = 116849, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.2, ["g"] = 0.8, ["b"] = 0.2}, @@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Enveloping Mist - ["enabled"] = true, + ["132120"] = {-- Enveloping Mist + ["enable"] = true, ["id"] = 132120, ["point"] = "BOTTOMLEFT", ["color"] = {["r"] = 0.4, ["g"] = 0.8, ["b"] = 0.2}, @@ -65,8 +65,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Zen Sphere - ["enabled"] = true, + ["124081"] = {-- Zen Sphere + ["enable"] = true, ["id"] = 124081, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.7, ["g"] = 0.4, ["b"] = 0}, diff --git a/Interface/AddOns/SVUI/data/class_filters/paladin.lua b/Interface/AddOns/SVUI/data/class_filters/paladin.lua index 3e994fc..77ba64b 100644 --- a/Interface/AddOns/SVUI/data/class_filters/paladin.lua +++ b/Interface/AddOns/SVUI/data/class_filters/paladin.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ PALADIN FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {-- Beacon of Light - ["enabled"] = true, + ["53563"] = {-- Beacon of Light + ["enable"] = true, ["id"] = 53563, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.7, ["g"] = 0.3, ["b"] = 0.7}, @@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Hand of Protection - ["enabled"] = true, + ["1022"] = {-- Hand of Protection + ["enable"] = true, ["id"] = 1022, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.2, ["g"] = 0.2, ["b"] = 1}, @@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Hand of Freedom - ["enabled"] = true, + ["1044"] = {-- Hand of Freedom + ["enable"] = true, ["id"] = 1044, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.89, ["g"] = 0.45, ["b"] = 0}, @@ -65,8 +65,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Hand of Salvation - ["enabled"] = true, + ["1038"] = {-- Hand of Salvation + ["enable"] = true, ["id"] = 1038, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.93, ["g"] = 0.75, ["b"] = 0}, @@ -79,8 +79,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Hand of Sacrifice - ["enabled"] = true, + ["6940"] = {-- Hand of Sacrifice + ["enable"] = true, ["id"] = 6940, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.89, ["g"] = 0.1, ["b"] = 0.1}, @@ -93,8 +93,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Hand of Purity - ["enabled"] = true, + ["114039"] = {-- Hand of Purity + ["enable"] = true, ["id"] = 114039, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.64, ["g"] = 0.41, ["b"] = 0.72}, @@ -107,8 +107,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Sacred Shield - ["enabled"] = true, + ["20925"] = {-- Sacred Shield + ["enable"] = true, ["id"] = 20925, ["point"] = "TOPLEFT", ["color"] = {["r"] = 0.93, ["g"] = 0.75, ["b"] = 0}, @@ -121,8 +121,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Eternal Flame - ["enabled"] = true, + ["114163"] = {-- Eternal Flame + ["enable"] = true, ["id"] = 114163, ["point"] = "BOTTOMLEFT", ["color"] = {["r"] = 0.87, ["g"] = 0.7, ["b"] = 0.03}, diff --git a/Interface/AddOns/SVUI/data/class_filters/pets.lua b/Interface/AddOns/SVUI/data/class_filters/pets.lua index 1979d5a..bce1270 100644 --- a/Interface/AddOns/SVUI/data/class_filters/pets.lua +++ b/Interface/AddOns/SVUI/data/class_filters/pets.lua @@ -21,8 +21,8 @@ local SV = select(2, ...) --[[ PET FILTERS ]]-- SV.filterdefaults["PetBuffWatch"] = { - {-- Frenzy - ["enabled"] = true, + ["19615"] = {-- Frenzy + ["enable"] = true, ["id"] = 19615, ["point"] = "TOPLEFT", ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05}, @@ -35,8 +35,8 @@ SV.filterdefaults["PetBuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Mend Pet - ["enabled"] = true, + ["136"] = {-- Mend Pet + ["enable"] = true, ["id"] = 136, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.2, ["g"] = 0.8, ["b"] = 0.2}, diff --git a/Interface/AddOns/SVUI/data/class_filters/priest.lua b/Interface/AddOns/SVUI/data/class_filters/priest.lua index 6cd4788..d3dc024 100644 --- a/Interface/AddOns/SVUI/data/class_filters/priest.lua +++ b/Interface/AddOns/SVUI/data/class_filters/priest.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ PRIEST FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {-- Weakened Soul - ["enabled"] = true, + ["6788"] = {-- Weakened Soul + ["enable"] = true, ["id"] = 6788, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, @@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Prayer of Mending - ["enabled"] = true, + ["41635"] = {-- Prayer of Mending + ["enable"] = true, ["id"] = 41635, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.2, ["g"] = 0.7, ["b"] = 0.2}, @@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Renew - ["enabled"] = true, + ["139"] = {-- Renew + ["enable"] = true, ["id"] = 139, ["point"] = "BOTTOMLEFT", ["color"] = {["r"] = 0.4, ["g"] = 0.7, ["b"] = 0.2}, @@ -65,8 +65,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Power Word: Shield - ["enabled"] = true, + ["17"] = {-- Power Word: Shield + ["enable"] = true, ["id"] = 17, ["point"] = "TOPLEFT", ["color"] = {["r"] = 0.81, ["g"] = 0.85, ["b"] = 0.1}, @@ -79,8 +79,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Power Word: Shield Power Insight - ["enabled"] = true, + ["123258"] = {-- Power Word: Shield Power Insight + ["enable"] = true, ["id"] = 123258, ["point"] = "TOPLEFT", ["color"] = {["r"] = 0.81, ["g"] = 0.85, ["b"] = 0.1}, @@ -93,8 +93,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Power Infusion - ["enabled"] = true, + ["10060"] = {-- Power Infusion + ["enable"] = true, ["id"] = 10060, ["point"] = "RIGHT", ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05}, @@ -107,8 +107,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Guardian Spirit - ["enabled"] = true, + ["47788"] = {-- Guardian Spirit + ["enable"] = true, ["id"] = 47788, ["point"] = "LEFT", ["color"] = {["r"] = 0.86, ["g"] = 0.44, ["b"] = 0}, @@ -121,8 +121,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Pain Suppression - ["enabled"] = true, + ["33206"] = {-- Pain Suppression + ["enable"] = true, ["id"] = 33206, ["point"] = "LEFT", ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05}, diff --git a/Interface/AddOns/SVUI/data/class_filters/rogue.lua b/Interface/AddOns/SVUI/data/class_filters/rogue.lua index 767c825..291ae45 100644 --- a/Interface/AddOns/SVUI/data/class_filters/rogue.lua +++ b/Interface/AddOns/SVUI/data/class_filters/rogue.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ ROGUE FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {-- Tricks of the Trade - ["enabled"] = true, + ["57934"] = {-- Tricks of the Trade + ["enable"] = true, ["id"] = 57934, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05}, diff --git a/Interface/AddOns/SVUI/data/class_filters/shaman.lua b/Interface/AddOns/SVUI/data/class_filters/shaman.lua index e892757..77e2c7c 100644 --- a/Interface/AddOns/SVUI/data/class_filters/shaman.lua +++ b/Interface/AddOns/SVUI/data/class_filters/shaman.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ SHAMAN FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {-- Riptide - ["enabled"] = true, + ["61295"] = {-- Riptide + ["enable"] = true, ["id"] = 61295, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.7, ["g"] = 0.3, ["b"] = 0.7}, @@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Earth Shield - ["enabled"] = true, + ["974"] = {-- Earth Shield + ["enable"] = true, ["id"] = 974, ["point"] = "BOTTOMLEFT", ["color"] = {["r"] = 0.2, ["g"] = 0.7, ["b"] = 0.2}, @@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Earthliving - ["enabled"] = true, + ["51945"] = {-- Earthliving + ["enable"] = true, ["id"] = 51945, ["point"] = "BOTTOMRIGHT", ["color"] = {["r"] = 0.7, ["g"] = 0.4, ["b"] = 0.4}, diff --git a/Interface/AddOns/SVUI/data/class_filters/warrior.lua b/Interface/AddOns/SVUI/data/class_filters/warrior.lua index 11caad4..c5f3839 100644 --- a/Interface/AddOns/SVUI/data/class_filters/warrior.lua +++ b/Interface/AddOns/SVUI/data/class_filters/warrior.lua @@ -23,8 +23,8 @@ local SV = select(2, ...) --[[ WARRIOR FILTERS ]]-- SV.filterdefaults["BuffWatch"] = { - {-- Vigilance - ["enabled"] = true, + ["114030"] = {-- Vigilance + ["enable"] = true, ["id"] = 114030, ["point"] = "TOPLEFT", ["color"] = {["r"] = 0.2, ["g"] = 0.2, ["b"] = 1}, @@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Intervene - ["enabled"] = true, + ["3411"] = {-- Intervene + ["enable"] = true, ["id"] = 3411, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05}, @@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = { ['xOffset'] = 0, ['yOffset'] = 0 }, - {-- Safe Guard - ["enabled"] = true, + ["114029"] = {-- Safe Guard + ["enable"] = true, ["id"] = 114029, ["point"] = "TOPRIGHT", ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05}, diff --git a/Interface/AddOns/SVUI/data/defaults.lua b/Interface/AddOns/SVUI/data/defaults.lua index 87ebb97..64b5b30 100644 --- a/Interface/AddOns/SVUI/data/defaults.lua +++ b/Interface/AddOns/SVUI/data/defaults.lua @@ -1548,6 +1548,11 @@ SV.defaults["SVUnit"] = { ["xOffset"] = -4, ["yOffset"] = 0, ["sizeOverride"] = 0, + }, + ["auraWatch"] = + { + ["enable"] = true, + ["size"] = 8, }, ["aurabar"] = { diff --git a/Interface/AddOns/SVUI/data/filterdefaults.lua b/Interface/AddOns/SVUI/data/filterdefaults.lua index 849c884..f5d53e5 100644 --- a/Interface/AddOns/SVUI/data/filterdefaults.lua +++ b/Interface/AddOns/SVUI/data/filterdefaults.lua @@ -72,4 +72,20 @@ for k, x in pairs(FilterIDs) do end end SV.filterdefaults[k] = src +end + +function SV:SanitizeFilters() + local filter = SV.filters.BuffWatch + for id, watchData in pairs(filter) do + if((not watchData.id) or (tonumber(id) ~= watchData.id)) then + SV.filters.BuffWatch[id] = nil + end + end + + filter = SV.filters.PetBuffWatch + for id, watchData in pairs(filter) do + if((not watchData.id) or (tonumber(id) ~= watchData.id)) then + SV.filters.PetBuffWatch[id] = nil + end + end end \ No newline at end of file diff --git a/Interface/AddOns/SVUI/framework/api/api.xml b/Interface/AddOns/SVUI/framework/api/api.xml index 5c0f8e5..c12f99c 100644 --- a/Interface/AddOns/SVUI/framework/api/api.xml +++ b/Interface/AddOns/SVUI/framework/api/api.xml @@ -1,1311 +1,6 @@ <Ui xmlns="http://www.blizzard.com/wow/ui/"> - - <Frame name="SVUI_ShadowTemplate" virtual="true"> - <Attributes> - <Attribute name="shadowAlpha" type="number" value="0.5" /> - </Attributes> - <Backdrop edgeFile="Interface\AddOns\SVUI\assets\artwork\Template\GLOW"> - <EdgeSize val="3" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0" g="0" b="0" a="0" /> - <BorderColor r="0" g="0" b="0" a="0.5" /> - </Backdrop> - </Frame> - - <Frame name="SVUI_PanelTemplate_Default" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="default" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="default" /> - <Attribute name="panelGradient" type="string" value="default" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_Transparent" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="transparent" /> - <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="transparent" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="true" /> - </Attributes> - <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="2" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0" g="0" b="0" a="0.5" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_Component" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="component" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="default" /> - <Attribute name="panelGradient" type="string" value="default" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="2" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_Headline" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="headline" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="hinted" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" tile="true" edgeFile="Interface\BUTTONS\WHITE8X8"> - <EdgeSize val="1" /> - <TileSize val="20" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <BorderColor r="0" g="0" b="0" a="1" /> - <Color r="0" g="0" b="0" a="0.25" /> - </Backdrop> - </Frame> - - <Frame name="SVUI_PanelTemplate_Button" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="button" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="default" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\BUTTON" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="2" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_FramedTop" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="framedtop" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="default" /> - <Attribute name="panelGradient" type="string" value="darkest2" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT2" setAllPoints="true" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_FramedBottom" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="framedbottom" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="default" /> - <Attribute name="panelGradient" type="string" value="darkest" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_Bar" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="bar" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="transparent" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="true" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0" g="0" b="0" a="0.5" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_Slot" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="slot" /> - <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="transparent" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="true" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="1" right="1" top="1" bottom="1" /> - <Color r="0" g="0" b="0" a="0.5" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_Icon" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="slot" /> - <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="invisible" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="true" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="1" right="1" top="1" bottom="1" /> - <Color r="0" g="0" b="0" a="0" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_Inset" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="inset" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="transparent" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelSkipUpdate" type="boolean" value="true" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\AddOns\SVUI\assets\artwork\Template\INSET" tile="false"> - <EdgeSize val="6" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0" g="0" b="0" a="0.5" /> - <BorderColor r="0" g="0" b="0" a="0.5" /> - </Backdrop> - <Layers> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="1" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_Comic" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="comic" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="class" /> - <Attribute name="panelGradient" type="string" value="class" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC1" tile="false"> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC1" setAllPoints="true" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_Model" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="model" /> - <Attribute name="panelPadding" type="number" value="1" /> - <Attribute name="panelColor" type="string" value="special" /> - <Attribute name="panelGradient" type="string" value="class" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" tile="false"> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" setAllPoints="true" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_ModelBorder" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="modelborder" /> - <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="special" /> - <Attribute name="panelGradient" type="string" value="class" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="2" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0" g="0" b="0" a="0.5" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" setAllPoints="true" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_Paper" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="paper" /> - <Attribute name="panelPadding" type="number" value="3" /> - <Attribute name="panelColor" type="string" value="white" /> - <Attribute name="panelGradient" type="string" value="white" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="true" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="1" g="1" b="1" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" /> - <Color r="1" g="1" b="1" a="1" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="3" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="3" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="3" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="3" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_Container" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="container" /> - <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="container" /> - <Attribute name="panelGradient" type="string" value="container" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.22" g="0.21" b="0.2" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" /> - <Color r="0.22" g="0.21" b="0.2" a="1" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_Pattern" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="pattern" /> - <Attribute name="panelPadding" type="number" value="3" /> - <Attribute name="panelColor" type="string" value="special" /> - <Attribute name="panelGradient" type="string" value="special" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN1" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="1" /> - <TileSize val="0" /> - <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN1" setAllPoints="true" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="3" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="3" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="3" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="3" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_Action" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="action" /> - <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="default" /> - <Attribute name="panelGradient" type="string" value="special" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="2" /> - <TileSize val="0" /> - <BackgroundInsets left="1" right="1" top="1" bottom="1" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - </Layer> - <Layer level="BACKGROUND" textureSubLevel="2"> - <Texture parentKey="ExtendedTopLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_TOPLEFT"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOP" /> - <Anchor point="BOTTOMLEFT" relativePoint="LEFT" /> - </Anchors> - <Color r="0.05" g="0.05" b="0.05" a="0.5" /> - </Texture> - <Texture parentKey="ExtendedTopRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_TOPRIGHT"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="TOPLEFT" relativePoint="TOP" /> - <Anchor point="BOTTOMRIGHT" relativePoint="RIGHT" /> - </Anchors> - <Color r="0.05" g="0.05" b="0.05" a="0.5" /> - </Texture> - <Texture parentKey="ExtendedBottomLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_BOTTOMLEFT"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOM" /> - <Anchor point="TOPLEFT" relativePoint="LEFT" /> - </Anchors> - <Color r="0.1" g="0.1" b="0.1" a="0.5" /> - </Texture> - <Texture parentKey="ExtendedBottomRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_BOTTOMRIGHT"> - <Anchors> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOM" /> - <Anchor point="TOPRIGHT" relativePoint="RIGHT" /> - </Anchors> - <Color r="0.1" g="0.1" b="0.1" a="0.5" /> - </Texture> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_Halftone" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="halftone" /> - <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="default" /> - <Attribute name="panelGradient" type="string" value="special" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="2" /> - <TileSize val="0" /> - <BackgroundInsets left="1" right="1" top="1" bottom="1" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> - <Color r="0.2" g="0.2" b="0.2" a="1" /> - </Layer> - <Layer level="BACKGROUND" textureSubLevel="2"> - <Texture parentKey="ExtendedTopLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_TOPLEFT"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOP" /> - <Anchor point="BOTTOMLEFT" relativePoint="LEFT" /> - </Anchors> - <Color r="0.05" g="0.05" b="0.05" a="0.5" /> - </Texture> - <Texture parentKey="ExtendedTopRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_TOPRIGHT"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="TOPLEFT" relativePoint="TOP" /> - <Anchor point="BOTTOMRIGHT" relativePoint="RIGHT" /> - </Anchors> - <Color r="0.05" g="0.05" b="0.05" a="0.5" /> - </Texture> - <Texture parentKey="ExtendedBottomLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_BOTTOMLEFT"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOM" /> - <Anchor point="TOPLEFT" relativePoint="LEFT" /> - </Anchors> - <Color r="0.1" g="0.1" b="0.1" a="0.5" /> - </Texture> - <Texture parentKey="ExtendedBottomRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_BOTTOMRIGHT"> - <Anchors> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOM" /> - <Anchor point="TOPRIGHT" relativePoint="RIGHT" /> - </Anchors> - <Color r="0.1" g="0.1" b="0.1" a="0.5" /> - </Texture> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_Blackout" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="blackout" /> - <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="transparent" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="false" /> - <Attribute name="panelOffset" type="number" value="2" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - </Attributes> - <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> - <EdgeSize val="2" /> - <TileSize val="0" /> - <BackgroundInsets left="1" right="1" top="1" bottom="1" /> - <Color r="0" g="0" b="0" a="0.5" /> - <BorderColor r="0" g="0" b="0" a="1" /> - </Backdrop> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> - <Color r="0" g="0" b="0" a="0.5" /> - </Layer> - <Layer level="BORDER"> - <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension x="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> - <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> - <Anchors> - <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> - <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> - </Anchors> - <Size> - <AbsDimension y="2" /> - </Size> - <Color r="0" g="0" b="0" a="1" /> - </Texture> - </Layer> - </Layers> - <Frames> - <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> - </Frames> - </Frame> - - <Frame name="SVUI_PanelTemplate_UnitLarge" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="unitlarge" /> - <Attribute name="panelPadding" type="number" value="0" /> - <Attribute name="panelColor" type="string" value="special" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelOffset" type="number" value="3" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - <Attribute name="panelNoBackdrop" type="boolean" value="true" /> - </Attributes> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Unitframe\Background\UNIT-BG1" setAllPoints="true" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> - </Layer> - </Layers> - </Frame> - - <Frame name="SVUI_PanelTemplate_UnitSmall" virtual="true"> - <Attributes> - <Attribute name="panelID" type="string" value="unitlarge" /> - <Attribute name="panelPadding" type="number" value="0" /> - <Attribute name="panelColor" type="string" value="special" /> - <Attribute name="panelGradient" type="boolean" value="false" /> - <Attribute name="panelTexUpdate" type="boolean" value="true" /> - <Attribute name="panelOffset" type="number" value="3" /> - <Attribute name="panelSkipUpdate" type="boolean" value="false" /> - <Attribute name="panelNoBackdrop" type="boolean" value="true" /> - </Attributes> - <Layers> - <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Unitframe\Background\UNIT-SMALL-BG1" setAllPoints="true" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> - </Layer> - </Layers> - </Frame> - + <Include file="api_fonts.xml"/> + <Include file="api_templates.xml"/> <Script file="api_general.lua"/> <Script file="api_style.lua"/> </Ui> \ No newline at end of file diff --git a/Interface/AddOns/SVUI/framework/api/api_fonts.xml b/Interface/AddOns/SVUI/framework/api/api_fonts.xml new file mode 100644 index 0000000..5ac7372 --- /dev/null +++ b/Interface/AddOns/SVUI/framework/api/api_fonts.xml @@ -0,0 +1,309 @@ +<Ui xmlns="http://www.blizzard.com/wow/ui/"> + <Font name="SVUI_Font_Default" font="Fonts\ARIALN.TTF" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Aura" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="10"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Number" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Number_Huge" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="18"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Header" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="15"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Data" font="Fonts\ARIALN.TTF" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Caps" font="Fonts\skurri.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Narrator" font="Fonts\ARIALN.TTF" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Pixel" font="Fonts\skurri.ttf" monochrome="true" virtual="true"> + <FontHeight> + <AbsValue val="8"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Quest" font="Fonts\ARIALN.TTF" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Quest_Header" font="Fonts\skurri.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="16"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Quest_Number" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Chat" font="Fonts\ARIALN.TTF" justifyH="LEFT" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_ChatTab" font="Fonts\skurri.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_NamePlate" font="Fonts\skurri.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="9"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_NamePlate_Aura" font="Fonts\skurri.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="9"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_NamePlate_Number" font="Fonts\skurri.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="9"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Bag" font="Fonts\ARIALN.TTF" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Bag_Number" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Loot" font="Fonts\ARIALN.TTF" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Loot_Number" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Roll" font="Fonts\ARIALN.TTF" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="12"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Roll_Number" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Unit" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_Unit_Small" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_UnitAura" font="Fonts\ARIALN.TTF" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="10"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_UnitAura_Bar" font="Fonts\skurri.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="10"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_UnitAura_Small" font="Fonts\skurri.ttf" monochrome="true" virtual="true"> + <FontHeight> + <AbsValue val="8"/> + </FontHeight> + </Font> + <Font name="SVUI_Font_UnitAura_Large" font="Fonts\MORPHEUS.ttf" virtual="true"> + <Shadow> + <Offset> + <AbsDimension x="1" y="-1"/> + </Offset> + <Color r="0" g="0" b="0" a="0.25"/> + </Shadow> + <FontHeight> + <AbsValue val="11"/> + </FontHeight> + </Font> +</Ui> \ No newline at end of file diff --git a/Interface/AddOns/SVUI/framework/api/api_general.lua b/Interface/AddOns/SVUI/framework/api/api_general.lua index 659d0b1..bb3a04a 100644 --- a/Interface/AddOns/SVUI/framework/api/api_general.lua +++ b/Interface/AddOns/SVUI/framework/api/api_general.lua @@ -161,99 +161,6 @@ local RemoveTextures = function(self, option) end --[[ ########################################################## -APPENDED FONT TEMPLATING METHODS -########################################################## -]]-- -local ManagedFonts = {}; - -local FONT_LIST_DIRTY = false; - -local FontManager = function(self, template, arg, sizeMod, styleOverride, colorR, colorG, colorB) - if not self then return end - template = template or "default"; - local info = SV.db.font[template]; - if(not info) then return end - - local isSystemFont = false; - if(arg and (arg == 'SYSTEM')) then - isSystemFont = true; - end - - local file = LSM:Fetch("font", info.file); - local size = info.size; - local outline = info.outline; - - if(styleOverride) then - self.___fontOutline = styleOverride; - outline = styleOverride; - end - - self.___fontSizeMod = sizeMod or 0; - self:SetFont(file, (size + self.___fontSizeMod), outline) - - if(not isSystemFont) then - if(info.outline and info.outline ~= "NONE") then - self:SetShadowColor(0, 0, 0, 0) - else - self:SetShadowColor(0, 0, 0, 0.2) - end - self:SetShadowOffset(1, -1) - self:SetJustifyH(arg or "CENTER") - self:SetJustifyV("MIDDLE") - end - - if(colorR and colorG and colorB) then - self:SetTextColor(colorR, colorG, colorB); - end - - if(not ManagedFonts[template]) then - ManagedFonts[template] = {} - end - - ManagedFonts[template][self] = true -end - -SV.SetToFontManager = FontManager; - -local function UpdateFontTemplate(template) - template = template or "default"; - local info = SV.db.font[template]; - local file = LSM:Fetch("font", info.file); - local size = info.size; - local line = info.outline; - local list = ManagedFonts[template]; - if(not list) then return end - for frame in pairs(list) do - if frame then - if(frame.___fontOutline) then - frame:SetFont(file, (size + frame.___fontSizeMod), frame.___fontOutline); - else - frame:SetFont(file, (size + frame.___fontSizeMod), line); - end - else - ManagedFonts[template][frame] = nil; - end - end -end - -local function UpdateAllFontTemplates() - for template, _ in pairs(ManagedFonts) do - UpdateFontTemplate(template) - end -end - -local function UpdateFontGroup(...) - for i = 1, select('#', ...) do - local template = select(i, ...) - if not template then break end - UpdateFontTemplate(template) - end -end - -SV.Events:On("SVUI_ALLFONTS_UPDATED", "UpdateAllFontTemplates", UpdateAllFontTemplates); -SV.Events:On("SVUI_FONTGROUP_UPDATED", "UpdateFontGroup", UpdateFontGroup); ---[[ -########################################################## SECURE FADING ########################################################## ]]-- @@ -366,10 +273,9 @@ end HOOKED ATLAS HIJACKER ########################################################## ]]-- --- For the atlas listeners we will unfortunately need a few global objects -_G.ATLAS_THIEF = {} -- Wasn't this the name of a movie? -_G.ATLAS_HACKS = {} -- Couldn't think of anything clever honestly. -_G.ATLAS_HACKS["default"] = function(self) +local ATLAS_THIEF = {} -- Wasn't this the name of a movie? +local ATLAS_HACKS = {} -- Couldn't think of anything clever honestly. +ATLAS_HACKS["default"] = function(self) self:SetTexture("") end @@ -385,6 +291,17 @@ local StealAtlas = function(self, atlas) end end end + +function SV:SetAtlasFunc(atlas, fn) + ATLAS_HACKS[atlas] = fn +end + +function SV:SetAtlasFilter(atlas, fn) + if(not fn) then + fn = "default" + end + ATLAS_THIEF[atlas] = fn +end --[[ ########################################################## ENUMERATION @@ -400,7 +317,6 @@ local function AppendMethods(OBJECT) if not OBJECT.SetAllPointsIn then META.SetAllPointsIn = SetAllPointsIn end if not OBJECT.Die then META.Die = Die end if not OBJECT.RemoveTextures then META.RemoveTextures = RemoveTextures end - if not OBJECT.FontManager then META.FontManager = FontManager end if not OBJECT.FadeIn then META.FadeIn = SecureFadeIn end if not OBJECT.FadeOut then META.FadeOut = SecureFadeOut end if not OBJECT.FadeCallback then META.FadeCallback = SecureFadeCallback end diff --git a/Interface/AddOns/SVUI/framework/api/api_style.lua b/Interface/AddOns/SVUI/framework/api/api_style.lua index c63a31b..4587915 100644 --- a/Interface/AddOns/SVUI/framework/api/api_style.lua +++ b/Interface/AddOns/SVUI/framework/api/api_style.lua @@ -46,6 +46,8 @@ local SV = select(2, ...) local L = SV.L local SVLib = LibSuperVillain("Registry"); local STANDARD_TEXT_FONT = _G.STANDARD_TEXT_FONT; +local DEFAULT_BG_COLOR = {0.18,0.18,0.18,1}; +local DEFAULT_BORDER_COLOR = {0,0,0,1}; --[[ ########################################################## TEMPLATE LOOKUP TABLES @@ -63,6 +65,7 @@ local XML_TEMPLATE = { ["Slot"] = "SVUI_PanelTemplate_Slot", ["Icon"] = "SVUI_PanelTemplate_Icon", ["Inset"] = "SVUI_PanelTemplate_Inset", + ["Checkbox"] = "SVUI_PanelTemplate_Checkbox", ["Comic"] = "SVUI_PanelTemplate_Comic", ["Model"] = "SVUI_PanelTemplate_Model", ["ModelBorder"] = "SVUI_PanelTemplate_ModelBorder", @@ -161,8 +164,11 @@ local Cooldown_OnUpdate = function(self, elapsed) if self.nextUpdate > 0 then self.nextUpdate = self.nextUpdate - elapsed; return - end - local expires = (self.duration - (GetTime() - self.start)); + end + local now = GetTime(); + local start = self.start; + local remaining = now - start; + local expires = (self.duration - (now - start)); if expires > 0.05 then if (self.fontScale * self:GetEffectiveScale() / UIParent:GetScale()) < 0.5 then self.text:SetText('') @@ -189,8 +195,12 @@ local Cooldown_OnUpdate = function(self, elapsed) else timeLeft = ceil(expires / 86400); calc = floor((expires / 86400) + .5); - self.nextUpdate = calc > 1 and ((expires - calc) * 43199.5) or (expires - 86400); - self.text:SetFormattedText("|cff6666ff%dd|r", timeLeft) + self.nextUpdate = calc > 1 and ((expires - calc) * 43199.5) or (expires - 85680); + if(timeLeft > 7) then + self.text:SetFormattedText("|cff6666ff%s|r", "long") + else + self.text:SetFormattedText("|cff6666ff%dd|r", timeLeft) + end end end else @@ -372,17 +382,22 @@ local function CreatePanelTemplate(frame, templateName, underlay, noupdate, padd end end - local bgColor = SV.Media.color[colorName] or {0.18,0.18,0.18,1} + local bgColor = SV.Media.color[colorName] or DEFAULT_BG_COLOR + local borderColor = DEFAULT_BORDER_COLOR + if(frame.Panel:GetAttribute("panelBorderColor")) then + local bdrColor = frame.Panel:GetAttribute("panelBorderColor") + borderColor = SV.Media.color[bdrColor] or DEFAULT_BORDER_COLOR + end if(not frame.Panel:GetAttribute("panelNoBackdrop")) then if(underlay) then frame.Panel:SetBackdropColor(bgColor[1],bgColor[2],bgColor[3],bgColor[4] or 1) - frame.Panel:SetBackdropBorderColor(0,0,0,1) + frame.Panel:SetBackdropBorderColor(borderColor[1],borderColor[2],borderColor[3],borderColor[4] or 1) else local bd = frame.Panel:GetBackdrop() frame:SetBackdrop(bd) frame:SetBackdropColor(bgColor[1],bgColor[2],bgColor[3],bgColor[4] or 1) - frame:SetBackdropBorderColor(0,0,0,1) + frame:SetBackdropBorderColor(borderColor[1],borderColor[2],borderColor[3],borderColor[4] or 1) frame.Panel:SetBackdrop(nil) end @@ -625,7 +640,7 @@ TEMPLATE_METHODS["Checkbox"] = function(self, shrink, x, y) self:SetSize(width, height) - CreatePanelTemplate(self, "Inset", true, true, 1, x, y) + CreatePanelTemplate(self, "Checkbox", true, true, 1, x, y) if(self.SetNormalTexture) then self:SetNormalTexture("") @@ -864,7 +879,13 @@ local function FrameTemplateUpdates() if(panelColor) then frame:SetBackdropColor(panelColor[1], panelColor[2], panelColor[3], panelColor[4] or 1) end - frame:SetBackdropBorderColor(0,0,0,1) + if(frame.Panel:GetAttribute("panelBorderColor")) then + local bdrColor = frame.Panel:GetAttribute("panelBorderColor") + borderColor = SV.Media.color[bdrColor] or DEFAULT_BORDER_COLOR + frame:SetBackdropBorderColor(bdrColor[1], bdrColor[2], bdrColor[3], bdrColor[4] or 1) + else + frame:SetBackdropBorderColor(0,0,0,1) + end end if(frame.TextureNeedsUpdate and frame.Panel.Skin) then local tex = SV.Media.bg[panelID] diff --git a/Interface/AddOns/SVUI/framework/api/api_templates.xml b/Interface/AddOns/SVUI/framework/api/api_templates.xml new file mode 100644 index 0000000..10ba305 --- /dev/null +++ b/Interface/AddOns/SVUI/framework/api/api_templates.xml @@ -0,0 +1,1370 @@ +<Ui xmlns="http://www.blizzard.com/wow/ui/"> + <Frame name="SVUI_ShadowTemplate" virtual="true"> + <Attributes> + <Attribute name="shadowAlpha" type="number" value="0.5" /> + </Attributes> + <Backdrop edgeFile="Interface\AddOns\SVUI\assets\artwork\Template\GLOW"> + <EdgeSize val="3" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0" g="0" b="0" a="0" /> + <BorderColor r="0" g="0" b="0" a="0.5" /> + </Backdrop> + </Frame> + + <Frame name="SVUI_PanelTemplate_Default" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="default" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="default" /> + <Attribute name="panelGradient" type="string" value="default" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Transparent" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="transparent" /> + <Attribute name="panelPadding" type="number" value="2" /> + <Attribute name="panelColor" type="string" value="transparent" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="true" /> + </Attributes> + <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="2" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0" g="0" b="0" a="0.5" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Component" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="component" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="default" /> + <Attribute name="panelGradient" type="string" value="default" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="2" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_Headline" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="headline" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="hinted" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" tile="true" edgeFile="Interface\BUTTONS\WHITE8X8"> + <EdgeSize val="1" /> + <TileSize val="20" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <BorderColor r="0" g="0" b="0" a="1" /> + <Color r="0" g="0" b="0" a="0.25" /> + </Backdrop> + </Frame> + + <Frame name="SVUI_PanelTemplate_Button" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="button" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="default" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\BUTTON" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="2" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_FramedTop" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="framedtop" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="default" /> + <Attribute name="panelGradient" type="string" value="darkest2" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT2" setAllPoints="true" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_FramedBottom" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="framedbottom" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="default" /> + <Attribute name="panelGradient" type="string" value="darkest" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Bar" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="bar" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="transparent" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="true" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0" g="0" b="0" a="0.5" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Slot" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="slot" /> + <Attribute name="panelPadding" type="number" value="2" /> + <Attribute name="panelColor" type="string" value="transparent" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="true" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="1" right="1" top="1" bottom="1" /> + <Color r="0" g="0" b="0" a="0.5" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_Icon" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="slot" /> + <Attribute name="panelPadding" type="number" value="2" /> + <Attribute name="panelColor" type="string" value="invisible" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="true" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="1" right="1" top="1" bottom="1" /> + <Color r="0" g="0" b="0" a="0" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_Checkbox" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="checkbox" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelBorderColor" type="string" value="default" /> + <Attribute name="panelColor" type="string" value="transparent" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="true" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0" g="0" b="0" a="0.5" /> + <BorderColor r="0.1" g="0.1" b="0.1" a="1" /> + </Backdrop> + <Layers> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0.1" g="0.1" b="0.1" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0.1" g="0.1" b="0.1" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0.1" g="0.1" b="0.1" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0.1" g="0.1" b="0.1" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Inset" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="inset" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="transparent" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelSkipUpdate" type="boolean" value="true" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\AddOns\SVUI\assets\artwork\Template\INSET" tile="false"> + <EdgeSize val="6" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0" g="0" b="0" a="0.5" /> + <BorderColor r="0" g="0" b="0" a="0.5" /> + </Backdrop> + <Layers> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="1" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Comic" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="comic" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="class" /> + <Attribute name="panelGradient" type="string" value="class" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC1" tile="false"> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC1" setAllPoints="true" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Model" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="model" /> + <Attribute name="panelPadding" type="number" value="1" /> + <Attribute name="panelColor" type="string" value="special" /> + <Attribute name="panelGradient" type="string" value="class" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" tile="false"> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.37" g="0.32" b="0.29" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" setAllPoints="true" /> + <Color r="0.37" g="0.32" b="0.29" a="1" /> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_ModelBorder" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="modelborder" /> + <Attribute name="panelPadding" type="number" value="2" /> + <Attribute name="panelColor" type="string" value="special" /> + <Attribute name="panelGradient" type="string" value="class" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="2" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0" g="0" b="0" a="0.5" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" setAllPoints="true" /> + <Color r="0.37" g="0.32" b="0.29" a="1" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_Paper" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="paper" /> + <Attribute name="panelPadding" type="number" value="3" /> + <Attribute name="panelColor" type="string" value="white" /> + <Attribute name="panelGradient" type="string" value="white" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="true" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="1" g="1" b="1" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" /> + <Color r="1" g="1" b="1" a="1" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="3" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="3" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="3" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="3" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Container" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="container" /> + <Attribute name="panelPadding" type="number" value="2" /> + <Attribute name="panelColor" type="string" value="container" /> + <Attribute name="panelGradient" type="string" value="container" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.22" g="0.21" b="0.2" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" /> + <Color r="0.22" g="0.21" b="0.2" a="1" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_Pattern" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="pattern" /> + <Attribute name="panelPadding" type="number" value="3" /> + <Attribute name="panelColor" type="string" value="special" /> + <Attribute name="panelGradient" type="string" value="special" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN1" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="1" /> + <TileSize val="0" /> + <BackgroundInsets left="0" right="0" top="0" bottom="0" /> + <Color r="0.37" g="0.32" b="0.29" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN1" setAllPoints="true" /> + <Color r="0.37" g="0.32" b="0.29" a="1" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="3" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="3" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="3" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="3" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_Action" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="action" /> + <Attribute name="panelPadding" type="number" value="2" /> + <Attribute name="panelColor" type="string" value="default" /> + <Attribute name="panelGradient" type="string" value="special" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="2" /> + <TileSize val="0" /> + <BackgroundInsets left="1" right="1" top="1" bottom="1" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + </Layer> + <Layer level="BACKGROUND" textureSubLevel="2"> + <Texture parentKey="ExtendedTopLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_TOPLEFT"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOP" /> + <Anchor point="BOTTOMLEFT" relativePoint="LEFT" /> + </Anchors> + <Color r="0.05" g="0.05" b="0.05" a="0.5" /> + </Texture> + <Texture parentKey="ExtendedTopRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_TOPRIGHT"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="TOPLEFT" relativePoint="TOP" /> + <Anchor point="BOTTOMRIGHT" relativePoint="RIGHT" /> + </Anchors> + <Color r="0.05" g="0.05" b="0.05" a="0.5" /> + </Texture> + <Texture parentKey="ExtendedBottomLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_BOTTOMLEFT"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOM" /> + <Anchor point="TOPLEFT" relativePoint="LEFT" /> + </Anchors> + <Color r="0.1" g="0.1" b="0.1" a="0.5" /> + </Texture> + <Texture parentKey="ExtendedBottomRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_BOTTOMRIGHT"> + <Anchors> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOM" /> + <Anchor point="TOPRIGHT" relativePoint="RIGHT" /> + </Anchors> + <Color r="0.1" g="0.1" b="0.1" a="0.5" /> + </Texture> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_Halftone" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="halftone" /> + <Attribute name="panelPadding" type="number" value="2" /> + <Attribute name="panelColor" type="string" value="default" /> + <Attribute name="panelGradient" type="string" value="special" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="2" /> + <TileSize val="0" /> + <BackgroundInsets left="1" right="1" top="1" bottom="1" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> + <Color r="0.2" g="0.2" b="0.2" a="1" /> + </Layer> + <Layer level="BACKGROUND" textureSubLevel="2"> + <Texture parentKey="ExtendedTopLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_TOPLEFT"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOP" /> + <Anchor point="BOTTOMLEFT" relativePoint="LEFT" /> + </Anchors> + <Color r="0.05" g="0.05" b="0.05" a="0.5" /> + </Texture> + <Texture parentKey="ExtendedTopRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_TOPRIGHT"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="TOPLEFT" relativePoint="TOP" /> + <Anchor point="BOTTOMRIGHT" relativePoint="RIGHT" /> + </Anchors> + <Color r="0.05" g="0.05" b="0.05" a="0.5" /> + </Texture> + <Texture parentKey="ExtendedBottomLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_BOTTOMLEFT"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOM" /> + <Anchor point="TOPLEFT" relativePoint="LEFT" /> + </Anchors> + <Color r="0.1" g="0.1" b="0.1" a="0.5" /> + </Texture> + <Texture parentKey="ExtendedBottomRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_BOTTOMRIGHT"> + <Anchors> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOM" /> + <Anchor point="TOPRIGHT" relativePoint="RIGHT" /> + </Anchors> + <Color r="0.1" g="0.1" b="0.1" a="0.5" /> + </Texture> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_Blackout" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="blackout" /> + <Attribute name="panelPadding" type="number" value="2" /> + <Attribute name="panelColor" type="string" value="transparent" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="false" /> + <Attribute name="panelOffset" type="number" value="2" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + </Attributes> + <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <EdgeSize val="2" /> + <TileSize val="0" /> + <BackgroundInsets left="1" right="1" top="1" bottom="1" /> + <Color r="0" g="0" b="0" a="0.5" /> + <BorderColor r="0" g="0" b="0" a="1" /> + </Backdrop> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" /> + <Color r="0" g="0" b="0" a="0.5" /> + </Layer> + <Layer level="BORDER"> + <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension x="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="TOPLEFT" relativePoint="TOPLEFT" /> + <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8"> + <Anchors> + <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" /> + <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" /> + </Anchors> + <Size> + <AbsDimension y="2" /> + </Size> + <Color r="0" g="0" b="0" a="1" /> + </Texture> + </Layer> + </Layers> + <Frames> + <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" /> + </Frames> + </Frame> + + <Frame name="SVUI_PanelTemplate_UnitLarge" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="unitlarge" /> + <Attribute name="panelPadding" type="number" value="0" /> + <Attribute name="panelColor" type="string" value="special" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelOffset" type="number" value="3" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + <Attribute name="panelNoBackdrop" type="boolean" value="true" /> + </Attributes> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Unitframe\Background\UNIT-BG1" setAllPoints="true" /> + <Color r="0.37" g="0.32" b="0.29" a="1" /> + </Layer> + </Layers> + </Frame> + + <Frame name="SVUI_PanelTemplate_UnitSmall" virtual="true"> + <Attributes> + <Attribute name="panelID" type="string" value="unitlarge" /> + <Attribute name="panelPadding" type="number" value="0" /> + <Attribute name="panelColor" type="string" value="special" /> + <Attribute name="panelGradient" type="boolean" value="false" /> + <Attribute name="panelTexUpdate" type="boolean" value="true" /> + <Attribute name="panelOffset" type="number" value="3" /> + <Attribute name="panelSkipUpdate" type="boolean" value="false" /> + <Attribute name="panelNoBackdrop" type="boolean" value="true" /> + </Attributes> + <Layers> + <Layer level="BACKGROUND" textureSubLevel="1"> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Unitframe\Background\UNIT-SMALL-BG1" setAllPoints="true" /> + <Color r="0.37" g="0.32" b="0.29" a="1" /> + </Layer> + </Layers> + </Frame> +</Ui> \ No newline at end of file diff --git a/Interface/AddOns/SVUI/framework/docks/dock_stats.lua b/Interface/AddOns/SVUI/framework/docks/dock_stats.lua index 414ec80..cf615f4 100644 --- a/Interface/AddOns/SVUI/framework/docks/dock_stats.lua +++ b/Interface/AddOns/SVUI/framework/docks/dock_stats.lua @@ -254,7 +254,7 @@ local function GetDataSlot(parent, index) slot.text = slot.textframe:CreateFontString(nil, "OVERLAY", nil, 7) slot.text:SetAllPoints() - slot.text:FontManager("data") + slot.text:SetFontObject(SVUI_Font_Data) if(SV.db.Dock.dataBackdrop) then slot.text:SetShadowColor(0, 0, 0, 0.5) slot.text:SetShadowOffset(2, -4) diff --git a/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua b/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua index 3298f1c..cbab8c4 100644 --- a/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua +++ b/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua @@ -147,19 +147,19 @@ local function SnapStickyFrame(frameA, frameB, left, top, right, bottom) end end -function Sticky:GetStickyUpdate(frame, xoffset, yoffset, left, top, right, bottom) +local function GetStickyUpdate(frame, xoffset, yoffset, left, top, right, bottom) return function() local x, y = GetCursorPosition() local s = frame:GetEffectiveScale() x, y = x / s, y / s frame:ClearAllPoints() frame:SetPoint("CENTER", UIParent, "BOTTOMLEFT", x + xoffset, y + yoffset) - self.StuckTo[frame] = nil + Sticky.StuckTo[frame] = nil for i = 1, #Sticky.Frames do local v = Sticky.Frames[i] - if(frame ~= v and frame ~= v:GetParent() and not IsShiftKeyDown() and v:IsVisible()) then + if(frame ~= v and frame ~= v:GetParent() and IsShiftKeyDown() and v:IsVisible()) then if SnapStickyFrame(frame, v, left, top, right, bottom) then - self.StuckTo[frame] = v + Sticky.StuckTo[frame] = v break end end @@ -167,22 +167,22 @@ function Sticky:GetStickyUpdate(frame, xoffset, yoffset, left, top, right, botto end end -function Sticky:StartMoving(frame, left, top, right, bottom) +local function StickyStartMoving(frame, left, top, right, bottom) local x, y = GetCursorPosition() local aX, aY = frame:GetCenter() local aS = frame:GetEffectiveScale() aX, aY = aX * aS, aY * aS local xoffset, yoffset = (aX - x), (aY - y) - self.scripts[frame] = frame:GetScript("OnUpdate") - frame:SetScript("OnUpdate", Sticky.GetStickyUpdate(Sticky, frame, xoffset, yoffset, left, top, right, bottom)) + Sticky.scripts[frame] = frame:GetScript("OnUpdate") + frame:SetScript("OnUpdate", GetStickyUpdate(frame, xoffset, yoffset, left, top, right, bottom)) end -function Sticky:StopMoving(frame) - frame:SetScript("OnUpdate", self.scripts[frame]) - self.scripts[frame] = nil - if self.StuckTo[frame] then - local frame2 = self.StuckTo[frame] - self.StuckTo[frame] = nil +local function StickyStopMoving(frame) + frame:SetScript("OnUpdate", Sticky.scripts[frame]) + Sticky.scripts[frame] = nil + if Sticky.StuckTo[frame] then + local frame2 = Sticky.StuckTo[frame] + Sticky.StuckTo[frame] = nil return true, frame2 else return false, nil @@ -424,7 +424,7 @@ end local Movable_OnDragStart = function(self) if InCombatLockdown() then SV:AddonMessage(ERR_NOT_IN_COMBAT)return end if SV.db.general.stickyFrames then - Sticky:StartMoving(self, self.snapOffset) + StickyStartMoving(self, self.snapOffset, -2) else self:StartMoving() end @@ -439,7 +439,7 @@ local Movable_OnDragStop = function(self) if InCombatLockdown()then SV:AddonMessage(ERR_NOT_IN_COMBAT)return end TheHand.UserHeld = false; if SV.db.general.stickyFrames then - Sticky:StopMoving(self) + StickyStopMoving(self) else self:StopMovingOrSizing() end @@ -525,7 +525,7 @@ local Movable_OnMouseDown = function(self, arg) SVUI_MentaloPrecision:Hide() end if SV.db.general.stickyFrames then - Sticky:StopMoving(self) + StickyStopMoving(self) else self:StopMovingOrSizing() end @@ -579,7 +579,7 @@ function Mentalo:New(frame, moveName, title, snap, dragStopFunc) frame:SetPoint(anchor1, movable, anchor1, 0, 0) local mtext = movable:CreateFontString(nil, "OVERLAY") - mtext:FontManager("default") + mtext:SetFontObject(SVUI_Font_Default) mtext:SetJustifyH("CENTER") mtext:SetPoint("CENTER") mtext:SetText(title or moveName) diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua index aeae438..83636ef 100644 --- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua +++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua @@ -64,7 +64,7 @@ local DEFAULT_MODEL = [[Spells\Missile_bomb.m2]]; local DEFAULT_EFFECT = {DEFAULT_MODEL, 0, 0, 0, 0, 0.75, 0, 0}; local EFFECTS_LIST = setmetatable({ - ["default"] = {[[Spells\Missile_bomb.m2]], 0, 0, 0, 0, 0.75, 0, 0}, + ["default"] = {[[Spells\Missile_bomb.m2]], -12, 12, 12, -12, 0.25, 0.125, 0.05}, ["holy"] = {[[Spells\Solar_precast_hand.m2]], -12, 12, 12, -12, 0.23, 0, 0}, ["shadow"] = {[[Spells\Shadow_precast_uber_hand.m2]], -12, 12, 12, -12, 0.23, -0.1, 0.1}, ["arcane"] = {[[Spells\Cast_arcane_01.m2]], -12, 12, 12, -12, 0.25, 0, 0}, diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua index fc48962..84451bf 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua @@ -318,7 +318,7 @@ local function Update(self, event, unit) local frame = bars[index] if not frame then - frame = CreateAuraBar(self, index == 1 and auraBars or bars[index - 1]) + frame = (auraBars.CreateAuraBar or CreateAuraBar) (self, index == 1 and auraBars or bars[index - 1]) bars[index] = frame end diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua index bbd1d8e..b5ac11f 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua @@ -29,13 +29,33 @@ local oUF = oUF or ns.oUF assert(oUF, "oUF_AuraWatch cannot find an instance of oUF. If your oUF is embedded into a layout, it may not be embedded properly.") local UnitBuff, UnitDebuff, UnitGUID = UnitBuff, UnitDebuff, UnitGUID -local GUIDs = {} - +local CACHED_GUIDS = {}; +local CACHED_IDS = {}; local PLAYER_UNITS = { player = true, vehicle = true, pet = true, -} +}; +local COUNT_OFFSETS = { + ["TOPLEFT"] = {6, 1}, + ["TOPRIGHT"] = {-6, 1}, + ["BOTTOMLEFT"] = {6, 1}, + ["BOTTOMRIGHT"] = {-6, 1}, + ["LEFT"] = {6, 1}, + ["RIGHT"] = {-6, 1}, + ["TOP"] = {0, 0}, + ["BOTTOM"] = {0, 0}, +}; +local TEXT_OFFSETS = { + ["TOPLEFT"] = {"LEFT", "RIGHT", -2, 0}, + ["TOPRIGHT"] = {"RIGHT", "LEFT", 2, 0}, + ["BOTTOMLEFT"] = {"LEFT", "RIGHT", -2, 0}, + ["BOTTOMRIGHT"] = {"RIGHT", "LEFT", 2, 0}, + ["LEFT"] = {"LEFT", "RIGHT", -2, 0}, + ["RIGHT"] = {"RIGHT", "LEFT", 2, 0}, + ["TOP"] = {"RIGHT", "LEFT", 2, 0}, + ["BOTTOM"] = {"RIGHT", "LEFT", 2, 0}, +}; local setupGUID do @@ -43,8 +63,8 @@ do local frame = CreateFrame"Frame" frame:SetScript("OnEvent", function(self, event) - for k,t in pairs(GUIDs) do - GUIDs[k] = nil + for k,t in pairs(CACHED_GUIDS) do + CACHED_GUIDS[k] = nil for a in pairs(t) do t[a] = nil end @@ -61,7 +81,7 @@ do else t = {} end - GUIDs[guid] = t + CACHED_GUIDS[guid] = t end end @@ -148,23 +168,23 @@ local function expireIcon(icon, frame) end end -local found = {} -local function Update(frame, event, unit) - if frame.unit ~= unit or not unit then return end - local watch = frame.AuraWatch - local index, icons = 1, watch.watched - local _, name, texture, count, duration, remaining, caster, key, icon, spellID - local filter = "HELPFUL" +local Update = function(self, event, unit) + if self.unit ~= unit or not unit then return end + local watch = self.AuraWatch + local index, watching = 1, watch.Active + local guid = UnitGUID(unit) if not guid then return end - if not GUIDs[guid] then setupGUID(guid) end + if not CACHED_GUIDS[guid] then setupGUID(guid) end - for key, icon in pairs(icons) do - if not icon.onlyShowMissing then - icon:Hide() + for _, aura in pairs(watching) do + if not aura.onlyShowMissing then + aura:Hide() end end + local _, name, texture, count, duration, remaining, caster, key, aura, spellID; + local filter = "HELPFUL"; while true do name, _, texture, count, _, duration, remaining, caster, _, _, spellID = UnitAura(unit, index, filter) if not name then @@ -180,118 +200,277 @@ local function Update(frame, event, unit) else key = name..texture end - icon = icons[key] + aura = watching[key] - if icon and (icon.anyUnit or (caster and icon.fromUnits and icon.fromUnits[caster])) then - resetIcon(icon, watch, count, duration, remaining) - GUIDs[guid][key] = true - found[key] = true + if aura and (aura.anyUnit or (caster and aura.fromUnits and aura.fromUnits[caster])) then + resetIcon(aura, watch, count, duration, remaining) + CACHED_GUIDS[guid][key] = true + CACHED_IDS[key] = true end index = index + 1 end end - for key in pairs(GUIDs[guid]) do - if icons[key] and not found[key] then - expireIcon(icons[key], watch) + for cacheKey in pairs(CACHED_GUIDS[guid]) do + if watching[cacheKey] and not CACHED_IDS[cacheKey] then + expireIcon(watching[cacheKey], watch) end end - for k in pairs(found) do - found[k] = nil + for cacheKey in pairs(CACHED_IDS) do + CACHED_IDS[cacheKey] = nil end end -local function setupIcons(self) - - local watch = self.AuraWatch - local icons = watch.icons - watch.watched = {} +local UpdateIcons = function(self) + local auras = self.Cache - for _,icon in pairs(icons) do + for _,aura in pairs(auras) do - local name, _, image = GetSpellInfo(icon.spellID) + local name, _, image = GetSpellInfo(aura.spellID) if name then - icon.name = name + aura.name = name - if not icon.cd and not (watch.hideCooldown or icon.hideCooldown) then - local cd = CreateFrame("Cooldown", nil, icon, "CooldownFrameTemplate") - cd:SetAllPoints(icon) - icon.cd = cd + if not aura.cd and not (self.hideCooldown or aura.hideCooldown) then + local cd = CreateFrame("Cooldown", nil, aura, "CooldownFrameTemplate") + cd:SetAllPoints(aura) + aura.cd = cd end - if not icon.icon then - local tex = icon:CreateTexture(nil, "BACKGROUND") - tex:SetAllPoints(icon) + if not aura.icon then + local tex = aura:CreateTexture(nil, "BACKGROUND") + tex:SetAllPoints(aura) tex:SetTexture(image) - icon.icon = tex - if not icon.overlay then - local overlay = icon:CreateTexture(nil, "OVERLAY") + aura.icon = tex + if not aura.overlay then + local overlay = aura:CreateTexture(nil, "OVERLAY") overlay:SetTexture"Interface\\Buttons\\UI-Debuff-Overlays" - overlay:SetAllPoints(icon) + overlay:SetAllPoints(aura) overlay:SetTexCoord(.296875, .5703125, 0, .515625) overlay:SetVertexColor(1, 0, 0) - icon.overlay = overlay + aura.overlay = overlay end end - if not icon.count and not (watch.hideCount or icon.hideCount) then - local count = icon:CreateFontString(nil, "OVERLAY") + if not aura.count and not (self.hideCount or aura.hideCount) then + local count = aura:CreateFontString(nil, "OVERLAY") count:SetFontObject(NumberFontNormal) - count:SetPoint("BOTTOMRIGHT", icon, "BOTTOMRIGHT", -1, 0) - icon.count = count + count:SetPoint("BOTTOMRIGHT", aura, "BOTTOMRIGHT", -1, 0) + aura.count = count end - if icon.onlyShowMissing == nil then - icon.onlyShowMissing = watch.onlyShowMissing + if aura.onlyShowMissing == nil then + aura.onlyShowMissing = self.onlyShowMissing end - if icon.onlyShowPresent == nil then - icon.onlyShowPresent = watch.onlyShowPresent + if aura.onlyShowPresent == nil then + aura.onlyShowPresent = self.onlyShowPresent end - if icon.presentAlpha == nil then - icon.presentAlpha = watch.presentAlpha + if aura.presentAlpha == nil then + aura.presentAlpha = self.presentAlpha end - if icon.missingAlpha == nil then - icon.missingAlpha = watch.missingAlpha + if aura.missingAlpha == nil then + aura.missingAlpha = self.missingAlpha end - if icon.fromUnits == nil then - icon.fromUnits = watch.fromUnits or PLAYER_UNITS + if aura.fromUnits == nil then + aura.fromUnits = self.fromUnits or PLAYER_UNITS end - if icon.anyUnit == nil then - icon.anyUnit = watch.anyUnit + if aura.anyUnit == nil then + aura.anyUnit = self.anyUnit end - if watch.strictMatching then - watch.watched[icon.spellID] = icon + if self.strictMatching then + self.Active[aura.spellID] = aura else - watch.watched[name..image] = icon + self.Active[name..image] = aura end - if watch.PostCreateIcon then watch:PostCreateIcon(icon, icon.spellID, name, self) end - else - print("oUF_AuraWatch error: no spell with "..tostring(icon.spellID).." spell ID exists") + if self.PostCreateIcon then self:PostCreateIcon(aura, aura.spellID, name, self) end + --else + --print("oUF_AuraWatch error: no spell with "..tostring(aura.spellID).." spell ID exists") end end end -local function Enable(self) - if self.AuraWatch then - self.AuraWatch.Update = setupIcons +local ForceUpdate = function(self) + if self.PreForcedUpdate then self:PreForcedUpdate() end + local frame = self:GetParent() + + if(not self.watchEnabled) then + self:Hide(); + return; + else + self:Show(); + end + + local watchsize = self.watchSize; + local watchfilter = self.watchFilter; + + if(watchfilter) then + if self.Cache then + for i = 1, #self.Cache do + local iconTest = false; + for id, data in pairs(watchfilter) do + if(data.id and (data.id == self.Cache[i])) then + iconTest = true; + break + end + end + if not iconTest then + self.Cache[i]:Hide() + self.Cache[i] = nil + end + end + end + + for stringID, data in pairs(watchfilter) do + local id = data.id; + local buffName, _, buffTexture = GetSpellInfo(id) + if buffName then + local aura; + if not self.Cache[id] then + aura = CreateFrame("Frame", nil, self) + else + aura = self.Cache[id] + end + aura.name = buffName; + aura.image = buffTexture; + aura.spellID = id; + aura.anyUnit = data.anyUnit; + aura.style = data.style or "NONE"; + aura.onlyShowMissing = data.onlyShowMissing; + aura.presentAlpha = aura.onlyShowMissing and 0 or 1; + aura.missingAlpha = aura.onlyShowMissing and 1 or 0; + aura.textThreshold = data.textThreshold or -1; + aura.displayText = data.displayText; + aura:SetWidthToScale(watchsize) + aura:SetHeightToScale(watchsize) + aura:ClearAllPoints() + + aura:SetPoint(data.point, frame.Health, data.point, data.xOffset, data.yOffset) + if not aura.icon then + aura.icon = aura:CreateTexture(nil, "BORDER") + aura.icon:SetAllPoints(aura) + end + if not aura.border then + aura.border = aura:CreateTexture(nil, "BACKGROUND") + aura.border:SetPointToScale("TOPLEFT", -1, 1) + aura.border:SetPointToScale("BOTTOMRIGHT", 1, -1) + aura.border:SetTexture([[Interface\BUTTONS\WHITE8X8]]) + aura.border:SetVertexColor(0, 0, 0) + end + if not aura.cd then + aura.cd = CreateFrame("Cooldown", nil, aura, "CooldownFrameTemplate") + aura.cd:SetAllPoints(aura) + aura.cd:SetReverse(true) + aura.cd:SetHideCountdownNumbers(true) + aura.cd:SetFrameLevel(aura:GetFrameLevel()) + end + if not aura.grip then + aura.grip = CreateFrame("Frame", nil, aura); + aura.grip:SetAllPoints(aura); + end + if not aura.text then + aura.text = aura.grip:CreateFontString(nil, "BORDER"); + aura.text:SetFontObject(NumberFontNormal); + end + if not aura.count then + aura.count = aura.grip:CreateFontString(nil, "OVERLAY"); + aura.count:SetFontObject(NumberFontNormal); + end + + if(aura.style == "coloredIcon") then + aura.icon:SetTexture([[Interface\BUTTONS\WHITE8X8]]) + if(data.color) then + aura.icon:SetVertexColor(data.color.r, data.color.g, data.color.b) + else + aura.icon:SetVertexColor(0.8, 0.8, 0.8) + end + aura.icon:Show() + aura.border:Show() + aura.cd:SetAlpha(1) + elseif(aura.style == "texturedIcon") then + aura.icon:SetVertexColor(1, 1, 1) + aura.icon:SetTexCoord(.18, .82, .18, .82) + aura.icon:SetTexture(aura.image) + aura.icon:Show() + aura.border:Show() + aura.cd:SetAlpha(1) + else + aura.border:Hide() + aura.icon:Hide() + aura.cd:SetAlpha(0) + end + + if aura.displayText then + aura.text:Show() + local r, g, b = 1, 1, 1; + if(data.textColor) then + r, g, b = data.textColor.r, data.textColor.g, data.textColor.b + end + aura.text:SetTextColor(r, g, b) + else + aura.text:Hide() + end + + aura.text:ClearAllPoints(); + aura.text:SetPoint(data.point, aura, data.point); + aura.count:ClearAllPoints() + if aura.displayText then + local anchor, relative, x, y = unpack(TEXT_OFFSETS[data.point]) + aura.count:SetPoint(anchor, aura.text, relative, x, y) + else + aura.count:SetPoint("CENTER", unpack(COUNT_OFFSETS[data.point])) + end + + if(not data.enable) then + self.Cache[id] = nil; + if self.Active then + self.Active[id] = nil + end + aura:Hide() + aura = nil + else + self.Cache[id] = aura; + if self.Active then + self.Active[id] = aura + end + end + end + end + end + self:UpdateIcons() +end + +local Enable = function(self) + local watch = self.AuraWatch; + if watch then + watch.__owner = self + watch.UpdateIcons = UpdateIcons + watch.ForceUpdate = ForceUpdate + watch.Cache = {} + watch.Active = {} + self:RegisterEvent("UNIT_AURA", Update) - setupIcons(self) + + watch:ForceUpdate() + return true else return false end end -local function Disable(self) - if self.AuraWatch then +local Disable = function(self) + local watch = self.AuraWatch; + if watch then + self:UnregisterEvent("UNIT_AURA", Update) - for _,icon in pairs(self.AuraWatch.icons) do + + for _,icon in pairs(watch.Cache) do icon:Hide() end end end + oUF:AddElement("AuraWatch", Update, Enable, Disable) diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua index bd6361e..cad70cc 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua @@ -63,16 +63,6 @@ local function UpdateGuile() end end -local function FivePointsAlarm(points) - if not CombatText_AddMessage then return end - if(points == 5 and not ALERTED) then - CombatText_AddMessage("5 Points", CombatText_StandardScroll, 0.1, 0.5, 1, "crit") - ALERTED = true - elseif(ALERTED and points < 5) then - ALERTED = false - end -end - local Update = function(self, event, unit) if(unit == 'pet') then return end local bar = self.HyperCombo; @@ -84,9 +74,9 @@ local Update = function(self, event, unit) local current = 0 if(UnitHasVehicleUI'player') then - current = GetComboPoints('vehicle', 'target') + current = GetComboPoints('vehicle') else - current = GetComboPoints('player', 'target') + current = GetComboPoints('player') end local anti = select(4, UnitBuff("player", ANTICIPATION)) -- Anticipation stacks @@ -104,8 +94,9 @@ local Update = function(self, event, unit) bar.PointHide(cpoints[i], i) end end - if(anti and cpoints[i].Anticipation) then - if(i <= anti) then + if(cpoints[i].Anticipation) then + anti = anti or 0 + if(i <= anti and (current > 0)) then cpoints[i].Anticipation:Show() else cpoints[i].Anticipation:Hide() @@ -125,10 +116,6 @@ local Update = function(self, event, unit) end end - if(current > 0) then - FivePointsAlarm(current) - end - if(bar.PostUpdate) then return bar:PostUpdate(current) end diff --git a/Interface/AddOns/SVUI/packages/aura/SVAura.lua b/Interface/AddOns/SVUI/packages/aura/SVAura.lua index b5460de..3adf281 100644 --- a/Interface/AddOns/SVUI/packages/aura/SVAura.lua +++ b/Interface/AddOns/SVUI/packages/aura/SVAura.lua @@ -291,11 +291,11 @@ do aura.count = aura:CreateFontString(nil, "ARTWORK") aura.count:SetPoint("BOTTOMRIGHT", (-1 + SV.db.SVAura.countOffsetH), (1 + SV.db.SVAura.countOffsetV)) - aura.count:FontManager("aura") + aura.count:SetFontObject(SVUI_Font_Aura) aura.time = aura:CreateFontString(nil, "ARTWORK") aura.time:SetPoint("TOP", aura, "BOTTOM", 1 + SV.db.SVAura.timeOffsetH, 0 + SV.db.SVAura.timeOffsetV) - aura.time:FontManager("aura") + aura.time:SetFontObject(SVUI_Font_Aura) aura.highlight = aura:CreateTexture(nil, "HIGHLIGHT") aura.highlight:SetTexture(BASIC_TEXTURE) diff --git a/Interface/AddOns/SVUI/packages/bag/SVBag.lua b/Interface/AddOns/SVUI/packages/bag/SVBag.lua index 39cc496..96aaa64 100644 --- a/Interface/AddOns/SVUI/packages/bag/SVBag.lua +++ b/Interface/AddOns/SVUI/packages/bag/SVBag.lua @@ -346,7 +346,7 @@ local SlotUpdate = function(self, slotID) CooldownFrame_SetTimer(slot.cooldown, start, duration, enable); - if(duration > 0 and enable == 0) then + if((duration > 0) and (enable == 0)) then SetItemButtonTextureVertexColor(slot, 0.4, 0.4, 0.4) else SetItemButtonTextureVertexColor(slot, 1, 1, 1) @@ -667,7 +667,7 @@ local ContainerFrame_UpdateLayout = function(self) if(SV.db.SVGear.misc.setoverlay and (not slot.GearInfo)) then slot.GearInfo = slot:CreateFontString(nil,"OVERLAY") - slot.GearInfo:FontManager("default") + slot.GearInfo:SetFontObject(SVUI_Font_Default) slot.GearInfo:SetAllPoints(slot) slot.GearInfo:SetWordWrap(true) slot.GearInfo:SetJustifyH('LEFT') @@ -996,7 +996,7 @@ do MainMenuBarBackpackButton:SetParent(bar) MainMenuBarBackpackButton.SetParent = SV.Hidden; MainMenuBarBackpackButton:ClearAllPoints() - MainMenuBarBackpackButtonCount:FontManager("default") + MainMenuBarBackpackButtonCount:SetFontObject(SVUI_Font_Default) MainMenuBarBackpackButtonCount:ClearAllPoints() MainMenuBarBackpackButtonCount:SetPointToScale("BOTTOMRIGHT", MainMenuBarBackpackButton, "BOTTOMRIGHT", -1, 4) MainMenuBarBackpackButton:HookScript("OnEnter", Bags_OnEnter) @@ -1298,7 +1298,7 @@ do frame.holderFrame:SetPointToScale("BOTTOM", frame, "BOTTOM", 0, frame.bottomOffset) frame.Title = frame:CreateFontString() - frame.Title:FontManager("header") + frame.Title:SetFontObject(SVUI_Font_Header) frame.Title:SetText(INVENTORY_TOOLTIP) frame.Title:SetPoint("TOPLEFT", frame, "TOPLEFT", 2, -2) frame.Title:SetTextColor(1,0.8,0) @@ -1309,7 +1309,7 @@ do frame.BagMenu:Hide() frame.goldText = frame:CreateFontString(nil, "OVERLAY") - frame.goldText:FontManager("bagnumber") + frame.goldText:SetFontObject(SVUI_Font_Bag_Number) frame.goldText:SetPointToScale("BOTTOMRIGHT", frame.holderFrame, "TOPRIGHT", -2, 4) frame.goldText:SetJustifyH("RIGHT") @@ -1329,7 +1329,7 @@ do frame.editBox:SetScript("OnChar", Search_OnInput) frame.editBox.SearchReset = Search_OnKeyPressed frame.editBox:SetText(SEARCH) - frame.editBox:FontManager("bagdialog") + frame.editBox:SetFontObject(SVUI_Font_Bag) local searchButton = CreateFrame("Button", nil, frame) searchButton:RegisterForClicks("LeftButtonUp", "RightButtonUp") @@ -1338,7 +1338,7 @@ do searchButton:SetStylePanel("Button") searchButton:SetScript("OnClick", Search_OnClick) local searchText = searchButton:CreateFontString(nil, "OVERLAY") - searchText:FontManager("bagdialog", nil, 0, "NONE") + searchText:SetFontObject(SVUI_Font_Bag) searchText:SetAllPoints(searchButton) searchText:SetJustifyH("CENTER") searchText:SetText("|cff9999ff"..SEARCH.."|r") @@ -1417,7 +1417,7 @@ do frame.currencyButton[h].icon:SetTexCoord(0.1, 0.9, 0.1, 0.9) frame.currencyButton[h].text = frame.currencyButton[h]:CreateFontString(nil, "OVERLAY") frame.currencyButton[h].text:SetPointToScale("LEFT", frame.currencyButton[h], "RIGHT", 2, 0) - frame.currencyButton[h].text:FontManager("bagnumber") + frame.currencyButton[h].text:SetFontObject(SVUI_Font_Bag_Number) frame.currencyButton[h]:SetScript("OnEnter", Token_OnEnter) frame.currencyButton[h]:SetScript("OnLeave", Token_OnLeave) frame.currencyButton[h]:SetScript("OnClick", Token_OnClick) @@ -1490,7 +1490,7 @@ do frame.holderFrame:SetPointToScale("BOTTOM", frame, "BOTTOM", 0, frame.bottomOffset) frame.Title = frame:CreateFontString() - frame.Title:FontManager("header") + frame.Title:SetFontObject(SVUI_Font_Header) frame.Title:SetText(isReagent and REAGENT_BANK or BANK or "Bank") frame.Title:SetPoint("TOPLEFT", frame, "TOPLEFT", 2, -2) frame.Title:SetTextColor(1,0.8,0) diff --git a/Interface/AddOns/SVUI/packages/bar/SVBar.lua b/Interface/AddOns/SVUI/packages/bar/SVBar.lua index e544d50..ec57338 100644 --- a/Interface/AddOns/SVUI/packages/bar/SVBar.lua +++ b/Interface/AddOns/SVUI/packages/bar/SVBar.lua @@ -278,7 +278,7 @@ local function ModifyActionButton(parent) count:ClearAllPoints() count:SetPoint("BOTTOMRIGHT",1,1) count:SetShadowOffset(1,-1) - count:FontManager("number") + count:SetFontObject(SVUI_Font_Number) end if icon then icon:SetTexCoord(.1,.9,.1,.9) @@ -288,7 +288,7 @@ local function ModifyActionButton(parent) if SV.db.SVBar.hotkeytext then hotkey:ClearAllPoints() hotkey:SetAllPoints() - hotkey:FontManager("default") + hotkey:SetFontObject(SVUI_Font_Default) hotkey:SetJustifyH("RIGHT") hotkey:SetJustifyV("TOP") hotkey:SetShadowOffset(1,-1) diff --git a/Interface/AddOns/SVUI/packages/bar/components/keybind.lua b/Interface/AddOns/SVUI/packages/bar/components/keybind.lua index b119607..3cc92b8 100644 --- a/Interface/AddOns/SVUI/packages/bar/components/keybind.lua +++ b/Interface/AddOns/SVUI/packages/bar/components/keybind.lua @@ -487,7 +487,7 @@ function MOD:LoadKeyBinder() moveHandle:SetScript("OnMouseUp", onMouseUp) local moveText = moveHandle:CreateFontString("OVERLAY") - moveText:FontManager("default") + moveText:SetFontObject(SVUI_Font_Default) moveText:SetPoint("CENTER", moveHandle, "CENTER") moveText:SetText("Key Binds") diff --git a/Interface/AddOns/SVUI/packages/chat/SVChat.lua b/Interface/AddOns/SVUI/packages/chat/SVChat.lua index 0d219ac..faee9d6 100644 --- a/Interface/AddOns/SVUI/packages/chat/SVChat.lua +++ b/Interface/AddOns/SVUI/packages/chat/SVChat.lua @@ -96,15 +96,9 @@ local CHAT_THROTTLE = 45; local CHAT_ALLOW_URL = true; local CHAT_HOVER_URL = true; local CHAT_STICKY = true; -local CHAT_FONT = [[Interface\AddOns\SVUI\assets\fonts\Default.ttf]]; -local CHAT_FONTSIZE = 12; -local CHAT_FONTOUTLINE = "OUTLINE"; local TAB_WIDTH = 75; local TAB_HEIGHT = 20; local TAB_SKINS = true; -local TAB_FONT = [[Interface\AddOns\SVUI\assets\fonts\Caps.ttf]]; -local TAB_FONTSIZE = 11; -local TAB_FONTOUTLINE = "OUTLINE"; local CHAT_FADING = false; local CHAT_PSST = [[Interface\AddOns\SVUI\assets\sounds\whisper.mp3]]; local TIME_STAMP_MASK = "NONE"; @@ -146,7 +140,13 @@ LOCAL FUNCTIONS ########################################################## ]]-- local ScrollIndicator = CreateFrame("Frame", nil) - +local HighLight_OnUpdate = function(self) + if(self:IsMouseOver(50, -2, 0, 50)) then + self.texture:SetGradientAlpha("HORIZONTAL",0,1,0,0.8,0,0.3,0,0) + else + self.texture:SetGradientAlpha("HORIZONTAL",0,1,1,0.8,0,0.3,0.3,0) + end +end do local EmoteCount = 39; local EmotePatterns = { @@ -473,10 +473,12 @@ do local Tab_OnDragStart = function(self) MOD.Dock.Highlight:Show() + MOD.Dock.Highlight:SetScript("OnUpdate", HighLight_OnUpdate) end local Tab_OnDragStop = function(self) MOD.Dock.Highlight:Hide() + MOD.Dock.Highlight:SetScript("OnUpdate", nil) end local EditBox_OnKeyUp = function(self, button) @@ -587,13 +589,15 @@ do end local function _removeTab(frame,chat) - if(not frame or not frame.chatID) then return end + if(not frame) then return end local name = frame:GetName(); - if(not TabSafety[name]) then return end + --if(not TabSafety[name]) then return end TabSafety[name] = false; - local chatID = frame.chatID; - if(TabsList[chatID]) then - TabsList[chatID] = nil; + if(frame.chatID) then + local chatID = frame.chatID; + if(TabsList[chatID]) then + TabsList[chatID] = nil; + end end frame:SetParent(chat) frame:ClearAllPoints() @@ -672,8 +676,8 @@ do local chatID = chat:GetID(); local tabName = chatName.."Tab"; local tabText = _G[chatName.."TabText"] - chat:FontManager("chatdialog", "LEFT") - tabText:FontManager("chattab") + SV:FontManager(chat, "chatdialog", "LEFT") + SV:FontManager(tabText, "chattab") if(not chat.Panel) then chat:SetStylePanel("Default", "Transparent") chat.Panel:Hide() @@ -767,7 +771,7 @@ do chat.button:SetStylePanel('Default', 'Headline') chat.button.Title = chat.button:CreateFontString() - chat.button.Title:FontManager("chattab") + chat.button.Title:SetFontObject(SVUI_Font_ChatTab) chat.button.Title:SetText("copy") chat.button.Title:SetAllPointsIn(chat.button) chat.button.Title:SetTextColor(1,0.8,0) @@ -825,12 +829,12 @@ do --print("setting size "..id .. " = " ..CHAT_WIDTH) chat:SetSize(CHAT_WIDTH, CHAT_HEIGHT) chat.Panel:Show() + tab.owner = chat; if(not TAB_SKINS) then tab.isDocked = chat.isDocked; tab:SetParent(chat) _modifyTab(tab, true) else - tab.owner = chat; tab.isDocked = false; if(tab.Holder) then tab.Holder.isDocked = false; @@ -845,14 +849,12 @@ do chat.Panel:Hide(); FCF_SavePositionAndDimensions(chat) - + tab.owner = chat; if(not TAB_SKINS) then - tab.owner = chat; tab.isDocked = chat.isDocked; tab:SetParent(MOD.Dock.Bar) _modifyTab(tab, false) else - tab.owner = chat; tab.isDocked = true; local arg3 = (chat.inUse or chat.isDocked or chat.isTemporary) if(tab.Holder and arg3) then @@ -893,7 +895,7 @@ local function _hook_SetTabPosition(chatFrame) end local function _hook_TabStopDragging(chatFrame) - if(MOD.Dock.Highlight:IsMouseOver(10, -10, 0, 10)) then + if(MOD.Dock.Highlight:IsMouseOver(50, -2, 0, 50)) then TABS_DIRTY = true; FCF_DockFrame(chatFrame, chatFrame:GetID(), true); end @@ -1177,6 +1179,7 @@ function MOD:Load() insTex:SetAllPoints() insTex:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]]); insTex:SetGradientAlpha("HORIZONTAL",0,1,1,0.8,0,0.3,0.3,0) + insertHL.texture = insTex insertHL:Hide() self.Dock.Highlight = insertHL @@ -1236,7 +1239,8 @@ function MOD:Load() SV.Dock:SetSuperDockStyle(frame) frame.Title = frame:CreateFontString() - frame.Title:FontManager("header", "LEFT") + frame.Title:SetFontObject(SVUI_Font_Header) + frame.Title:SetJustifyH('LEFT') frame.Title:SetText("Copy Chat") frame.Title:SetPoint("TOPLEFT", frame, "TOPLEFT", 4, 4) frame.Title:SetTextColor(1,0.8,0) @@ -1250,7 +1254,8 @@ function MOD:Load() editBox:SetMaxLetters(99999) editBox:EnableMouse(true) editBox:SetAutoFocus(false) - editBox:FontManager("chatdialog", "LEFT") + editBox:SetFontObject(SVUI_Font_Chat) + editBox:SetJustifyH('LEFT') editBox:SetWidth(scrollArea:GetWidth()) editBox:SetHeight(200) editBox:SetScript("OnEscapePressed", function() SVUI_CopyChatFrame:Hide() end) diff --git a/Interface/AddOns/SVUI/packages/gear/SVGear.lua b/Interface/AddOns/SVUI/packages/gear/SVGear.lua index 51cdcde..35bbf80 100644 --- a/Interface/AddOns/SVUI/packages/gear/SVGear.lua +++ b/Interface/AddOns/SVUI/packages/gear/SVGear.lua @@ -148,7 +148,7 @@ local function SetDisplayStats(arg) if(flags[1]) then frame.ItemLevel = frame:CreateFontString(nil, "OVERLAY") frame.ItemLevel:SetPointToScale("BOTTOMRIGHT", frame, "BOTTOMRIGHT", 2, 1) - frame.ItemLevel:FontManager("default") + frame.ItemLevel:SetFontObject(SVUI_Font_Default) end if(arg == "Character" and flags[2]) then diff --git a/Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua b/Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua index df6e417..0b8b5f5 100644 --- a/Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua +++ b/Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua @@ -419,7 +419,7 @@ local function CreateHenchmenSubOptions(buttonIndex,optionIndex) frame.txt:SetTextColor(1,1,1) frame.txthigh = frame:CreateFontString(nil,"HIGHLIGHT") frame.txthigh:SetAllPointsIn(frame) - frame.txthigh:FontManager("default") + frame.txthigh:SetFontObject(SVUI_Font_Default) frame.txthigh:SetTextColor(1,1,0) SV.Animate:Slide(frame,500,0) diff --git a/Interface/AddOns/SVUI/packages/map/SVMap.lua b/Interface/AddOns/SVUI/packages/map/SVMap.lua index f14cb0b..f180a62 100644 --- a/Interface/AddOns/SVUI/packages/map/SVMap.lua +++ b/Interface/AddOns/SVUI/packages/map/SVMap.lua @@ -723,7 +723,8 @@ function MOD:Load() local mapHolder = SVUI_MinimapFrame -- mapHolder:SetParent(SV.Screen); - mapHolder:SetFrameStrata("BACKGROUND") + mapHolder:SetFrameStrata(Minimap:GetFrameStrata()) + mapHolder:SetFrameLevel(Minimap:GetFrameLevel() - 1) mapHolder:SetPointToScale("TOPRIGHT", SV.Screen, "TOPRIGHT", -10, -10) mapHolder:SetSizeToScale(MM_WIDTH, MM_HEIGHT) @@ -809,7 +810,9 @@ function MOD:Load() narr:SetParent(Minimap) narr.Text = narr:CreateFontString(nil, "ARTWORK", nil, 7) - narr.Text:FontManager("narrator") + narr.Text:SetFontObject(SVUI_Font_Narrator) + narr.Text:SetJustifyH("CENTER") + narr.Text:SetJustifyV("MIDDLE") narr.Text:SetAllPoints(narr) narr.Text:SetTextColor(1, 1, 1) narr.Text:SetShadowColor(0, 0, 0, 0.3) @@ -824,7 +827,9 @@ function MOD:Load() zt:SetParent(Minimap) zt.Text = zt:CreateFontString(nil, "ARTWORK", nil, 7) - zt.Text:FontManager("narrator", "RIGHT") + zt.Text:SetFontObject(SVUI_Font_Narrator) + zt.Text:SetJustifyH("RIGHT") + zt.Text:SetJustifyV("MIDDLE") zt.Text:SetPointToScale("RIGHT", zt) zt.Text:SetSize(MM_WIDTH, 32) zt.Text:SetTextColor(1, 1, 0) @@ -879,14 +884,14 @@ function MOD:Load() CoordsHolder.playerXCoords:SetPoint("BOTTOMLEFT", CoordsHolder, "BOTTOMLEFT", 0, 0) CoordsHolder.playerXCoords:SetWidth(70) CoordsHolder.playerXCoords:SetHeight(22) - CoordsHolder.playerXCoords:FontManager("number") + CoordsHolder.playerXCoords:SetFontObject(SVUI_Font_Number) CoordsHolder.playerXCoords:SetTextColor(cColor.r, cColor.g, cColor.b) CoordsHolder.playerYCoords = CoordsHolder:CreateFontString(nil, "OVERLAY") CoordsHolder.playerYCoords:SetPoint("BOTTOMLEFT", CoordsHolder.playerXCoords, "BOTTOMRIGHT", 4, 0) CoordsHolder.playerXCoords:SetWidth(70) CoordsHolder.playerYCoords:SetHeight(22) - CoordsHolder.playerYCoords:FontManager("number") + CoordsHolder.playerYCoords:SetFontObject(SVUI_Font_Number) CoordsHolder.playerYCoords:SetTextColor(cColor.r, cColor.g, cColor.b) local calendarButton = CreateFrame("Button", "SVUI_CalendarButton", CoordsHolder) diff --git a/Interface/AddOns/SVUI/packages/override/components/loot.lua b/Interface/AddOns/SVUI/packages/override/components/loot.lua index ef86996..0ae6332 100644 --- a/Interface/AddOns/SVUI/packages/override/components/loot.lua +++ b/Interface/AddOns/SVUI/packages/override/components/loot.lua @@ -285,7 +285,7 @@ local function MakeSlots(id) slot.count = slot.iconFrame:CreateFontString(nil, "OVERLAY") slot.count:SetJustifyH("RIGHT") slot.count:SetPointToScale("BOTTOMRIGHT", slot.iconFrame, -2, 2) - slot.count:FontManager("lootnumber") + slot.count:SetFontObject(SVUI_Font_Loot_Number) slot.count:SetText(1) slot.name = slot:CreateFontString(nil, "OVERLAY") @@ -293,7 +293,7 @@ local function MakeSlots(id) slot.name:SetPoint("LEFT", slot) slot.name:SetPoint("RIGHT", slot.icon, "LEFT") slot.name:SetNonSpaceWrap(true) - slot.name:FontManager("lootdialog") + slot.name:SetFontObject(SVUI_Font_Loot) slot.drop = slot:CreateTexture(nil, "ARTWORK") slot.drop:SetTexture("Interface\\QuestFrame\\UI-QuestLogTitleHighlight") @@ -329,7 +329,7 @@ local function CreateRollButton(rollFrame, type, locale, anchor) rollButton:SetScript("OnClick", DoDaRoll) rollButton:SetMotionScriptsWhileDisabled(true) local text = rollButton:CreateFontString(nil, nil) - text:FontManager("rolldialog") + text:SetFontObject(SVUI_Font_Roll) text:SetPointToScale("CENTER", 0, ((type == 2 and 1) or (type == 0 and -1.2) or 0)) return rollButton, text end @@ -383,16 +383,16 @@ local function CreateRollFrame() rollFrame.need,rollFrame.greed,rollFrame.pass,rollFrame.disenchant = needText,greedText,passText,deText; rollFrame.bindText = rollFrame:CreateFontString() rollFrame.bindText:SetPointToScale("LEFT",passButton,"RIGHT",3,1) - rollFrame.bindText:FontManager("rollnumber") + rollFrame.bindText:SetFontObject(SVUI_Font_Roll_Number) rollFrame.lootText = rollFrame:CreateFontString(nil,"ARTWORK") - rollFrame.lootText:FontManager("rollnumber") + rollFrame.lootText:SetFontObject(SVUI_Font_Roll_Number) rollFrame.lootText:SetPointToScale("LEFT",rollFrame.bindText,"RIGHT",0,0) rollFrame.lootText:SetPointToScale("RIGHT",rollFrame,"RIGHT",-5,0) rollFrame.lootText:SetSizeToScale(200,10) rollFrame.lootText:SetJustifyH("LEFT") rollFrame.yourRoll = rollFrame:CreateFontString(nil,"ARTWORK") - rollFrame.yourRoll:FontManager("rollnumber", "CENTER", 4) + rollFrame.yourRoll:SetFontObject(SVUI_Font_Roll_Number) rollFrame.yourRoll:SetSizeToScale(22,22) rollFrame.yourRoll:SetPointToScale("LEFT",rollFrame,"RIGHT",5,0) rollFrame.yourRoll:SetJustifyH("CENTER") @@ -650,7 +650,7 @@ function MOD:SetLootFrames() SVUI_LootFrame:SetSizeToScale(256, 64); SVUI_LootFrame:SetStylePanel("Fixed", 'Transparent'); - SVUI_LootFrame.title:FontManager("header") + SVUI_LootFrame.title:SetFontObject(SVUI_Font_Header) SV:AddToDisplayAudit(SVUI_LootFrame); SVUI_LootFrame:Hide(); diff --git a/Interface/AddOns/SVUI/packages/override/components/mirror.lua b/Interface/AddOns/SVUI/packages/override/components/mirror.lua index 8b238b9..717aaaf 100644 --- a/Interface/AddOns/SVUI/packages/override/components/mirror.lua +++ b/Interface/AddOns/SVUI/packages/override/components/mirror.lua @@ -111,7 +111,7 @@ local function MirrorBarRegistry(barType) bar:SetScript("OnUpdate", MirrorBar_OnUpdate) local r, g, b = unpack(mirrorTypeColor[barType]) bar.text = bar:CreateFontString(nil, 'OVERLAY') - bar.text:FontManager("default") + bar.text:SetFontObject(SVUI_Font_Default) bar.text:SetJustifyH('CENTER') bar.text:SetTextColor(1, 1, 1) bar.text:SetPoint('LEFT', bar) @@ -134,7 +134,7 @@ local function SetTimerStyle(bar) if child:GetObjectType() == "Texture"then child:SetTexture(0,0,0,0) elseif child:GetObjectType() == "FontString" then - child:FontManager("default") + child:SetFontObject(SVUI_Font_Default) end end bar:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]]) diff --git a/Interface/AddOns/SVUI/packages/plate/SVPlate.lua b/Interface/AddOns/SVUI/packages/plate/SVPlate.lua index 83eac9e..2559796 100644 --- a/Interface/AddOns/SVUI/packages/plate/SVPlate.lua +++ b/Interface/AddOns/SVUI/packages/plate/SVPlate.lua @@ -921,11 +921,11 @@ do button.Icon:SetPoint("BOTTOMRIGHT",button,"BOTTOMRIGHT") button.Icon:SetTexCoord(.1, .9, .2, .8) button.TimeLeft = button:CreateFontString(nil, 'OVERLAY') - button.TimeLeft:FontManager("plateaura") + button.TimeLeft:SetFontObject(SVUI_Font_NamePlate_Aura) button.TimeLeft:SetPoint("BOTTOMLEFT",button,"TOPLEFT",-3,-1) button.TimeLeft:SetJustifyH('CENTER') button.Stacks = button:CreateFontString(nil,"OVERLAY") - button.Stacks:FontManager("plateaura") + button.Stacks:SetFontObject(SVUI_Font_NamePlate_Aura) button.Stacks:SetPoint("BOTTOMRIGHT",button,"BOTTOMRIGHT",3,-3) button:Hide() return button @@ -1088,14 +1088,14 @@ do local function UpdateThisPlate(plate) if(not ProxyThisPlate(plate, true)) then return; end - SVUI_PLATE.name:FontManager("platename") + SVUI_PLATE.name:SetFontObject(SVUI_Font_NamePlate) SVUI_PLATE.name:SetTextColor(1, 1, 1) - SVUI_PLATE.level:FontManager("platenumber") + SVUI_PLATE.level:SetFontObject(SVUI_Font_NamePlate_Number) if not PLATE_ARGS.scaled and not PLATE_ARGS.tiny then SVUI_PLATE.health:SetSize(HBWidth, HBHeight) end SVUI_PLATE.health:SetStatusBarTexture(SV.Media.bar.default) - SVUI_PLATE.health.text:FontManager("platenumber") + SVUI_PLATE.health.text:SetFontObject(SVUI_Font_NamePlate_Number) SVUI_PLATE.cast:SetSize(HBWidth, CBHeight) SVUI_PLATE.cast:SetStatusBarTexture(SV.Media.bar.gradient) SVUI_PLATE.cast.text:SetFont(SV.Media.font.default, 8, "OUTLINE") @@ -1109,8 +1109,8 @@ do SVUI_PLATE.health.icon:SetSize(RISize, RISize) for index = 1, #PLATE_AURAICONS do if PLATE_AURAICONS and PLATE_AURAICONS[index] then - PLATE_AURAICONS[index].TimeLeft:FontManager("plateaura") - PLATE_AURAICONS[index].Stacks:FontManager("plateaura") + PLATE_AURAICONS[index].TimeLeft:SetFontObject(SVUI_Font_NamePlate_Aura) + PLATE_AURAICONS[index].Stacks:SetFontObject(SVUI_Font_NamePlate_Aura) PLATE_AURAICONS[index].Icon:SetTexCoord(.07, 0.93, .23, 0.77) end end diff --git a/Interface/AddOns/SVUI/packages/quest/SVQuest.lua b/Interface/AddOns/SVUI/packages/quest/SVQuest.lua index 5c099dc..52bd10d 100644 --- a/Interface/AddOns/SVUI/packages/quest/SVQuest.lua +++ b/Interface/AddOns/SVUI/packages/quest/SVQuest.lua @@ -216,7 +216,7 @@ local OBJECTIVE_GetStatus = function(self) status.Label = status.Bar:CreateFontString(nil,"OVERLAY"); status.Label:SetAllPointsIn(status.Bar); - status.Label:FontManager("questnumber") + status.Label:SetFontObject(SVUI_Font_Quest_Number) status.Label:SetTextColor(1,1,1) status.Label:SetText('') @@ -254,7 +254,8 @@ function MOD:NewObjectiveRow(header, index) objective.Text:SetPoint("TOPLEFT", objective, "TOPLEFT", 20 + 6, -2); objective.Text:SetPoint("TOPRIGHT", objective, "TOPRIGHT", 0, -2); objective.Text:SetHeightToScale(INNER_HEIGHT); - objective.Text:FontManager("questdialog", "LEFT"); + objective.Text:SetFontObject(SVUI_Font_Quest); + objective.Text:SetJustifyH('LEFT') objective.Text:SetTextColor(0.6,0.6,0.6); objective.Text:SetText(''); diff --git a/Interface/AddOns/SVUI/packages/quest/components/achievements.lua b/Interface/AddOns/SVUI/packages/quest/components/achievements.lua index daa4c01..dfb486d 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/achievements.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/achievements.lua @@ -143,7 +143,8 @@ local GetAchievementRow = function(self, index) row.Header:SetPoint("TOPRIGHT", row, "TOPRIGHT", -2, 0); row.Header:SetHeightToScale(INNER_HEIGHT); row.Header.Text = row.Header:CreateFontString(nil,"OVERLAY") - row.Header.Text:FontManager("questdialog", "LEFT"); + row.Header.Text:SetFontObject(SVUI_Font_Quest); + row.Header.Text:SetJustifyH('LEFT') row.Header.Text:SetTextColor(1,1,0) row.Header.Text:SetText('') row.Header.Text:SetPoint("TOPLEFT", row.Header, "TOPLEFT", 4, 0); @@ -313,7 +314,8 @@ function MOD:InitializeAchievements() achievements.Header.Text = achievements.Header:CreateFontString(nil,"OVERLAY") achievements.Header.Text:SetPoint("TOPLEFT", achievements.Header, "TOPLEFT", 2, 0); achievements.Header.Text:SetPoint("BOTTOMLEFT", achievements.Header, "BOTTOMLEFT", 2, 0); - achievements.Header.Text:FontManager("questheader", "LEFT"); + achievements.Header.Text:SetFontObject(SVUI_Font_Quest_Header); + achievements.Header.Text:SetJustifyH('LEFT') achievements.Header.Text:SetTextColor(0.28,0.75,1) achievements.Header.Text:SetText(TRACKER_HEADER_ACHIEVEMENTS) diff --git a/Interface/AddOns/SVUI/packages/quest/components/active.lua b/Interface/AddOns/SVUI/packages/quest/components/active.lua index 2bd50cf..e3eba2b 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/active.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/active.lua @@ -345,7 +345,8 @@ function MOD:InitializeActive() block.Top.Text = block.Top:CreateFontString(nil,"OVERLAY") block.Top.Text:SetPoint("TOPLEFT", block.Top, "TOPLEFT", 2, 0); block.Top.Text:SetPoint("BOTTOMLEFT", block.Top, "BOTTOMLEFT", 2, 0); - block.Top.Text:FontManager("questheader", "LEFT"); + block.Top.Text:SetFontObject(SVUI_Font_Quest_Header); + block.Top.Text:SetJustifyH('LEFT') block.Top.Text:SetTextColor(0.28,0.75,1) block.Top.Text:SetText("Now Tracking...") @@ -397,13 +398,15 @@ function MOD:InitializeActive() block.Header:SetStylePanel("Default", "Headline") block.Header.Level = block.Header:CreateFontString(nil,"OVERLAY") - block.Header.Level:FontManager("questdialog", "LEFT"); + block.Header.Level:SetFontObject(SVUI_Font_Quest); + block.Header.Level:SetJustifyH('LEFT') block.Header.Level:SetText('') block.Header.Level:SetPointToScale("TOPLEFT", block.Header, "TOPLEFT", 4, 0); block.Header.Level:SetPointToScale("BOTTOMLEFT", block.Header, "BOTTOMLEFT", 4, 0); block.Header.Text = block.Header:CreateFontString(nil,"OVERLAY") - block.Header.Text:FontManager("questdialog", "LEFT"); + block.Header.Text:SetFontObject(SVUI_Font_Quest); + block.Header.Text:SetJustifyH('LEFT') block.Header.Text:SetTextColor(1,1,0) block.Header.Text:SetText('') block.Header.Text:SetPointToScale("TOPLEFT", block.Header.Level, "TOPRIGHT", 4, 0); diff --git a/Interface/AddOns/SVUI/packages/quest/components/bonus.lua b/Interface/AddOns/SVUI/packages/quest/components/bonus.lua index c157265..eef9c7c 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/bonus.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/bonus.lua @@ -212,7 +212,8 @@ local GetBonusRow = function(self, index) row.Header:SetHeightToScale(INNER_HEIGHT); row.Header.Text = row.Header:CreateFontString(nil,"OVERLAY") - row.Header.Text:FontManager("questheader", "LEFT"); + row.Header.Text:SetFontObject(SVUI_Font_Quest_Header); + row.Header.Text:SetJustifyH('LEFT') row.Header.Text:SetTextColor(0.2,0.75,1) row.Header.Text:SetText('') row.Header.Text:SetPointToScale("TOPLEFT", row.Header, "TOPLEFT", 0, 0); @@ -323,7 +324,6 @@ end local UpdateBonusObjectives = function(self) local fill_height = 0; local rows = 0; - local ALL_EXIST = true; if(C_Scenario.IsInScenario()) then local tblBonusSteps = C_Scenario.GetBonusSteps(); @@ -366,9 +366,6 @@ local UpdateBonusObjectives = function(self) if(not COMPLETED_BONUS_DATA[questID]) then local isInArea, isOnMap, numObjectives = GetCachedTaskInfo(questID); local existingTask = CACHED_BONUS_DATA[questID] - if(not existingTask) then - ALL_EXIST = false; - end if(isInArea or (isOnMap and existingTask)) then local add_height = 0; rows, add_height = self:SetBonus(rows, questID, numObjectives) @@ -385,7 +382,7 @@ local UpdateBonusObjectives = function(self) else self:SetHeightToScale(fill_height + 2); self:FadeIn(); - if(not ALL_EXIST) then + if(not CACHED_BONUS_DATA[questID]) then PlaySound("UI_Scenario_Stage_End"); --PlaySoundKitID(45142); end diff --git a/Interface/AddOns/SVUI/packages/quest/components/popups.lua b/Interface/AddOns/SVUI/packages/quest/components/popups.lua index ec0df4c..0023342 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/popups.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/popups.lua @@ -121,7 +121,8 @@ local GetPopUpRow = function(self, index) row.Header:SetPointToScale("BOTTOMRIGHT", row.Button, "BOTTOMRIGHT", -2, 2); row.Header:SetStylePanel("Default") row.Header.Text = row.Header:CreateFontString(nil,"OVERLAY") - row.Header.Text:FontManager("questdialog", "LEFT"); + row.Header.Text:SetFontObject(SVUI_Font_Quest); + row.Header.Text:SetJustifyH('LEFT') row.Header.Text:SetTextColor(1,1,0) row.Header.Text:SetText('') row.Header.Text:SetPointToScale("TOPLEFT", row.Header, "TOPLEFT", 0, 0); diff --git a/Interface/AddOns/SVUI/packages/quest/components/quests.lua b/Interface/AddOns/SVUI/packages/quest/components/quests.lua index f1a123f..68b3bda 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/quests.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/quests.lua @@ -408,13 +408,15 @@ local GetQuestRow = function(self, index) row.Header:SetHeightToScale(INNER_HEIGHT); row.Header.Level = row.Header:CreateFontString(nil,"OVERLAY") - row.Header.Level:FontManager("questnumber", "RIGHT"); + row.Header.Level:SetFontObject(SVUI_Font_Quest_Number); + row.Header.Level:SetJustifyH('RIGHT') row.Header.Level:SetText('') row.Header.Level:SetPoint("TOPRIGHT", row.Header, "TOPRIGHT", -4, 0); row.Header.Level:SetPoint("BOTTOMRIGHT", row.Header, "BOTTOMRIGHT", -4, 0); row.Header.Text = row.Header:CreateFontString(nil,"OVERLAY") - row.Header.Text:FontManager("questdialog", "LEFT"); + row.Header.Text:SetFontObject(SVUI_Font_Quest); + row.Header.Text:SetJustifyH('LEFT') row.Header.Text:SetTextColor(1,1,0) row.Header.Text:SetText('') row.Header.Text:SetPoint("TOPLEFT", row.Header, "TOPLEFT", 4, 0); @@ -422,7 +424,8 @@ local GetQuestRow = function(self, index) row.Header.Zone = row:CreateFontString(nil,"OVERLAY") row.Header.Zone:SetAllPoints(row); - row.Header.Zone:FontManager("questdialog", "LEFT"); + row.Header.Zone:SetFontObject(SVUI_Font_Quest); + row.Header.Zone:SetJustifyH('LEFT') row.Header.Zone:SetTextColor(0.75,0.25,1) row.Header.Zone:SetText("") @@ -483,7 +486,7 @@ local GetQuestRow = function(self, index) row.Timer.TimeLeft = row.Timer.Bar:CreateFontString(nil,"OVERLAY"); row.Timer.TimeLeft:SetAllPointsIn(row.Timer.Bar); - row.Timer.TimeLeft:FontManager("questnumber"); + row.Timer.TimeLeft:SetFontObject(SVUI_Font_Quest_Number); row.Timer.TimeLeft:SetTextColor(1,1,1) row.Timer.TimeLeft:SetText('') @@ -787,7 +790,8 @@ function MOD:InitializeQuests() quests.Header.Text = quests.Header:CreateFontString(nil,"OVERLAY") quests.Header.Text:SetPoint("TOPLEFT", quests.Header, "TOPLEFT", 2, 0); quests.Header.Text:SetPoint("BOTTOMLEFT", quests.Header, "BOTTOMLEFT", 2, 0); - quests.Header.Text:FontManager("questheader", "LEFT"); + quests.Header.Text:SetFontObject(SVUI_Font_Quest_Header); + quests.Header.Text:SetJustifyH('LEFT') quests.Header.Text:SetTextColor(0.28,0.75,1) quests.Header.Text:SetText(TRACKER_HEADER_QUESTS) diff --git a/Interface/AddOns/SVUI/packages/quest/components/scenario.lua b/Interface/AddOns/SVUI/packages/quest/components/scenario.lua index c5f51c0..8475245 100644 --- a/Interface/AddOns/SVUI/packages/quest/components/scenario.lua +++ b/Interface/AddOns/SVUI/packages/quest/components/scenario.lua @@ -382,20 +382,22 @@ function MOD:InitializeScenarios() block.Header:SetStylePanel("Default") block.Header.Stage = block.Header:CreateFontString(nil,"OVERLAY") - block.Header.Stage:FontManager("questdialog", "LEFT"); + block.Header.Stage:SetFontObject(SVUI_Font_Quest); + block.Header.Stage:SetJustifyH('LEFT') block.Header.Stage:SetText('') block.Header.Stage:SetPointToScale("TOPLEFT", block.Header, "TOPLEFT", 4, 0); block.Header.Stage:SetPointToScale("BOTTOMLEFT", block.Header, "BOTTOMLEFT", 4, 0); block.Header.Score = block.Header:CreateFontString(nil,"OVERLAY") - block.Header.Score:FontManager("questdialog", "RIGHT"); + block.Header.Score:SetFontObject(SVUI_Font_Quest); + block.Header.Score:SetJustifyH('RIGHT') block.Header.Score:SetTextColor(1,1,0) block.Header.Score:SetText('') block.Header.Score:SetPointToScale("TOPRIGHT", block.Header, "TOPRIGHT", -2, 0); block.Header.Score:SetPointToScale("BOTTOMRIGHT", block.Header, "BOTTOMRIGHT", -2, 0); block.Header.Text = block.Header:CreateFontString(nil,"OVERLAY") - block.Header.Text:FontManager("questdialog"); + block.Header.Text:SetFontObject(SVUI_Font_Quest); block.Header.Text:SetTextColor(1,1,0) block.Header.Text:SetText('') block.Header.Text:SetPointToScale("TOPLEFT", block.Header.Stage, "TOPRIGHT", 4, 0); @@ -424,14 +426,15 @@ function MOD:InitializeScenarios() timer.Bar.Wave = timer.Bar:CreateFontString(nil,"OVERLAY") timer.Bar.Wave:SetPointToScale("TOPLEFT", timer.Bar, "TOPLEFT", 4, 0); timer.Bar.Wave:SetPointToScale("BOTTOMLEFT", timer.Bar, "BOTTOMLEFT", 4, 0); - timer.Bar.Wave:FontManager("questdialog", "LEFT"); + timer.Bar.Wave:SetFontObject(SVUI_Font_Quest); + timer.Bar.Wave:SetJustifyH('LEFT') timer.Bar.Wave:SetTextColor(1,1,0) timer.Bar.Wave:SetText('') timer.Bar.TimeLeft = timer.Bar:CreateFontString(nil,"OVERLAY"); timer.Bar.TimeLeft:SetPointToScale("TOPLEFT", timer.Bar.Wave, "TOPRIGHT", 4, 0); timer.Bar.TimeLeft:SetPointToScale("BOTTOMRIGHT", timer.Bar, "BOTTOMRIGHT", 0, 0); - timer.Bar.TimeLeft:FontManager("questnumber"); + timer.Bar.TimeLeft:SetFontObject(SVUI_Font_Quest_Number); timer.Bar.TimeLeft:SetTextColor(1,1,1) timer.Bar.TimeLeft:SetText('') diff --git a/Interface/AddOns/SVUI/packages/tip/SVTip.lua b/Interface/AddOns/SVUI/packages/tip/SVTip.lua index 4ff7879..e371cc8 100644 --- a/Interface/AddOns/SVUI/packages/tip/SVTip.lua +++ b/Interface/AddOns/SVUI/packages/tip/SVTip.lua @@ -936,7 +936,7 @@ function MOD:Load() GameTooltipStatusBar:SetPoint("BOTTOMRIGHT", GameTooltip.SuperBorder, "BOTTOMRIGHT", -3, 3) GameTooltipStatusBar.text = GameTooltipStatusBar:CreateFontString(nil, "OVERLAY") GameTooltipStatusBar.text:SetPointToScale("CENTER", GameTooltipStatusBar, "CENTER", 0, 0) - GameTooltipStatusBar.text:FontManager("default") + GameTooltipStatusBar.text:SetFontObject(SVUI_Font_Default) if not GameTooltipStatusBar.border then diff --git a/Interface/AddOns/SVUI/packages/tool/stats/durability.lua b/Interface/AddOns/SVUI/packages/tool/stats/durability.lua index f1a2174..69f9247 100644 --- a/Interface/AddOns/SVUI/packages/tool/stats/durability.lua +++ b/Interface/AddOns/SVUI/packages/tool/stats/durability.lua @@ -85,7 +85,6 @@ local function Durability_OnEvent(self, ...) self.text:SetAllPoints(self) self.text:SetJustifyH("CENTER") self.barframe:Hide() - self.text:FontManager("data") end for slot,name in pairs(inventoryMap)do local slotID = GetInventorySlotInfo(slot) @@ -106,7 +105,6 @@ local function DurabilityBar_OnEvent(self, ...) if not self.barframe:IsShown() then self.barframe:Show() self.barframe.icon.texture:SetTexture("Interface\\Addons\\SVUI\\assets\\artwork\\Icons\\STAT-DUR") - self.text:FontManager("data") end for slot,name in pairs(inventoryMap)do local slotID = GetInventorySlotInfo(slot) diff --git a/Interface/AddOns/SVUI/packages/tool/stats/experience.lua b/Interface/AddOns/SVUI/packages/tool/stats/experience.lua index 36b7ee4..ff5a993 100644 --- a/Interface/AddOns/SVUI/packages/tool/stats/experience.lua +++ b/Interface/AddOns/SVUI/packages/tool/stats/experience.lua @@ -71,7 +71,6 @@ local function Experience_OnEvent(self, ...) self.text:SetAllPoints(self) self.text:SetJustifyH("CENTER") self.barframe:Hide() - self.text:FontManager("data") end local f, g = getUnitXP("player") local h = GetXPExhaustion() @@ -88,7 +87,6 @@ local function ExperienceBar_OnEvent(self, ...) if (not self.barframe:IsShown())then self.barframe:Show() self.barframe.icon.texture:SetTexture("Interface\\Addons\\SVUI\\assets\\artwork\\Icons\\STAT-XP") - self.text:FontManager("data") end if not self.barframe.bar.extra:IsShown() then self.barframe.bar.extra:Show() diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua index 0361cf6..60deeec 100644 --- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua +++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua @@ -1107,6 +1107,23 @@ function MOD:RefreshUnitLayout(frame, template) end end end + + --[[ AURA WATCH LAYOUT ]]-- + + if(frame.AuraWatch) then + if(db.auraWatch) then + if db.auraWatch.enable then + if not frame:IsElementEnabled('AuraWatch')then + frame:EnableElement('AuraWatch') + end + frame.AuraWatch:ForceUpdate() + else + if frame:IsElementEnabled('AuraWatch')then + frame:DisableElement('AuraWatch') + end + end + end + end end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua index 08fb39e..8038216 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua @@ -70,28 +70,6 @@ local AURA_FONT = [[Interface\AddOns\SVUI\assets\fonts\Numbers.ttf]]; local AURA_FONTSIZE = 11; local AURA_OUTLINE = "OUTLINE"; local BASIC_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]]; -local shadowTex = [[Interface\AddOns\SVUI\assets\artwork\Template\GLOW]]; -local counterOffsets = { - ["TOPLEFT"] = {6, 1}, - ["TOPRIGHT"] = {-6, 1}, - ["BOTTOMLEFT"] = {6, 1}, - ["BOTTOMRIGHT"] = {-6, 1}, - ["LEFT"] = {6, 1}, - ["RIGHT"] = {-6, 1}, - ["TOP"] = {0, 0}, - ["BOTTOM"] = {0, 0}, -} -local textCounterOffsets = { - ["TOPLEFT"] = {"LEFT", "RIGHT", -2, 0}, - ["TOPRIGHT"] = {"RIGHT", "LEFT", 2, 0}, - ["BOTTOMLEFT"] = {"LEFT", "RIGHT", -2, 0}, - ["BOTTOMRIGHT"] = {"RIGHT", "LEFT", 2, 0}, - ["LEFT"] = {"LEFT", "RIGHT", -2, 0}, - ["RIGHT"] = {"RIGHT", "LEFT", 2, 0}, - ["TOP"] = {"RIGHT", "LEFT", 2, 0}, - ["BOTTOM"] = {"RIGHT", "LEFT", 2, 0}, -} - local CanSteal = (SV.class == "MAGE"); --[[ ########################################################## @@ -174,11 +152,11 @@ local CreateAuraIcon = function(icons, index) --hooksecurefunc(aura, "SetBackdropBorderColor", _hook_AuraBGBorderColor) - local fontgroup = "unitauralarge"; + local fontgroup = "SVUI_Font_UnitAura_Large"; if(baseSize < 18) then - fontgroup = "unitaurasmall"; + fontgroup = "SVUI_Font_UnitAura_Small"; elseif(baseSize < 24) then - fontgroup = "unitauramedium"; + fontgroup = "SVUI_Font_UnitAura"; end --print(baseSize) --print(fontgroup) @@ -194,12 +172,12 @@ local CreateAuraIcon = function(icons, index) fg:SetAllPointsOut(aura, 2, 2) local text = fg:CreateFontString(nil, 'OVERLAY'); - text:FontManager(fontgroup); + text:SetFontObject(_G[fontgroup]); text:SetPoint('CENTER', aura, 'CENTER', 1, 1); text:SetJustifyH('CENTER'); local count = fg:CreateFontString(nil, "OVERLAY"); - count:FontManager(fontgroup); + count:SetFontObject(_G[fontgroup]); count:SetPoint("CENTER", aura, "BOTTOMRIGHT", -3, 3); local icon = aura:CreateTexture(nil, "BACKGROUND"); @@ -357,7 +335,7 @@ end local PostCreateAuraBars = function(self) self.spelltime = self:CreateFontString(nil, 'ARTWORK') - self.spelltime:FontManager("unitauramedium") + self.spelltime:SetFontObject(SVUI_Font_UnitAura); self.spelltime:SetTextColor(1 ,1, 1) self.spelltime:SetShadowOffset(1, -1) self.spelltime:SetShadowColor(0, 0, 0) @@ -366,7 +344,7 @@ local PostCreateAuraBars = function(self) self.spelltime:SetPoint'RIGHT' self.spellname = self:CreateFontString(nil, 'ARTWORK') - self.spellname:FontManager("unitaurabar") + self.spellname:SetFontObject(SVUI_Font_UnitAura_Bar); self.spellname:SetTextColor(1, 1, 1) self.spellname:SetShadowOffset(1, -1) self.spellname:SetShadowColor(0, 0, 0) @@ -638,17 +616,6 @@ function MOD:CreateDebuffs(frame, unit) return aura end -function MOD:CreateAuraWatch(frame, unit) - local aWatch = CreateFrame("Frame", nil, frame) - aWatch:SetFrameLevel(frame:GetFrameLevel() + 25) - aWatch:SetAllPoints(frame) - aWatch.presentAlpha = 1; - aWatch.missingAlpha = 0; - aWatch.strictMatching = true; - aWatch.icons = {} - return aWatch -end - function MOD:CreateAuraBarHeader(frame, unit) local auraBarParent = CreateFrame("Frame", nil, frame) auraBarParent.parent = frame; @@ -667,191 +634,37 @@ function MOD:CreateAuraBarHeader(frame, unit) end --[[ ########################################################## -UPDATE +AURA WATCH ########################################################## ]]-- -function MOD:UpdateAuraWatch(frame, key, override) - local AW = frame.AuraWatch - if not SV.db.SVUnit[key] then return end - local db = SV.db.SVUnit[key].auraWatch - if not db then return end - - if not db.enable then - AW:Hide() - return +local PreForcedUpdate = function(self) + local unit = self.___key; + if not SV.db.SVUnit[unit] then return end + local db = SV.db.SVUnit[unit].auraWatch; + if not db then return end; + if(unit == "pet" or unit == "raidpet") then + self.watchFilter = SV.filters.PetBuffWatch else - AW:Show() + self.watchFilter = SV.filters.BuffWatch end + self.watchEnabled = db.enable; + self.watchSize = db.size; +end - local WATCH_CACHE - - if key == "pet" and not override then - local petBW = SV.filters["PetBuffWatch"] - if(petBW) then - WATCH_CACHE = {} - for _, buff in pairs(petBW)do - if(buff.style == "text") then - buff.style = "NONE" - end - tinsert(WATCH_CACHE, buff) - end - end - else - local unitBW = SV.filters["BuffWatch"] - if(unitBW) then - WATCH_CACHE = {} - for _, buff in pairs(unitBW)do - if(buff.style == "text") then - buff.style = "NONE" - end - tinsert(WATCH_CACHE, buff) - end - end - end - - if WATCH_CACHE then - if AW.icons then - for i = 1, #AW.icons do - local iconTest = false; - for j = 1, #WATCH_CACHE do - if(#WATCH_CACHE[j].id and #WATCH_CACHE[j].id == AW.icons[i]) then - iconTest = true; - break - end - end - if not iconTest then - AW.icons[i]:Hide() - AW.icons[i] = nil - end - end - end - - for i = 1, #WATCH_CACHE do - if WATCH_CACHE[i].id then - local buffName, _, buffTexture = GetSpellInfo(WATCH_CACHE[i].id) - if buffName then - local watchedAura; - if not AW.icons[WATCH_CACHE[i].id]then - watchedAura = CreateFrame("Frame", nil, AW) - else - watchedAura = AW.icons[WATCH_CACHE[i].id] - end - watchedAura.name = buffName; - watchedAura.image = buffTexture; - watchedAura.spellID = WATCH_CACHE[i].id; - watchedAura.anyUnit = WATCH_CACHE[i].anyUnit; - watchedAura.style = WATCH_CACHE[i].style; - watchedAura.onlyShowMissing = WATCH_CACHE[i].onlyShowMissing; - watchedAura.presentAlpha = watchedAura.onlyShowMissing and 0 or 1; - watchedAura.missingAlpha = watchedAura.onlyShowMissing and 1 or 0; - watchedAura.textThreshold = WATCH_CACHE[i].textThreshold or -1; - watchedAura.displayText = WATCH_CACHE[i].displayText; - watchedAura:SetWidthToScale(db.size) - watchedAura:SetHeightToScale(db.size) - watchedAura:ClearAllPoints() - - watchedAura:SetPoint(WATCH_CACHE[i].point, frame.Health, WATCH_CACHE[i].point, WATCH_CACHE[i].xOffset, WATCH_CACHE[i].yOffset) - if not watchedAura.icon then - watchedAura.icon = watchedAura:CreateTexture(nil, "BORDER") - watchedAura.icon:SetAllPoints(watchedAura) - end - if not watchedAura.text then - local awText = CreateFrame("Frame", nil, watchedAura) - awText:SetFrameLevel(watchedAura:GetFrameLevel() + 50) - watchedAura.text = awText:CreateFontString(nil, "BORDER") - end - if not watchedAura.border then - watchedAura.border = watchedAura:CreateTexture(nil, "BACKGROUND") - watchedAura.border:SetPointToScale("TOPLEFT", -1, 1) - watchedAura.border:SetPointToScale("BOTTOMRIGHT", 1, -1) - watchedAura.border:SetTexture([[Interface\BUTTONS\WHITE8X8]]) - watchedAura.border:SetVertexColor(0, 0, 0) - end - if not watchedAura.cd then - watchedAura.cd = CreateFrame("Cooldown", nil, watchedAura, "CooldownFrameTemplate") - watchedAura.cd:SetAllPoints(watchedAura) - watchedAura.cd:SetReverse(true) - watchedAura.cd:SetHideCountdownNumbers(true) - watchedAura.cd:SetFrameLevel(watchedAura:GetFrameLevel()) - end - if watchedAura.style == "coloredIcon"then - watchedAura.icon:SetTexture([[Interface\BUTTONS\WHITE8X8]]) - if WATCH_CACHE[i]["color"]then - watchedAura.icon:SetVertexColor(WATCH_CACHE[i]["color"].r, WATCH_CACHE[i]["color"].g, WATCH_CACHE[i]["color"].b) - else - watchedAura.icon:SetVertexColor(0.8, 0.8, 0.8) - end - watchedAura.icon:Show() - watchedAura.border:Show() - watchedAura.cd:SetAlpha(1) - elseif watchedAura.style == "texturedIcon" then - watchedAura.icon:SetVertexColor(1, 1, 1) - watchedAura.icon:SetTexCoord(.18, .82, .18, .82) - watchedAura.icon:SetTexture(watchedAura.image) - watchedAura.icon:Show() - watchedAura.border:Show() - watchedAura.cd:SetAlpha(1) - else - watchedAura.border:Hide() - watchedAura.icon:Hide() - watchedAura.cd:SetAlpha(0) - end - if watchedAura.displayText then - watchedAura.text:Show() - local r, g, b = 1, 1, 1; - if WATCH_CACHE[i].textColor then - r, g, b = WATCH_CACHE[i].textColor.r, WATCH_CACHE[i].textColor.g, WATCH_CACHE[i].textColor.b - end - watchedAura.text:SetTextColor(r, g, b) - else - watchedAura.text:Hide() - end - if not watchedAura.count then - watchedAura.count = watchedAura:CreateFontString(nil, "OVERLAY") - end - watchedAura.count:ClearAllPoints() - if watchedAura.displayText then - local anchor, relative, x, y = unpack(textCounterOffsets[WATCH_CACHE[i].point]) - watchedAura.count:SetPoint(anchor, watchedAura.text, relative, x, y) - else - watchedAura.count:SetPoint("CENTER", unpack(counterOffsets[WATCH_CACHE[i].point])) - end - - watchedAura.count:FontManager("unitaurasmall"); - watchedAura.text:FontManager("unitaurasmall"); - - watchedAura.text:ClearAllPoints(); - - watchedAura.text:SetPoint(WATCH_CACHE[i].point, watchedAura, WATCH_CACHE[i].point) - if WATCH_CACHE[i].enabled then - AW.icons[WATCH_CACHE[i].id] = watchedAura; - if AW.watched then - AW.watched[WATCH_CACHE[i].id] = watchedAura - end - else - AW.icons[WATCH_CACHE[i].id] = nil; - if AW.watched then - AW.watched[WATCH_CACHE[i].id] = nil - end - watchedAura:Hide() - watchedAura = nil - end - end - end - end - - WATCH_CACHE = nil +function MOD:CreateAuraWatch(frame, unit) + local watch = CreateFrame("Frame", nil, frame) + watch:SetFrameLevel(frame:GetFrameLevel() + 25) + watch:SetAllPoints(frame); + watch.___key = unit; + watch.watchEnabled = true; + watch.presentAlpha = 1; + watch.missingAlpha = 0; + if(unit == "pet" or unit == "raidpet") then + watch.watchFilter = SV.filters.PetBuffWatch + else + watch.watchFilter = SV.filters.BuffWatch end - if frame.AuraWatch.Update then - frame.AuraWatch.Update(frame) - end -end -function MOD:UpdateGroupAuraWatch(header, override) - assert(self.Headers[header], "Invalid group specified.") - local group = self.Headers[header] - for i = 1, group:GetNumChildren() do - local frame = select(i, group:GetChildren()) - if frame and frame.Health then self:UpdateAuraWatch(frame, header, override) end - end -end \ No newline at end of file + watch.PreForcedUpdate = PreForcedUpdate + return watch +end \ No newline at end of file diff --git a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua index ad6b2c1..c751ac9 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua @@ -548,9 +548,9 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss, ha local hadouken = CreateFrame("Frame", nil, castbar) if ryu then - castbar.Time:FontManager("aura") + castbar.Time:SetFontObject(SVUI_Font_Aura) castbar.Time:SetTextColor(1, 1, 1) - castbar.Text:FontManager("caps") + castbar.Text:SetFontObject(SVUI_Font_Caps) castbar.Text:SetTextColor(1, 1, 1, 0.75) castbar:SetStatusBarTexture(SV.Media.bar.lazer) @@ -646,11 +646,11 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss, ha castbar.Text:SetAllPoints(castbar) else - castbar.Time:FontManager("aura", "RIGHT") + castbar.Time:SetFontObject(SVUI_Font_Aura) castbar.Time:SetTextColor(1, 1, 1, 0.9) castbar.Time:SetPoint("RIGHT", castbar, "LEFT", -1, 0) - castbar.Text:FontManager("caps") + castbar.Text:SetFontObject(SVUI_Font_Caps) castbar.Text:SetTextColor(1, 1, 1, 0.9) castbar.Text:SetAllPoints(castbar) diff --git a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua index 42a11a7..a5d0b08 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua @@ -67,20 +67,20 @@ LOCALS ########################################################## ]]-- local FontMapping = { - ["player"] = "unitprimary", - ["target"] = "unitprimary", - ["targettarget"] = "unitsecondary", - ["pet"] = "unitprimary", - ["pettarget"] = "unitsecondary", - ["focus"] = "unitprimary", - ["focustarget"] = "unitsecondary", - ["boss"] = "unitprimary", - ["arena"] = "unitprimary", - ["party"] = "unitsecondary", - ["raid"] = "unitsecondary", - ["raidpet"] = "unitsecondary", - ["tank"] = "unitsecondary", - ["assist"] = "unitsecondary", + ["player"] = "SVUI_Font_Unit", + ["target"] = "SVUI_Font_Unit", + ["targettarget"] = "SVUI_Font_Unit_Small", + ["pet"] = "SVUI_Font_Unit", + ["pettarget"] = "SVUI_Font_Unit_Small", + ["focus"] = "SVUI_Font_Unit", + ["focustarget"] = "SVUI_Font_Unit_Small", + ["boss"] = "SVUI_Font_Unit", + ["arena"] = "SVUI_Font_Unit", + ["party"] = "SVUI_Font_Unit_Small", + ["raid"] = "SVUI_Font_Unit_Small", + ["raidpet"] = "SVUI_Font_Unit_Small", + ["tank"] = "SVUI_Font_Unit_Small", + ["assist"] = "SVUI_Font_Unit_Small", }; local _hook_ActionPanel_OnSizeChanged = function(self) @@ -540,7 +540,7 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText) local fontgroup = FontMapping[unit] if(not noHealthText) then frame.TextGrip.Health = frame.TextGrip:CreateFontString(nil, "OVERLAY") - frame.TextGrip.Health:FontManager(fontgroup) + frame.TextGrip.Health:SetFontObject(_G[fontgroup]) offset = reverse and 2 or -2; direction = reverse and "LEFT" or "RIGHT"; frame.TextGrip.Health:SetPointToScale(direction, frame.TextGrip, direction, offset, 0) @@ -548,7 +548,7 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText) if(not noPowerText) then frame.TextGrip.Power = frame.TextGrip:CreateFontString(nil, "OVERLAY") - frame.TextGrip.Power:FontManager(fontgroup) + frame.TextGrip.Power:SetFontObject(_G[fontgroup]) offset = reverse and -2 or 2; direction = reverse and "RIGHT" or "LEFT"; frame.TextGrip.Power:SetPointToScale(direction, frame.TextGrip, direction, offset, 0) @@ -556,7 +556,7 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText) if(not noMiscText) then frame.TextGrip.Misc = frame.TextGrip:CreateFontString(nil, "OVERLAY") - frame.TextGrip.Misc:FontManager(fontgroup) + frame.TextGrip.Misc:SetFontObject(_G[fontgroup]) frame.TextGrip.Misc:SetPointToScale("CENTER", frame, "CENTER", 0, 0) end @@ -705,7 +705,7 @@ function MOD:CreateAltPowerBar(frame) altPower.text = altPower:CreateFontString(nil, "OVERLAY") altPower.text:SetPoint("CENTER") altPower.text:SetJustifyH("CENTER") - altPower.text:FontManager("unitprimary") + altPower.text:SetFontObject(SVUI_Font_Unit) altPower.PostUpdate = PostUpdateAltPower; return altPower end diff --git a/Interface/AddOns/SVUI/packages/unit/elements/misc.lua b/Interface/AddOns/SVUI/packages/unit/elements/misc.lua index df5bb18..dea2c2e 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/misc.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/misc.lua @@ -101,11 +101,11 @@ function MOD:CreateRaidDebuffs(frame) raidDebuff.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9) raidDebuff.icon:SetAllPointsIn(raidDebuff) raidDebuff.count = raidDebuff:CreateFontString(nil, "OVERLAY") - raidDebuff.count:FontManager("aura") + raidDebuff.count:SetFontObject(SVUI_Font_Aura) raidDebuff.count:SetPoint("BOTTOMRIGHT", 0, 2) raidDebuff.count:SetTextColor(1, .9, 0) raidDebuff.time = raidDebuff:CreateFontString(nil, "OVERLAY") - raidDebuff.time:FontManager("aura") + raidDebuff.time:SetFontObject(SVUI_Font_Aura) raidDebuff.time:SetPoint("CENTER") raidDebuff.time:SetTextColor(1, .9, 0) raidDebuff:SetParent(frame.TextGrip) @@ -363,7 +363,7 @@ function MOD:CreateExperienceRepBar(frame) xp.Rested:SetStatusBarColor(1, 0, 1, 0.6) xp.Value = xp:CreateFontString(nil, "TOOLTIP") xp.Value:SetAllPoints(xp) - xp.Value:FontManager("default") + xp.Value:SetFontObject(SVUI_Font_Default) xp.Value:SetTextColor(0.2, 0.75, 1) xp.Value:SetShadowColor(0, 0, 0, 0) xp.Value:SetShadowOffset(0, 0) @@ -387,7 +387,7 @@ function MOD:CreateExperienceRepBar(frame) rep.Tooltip = true; rep.Value = rep:CreateFontString(nil, "TOOLTIP") rep.Value:SetAllPoints(rep) - rep.Value:FontManager("default") + rep.Value:SetFontObject(SVUI_Font_Default) rep.Value:SetTextColor(0.1, 1, 0.2) rep.Value:SetShadowColor(0, 0, 0, 0) rep.Value:SetShadowOffset(0, 0) @@ -683,7 +683,8 @@ function MOD:CreateResolveBar(frame) bar:SetMinMaxValues(0, 100) bar.text = bar:CreateFontString(nil, "OVERLAY") bar.text:SetPoint("LEFT") - bar.text:FontManager("pixel", "LEFT") + bar.text:SetFontObject(SVUI_Font_Pixel) + bar.text:SetJustifyH('LEFT') bar.text:SetTextColor(0.8, 0.42, 0.09) bar:Hide() resolve.bar = bar; diff --git a/Interface/AddOns/SVUI/packages/unit/frames.lua b/Interface/AddOns/SVUI/packages/unit/frames.lua index b01a147..e669757 100644 --- a/Interface/AddOns/SVUI/packages/unit/frames.lua +++ b/Interface/AddOns/SVUI/packages/unit/frames.lua @@ -259,7 +259,7 @@ CONSTRUCTORS["player"] = function(self, unit) self.RaidIcon = MOD:CreateRaidIcon(self) MOD:CreatePlayerIndicators(self) self.PvPText = self.TextGrip:CreateFontString(nil,'OVERLAY') - self.PvPText:FontManager("dialog") + self.PvPText:SetFontObject(SpellFont_Small) self.Afflicted = MOD:CreateAfflicted(self) self.HealPrediction = MOD:CreateHealPrediction(self, true) self.AuraBars = MOD:CreateAuraBarHeader(self, key) @@ -418,7 +418,6 @@ local UpdatePetFrame = function(self) self:SetParent(SVUI_Player) end end - MOD:UpdateAuraWatch(self, "pet") self:UpdateAllElements() end @@ -515,7 +514,6 @@ local UpdateFocusFrame = function(self) self.XRay:Hide() end - MOD:UpdateAuraWatch(self, "focus") self:UpdateAllElements() end @@ -543,7 +541,7 @@ CONSTRUCTORS["focus"] = function(self, unit) self.Buffs = MOD:CreateBuffs(self, key) self.Debuffs = MOD:CreateDebuffs(self, key) self.AuraBars = MOD:CreateAuraBarHeader(self, key) - + self.AuraWatch = MOD:CreateAuraWatch(self, key) self.RaidIcon = MOD:CreateRaidIcon(self) self.Range = { insideAlpha = 1, outsideAlpha = 1 } self.XRay = MOD:CreateXRay_Closer(self) diff --git a/Interface/AddOns/SVUI/packages/unit/groups.lua b/Interface/AddOns/SVUI/packages/unit/groups.lua index 93f7869..6ade93e 100644 --- a/Interface/AddOns/SVUI/packages/unit/groups.lua +++ b/Interface/AddOns/SVUI/packages/unit/groups.lua @@ -286,7 +286,6 @@ local PartyUnitUpdate = function(self) self:SetSizeToScale(UNIT_WIDTH, UNIT_HEIGHT) end MOD:RefreshUnitLayout(self, "party") - MOD:UpdateAuraWatch(self, "party") end self:EnableElement('ReadyCheck') self:UpdateAllElements() @@ -423,7 +422,6 @@ local RaidUnitUpdate = function(self) end MOD.RefreshUnitMedia(self, token) - MOD:UpdateAuraWatch(self, token) MOD:RefreshUnitLayout(self, token) if(token ~= "raidpet") then diff --git a/Interface/AddOns/SVUI/packages/unit/resources/druid.lua b/Interface/AddOns/SVUI/packages/unit/resources/druid.lua index c5f822b..bf727e5 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/druid.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/druid.lua @@ -300,7 +300,7 @@ function MOD:CreateClassBar(playerFrame) mana.bg.multiplier = 0.3; mana.Text = mana.ManaBar:CreateFontString(nil, "OVERLAY") mana.Text:SetAllPoints(mana.ManaBar) - mana.Text:FontManager("unitprimary") + mana.Text:SetFontObject(SVUI_Font_Unit) bar.Cat = cat; bar.Chicken = chicken; diff --git a/Interface/AddOns/SVUI/packages/unit/resources/mage.lua b/Interface/AddOns/SVUI/packages/unit/resources/mage.lua index 7f9310d..ee89507 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/mage.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/mage.lua @@ -189,7 +189,8 @@ function MOD:CreateClassBar(playerFrame) ignite:SetStatusBarColor(1, 0.2, 0, 0.75) ignite.text = ignite:CreateFontString(nil, "OVERLAY") ignite.text:SetPoint("LEFT") - ignite.text:FontManager("unitsecondary", "LEFT") + ignite.text:SetFontObject(SVUI_Font_Unit_Small) + ignite.text:SetJustifyH('LEFT') ignite.text:SetTextColor(1,1,0) ignite.text:SetText("0") bgFrame.Bar = ignite; diff --git a/Interface/AddOns/SVUI/packages/unit/resources/priest.lua b/Interface/AddOns/SVUI/packages/unit/resources/priest.lua index 59bab61..d3e48f5 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/priest.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/priest.lua @@ -114,7 +114,6 @@ function MOD:CreateClassBar(playerFrame) bar[i].bg = bar[i]:CreateTexture(nil, "BACKGROUND") bar[i].bg:SetAllPoints(bar[i]) bar[i].bg:SetTexture(ORB_BG) - bar[i].bg:SetTexCoord(0,0.5,0,0.5) local spec = GetSpecialization() local effectName = specEffects[spec] diff --git a/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua b/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua index 35a5005..fe14520 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua @@ -59,8 +59,8 @@ local ICON_COORDS = { {0.5,1,0.5,1}, }; local cpointColor = { - {0.69,0.31,0.31}, - {0.69,0.31,0.31}, + {0.2,1,0}, + {0.2,1,0}, {0.65,0.63,0.35}, {0.65,0.63,0.35}, {0.33,0.59,0.33} @@ -91,14 +91,19 @@ local Reposition = function(self) local points = bar.Combo; local max = MAX_COMBO_POINTS; - local size = height - 4 + local size = height + 4 points:ClearAllPoints() points:SetAllPoints(bar) for i = 1, max do points[i]:ClearAllPoints() points[i]:SetSizeToScale(size, size) - points[i].Icon:ClearAllPoints() - points[i].Icon:SetAllPoints(points[i]) + --points[i].Icon:ClearAllPoints() + --points[i].Icon:SetAllPoints(points[i]) + + points[i].Anticipation:ClearAllPoints() + points[i].Anticipation:SetSizeToScale(size + 12, size + 12) + points[i].Anticipation:SetPoint("CENTER", points[i]) + if i==1 then points[i]:SetPoint("LEFT", points) else @@ -145,24 +150,38 @@ function MOD:CreateClassBar(playerFrame) bar.Combo = CreateFrame("Frame",nil,bar) for i = 1, max do - local cpoint = CreateFrame('Frame',nil,bar.Combo) + local cpoint = CreateFrame('Frame', nil, bar.Combo) cpoint:SetSizeToScale(size,size) - local icon = cpoint:CreateTexture(nil,"OVERLAY",nil,1) - icon:SetSizeToScale(size,size) - icon:SetPoint("CENTER") - icon:SetBlendMode("BLEND") - icon:SetTexture(ICON_FILE) + SV.SpecialFX:SetFXFrame(cpoint, "default") + + -- local icon = cpoint:CreateTexture(nil,"OVERLAY",nil,1) + -- icon:SetSizeToScale(size,size) + -- icon:SetPoint("CENTER") + -- icon:SetBlendMode("BLEND") + -- icon:SetTexture(ICON_FILE) + + -- coords = ICON_COORDS[random(2,4)] + -- icon:SetTexCoord(coords[1],coords[2],coords[3],coords[4]) + -- cpoint.Icon = icon + + local anti = CreateFrame('Frame',nil,bar.Combo) + anti:SetSizeToScale(size + 12,size + 12) + anti:SetPoint("CENTER", cpoint, "CENTER") - coords = ICON_COORDS[random(2,4)] - icon:SetTexCoord(coords[1],coords[2],coords[3],coords[4]) - cpoint.Icon = icon + local antiicon = anti:CreateTexture(nil,"BACKGROUND",nil,-1) + antiicon:SetAllPoints() + antiicon:SetBlendMode("BLEND") + antiicon:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Template\Alert\ALERT-ICON-BORDER]]) + antiicon:SetVertexColor(1,1,0,0.5) + anti:Hide() + cpoint.Anticipation = anti bar.Combo[i] = cpoint end - bar.PointShow = ShowPoint; - bar.PointHide = HidePoint; + --bar.PointShow = ShowPoint; + --bar.PointHide = HidePoint; local guile = CreateFrame('Frame',nil,bar) guile:SetFrameStrata("DIALOG") diff --git a/Interface/AddOns/SVUI/system/core.lua b/Interface/AddOns/SVUI/system/core.lua index 5680946..c64a1f7 100644 --- a/Interface/AddOns/SVUI/system/core.lua +++ b/Interface/AddOns/SVUI/system/core.lua @@ -278,7 +278,7 @@ SVUI.Options = { name = "|cff339fffConfig-O-Matic|r", args = { plugins = { - order = -2, + order = 9999, type = "group", name = "Plugins", childGroups = "tab", @@ -550,13 +550,14 @@ function SVUI:Initialize() self:UI_SCALE_CHANGED("PLAYER_LOGIN") self:PlayerInfoUpdate(); - self:VersionCheck() + self:VersionCheck(); self:RefreshAllSystemMedia(); - hooksecurefunc("StaticPopup_Show", self.StaticPopup_Show) + hooksecurefunc("StaticPopup_Show", self.StaticPopup_Show); SVLib:RefreshModule("SVMap"); - self.Dock:UpdateAllDocks() + self.Dock:UpdateAllDocks(); + self:SanitizeFilters(); collectgarbage("collect") diff --git a/Interface/AddOns/SVUI/system/media.lua b/Interface/AddOns/SVUI/system/media.lua index 3e254c4..1fc557e 100644 --- a/Interface/AddOns/SVUI/system/media.lua +++ b/Interface/AddOns/SVUI/system/media.lua @@ -289,7 +289,11 @@ function SV:HexColor(arg1,arg2,arg3) local hexString = ("%02x%02x%02x"):format(r,g,b) return hexString end - +--[[ +########################################################## +ALTERING GLOBAL FONTS +########################################################## +]]-- local function UpdateChatFontSizes() _G.CHAT_FONT_HEIGHTS[1] = 8 _G.CHAT_FONT_HEIGHTS[2] = 9 @@ -308,126 +312,222 @@ end hooksecurefunc("FCF_ResetChatWindows", UpdateChatFontSizes) -local function SetFont(globalName, template, sizeMod, styleOverride, cR, cG, cB) - if(not template) then return end - if(not _G[globalName]) then return end - styleOverride = styleOverride or "NONE" - SV.SetToFontManager(_G[globalName], template, "SYSTEM", sizeMod, styleOverride, cR, cG, cB); -end - -function SV:SetGlobalFonts() - local fontsize = self.db.font.default.size; - STANDARD_TEXT_FONT = LSM:Fetch("font", self.db.font.default.file); - UNIT_NAME_FONT = LSM:Fetch("font", self.db.font.caps.file); - DAMAGE_TEXT_FONT = LSM:Fetch("font", self.db.font.combat.file); +local function ChangeGlobalFonts() + local fontsize = SV.db.font.default.size; + STANDARD_TEXT_FONT = LSM:Fetch("font", SV.db.font.default.file); + UNIT_NAME_FONT = LSM:Fetch("font", SV.db.font.caps.file); + DAMAGE_TEXT_FONT = LSM:Fetch("font", SV.db.font.combat.file); NAMEPLATE_FONT = STANDARD_TEXT_FONT UpdateChatFontSizes() UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = fontsize -end +end +--[[ +########################################################## +FONT TEMPLATING METHODS +########################################################## +]]-- +local ManagedFonts = {}; + +function SV:FontManager(obj, template, arg, sizeMod, styleOverride, colorR, colorG, colorB) + if not obj then return end + template = template or "default"; + local info = self.db.font[template]; + if(not info) then return end -function SV:SetSystemFonts() - --SetFont("GameFontNormal", "default", fontsize - 2) - SetFont("GameFontWhite", "default", 0, 'OUTLINE', 1, 1, 1) - SetFont("GameFontWhiteSmall", "default", 0, 'NONE', 1, 1, 1) - SetFont("GameFontBlack", "default", 0, 'NONE', 0, 0, 0) - SetFont("GameFontBlackSmall", "default", -1, 'NONE', 0, 0, 0) - SetFont("GameFontNormalMed2", "default", 2) - --SetFont("GameFontNormalMed1", "default", 0) - SetFont("GameFontNormalLarge", "default") - SetFont("GameFontHighlightSmall", "default") - SetFont("GameFontHighlight", "default", 1) - SetFont("GameFontHighlightLeft", "default", 1) - SetFont("GameFontHighlightRight", "default", 1) - SetFont("GameFontHighlightLarge2", "default", 2) - SetFont("SystemFont_Med1", "default") - SetFont("SystemFont_Med3", "default") - SetFont("SystemFont_Outline_Small", "default", 0, "OUTLINE") - SetFont("FriendsFont_Normal", "default") - SetFont("FriendsFont_Small", "default") - SetFont("FriendsFont_Large", "default", 3) - SetFont("FriendsFont_UserText", "default", -1) - SetFont("SystemFont_Small", "default", -1) - SetFont("GameFontNormalSmall", "default", -1) - SetFont("NumberFont_Shadow_Med", "default", -1, "OUTLINE") - SetFont("NumberFont_Shadow_Small", "default", -1, "OUTLINE") - SetFont("SystemFont_Tiny", "default", -1) - SetFont("SystemFont_Shadow_Med1", "default") - SetFont("SystemFont_Shadow_Med1_Outline", "default") - SetFont("SystemFont_Shadow_Med2", "default") - SetFont("SystemFont_Shadow_Med3", "default") - SetFont("SystemFont_Large", "default") - SetFont("SystemFont_Huge1", "default", 4) - SetFont("SystemFont_Huge1_Outline", "default", 4) - SetFont("SystemFont_Shadow_Small", "default") - SetFont("SystemFont_Shadow_Large", "default", 3) - - SetFont("QuestFont", "dialog"); - SetFont("QuestFont_Enormous", "zone", 15, "OUTLINE"); - SetFont("SpellFont_Small", "dialog", 0, "OUTLINE", 1, 1, 1); - SetFont("SystemFont_Shadow_Outline_Huge2", "dialog", 14, "OUTLINE"); - - SetFont("GameFont_Gigantic", "alert", 0, "OUTLINE", 32) - SetFont("SystemFont_Shadow_Huge1", "alert", 0, "OUTLINE") - --SetFont("SystemFont_OutlineThick_Huge2", "alert", 0, "THICKOUTLINE") - - SetFont("SystemFont_Shadow_Huge3", "combat", 0, "OUTLINE") - SetFont("CombatTextFont", "combat", 20, "OUTLINE") - - SetFont("SystemFont_OutlineThick_Huge4", "zone", 6, "OUTLINE"); - SetFont("SystemFont_OutlineThick_WTF", "zone", 9, "OUTLINE"); - SetFont("SystemFont_OutlineThick_WTF2", "zone", 15, "OUTLINE"); - SetFont("QuestFont_Large", "zone", -3); - SetFont("QuestFont_Huge", "zone", -2); - SetFont("QuestFont_Super_Huge", "zone"); - SetFont("SystemFont_OutlineThick_Huge2", "zone", 2, "OUTLINE"); - - SetFont("Game18Font", "number", 1) - SetFont("Game24Font", "number", 3) - SetFont("Game27Font", "number", 5) - SetFont("Game30Font", "number_big") - SetFont("Game32Font", "number_big", 1) - - SetFont("NumberFont_OutlineThick_Mono_Small", "number", 0, "OUTLINE") - SetFont("NumberFont_Outline_Huge", "number_big", 0, "OUTLINE") - SetFont("NumberFont_Outline_Large", "number_big", 0, "OUTLINE") - SetFont("NumberFont_Outline_Med", "number", 1, "OUTLINE") - SetFont("NumberFontNormal", "number", 0, "OUTLINE") - SetFont("NumberFont_GameNormal", "number", 0, "OUTLINE") - SetFont("NumberFontNormalRight", "number", 0, "OUTLINE") - SetFont("NumberFontNormalRightRed", "number", 0, "OUTLINE") - SetFont("NumberFontNormalRightYellow", "number", 0, "OUTLINE") - - SetFont("GameTooltipHeader", "tipheader") - SetFont("Tooltip_Med", "tipdialog") - SetFont("Tooltip_Small", "tipdialog", -1) + local isSystemFont = false; + if(arg and (arg == 'SYSTEM')) then + isSystemFont = true; + end + + local file = LSM:Fetch("font", info.file); + local size = info.size; + local outline = info.outline; + + if(styleOverride) then + obj.___fontOutline = styleOverride; + outline = styleOverride; + end + + obj.___fontSizeMod = sizeMod or 0; + obj:SetFont(file, (size + obj.___fontSizeMod), outline) + + if(not isSystemFont) then + if(info.outline and info.outline ~= "NONE") then + obj:SetShadowColor(0, 0, 0, 0) + else + obj:SetShadowColor(0, 0, 0, 0.2) + end + obj:SetShadowOffset(1, -1) + obj:SetJustifyH(arg or "CENTER") + obj:SetJustifyV("MIDDLE") + end + + if(colorR and colorG and colorB) then + obj:SetTextColor(colorR, colorG, colorB); + end + + if(not ManagedFonts[template]) then + ManagedFonts[template] = {} + end + + ManagedFonts[template][obj] = true end -function SV:MediaUpdate() - self.Media.color.default = self.db.media.colors.default - self.Media.color.special = self.db.media.colors.special - self.Media.color.specialdark = self.db.media.colors.specialdark - self.Media.bg.pattern = LSM:Fetch("background", self.db.media.textures.pattern) - self.Media.bg.comic = LSM:Fetch("background", self.db.media.textures.comic) - self.Media.bg.unitlarge = LSM:Fetch("background", self.db.media.textures.unitlarge) - self.Media.bg.unitsmall = LSM:Fetch("background", self.db.media.textures.unitsmall) +local function _alterFont(globalName, template, sizeMod, styleOverride, cR, cG, cB) + if(not template) then return end + if(not _G[globalName]) then return end + styleOverride = styleOverride or "NONE" + SV:FontManager(_G[globalName], template, "SYSTEM", sizeMod, styleOverride, cR, cG, cB); +end - local cColor1 = self.Media.color.special - local cColor2 = self.Media.color.default - local r1,g1,b1 = cColor1[1], cColor1[2], cColor1[3] - local r2,g2,b2 = cColor2[1], cColor2[2], cColor2[3] +local function _defineFont(globalName, template) + if(not template) then return end + if(not _G[globalName]) then return end + SV:FontManager(_G[globalName], template); +end - self.Media.gradient.special = {"VERTICAL",r1,g1,b1,r2,g2,b2} +local function ChangeSystemFonts() + --_alterFont("GameFontNormal", "default", fontsize - 2) + _alterFont("GameFontWhite", "default", 0, 'OUTLINE', 1, 1, 1) + _alterFont("GameFontWhiteSmall", "default", 0, 'NONE', 1, 1, 1) + _alterFont("GameFontBlack", "default", 0, 'NONE', 0, 0, 0) + _alterFont("GameFontBlackSmall", "default", -1, 'NONE', 0, 0, 0) + _alterFont("GameFontNormalMed2", "default", 2) + --_alterFont("GameFontNormalMed1", "default", 0) + _alterFont("GameFontNormalLarge", "default") + _alterFont("GameFontNormalLargeOutline", "default") + _alterFont("GameFontHighlightSmall", "default") + _alterFont("GameFontHighlight", "default", 1) + _alterFont("GameFontHighlightLeft", "default", 1) + _alterFont("GameFontHighlightRight", "default", 1) + _alterFont("GameFontHighlightLarge2", "default", 2) + _alterFont("SystemFont_Med1", "default") + _alterFont("SystemFont_Med3", "default") + _alterFont("SystemFont_Outline_Small", "default", 0, "OUTLINE") + _alterFont("FriendsFont_Normal", "default") + _alterFont("FriendsFont_Small", "default") + _alterFont("FriendsFont_Large", "default", 3) + _alterFont("FriendsFont_UserText", "default", -1) + _alterFont("SystemFont_Small", "default", -1) + _alterFont("GameFontNormalSmall", "default", -1) + _alterFont("NumberFont_Shadow_Med", "default", -1, "OUTLINE") + _alterFont("NumberFont_Shadow_Small", "default", -1, "OUTLINE") + _alterFont("SystemFont_Tiny", "default", -1) + _alterFont("SystemFont_Shadow_Med1", "default") + _alterFont("SystemFont_Shadow_Med1_Outline", "default") + _alterFont("SystemFont_Shadow_Med2", "default") + _alterFont("SystemFont_Shadow_Med3", "default") + _alterFont("SystemFont_Large", "default") + _alterFont("SystemFont_Huge1", "default", 4) + _alterFont("SystemFont_Huge1_Outline", "default", 4) + _alterFont("SystemFont_Shadow_Small", "default") + _alterFont("SystemFont_Shadow_Large", "default", 3) + _alterFont("QuestFont", "dialog"); + _alterFont("QuestFont_Enormous", "zone", 15, "OUTLINE"); + _alterFont("SpellFont_Small", "dialog", 0, "OUTLINE", 1, 1, 1); + _alterFont("SystemFont_Shadow_Outline_Large", "title", 0, "OUTLINE"); + _alterFont("SystemFont_Shadow_Outline_Huge2", "title", 8, "OUTLINE"); + _alterFont("GameFont_Gigantic", "alert", 0, "OUTLINE", 32) + _alterFont("SystemFont_Shadow_Huge1", "alert", 0, "OUTLINE") + --_alterFont("SystemFont_OutlineThick_Huge2", "alert", 0, "THICKOUTLINE") + _alterFont("SystemFont_Shadow_Huge3", "combat", 0, "OUTLINE") + _alterFont("CombatTextFont", "combat", 20, "OUTLINE") + _alterFont("SystemFont_OutlineThick_Huge4", "zone", 6, "OUTLINE"); + _alterFont("SystemFont_OutlineThick_WTF", "zone", 9, "OUTLINE"); + _alterFont("SystemFont_OutlineThick_WTF2", "zone", 15, "OUTLINE"); + _alterFont("QuestFont_Large", "zone", -3); + _alterFont("QuestFont_Huge", "zone", -2); + _alterFont("QuestFont_Super_Huge", "zone"); + _alterFont("SystemFont_OutlineThick_Huge2", "zone", 2, "OUTLINE"); + _alterFont("Game18Font", "number", 1) + _alterFont("Game24Font", "number", 3) + _alterFont("Game27Font", "number", 5) + _alterFont("Game30Font", "number_big") + _alterFont("Game32Font", "number_big", 1) + _alterFont("NumberFont_OutlineThick_Mono_Small", "number", 0, "OUTLINE") + _alterFont("NumberFont_Outline_Huge", "number_big", 0, "OUTLINE") + _alterFont("NumberFont_Outline_Large", "number", 3, "OUTLINE") + _alterFont("NumberFont_Outline_Med", "number", 1, "OUTLINE") + _alterFont("NumberFontNormal", "number", 0, "OUTLINE") + _alterFont("NumberFont_GameNormal", "number", 0, "OUTLINE") + _alterFont("NumberFontNormalRight", "number", 0, "OUTLINE") + _alterFont("NumberFontNormalRightRed", "number", 0, "OUTLINE") + _alterFont("NumberFontNormalRightYellow", "number", 0, "OUTLINE") + _alterFont("GameTooltipHeader", "tipheader") + _alterFont("Tooltip_Med", "tipdialog") + _alterFont("Tooltip_Small", "tipdialog", -1) + --SVUI CUSTOM FONTS + _defineFont("SVUI_Font_Default", "default") + _defineFont("SVUI_Font_Aura", "aura") + _defineFont("SVUI_Font_Number", "number") + _defineFont("SVUI_Font_Number_Huge", "number_big") + _defineFont("SVUI_Font_Header", "header") + _defineFont("SVUI_Font_Data", "data") + _defineFont("SVUI_Font_Caps", "caps") + _defineFont("SVUI_Font_Narrator", "narrator") + _defineFont("SVUI_Font_Pixel", "pixel") + _defineFont("SVUI_Font_Quest", "questdialog") + _defineFont("SVUI_Font_Quest_Header", "questheader") + _defineFont("SVUI_Font_Quest_Number", "questnumber") + --_defineFont("SVUI_Font_Chat", "chatdialog", "LEFT") + --_defineFont("SVUI_Font_ChatTab", "chattab") + _defineFont("SVUI_Font_NamePlate", "platename") + _defineFont("SVUI_Font_NamePlate_Aura", "plateaura") + _defineFont("SVUI_Font_NamePlate_Number", "platenumber") + _defineFont("SVUI_Font_Bag", "bagdialog") + _defineFont("SVUI_Font_Bag_Number", "bagnumber") + _defineFont("SVUI_Font_Roll", "rolldialog") + _defineFont("SVUI_Font_Roll_Number", "rollnumber") + _defineFont("SVUI_Font_Loot", "lootdialog") + _defineFont("SVUI_Font_Loot_Number", "lootnumber") + _defineFont("SVUI_Font_Unit", "unitprimary") + _defineFont("SVUI_Font_Unit_Small", "unitsecondary") + _defineFont("SVUI_Font_UnitAura", "unitauramedium") + _defineFont("SVUI_Font_UnitAura_Bar", "unitaurabar") + _defineFont("SVUI_Font_UnitAura_Small", "unitaurasmall") + _defineFont("SVUI_Font_UnitAura_Large", "unitauralarge") +end - self.Events:Trigger("SVUI_COLORS_UPDATED"); +local function UpdateFontTemplate(template) + template = template or "default"; + local info = SV.db.font[template]; + local file = LSM:Fetch("font", info.file); + local size = info.size; + local line = info.outline; + local list = ManagedFonts[template]; + --local count = 0; + if(not list) then return end + for object in pairs(list) do + if object then + if(object.___fontOutline) then + object:SetFont(file, (size + object.___fontSizeMod), object.___fontOutline); + else + object:SetFont(file, (size + object.___fontSizeMod), line); + end + else + ManagedFonts[template][object] = nil; + end + --count = count + 1; + end + --print(template .. " = " .. count) end -function SV:RefreshAllSystemMedia() - self:SetGlobalFonts(); - self:MediaUpdate(); - self:SetSystemFonts(); - self.Events:Trigger("SVUI_ALLFONTS_UPDATED"); - self.MediaInitialized = true; +local function UpdateAllFontTemplates() + for template, _ in pairs(ManagedFonts) do + UpdateFontTemplate(template) + end +end + +local function UpdateFontGroup(...) + for i = 1, select('#', ...) do + local template = select(i, ...) + if not template then break end + UpdateFontTemplate(template) + end end + +SV.Events:On("SVUI_ALLFONTS_UPDATED", "UpdateAllFontTemplates", UpdateAllFontTemplates); +SV.Events:On("SVUI_FONTGROUP_UPDATED", "UpdateFontGroup", UpdateFontGroup); --[[ ########################################################## INIT SOME COMBAT FONTS @@ -456,4 +556,35 @@ do local fName, fHeight, fFlags = CombatTextFont:GetFont() CombatTextFont:SetFont(fontFile, fHeight, fFlags) +end +--[[ +########################################################## +MEDIA UPDATES +########################################################## +]]-- +function SV:MediaUpdate() + self.Media.color.default = self.db.media.colors.default + self.Media.color.special = self.db.media.colors.special + self.Media.color.specialdark = self.db.media.colors.specialdark + self.Media.bg.pattern = LSM:Fetch("background", self.db.media.textures.pattern) + self.Media.bg.comic = LSM:Fetch("background", self.db.media.textures.comic) + self.Media.bg.unitlarge = LSM:Fetch("background", self.db.media.textures.unitlarge) + self.Media.bg.unitsmall = LSM:Fetch("background", self.db.media.textures.unitsmall) + + local cColor1 = self.Media.color.special + local cColor2 = self.Media.color.default + local r1,g1,b1 = cColor1[1], cColor1[2], cColor1[3] + local r2,g2,b2 = cColor2[1], cColor2[2], cColor2[3] + + self.Media.gradient.special = {"VERTICAL",r1,g1,b1,r2,g2,b2} + + self.Events:Trigger("SVUI_COLORS_UPDATED"); +end + +function SV:RefreshAllSystemMedia() + self:MediaUpdate(); + ChangeGlobalFonts(); + ChangeSystemFonts(); + self.Events:Trigger("SVUI_ALLFONTS_UPDATED"); + self.MediaInitialized = true; end \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/_deprecated.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/_deprecated.lua deleted file mode 100644 index 65261a7..0000000 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/_deprecated.lua +++ /dev/null @@ -1,800 +0,0 @@ ---[[ -############################################################################## -_____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_ # - ___/\\\/////////\\\_\/\\\_______\/\\\_\/\\\_______\/\\\_\/////\\\///__ # - __\//\\\______\///__\//\\\______/\\\__\/\\\_______\/\\\_____\/\\\_____ # - ___\////\\\__________\//\\\____/\\\___\/\\\_______\/\\\_____\/\\\_____ # - ______\////\\\________\//\\\__/\\\____\/\\\_______\/\\\_____\/\\\_____ # - _________\////\\\______\//\\\/\\\_____\/\\\_______\/\\\_____\/\\\_____ # - __/\\\______\//\\\______\//\\\\\______\//\\\______/\\\______\/\\\_____ # - _\///\\\\\\\\\\\/________\//\\\________\///\\\\\\\\\/____/\\\\\\\\\\\_# - ___\///////////___________\///___________\/////////_____\///////////_# -############################################################################## -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 assert = _G.assert; -local type = _G.type; -local error = _G.error; -local pcall = _G.pcall; -local print = _G.print; -local ipairs = _G.ipairs; -local pairs = _G.pairs; -local next = _G.next; -local rawset = _G.rawset; -local rawget = _G.rawget; -local tostring = _G.tostring; -local tonumber = _G.tonumber; -local getmetatable = _G.getmetatable; -local setmetatable = _G.setmetatable; -local tinsert = _G.tinsert; -local table = _G.table; ---[[ TABLE METHODS ]]-- -local tsort = table.sort; ---[[ -########################################################## -GET ADDON DATA -########################################################## -]]-- -local SV = _G["SVUI"]; -local L = SV.L; -local MOD = SV.SVUnit -if(not MOD) then return end - -local _, ns = ...; -local tempFilterTable = {}; -local watchedBuffs = {} - -local privateFilters = { - ["CC"] = "Crowd Control Auras", - ["Defense"] = "Defensive Auras", - ["Custom"] = "Custom Filtering", -} - -local publicFilters = { - ["Player"] = "Player Only Auras", - ["BlackList"] = "BlackList Auras", - ["Allowed"] = "Allowed Auras", - ["Raid"] = "Raid Debuffs", - ["AuraBars"] = "AuraBar Auras", - ["BuffWatch"] = "(AuraWatch) Player Buffs", - ["PetBuffWatch"] = "(AuraWatch) Pet Buffs", -} - -local NONE = _G.NONE; -local GetSpellInfo = _G.GetSpellInfo; -local collectgarbage = _G.collectgarbage; - -local function generateFilterOptions(filterType, selectedSpell) - - local FILTER - if(SV.filters.Custom[filterType]) then - FILTER = SV.filters.Custom[filterType] - else - FILTER = SV.filters[filterType] - end - - if((not filterType) or (filterType == "") or (not FILTER)) then - SV.Options.args.filters.args.filterGroup = nil; - SV.Options.args.filters.args.spellGroup = nil; - return - end - - local PROTECTED = publicFilters[filterType]; - - if(filterType == 'AuraBars') then - - SV.Options.args.filters.args.filterGroup = { - type = "group", - name = filterType, - guiInline = true, - order = 10, - args = { - addSpell = { - order = 1, - name = L["Add Spell"], - desc = L["Add a spell to the filter."], - type = "input", - guiInline = true, - get = function(e)return""end, - set = function(e, arg) - if not SV.db.media.unitframes.spellcolor[arg] then - SV.db.media.unitframes.spellcolor[arg] = false - end - MOD:SetUnitFrame("player") - MOD:SetUnitFrame("target") - MOD:SetUnitFrame("focus") - generateFilterOptions(filterType, arg) - end - }, - removeSpell = { - order = 2, - name = L["Remove Spell"], - desc = L["Remove a spell from the filter."], - type = "input", - guiInline = true, - get = function(e)return""end, - set = function(e, arg) - if SV.db.media.unitframes.spellcolor[arg]then - SV.db.media.unitframes.spellcolor[arg] = false; - SV:AddonMessage(L["You may not remove a spell from a default filter that is not customly added. Setting spell to false instead."]) - else - SV.db.media.unitframes.spellcolor[arg] = nil - end - MOD:SetUnitFrame("player") - MOD:SetUnitFrame("target") - MOD:SetUnitFrame("focus") - generateFilterOptions(filterType) - end - }, - selectSpell = { - name = L["Select Spell"], - type = "select", - order = 3, - guiInline = true, - get = function(e) return selectedSpell end, - set = function(e, arg) - generateFilterOptions(filterType, arg) - end, - values = function() - wipe(tempFilterTable) - tempFilterTable[""] = NONE; - for g in pairs(SV.db.media.unitframes.spellcolor)do - tempFilterTable[g] = g - end - return tempFilterTable - end - } - } - } - - if not selectedSpell or SV.db.media.unitframes.spellcolor[selectedSpell] == nil then - SV.Options.args.filters.args.spellGroup = nil; - return - end - - SV.Options.args.filters.args.spellGroup = { - type = "group", - name = selectedSpell, - order = 15, - guiInline = true, - args = { - color = { - name = L["Color"], - type = "color", - order = 1, - get = function(e) - local abColor = SV.db.media.unitframes.spellcolor[selectedSpell] - if type(abColor) == "boolean"then - return 0, 0, 0, 1 - else - return abColor[1], abColor[2], abColor[3], abColor[4] - end - end, - set = function(e, r, g, b) - if type(SV.db.media.unitframes.spellcolor[selectedSpell]) ~= "table"then - SV.db.media.unitframes.spellcolor[selectedSpell] = {} - end - local abColor = {r, g, b} - SV.db.media.unitframes.spellcolor[selectedSpell] = abColor - MOD:SetUnitFrame("player") - MOD:SetUnitFrame("target") - MOD:SetUnitFrame("focus") - end - }, - removeColor = { - type = "execute", - order = 2, - name = L["Restore Defaults"], - func = function(e, arg) - SV.db.media.unitframes.spellcolor[selectedSpell] = false; - MOD:SetUnitFrame("player") - MOD:SetUnitFrame("target") - MOD:SetUnitFrame("focus") - end - } - } - } - - elseif(filterType == 'PetBuffWatch') then - - wipe(watchedBuffs) - - if not SV.filters.PetBuffWatch then - SV.filters.PetBuffWatch = {} - end - - for o,f in pairs(SV.filters.PetBuffWatch)do - tinsert(watchedBuffs,f) - end - - SV.Options.args.filters.args.filterGroup = { - type = "group", - name = filterType, - guiInline = true, - order = -10, - childGroups = "tab", - args = { - addSpellID = { - order = 1, - name = L["Add SpellID"], - desc = L["Add a spell to the filter."], - type = "input", - get = function(e)return""end, - set = function(e, arg) - if not tonumber(arg) then - SV:AddonMessage(L["Value must be a number"]) - elseif not GetSpellInfo(arg)then - SV:AddonMessage(L["Not valid spell id"]) - else - tinsert(SV.filters.PetBuffWatch, {["enable"] = true, ["id"] = tonumber(arg), ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, ["anyUnit"] = true}) - MOD:SetUnitFrame("pet") - generateFilterOptions(filterType, selectedSpell) - end - end - }, - removeSpellID = { - order = 2, - name = L["Remove SpellID"], - desc = L["Remove a spell from the filter."], - type = "input", - get = function(e)return""end, - set = function(e, arg) - if not tonumber(arg)then - SV:AddonMessage(L["Value must be a number"]) - elseif not GetSpellInfo(arg)then - SV:AddonMessage(L["Not valid spell id"]) - else - local p; - for q, r in pairs(SV.filters.PetBuffWatch)do - if r["id"] == tonumber(arg)then - p = r; - if SV.filters.PetBuffWatch[q]then - SV.filters.PetBuffWatch[q].enable = false; - else - SV.filters.PetBuffWatch[q] = nil - end - end - end - if p == nil then - SV:AddonMessage(L["Spell not found in list."]) - else - generateFilterOptions() - end - end - MOD:SetUnitFrame("pet") - generateFilterOptions(filterType, selectedSpell) - end - }, - selectSpell = { - name = L["Select Spell"], - type = "select", - order = 3, - values = function() - local v = {} - wipe(watchedBuffs) - for o, f in pairs(SV.filters.PetBuffWatch)do - tinsert(watchedBuffs, f) - end - for o, l in pairs(watchedBuffs)do - if l.id then - local name = GetSpellInfo(l.id) - v[l.id] = name - end - end - return v - end, - get = function(e)return selectedSpell end, - set = function(e, arg) generateFilterOptions(filterType, selectedSpell) end - } - } - } - - local registeredSpell; - - for t,l in pairs(SV.filters.PetBuffWatch)do - if l.id == selectedSpell then - registeredSpell = t - end - end - - if selectedSpell and registeredSpell then - local currentSpell = GetSpellInfo(selectedSpell) - SV.Options.args.filters.args.filterGroup.args[currentSpell] = { - name = currentSpell.." ("..selectedSpell..")", - type = "group", - get = function(e)return SV.filters.PetBuffWatch[registeredSpell][e[#e]] end, - set = function(e, arg) - SV.filters.PetBuffWatch[registeredSpell][e[#e]] = arg; - MOD:SetUnitFrame("pet") - end, - order = -10, - args = { - enable = { - name = L["Enable"], - order = 0, - type = "toggle" - }, - point = { - name = L["Anchor Point"], - order = 1, - type = "select", - values = { - ["TOPLEFT"] = "TOPLEFT", - ["TOPRIGHT"] = "TOPRIGHT", - ["BOTTOMLEFT"] = "BOTTOMLEFT", - ["BOTTOMRIGHT"] = "BOTTOMRIGHT", - ["LEFT"] = "LEFT", - ["RIGHT"] = "RIGHT", - ["TOP"] = "TOP", - ["BOTTOM"] = "BOTTOM" - } - }, - xOffset = {order = 2, type = "range", name = L["xOffset"], min = -75, max = 75, step = 1}, - yOffset = {order = 2, type = "range", name = L["yOffset"], min = -75, max = 75, step = 1}, - style = { - name = L["Style"], - order = 3, - type = "select", - values = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE} - }, - color = { - name = L["Color"], - type = "color", - order = 4, - get = function(e) - local abColor = SV.filters.PetBuffWatch[registeredSpell][e[#e]] - return abColor.r, abColor.g, abColor.b, abColor.a - end, - set = function(e, i, j, k) - local abColor = SV.filters.PetBuffWatch[registeredSpell][e[#e]] - abColor.r, abColor.g, abColor.b = i, j, k; - MOD:SetUnitFrame("pet") - end - }, - displayText = { - name = L["Display Text"], - type = "toggle", - order = 5 - }, - textColor = { - name = L["Text Color"], - type = "color", - order = 6, - get = function(e) - local abColor = SV.filters.PetBuffWatch[registeredSpell][e[#e]] - if abColor then - return abColor.r,abColor.g,abColor.b,abColor.a - else - return 1,1,1,1 - end - end, - set = function(e,i,j,k) - local abColor = SV.filters.PetBuffWatch[registeredSpell][e[#e]] - abColor.r,abColor.g,abColor.b = i,j,k; - MOD:SetUnitFrame("pet") - end - }, - textThreshold = { - name = L["Text Threshold"], - desc = L["At what point should the text be displayed. Set to -1 to disable."], - type = "range", - order = 6, - min = -1, - max = 60, - step = 1 - }, - anyUnit = { - name = L["Show Aura From Other Players"], - order = 7, - type = "toggle" - }, - onlyShowMissing = { - name = L["Show When Not Active"], - order = 8, - type = "toggle", - disabled = function()return SV.filters.PetBuffWatch[registeredSpell].style == "text"end - } - } - } - end - - elseif(filterType == 'BuffWatch') then - - if not SV.filters.BuffWatch then - SV.filters.BuffWatch = {} - end - for o,f in pairs(SV.filters.BuffWatch) do - tinsert(watchedBuffs,f) - end - - SV.Options.args.filters.args.filterGroup = { - type = "group", - name = filterType, - guiInline = true, - order = -10, - childGroups = "tab", - args = { - addSpellID = { - order = 1, - name = L["Add SpellID"], - desc = L["Add a spell to the filter."], - type = "input", - get = function(e)return""end, - set = function(e, arg) - if(not tonumber(arg)) then - SV:AddonMessage(L["Value must be a number"]) - elseif(not GetSpellInfo(arg)) then - SV:AddonMessage(L["Not valid spell id"]) - else - tinsert(SV.filters.BuffWatch, {["enable"] = true, ["id"] = tonumber(arg), ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, ["anyUnit"] = false}) - for t = 10, 40, 15 do - MOD:UpdateGroupAuraWatch("raid"..t) - end - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) - generateFilterOptions(filterType) - end - end - }, - removeSpellID = { - order = 2, - name = L["Remove SpellID"], - desc = L["Remove a spell from the filter."], - type = "input", - get = function(e)return""end, - set = function(e, arg) - if not tonumber(arg)then - SV:AddonMessage(L["Value must be a number"]) - elseif not GetSpellInfo(arg)then - SV:AddonMessage(L["Not valid spell id"]) - else - local p; - for q, r in pairs(SV.filters.BuffWatch)do - if r["id"] == tonumber(arg)then - p = r; - if SV.filters.BuffWatch[q]then - SV.filters.BuffWatch[q].enable = false; - else - SV.filters.BuffWatch[q] = nil - end - end - end - if p == nil then - SV:AddonMessage(L["Spell not found in list."]) - else - generateFilterOptions() - end - end - for t = 10, 40, 15 do - MOD:UpdateGroupAuraWatch("raid"..t) - end - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) - generateFilterOptions(filterType) - end - }, - selectSpell = { - name = L["Select Spell"], - type = "select", - order = 3, - values = function() - local v = {} - wipe(watchedBuffs) - for o, f in pairs(SV.filters.BuffWatch)do - tinsert(watchedBuffs, f) - end - for o, l in pairs(watchedBuffs)do - if l.id then - local name = GetSpellInfo(l.id) - v[l.id] = name - end - end - return v - end, - get = function(e) return selectedSpell end, - set = function(e, arg) generateFilterOptions(filterType, selectedSpell) end - } - } - } - - local registeredSpell; - - for t,l in pairs(SV.filters.BuffWatch)do if l.id==selectedSpell then registeredSpell=t end end - - if selectedSpell and registeredSpell then - local currentSpell=GetSpellInfo(selectedSpell) - SV.Options.args.filters.args.filterGroup.args[currentSpell] = { - name = currentSpell.." ("..selectedSpell..")", - type = "group", - get = function(e)return SV.filters.BuffWatch[registeredSpell][e[#e]]end, - set = function(e, arg) - SV.filters.BuffWatch[registeredSpell][e[#e]] = arg; - for t = 10, 40, 15 do - MOD:UpdateGroupAuraWatch("raid"..t) - end - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) - end, - order = -10, - args = { - enable = {name = L["Enable"], order = 0, type = "toggle"}, - point = { - name = L["Anchor Point"], - order = 1, - type = "select", - values = { - ["TOPLEFT"] = "TOPLEFT", - ["TOPRIGHT"] = "TOPRIGHT", - ["BOTTOMLEFT"] = "BOTTOMLEFT", - ["BOTTOMRIGHT"] = "BOTTOMRIGHT", - ["LEFT"] = "LEFT", - ["RIGHT"] = "RIGHT", - ["TOP"] = "TOP", - ["BOTTOM"] = "BOTTOM" - } - }, - xOffset = {order = 2, type = "range", name = L["xOffset"], min = -75, max = 75, step = 1}, - yOffset = {order = 2, type = "range", name = L["yOffset"], min = -75, max = 75, step = 1}, - style = {name = L["Style"], order = 3, type = "select", values = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE}}, - color = { - name = L["Color"], - type = "color", - order = 4, - get = function(e) - local abColor = SV.filters.BuffWatch[registeredSpell][e[#e]] - return abColor.r, abColor.g, abColor.b, abColor.a - end, - set = function(e, i, j, k) - local abColor = SV.filters.BuffWatch[registeredSpell][e[#e]] - abColor.r, abColor.g, abColor.b = i, j, k; - for t = 10, 40, 15 do - MOD:UpdateGroupAuraWatch("raid"..t) - end - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) - end - }, - displayText = { - name = L["Display Text"], - type = "toggle", - order = 5 - }, - textColor = { - name = L["Text Color"], - type = "color", - order = 6, - get = function(e) - local abColor = SV.filters.BuffWatch[registeredSpell][e[#e]] - if abColor then - return abColor.r, abColor.g, abColor.b, abColor.a - else - return 1, 1, 1, 1 - end - end, - set = function(e, i, j, k) - SV.filters.BuffWatch[registeredSpell][e[#e]] = SV.filters.BuffWatch[registeredSpell][e[#e]] or {} - local abColor = SV.filters.BuffWatch[registeredSpell][e[#e]] - abColor.r, abColor.g, abColor.b = i, j, k; - for t = 10, 40, 15 do - MOD:UpdateGroupAuraWatch("raid"..t) - end - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) - end - }, - textThreshold = { - name = L["Text Threshold"], - desc = L["At what point should the text be displayed. Set to -1 to disable."], - type = "range", - order = 6, - min = -1, - max = 60, - step = 1 - }, - anyUnit = { - name = L["Show Aura From Other Players"], - order = 7, - type = "toggle" - }, - onlyShowMissing = { - name = L["Show When Not Active"], - order = 8, - type = "toggle", - disabled = function()return SV.filters.BuffWatch[registeredSpell].style == "text" end - } - } - } - end - - wipe(watchedBuffs) - - else - - SV.Options.args.filters.args.filterGroup = { - type = "group", - name = filterType, - guiInline = true, - order = 10, - args = { - addSpell = { - order = 1, - name = L["Add Spell"], - desc = L["Add a spell to the filter."], - type = "input", - get = function(e) return "" end, - set = function(e, arg) - if(not FILTER[arg]) then - FILTER[arg] = { - ["enable"] = true, - ["priority"] = 0 - } - end - generateFilterOptions(filterType, arg) - MOD:RefreshUnitFrames() - end - }, - removeSpell = { - order = 2, - name = L["Remove Spell"], - desc = L["Remove a spell from the filter."], - type = "input", - get = function(e)return "" end, - set = function(e, arg) - if(FILTER[arg]) then - if(FILTER[arg].isDefault) then - FILTER[arg].enable = false; - SV:AddonMessage(L["You may not remove a spell from a default filter that is not customly added. Setting spell to false instead."]) - else - FILTER[arg] = nil - end - end - generateFilterOptions(filterType) - MOD:RefreshUnitFrames() - end - }, - selectSpell = { - name = L["Select Spell"], - type = "select", - order = 3, - guiInline = true, - get = function(e) return selectedSpell end, - set = function(e, arg) generateFilterOptions(filterType, arg) end, - values = function() - wipe(tempFilterTable) - tempFilterTable[""] = NONE; - for g in pairs(FILTER)do - tempFilterTable[g] = g - end - return tempFilterTable - end - } - } - } - - if not selectedSpell or not FILTER[selectedSpell] then - SV.Options.args.filters.args.spellGroup = nil; - return - end - - SV.Options.args.filters.args.spellGroup = { - type = "group", - name = selectedSpell, - order = 15, - guiInline = true, - args = { - enable = { - name = L["Enable"], - type = "toggle", - get = function() - if not selectedSpell then - return false - else - return FILTER[selectedSpell].enable - end - end, - set = function(e, arg) - FILTER[selectedSpell].enable = arg; - generateFilterOptions() - MOD:RefreshUnitFrames() - end - }, - priority = { - name = L["Priority"], - type = "range", - get = function() - if not selectedSpell then - return 0 - else - return FILTER[selectedSpell].priority - end - end, - set = function(e, arg) - FILTER[selectedSpell].priority = arg; - generateFilterOptions() - MOD:RefreshUnitFrames() - end, - min = 0, - max = 99, - step = 1, - desc = L["Set the priority order of the spell, please note that prioritys are only used for the raid debuff package, not the standard buff/debuff package. If you want to disable set to zero."] - } - } - } - end - - MOD:RefreshUnitFrames() - - collectgarbage("collect") -end - -SV.Options.args.filters = { - type = "group", - name = L["Filters"], - order = -10, - args = { - createFilter = { - order = 1, - name = L["Create Filter"], - desc = L["Create a custom filter."], - type = "input", - get = function(e) return "" end, - set = function(e, arg) - SV.filters.Custom[arg] = {} - end - }, - deleteFilter = { - type = "select", - order = 2, - name = L["Delete Filter"], - desc = L["Delete a custom filter."], - get = function(e) return "" end, - set = function(e, arg) - SV.filters.Custom[arg] = nil; - SV.Options.args.filters.args.filterGroup = nil - end, - values = function() - wipe(tempFilterTable) - tempFilterTable[""] = NONE; - for g in pairs(SV.filters.Custom) do - tempFilterTable[g] = g - end - return tempFilterTable - end - }, - selectFilter = { - order = 3, - type = "select", - name = L["Select Filter"], - get = function(e) return filterType end, - set = function(e, arg) generateFilterOptions(arg) end, - values = function() - wipe(tempFilterTable) - tempFilterTable[""] = NONE; - for g in pairs(SV.filters) do - if(publicFilters[g]) then - tempFilterTable[g] = publicFilters[g] - end - end - for g in pairs(SV.filters.Custom) do - tempFilterTable[g] = g - end - return tempFilterTable - end - } - } -} - - -function ns:SetToFilterConfig(newFilter) - local filter = newFilter or "BuffWatch" - generateFilterOptions(filter) - _G.LibStub("AceConfigDialog-3.0"):SelectGroup(SV.NameID, "filters") -end \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua index ff7a169..2279c26 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua @@ -77,8 +77,13 @@ ns.FilterOptionGroups['_NEW'] = function(filterType) type = "input", get = function(key) return "" end, set = function(key, value) - if(not FILTER[value]) then - FILTER[value] = { + local spellID = tonumber(value); + if(not spellID) then + SV:AddonMessage(L["Value must be a number"]) + elseif(not GetSpellInfo(spellID)) then + SV:AddonMessage(L["Not valid spell id"]) + elseif(not FILTER[spellID]) then + FILTER[spellID] = { ["enable"] = true, ["priority"] = 0 } diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua index 3340c91..55fa8d1 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua @@ -66,8 +66,13 @@ ns.FilterOptionGroups['AuraBars'] = function(selectedSpell) guiInline = true, get = function(key) return "" end, set = function(key, value) - if not SV.db.media.unitframes.spellcolor[value] then - SV.db.media.unitframes.spellcolor[value] = false + local spellID = tonumber(value); + if(not spellID) then + SV:AddonMessage(L["Value must be a number"]) + elseif(not GetSpellInfo(spellID)) then + SV:AddonMessage(L["Not valid spell id"]) + elseif not SV.db.media.unitframes.spellcolor[spellID] then + SV.db.media.unitframes.spellcolor[spellID] = false end MOD:SetUnitFrame("player") MOD:SetUnitFrame("target") diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua index 92e505b..24cb339 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua @@ -55,22 +55,61 @@ local NONE = _G.NONE; local GetSpellInfo = _G.GetSpellInfo; local collectgarbage = _G.collectgarbage; +local DEFAULT_COLOR = {["r"] = 1, ["g"] = 0, ["b"] = 0}; +local STYLE_SELECT = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE}; +local POSITION_SELECT = { + ["TOPLEFT"] = "TOPLEFT", + ["TOPRIGHT"] = "TOPRIGHT", + ["BOTTOMLEFT"] = "BOTTOMLEFT", + ["BOTTOMRIGHT"] = "BOTTOMRIGHT", + ["LEFT"] = "LEFT", + ["RIGHT"] = "RIGHT", + ["TOP"] = "TOP", + ["BOTTOM"] = "BOTTOM" +}; + +if(not SV.filters.PetBuffWatch) then + SV.filters.PetBuffWatch = {} +end + +if(not SV.filters.BuffWatch) then + SV.filters.BuffWatch = {} +end + local function CacheWatchedBuffs(data) wipe(watchedBuffs) - for _, watchData in pairs(data)do + for spellID, watchData in pairs(data) do tinsert(watchedBuffs, watchData) end end -if(not SV.filters.PetBuffWatch) then - SV.filters.PetBuffWatch = {} +local function SetWatchedBuff(id, data, enable, point, color, anyUnit) + if(not data[id]) then + data[id] = {["enable"] = enable, ["point"] = point, ["color"] = color, ["anyUnit"] = anyUnit} + else + data[id]["enable"] = enable; + data[id]["point"] = point; + data[id]["color"] = color; + data[id]["anyUnit"] = anyUnit; + end +end + +local function UpdateBuffWatch() + MOD:SetUnitFrame("focus") + MOD:SetGroupFrame("raid") + MOD:SetGroupFrame("party") +end + +local function UpdatePetBuffWatch() + MOD:SetUnitFrame("pet") + MOD:SetGroupFrame("raidpet") end -if(not SV.filters.BuffWatch) then - SV.filters.BuffWatch = {} -end ns.FilterOptionGroups['BuffWatch'] = function(selectedSpell) - CacheWatchedBuffs(SV.filters.BuffWatch) + local FILTER = SV.filters.BuffWatch; + + --CacheWatchedBuffs(SV.filters.BuffWatch) + local RESULT = { type = "group", name = 'BuffWatch', @@ -84,15 +123,14 @@ ns.FilterOptionGroups['BuffWatch'] = function(selectedSpell) type = "input", get = function(key)return""end, set = function(key, value) - if(not tonumber(value)) then + local spellID = tonumber(value); + if(not spellID) then SV:AddonMessage(L["Value must be a number"]) - elseif(not GetSpellInfo(value)) then + elseif(not GetSpellInfo(spellID)) then SV:AddonMessage(L["Not valid spell id"]) - else - tinsert(SV.filters.BuffWatch, {["enable"] = true, ["id"] = tonumber(value), ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, ["anyUnit"] = false}) - MOD:UpdateGroupAuraWatch("raid") - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) + else + SetWatchedBuff(value, spellID, FILTER, true, "TOPRIGHT", DEFAULT_COLOR, false) + UpdateBuffWatch() ns:SetFilterOptions('BuffWatch') end end @@ -104,31 +142,31 @@ ns.FilterOptionGroups['BuffWatch'] = function(selectedSpell) type = "input", get = function(key)return""end, set = function(key, value) - if not tonumber(value)then + local spellID = tonumber(value); + if(not spellID) then SV:AddonMessage(L["Value must be a number"]) - elseif not GetSpellInfo(value)then + elseif(not GetSpellInfo(spellID)) then SV:AddonMessage(L["Not valid spell id"]) else - local p; - for q, r in pairs(SV.filters.BuffWatch)do - if r["id"] == tonumber(value) then - p = r; - if SV.filters.BuffWatch[q]then - SV.filters.BuffWatch[q].enable = false; + local temp; + for id, data in pairs(FILTER) do + if(tonumber(id) == spellID) then + temp = data; + if FILTER[id] then + FILTER[id].enable = false; else - SV.filters.BuffWatch[q] = nil + FILTER[id] = nil end end end - if p == nil then + if temp == nil then SV:AddonMessage(L["Spell not found in list."]) else ns:SetFilterOptions() end end - MOD:UpdateGroupAuraWatch("raid") - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) + UpdateBuffWatch("raid") + UpdateBuffWatch("party") ns:SetFilterOptions('BuffWatch') end }, @@ -137,12 +175,13 @@ ns.FilterOptionGroups['BuffWatch'] = function(selectedSpell) type = "select", order = 3, values = function() - CacheWatchedBuffs(SV.filters.BuffWatch) + --CacheWatchedBuffs(SV.filters.BuffWatch) wipe(tempFilterTable) - for _, watchData in pairs(watchedBuffs)do - if(watchData.id) then - local name = GetSpellInfo(watchData.id) - tempFilterTable[watchData.id] = name + for id, watchData in pairs(FILTER) do + local spellID = tonumber(id) + local name = GetSpellInfo(spellID) + if(name) then + tempFilterTable[spellID] = name end end return tempFilterTable @@ -157,13 +196,14 @@ end; ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell) local RESULT; + local FILTER = SV.filters.BuffWatch; if(selectedSpell) then local registeredSpell; - for watchIndex, watchData in pairs(SV.filters.BuffWatch)do - if(watchData.id == selectedSpell) then - registeredSpell = watchIndex + for id, watchData in pairs(FILTER)do + if(tonumber(id) == selectedSpell) then + registeredSpell = id end end @@ -175,12 +215,10 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell) name = currentSpell.." (Spell ID#: "..selectedSpell..")", type = "group", guiInline = true, - get = function(key)return SV.filters.BuffWatch[registeredSpell][key[#key]]end, + get = function(key) return FILTER[registeredSpell][key[#key]] end, set = function(key, value) SV.filters.BuffWatch[registeredSpell][key[#key]] = value; - MOD:UpdateGroupAuraWatch("raid") - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) + UpdateBuffWatch(); end, order = 5, args = { @@ -207,38 +245,32 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell) width = 'full', order = 3, type = "toggle", - disabled = function()return SV.filters.BuffWatch[registeredSpell].style == "text" end + disabled = function() return FILTER[registeredSpell].style == "text" end }, point = { name = L["Anchor Point"], order = 4, type = "select", - values = { - ["TOPLEFT"] = "TOPLEFT", - ["TOPRIGHT"] = "TOPRIGHT", - ["BOTTOMLEFT"] = "BOTTOMLEFT", - ["BOTTOMRIGHT"] = "BOTTOMRIGHT", - ["LEFT"] = "LEFT", - ["RIGHT"] = "RIGHT", - ["TOP"] = "TOP", - ["BOTTOM"] = "BOTTOM" - } + values = POSITION_SELECT }, - style = {name = L["Style"], order = 5, type = "select", values = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE}}, + style = { + name = L["Style"], + order = 5, + type = "select", + values = STYLE_SELECT + }, color = { name = L["Color"], type = "color", order = 6, get = function(key) - local abColor = SV.filters.BuffWatch[registeredSpell][key[#key]] + local abColor = FILTER[registeredSpell][key[#key]] return abColor.r, abColor.g, abColor.b, abColor.a end, set = function(key, r, g, b) - local abColor = SV.filters.BuffWatch[registeredSpell][key[#key]] + local abColor = FILTER[registeredSpell][key[#key]] abColor.r, abColor.g, abColor.b = r, g, b; - MOD:UpdateGroupAuraWatch("raid") - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) + UpdateBuffWatch() end }, textColor = { @@ -246,7 +278,7 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell) type = "color", order = 7, get = function(key) - local abColor = SV.filters.BuffWatch[registeredSpell][key[#key]] + local abColor = FILTER[registeredSpell][key[#key]] if abColor then return abColor.r, abColor.g, abColor.b, abColor.a else @@ -254,12 +286,10 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell) end end, set = function(key, r, g, b) - SV.filters.BuffWatch[registeredSpell][key[#key]] = SV.filters.BuffWatch[registeredSpell][key[#key]] or {} - local abColor = SV.filters.BuffWatch[registeredSpell][key[#key]] + FILTER[registeredSpell][key[#key]] = FILTER[registeredSpell][key[#key]] or {} + local abColor = FILTER[registeredSpell][key[#key]] abColor.r, abColor.g, abColor.b = r, g, b; - MOD:UpdateGroupAuraWatch("raid") - MOD:UpdateGroupAuraWatch("party") - MOD:UpdateGroupAuraWatch("raidpet", true) + UpdateBuffWatch() end }, textThreshold = { @@ -282,7 +312,8 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell) end; ns.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell) - CacheWatchedBuffs(SV.filters.PetBuffWatch) + --CacheWatchedBuffs(SV.filters.PetBuffWatch) + local FILTER = SV.filters.PetBuffWatch; local RESULT = { type = "group", name = 'PetBuffWatch', @@ -296,13 +327,14 @@ ns.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell) type = "input", get = function(key) return "" end, set = function(key, value) - if not tonumber(value) then + local spellID = tonumber(value); + if(not spellID) then SV:AddonMessage(L["Value must be a number"]) - elseif(not GetSpellInfo(value)) then + elseif(not GetSpellInfo(spellID)) then SV:AddonMessage(L["Not valid spell id"]) - else - tinsert(SV.filters.PetBuffWatch, {["enable"] = true, ["id"] = tonumber(value), ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, ["anyUnit"] = true}) - MOD:SetUnitFrame("pet") + else + SetWatchedBuff(value, spellID, FILTER, true, "TOPRIGHT", DEFAULT_COLOR, true) + UpdatePetBuffWatch() ns:SetFilterOptions('PetBuffWatch', selectedSpell) end end @@ -314,29 +346,26 @@ ns.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell) type = "input", get = function(key) return "" end, set = function(key, value) - if not tonumber(value)then + local spellID = tonumber(value); + if(not spellID) then SV:AddonMessage(L["Value must be a number"]) - elseif not GetSpellInfo(value) then + elseif(not GetSpellInfo(spellID)) then SV:AddonMessage(L["Not valid spell id"]) - else - local p; - for q, r in pairs(SV.filters.PetBuffWatch)do - if r["id"] == tonumber(value) then - p = r; - if SV.filters.PetBuffWatch[q] then - SV.filters.PetBuffWatch[q].enable = false; - else - SV.filters.PetBuffWatch[q] = nil - end + else + local success = false; + for id, data in pairs(FILTER) do + if(tonumber(id) == spellID) then + success = true; + data.enable = false; end end - if p == nil then + if not success then SV:AddonMessage(L["Spell not found in list."]) else ns:SetFilterOptions() end end - MOD:SetUnitFrame("pet") + UpdatePetBuffWatch() ns:SetFilterOptions('PetBuffWatch', selectedSpell) end }, @@ -345,15 +374,16 @@ ns.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell) type = "select", order = 3, values = function() - CacheWatchedBuffs(SV.filters.PetBuffWatch) + --CacheWatchedBuffs(FILTER) wipe(tempFilterTable) - for _, watchData in pairs(watchedBuffs)do - if(watchData.id) then - local name = GetSpellInfo(watchData.id) - tempFilterTable[watchData.id] = name + for id, watchData in pairs(FILTER) do + local spellID = tonumber(id) + local name = GetSpellInfo(spellID) + if(name) then + tempFilterTable[spellID] = name end end - return tempFilterTable + return tempFilterTable end, get = function(key) return selectedSpell end, set = function(key, value) ns:SetFilterOptions('PetBuffWatch', selectedSpell) end @@ -366,13 +396,14 @@ end; ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell) local RESULT; + local FILTER = SV.filters.PetBuffWatch; if(selectedSpell) then local registeredSpell; - for watchIndex, watchData in pairs(SV.filters.PetBuffWatch)do - if(watchData.id == selectedSpell) then - registeredSpell = watchIndex + for id, watchData in pairs(FILTER)do + if(tonumber(id) == selectedSpell) then + registeredSpell = id end end @@ -383,10 +414,10 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell) RESULT = { name = currentSpell.." ("..selectedSpell..")", type = "group", - get = function(key)return SV.filters.PetBuffWatch[registeredSpell][key[#key]] end, + get = function(key)return FILTER[registeredSpell][key[#key]] end, set = function(key, value) - SV.filters.PetBuffWatch[registeredSpell][key[#key]] = value; - MOD:SetUnitFrame("pet") + FILTER[registeredSpell][key[#key]] = value; + UpdatePetBuffWatch() end, order = 5, guiInline = true, @@ -400,16 +431,7 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell) name = L["Anchor Point"], order = 1, type = "select", - values = { - ["TOPLEFT"] = "TOPLEFT", - ["TOPRIGHT"] = "TOPRIGHT", - ["BOTTOMLEFT"] = "BOTTOMLEFT", - ["BOTTOMRIGHT"] = "BOTTOMRIGHT", - ["LEFT"] = "LEFT", - ["RIGHT"] = "RIGHT", - ["TOP"] = "TOP", - ["BOTTOM"] = "BOTTOM" - } + values = POSITION_SELECT }, xOffset = {order = 2, type = "range", name = L["xOffset"], min = -75, max = 75, step = 1}, yOffset = {order = 2, type = "range", name = L["yOffset"], min = -75, max = 75, step = 1}, @@ -417,20 +439,21 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell) name = L["Style"], order = 3, type = "select", - values = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE} + values = STYLE_SELECT + }, color = { name = L["Color"], type = "color", order = 4, get = function(key) - local abColor = SV.filters.PetBuffWatch[registeredSpell][key[#key]] + local abColor = FILTER[registeredSpell][key[#key]] return abColor.r, abColor.g, abColor.b, abColor.a end, set = function(key, r, g, b) - local abColor = SV.filters.PetBuffWatch[registeredSpell][key[#key]] + local abColor = FILTER[registeredSpell][key[#key]] abColor.r, abColor.g, abColor.b = r, g, b; - MOD:SetUnitFrame("pet") + UpdatePetBuffWatch() end }, displayText = { @@ -443,7 +466,7 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell) type = "color", order = 6, get = function(key) - local abColor = SV.filters.PetBuffWatch[registeredSpell][key[#key]] + local abColor = FILTER[registeredSpell][key[#key]] if abColor then return abColor.r,abColor.g,abColor.b,abColor.a else @@ -451,9 +474,9 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell) end end, set = function(key, r, g, b) - local abColor = SV.filters.PetBuffWatch[registeredSpell][key[#key]] + local abColor = FILTER[registeredSpell][key[#key]] abColor.r,abColor.g,abColor.b = r, g, b; - MOD:SetUnitFrame("pet") + UpdatePetBuffWatch() end }, textThreshold = { @@ -474,7 +497,7 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell) name = L["Show When Not Active"], order = 8, type = "toggle", - disabled = function()return SV.filters.PetBuffWatch[registeredSpell].style == "text"end + disabled = function() return FILTER[registeredSpell].style == "text" end } } } diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua index cdcc9a6..d402453 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua @@ -82,8 +82,8 @@ local collectgarbage = _G.collectgarbage; SV.Options.args.filters = { type = "group", - name = L["Filters"], - order = -10, + name = L["Aura Filters"], + order = 9997, args = { createFilter = { order = 1, @@ -92,7 +92,13 @@ SV.Options.args.filters = { type = "input", get = function(key) return "" end, set = function(key, value) - SV.filters.Custom[value] = {} + if(not value or (value and value == '')) then + SV:AddonMessage(L["Not a usable filter name"]) + elseif(SV.filters.Custom[value]) then + SV:AddonMessage(L["Filter already exists"]) + else + SV.filters.Custom[value] = {} + end end }, deleteFilter = { diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua index b550031..b591550 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua @@ -39,35 +39,43 @@ local FONT_INFO = { {"System Dialog", 1, "The most commonly used fonts.", { ["default"] = { + order = 1, name = "Default", desc = "Standard font for the majority of uses." }, ["dialog"] = { + order = 2, name = "Dialog", desc = "Font used in places that story text appears. (ie.. quest text)" }, ["combat"] = { + order = 3, name = "Combat", desc = "Scrolling combat text font." }, ["alert"] = { - name = "Alerts", + order = 4, + name = "Alerts", desc = "Font used for on-screen message alerts." }, ["zone"] = { - name = "Zone Text", + order = 5, + name = "Zone Text", desc = "Font used for zone names. Shown when changing zones." }, ["title"] = { - name = "Titles", + order = 6, + name = "Titles", desc = "Font used to display various titles." }, ["header"] = { - name = "Frame Headers", + order = 7, + name = "Frame Headers", desc = "Font used to large names at the top of some frames." }, ["caps"] = { - name = "Caps", + order = 8, + name = "Caps", desc = "Font typically used for things like tabs and fitted headers." }, }, @@ -75,14 +83,17 @@ local FONT_INFO = { {"System Numeric", 2, "These fonts are used for many number values.", { ["number"] = { + order = 1, name = "Numbers (Regular)", desc = "Font used to display most numeric values." }, ["number_big"] = { - name = "Numbers (Large)", + order = 2, + name = "Numbers (Large)", desc = "Font used to display larger numeric values." }, ["aura"] = { + order = 3, name = "Auras", desc = "Aura counts and timers use this font." }, @@ -91,10 +102,12 @@ local FONT_INFO = { {"Chat", 3, "Fonts used for the chat frame.", { ["chatdialog"] = { + order = 1, name = "Chat", desc = "Font used for chat text." }, ["chattab"] = { + order = 2, name = "Chat Tabs", desc = "Font used for chat tab labels." }, @@ -103,14 +116,17 @@ local FONT_INFO = { {"QuestTracker", 4, "Fonts used in the SVUI Quest Tracker.", { ["questdialog"] = { + order = 1, name = "Quest Tracker Dialog", desc = "Default font used in the quest tracker" }, ["questheader"] = { + order = 2, name = "Quest Tracker Titles", desc = "Font used in the quest tracker for listing headers." }, ["questnumber"] = { + order = 3, name = "Quest Tracker Numbers", desc = "Font used in the quest tracker to display numeric values." }, @@ -119,14 +135,17 @@ local FONT_INFO = { {"NamePlate", 5, "Fonts used in name plates.", { ["platename"] = { + order = 1, name = "Nameplate Names", desc = "Used on nameplates for unit names." }, ["platenumber"] = { + order = 2, name = "Nameplate Numbers", desc = "Used on nameplates for health and level numbers." }, ["plateaura"] = { + order = 3, name = "Nameplate Auras", desc = "Used on nameplates for aura texts." }, @@ -135,26 +154,32 @@ local FONT_INFO = { {"UnitFrame", 6, "Fonts used in unit frames.", { ["unitaurabar"] = { + order = 1, name = "Unitframe AuraBar", desc = "Used on unit aurabars." }, ["unitauramedium"] = { + order = 2, name = "Unitframe Aura (Medium)", desc = "Used on unit frames for auras (medium scale)." }, ["unitauralarge"] = { + order = 3, name = "Unitframe Aura (Large)", desc = "Used on unit frames for auras (large scale)." }, ["unitaurasmall"] = { + order = 4, name = "Unitframe Aura (Small)", desc = "Used on unit frames for auras (small scale)." }, ["unitprimary"] = { + order = 5, name = "Unitframe Values", desc = "Used on all primary unit frames for health, power and misc values.\nUnits: player, pet, target, focus, boss and arena" }, ["unitsecondary"] = { + order = 6, name = "Unitframe Values", desc = "Used on all non-primary unit frames for health, power and misc values.\nUnits: pettarget, targettarget, focustarget, party, raid, raidpet, tank and assist." }, @@ -163,10 +188,12 @@ local FONT_INFO = { {"Bags", 7, "Fonts used in bag slots.", { ["bagdialog"] = { + order = 1, name = "Bag Slot Dialog", desc = "Default font used in bag and bank slots" }, ["bagnumber"] = { + order = 2, name = "Bag Slot Numbers", desc = "Font used in bag and bank slots to display numeric values." }, @@ -175,10 +202,12 @@ local FONT_INFO = { {"Tooltip", 8, "Fonts used in tooltips.", { ["tipdialog"] = { + order = 1, name = "Tooltip Dialog", desc = "Default font used in tooltips" }, ["tipheader"] = { + order = 2, name = "Tooltip Headers", desc = "Font used in tooltips to display large names." }, @@ -187,18 +216,22 @@ local FONT_INFO = { {"Loot", 9, "Fonts used in loot frames.", { ["lootdialog"] = { + order = 1, name = "Loot Frame Dialog", desc = "Default font used in the loot frame" }, ["lootnumber"] = { + order = 2, name = "Loot Frame Numbers", desc = "Font used in the loot frame to display numeric values." }, ["rolldialog"] = { + order = 3, name = "Roll Frame Dialog", desc = "Default font used in the loot-roll frame" }, ["rollnumber"] = { + order = 4, name = "Roll Frame Numbers", desc = "Font used in the loot-roll frame to display numeric values." }, @@ -207,15 +240,18 @@ local FONT_INFO = { {"Misc", 10, "Fonts used in various places including the docks.", { ["data"] = { + order = 1, name = "Docked Stats", desc = "Font used by the bottom and top data docks." }, ["narrator"] = { - name = "Narratives", + order = 2, + name = "Narratives", desc = "Font used for things like the 'Meanwhile' tag." }, ["pixel"] = { - name = "Pixel", + order = 3, + name = "Pixel", desc = "Tiniest fonts." }, }, @@ -225,7 +261,7 @@ local FONT_INFO = { local function GenerateFontGroup() local fontGroupArgs = {}; - for _, listData in pairs(FONT_INFO) do + for _, listData in ipairs(FONT_INFO) do local orderCount = 3; local groupName = listData[1]; local groupCount = listData[2]; @@ -252,7 +288,7 @@ local function GenerateFontGroup() }; for template, info in pairs(groupList) do fontGroupArgs[groupName].args[template] = { - order = orderCount, + order = orderCount + info.order, type = "group", guiInline = true, name = info.name, @@ -313,7 +349,6 @@ local function GenerateFontGroup() }, } } - orderCount = orderCount + 1; end end diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua index d3e3b9a..275f816 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua @@ -38,7 +38,7 @@ local playerName = UnitName("player") local profileKey = ("%s - %s"):format(playerName, playerRealm) SV.Options.args.profiles = { - order = 9999, + order = 9998, type = "group", name = L["Profiles"], childGroups = "tab", diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua index 845f555..4a373a9 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua @@ -509,7 +509,7 @@ function PLUGIN:Load() title:SetFrameStrata("MEDIUM") title:SetPoint("TOPLEFT",ModeLogsFrame,"TOPLEFT",0,0) title:SetPoint("BOTTOMRIGHT",ModeLogsFrame,"TOPRIGHT",0,-20) - title:FontManager("title") + title:SetFontObject(SystemFont_Shadow_Outline_Large) title:SetMaxLines(1) title:EnableMouseWheel(false) title:SetFading(false) @@ -533,7 +533,7 @@ function PLUGIN:Load() log:SetFrameStrata("MEDIUM") log:SetPoint("TOPLEFT",title,"BOTTOMLEFT",0,0) log:SetPoint("BOTTOMRIGHT",ModeLogsFrame,"BOTTOMRIGHT",0,0) - log:FontManager("default") + log:SetFontObject(SVUI_Font_Default) log:SetJustifyH("CENTER") log:SetJustifyV("MIDDLE") log:SetShadowColor(0, 0, 0, 0) diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua index 62d6960..31f41cb 100644 --- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua +++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua @@ -1085,7 +1085,7 @@ function PLUGIN:Load() title:SetFrameStrata("MEDIUM") title:SetPoint("TOPLEFT", toolBar, "TOPRIGHT",0,0) title:SetPoint("BOTTOMRIGHT", self.Docklet, "TOPRIGHT",0,-16) - title:FontManager("title") + title:SetFontObject(SystemFont_Shadow_Outline_Large) title:SetMaxLines(1) title:EnableMouseWheel(false) title:SetFading(false) @@ -1116,7 +1116,7 @@ function PLUGIN:Load() summary:SetFrameStrata("MEDIUM") summary:SetPoint("TOPLEFT", title, "BOTTOMLEFT",0,0) summary:SetPoint("BOTTOMRIGHT", title, "BOTTOMRIGHT",0,-14) - summary:FontManager("default") + summary:SetFontObject(SVUI_Font_Default) summary:SetMaxLines(1) summary:EnableMouse(false) summary:SetFading(false) diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua index ceb9044..24dbdf1 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua @@ -125,7 +125,7 @@ local function StyleAceGUI(event, addon) if not widget.styledCheckBG then widget.styledCheckBG = CreateFrame("Frame", nil, widget.frame) widget.styledCheckBG:SetAllPointsIn(widget.check) - PLUGIN:ApplyFixedFrameStyle(widget.styledCheckBG, "Inset") + PLUGIN:ApplyFixedFrameStyle(widget.styledCheckBG, "Checkbox") end widget.check:SetParent(widget.styledCheckBG) diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua index edf9b8b..6af3314 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua @@ -141,7 +141,7 @@ local StyleBossTitle = function() if not anchor.styled then local header = {anchor:GetRegions()} if header[1]:IsObjectType('FontString') then - header[1]:FontManager("default") + header[1]:SetFontObject(SVUI_Font_Default) header[1]:SetTextColor(1, 1, 1) header[1]:SetShadowColor(0, 0, 0, 0) anchor.styled = true @@ -189,8 +189,8 @@ local StyleBoss = function() bar:SetHeight(22) name:SetPointToScale('LEFT', bar, 'LEFT', 4, 0) timer:SetPointToScale('RIGHT', bar, 'RIGHT', -4, 0) - name:FontManager("dialog") - timer:FontManager("default") + name:SetFontObject(SpellFont_Small) + timer:SetFontObject(SVUI_Font_Default) count = count + 1 end end diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua index c9db229..28189f4 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua @@ -31,21 +31,13 @@ HELPERS ]]-- local RING_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\FOLLOWER-RING]] local LVL_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\FOLLOWER-LEVEL]] +local HIGHLIGHT_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]] local DEFAULT_COLOR = {r = 0.25, g = 0.25, b = 0.25}; --[[ ########################################################## STYLE ########################################################## ]]-- -_G.ATLAS_HACKS["MasterPlan_GarrPortraits"] = function(self, atlas) - local parent = self:GetParent() - self:ClearAllPoints() - self:SetPoint("TOPLEFT", parent, "TOPLEFT", -3, 0) - self:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", 3, -6) - self:SetTexture(RING_TEXTURE) - self:SetVertexColor(1, 0.86, 0) -end - local StyleRewardIcon = function(self) local icon = self.Icon or self.icon if(icon) then @@ -58,10 +50,72 @@ local StyleRewardIcon = function(self) end end +local MasterPlan_GarrPortraits = function(self, atlas) + local parent = self:GetParent() + self:ClearAllPoints() + self:SetPoint("TOPLEFT", parent, "TOPLEFT", -3, 0) + self:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", 3, -6) + self:SetTexture(RING_TEXTURE) + self:SetVertexColor(1, 0.86, 0) +end + +local GarrMission_Rewards = function(self) + local frame = self:GetParent() + if(frame and (not frame.Panel)) then + local size = frame:GetHeight() - 6 + frame:RemoveTextures() + frame:SetStylePanel("Default", 'Icon', true, 2) + hooksecurefunc(frame, "SetPoint", StyleRewardIcon) + end +end + +local GarrMission_Buttons = function(self) + local frame = self:GetParent() + if(frame) then + PLUGIN:ApplyItemButtonStyle(frame) + end +end + +local GarrMission_Highlights = function(self) + local parent = self:GetParent() + if(not parent.AtlasHighlight) then + local frame = parent:CreateTexture(nil, "HIGHLIGHT") + frame:SetAllPointsIn(parent,1,1) + frame:SetTexture(HIGHLIGHT_TEXTURE) + frame:SetGradientAlpha("VERTICAL",0.1,0.82,0.95,0.1,0.1,0.82,0.95,0.68) + parent.AtlasHighlight = frame + end + self:SetTexture("") +end + local function StyleMasterPlan() assert(MasterPlan, "AddOn Not Loaded") - _G.ATLAS_THIEF["Garr_FollowerPortrait_Ring"] = "MasterPlan_GarrPortraits"; + SV:SetAtlasFunc("MasterPlan_GarrPortraits", MasterPlan_GarrPortraits) + SV:SetAtlasFunc("GarrMission_Rewards", GarrMission_Rewards) + SV:SetAtlasFunc("GarrMission_Buttons", GarrMission_Buttons) + SV:SetAtlasFunc("GarrMission_Highlights", GarrMission_Highlights) + + SV:SetAtlasFilter("Garr_FollowerPortrait_Ring", "MasterPlan_GarrPortraits"); + SV:SetAtlasFilter("_GarrMission_MissionListTopHighlight", "GarrMission_Highlights") + SV:SetAtlasFilter("!GarrMission_Bg-Edge", "GarrMission_Buttons") + SV:SetAtlasFilter("GarrMission_RewardsShadow", "GarrMission_Rewards") + + SV:SetAtlasFilter("_GarrMission_TopBorder-Highlight"); + SV:SetAtlasFilter("GarrMission_ListGlow-Highlight"); + SV:SetAtlasFilter("GarrMission_TopBorderCorner-Highlight"); + SV:SetAtlasFilter("Garr_InfoBox-BackgroundTile"); + SV:SetAtlasFilter("_Garr_InfoBoxBorder-Top"); + SV:SetAtlasFilter("!Garr_InfoBoxBorder-Left"); + SV:SetAtlasFilter("!Garr_InfoBox-Left"); + SV:SetAtlasFilter("_Garr_InfoBox-Top"); + SV:SetAtlasFilter("Garr_InfoBoxBorder-Corner"); + SV:SetAtlasFilter("Garr_InfoBox-CornerShadow"); + SV:SetAtlasFilter("_GarrMission_Bg-BottomEdgeSmall"); + SV:SetAtlasFilter("_GarrMission_TopBorder"); + SV:SetAtlasFilter("GarrMission_TopBorderCorner"); + SV:SetAtlasFilter("Garr_MissionList-IconBG"); + PLUGIN:ApplyTabStyle(GarrisonMissionFrameTab3) PLUGIN:ApplyTabStyle(GarrisonMissionFrameTab4) diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua b/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua index 0d12225..5f835a0 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua @@ -38,93 +38,29 @@ local DEFAULT_COLOR = {r = 0.25, g = 0.25, b = 0.25}; STYLE ########################################################## ]]-- -local StyleRewardIcon = function(self) - local icon = self.Icon or self.icon - if(icon) then - local texture = icon:GetTexture() - icon:SetTexture(texture) - icon:SetTexCoord(0.1, 0.9, 0.1, 0.9) - icon:ClearAllPoints() - icon:SetAllPointsIn(self, 1, 1) - icon:SetDesaturated(false) - end -end - -_G.ATLAS_HACKS["GarrMission_Rewards"] = function(self) - local frame = self:GetParent() - if(frame and (not frame.Panel)) then - local size = frame:GetHeight() - 6 - frame:RemoveTextures() - frame:SetStylePanel("Default", 'Icon', true, 2) - hooksecurefunc(frame, "SetPoint", StyleRewardIcon) - end -end - -_G.ATLAS_HACKS["GarrMission_Buttons"] = function(self) - local frame = self:GetParent() - if(frame) then - PLUGIN:ApplyItemButtonStyle(frame) - end -end - -_G.ATLAS_HACKS["GarrMission_PortraitsFromLevel"] = function(self) +local GarrMission_PortraitsFromLevel = function(self) local parent = self:GetParent() if(parent.PortraitRing) then parent.PortraitRing:SetTexture(RING_TEXTURE) end end +SV:SetAtlasFunc("GarrMission_PortraitsFromLevel", GarrMission_PortraitsFromLevel) -_G.ATLAS_HACKS["GarrMission_Highlights"] = function(self) - local parent = self:GetParent() - if(not parent.AtlasHighlight) then - local frame = parent:CreateTexture(nil, "HIGHLIGHT") - frame:SetAllPointsIn(parent,1,1) - frame:SetTexture(HIGHLIGHT_TEXTURE) - frame:SetGradientAlpha("VERTICAL",0.1,0.82,0.95,0.1,0.1,0.82,0.95,0.68) - parent.AtlasHighlight = frame - end - self:SetTexture("") -end - -_G.ATLAS_HACKS["GarrMission_MaterialFrame"] = function(self) +local GarrMission_MaterialFrame = function(self) local frame = self:GetParent() frame:RemoveTextures() frame:SetStylePanel("Default", "Inset", true, 1, -5, -7) end +SV:SetAtlasFunc("GarrMission_MaterialFrame", GarrMission_MaterialFrame) ---_G.ATLAS_THIEF["GarrMission_MissionParchment"] = "default"; ---_G.ATLAS_THIEF["GarrMission_RareOverlay"] = "GarrMission_Buttons"; - -_G.ATLAS_THIEF["_GarrMission_MissionListTopHighlight"] = "GarrMission_Highlights"; -_G.ATLAS_THIEF["_GarrMission_TopBorder-Highlight"] = "default"; -_G.ATLAS_THIEF["GarrMission_ListGlow-Highlight"] = "default"; -_G.ATLAS_THIEF["GarrMission_TopBorderCorner-Highlight"] = "default"; - -_G.ATLAS_THIEF["Garr_FollowerToast-Uncommon"] = "default"; -_G.ATLAS_THIEF["Garr_FollowerToast-Epic"] = "default"; -_G.ATLAS_THIEF["Garr_FollowerToast-Rare"] = "default"; - -_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Horde-Up"] = "default"; -_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Horde-Down"] = "default"; -_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Alliance-Up"] = "default"; -_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Alliance-Down"] = "default"; - -_G.ATLAS_THIEF["Garr_InfoBox-BackgroundTile"] = "default"; -_G.ATLAS_THIEF["_Garr_InfoBoxBorder-Top"] = "default"; -_G.ATLAS_THIEF["!Garr_InfoBoxBorder-Left"] = "default"; -_G.ATLAS_THIEF["!Garr_InfoBox-Left"] = "default"; -_G.ATLAS_THIEF["_Garr_InfoBox-Top"] = "default"; - -_G.ATLAS_THIEF["Garr_InfoBoxBorder-Corner"] = "default"; -_G.ATLAS_THIEF["Garr_InfoBox-CornerShadow"] = "default"; -_G.ATLAS_THIEF["Garr_Mission_MaterialFrame"] = "GarrMission_MaterialFrame"; - -_G.ATLAS_THIEF["!GarrMission_Bg-Edge"] = "GarrMission_Buttons"; -_G.ATLAS_THIEF["_GarrMission_Bg-BottomEdgeSmall"] = "default"; -_G.ATLAS_THIEF["_GarrMission_TopBorder"] = "default"; -_G.ATLAS_THIEF["GarrMission_TopBorderCorner"] = "default"; -_G.ATLAS_THIEF["Garr_MissionList-IconBG"] = "default"; +SV:SetAtlasFilter("GarrMission_PortraitRing_LevelBorder", "GarrMission_PortraitsFromLevel") +SV:SetAtlasFilter("GarrMission_PortraitRing_iLvlBorder", "GarrMission_PortraitsFromLevel") +SV:SetAtlasFilter("Garr_Mission_MaterialFrame", "GarrMission_MaterialFrame") -_G.ATLAS_THIEF["GarrMission_RewardsShadow"] = "GarrMission_Rewards"; -_G.ATLAS_THIEF["GarrMission_PortraitRing_LevelBorder"] = "GarrMission_PortraitsFromLevel"; -_G.ATLAS_THIEF["GarrMission_PortraitRing_iLvlBorder"] = "GarrMission_PortraitsFromLevel"; \ No newline at end of file +SV:SetAtlasFilter("Garr_FollowerToast-Uncommon"); +SV:SetAtlasFilter("Garr_FollowerToast-Epic"); +SV:SetAtlasFilter("Garr_FollowerToast-Rare"); +SV:SetAtlasFilter("GarrLanding-MinimapIcon-Horde-Up"); +SV:SetAtlasFilter("GarrLanding-MinimapIcon-Horde-Down"); +SV:SetAtlasFilter("GarrLanding-MinimapIcon-Alliance-Up"); +SV:SetAtlasFilter("GarrLanding-MinimapIcon-Alliance-Down"); \ No newline at end of file diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua index e07ff68..788b821 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua @@ -114,7 +114,7 @@ local function ChannelList_OnUpdate() if btn then btn:RemoveTextures() btn:SetHighlightTexture("Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight") - _G["ChannelButton"..i.."Text"]:FontManager("default") + _G["ChannelButton"..i.."Text"]:SetFontObject(SVUI_Font_Default) end end end @@ -192,7 +192,7 @@ local function FriendsFrameStyle() FriendsFrameBattlenetFrame.BroadcastButton:SetScript('OnClick', function() SV:StaticPopup_Show("SET_BN_BROADCAST") end) - FriendsFrameBattlenetFrame.Tag:FontManager("narrator") + FriendsFrameBattlenetFrame.Tag:SetFontObject(SVUI_Font_Narrator) AddFriendNameEditBox:SetStylePanel("Editbox") AddFriendFrame:SetStylePanel("Fixed", "Transparent", true) ScrollOfResurrectionSelectionFrame:SetStylePanel("Fixed", 'Transparent') diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua index c8cfc00..55cb69e 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua @@ -402,9 +402,9 @@ local function LoadGarrisonStyle() GarrisonMissionFrame.MissionTab.MissionPage:SetPanelColor("special") local missionChance = GarrisonMissionFrame.MissionTab.MissionPage.RewardsFrame.Chance; - missionChance:FontManager("number_big") + missionChance:SetFontObject(SVUI_Font_Number_Huge) local chanceLabel = GarrisonMissionFrame.MissionTab.MissionPage.RewardsFrame.ChanceLabel - chanceLabel:FontManager("header", nil, -4) + chanceLabel:SetFontObject(SVUI_Font_Header) chanceLabel:ClearAllPoints() chanceLabel:SetPoint("TOP", missionChance, "BOTTOM", 0, -8) diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua b/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua index 602e21b..fd96f7e 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua @@ -241,7 +241,7 @@ function PLUGIN:ApplyItemButtonStyle(frame, adjust, shrink, noScript) if(countObject) then countObject:SetParent(frame.Riser) countObject:SetAllPoints(frame.Riser) - countObject:FontManager("number") + countObject:SetFontObject(SVUI_Font_Number) countObject:SetDrawLayer("ARTWORK", 7) end @@ -251,7 +251,7 @@ function PLUGIN:ApplyItemButtonStyle(frame, adjust, shrink, noScript) if(levelObject) then levelObject:SetParent(frame.Riser) - levelObject:FontManager("number") + levelObject:SetFontObject(SVUI_Font_Number) levelObject:SetDrawLayer("ARTWORK", 7) end