Mercurial > wow > buffalo2
comparison Modules/TalkingHead.lua @ 121:1f68c46bc4de
BuffFrame:
- Added interface framework for selectively hiding certain buff's auxiliary values.
| author | Nenue |
|---|---|
| date | Mon, 17 Jul 2017 11:51:31 -0400 |
| parents | 1196c2bad31c |
| children | ea2c616a3b4f |
comparison
equal
deleted
inserted
replaced
| 120:5f1ba488c395 | 121:1f68c46bc4de |
|---|---|
| 3 -- Created: 10/23/2016 5:18 AM | 3 -- Created: 10/23/2016 5:18 AM |
| 4 -- %file-revision% | 4 -- %file-revision% |
| 5 -- | 5 -- |
| 6 | 6 |
| 7 local print = DEVIAN_WORKSPACE and function(...) print('VnTalkingHead', ...) end or nop | 7 local print = DEVIAN_WORKSPACE and function(...) print('VnTalkingHead', ...) end or nop |
| 8 | 8 local thf = TalkingHeadFrame |
| 9 VeneerTalkingHeadMixin = { | 9 local m = { |
| 10 | 10 |
| 11 anchorPoint = 'BOTTOMLEFT', | 11 anchorPoint = 'BOTTOMLEFT', |
| 12 anchorFrom = 'TOPLEFT', | 12 anchorFrom = 'TOPLEFT', |
| 13 anchorX = -4, | 13 anchorX = -4, |
| 14 anchorY = 96, | 14 anchorY = 96, |
| 15 anchorFrame = 'ChatFrame1', | 15 anchorFrame = 'ChatFrame1', |
| 16 addonTrigger = 'Blizzard_TalkingHeadUI' | |
| 17 | 16 |
| 18 } | 17 } |
| 18 VeneerTalkingHeadMixin = m | |
| 19 | 19 |
| 20 local qf = {} | 20 local qf = {} |
| 21 | 21 |
| 22 | 22 |
| 23 function VeneerTalkingHeadMixin:OnLoad() | 23 function m:OnLoad() |
| 24 Veneer:AddHandler(self, self.anchorPoint) | 24 Veneer:AddHandler(self, self.anchorPoint) |
| 25 -- force this so we can implant | |
| 26 LoadAddOn('Blizzard_TalkingHeadUI') | |
| 27 thf = TalkingHeadFrame | |
| 25 end | 28 end |
| 26 | 29 |
| 27 function VeneerTalkingHeadMixin:Setup() | 30 function m:Setup() |
| 28 print('|cFF00AAFF'..self:GetName()..'|r:Setup()', TalkingHeadFrame:IsShown(), self:IsShown()) | 31 print('|cFF00AAFF'..self:GetName()..'|r:Setup()', thf:IsShown(), self:IsShown()) |
| 29 | 32 |
| 30 self:SetSize(TalkingHeadFrame:GetSize()) | 33 self:SetSize(thf:GetSize()) |
| 31 self:SetParent(TalkingHeadFrame) | |
| 32 | 34 |
| 33 hooksecurefunc(TalkingHeadFrame, 'SetPoint', function(...) | 35 hooksecurefunc(thf, 'SetPoint', function(...) |
| 34 print('SetPoint', ...) | 36 print('SetPoint', ...) |
| 35 print(debugstack()) | 37 print(debugstack()) |
| 36 end) | 38 end) |
| 37 | 39 |
| 38 self:SetShown(true) | 40 self:SetShown(true) |
| 39 self:ClearAnchor() | 41 self:ClearAnchor() |
| 40 end | 42 end |
| 41 | 43 |
| 42 function VeneerTalkingHeadMixin:ClearAnchor() | 44 function m:ClearAnchor() |
| 43 | 45 |
| 44 UIPARENT_MANAGED_FRAME_POSITIONS["TalkingHeadFrame"] = nil | 46 UIPARENT_MANAGED_FRAME_POSITIONS["TalkingHeadFrame"] = nil |
| 45 for i, alertSubSystem in pairs(AlertFrame.alertFrameSubSystems) do | 47 for i, alertSubSystem in pairs(AlertFrame.alertFrameSubSystems) do |
| 46 if alertSubSystem.anchorFrame == TalkingHeadFrame then | 48 if alertSubSystem.anchorFrame == thf then |
| 47 tremove(AlertFrame.alertFrameSubSystems, i) | 49 tremove(AlertFrame.alertFrameSubSystems, i) |
| 48 return | 50 return |
| 49 end | 51 end |
| 50 end | 52 end |
| 51 end | 53 end |
| 52 | 54 |
| 53 function VeneerTalkingHeadMixin:OnShow() | 55 function m:OnShow() |
| 54 if TalkingHeadFrame then | 56 if thf then |
| 55 print('|cFF00AAFF'..self:GetName()..'|r:OnShow()', TalkingHeadFrame:IsShown(), self:IsShown()) | 57 print('|cFF00AAFF'..self:GetName()..'|r:OnShow()', thf:IsShown(), self:IsShown()) |
| 56 print(debugstack()) | 58 print(debugstack()) |
| 57 self:Update() | 59 self:Update() |
| 58 end | 60 end |
| 59 end | 61 end |
| 60 | 62 |
| 61 function VeneerTalkingHeadMixin:Reanchor() | 63 function m:Reanchor() |
| 62 self:ClearAllPoints() | 64 self:ClearAllPoints() |
| 63 self:SetPoint('BOTTOMLEFT', _G[self.anchorFrame], 'TOPLEFT', -4, 24) | 65 self:SetPoint('BOTTOMLEFT', _G[self.anchorFrame], 'TOPLEFT', -4, 24) |
| 64 self:SetPoint('RIGHT', _G[self.anchorFrame], 'RIGHT', 2, 0) | 66 self:SetPoint('RIGHT', _G[self.anchorFrame], 'RIGHT', 2, 0) |
| 65 -- independent module, | 67 -- independent module, |
| 66 end | 68 end |
| 67 | 69 |
| 68 function VeneerTalkingHeadMixin:OnHide() | 70 function m:OnHide() |
| 69 if TalkingHeadFrame then | 71 if thf then |
| 70 print('|cFF00AAFF'..self:GetName()..'|r:OnHide()', TalkingHeadFrame:IsShown(), self:IsShown()) | 72 print('|cFF00AAFF'..self:GetName()..'|r:OnHide()', thf:IsShown(), self:IsShown()) |
| 71 end | 73 end |
| 72 Veneer:Reanchor() | 74 Veneer:Reanchor() |
| 73 end | 75 end |
| 74 | 76 |
| 75 function VeneerTalkingHeadMixin:Update() | 77 function m:Update() |
| 76 | 78 |
| 77 print('|cFF00AAFF'..self:GetName()..'|r:OnShow()', TalkingHeadFrame:IsShown(), self:IsShown()) | 79 print('|cFF00AAFF'..self:GetName()..'|r:OnShow()', thf:IsShown(), self:IsShown()) |
| 78 TalkingHeadFrame:ClearAllPoints() | 80 thf:ClearAllPoints() |
| 79 TalkingHeadFrame:SetAllPoints(self) | 81 thf:SetAllPoints(self) |
| 80 | 82 |
| 81 Veneer:InternalReanchor(self) | 83 Veneer:InternalReanchor(self) |
| 82 end | 84 end |
