WoWInterface SVN KuiNameplates

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /trunk
    from Rev 128 to Rev 127
    Reverse comparison

Rev 128 → Rev 127

Kui_Nameplates/castwarnings.lua
91,8 → 91,8
---------------------------------------------------------------------- Create --
cw.CreateCastWarnings = function(frame)
-- casting spell name
frame.castWarning = frame:CreateFontString(frame.overlay, {
font = kn.font, size = 'spellname', outline = 'OUTLINE' })
frame.castWarning = kui.CreateFontString(frame.overlay, {
font = kn.font, size = kn.fontSizes.spellname, outline = 'OUTLINE' })
frame.castWarning:SetPoint('BOTTOMLEFT', frame.level, 'TOPLEFT', 0, 1)
frame.castWarning:Hide()
 
111,8 → 111,8
end)
 
-- incoming healing
frame.incWarning = frame:CreateFontString(frame.overlay, {
font = kn.font, size = 'small', outline = 'OUTLINE' })
frame.incWarning = kui.CreateFontString(frame.overlay, {
font = kn.font, size = kn.fontSizes.small, outline = 'OUTLINE' })
frame.incWarning:SetPoint('BOTTOMRIGHT', frame.health.p, 'TOPRIGHT', 1)
frame.incWarning:Hide()
 
Kui_Nameplates/config.lua
51,6 → 51,22
type = 'toggle',
order = 4
},
font = {
name = 'Font',
desc = 'The font used for all text on frames',
type = 'select',
dialogControl = 'LSM30_Font',
values = AceGUIWidgetLSMlists.font,
order = 5
},
fontscale = {
name = 'Font scale',
desc = 'The scale of all fonts displayed on nameplates',
type = 'range',
min = 0.01,
softMax = 2,
order = 6
}
}
},
fade = {
269,86 → 285,6
}
}
 
local fontsOptions = {
name = 'Fonts',
handler = handler,
type = 'group',
get = 'Get',
set = 'Set',
args = {
fontoptions = {
name = 'Global font settings',
type = 'group',
inline = true,
args = {
font = {
name = 'Font',
desc = 'The font used for all text on nameplates',
type = 'select',
dialogControl = 'LSM30_Font',
values = AceGUIWidgetLSMlists.font,
},
fontscale = {
name = 'Font scale',
desc = 'The scale of all fonts displayed on nameplates',
type = 'range',
min = 0.01,
softMax = 2,
},
outline = {
name = 'Outline',
desc = 'Dsiplay an outline on all fonts',
type = 'toggle',
},
monochrome = {
name = 'Monochrome',
desc = 'Don\'t anti-alias fonts',
type = 'toggle'
},
}
},
fontsizes = {
name = 'Sizes',
type = 'group',
inline = true,
args = {
combopoints = {
name = 'Combo points',
type = 'range',
min = 1,
softMax = 20
},
large = {
name = 'Large',
desc = 'Used for health on normal nameplates',
type = 'range',
min = 1,
softMax = 20
},
spellname = {
name = 'Spell name',
type = 'range',
min = 1,
softMax = 20
},
name = {
name = 'Name & level',
type = 'range',
min = 1,
softMax = 20
},
small = {
name = 'Small',
desc = 'Used for contextual health on normal nameplates and name on trivial nameplates',
type = 'range',
min = 1,
softMax = 20
},
}
}
}
}
 
