mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-22 15:46:56 +00:00
core: add option to use blizzard borders
This commit is contained in:
+22
-3
@@ -983,6 +983,11 @@ function pfUI.api.CreateBackdrop(f, inset, legacy, transp, backdropSetting)
|
||||
border = inset
|
||||
end
|
||||
|
||||
-- detect if blizzard backdrops shall be used
|
||||
local blizz = C.appearance.border.force_blizz == "1" and true or nil
|
||||
backdrop = blizz and pfUI.backdrop_blizz_full or rawborder == 1 and pfUI.backdrop_thin or pfUI.backdrop
|
||||
border = blizz and math.max(border, 3) or border
|
||||
|
||||
-- get the color settings
|
||||
br, bg, bb, ba = pfUI.api.GetStringColor(pfUI_config.appearance.border.background)
|
||||
er, eg, eb, ea = pfUI.api.GetStringColor(pfUI_config.appearance.border.color)
|
||||
@@ -991,7 +996,6 @@ function pfUI.api.CreateBackdrop(f, inset, legacy, transp, backdropSetting)
|
||||
|
||||
-- use legacy backdrop handling
|
||||
if legacy then
|
||||
backdrop = rawborder == 1 and pfUI.backdrop_thin or pfUI.backdrop
|
||||
if backdropSetting then f:SetBackdrop(backdropSetting) end
|
||||
f:SetBackdrop(backdrop)
|
||||
f:SetBackdropColor(br, bg, bb, ba)
|
||||
@@ -1019,10 +1023,25 @@ function pfUI.api.CreateBackdrop(f, inset, legacy, transp, backdropSetting)
|
||||
|
||||
f.backdrop:SetPoint("TOPLEFT", f, "TOPLEFT", -border, border)
|
||||
f.backdrop:SetPoint("BOTTOMRIGHT", f, "BOTTOMRIGHT", border, -border)
|
||||
f.backdrop:SetBackdrop(rawborder > 1 and pfUI.backdrop or pfUI.backdrop_thin)
|
||||
|
||||
f.backdrop:SetBackdrop(backdrop)
|
||||
f.backdrop:SetBackdropColor(br, bg, bb, ba)
|
||||
f.backdrop:SetBackdropBorderColor(er, eg, eb , ea)
|
||||
|
||||
if blizz then
|
||||
if not f.backdrop_border then
|
||||
local border = CreateFrame("Frame", nil, f)
|
||||
border:SetFrameLevel(level + 1)
|
||||
f.backdrop_border = border
|
||||
end
|
||||
|
||||
f.backdrop.SetBackdropBorderColor = function(self, r, g, b, a)
|
||||
f.backdrop_border:SetBackdropBorderColor(r,g,b,a)
|
||||
end
|
||||
|
||||
f.backdrop_border:SetAllPoints(f.backdrop)
|
||||
f.backdrop_border:SetBackdrop(pfUI.backdrop_blizz_border)
|
||||
f.backdrop_border:SetBackdropBorderColor(er, eg, eb , ea)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -122,11 +122,13 @@ function pfUI:LoadConfig()
|
||||
pfUI:UpdateConfig("buffbar", "tdebuff", "whitelist", "")
|
||||
pfUI:UpdateConfig("buffbar", "tdebuff", "blacklist", "")
|
||||
|
||||
pfUI:UpdateConfig("appearance", "border", "background", "0,0,0,1")
|
||||
pfUI:UpdateConfig("appearance", "border", "background", "0,0,0,1")
|
||||
pfUI:UpdateConfig("appearance", "border", "color", "0.2,0.2,0.2,1")
|
||||
pfUI:UpdateConfig("appearance", "border", "shadow", "0")
|
||||
pfUI:UpdateConfig("appearance", "border", "shadow_intensity", ".35")
|
||||
pfUI:UpdateConfig("appearance", "border", "pixelperfect", "1")
|
||||
pfUI:UpdateConfig("appearance", "border", "force_blizz", "0")
|
||||
pfUI:UpdateConfig("appearance", "border", "hidpi", "1")
|
||||
pfUI:UpdateConfig("appearance", "border", "default", "3")
|
||||
pfUI:UpdateConfig("appearance", "border", "nameplates", "-1")
|
||||
|
||||
@@ -874,6 +874,11 @@ function pfUI.api.SkinCheckbox(frame, size)
|
||||
end
|
||||
CreateBackdrop(frame)
|
||||
SetAllPointsOffset(frame.backdrop, frame, 4)
|
||||
|
||||
if frame.backdrop_border then
|
||||
-- make sure the blizzard border doesn't overlap the checkmark
|
||||
frame.backdrop_border:SetFrameLevel(frame.backdrop:GetFrameLevel())
|
||||
end
|
||||
end
|
||||
|
||||
function pfUI.api.SkinDropDown(frame, cr, cg, cb, useSmall)
|
||||
|
||||
@@ -1504,6 +1504,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
|
||||
CreateConfig(nil, T["Enable Frame Shadow"], C.appearance.border, "shadow", "checkbox")
|
||||
CreateConfig(nil, T["Frame Shadow Intensity"], C.appearance.border, "shadow_intensity", "dropdown", pfUI.gui.dropdowns.uf_debuff_indicator_size)
|
||||
CreateConfig(nil) -- spacer
|
||||
CreateConfig(nil, T["Force Blizzard Borders (|cffffaaaaExperimental|r)"], C.appearance.border, "force_blizz", "checkbox")
|
||||
CreateConfig(nil, T["Enable Pixel Perfect Borders"], C.appearance.border, "pixelperfect", "checkbox")
|
||||
CreateConfig(nil, T["Scale Border On HiDPI Displays"], C.appearance.border, "hidpi", "checkbox")
|
||||
CreateConfig(nil) -- spacer
|
||||
|
||||
@@ -317,6 +317,22 @@ pfUI.backdrop_shadow = {
|
||||
insets = {left = 0, right = 0, top = 0, bottom = 0},
|
||||
}
|
||||
|
||||
pfUI.backdrop_blizz_bg = {
|
||||
bgFile = "Interface\\BUTTONS\\WHITE8X8", tile = true, tileSize = 8,
|
||||
insets = { left = 3, right = 3, top = 3, bottom = 3 }
|
||||
}
|
||||
|
||||
pfUI.backdrop_blizz_border = {
|
||||
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 12,
|
||||
insets = { left = 3, right = 3, top = 3, bottom = 3 }
|
||||
}
|
||||
|
||||
pfUI.backdrop_blizz_full = {
|
||||
bgFile = "Interface\\BUTTONS\\WHITE8X8", tile = true, tileSize = 8,
|
||||
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 12,
|
||||
insets = { left = 3, right = 3, top = 3, bottom = 3 }
|
||||
}
|
||||
|
||||
message = function(msg)
|
||||
DEFAULT_CHAT_FRAME:AddMessage("|cffcccc33INFO: |cffffff55" .. ( msg or "nil" ))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user