from retail

This commit is contained in:
Bunny67
2020-07-26 14:30:59 +03:00
parent 0e3999b8fd
commit ad5e1ed4d1
8 changed files with 121 additions and 71 deletions
+48 -9
View File
@@ -3,6 +3,8 @@ if not WeakAuras.IsCorrectVersion() then return end
local SharedMedia = LibStub("LibSharedMedia-3.0");
local L = WeakAuras.L;
local screenWidth, screenHeight = math.ceil(GetScreenWidth() / 20) * 20, math.ceil(GetScreenHeight() / 20) * 20
local defaultFont = WeakAuras.defaultFont
local defaultFontSize = WeakAuras.defaultFontSize
@@ -80,7 +82,23 @@ local properties = {
softMax = 72,
step = 1,
default = 12
}
},
text_anchorXOffset = {
display = L["X-Offset"],
setter = "SetXOffset",
type = "number",
softMin = (-1 * screenWidth),
softMax = screenWidth,
bigStep = 10,
},
text_anchorYOffset = {
display = L["Y-Offset"],
setter = "SetYOffset",
type = "number",
softMin = (-1 * screenHeight),
softMax = screenHeight,
bigStep = 10,
},
}
@@ -258,7 +276,7 @@ local function modify(parent, region, parentData, data, first)
if text:GetFont() then
text:SetText(WeakAuras.ReplaceRaidMarkerSymbols(textStr))
end
region:UpdateAnchor()
region:UpdateAnchorOnTextChange()
end
end
@@ -342,7 +360,7 @@ local function modify(parent, region, parentData, data, first)
local fontPath = SharedMedia:Fetch("font", data.text_font);
region.text:SetFont(fontPath, size, data.text_fontType);
region.text:SetTextHeight(size)
region:UpdateAnchor();
region:UpdateAnchorOnTextChange();
end
function region:SetVisible(visible)
@@ -380,18 +398,39 @@ local function modify(parent, region, parentData, data, first)
end
end
region.text_anchorXOffset = data.text_anchorXOffset
region.text_anchorYOffset = data.text_anchorYOffset
local textDegrees = data.rotateText == "LEFT" and 90 or data.rotateText == "RIGHT" and -90 or 0;
local xo, yo = getRotateOffset(text, textDegrees, selfPoint)
parent:AnchorSubRegion(text, "point", selfPoint, data.text_anchorPoint, (data.text_anchorXOffset or 0) + xo, (data.text_anchorYOffset or 0) + yo)
region.UpdateAnchor = function(self)
local xo, yo = getRotateOffset(text, textDegrees, selfPoint)
parent:AnchorSubRegion(text, "point", selfPoint, data.text_anchorPoint, (self.text_anchorXOffset or 0) + xo, (self.text_anchorYOffset or 0) + yo)
end
region:UpdateAnchor()
animRotate(text, textDegrees, selfPoint)
if textDegrees == 0 then
region.UpdateAnchor = function() end
region.UpdateAnchorOnTextChange = function() end
else
region.UpdateAnchor = function(self)
local xo, yo = getRotateOffset(self.text, textDegrees, selfPoint)
parent:AnchorSubRegion(self.text, "point", selfPoint, data.text_anchorPoint, (data.text_anchorXOffset or 0) + xo, (data.text_anchorYOffset or 0) + yo)
region.UpdateAnchorOnTextChange = region.UpdateAnchor
end
region.SetXOffset = function(self, xOffset)
if self.text_anchorXOffset == xOffset then
return
end
self.text_anchorXOffset = xOffset
self:UpdateAnchor()
end
region.SetYOffset = function(self, yOffset)
if self.text_anchorYOffset == yOffset then
return
end
self.text_anchorYOffset = yOffset
self:UpdateAnchor()
end
end