function handler:Get(info)
local k = ns.db.profile[info[1]][info[#info]]
 
372,9 → 308,6
 
AceConfig:RegisterOptionsTable('kuinameplates', options)
AceConfigDialog:AddToBlizOptions('kuinameplates', 'Kui Nameplates')
 
AceConfig:RegisterOptionsTable('kuinameplatesfonts', fontsOptions)
AceConfigDialog:AddToBlizOptions('kuinameplatesfonts', 'Fonts', 'Kui Nameplates')
end
 
--------------------------------------------------------------- Slash command --
Kui_Nameplates/core.lua
26,6 → 26,8
highlight = true, -- highlight plates on mouse-over
combopoints = true, -- display combo points
fixaa = true, -- attempt to make plates appear sharper (with some drawbacks)
font = (latin and 'Yanone Kaffesatz' or LSM:GetDefault(LSM.MediaType.FONT)), -- the font used for all text
fontscale = 1.0, -- the scale of all displayed font sizes
},
fade = {
smooth = true, -- smoothy fade plates (fading is instant if disabled)
59,21 → 61,8
spellicon = true, -- display spell icon
barcolour = { .43, .47, .55, 1 }, -- the colour of the spell bar (interruptible casts)
warnings = false, -- display spell cast warnings on any plates
usenames = false -- use unit names to display cast warnings
usenames = false -- use unit names to display cast warnings on their correct frames: may increase memory usage and may cause warnings to be displayed on incorrect frames when there are many units with the same name. Reccommended on for PvP, off for PvE.
},
fontoptions = {
font = (latin and 'Yanone Kaffesatz' or LSM:GetDefault(LSM.MediaType.FONT)),
fontscale = 1.0,
outline = true,
monochrome = false,
},
fontsizes = {
combopoints = 13,
large = 10,
spellname = 9,
name = 9,
small = 8
},
}
}
 
Kui_Nameplates/combopoints.lua
7,9 → 7,8
local size = (13 + ((18 - 13) / 5) * self.points)
local blue = (1 - (1 / 5) * self.points)
 
kn.SetFontSize(self, size)
 
self:SetText(self.points)
self:SetFont(kn.font, size, 'OUTLINE')
self:SetTextColor(1, 1, blue)
self:Show()
elseif self:GetText() then
40,8 → 39,8
end
---------------------------------------------------------------------- Create --
cp.CreateComboPoints = function(frame)
frame.cp = frame:CreateFontString(frame.health, {
font = kn.font, size = 'combopoints', outline = 'OUTLINE', shadow = true })
frame.cp = kui.CreateFontString(frame.health,
{ font = kn.font, size = kn.fontSizes.combopoints, outline = 'OUTLINE', shadow = true })
frame.cp:SetPoint('LEFT', frame.health, 'RIGHT', 5, 1)
frame.cp.Update = ComboPointsUpdate
frame.cp:Hide()
Kui_Nameplates/layout.lua
46,44 → 46,21
}
 
local loadedGUIDs, loadedNames = {}, {}
local targetExists
local profile, uiscale
local targetExists, targetPlate
local profile, uiscale, prevuiscale
local sizes, fontSizes, origSizes, origFontSizes = {}, {}, {}, {}
local font = ''
 
--------------------------------------------------------------------- globals --
local select, strfind, strsplit, pairs, ipairs, unpack, tinsert, type
= select, strfind, strsplit, pairs, ipairs, unpack, tinsert, type
local select, strfind, strsplit, pairs, ipairs, unpack, tinsert
= select, strfind, strsplit, pairs, ipairs, unpack, tinsert
 
------------------------------------------------------------ helper functions --
 
local function SetFontSize(fs, size)
if type(size) == 'string' and fs.size and kn.fontSizes[size] then
fs.size = size
size = kn.fontSizes[size]
end
 
local font, _, flags = fs:GetFont()
fs:SetFont(font, size, flags)
-- helper for setting a given fontstring's font size
local function SetFontSize(fontstring, size)
local font, _, flags = fontstring:GetFont()
fontstring:SetFont(font, size, flags)
end
 
local function CreateFontString(self, parent, obj)
-- size can be stored as a key of kn.fontSizes so that it can be set
-- correctly if fonts are scaled
local sizeKey = obj.size
 
if type(sizeKey) == 'string' then
obj.size = kn.fontSizes[sizeKey]
end
 
local fs = kui.CreateFontString(parent, obj)
fs.size = sizeKey
 
--fs.SetFontSize = SetFontSize
--fs.SetFontStyle = SetFontStyle
 
tinsert(self.fontObjects, fs)
return fs
end
 
