Skip to content

Instantly share code, notes, and snippets.

@Meorawr
Created September 3, 2021 22:25
Show Gist options
  • Save Meorawr/5ecb60133a207f9f7f40c5a9ab61d8d1 to your computer and use it in GitHub Desktop.
Save Meorawr/5ecb60133a207f9f7f40c5a9ab61d8d1 to your computer and use it in GitHub Desktop.
function SharedTooltip_InitBackdropForTooltip(tooltip)
local nineSlice = SharedTooltip_GetNineSliceFrame(tooltip);
Mixin(nineSlice, BackdropTemplateMixin);
nineSlice:SetScript("OnSizeChanged", nineSlice.OnSizeChanged);
nineSlice.backdropInfo = tooltip.backdropInfo;
nineSlice.backdropColor = tooltip.backdropColor;
nineSlice.backdropColorAlpha = tooltip.backdropColorAlpha;
nineSlice.backdropBorderColor = tooltip.backdropBorderColor;
nineSlice.backdropBorderColorAlpha = tooltip.backdropBorderColorAlpha;
nineSlice.backdropBorderBlendMode = tooltip.backdropBorderBlendMode;
nineSlice:OnBackdropLoaded();
end
function SharedTooltip_GetNineSliceFrame(tooltip)
return tooltip.NineSlice or tooltip;
end
function SharedTooltip_ApplyBackdrop(tooltip)
local nineSlice = SharedTooltip_GetNineSliceFrame(tooltip);
nineSlice:ApplyBackdrop();
end
function SharedTooltip_GetBackdrop(tooltip)
local nineSlice = SharedTooltip_GetNineSliceFrame(tooltip);
return nineSlice:GetBackdrop();
end
function SharedTooltip_SetBackdrop(tooltip, backdropInfo)
local nineSlice = SharedTooltip_GetNineSliceFrame(tooltip);
nineSlice:SetBackdrop(backdropInfo);
end
function SharedTooltip_GetBackdropColor(tooltip)
local nineSlice = SharedTooltip_GetNineSliceFrame(tooltip);
return nineSlice:GetBackdropColor();
end
function SharedTooltip_SetBackdropColor(tooltip, r, g, b, a)
local nineSlice = SharedTooltip_GetNineSliceFrame(tooltip);
nineSlice:SetBackdropColor(r, g, b, a);
end
function SharedTooltip_GetBackdropBorderColor(tooltip)
local nineSlice = SharedTooltip_GetNineSliceFrame(tooltip);
return nineSlice:GetBackdropBorderColor();
end
function SharedTooltip_SetBackdropBorderColor(tooltip, r, g, b, a)
local nineSlice = SharedTooltip_GetNineSliceFrame(tooltip);
nineSlice:SetBackdropBorderColor(r, g, b, a);
end
---
local TestTooltip = CreateFrame("GameTooltip", "TestTooltip", UIParent, "GameTooltipTemplate");
GameTooltip_SetDefaultAnchor(TestTooltip, UIParent);
TestTooltip:SetMinimumWidth(128, true);
TestTooltip:SetText("Hello!", 1, 1, 1, nil, true);
SharedTooltip_InitBackdropForTooltip(TestTooltip);
SharedTooltip_SetBackdrop(TestTooltip,
{
bgFile = [[Interface\Buttons\WHITE8X8]],
edgeFile = [[Interface\Buttons\WHITE8X8]],
tile = true,
tileEdge = true,
tileSize = 8,
edgeSize = 8,
}
);
SharedTooltip_SetBackdropColor(TestTooltip, 1, 0, 0, 0.5);
SharedTooltip_SetBackdropBorderColor(TestTooltip, 0, 1, 0, 0.5);
TestTooltip:Show();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment