X-Git-Url: https://www.aleksib.fi/git/wowui.git/blobdiff_plain/290e5ed3b990ff79225e9048b24166614bf1f8a1..555cd132c0888aa8f31370eddbe214d6d830195b:/OmaRF/RaidFrame.lua diff --git a/OmaRF/RaidFrame.lua b/OmaRF/RaidFrame.lua index dc5a7a7..461d4dc 100644 --- a/OmaRF/RaidFrame.lua +++ b/OmaRF/RaidFrame.lua @@ -6,6 +6,8 @@ local UnitHealthMax, UnitPowerMax = UnitHealthMax, UnitPowerMax; local UnitInRange = UnitInRange; local CreateFrame, RegisterStateDriver, RegisterUnitWatch = CreateFrame, RegisterStateDriver, RegisterUnitWatch; local STANDARD_TEXT_FONT = STANDARD_TEXT_FONT; +local GameTooltip = nil; +local GameTooltip_SetDefaultAnchor = nil; local registerEvents = OmaRFEvents.RegisterEvents; local unitEvent = OmaRFEvents.UnitEvent; @@ -104,6 +106,15 @@ local function frameHide(frame) frame:SetScript("OnUpdate", nil); end +local function showTooltip(frame) + GameTooltip_SetDefaultAnchor(GameTooltip, PlayerFrame); + GameTooltip:SetUnit(frame:GetAttribute("unit")); +end + +local function hideTooltip(frame) + GameTooltip:FadeOut(); +end + local function setupFrame(frame, secure, unit) secure:SetAttribute("unit", unit); frame:SetAttribute("unit", unit); @@ -194,6 +205,11 @@ local function setupFrame(frame, secure, unit) frame:SetScript("OnShow", frameShow); frame:SetScript("OnHide", frameHide); frame:SetScript("OnEvent", unitEvent); + -- let other addons hook these to anchor tooltip elsewhere + GameTooltip = _G["GameTooltip"]; + GameTooltip_SetDefaultAnchor = _G["GameTooltip_SetDefaultAnchor"]; + secure:SetScript("OnEnter", showTooltip); + secure:SetScript("OnLeave", hideTooltip); -- set attributes secure:RegisterForClicks("AnyDown"); for attr, val in pairs(attributes) do