-------------------------------------------------- External calling functions --
local modules = {}
local postFunctions = {
320,8 → 297,8
 
local w,h = self.parent:GetSize()
local x,y =
floor((w / 2) - (kn.sizes.twidth / 2)),
floor((h / 2) - (kn.sizes.theight / 2))
floor((w / 2) - (sizes.twidth / 2)),
floor((h / 2) - (sizes.theight / 2))
 
self.health:ClearAllPoints()
self.bg:ClearAllPoints()
335,20 → 312,21
self.health.mo:Hide()
end
 
SetFontSize(self.name, 'small')
SetFontSize(self.name, fontSizes.small)
self.name:SetJustifyH('CENTER')
 
self.name:SetPoint('BOTTOM', self.health, 'TOP', 0, -3)
self.name:SetPoint('BOTTOMLEFT', self.health, 'TOPLEFT', -10, -3)
self.name:SetPoint('BOTTOMRIGHT', self.health, 'TOPRIGHT', 10, -3)
 
self.bg.fill:SetSize(kn.sizes.twidth, kn.sizes.theight)
self.health:SetSize(kn.sizes.twidth-2, kn.sizes.theight-2)
self.bg.fill:SetSize(sizes.twidth, sizes.theight)
self.health:SetSize(sizes.twidth-2, sizes.theight-2)
 
self.health:SetPoint('BOTTOMLEFT', x+1, y+1)
 
self.bg.fill:SetPoint('BOTTOMLEFT', x, y)
 
self.bg:SetPoint('BOTTOMLEFT', x-(kn.sizes.bgOffset-2), y-(kn.sizes.bgOffset-2))
self.bg:SetPoint('TOPRIGHT', self.parent, 'BOTTOMLEFT', x+kn.sizes.twidth+(kn.sizes.bgOffset-2), y+kn.sizes.theight+(kn.sizes.bgOffset-2))
self.bg:SetPoint('BOTTOMLEFT', x-(sizes.bgOffset-2), y-(sizes.bgOffset-2))
self.bg:SetPoint('TOPRIGHT', self.parent, 'BOTTOMLEFT', x+sizes.twidth+(sizes.bgOffset-2), y+sizes.theight+(sizes.bgOffset-2))
 
self.trivial = true
else
363,8 → 341,8
 
local w,h = self.parent:GetSize()
local x,y =
floor((w / 2) - (kn.sizes.width / 2)),
floor((h / 2) - (kn.sizes.height / 2))
floor((w / 2) - (sizes.width / 2)),
floor((h / 2) - (sizes.height / 2))
 
self.health:ClearAllPoints()
self.bg:ClearAllPoints()
377,7 → 355,7
self.health.mo:Show()
end
 
SetFontSize(self.name, 'name')
SetFontSize(self.name, fontSizes.name)
self.name:SetJustifyH('LEFT')
self.name:SetPoint('RIGHT', self.health.p, 'LEFT')
 
388,15 → 366,15
self.name:SetPoint('BOTTOMLEFT', self.health, 'TOPLEFT', 2, uiscale and -(2/uiscale) or -2)
end
 
self.bg.fill:SetSize(kn.sizes.width, kn.sizes.height)
self.health:SetSize(kn.sizes.width - 2, kn.sizes.height - 2)
self.bg.fill:SetSize(sizes.width, sizes.height)
self.health:SetSize(sizes.width - 2, sizes.height - 2)
 
self.health:SetPoint('BOTTOMLEFT', x+1, y+1)
 
self.bg.fill:SetPoint('BOTTOMLEFT', x, y)
 
self.bg:SetPoint('BOTTOMLEFT', x-kn.sizes.bgOffset, y-kn.sizes.bgOffset)
self.bg:SetPoint('TOPRIGHT', self.parent, 'BOTTOMLEFT', x+(kn.sizes.width)+kn.sizes.bgOffset, y+(kn.sizes.height)+kn.sizes.bgOffset)
self.bg:SetPoint('BOTTOMLEFT', x-sizes.bgOffset, y-sizes.bgOffset)
self.bg:SetPoint('TOPRIGHT', self.parent, 'BOTTOMLEFT', x+(sizes.width)+sizes.bgOffset, y+(sizes.height)+sizes.bgOffset)
 
self.trivial = nil
end
736,7 → 714,6
frame.oldHighlight = highlightRegion
 
--------------------------------------------------------- Frame functions --
frame.CreateFontString = CreateFontString
frame.UpdateFrame = UpdateFrame
frame.UpdateFrameCritical = UpdateFrameCritical
frame.SetHealthColour = SetHealthColour
773,8 → 750,8
local w,h = parent:GetSize()
local x,y
 
x = floor((w / 2) - (kn.sizes.width / 2))
y = floor((h / 2) - (kn.sizes.height / 2))
x = floor((w / 2) - (sizes.width / 2))
y = floor((h / 2) - (sizes.height / 2))
 
-- border ------------------------------------------------------------------
--frame.bg = (frame.carrier and frame.carrier or frame):CreateTexture(nil, 'BACKGROUND')
789,19 → 766,19
frame.bg.fill:SetVertexColor(0, 0, 0, .8)
frame.bg.fill:SetDrawLayer('ARTWORK', 1) -- (1 sub-layer above .bg)
 
frame.bg.fill:SetSize(kn.sizes.width, kn.sizes.height)
frame.bg.fill:SetSize(sizes.width, sizes.height)
frame.bg.fill:SetPoint('BOTTOMLEFT', x, y)
 
frame.bg:ClearAllPoints()
frame.bg:SetPoint('BOTTOMLEFT', x-kn.sizes.bgOffset, y-kn.sizes.bgOffset)
frame.bg:SetPoint('TOPRIGHT', parent, 'BOTTOMLEFT', x+kn.sizes.width+kn.sizes.bgOffset, y+kn.sizes.height+kn.sizes.bgOffset)
frame.bg:SetPoint('BOTTOMLEFT', x-sizes.bgOffset, y-sizes.bgOffset)
frame.bg:SetPoint('TOPRIGHT', parent, 'BOTTOMLEFT', x+sizes.width+sizes.bgOffset, y+sizes.height+sizes.bgOffset)
 
-- health bar --------------------------------------------------------------
frame.health = CreateFrame('StatusBar', nil, parent)
frame.health:SetStatusBarTexture(kui.m.t.bar)
 
frame.health:ClearAllPoints()
frame.health:SetSize(kn.sizes.width-2, kn.sizes.height-2)
frame.health:SetSize(sizes.width-2, sizes.height-2)
frame.health:SetPoint('BOTTOMLEFT', x+1, y+1)
 
if ns.SetValueSmooth then
837,36 → 814,46
end
 
-- health text -------------------------------------------------------------
frame.health.p = frame:CreateFontString(frame.overlay, {
font = kn.font, size = 'large', outline = "OUTLINE" })
frame.health.p = kui.CreateFontString(frame.overlay, {
font = font, size = fontSizes.large, outline = "OUTLINE" })
frame.health.p:SetJustifyH('RIGHT')
 
frame.health.p:SetPoint('BOTTOMRIGHT', frame.health, 'TOPRIGHT', -2, uiscale and -(3/uiscale) or -3)
 
frame.health.p.size = 'large'
tinsert(frame.fontObjects, frame.health.p)
 
if profile.hp.showalt then
frame.health.mo = frame:CreateFontString(frame.overlay, {
font = kn.font, size = 'small', outline = "OUTLINE" })
frame.health.mo = kui.CreateFontString(frame.overlay, {
font = font, size = fontSizes.small, outline = "OUTLINE" })
frame.health.mo:SetJustifyH('RIGHT')
 
frame.health.mo:SetPoint('BOTTOMRIGHT', frame.health, -2, uiscale and -(3/uiscale) or -3)
frame.health.mo:SetAlpha(.6)
 
frame.health.mo.size = 'small'
tinsert(frame.fontObjects, frame.health.mo)
end
 
if profile.text.level then
-- level text ----------------------------------------------------------
frame.level = frame:CreateFontString(frame.level, { reset = true,
font = kn.font, size = 'name', outline = 'OUTLINE' })
frame.level = kui.CreateFontString(frame.level, { reset = true,
font = font, size = fontSizes.name, outline = 'OUTLINE' })
frame.level:SetParent(frame.overlay)
 
frame.level:ClearAllPoints()
frame.level:SetPoint('BOTTOMLEFT', frame.health, 'TOPLEFT', 2, uiscale and -(2/uiscale) or -2)
frame.level.enabled = true
 
frame.level.size = 'name'
tinsert(frame.fontObjects, frame.level)
else
frame.level:Hide()
end
 
-- name text ---------------------------------------------------------------
frame.name = frame:CreateFontString(frame.overlay, {
font = kn.font, size = 'name', outline = 'OUTLINE' })
frame.name = kui.CreateFontString(frame.overlay, {
font = font, size = fontSizes.name, outline = 'OUTLINE' })
frame.name:SetJustifyH('LEFT')
 
frame.name:SetHeight(13)
878,6 → 865,9
end
 
frame.name:SetPoint('RIGHT', frame.health.p, 'LEFT')
 
frame.name.size = 'name'
tinsert(frame.fontObjects, frame.name)
 
----------------------------------------------------------------- Scripts --
frame:SetScript('OnShow', OnFrameShow)
891,16 → 881,16
frame:SetBackdrop({bgFile=kui.m.t.solid})
frame:SetBackdropColor(1, 1, 1, .5)
 
frame.isfriend = frame:CreateFontString(frame, {
font = kn.font, size = 10, outline = 'OUTLINE' })
frame.isfriend = kui.CreateFontString(frame, {
font = font, size = 10, outline = 'OUTLINE' })
frame.isfriend:SetPoint('BOTTOM', frame, 'TOP')
 
frame.guidtext = frame:CreateFontString(frame, {
font = kn.font, size = 10, outline = "OUTLINE" })
frame.guidtext = kui.CreateFontString(frame, {
font = font, size = 10, outline = "OUTLINE" })
frame.guidtext:SetPoint('TOP', frame, 'BOTTOM')
 
frame.nametext = frame:CreateFontString(frame, {
font = kn.font, size = 10, outline = "OUTLINE" })
frame.nametext = kui.CreateFontString(frame, {
font = font, size = 10, outline = "OUTLINE" })
frame.nametext:SetPoint('TOP', frame.guidtext, 'BOTTOM')
end
 
990,7 → 980,7
end
end
 
-- TODO move all this crap into config.lua (or maybe not, create.lua?)
-- TODO move all this crap into config.lua
---------------------------------------------------- Post db change functions --
-- for changes which require traversal of all frames
kn.updateFunctions = {}
1020,19 → 1010,13
 
local _, fontObject
for _, fontObject in pairs(frame.fontObjects) do
if type(fontObject.size) == 'string' then
SetFontSize(fontObject, kn.fontSizes[fontObject.size])
end
SetFontSize(fontObject, fontSizes[fontObject.size])
end
end
 
kn.updateFunctions.font = function(frame, val, runonce)
val = LSM:Fetch(LSM.MediaType.FONT, val)
 
if runonce == 0 then
kn.font = val
end
 
local _, fontObject
for _, fontObject in pairs(frame.fontObjects) do
local _, size, flags = fontObject:GetFont()
1051,7 → 1035,7
-- [initialise and] scale font sizes
function ns:ScaleFonts()
for k, size in pairs(defaultSizes.font) do
kn.fontSizes[k] = size * profile.fontoptions.fontscale
kn.fontSizes[k] = size * profile.general.fontscale
 
if uiscale then
kn.fontSizes[k] = kn.fontSizes[k] / uiscale
1066,12 → 1050,15
if profile.general.fixaa then
uiscale = UIParent:GetEffectiveScale()
end
 
self:ScaleFrames()
 
self:ScaleFonts()
self:ScaleFrames()
 
fontSizes, sizes = kn.fontSizes, kn.sizes
 
-- fetch font path from lsm
kn.font = LSM:Fetch(LSM.MediaType.FONT, profile.fontoptions.font)
kn.font = LSM:Fetch(LSM.MediaType.FONT, profile.general.font)
font = kn.font
 
-------------------------------------- Health bar smooth update functions --
-- (spoon-fed by oUF_Smooth)
Kui_Nameplates/castbar.lua
12,8 → 12,7
['UNIT_SPELLCAST_CHANNEL_STOP'] = true
}
 
