Mercurial > wow > devian
comparison Dock.lua @ 47:eb7544afd77a
dock frame implementation
fixes to /dvc command
| author | Nenue |
|---|---|
| date | Mon, 04 Jan 2016 05:42:44 -0500 |
| parents | dcc57a7cabc9 |
| children | 2bf7eb1844cb |
comparison
equal
deleted
inserted
replaced
| 46:dcc57a7cabc9 | 47:eb7544afd77a |
|---|---|
| 5 -- Created: 12/26/2015 12:32 PM | 5 -- Created: 12/26/2015 12:32 PM |
| 6 -- Dock management functions | 6 -- Dock management functions |
| 7 | 7 |
| 8 local D = LibStub("AceAddon-3.0"):GetAddon("Devian") | 8 local D = LibStub("AceAddon-3.0"):GetAddon("Devian") |
| 9 local _G = _G | 9 local _G = _G |
| 10 local db = DevianDB | 10 local db |
| 11 | 11 |
| 12 local function Dock_MenuClick() end | 12 local function Dock_MenuClick() end |
| 13 | 13 |
| 14 local function Dock_MouseDown(self, button, up) | 14 local function Dock_MouseDown(self, button, up) |
| 15 end | 15 end |
| 108 end | 108 end |
| 109 | 109 |
| 110 | 110 |
| 111 --- | 111 --- |
| 112 function D:UpdateDock() | 112 function D:UpdateDock() |
| 113 local num_active, num_inactive = 0, 0 | 113 local pad_offset = 12 |
| 114 local draw_offset = pad_offset | |
| 115 for i = 1, #self.dock.buttons do | |
| 116 local d = self.dock.buttons[i] | |
| 117 d:SetPoint('TOPLEFT', DevianDock, 'TOPLEFT', draw_offset, 0) | |
| 118 draw_offset= draw_offset + d:GetWidth() + pad_offset | |
| 119 end | |
| 114 | 120 |
| 115 for id, ch in pairs(self.console) do | 121 self.dock:SetWidth(draw_offset) |
| 116 if not self.dock[id] then | 122 end |
| 117 self.dock[id] = self.dock:CreateTexture('DockButton'..id, 'OVERLAY') | 123 |
| 124 --- Dock interactions | |
| 125 function D.DockHighlight(beacon) | |
| 126 db = D.db | |
| 127 print('Dvn', 'dock mouse event', beacon) | |
| 128 local self = D.dock | |
| 129 local mouseOverDock | |
| 130 --for i, b in pairs(self.buttons) do | |
| 131 --print('polling', i, b:GetName()) | |
| 132 if self:IsMouseOver() then | |
| 133 mouseOverDock = true | |
| 134 end | |
| 135 | |
| 136 | |
| 137 if beacon and beacon:IsMouseOver() then | |
| 138 mouseOverDock = true | |
| 139 --print('mouse is over', i, b:GetName()) | |
| 140 | |
| 141 if not beacon.raised then | |
| 142 beacon.raised = true | |
| 143 local a = (db.dock_button_alpha_on - self:GetAlpha()) | |
| 144 local b = (db.dock_button_alpha_on-db.dock_button_alpha_off) | |
| 145 local dur = (a / b) * db.dock_button_fade_in | |
| 146 print(a, b, db.dock_button_fade_in, dur) | |
| 147 UIFrameFadeIn(beacon, dur,beacon:GetAlpha(),db.dock_button_alpha_on) | |
| 148 UIFrameFadeIn(beacon.caption, dur,beacon:GetAlpha(),1) | |
| 118 end | 149 end |
| 150 elseif beacon.raised and beacon.index ~= db.current_channel then | |
| 151 beacon.raised = nil | |
| 152 local a = (self:GetAlpha() - db.dock_button_alpha_off) | |
| 153 local b = (db.dock_button_alpha_on-db.dock_button_alpha_off) | |
| 154 local dur = (a / b) * db.dock_button_fade_out | |
| 155 print(a, b, db.dock_button_fade_in, dur) | |
| 156 UIFrameFadeOut(beacon, dur,beacon:GetAlpha(),db.dock_button_alpha_off) | |
| 157 UIFrameFadeOut(beacon.caption, dur,beacon:GetAlpha(),0) | |
| 158 end | |
| 119 | 159 |
| 120 if ch.enabled then | 160 --end |
| 121 num_active = num_active + 1 | 161 --end |
| 122 else | 162 if mouseOverDock then |
| 123 num_inactive = num_inactive + 1 | 163 if not self.raised then |
| 164 print('rising') | |
| 165 self.raised = true | |
| 166 local a = (db.dock_alpha_on - self:GetAlpha()) | |
| 167 local b = (db.dock_alpha_on-db.dock_alpha_off) | |
| 168 local dur = (a / b) * db.dock_fade_in | |
| 169 print(a, b, db.dock_fade_in, dur) | |
| 170 UIFrameFadeIn(self, dur,self:GetAlpha(),db.dock_alpha_on) | |
| 124 end | 171 end |
| 172 elseif self.raised then | |
| 173 print('dropping') | |
| 174 self.raised = nil | |
| 175 local a = (self:GetAlpha() - db.dock_alpha_off) | |
| 176 local b = (db.dock_alpha_on-db.dock_alpha_off) | |
| 177 local dur = (a / b) * db.dock_fade_out | |
| 178 print(a, b, db.dock_fade_in, dur) | |
| 179 UIFrameFadeOut(self, dur,self:GetAlpha(),db.dock_alpha_off) | |
| 125 end | 180 end |
| 181 | |
| 126 end | 182 end |
