Files
pfUI/skins/blizzard/options-video.lua
T
Brues 3fe072c594 Route hooksecurefunc callers through pfUI.hooksecurefunc; global belongs to ClassicAPI
pfUI's Lua hooksecurefunc lived in pfUI.env and shadowed ClassicAPI's C
global for all pfUI code. Replace it with a thin pfUI.hooksecurefunc shim
that keeps the missing-target no-op our call sites rely on (ClassicAPI
errors on a nil target) and delegates the actual hook to _G.hooksecurefunc.

Migrated all 70 internal call sites (modules/libs/skins) to
pfUI.hooksecurefunc; bare hooksecurefunc now resolves to ClassicAPI's C
version everywhere. Dropped the unused prepend path and the orphaned
pfUI.hooks table.
2026-07-05 14:58:26 -05:00

89 lines
3.0 KiB
Lua

pfUI:RegisterSkin("Options - Video", function ()
-- on new PTR, OptionsFrameCategoryList exists meaning new combined panel is used
if OptionsFrameCategoryList then return end
local rawborder, border = GetBorderSize()
local bpad = rawborder > 1 and border - GetPerfectPixel() or GetPerfectPixel()
-- Compatibility
local MAX_SLIDERS, MAX_CHECKBOXES
if OptionsFrameSlider10 then -- tbc
MAX_SLIDERS = 11
MAX_CHECKBOXES = 19
for i=1, MAX_SLIDERS do
local slider = _G["OptionsFrameSlider"..i]
local shift = 0
if i == 4 or i == 5 or i == 7 or i == 8 or i == 10 or i == 11 then shift = 10 end
local point, anchor, anchorPoint, x, y = slider:GetPoint()
slider:ClearAllPoints()
slider:SetPoint(point, anchor, anchorPoint, x, y - shift)
end
pfUI.hooksecurefunc("OptionsFrame_Load", function()
OptionsFramePixelShaders:SetWidth(230)
OptionsFrameMiscellaneous:ClearAllPoints()
OptionsFrameMiscellaneous:SetPoint("LEFT", OptionsFramePixelShaders, "RIGHT", 6, 0)
end)
OptionsFrameDefaults:ClearAllPoints()
OptionsFrameDefaults:SetPoint("TOPLEFT", OptionsFramePixelShaders, "BOTTOMLEFT", 0, -10)
OptionsFrameCancel:ClearAllPoints()
OptionsFrameCancel:SetPoint("TOPRIGHT", OptionsFrameMiscellaneous, "BOTTOMRIGHT", 0, -10)
else -- vanilla
MAX_SLIDERS = 9
MAX_CHECKBOXES = 18
for i=1, MAX_SLIDERS do
local slider = _G["OptionsFrameSlider"..i]
local shift = 0
if i == 1 or i == 6 then shift = 4
elseif i == 4 or i == 8 then shift = 10
end
local point, anchor, anchorPoint, x, y = slider:GetPoint()
slider:ClearAllPoints()
slider:SetPoint(point, anchor, anchorPoint, x, y - shift)
end
end
CreateBackdrop(OptionsFrame, nil, nil, .75)
CreateBackdropShadow(OptionsFrame)
EnableMovable(OptionsFrame)
HookScript(OptionsFrame, "OnShow", function()
this:ClearAllPoints()
this:SetPoint("CENTER", 0, 0)
end)
OptionsFrameHeader:SetTexture("")
local OptionsFrameHeaderText = GetNoNameObject(OptionsFrame, "FontString", "ARTWORK", VIDEOOPTIONS_MENU)
OptionsFrameHeaderText:ClearAllPoints()
OptionsFrameHeaderText:SetPoint("TOP", OptionsFrame.backdrop, "TOP", 0, -10)
CreateBackdrop(OptionsFrameDisplay, nil, true, .75)
CreateBackdrop(OptionsFrameWorldAppearance, nil, true, .75)
CreateBackdrop(OptionsFrameBrightness, nil, true, .75)
CreateBackdrop(OptionsFramePixelShaders, nil, true, .75)
CreateBackdrop(OptionsFrameMiscellaneous, nil, true, .75)
SkinButton(OptionsFrameDefaults)
SkinButton(OptionsFrameCancel)
SkinButton(OptionsFrameOkay)
OptionsFrameOkay:ClearAllPoints()
OptionsFrameOkay:SetPoint("RIGHT", OptionsFrameCancel, "LEFT", -2*bpad, 0)
SkinDropDown(OptionsFrameResolutionDropDown)
SkinDropDown(OptionsFrameRefreshDropDown)
SkinDropDown(OptionsFrameMultiSampleDropDown)
for i=1, MAX_SLIDERS do
SkinSlider(_G["OptionsFrameSlider"..i])
end
for i=1, MAX_CHECKBOXES do
local btn = _G["OptionsFrameCheckButton"..i]
if btn then
SkinCheckbox(btn, 28)
end
end
end)