From c0337ef97f9129512f1c8787576fea1acf023e63 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Mon, 13 Jan 2025 16:17:37 +0100 Subject: [PATCH] Fix up more shit --- api/FollowUnit.lua | 6 +++--- api/GetChannelName.lua | 12 ++++++------ api/UninviteUnit.lua | 2 +- api/strsplit.lua | 2 +- api/time.lua | 4 ++-- ui/Frame.lua | 24 ++++++++++++++++++++++-- 6 files changed, 35 insertions(+), 15 deletions(-) diff --git a/api/FollowUnit.lua b/api/FollowUnit.lua index f8a56c1..c7259a9 100644 --- a/api/FollowUnit.lua +++ b/api/FollowUnit.lua @@ -1,7 +1,7 @@ ---@diagnostic disable: missing-return, lowercase-global ---@param unit string ----@param name string ----@param strict boolean ---Causes the player character to automatically follow another unit. Only friendly player units can be followed. -function FollowUnit(unit, name, strict) end \ No newline at end of file +---@overload fun(name: string) +---@overload fun(name: string, strict: boolean) +function FollowUnit(unit) end \ No newline at end of file diff --git a/api/GetChannelName.lua b/api/GetChannelName.lua index 3411547..37606a5 100644 --- a/api/GetChannelName.lua +++ b/api/GetChannelName.lua @@ -1,9 +1,9 @@ ---@diagnostic disable: missing-return, lowercase-global ----@param channelIndex number ----@param channelName string ----@return number channel ----@return string channelName ----@return number instanceID +---@param channelIndex number +---@return number channel +---@return string channelName +---@return number instanceID ---Returns information about a chat channel -function GetChannelName(channelIndex, channelName) end \ No newline at end of file +---@overload fun(name: string): number, string, number +function GetChannelName(channelIndex) end diff --git a/api/UninviteUnit.lua b/api/UninviteUnit.lua index e8a6152..32bfd56 100644 --- a/api/UninviteUnit.lua +++ b/api/UninviteUnit.lua @@ -1,6 +1,6 @@ ---@diagnostic disable: missing-return, lowercase-global ---@param name string ----@param reason string ---Removes a character from the player's party or raid. Only works if the player is the party leader, raid leader, or raid assistant. Also used by the Looking For Group tool to vote kick players. This is what the "reason" argument is used for. +---@overload fun(name: string, reason: string): nil function UninviteUnit(name, reason) end \ No newline at end of file diff --git a/api/strsplit.lua b/api/strsplit.lua index 75892eb..25aeac0 100644 --- a/api/strsplit.lua +++ b/api/strsplit.lua @@ -5,4 +5,4 @@ ---@return string ... ---Splits a string based on another seperator string. Also available as string.split (though not provided by the Lua standard library). ---@overload fun(sep: string, text: string, limit: number): string ... -function strsplit(sep, text, limit) end \ No newline at end of file +function strsplit(sep, text) end \ No newline at end of file diff --git a/api/time.lua b/api/time.lua index 8999ffd..f152063 100644 --- a/api/time.lua +++ b/api/time.lua @@ -1,6 +1,6 @@ ---@diagnostic disable: missing-return, lowercase-global ----@param timeDesc table ---@return number t ---Returns the numeric time value for a described date/time (or the current time). Alias for the standard library function os.time. According to the Lua manual, the returned value may vary across different systems; however, the Lua libraries included with current WoW clients on both Mac and Windows share the same implementation. For higher-precision time measurements not convertible to a date, see GetTime(). -function time(timeDesc) end \ No newline at end of file +---@overload fun(timeDesc: string): number +function time() end \ No newline at end of file diff --git a/ui/Frame.lua b/ui/Frame.lua index d09c98e..34c4c95 100644 --- a/ui/Frame.lua +++ b/ui/Frame.lua @@ -15,7 +15,7 @@ --- --- ---Frames in the FrameXML include the action bars (the frames that group the action buttons together), the panels that display information like your character status and quest log, and the grand-daddy of the rest of the UI, UIParent. ----@class Frame +---@class Frame : UIObject Frame = { ---Sets whether the frame should automatically come to the front when clicked. When a frame with Toplevel behavior enabled is clicked, it automatically changes its frame level such that it is greater than (and therefore drawn "in front of") all other frames in its strata. ---@param self Frame @@ -52,5 +52,25 @@ Frame = { ---Unregistering from notifications for an event can be useful for improving addon performance at times when it's not necessary to process the event. For example, a frame which monitors target health does not need to receive the UNIT_HEALTH event while the player has no target. An addon that sorts the contents of the player's bags can register for the BAG_UPDATE event to keep track of when items are picked up, but unregister from the event while it performs its sorting. ---@param self Frame ---@param event string Name of an event - UnregisterEvent = function(self, event) end + UnregisterEvent = function(self, event) end, + + ---Returns whether the mouse cursor is over the given region. This function replaces the previous MouseIsOver FrameXML function. + --- + ---If provided, the arguments are treated as offsets by which to adjust the hit rectangle when comparing it to the mouse. They are in screen coordinates; positive offsets move an edge right or up, negative values move it left or down. No frame edges are actually moved. For example: + --- + --- if button:IsMouseOver(2, -2, -2, 2) then + --- + ---will return true if the mouse is within 2 pixels of the given frame. + ---@overload fun(self: Frame): boolean + ---@overload fun(self: Frame, topOffset: number): boolean + ---@overload fun(self: Frame, topOffset: number, leftOffset: number): boolean + ---@overload fun(self: Frame, topOffset: number, leftOffset: number, bottomOffset: number): boolean + ---@overload fun(self: Frame, topOffset: number, leftOffset: number, bottomOffset: number, rightOffset: number): boolean + ---@param self Frame + ---@param topOffset number The amount by which to displace the top edge of the test rectangle + ---@param leftOffset number The amount by which to displace the left edge of the test rectangle + ---@param bottomOffset number The amount by which to displace the bottom edge of the test rectangle + ---@param rightOffset number The amount by which to displace the right edge of the test rectangle + ---@return boolean isOver true if the mouse is over the region; otherwise false + IsMouseOver = function(self, topOffset, leftOffset, bottomOffset, rightOffset) end }