local UnitGUID, GetUnitName, UnitChannelInfo, UnitCastingInfo, GetTime, format =
UnitGUID, GetUnitName, UnitChannelInfo, UnitCastingInfo, GetTime, format
local GetNameplate = KuiNameplates.GetNameplate
 
------------------------------------------------------------- Script handlers --
local function OnCastbarUpdate(bar, elapsed)
35,20 → 34,20
 
-- display progress
if bar.max then
bar.curr:SetText(format("%.1f", bar.progress))
bar.curr:SetText(string.format("%.1f", bar.progress))
 
if bar.delay == 0 or not bar.delay then
bar.max:SetText(format("%.1f", bar.duration))
bar.max:SetText(string.format("%.1f", bar.duration))
else
-- display delay
if bar.channel then
-- time is removed
bar.max:SetText(format("%.1f", bar.duration)..
'|cffff0000-'..format("%.1f", bar.delay)..'|r')
bar.max:SetText(string.format("%.1f", bar.duration)..
'|cffff0000-'..string.format("%.1f", bar.delay)..'|r')
else
-- time is added
bar.max:SetText(format("%.1f", bar.duration)..
'|cffff0000+'..format("%.1f", bar.delay)..'|r')
bar.max:SetText(string.format("%.1f", bar.duration)..
'|cffff0000+'..string.format("%.1f", bar.delay)..'|r')
end
end
end
99,24 → 98,20
 
