From 0ab382e319551eb980693d45bd76bc1e361599b0 Mon Sep 17 00:00:00 2001 From: urnati Date: Tue, 26 Oct 2021 00:47:07 -0400 Subject: [PATCH] - Change for 9.5.1 - Getting an error on mouseover of Titan bar and plugins. Blizzard removed the backdrop from the GameTooltip frame. - Change for 9.5.1 - A backdrop used by the UIDropdown lib was removed by Blizzard so a new one was copied and used. --- Titan/TitanPanelTemplate.lua | 75 ++++++++++---------- .../LibUIDropDownMenu/LibUIDropDownMenu.lua | 13 +++- 2 files changed, 48 insertions(+), 40 deletions(-) diff --git a/Titan/TitanPanelTemplate.lua b/Titan/TitanPanelTemplate.lua index 97b4da8..b2275cf 100644 --- a/Titan/TitanPanelTemplate.lua +++ b/Titan/TitanPanelTemplate.lua @@ -91,6 +91,21 @@ local function TitanTooltip_AddTooltipText(text) end end +local back_drop_info = + { + bgFile="Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile="Interface\\Tooltips\\UI-Tooltip-Border", + tile = true, + insets = { + left = 6, + right = 6, + top = 3, + bottom = 3, + }, + tileSize = 8, + edgeSize = 8, + } + --[[ local NAME: TitanTooltip_SetOwnerPosition DESC: Set both the parent and the position of GameTooltip for the plugin tooltip. @@ -107,15 +122,32 @@ local function TitanTooltip_SetOwnerPosition(parent, anchorPoint, relativeToFram if not frame then frame = _G["GameTooltip"] end + -- Changes for 9.1.5. The background template was removed from the GameTooltip + local tip_name = frame:GetName() + + local tip_back_name = tip_name.."Backdrop" + local tip_back_frame = _G[tip_back_name] or CreateFrame("Frame", tip_back_name, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + tip_back_frame:SetFrameLevel(frame:GetFrameLevel() - 1) -- By creating this after the parent, need to set it behind the parent + + tip_back_frame:SetAllPoints() + tip_back_frame:SetBackdrop(back_drop_info) + -- set alpha (transparency) for the Game Tooltip + local tool_trans = TitanPanelGetVar("TooltipTrans") + tip_back_frame:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, tool_trans) + tip_back_frame:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b, tool_trans) + frame.MenuBackdrop = tip_back_frame + frame:SetOwner(parent, "ANCHOR_NONE"); frame:SetPoint(anchorPoint, relativeToFrame, relativePoint, xOffset, yOffset); +--[[ -- set alpha (transparency) for the Game Tooltip - local red, green, blue = frame:GetBackdropColor(); - local red2, green2, blue2 = frame:GetBackdropBorderColor(); + local red, green, blue = tip_back_frame:GetBackdropColor(); + local red2, green2, blue2 = tip_back_frame:GetBackdropBorderColor(); local tool_trans = TitanPanelGetVar("TooltipTrans") - frame:SetBackdropColor(red,green,blue,tool_trans); - frame:SetBackdropBorderColor(red2,green2,blue2,tool_trans); + tip_back_frame:SetBackdropColor(red,green,blue,tool_trans); + tip_back_frame:SetBackdropBorderColor(red2,green2,blue2,tool_trans); +--]] -- set font size for the Game Tooltip if not TitanPanelGetVar("DisableTooltipFont") then if TitanTooltipScaleSet < 1 then @@ -458,41 +490,6 @@ local function TitanPanelButton_OnDragStop(self, ChildButton) end end ---[[ local -NAME: TitanTooltip_SetOwnerPosition -DESC: Set both the parent and the position of GameTooltip for the plugin tooltip. -VAR: parent - reference to the frame to attach the tooltip to -VAR: anchorPoint - tooltip anchor location (side or corner) to use -VAR: relativeToFrame - string name name of the frame, usually the plugin), to attach the tooltip to -VAR: relativePoint - parent anchor location (side or corner) to use -VAR: xOffset - X offset from the anchor point -VAR: yOffset - Y offset from the anchor point -VAR: frame - reference to the tooltip -OUT: None ---]] -local function TitanTooltip_SetOwnerPosition(parent, anchorPoint, relativeToFrame, relativePoint, xOffset, yOffset, frame) - if not frame then - frame = _G["GameTooltip"] - end - frame:SetOwner(parent, "ANCHOR_NONE"); - frame:SetPoint(anchorPoint, relativeToFrame, relativePoint, - xOffset, yOffset); - -- set alpha (transparency) for the Game Tooltip - local red, green, blue = frame:GetBackdropColor(); - local red2, green2, blue2 = frame:GetBackdropBorderColor(); - local tool_trans = TitanPanelGetVar("TooltipTrans") - frame:SetBackdropColor(red,green,blue,tool_trans); - frame:SetBackdropBorderColor(red2,green2,blue2,tool_trans); - -- set font size for the Game Tooltip - if not TitanPanelGetVar("DisableTooltipFont") then - if TitanTooltipScaleSet < 1 then - TitanTooltipOrigScale = frame:GetScale(); - TitanTooltipScaleSet = TitanTooltipScaleSet + 1; - end - frame:SetScale(TitanPanelGetVar("TooltipFont")); - end -end - --[[ API NAME: TitanOptionSlider_TooltipText DESC: Set the color of the tooltip text to normal (white) with the value in green. diff --git a/Titan/libs/!LibUIDropDownMenu/LibUIDropDownMenu/LibUIDropDownMenu.lua b/Titan/libs/!LibUIDropDownMenu/LibUIDropDownMenu/LibUIDropDownMenu.lua index c2b18f2..a09ca9c 100755 --- a/Titan/libs/!LibUIDropDownMenu/LibUIDropDownMenu/LibUIDropDownMenu.lua +++ b/Titan/libs/!LibUIDropDownMenu/LibUIDropDownMenu/LibUIDropDownMenu.lua @@ -349,6 +349,17 @@ local BACKDROP_DIALOG_DARK = { edgeSize = 32, insets = { left = 11, right = 12, top = 12, bottom = 9, }, } +local back_drop_info = + { + bgFile="Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile="Interface\\Tooltips\\UI-Tooltip-Border", + tile = true, + tileEdge = true, + insets = { left = 1, right = 1, top = 1, bottom = 1 }, + tileSize = 8, + edgeSize = 8, + } + local function creatre_DropDownList(name, parent) local f = _G[name] or CreateFrame("Button", name) f:SetParent(parent or nil) @@ -365,7 +376,7 @@ local function creatre_DropDownList(name, parent) --local fmb = _G[name.."MenuBackdrop"] or CreateFrame("Frame", name.."MenuBackdrop", f, BackdropTemplateMixin and "TooltipBackdropTemplate" or nil) local fmb = _G[name.."MenuBackdrop"] or CreateFrame("Frame", name.."MenuBackdrop", f, BackdropTemplateMixin and "BackdropTemplate" or nil) fmb:SetAllPoints() - fmb:SetBackdrop(BACKDROP_TOOLTIP_16_16_5555) + fmb:SetBackdrop(back_drop_info) fmb:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b) fmb:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b) f.MenuBackdrop = fmb -- 1.7.9.5