# HG changeset patch
# User Tercioo
# Date 1546263031 7200
# Node ID 3596dadf9a90c1bf7ee1f25559225ce80cad118c
# Parent f29a995e98e39b7a5cfd210495c3513f5049a4de
- ToC and Libraries update.
diff -r f29a995e98e3 -r 3596dadf9a90 HotCorners.toc
--- a/HotCorners.toc Fri Jul 20 19:13:22 2018 -0300
+++ b/HotCorners.toc Mon Dec 31 11:30:31 2018 -0200
@@ -1,4 +1,4 @@
-## Interface: 80000
+## Interface: 80100
## Title: Hot Corners
## Notes: Adds a bar over the top left side.
## SavedVariables: HotCornersDB
diff -r f29a995e98e3 -r 3596dadf9a90 Libs/AceTimer-3.0/AceTimer-3.0.xml
--- a/Libs/AceTimer-3.0/AceTimer-3.0.xml Fri Jul 20 19:13:22 2018 -0300
+++ b/Libs/AceTimer-3.0/AceTimer-3.0.xml Mon Dec 31 11:30:31 2018 -0200
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff -r f29a995e98e3 -r 3596dadf9a90 Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua
--- a/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua Fri Jul 20 19:13:22 2018 -0300
+++ b/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua Mon Dec 31 11:30:31 2018 -0200
@@ -1,5 +1,5 @@
---[[ $Id: CallbackHandler-1.0.lua 1131 2015-06-04 07:29:24Z nevcairiel $ ]]
-local MAJOR, MINOR = "CallbackHandler-1.0", 6
+--[[ $Id: CallbackHandler-1.0.lua 22 2018-07-21 14:17:22Z nevcairiel $ ]]
+local MAJOR, MINOR = "CallbackHandler-1.0", 7
local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR)
if not CallbackHandler then return end -- No upgrade needed
@@ -22,41 +22,15 @@
return geterrorhandler()(err)
end
-local function CreateDispatcher(argCount)
- local code = [[
- local next, xpcall, eh = ...
-
- local method, ARGS
- local function call() method(ARGS) end
-
- local function dispatch(handlers, ...)
- local index
- index, method = next(handlers)
- if not method then return end
- local OLD_ARGS = ARGS
- ARGS = ...
- repeat
- xpcall(call, eh)
- index, method = next(handlers, index)
- until not method
- ARGS = OLD_ARGS
- end
-
- return dispatch
- ]]
-
- local ARGS, OLD_ARGS = {}, {}
- for i = 1, argCount do ARGS[i], OLD_ARGS[i] = "arg"..i, "old_arg"..i end
- code = code:gsub("OLD_ARGS", tconcat(OLD_ARGS, ", ")):gsub("ARGS", tconcat(ARGS, ", "))
- return assert(loadstring(code, "safecall Dispatcher["..argCount.."]"))(next, xpcall, errorhandler)
+local function Dispatch(handlers, ...)
+ local index, method = next(handlers)
+ if not method then return end
+ repeat
+ xpcall(method, errorhandler, ...)
+ index, method = next(handlers, index)
+ until not method
end
-local Dispatchers = setmetatable({}, {__index=function(self, argCount)
- local dispatcher = CreateDispatcher(argCount)
- rawset(self, argCount, dispatcher)
- return dispatcher
-end})
-
--------------------------------------------------------------------------
-- CallbackHandler:New
--
@@ -87,7 +61,7 @@
local oldrecurse = registry.recurse
registry.recurse = oldrecurse + 1
- Dispatchers[select('#', ...) + 1](events[eventname], eventname, ...)
+ Dispatch(events[eventname], eventname, ...)
registry.recurse = oldrecurse
diff -r f29a995e98e3 -r 3596dadf9a90 Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml
--- a/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml Fri Jul 20 19:13:22 2018 -0300
+++ b/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml Mon Dec 31 11:30:31 2018 -0200
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff -r f29a995e98e3 -r 3596dadf9a90 Libs/LibDBIcon-1.0/LibDBIcon-1.0.lua
--- a/Libs/LibDBIcon-1.0/LibDBIcon-1.0.lua Fri Jul 20 19:13:22 2018 -0300
+++ b/Libs/LibDBIcon-1.0/LibDBIcon-1.0.lua Mon Dec 31 11:30:31 2018 -0200
@@ -6,19 +6,21 @@
--
local DBICON10 = "LibDBIcon-1.0"
-local DBICON10_MINOR = 36 -- Bump on changes
+local DBICON10_MINOR = 43 -- Bump on changes
if not LibStub then error(DBICON10 .. " requires LibStub.") end
local ldb = LibStub("LibDataBroker-1.1", true)
if not ldb then error(DBICON10 .. " requires LibDataBroker-1.1.") end
local lib = LibStub:NewLibrary(DBICON10, DBICON10_MINOR)
if not lib then return end
-lib.disabled = lib.disabled or nil
lib.objects = lib.objects or {}
lib.callbackRegistered = lib.callbackRegistered or nil
lib.callbacks = lib.callbacks or LibStub("CallbackHandler-1.0"):New(lib)
lib.notCreated = lib.notCreated or {}
+lib.radius = lib.radius or 5
lib.tooltip = lib.tooltip or CreateFrame("GameTooltip", "LibDBIconTooltip", UIParent, "GameTooltipTemplate")
+local next, Minimap = next, Minimap
+local isDraggingButton = false
function lib:IconCallback(event, name, key, value)
if lib.objects[name] then
@@ -56,7 +58,15 @@
end
local function onEnter(self)
- if self.isMoving then return end
+ if isDraggingButton then return end
+
+ for _, button in next, lib.objects do
+ if button.showOnMouseover then
+ button.fadeOut:Stop()
+ button:SetAlpha(1)
+ end
+ end
+
local obj = self.dataObject
if obj.OnTooltipShow then
lib.tooltip:SetOwner(self, "ANCHOR_NONE")
@@ -69,14 +79,25 @@
end
local function onLeave(self)
+ lib.tooltip:Hide()
+
+ if not isDraggingButton then
+ for _, button in next, lib.objects do
+ if button.showOnMouseover then
+ button.fadeOut:Play()
+ end
+ end
+ end
+
local obj = self.dataObject
- lib.tooltip:Hide()
- if obj.OnLeave then obj.OnLeave(self) end
+ if obj.OnLeave then
+ obj.OnLeave(self)
+ end
end
--------------------------------------------------------------------------------
-local onClick, onMouseUp, onMouseDown, onDragStart, onDragStop, updatePosition
+local onDragStart, updatePosition
do
local minimapShapes = {
@@ -96,40 +117,60 @@
["TRICORNER-BOTTOMRIGHT"] = {true, true, true, false},
}
- function updatePosition(button)
- local angle = math.rad(button.db and button.db.minimapPos or button.minimapPos or 225)
- local x, y, q = math.cos(angle), math.sin(angle), 1
+ local rad, cos, sin, sqrt, max, min = math.rad, math.cos, math.sin, math.sqrt, math.max, math.min
+ function updatePosition(button, position)
+ local angle = rad(position or 225)
+ local x, y, q = cos(angle), sin(angle), 1
if x < 0 then q = q + 1 end
if y > 0 then q = q + 2 end
local minimapShape = GetMinimapShape and GetMinimapShape() or "ROUND"
local quadTable = minimapShapes[minimapShape]
+ local w = (Minimap:GetWidth() / 2) + lib.radius
+ local h = (Minimap:GetHeight() / 2) + lib.radius
if quadTable[q] then
- x, y = x*80, y*80
+ x, y = x*w, y*h
else
- local diagRadius = 103.13708498985 --math.sqrt(2*(80)^2)-10
- x = math.max(-80, math.min(x*diagRadius, 80))
- y = math.max(-80, math.min(y*diagRadius, 80))
+ local diagRadiusW = sqrt(2*(w)^2)-10
+ local diagRadiusH = sqrt(2*(h)^2)-10
+ x = max(-w, min(x*diagRadiusW, w))
+ y = max(-h, min(y*diagRadiusH, h))
end
button:SetPoint("CENTER", Minimap, "CENTER", x, y)
end
end
-function onClick(self, b) if self.dataObject.OnClick then self.dataObject.OnClick(self, b) end end
-function onMouseDown(self) self.isMouseDown = true; self.icon:UpdateCoord() end
-function onMouseUp(self) self.isMouseDown = false; self.icon:UpdateCoord() end
+local function onClick(self, b)
+ if self.dataObject.OnClick then
+ self.dataObject.OnClick(self, b)
+ end
+end
+
+local function onMouseDown(self)
+ self.isMouseDown = true
+ self.icon:UpdateCoord()
+end
+
+local function onMouseUp(self)
+ self.isMouseDown = false
+ self.icon:UpdateCoord()
+end
do
+ local deg, atan2 = math.deg, math.atan2
local function onUpdate(self)
local mx, my = Minimap:GetCenter()
local px, py = GetCursorPosition()
local scale = Minimap:GetEffectiveScale()
px, py = px / scale, py / scale
+ local pos = 225
if self.db then
- self.db.minimapPos = math.deg(math.atan2(py - my, px - mx)) % 360
+ pos = deg(atan2(py - my, px - mx)) % 360
+ self.db.minimapPos = pos
else
- self.minimapPos = math.deg(math.atan2(py - my, px - mx)) % 360
+ pos = deg(atan2(py - my, px - mx)) % 360
+ self.minimapPos = pos
end
- updatePosition(self)
+ updatePosition(self, pos)
end
function onDragStart(self)
@@ -137,17 +178,28 @@
self.isMouseDown = true
self.icon:UpdateCoord()
self:SetScript("OnUpdate", onUpdate)
- self.isMoving = true
+ isDraggingButton = true
lib.tooltip:Hide()
+ for _, button in next, lib.objects do
+ if button.showOnMouseover then
+ button.fadeOut:Stop()
+ button:SetAlpha(1)
+ end
+ end
end
end
-function onDragStop(self)
+local function onDragStop(self)
self:SetScript("OnUpdate", nil)
self.isMouseDown = false
self.icon:UpdateCoord()
self:UnlockHighlight()
- self.isMoving = nil
+ isDraggingButton = false
+ for _, button in next, lib.objects do
+ if button.showOnMouseover then
+ button.fadeOut:Play()
+ end
+ end
end
local defaultCoords = {0, 1, 0, 1}
@@ -202,12 +254,24 @@
button:SetScript("OnMouseDown", onMouseDown)
button:SetScript("OnMouseUp", onMouseUp)
+ button.fadeOut = button:CreateAnimationGroup()
+ local animOut = button.fadeOut:CreateAnimation("Alpha")
+ animOut:SetOrder(1)
+ animOut:SetDuration(0.2)
+ animOut:SetFromAlpha(1)
+ animOut:SetToAlpha(0)
+ animOut:SetStartDelay(1)
+ button.fadeOut:SetToFinalAlpha(true)
+
lib.objects[name] = button
if lib.loggedIn then
- updatePosition(button)
- if not db or not db.hide then button:Show()
- else button:Hide() end
+ updatePosition(button, db and db.minimapPos)
+ if not db or not db.hide then
+ button:Show()
+ else
+ button:Hide()
+ end
end
lib.callbacks:Fire("LibDBIcon_IconCreated", button, name) -- Fire 'Icon Created' callback
end
@@ -221,20 +285,21 @@
end
end
-lib.loggedIn = lib.loggedIn or false
-- Wait a bit with the initial positioning to let any GetMinimapShape addons
-- load up.
if not lib.loggedIn then
local f = CreateFrame("Frame")
- f:SetScript("OnEvent", function()
- for _, object in pairs(lib.objects) do
- updatePosition(object)
- if not lib.disabled and (not object.db or not object.db.hide) then object:Show()
- else object:Hide() end
+ f:SetScript("OnEvent", function(f)
+ for _, button in next, lib.objects do
+ updatePosition(button, button.db and button.db.minimapPos)
+ if not button.db or not button.db.hide then
+ button:Show()
+ else
+ button:Hide()
+ end
end
lib.loggedIn = true
f:SetScript("OnEvent", nil)
- f = nil
end)
f:RegisterEvent("PLAYER_LOGIN")
end
@@ -245,8 +310,8 @@
function lib:Register(name, object, db)
if not object.icon then error("Can't register LDB objects without icons set!") end
- if lib.objects[name] or lib.notCreated[name] then error("Already registered, nubcake.") end
- if not lib.disabled and (not db or not db.hide) then
+ if lib.objects[name] or lib.notCreated[name] then error(DBICON10.. ": Object '".. name .."' is already registered.") end
+ if not db or not db.hide then
createButton(name, object, db)
else
lib.notCreated[name] = {object, db}
@@ -260,7 +325,9 @@
lib.objects[name]:SetScript("OnDragStop", nil)
end
local db = getDatabase(name)
- if db then db.lock = true end
+ if db then
+ db.lock = true
+ end
end
function lib:Unlock(name)
@@ -270,28 +337,36 @@
lib.objects[name]:SetScript("OnDragStop", onDragStop)
end
local db = getDatabase(name)
- if db then db.lock = nil end
+ if db then
+ db.lock = nil
+ end
end
function lib:Hide(name)
if not lib.objects[name] then return end
lib.objects[name]:Hide()
end
+
function lib:Show(name)
- if lib.disabled then return end
check(name)
- lib.objects[name]:Show()
- updatePosition(lib.objects[name])
+ local button = lib.objects[name]
+ if button then
+ button:Show()
+ updatePosition(button, button.db and button.db.minimapPos or button.minimapPos)
+ end
end
+
function lib:IsRegistered(name)
return (lib.objects[name] or lib.notCreated[name]) and true or false
end
+
function lib:Refresh(name, db)
- if lib.disabled then return end
check(name)
local button = lib.objects[name]
- if db then button.db = db end
- updatePosition(button)
+ if db then
+ button.db = db
+ end
+ updatePosition(button, button.db and button.db.minimapPos or button.minimapPos)
if not button.db or not button.db.hide then
button:Show()
else
@@ -305,30 +380,91 @@
button:SetScript("OnDragStop", nil)
end
end
+
function lib:GetMinimapButton(name)
return lib.objects[name]
end
-function lib:EnableLibrary()
- lib.disabled = nil
- for name, object in pairs(lib.objects) do
- if not object.db or not object.db.hide then
- object:Show()
- updatePosition(object)
+do
+ local function OnMinimapEnter()
+ if isDraggingButton then return end
+ for _, button in next, lib.objects do
+ if button.showOnMouseover then
+ button.fadeOut:Stop()
+ button:SetAlpha(1)
+ end
end
end
- for name, data in pairs(lib.notCreated) do
- if not data.db or not data.db.hide then
- createButton(name, data[1], data[2])
- lib.notCreated[name] = nil
+ local function OnMinimapLeave()
+ if isDraggingButton then return end
+ for _, button in next, lib.objects do
+ if button.showOnMouseover then
+ button.fadeOut:Play()
+ end
+ end
+ end
+ Minimap:HookScript("OnEnter", OnMinimapEnter)
+ Minimap:HookScript("OnLeave", OnMinimapLeave)
+
+ function lib:ShowOnEnter(name, value)
+ local button = lib.objects[name]
+ if button then
+ if value then
+ button.showOnMouseover = true
+ button.fadeOut:Stop()
+ button:SetAlpha(0)
+ else
+ button.showOnMouseover = false
+ button.fadeOut:Stop()
+ button:SetAlpha(1)
+ end
end
end
end
-function lib:DisableLibrary()
- lib.disabled = true
- for name, object in pairs(lib.objects) do
- object:Hide()
+function lib:GetButtonList()
+ local t = {}
+ for name in next, lib.objects do
+ t[#t+1] = name
+ end
+ return t
+end
+
+function lib:SetButtonRadius(radius)
+ if type(radius) == "number" then
+ lib.radius = radius
+ for _, button in next, lib.objects do
+ updatePosition(button, button.db and button.db.minimapPos or button.minimapPos)
+ end
end
end
+function lib:SetButtonToPosition(button, position)
+ updatePosition(lib.objects[button] or button, position)
+end
+
+-- Upgrade!
+for name, button in next, lib.objects do
+ local db = getDatabase(name)
+ if not db or not db.lock then
+ button:SetScript("OnDragStart", onDragStart)
+ button:SetScript("OnDragStop", onDragStop)
+ end
+ button:SetScript("OnEnter", onEnter)
+ button:SetScript("OnLeave", onLeave)
+ button:SetScript("OnClick", onClick)
+ button:SetScript("OnMouseDown", onMouseDown)
+ button:SetScript("OnMouseUp", onMouseUp)
+
+ if not button.fadeOut then -- Upgrade to 39
+ button.fadeOut = button:CreateAnimationGroup()
+ local animOut = button.fadeOut:CreateAnimation("Alpha")
+ animOut:SetOrder(1)
+ animOut:SetDuration(0.2)
+ animOut:SetFromAlpha(1)
+ animOut:SetToAlpha(0)
+ animOut:SetStartDelay(1)
+ button.fadeOut:SetToFinalAlpha(true)
+ end
+end
+lib:SetButtonRadius(lib.radius) -- Upgrade to 40
diff -r f29a995e98e3 -r 3596dadf9a90 Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua
--- a/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua Fri Jul 20 19:13:22 2018 -0300
+++ b/Libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua Mon Dec 31 11:30:31 2018 -0200
@@ -1,6 +1,6 @@
--[[
Name: LibSharedMedia-3.0
-Revision: $Revision: 91 $
+Revision: $Revision: 106 $
Author: Elkano (elkano@gmx.de)
Inspired By: SurfaceLib by Haste/Otravi (troeks@gmail.com)
Website: http://www.wowace.com/projects/libsharedmedia-3-0/
@@ -20,8 +20,6 @@
local type = _G.type
local band = _G.bit.band
-
-local table_insert = _G.table.insert
local table_sort = _G.table.sort
local locale = GetLocale()
diff -r f29a995e98e3 -r 3596dadf9a90 Libs/LibSharedMedia-3.0/lib.xml
--- a/Libs/LibSharedMedia-3.0/lib.xml Fri Jul 20 19:13:22 2018 -0300
+++ b/Libs/LibSharedMedia-3.0/lib.xml Mon Dec 31 11:30:31 2018 -0200
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff -r f29a995e98e3 -r 3596dadf9a90 Libs/LibStub/LibStub.lua
--- a/Libs/LibStub/LibStub.lua Fri Jul 20 19:13:22 2018 -0300
+++ b/Libs/LibStub/LibStub.lua Mon Dec 31 11:30:31 2018 -0200
@@ -1,13 +1,22 @@
--- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
--- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
+-- $Id: LibStub.lua 103 2014-10-16 03:02:50Z mikk $
+-- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/addons/libstub/ for more info
+-- LibStub is hereby placed in the Public Domain
+-- Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
local LibStub = _G[LIBSTUB_MAJOR]
+-- Check to see is this version of the stub is obsolete
if not LibStub or LibStub.minor < LIBSTUB_MINOR then
LibStub = LibStub or {libs = {}, minors = {} }
_G[LIBSTUB_MAJOR] = LibStub
LibStub.minor = LIBSTUB_MINOR
+ -- LibStub:NewLibrary(major, minor)
+ -- major (string) - the major version of the library
+ -- minor (string or number ) - the minor version of the library
+ --
+ -- returns nil if a newer or same version of the lib is already present
+ -- returns empty library object or old library object if upgrade is needed
function LibStub:NewLibrary(major, minor)
assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
@@ -18,6 +27,12 @@
return self.libs[major], oldminor
end
+ -- LibStub:GetLibrary(major, [silent])
+ -- major (string) - the major version of the library
+ -- silent (boolean) - if true, library is optional, silently return nil if its not found
+ --
+ -- throws an error if the library can not be found (except silent is set)
+ -- returns the library object if found
function LibStub:GetLibrary(major, silent)
if not self.libs[major] and not silent then
error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
@@ -25,6 +40,12 @@
return self.libs[major], self.minors[major]
end
- function LibStub:IterateLibraries() return pairs(self.libs) end
+ -- LibStub:IterateLibraries()
+ --
+ -- Returns an iterator for the currently registered libraries
+ function LibStub:IterateLibraries()
+ return pairs(self.libs)
+ end
+
setmetatable(LibStub, { __call = LibStub.GetLibrary })
end
diff -r f29a995e98e3 -r 3596dadf9a90 Libs/LibStub/LibStub.toc
--- a/Libs/LibStub/LibStub.toc Fri Jul 20 19:13:22 2018 -0300
+++ b/Libs/LibStub/LibStub.toc Mon Dec 31 11:30:31 2018 -0200
@@ -1,13 +1,9 @@
-## Interface: 40200
+## Interface: 80000
## Title: Lib: LibStub
## Notes: Universal Library Stub
## Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel
## X-Website: http://www.wowace.com/addons/libstub/
## X-Category: Library
-## X-License: Public Domain
-## X-Curse-Packaged-Version: r95
-## X-Curse-Project-Name: LibStub
-## X-Curse-Project-ID: libstub
-## X-Curse-Repository-ID: wow/libstub/mainline
+## X-License: Public Domain
LibStub.lua