castbar: pixel-snap progress via PixelUtil.SetStatusBarValue

Routes player and nameplate castbar progress through
PixelUtil.SetStatusBarValue so a 1.4s cast on a narrow bar no longer
shimmers across fractional pixels as it ticks. Adds GetMinMaxValues /
GetValue handlers to pfUI's custom StatusBar so PixelUtil can read the
current range.
This commit is contained in:
Brues
2026-06-22 10:11:33 -05:00
parent e6664a4eb6
commit fa3f191eea
3 changed files with 11 additions and 3 deletions
+8
View File
@@ -83,6 +83,14 @@ do -- statusbars
self:DisplayValue(self.val_ or self.val)
end,
["GetMinMaxValues"] = function(self)
return self.min, self.max
end,
["GetValue"] = function(self)
return self.val
end,
["SetValue"] = function(self, val)
self.val = val or 0
+1 -1
View File
@@ -237,7 +237,7 @@ pfUI:RegisterModule("castbar", function ()
cur = cur > max and max or cur
cur = cur < 0 and 0 or cur
this.bar:SetValue(cur)
PixelUtil.SetStatusBarValue(this.bar, cur)
if this.showtimer then
if this.delay and this.delay > 0 then
+2 -2
View File
@@ -1752,7 +1752,7 @@ end
end
barValue = barValue < 0 and 0 or barValue
barValue = barValue > duration and duration or barValue
nameplate.castbar:SetValue(barValue)
PixelUtil.SetStatusBarValue(nameplate.castbar, barValue)
SetCastbarText(nameplate.castbar, castInfo.endTime - now)
if not nameplate.castbar.isShown then nameplate.castbar.isShown = true; nameplate.castbar:Show() end
end
@@ -1787,7 +1787,7 @@ end
nameplate.castbar.spell:SetText("")
end
end
nameplate.castbar:SetValue(cur)
PixelUtil.SetStatusBarValue(nameplate.castbar, cur)
SetCastbarText(nameplate.castbar, channel and cur or (max - cur))
if not nameplate.castbar.isShown then nameplate.castbar.isShown = true; nameplate.castbar:Show() end
else