Files
coa-elvui/ElvUI/Modules/Skins/Blizzard/Worldmap.lua
T
2025-03-19 22:47:26 -07:00

204 lines
8.1 KiB
Lua

local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local S = E:GetModule("Skins")
--Lua functions
--WoW API / Variables
S:AddCallback("Skin_WorldMap", function()
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.worldmap then return end
WorldMapFrame:DisableDrawLayer("BACKGROUND")
WorldMapFrame:DisableDrawLayer("ARTWORK")
WorldMapFrame:DisableDrawLayer("OVERLAY")
WorldMapFrame:CreateBackdrop("Transparent")
WorldMapFrame.backdrop:Point("TOPRIGHT", WorldMapFrameCloseButton, -3, 0)
WorldMapFrame.backdrop:Point("BOTTOMRIGHT", WorldMapTrackQuest, 0, -3)
WorldMapFrame:SetClampRectInsets(3, 0, 2, 1)
WorldMapFrameTitle:SetDrawLayer("BORDER")
WorldMapTitleButton:Width(530)
WorldMapTitleButton:Point("TOPLEFT", WorldMapFrameMiniBorderLeft, "TOPLEFT", 4, 1)
WorldMapDetailFrame:CreateBackdrop()
WorldMapDetailFrame.backdrop:Point("TOPLEFT", -2, 2)
WorldMapDetailFrame.backdrop:Point("BOTTOMRIGHT", 2, -1)
WorldMapQuestDetailScrollFrame:Width(348)
WorldMapQuestDetailScrollFrame:Point("BOTTOMLEFT", WorldMapDetailFrame, "BOTTOMLEFT", -25, -207)
WorldMapQuestDetailScrollFrame:CreateBackdrop("Transparent")
WorldMapQuestDetailScrollFrame.backdrop:Point("TOPLEFT", 24, 2)
WorldMapQuestDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 23, -4)
WorldMapQuestDetailScrollFrame.backdrop:SetFrameLevel(WorldMapQuestDetailScrollFrame:GetFrameLevel())
WorldMapQuestDetailScrollFrame:SetHitRectInsets(24, -23, 0, -2)
WorldMapQuestDetailScrollChildFrame:SetScale(1)
WorldMapQuestDetailScrollFrameTrack:Kill()
WorldMapQuestRewardScrollFrame:Width(320)
WorldMapQuestRewardScrollFrame:Point("LEFT", WorldMapQuestDetailScrollFrame, "RIGHT", -2, 0)
WorldMapQuestRewardScrollFrame:CreateBackdrop("Transparent")
WorldMapQuestRewardScrollFrame.backdrop:Point("TOPLEFT", -3, 2)
WorldMapQuestRewardScrollFrame.backdrop:Point("BOTTOMRIGHT", 21, 0)
WorldMapQuestRewardScrollFrame.backdrop:SetFrameLevel(WorldMapQuestRewardScrollFrame:GetFrameLevel())
S:HandleButton(WorldMapQuestRewardScrollFrameShareButton)
WorldMapQuestRewardScrollFrameShareButton:Width(120)
S:HandleButton(WorldMapQuestRewardScrollFrameAbandonButton)
WorldMapQuestRewardScrollFrameAbandonButton:Width(120)
S:HandleButton(WorldMapQuestRewardScrollFrameAbandonFrameYesButton)
S:HandleButton(WorldMapQuestRewardScrollFrameAbandonFrameNoButton)
WorldMapQuestRewardScrollChildFrame:SetScale(1)
WorldMapQuestRewardScrollFrameTrack:SetTexture()
WorldMapQuestScrollFrame:Point("TOPLEFT", WorldMapDetailFrame, "TOPRIGHT", 6, -1)
WorldMapQuestScrollFrame:CreateBackdrop("Transparent")
WorldMapQuestScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
WorldMapQuestScrollFrame.backdrop:Point("BOTTOMRIGHT", 25, -1)
WorldMapQuestScrollFrame.backdrop:SetFrameLevel(WorldMapQuestScrollFrame:GetFrameLevel())
WorldMapQuestSelectBar:SetTexture(E.Media.Textures.Highlight)
WorldMapQuestSelectBar:SetAlpha(0.35)
WorldMapQuestHighlightBar:SetTexture(E.Media.Textures.Highlight)
WorldMapQuestHighlightBar:SetAlpha(0.35)
S:HandleScrollBar(WorldMapQuestScrollFrameScrollBar)
S:HandleScrollBar(WorldMapQuestDetailScrollFrameScrollBar)
S:HandleScrollBar(WorldMapQuestRewardScrollFrameScrollBar)
WorldMapQuestScrollFrameScrollBar:Point("TOPLEFT", WorldMapQuestScrollFrame, "TOPRIGHT", 5, -19)
WorldMapQuestScrollFrameScrollBar:Point("BOTTOMLEFT", WorldMapQuestScrollFrame, "BOTTOMRIGHT", 5, 20)
WorldMapQuestDetailScrollFrameScrollBar:Point("TOPLEFT", WorldMapQuestDetailScrollFrame, "TOPRIGHT", 3, -19)
WorldMapQuestDetailScrollFrameScrollBar:Point("BOTTOMLEFT", WorldMapQuestDetailScrollFrame, "BOTTOMRIGHT", 3, 17)
WorldMapQuestRewardScrollFrameScrollBar:Point("TOPLEFT", WorldMapQuestRewardScrollFrame, "TOPRIGHT", 2, -19)
WorldMapQuestRewardScrollFrameScrollBar:Point("BOTTOMLEFT", WorldMapQuestRewardScrollFrame, "BOTTOMRIGHT", 2, 17)
S:HandleCloseButton(WorldMapFrameCloseButton)
WorldMapFrameSizeDownButton:ClearAllPoints()
WorldMapFrameSizeDownButton:Point("RIGHT", WorldMapFrameCloseButton, "LEFT", 4, 0)
WorldMapFrameSizeDownButton.SetPoint = E.noop
WorldMapFrameSizeDownButton:GetHighlightTexture():Kill()
S:HandleNextPrevButton(WorldMapFrameSizeDownButton, "down", nil, true)
WorldMapFrameSizeDownButton:Size(26)
WorldMapFrameSizeUpButton:ClearAllPoints()
WorldMapFrameSizeUpButton:Point("RIGHT", WorldMapFrameCloseButton, "LEFT", 4, 0)
WorldMapFrameSizeUpButton:GetHighlightTexture():Kill()
S:HandleNextPrevButton(WorldMapFrameSizeUpButton, "up", nil, true)
WorldMapFrameSizeUpButton:Size(26)
S:HandleDropDownBox(WorldMapLevelDropDown)
S:HandleDropDownBox(WorldMapZoneMinimapDropDown)
S:HandleDropDownBox(WorldMapContinentDropDown)
S:HandleDropDownBox(WorldMapZoneDropDown)
WorldMapLevelUpButton:Point("TOPLEFT", WorldMapLevelDropDown, "TOPRIGHT", -6, 4)
WorldMapLevelDownButton:Point("BOTTOMLEFT", WorldMapLevelDropDown, "BOTTOMRIGHT", -6, 0)
S:HandleButton(WorldMapZoomOutButton)
WorldMapZoomOutButton:Point("LEFT", WorldMapZoneDropDown, "RIGHT", 0, 3)
S:HandleCheckBox(WorldMapTrackQuest)
S:HandleCheckBox(WorldMapQuestShowObjectives)
WorldMapFrameAreaLabel:FontTemplate(nil, 50, "OUTLINE")
WorldMapFrameAreaLabel:SetShadowOffset(2, -2)
WorldMapFrameAreaLabel:SetTextColor(0.90, 0.8294, 0.6407)
WorldMapFrameAreaDescription:FontTemplate(nil, 40, "OUTLINE")
WorldMapFrameAreaDescription:SetShadowOffset(2, -2)
WorldMapZoneInfo:FontTemplate(nil, 27, "OUTLINE")
WorldMapZoneInfo:SetShadowOffset(2, -2)
WorldMapLevelDropDown.SetPoint = E.noop
local setPoint = UIParent.SetPoint
local currentMapMode
local function SmallSkin()
if WORLDMAP_SETTINGS.advanced then
if currentMapMode == 0 then return end
currentMapMode = 0
WorldMapFrame.backdrop:Point("TOPLEFT", 3, 2)
WorldMapFrame.backdrop:Point("TOPRIGHT", WorldMapFrameCloseButton, -3, 0)
WorldMapDetailFrame.backdrop:Point("TOPLEFT", -2, 2)
WorldMapDetailFrame.backdrop:Point("BOTTOMRIGHT", 1, -1)
setPoint(WorldMapLevelDropDown, "TOPRIGHT", WorldMapPositioningGuide, "TOPRIGHT", -419, -24)
else
if currentMapMode == 1 then return end
currentMapMode = 1
WorldMapFrame.backdrop:Point("TOPLEFT", 11, -12)
WorldMapFrame.backdrop:Point("TOPRIGHT", WorldMapFrameCloseButton, -1, 0)
WorldMapDetailFrame.backdrop:Point("TOPLEFT", -2, 2)
WorldMapDetailFrame.backdrop:Point("BOTTOMRIGHT", 2, -1)
setPoint(WorldMapLevelDropDown, "TOPRIGHT", WorldMapPositioningGuide, "TOPRIGHT", -439, -38)
end
end
local function LargeSkin()
if currentMapMode == 2 then return end
currentMapMode = 2
WorldMapFrame.backdrop:Point("TOPLEFT", WorldMapDetailFrame, "TOPLEFT", -8, 70)
WorldMapFrame.backdrop:Point("TOPRIGHT", WorldMapFrameCloseButton, -3, 0)
WorldMapDetailFrame.backdrop:Point("TOPLEFT", -1, 1)
WorldMapDetailFrame.backdrop:Point("BOTTOMRIGHT", 1, -1)
setPoint(WorldMapLevelDropDown, "TOPRIGHT", WorldMapPositioningGuide, "TOPRIGHT", -50, -35)
end
local function QuestSkin()
if currentMapMode == 3 then return end
currentMapMode = 3
WorldMapFrame.backdrop:Point("TOPLEFT", WorldMapDetailFrame, "TOPLEFT", -9, 70)
WorldMapFrame.backdrop:Point("TOPRIGHT", WorldMapFrameCloseButton, -3, 0)
WorldMapDetailFrame.backdrop:Point("TOPLEFT", -1, 1)
WorldMapDetailFrame.backdrop:Point("BOTTOMRIGHT", 1, -1)
setPoint(WorldMapLevelDropDown, "TOPRIGHT", WorldMapPositioningGuide, "TOPRIGHT", -50, -35)
end
local function FixSkin()
if WORLDMAP_SETTINGS.size == WORLDMAP_FULLMAP_SIZE then
LargeSkin()
elseif WORLDMAP_SETTINGS.size == WORLDMAP_WINDOWED_SIZE then
SmallSkin()
elseif WORLDMAP_SETTINGS.size == WORLDMAP_QUESTLIST_SIZE then
QuestSkin()
end
end
if not E.private.worldmap.enable then
WorldMapFrame:EnableMouse(false)
WorldMapFrame.EnableMouse = E.noop
end
WorldMapTitleButton:Hide()
WorldMapFrame.backdrop:EnableMouse(true)
FixSkin()
S:SetUIPanelWindowInfo(WorldMapFrame, "width", 594)
hooksecurefunc("WorldMapFrame_SetQuestMapView", QuestSkin)
hooksecurefunc("WorldMapFrame_SetFullMapView", LargeSkin)
hooksecurefunc("WorldMapFrame_SetMiniMode", SmallSkin)
hooksecurefunc("ToggleMapFramerate", FixSkin)
hooksecurefunc("WorldMapFrame_ToggleAdvanced", FixSkin)
end)