-- cast bar text -------------------------------------------------------
if kn.profile.castbar.spellname then
frame.castbar.name = frame:CreateFontString(frame.castbar, {
font = kn.font, size = 'name', outline = "OUTLINE" })
frame.castbar.name = kui.CreateFontString(frame.castbar, {
font = kn.font, size = kn.fontSizes.name, outline = "OUTLINE" })
frame.castbar.name:SetPoint('TOPLEFT', frame.castbar.bg, 'BOTTOMLEFT', 2, -2)
frame.castbar.name:SetPoint('TOPRIGHT', frame.castbar.bg, 'BOTTOMRIGHT', -2, 0)
frame.castbar.name:SetJustifyH('LEFT')
end
 
if kn.profile.castbar.casttime then
frame.castbar.max = frame:CreateFontString(frame.castbar, {
font = kn.font, size = 'name', outline = "OUTLINE" })
frame.castbar.max = kui.CreateFontString(frame.castbar, {
font = kn.font, size = kn.fontSizes.name, outline = "OUTLINE" })
frame.castbar.max:SetPoint('TOPRIGHT', frame.castbar.bg, 'BOTTOMRIGHT', -2, -1)
 
frame.castbar.curr = frame:CreateFontString(frame.castbar, {
font = kn.font, size = 'small', outline = "OUTLINE" })
frame.castbar.curr = kui.CreateFontString(frame.castbar, {
font = kn.font, size = kn.fontSizes.small, outline = "OUTLINE" })
frame.castbar.curr:SetAlpha(.5)
frame.castbar.curr:SetPoint('TOPRIGHT', frame.castbar.max, 'TOPLEFT', -1, -1)
 
frame.castbar.name:SetPoint('TOPRIGHT', frame.castbar.curr, 'TOPLEFT', -1, 0)
end
 
if frame.spell then